Как поймать Дженкинса построить дело? вызвано GitLab - PullRequest
1 голос
/ 26 марта 2019

В файле Jenkins (синтаксис groovy) причина действия при ручной сборке (если есть) определяется с помощью hudson.model.Cause$UserIdCause в currentBuild.getBuildCauses('hudson.model.Cause$UserIdCause')


hudson.triggers.SCMTrigger.SCMTriggerCause выглядит устаревшим в Jenkins CI код .

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

При событии push или слиянии из GitLab, как Jenkinsfile считывает причину сборки?

1 Ответ

0 голосов
/ 27 марта 2019

Если вы хотите выполнить этап для триггера 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...