Имаме работа на Дженкинс, която използва a декларативен тръбопровод.
Това задание може да бъде задействано от различни други конструкции.
В декларативния тръбопровод как мога да разбера коя конструкция е задействала тръбопровода?
Отговори:
1 за отговор № 1Пример за код по-долу
тръбопровод { агент етапи { етап ( "намериработа нагоре по веригата ") { стъпки { скрипт { def причинява = currentBuild.rawBuild.getCauses () за (причината за причините) { if (cause.class.toString (). съдържа ("UpstreamCause")) { println "Това задание е причинено от задание" + cause.upstreamProject } else { println "Главна причина:" + cause.toString () } } } } } } }
Можете да проверите REST API на заданието, за да получите допълнителна информация по-долу
{ "_class": "org.jenkinsci.plugins.workflow.job.WorkflowRun ", "действия": [ { "_class": "hudson.model.ParametersAction", "параметри": [ ] } { "_class": "hudson.model.CauseAction", "причини": [ { "_class": "hudson.model.Cause $ UpstreamCause", "shortDescription": "Започнато от проект нагоре" larrycai-sto-46908390 "build 7", "upstreamBuild": 7, "upstreamProject": "larrycai-sto-46908390", "upstreamUrl": "job / larrycai-sto-46908390 /" } ] }
справка:
- https://jenkins.io/doc/pipeline/examples/#get-build-cause
- Вземи работните места на Jenkins нагоре по веригата