web-dev-qa-db-fra.com

Pipeline Jenkins: valeur de retour de l’étape de construction

Dans ce pipeline d'intégration de Jenkins, je déclenche différentes constructions en parallèle en utilisant l'étape de construction , comme suit:

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

J'aimerais accéder à la valeur de retour de l'étape build afin de savoir dans mes scripts Groovy quel nom de travail, quel numéro a été déclenché.

J'ai trouvé dans les exemples que l'objet renvoyé a des accesseurs tels que getProjectName() ou getNumber() que je peux utiliser pour cela.

Mais comment connaître la classe exacte de l'objet renvoyé et la liste des méthodes sur lesquelles je peux l'appeler? Cela semble être absent de la documentation sur le pipeline . Je demande ce cas en particulier, mais de manière générale, comment puis-je connaître la classe de l'objet renvoyé et sa documentation?

13
Florian Castellane

La documentation de l'étape est générée à partir de certains fichiers fournis avec le plug-in, ce qui n'est parfois pas suffisant. Un moyen simple serait d’imprimer le class de l’objet résultat en appelant getClass :

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

Cette sortie vous dira que le résultat (dans ce cas) est un org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper Qui a Javadoc publié .

Pour les autres cas, je dois généralement plonger dans le code source Jenkins. Voici ma stratégie générale:

25
mkobit