在TFS\VSTS中是否可以标识覆盖了部署批准的版本?

在TFS\VSTS中是否可以标识覆盖了部署批准的版本?,tfs,azure-devops,Tfs,Azure Devops,在TFS/VSTS中,管理员可以批准发布部署,即使他们未指定为批准者。他们可以使用覆盖选项来批准发布 我正试图确定我们是否可以报道这类活动。我预计我们将被要求(例如,我们的审计/安全人员)确定未经通常批准人批准的发布 我已经使用RESTAPI检查了部署和批准历史记录,所有版本都标记为已批准。它似乎没有区分正常批准和使用覆盖的批准 我们目前正在使用TFS 2017.1,但我怀疑这个问题也适用于更高版本和VST [更新] 这是显示普通审批人视图的标准对话框 这是TFS管理员(不在审批人组中)得到的

在TFS/VSTS中,管理员可以批准发布部署,即使他们未指定为批准者。他们可以使用覆盖选项来批准发布

我正试图确定我们是否可以报道这类活动。我预计我们将被要求(例如,我们的审计/安全人员)确定未经通常批准人批准的发布

我已经使用RESTAPI检查了部署和批准历史记录,所有版本都标记为已批准。它似乎没有区分正常批准和使用覆盖的批准

我们目前正在使用TFS 2017.1,但我怀疑这个问题也适用于更高版本和VST

[更新]

这是显示普通审批人视图的标准对话框

这是TFS管理员(不在审批人组中)得到的


单击“覆盖”显示正常对话框,然后进行批准。这是正常的TFS行为,我只想报告何时使用覆盖功能。

对于发布批准的覆盖,实际上是另一个用户代表指定的批准批准部署

您可以通过多个选项确定是否覆盖发布批准

选项1:签入发布日志 您可以查看发布日志->单击批准图标->然后可以找到批准部署的人员

选项2:通过RESTAPI进行检查 也可以使用REST API:

GET https://{account}.vsrm.visualstudio.com/Git2/_apis/release/releases/{releaseId}?api-version=4.1-preview.6
然后您可以在
preDeployApprovals
下获得详细信息。如果
approver
中的用户与
approvedBy
中的用户不同,则批准将被覆盖


对于VST和TFS,只有发布定义中指定的用户才能批准发布部署。即使对于管理员,如果未在“批准者”列表中指定他们,他们也无法批准部署。如果您具有“管理发布权限”权限,则您可以批准发布的部署,即使您未被明确列为批准者。在“部署批准”对话框中可以看到一个“覆盖”选项。发布管理员的成员获得此权限,并且可以将此权限授予其他组或用户。不应发生此情况。为了获取详细信息,您是否可以在此处显示相关的屏幕快照(发布定义中的审批者列表和未在审批者列表中指定但可以批准部署的管理员)?添加了详细信息。在TFS中,允许对部署进行管理覆盖是正常的行为。我只是希望能够报告何时发生。我添加了一个答案,用于确定发布批准是否被覆盖,您可以试一试。我认为API提供了实现这一点的最佳方法。在我们的案例中,审批人将是一个组,而approvedBy将是一个可能在组中,也可能不在组中的个人。我们可以在部署自动化中包含一个步骤,以检查批准者是否在组中,如果不在组中,则采取适当的操作。不过,如果记录覆盖操作的数据中有值,则更容易识别。也许他们会在将来的版本中添加这个。谢谢你的帮助。标记为答案的。