Получить Дженкинс вверх по течению работы

есть работа Дженкинса, которая используетдекларативный трубопровод.

Эта работа может быть вызвана другими сборками.

В декларативном конвейере, как я могу узнать, какая сборка запустила конвейер?

Ответы на вопрос(1)

Пример кода ниже

pipeline {
    agent any
    stages {
        stage('find upstream job') {
            steps {
                script {
                    def causes = currentBuild.rawBuild.getCauses()
                    for(cause in causes) {
                        if (cause.class.toString().contains("UpstreamCause")) {
                            println "This job was caused by job " + cause.upstreamProject
                        } else {
                            println "Root cause : " + cause.toString()
                        }
                    }
                }      
            }
        }
    }
}

Вы можете проверить REST API задания, чтобы получить дополнительную информацию, как показано ниже

{
  "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowRun",
  "actions" : [
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [

      ]
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UpstreamCause",
          "shortDescription" : "Started by upstream project \"larrycai-sto-46908390\" build number 7",
          "upstreamBuild" : 7,
          "upstreamProject" : "larrycai-sto-46908390",
          "upstreamUrl" : "job/larrycai-sto-46908390/"
        }
      ]
    },

Ссылка:

https://jenkins.io/doc/pipeline/examples/#get-build-causeПолучить Дженкинс вверх по течению работы

Ваш ответ на вопрос