Azure devops 创建自动PR并在Azure DevOps中完成

Azure devops 创建自动PR并在Azure DevOps中完成,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,azure-devops-rest-api,azure-devops-extensions,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,Azure Devops Rest Api,Azure Devops Extensions,我试图创建一个流程,当分支a->b的请购单完成时,分支c->d的自动请购单创建并完成 我看了这个问题,但没有提到自动完成 此外,我是否可以为自动PR设置特定策略,使其自动完成 更新 我尝试使用以下调用: https://docs.microsoft.com/en-us/rest/api/azure/devops/git/pull%20requests/update?view=azure-devops-rest-5.1 但我得到了一个错误: Invoke-RestMethod : {"

我试图创建一个流程,当分支a->b的请购单完成时,分支c->d的自动请购单创建并完成

我看了这个问题,但没有提到自动完成

此外,我是否可以为自动PR设置特定策略,使其自动完成

更新

我尝试使用以下调用:

https://docs.microsoft.com/en-us/rest/api/azure/devops/git/pull%20requests/update?view=azure-devops-rest-5.1
但我得到了一个错误:

Invoke-RestMethod : {"$id":"1","innerException":null,"message":"Invalid argument value.\r\nParameter name: Invalid 
pull request auto complete set by id. Valid values are either the current user identity id, or an empty guid (to unset 
auto complete)."
我试图从响应中获取创建者ID,但它是空的

我尝试分配项目集合生成服务(msazure),就像我在这里看到的:


但是我得到了错误。

在这里创建PR后,运行更新操作以设置自动完成。检查下面的链接


创建PR后,您可以获得创建者ID:

$response = Invoke-RestMethod -Uri $url -Method Post -Headers $head -Body $jsonBody -ContentType "application/json;charset=UTF-8"

$currentUserId = $response.createdBy.id
并在更新json正文中发送给他:

$body = @{
    autoCompleteSetBy = @{ id = "$buildUserId" }
    completionOptions = ""
}    

$response = Invoke-RestMethod -Uri $url -Method Patch -Headers $head -Body $jsonBody -ContentType application/json

在您提供的链接中提到的扩展中,有一个选项可以将“自动完成”设置为您创建的PR。(免责声明:我是扩展作者)@shaykibaramczyk,感谢您的回复。由于安全问题,我无法使用第三方扩展,因此我尝试在脚本中自己进行扩展。为了完成PRIs“Project Collection Build Service(msazure)”的正确使用服务,我需要传递什么作为Id?是否尝试使用PowerShell进行更新?是在构建期间吗?是的,我正在尝试通过Powershell进行更新。当我尝试运行包含powershell脚本的特定步骤时,会发生这种情况,因此我假设它处于运行时,而不是生成(如果我错了,请更正我)更新原始post-我尝试使用此API,但出现错误(如上所述)