【问题标题】:How to capture jenkins build cause? triggered by GitLab如何捕获詹金斯构建原因?由 GitLab 触发
【发布时间】:2019-03-26 15:20:04
【问题描述】:

在 Jenkins 文件(groovy 语法)中,使用 hudson.model.Cause$UserIdCause in currentBuild.getBuildCauses('hudson.model.Cause$UserIdCause') 获取手动构建操作(如果有)原因


hudson.triggers.SCMTrigger.SCMTriggerCause 在 Jenkins CI code 中看起来已弃用。

    @Deprecated
    public SCMTrigger(String scmpoll_spec, boolean ignorePostCommitHooks) throws ANTLRException {
        super(scmpoll_spec);
        this.ignorePostCommitHooks = ignorePostCommitHooks;
    }

在来自 GitLab 的推送事件或合并事件中,Jenkinsfile 如何读取构建原因?

【问题讨论】:

    标签: java jenkins groovy hudson jenkins-groovy


    【解决方案1】:

    如果您希望在 Gitlab 触发器上执行阶段:

    stage('stage) {
        when {
            triggeredBy "GitLabWebHookCause"
        }
    }
    

    要获取 Gitlab 的数据,请使用以下语法:

    currentBuild.rawBuild.getCause(com.dabsquared.gitlabjenkins.cause.GitLabWebHookCause).getData()
    

    示例:获取最后一次提交

    commit = currentBuild.rawBuild.getCause(com.dabsquared.gitlabjenkins.cause.GitLabWebHookCause).getData().getLastCommit()
    

    GitlabWebHookCause 的文档: https://javadoc.jenkins.io/plugin/gitlab-plugin/com/dabsquared/gitlabjenkins/cause/GitLabWebHookCause.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-19
      • 2019-08-08
      • 2016-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-18
      相关资源
      最近更新 更多