web-dev-qa-db-fra.com

Comment puis-je lister les variables déjà disponibles dans Jenkinsfile?

J'essaie d'utiliser certaines variables telles que le nom du référentiel, les noms des branches, le numéro de build, ... depuis l'intérieur de la variable Jenkinsfile, mais je ne trouve aucune documentation à ce sujet.

Existe-t-il un moyen de les imprimer pour que je puisse voir ce qui est disponible? Comment?

Je pense que cela peut être lié à Imprimer des variables et des valeurs dans un objet Groovy

Mettre à jour 

this.binding.variables.each {k,v -> println "$k = $v"}

J'ai essayé d'inclure le code ci-dessus mais maintenant l'exécution échoue avec 

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use field groovy.lang.Binding variables
    at org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectField(StaticWhitelist.Java:177)
9
sorin

Pour voir les variables d'environnement, essayez:

node {
  sh 'env | sort'
}
13
Jesse Glick

Sur la page de configuration du travail Pipeline, cliquez sur le lien "Syntaxe du pipeline" dans le navigateur de gauche. Il s'ouvre et sur sa gauche, cliquez sur Global variables. Il répertorie de nombreuses variables pouvant être utilisées dans le script Pipeline, y compris un ensemble de variables d’environnement mises à la disposition de tous les projets Jenkins.

Un exemple de chargement de valeurs de variables à partir de Groovy:

mail to: '[email protected]',
    subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) is waiting for input",
    body: "Please go to ${env.BUILD_URL} and verify the build"
12
luka5z

vous essayez d'exécuter votre pipeline dans un bac à sable et l'opération que vous effectuez est considérée comme non sécurisée lorsque vous essayez d'obtenir un accès de bas niveau.

Si vous n'êtes pas administrateur de ce Jenkins, vous n'avez pas d'autre choix que de demander à votre administrateur des permissions - c'est le bac à sable pour.

Si vous vous êtes mis en sandbox à une occasion, supprimez simplement la case à cocher située sous la fenêtre du pipeline. 

si vous voulez toujours être en mode sandbox et que vous avez les droits d'administrateurgot à http: // your_jenkins/scriptApproval/ trouvez votre demande d'accès à la fonction et approuvez-la.

En cas de succès des trois options ci-dessus, vous passez à l’erreur suivante de votre script. 

groovy.lang.MissingFieldException: aucun champ de ce type: liaison pour la classe: WorkflowScript

GL

UPD: supprimer le préfixe "ceci" pour passer à travers

0

Ici vous pouvez trouver Variables globales qui sont disponibles directement dans Pipeline, vous les trouverez parmi les variables d'environnement dans env ​​

0
codeGeass