如何替换声明性Jenkinsfile管道变量的一部分以获取作业的名称?

如何替换声明性Jenkinsfile管道变量的一部分以获取作业的名称?,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我想知道詹金斯那份工作的名字。该名称是一个名为JOB_name的Jenkins环境变量(看起来像project_name/branch)。JOB\u BASE\u NAME去掉项目\u NAME/,留下分支 我想获得项目名称 我想我可以做一些类似的事情: environment { NAME = "${env.JOB_NAME}.replaceAll(~/\/.*$/, '') } 然后在管道中稍后使用${NAME},但这似乎不起作用您也可以执行env.JOB\u NAME-env.JOB

我想知道詹金斯那份工作的名字。该名称是一个名为JOB_name的Jenkins环境变量(看起来像
project_name/branch
)。JOB\u BASE\u NAME去掉
项目\u NAME/
,留下
分支

我想获得
项目名称

我想我可以做一些类似的事情:

environment {
  NAME = "${env.JOB_NAME}.replaceAll(~/\/.*$/, '')
}

然后在管道中稍后使用
${NAME}
,但这似乎不起作用

您也可以执行
env.JOB\u NAME-env.JOB\u BASE\u NAME
,如果需要丢失最后的
/
,则从末尾删除一个字符

一旦在
环境中定义了某个对象
闭包,它就不应该像
名称
那样作为普通变量,而是像预定义的环境变量一样可以访问,例如
环境名称