【问题标题】:How do I change approvers in bulk on Azure DevOps Pipelines?如何在 Azure DevOps Pipelines 上批量更改审批者?
【发布时间】:2019-07-17 16:11:44
【问题描述】:

是否有一种方法可以批量更改 Azure DevOps(发布端)中的批准者?也许一些 CLI 命令?

我需要为发布管道中的许多阶段/环境更改审批者。我不想通过 GUI 单击来执行此操作。还有其他选择吗?

【问题讨论】:

  • 不那么相关,但您应该将 group\team 定义为批准者,然后通过从定义的组中添加/删除人员来更新批准者会更容易。

标签: azure azure-devops azure-pipelines devops


【解决方案1】:

您可以使用Azure DevOps Rest API 完成此操作。

有api@​​987654322@:

PATCH https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/approvals/{approvalId}?api-version=5.0

【讨论】:

    【解决方案2】:

    如果你是 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 与您修改的新定义对象一起使用。

    创建 AD 组或 Azure 团队/组并使用组代替个人会更容易。最终通过 Azure DevOps 安全或 AD 轻松维护组成员。

    【讨论】:

      猜你喜欢
      • 2022-06-13
      • 1970-01-01
      • 2021-06-25
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 2018-12-13
      • 2021-08-25
      相关资源
      最近更新 更多