mda*_*ull 8 pull-request azure-devops azure-pipelines
我可能有一些昂贵的任务/测试,并且未经审查的 PR 可能需要额外的更改。
我不想为每次提交或微小更改运行这些昂贵的任务,但只有在此类更改经过审查和批准后才运行。
这些任务不仅运行成本昂贵,而且还可能有一些运行配额。迁移到 CI 构建是不可取的,因为这意味着破坏应用程序的代码可能会进入 master,并且需要额外的 PR 来修复。
目前可以在 Azure DevOps 中实现吗?如何?
如果您调用此 Rest API:Pull Requests - Get Pull Request By Id,响应正文将返回reviewers包含审阅者信息的数组。如果有一位审阅者批准(或通过建议批准)此拉取请求,则vote该审阅者的值为正整数,否则为负整数。因此,此vote属性可以用作标志来检查此拉取请求是否被所需的审阅者批准或拒绝。
因此,您可以使用PR 触发器而不是CI 触发器,并通过指定条件在运行这些昂贵的任务之前添加PowerShell 任务。PowerShell任务将使用上述 Rest API 运行脚本来检查此拉取请求是否被批准,并将结果返回为标志变量( )的值,因此当指定自定义条件(如 )时,可以在那些昂贵的任务中传递标志变量
。isApprovedand(succeeded(), eq(variables['isApproved'], 'true'))
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |