我没有在选项标签下看到“失败时创建条板箱工作项目”选项,我是指此https://developercommunity.visualstudio.com/content/problem/343557/create-work-item-on-build-failure-lost-work-item-t.html。
实际上,当天蓝色devops中的管道发生故障时,我必须创建一个错误工作项。我看到几个帖子,其中一些说使用API或很少说Azure本身有一个选项,但我看不到请查看附件中的图片。
任何帮助都会感激。
答案 0 :(得分:1)
在Azure Devops中,选项crate work item on failure确实存在,但暂时仅存在于构建管道中。
从屏幕快照中,您正在使用发布管道。所以你找不到它。
在发布管道中,您需要使用API创建工作项。
这里是一个例子:
您可以使用Powershell Task运行Rest API来创建作品。
设置条件
或者您可以直接使用此Extension- Create Bug on Release failure。
Powershell脚本更新:
$witType="task"
$token = "PAT Token"
$url="$(SYSTEM.TEAMFOUNDATIONCOLLECTIONURI)/$(SYSTEM.TEAMPROJECT)/_apis/wit/workitems/`$$($witType)?api-version=6.0"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))
$body="[
{
`"op`": `"add`",
`"path`": `"/fields/System.Title`",
`"value`": `"titlename`"
},
{
`"op`": `"add`",
`"path`": `"/fields/System.AssignedTo`",
`"value`": `"e-mail address`"
},
{
`"op`": `"add`",
`"path`": `"/fields/Microsoft.VSTS.Common.Priority`",
`"value`": `"4`"
},
{
`"op`": `"add`",
`"path`": `"/fields/System.Tags`",
`"value`": `"Tag1; Tag2`"
},
{
`"op`": `"add`",
`"path`": `"/fields/System.History`",
`"value`": `"<div>$(SYSTEM.STAGEDISPLAYNAME)</div>`"
}
]"
$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -Body $body -ContentType application/json-patch+json
说明:
此API可以添加Priority
,tag
,assign to
并将阶段名称设置为讨论。
由于此任务在失败时创建,因此可以直接将阶段名称变量输出到讨论中。
结果:
注意:您可以参考this doc来创建PAT(个人访问令牌)。