Mar*_*son 3 jenkins jenkins-pipeline
我想将当前正在执行的Jenkins作业的名称放入环境变量中,以便稍后在我的管道中使用,而不使用文件夹名称.我假设我需要这样的东西:
withEnv(['JOB_BASE_NAME=JOB_NAME.split('/').last()']) {
echo "Job base name: ${JOB_BASE_NAME}"
}
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:
unclassified method java.lang.String div java.lang.String
Run Code Online (Sandbox Code Playgroud)
在Jenkins文档中,您有§使用环境变量部分,其中提到:
可以从Jenkins管道中访问的环境变量的完整列表记录在localhost:8080/pipeline-syntax/globals #env,假设Jenkins主服务器在localhost上运行:8080
如果您按照链接找到JOB_BASE_NAME已经由Jenkins提供的OOTB,那么这正是您想要的.
JOB_BASE_NAME- 此构建项目的短名称剥离文件夹路径,例如"bar/foo"的"foo".
我解决了。如果有人发现它有用:
def jobBaseName = "${env.JOB_NAME}".split('/').last()
echo "Job Name (excl. path): ${jobBaseName}"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6395 次 |
| 最近记录: |