我希望添加一个有条件的阶段到我的Jenkinsfile,该Jenkinsfile根据生成的触发方式运行。目前,我们正在建立,从而建立由要么触发:如何区分詹金斯管道中的生成触发器
- 改变我们的git仓库被拾起分支索引
- 用户手动触发使用用户界面中的“现在建”按钮生成。
有没有什么办法可以运行不同的流水线步骤,具体取决于哪些操作触发了构建?
我希望添加一个有条件的阶段到我的Jenkinsfile,该Jenkinsfile根据生成的触发方式运行。目前,我们正在建立,从而建立由要么触发:如何区分詹金斯管道中的生成触发器
有没有什么办法可以运行不同的流水线步骤,具体取决于哪些操作触发了构建?
下面的代码应该工作,以确定用户是否已开始管道或定时器/其他触发:
def isStartedByUser = currentBuild.rawBuild.getCause(hudson.model.Cause$UserIdCause) != null
我们可以用“BUILD_CAUSE”用于获取有关谁发起了运行
的信息变量[詹金斯流水线]你可以使用
currentBuild.rawBuild.getCauses()
(见github.com/jenkinsci/pipeline-例子/ BLOB /主/ ...更多细节)
[JENKINS-41272](https://issues.jenkins-ci.org/browse/JENKINS-41272)是关于在'currentBuild'全局变量中公开的。 – mkobit