Azure devops 构建失败时在其他项目中创建bug

Azure devops 构建失败时在其他项目中创建bug,azure-devops,azure-pipelines,Azure Devops,Azure Pipelines,我们已经建立了一个构建定义,它会创建一个bug,并在构建失败时将其分配给“请求者”。见下文: 默认情况下,这些bug是在同一个项目中创建的。我如何更改此设置以在不同的项目中创建bug?原因是,我们的工作项跟踪与我们的Git回购在不同的项目中(由于重组等等)。请注意,这两个项目属于同一帐户 查看工具提示,它提供了一些示例字段,是否有对应的“project”字段?(System.Project?!)你不能开箱即用,但是 您可以使用API完成此操作,如下所示: 1-将任务添加到构建过程以调用rest

我们已经建立了一个构建定义,它会创建一个bug,并在构建失败时将其分配给“请求者”。见下文:

默认情况下,这些bug是在同一个项目中创建的。我如何更改此设置以在不同的项目中创建bug?原因是,我们的工作项跟踪与我们的Git回购在不同的项目中(由于重组等等)。请注意,这两个项目属于同一帐户


查看工具提示,它提供了一些示例字段,是否有对应的“project”字段?(System.Project?!)

你不能开箱即用,但是

您可以使用API完成此操作,如下所示:

1-将任务添加到构建过程以调用rest API,并调用API以创建工作项。看

2-更改代理阶段以允许访问令牌。你的任务需要这个

3-更改控制选项中的任务,并将“运行此任务”更改为“自定义条件”,并用

eq(variables['Agent.JobStatus'], 'Failed')
参考号


这应该可以做到。

VSTS build中的Create work item on failure选项只能在同一项目中创建工作项

如果构建失败,可以通过添加PowerShell任务来实现创建错误的变通方法。具体步骤如下:

1.在生成定义的末尾添加PowerShell 在PowerShell脚本中,您可以通过以下方式为不同的项目创建错误。下面是一个示例脚本:

$witType="Bug"
$witTitle="Build $(build.buildNumber) failed"


$u="https://account.visualstudio.com/DefaultCollection/project/_apis/wit/workitems/`$$($witType)?api-version=1.0"
$body="[
          {
            `"op`": `"add`",
            `"path`": `"/fields/System.Title`",
            `"value`": `"$($witTitle)`"
          }
       ]"
$user = "user"
$token = "PAT"

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
$result=Invoke-RestMethod -Method PATCH -Uri $u -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -ContentType "application/json-patch+json" -Body $body
2.指定“即使上一个任务失败也运行此任务”选项,除非已取消生成 从第二个任务到结束任务(PowerShell任务),将“运行此任务”选项更改为,即使上一个任务失败,除非已取消生成:


因此,当构建失败时,将根据您在PowerShell脚本中的指定为不同的项目创建一个Bug。

不幸的是,我认为这还不可能/不受支持。在UserVoice上发布,我将向上投票。我在“无代理”阶段下未看到powershell任务。如果生成定义的最后一个阶段是无代理的,则可以在前一阶段的末尾添加powershell任务,或者在无代理阶段之后添加新阶段,并在其中添加Powershell tasj。我可以在Powershell脚本中使用发布/构建定义中的变量吗?还有,我如何针对特定用户?我没有在选项选项卡下看到“创建失败时的工作项”我应该怎么做。。?是否存在与azure devops版本不同的..?根据,
Agent.JobStatus
已替换为
Agent\u JobStatus
。但是当我用它代替
Agent.JobStatus
时,输出是
null
。我们是否可以根据新变量对这种情况进行修改?