Azure Build - 如何获取触发当前构建运行的用户详细信息并将该详细信息用于 Git 配置

Mus*_*Ali 2 git azure-devops azure-pipelines

作为针对D365 - Azure Devops - Git Repo - How to check a file History of a file that is storage in separatefolders in the Main Branch 的建议解决方案,我创建了一个 Master 文件夹,并将补丁文件手动复制到此备份存储库并提交在 ADO GIT 中跟踪历史记录。

目前使用我的 PAT,每次签到都会显示我的用户 ID。

我想获取触发构建的用户详细信息,并使用他们的姓名、邮件 ID 和 PAT,并将它们用于 GIT 配置、提交和推送命令。

AZ Pipelines Build 或 Runs 命令行帮助完成已完成的运行,我必须传递运行 ID。

az pipelines 运行 show --id 13134 --org $orgname --project $projectname

我们是否可以选择获取当前运行的用户详细信息?

dan*_*orn 8

Azure Devops Pipelines 中有一些不同的预定义系统变量,它们拥有不同的标识。

  • Build.QueuedBy(和Build.QueuedById
  • Build.RequestedFor(和Build.RequestedFor

该值取决于导致构建的原因,可以在如何设置身份变量?下的文档中找到下表。

如果构建被触发... 然后Build.QueuedByBuild.QueuedById 值基于... 然后Build.RequestedForBuild.RequestedForId值基于...
在 Git 或 TFVC 中通过持续集成 (CI) 触发器 系统标识,例如:[DefaultCollection]\Project Collection Service Accounts 推送或签入更改的人。
在 Git 中或通过分支策略构建。 系统标识,例如:[DefaultCollection]\Project Collection Service Accounts 签入变更的人。
在 TFVC 中通过门控签入触发器 签入变更的人。 签入变更的人。
在 Git 或 TFVC 中通过计划触发器 系统标识,例如:[DefaultCollection]\Project Collection Service Accounts 系统标识,例如:[DefaultCollection]\Project Collection Service Accounts
因为您单击了队列构建按钮

根据您的问题,您正在寻找请求构建的用户(或生成对构建进行排队的操作,而不是进行实际排队的帐户(通常是服务帐户))。因此,您应该查看Build.RequestedFor用户名或Build.RequestedForId用户 ID 的变量。

当管道运行时,预定义的系统变量将作为环境变量注入:

系统和用户定义的变量也会作为平台的环境变量注入。当变量变成环境变量时,变量名变成大写,句点变成下划线。例如,变量名any.variable 变为变量名$ANY_VARIABLE。