如何将动态(用户信息)参数作为变量传递给Azure管道?

时间:2020-11-12 07:58:00

标签: azure azure-devops azure-pipelines azure-pipelines-tasks

我在azure devops中具有CI / CD环境。我特别想获取推送其代码以触发管道的用户名。我想将此信息用作管道内的变量。你们知道我该怎么做那?

2 个答案:

答案 0 :(得分:0)

Azure Devops将这些信息传递给管道。检查Build.RequestedFor变量:Build variables (DevOps Services)How are the identity variables set?

在Git或TFVC中,通过持续集成(CI)触发器, Build.RequestedFor和Build.RequestedForId值基于 推送或签入更改的人。

如何使用变量,您可以在这里找到:Define variables

答案 1 :(得分:0)

实际上我们有一个预定义的Build variable

我们可以直接使用$(Build.RequestedFor)获取启动管道的原始用户

如果要将此变量传递给任何其他自定义变量/参数。

您可以使用日志记录命令在构建管道中设置值。 ##vso[task.setvariable variable=testvar第一个任务可以设置一个变量,同一阶段中的后续任务可以使用该变量。该变量作为环境变量公开给以下任务。

在脚本中定义和修改变量

要从脚本定义或修改变量,请使用task.setvariable 记录命令。请注意,更新后的变量值的范围为 作业正在执行,并且不会跨作业或阶段流动。变量 名称将转换为大写,而字符“。”和“”是 替换为“ _”。

例如,Agent.WorkFolder成为AGENT_WORKFOLDER。在Windows上, 您可以以%AGENT_WORKFOLDER%或$ env:AGENT_WORKFOLDER的身份进行访问。上 在Linux和macOS上,您使用$ AGENT_WORKFOLDER。

更多详细信息,请查看本教程Define and modify your variables in a script,也可以查看此博客:Use Azure DevOps Variables Inline powershell in build and release pipelines