PR审核通过后如何执行Build Task?

问题描述 投票:0回答:1

我可能有一些昂贵的任务/测试,并且未经审核的 PR 可能需要额外的更改。

我不想为每次提交或微小更改运行那些昂贵的任务,但只有在此类更改经过审查和批准之后才运行。

这些任务不仅运行成本昂贵,而且还可能有一些运行配额。迁移到 CI 构建是不可取的,因为这意味着破坏应用程序的代码可能会进入 master,并且需要额外的 PR 来修复。

目前在 Azure DevOps 中可以实现吗?怎么办?

azure-devops azure-pipelines pull-request
1个回答
2
投票

如果您调用此 Rest API:Pull Requests - Get Pull Request By Id,响应正文将返回

reviewers
数组,其中包含审阅者信息。如果有一位审阅者批准(或通过建议批准)此拉取请求,则该审阅者的
vote
值为正整数,否则为负整数。因此,这个
vote
属性可以用作标志来检查该拉取请求是否被所需的审核者批准或拒绝。

因此,您可以使用PR触发器代替CI触发器,并通过指定条件在运行这些昂贵的任务之前添加PowerShell任务。并且PowerShell任务将使用上面的Rest API运行脚本来检查这个拉取请求是否被批准,并将结果返回为标志变量(

isApproved
)的值,因此标志变量可以在那些昂贵的任务中传递指定自定义条件,例如
and(succeeded(), eq(variables['isApproved'], 'true'))

© www.soinside.com 2019 - 2024. All rights reserved.