Как определить причину триггера по артефактному триггеру в проекте конвейера Дженкинса (Groovy Script)? - PullRequest
1 голос
/ 09 апреля 2019

Я хочу определить причину сборки задания, которая запускается плагином Artifactory.что я должен написать для заявления причины?

Я знаю, чтобы обнаружить пользователя, время, scm или задание запуска триггера.Это выглядит следующим образом:

    //Check if the build was triggered by SCM change
    scmCause = upStreamBuild.getCause(hudson.triggers.SCMTrigger.SCMTriggerCause)
    if (scmCause != null) {
        return scmCause.getShortDescription()
    }

    //Check if the build was triggered by timer
    timerCause = upStreamBuild.getCause(hudson.triggers.TimerTrigger.TimerTriggerCause)
    if (timerCause != null) {
        return timerCause.getShortDescription()
    }

    //Check if the build was triggered by some jenkins project(job)
    upstreamcause = upStreamBuild.getCause(hudson.model.Cause.UpstreamCause.class)
    if (upstreamcause != null) {
        job = Jenkins.getInstance().getItemByFullName(upstreamcause.getUpstreamProject(), hudson.model.Job.class)
        if (job != null) {
            upstream = job.getBuildByNumber(upstreamcause.getUpstreamBuild())
            if (upstream != null) {
                return upstream
            }
        }
    }
    return;

Я ожидаю какую-то команду вроде:

artifactorCause = upStreamBuild.getCause(hudson.triggers.ArtifactoryTrigger.ArtifactoryTriggerCause)

, поэтому я могу получить краткое описание триггера.

1 Ответ

0 голосов
/ 10 апреля 2019

Основываясь на этот javadoc Я бы сказал

artifactoryCause = upStreamBuild.getCause(org.jfrog.hudson.trigger.ArtifactoryCause)
...