2016-08-17 8 views
0

У меня есть шаблон сценария Jenkins groovy, который перебирает список вспомогательных моделей, называемых services. Каждая вспомогательная модель имеет задание reportableJob в качестве атрибута. Эти «отчетные задания» имеют атрибут branch. Как я могу получить доступ к этому атрибуту?Доступ к атрибутам задания Jenkins из другого задания

Вот мое общее мнение:

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 
+1

Вы используете [тег : jenkins-pipe] или [tag: jenkins-job-dsl] - или действительно оба? – StephenKing

+0

Просто используя плагин конвейера. –

+0

Я имею в виду .. да ['WorkflowJob'] (https://github.com/jenkinsci/workflow-job-plugin/blob/6e3d7f4c1bea84eadcf0e14d6b2044116da88a48/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowJob .java) не имеет такого атрибута. Как насчет ['getSCMs()'] (https://github.com/jenkinsci/workflow-job-plugin/blob/6e3d7f4c1bea84eadcf0e14d6b2044116da88a48/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowJob.java# L523)? – StephenKing

ответ

0

Got выясняли, хорошо знать:

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")}" 
} 
Смежные вопросы