Трубопровод Дженкинса: возвращаемое значение шага сборки - PullRequest
0 голосов
/ 29 июня 2018

В этом конвейере интеграции в Дженкинсе я запускаю разные сборки параллельно, используя шаг сборки , как показано ниже:

stage('trigger all builds')
{
  parallel
  {
    stage('componentA')
    {
      steps
      {
        script 
        {
          def myjob=build job: 'componentA', propagate: true, wait: true
        }
      }
    }
    stage('componentB')
    {
      steps 
      {
        script
        {
          def myjob=build job: 'componentB', propagate: true, wait: true
        }
      }
    }
  }
}

Я хотел бы получить доступ к возвращаемому значению шага build, чтобы в своих скриптах Groovy я мог знать, какое имя задания, номер было вызвано.

Я обнаружил в примерах, что возвращаемый объект имеет геттеры типа getProjectName() или getNumber(), которые я могу использовать для этого.

Но как мне узнать точный класс возвращаемого объекта и список методов, которые я могу вызвать для него? Это, кажется, отсутствует в документации Pipeline . В частности, я спрашиваю об этом случае, но, вообще говоря, как я могу узнать класс возвращаемого объекта и его документацию?

1 Ответ

0 голосов
/ 29 июня 2018

Документация шага генерируется на основе некоторых файлов, связанных с плагином, чего иногда недостаточно. Одним простым способом было бы просто распечатать class объекта результата, вызвав getClass:

def myjob=build job: 'componentB', propagate: true, wait: true
echo "${myjob.getClass()}"

Этот вывод скажет вам, что результатом (в данном случае) является org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper, в котором опубликован Javadoc .

В других случаях мне обычно приходится погружаться в исходный код Jenkins. Вот моя общая стратегия:

...