为什么 Azure Devops 创建工作项返回 404 页面未找到?

nap*_*fya 2 azure-devops

我正在使用 Azure DevOps API 创建一个新的工作项。但是我收到错误

404 page not found

文档:工作项 - 创建

我尝试过的事情

  1. 使用 postman 和 powershell(参见下面的屏幕截图和脚本)。在此输入图像描述
  2. 在 json 数据中,我仅填充必填字段。各种值来自 get API 调用(例如 get iterations)。
  3. 更改了 API 版本(6.0、5.1)
  4. URL 中包含/排除项目名称
  5. 创建了新的个人访问令牌

获取呼叫工作(例如获取团队、项目、工作项类型的列表)

为什么发帖会出现404错误?

在powershell脚本下面

$url= "https://dev.azure.com/my-org/my-project/_apis/wit/workitems/$($witType)?api-version=6.0"
$JSON = @'
  [
  {
    "op": "add",
    "path": "/fields/System.Title",
    "from": null,
    "value": "Sample task"
  }    ,
{
  "op": "add",
  "path": "/fields/System.IterationId",
  "from": null,
  "value": "e5c8d590-5283-4642-8262-716d083bc045"      
},
{
  "op": "add",
  "path": "/fields/System.AreaId",
  "from": null,
  "value": "138233"      
},
{
  "op": "add",
  "path": "/fields/System.State",
  "from": null,
  "value": "To Do"      
}
]
'@


Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -Body $JSON -ContentType application/json-patch+json
Run Code Online (Sandbox Code Playgroud)

Kev*_*SFT 5

该问题应该与 Rest API URL 有关。

在Postman中运行Rest API时,需要$在工作项类型前添加。

例如:

POST https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/$task?api-version=6.0
Run Code Online (Sandbox Code Playgroud)

当您使用PowerShell运行Rest API时,需要修改URL。

https://dev.azure.com/my-org/my-project/_apis/wit/workitems/`$$($witType)?api-version=6.0
Run Code Online (Sandbox Code Playgroud)

这是一个例子:

$url= "https://dev.azure.com/my-org/my-project/_apis/wit/workitems/`$$($witType)?api-version=6.0"
$JSON = @'
  [
  {
    "op": "add",
    "path": "/fields/System.Title",
    "from": null,
    "value": "Sample task"
  }    ,
{
  "op": "add",
  "path": "/fields/System.IterationId",
  "from": null,
  "value": "e5c8d590-5283-4642-8262-716d083bc045"      
},
{
  "op": "add",
  "path": "/fields/System.AreaId",
  "from": null,
  "value": "138233"      
},
{
  "op": "add",
  "path": "/fields/System.State",
  "from": null,
  "value": "To Do"      
}
]
'@


Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -Body $JSON -ContentType application/json-patch+json
Run Code Online (Sandbox Code Playgroud)

请参阅此票证:Azure Devops 为每个产品待办事项列表项批量创建任务