0

우리는 declarative pipeline을 사용하는 Jenkins 작업을 가지고 있습니다.Jenkins 선언 파이프 라인 : 트리거링 작업 찾기

이 작업은 다른 다른 빌드에 의해 트리거 될 수 있습니다.

선언적 파이프 라인에서 어떤 빌드가 파이프 라인을 트리거했는지 어떻게 알 수 있습니까? 당신은 작업의 REST API를 확인하실 수 있습니다

 
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() 
         } 
        } 
       }  
      } 
     } 
    } 
} 

아래

답변

0

코드 샘플과 같은 추가 정보를 얻을 수

 
{ 
    "_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/" 
     } 
     ] 
    }, 

참조

아래 :