首页 > 解决方案 > 如何根据作业名称在 Jenkins 管道中返回参数?

问题描述

我有两个 Jenkins 管道 (a)deploy和 (b) test_deploy。我想从一个 Jenkinsfile运行这两个管道,因为它们的功能是相同的。

我只想将测试环境显示为test_deploy管道中的参数。我想在选择参数上添加类似 if/else 的条件,这些条件将根据作业名称在参数中返回环境名称。如何根据作业名称调整选择/参数?

标签: jenkinsjenkins-pipeline

解决方案


您可以在 Jenkinsfile 的顶部添加它:

if (JOB_NAME == 'deploy') {
    properties([
        parameters([
            choice(name: 'deployEnv', choices: ['deployEnv1', 'deployEnv2'], description: '')
        ])
    ])
} else if (JOB_NAME == 'test_deploy') {
    properties([
        parameters([
            choice(name: 'testEnv', choices: ['testEnv1', 'testEnv2'], description: '')
        ])
    ])
}

这适用于声明式和脚本化管道,并根据作业名称填充选择参数。


推荐阅读