在TFS / VSTS中,管理员可以批准发布部署,即使它们未被指定为批准者。他们可以使用“覆盖”选项批准发布。
我正在尝试确定是否可以报告此类活动。我预计会(例如我们的审计/安全人员)要求我们确定未经通常审批人批准的版本。
我已使用Rest API检查了部署和批准历史记录,并且这些版本都标记为已批准。它似乎不区分正常批准和使用覆盖的批准。
我们目前正在使用TFS 2017.1但我怀疑这个问题也适用于更高版本和VSTS。
[更新]
这是显示正常审批者视图的标准对话框...
这就是TFS管理员(不在批准者组中)得到的......
单击覆盖显示正常对话框,然后批准。这是正常的TFS行为,我只想报告何时使用覆盖功能。
答案 0 :(得分:1)
对于覆盖发布批准,实际上是另一个用户批准代表指定批准进行部署。
您可以通过多种方式确定是否覆盖了发布批准。
您可以查看发布日志 - >点击审批图标 - >然后你可以找到谁批准部署。
或者您可以使用Get Release REST API:
preDeployApprovals
然后,您可以在approver
下获取详细信息。如果approvedBy
中的用户与$LastExitCode
中的用户不同,则会覆盖该批准。