在Jenkins中,构建如何知道谁请求了它们?

Sni*_*gus 16 hudson build request username jenkins

我需要将构建请求者的用户名传递给实际正在进行工作的脚本.查看特定构建的控制台输出,第一行始终是"由用户foo启动",因此Jenkins清楚地跟踪谁触发了构建.所以应该可以将这些信息传递给工作......问题是,如何?

Mil*_*rer 14

user30997

请查看Jenkins Build User Vars插件,它可以满足您的需求:

它用于设置以下用户构建变量:

  • BUILD_USER - 用户启动构建的全名,
  • BUILD_USER_FIRST_NAME - 用户启动构建的第一个名称,
  • BUILD_USER_LAST_NAME - 用户启动构建的姓氏,
  • BUILD_USER_ID - 用户启动构建的ID.

  • 它不适合我,jenkins说"安装了无法识别的宏'BUILD_USER'.甚至插件 (4认同)

And*_*ahl 13

用户名不会放在易于获取的环境变量中,但您可以使用xml(或json或python)api获取它- 只要您开始构建,http://[jenkins-server]/job/[job-name]/[build-number]/api/xml就会填充详细信息:

<freeStyleBuild>
    <action>
        <cause>
            <shortDescription>Started by user foobar</shortDescription>
            <userName>foobar</userName>
        </cause>
    </action>
    <building>true</building>
    [...]
Run Code Online (Sandbox Code Playgroud)