Jenkins Pipeline - Construire avec les paramètres
Je suis en train d'exécuter une déjà une tâche définie à l'aide de construire méthode avec jenkins pipeline.
C'est un exemple simple:
build('jenkins-test-project-build', param1 : 'some-value')
Mais lorsque je tente de l'exécuter, j'obtiens une erreur:
java.lang.IllegalArgumentException: Expected named arguments but got [{param1=some-value}, jenkins-test-project-build]
at org.jenkinsci.plugins.workflow.cps.DSL.parseArgs(DSL.java:442)
at org.jenkinsci.plugins.workflow.cps.DSL.parseArgs(DSL.java:380)
at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:156)
at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:126)
...............
OriginalL'auteur andi | 2016-10-08
Vous devez vous connecter pour publier un commentaire.
Vous obtenez cette erreur, parce que vous ne passez pas le nom de l'attribut qui doit stocker 'jenkins-test-projet-construire".
Dans votre cas, vous devriez passer travail attribut.
Voici la liste des options disponibles(pipeline-construire-l'étape):
build job: 'jenkins-test-project-build', parameters: [string(name: 'param1', value:"some-value"), string(name: 'param2', value:"some-value")]
OriginalL'auteur sshepel
Vous avez plusieurs questions à votre appel.
Tout d'abord, comme sshepel dit, vous devriez nom de vos paramètres si vous avez plus d'un (vous pouvez oublier de nom seulement si vous utilisez uniquement le paramètre par défaut
job
, par exemplebuild 'my-simple-job-without-params'
).Le deuxième problème, c'est que vous êtes ne passe pas correctement les paramètres de. Pour passer des paramètres à un en aval emploi, vous devez utiliser le paramètre nommé
parameters
et de donner un tableau d'objets qui définissent chacun de vos paramètres, par exemple :Aussi, notez que les parenthèses sont optionnelles dans un Groovy appel de méthode.
J'ai dû utiliser une syntaxe légèrement différente pour obtenir le passage de paramètres à travailler pour moi:
build job: 'jenkins-test-project-build', parameters: [string(name: 'param1', value:"some-value")]
Comment pouvons-nous transmettre paramètre de choix
OriginalL'auteur Pom12
Utiliser le pipeline générateur de code spécifique jenkins serveur pour générer le code, dans mon cas, ce qui se passait en raison de l'incompatibilité de version, nous utilisons une version différente pour le développement de la production et de chacun, une autre syntaxe pour appeler un emploi, et de passer des paramètres.
OriginalL'auteur Mahesh