是否有一种方法可以批量更改Azure DevOps(发行版)中的批准者?也许一些CLI命令?
我需要更改发布管道中许多阶段/环境的批准者。我不想单击GUI来执行此操作。还有其他选择吗?
答案 0 :(得分:0)
您可以使用Azure DevOps Rest API进行操作。
有api Approvals - Update:
PATCH https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/approvals/{approvalId}?api-version=5.0
答案 1 :(得分:0)
如果您是Powershell的爱好者,那么我会像这样编写一个模块来解决问题。它被称为AzurePipelinesPS,它是open source,因此一直在进行更新。
只需在管理性PowerShell会话中运行Install-Module -Name AzurePipelinesPS -Force
即可下载该模块。在这里,您可以使用New-APSession
命令来存储会话信息以供以后使用。查看project documentation,了解如何创建和保存会话信息。
一旦您有一个会话,就可以运行以下命令以找到Powershell的out grid view命令中某个团队项目的所有待处理的批准,选择您要使用的批准,然后单击“确定”。批准将保存到$ approvals变量中,然后传递到Update-APApproval命令。 Update-APApproval命令会将状态设置为“已批准”。它还支持所有用于拒绝批准的可用批准状态。
$approvals = Get-APApprovalList -Session 'yourSessionName' | Out-GridView -PassThru
Update-APApproval -Session 'yourSessionName' -ApprovalId $approvals.Id -Status 'Approved'
修改: 重新阅读您的问题后,我相信您不是要批量批准发布,而是要批量编辑发布定义本身。您仍然可以使用AzurePipelinesPS这样做,但是您要完成的工作比初始问题要复杂一些。但是,我会尽力进行解释。
首先,您可以使用Get-APReleaseDefinitionList
遍历您想要的定义。这将标识您需要使用Get-APReleaseDefinition -ReleaseId $yourIds
的发行版ID。接下来,您可以遍历返回的定义对象,并修改批准前或批准后对象以包括要添加的新用户或组。然后对已修改的新定义对象使用Update-APReleaseDefinition
。
创建广告组或Azure团队/组并使用这些组代替个人会更容易。最终可以通过Azure DevOps安全性或AD轻松维护组成员。