Build with parameters启动前,如何用Groovy脚本获取当前Job名称?
在Active Choice Parameter脚本中获取未运行作业的名称
当然可以获取。在「Build with parameters」页面加载阶段,虽然currentBuild和JOB_NAME环境变量还未初始化(因为作业还没启动),但你可以通过Jenkins的内部上下文直接拿到当前Job对象,进而提取名称。
以下是可行的Groovy代码示例:
// 方式1:直接使用脚本环境内置的job变量 def jobName = job.getName() // 如果需要包含文件夹路径的完整Job名称 def fullJobName = job.getFullName() // 方式2:通过Jenkins实例API获取(适合更复杂的场景) def currentJob = Jenkins.instance.getItemByFullName(binding.variables['JOB_NAME']) def jobName = currentJob.getName()
注意事项
- 如果你的Jenkins开启了安全策略,首次运行脚本时可能会触发权限拦截,需要到「Manage Jenkins」→「In-process Script Approval」中批准对应的方法调用(比如
getName()、getFullName())。 - 两种方式都能在作业未运行时正常工作,因为它们依赖的是Job的配置上下文,而非构建运行时的环境变量。
内容的提问来源于stack exchange,提问作者JoseAntonioSA
相关产品推荐
相关产品推荐

