一尘不染

在詹金斯(Jenkins),建筑如何知道谁提出了要求?

jenkins

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


阅读 325

收藏
2020-07-25

共1个答案

一尘不染

用户名没有放在易于获取的环境变量中,但是您可以使用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>
    [...]
2020-07-25