如何列出Jenkinsfile中已有的变量?

sor*_*rin 9 groovy jenkins-pipeline jenkinsfile

我试图使用一些变量,如存储库名称,分支名称,内部版本号,...从内部,Jenkinsfile但我无法找到任何有关此的文档.

有没有办法打印它们,所以我可以看到什么是可用的?怎么样?

我认为这可能与在Groovy对象中打印变量和值有关

更新

this.binding.variables.each {k,v -> println "$k = $v"}
Run Code Online (Sandbox Code Playgroud)

我试图包含上面的代码,但现在执行失败了

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)
Run Code Online (Sandbox Code Playgroud)

Jes*_*ick 14

要查看环境变量,请尝试:

node {
  sh 'env | sort'
}
Run Code Online (Sandbox Code Playgroud)

  • 这不会显示在“脚本”块中定义的变量。 (2认同)

luk*_*a5z 12

在您的Pipeline作业配置页面中,单击左侧导航栏上的"管道语法"链接.它打开并在其左侧导航点击Global variables.它列出了许多可以在Pipeline脚本中使用的变量,包括一组环境变量可供所有Jenkins项目使用.

从Groovy加载变量值的示例:

mail to: 'devops@acme.com',
    subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) is waiting for input",
    body: "Please go to ${env.BUILD_URL} and verify the build"
Run Code Online (Sandbox Code Playgroud)

  • 它们现在位于页面末尾的"Pipeline Sintax"下.或者您可以将/ pipeline-syntax/globals附加到作业URL (2认同)