Jenkins:我怎么知道自动进程或用户是否触发了构建?

Ita*_*not 5 groovy jenkins jenkins-pipeline

Jenkins中是否有一个环境变量告诉我构建是手动运行还是轮询自动触发?

如果自动触发,我的管道就像魅力一样,但如果手动运行......它总是失败,所以我想我要编辑管道来检查构建是如何被触发的.

Moh*_*zim 8

不幸的env.BUILD_CAUSE是,管道构建中没有设置变量.对于管道作业,请参见以下示例

if ( currentBuild.rawBuild.getCauses()[0].toString().contains('UserIdCause') ){
    // do steps for manual trigger here
}
Run Code Online (Sandbox Code Playgroud)

其他可能的比较原因可以在这里找到.

  • 谢谢穆罕默德,我确实做到了。但是,该举动在詹金斯身上造成了令人讨厌的警告。它将其标记为安全漏洞。“已经批准的签名可能已引入安全漏洞(建议清除)”。这就是为什么我希望可能会有一种不同的方法来得出该值。 (2认同)