从另一个作业访问 Jenkins 作业属性

Accessing Jenkins Job attributes from another job

我有一个 Jenkins groovy 模板脚本,它循环遍历名为 services 的辅助模型列表。每个辅助模型都有一个名为 reportableJob 的作业作为属性。这些 "reportable jobs" 都有一个名为 branch 的属性。如何访问此属性?

这是我的总体想法:

for (i=0; i< services.size(); i++) {
    def job = services[i].reportableJob
    def branch = job.branch
    echo "${branch}"
}

这会导致以下错误:

groovy.lang.MissingPropertyException: No such property: branch for class: org.jenkinsci.plugins.workflow.job.WorkflowJob

明白了,很高兴知道:

for (i=0; i< services.size(); i++) {
    def job = services[i].reportableJob
    def instance = com.cloudbees.hudson.plugins.modeling.impl.entity.EntityInstance.from(job)
    echo "Branch: ${instance.getValue("branch")}"
}