Jenkinsfile:修剪选择参数并将其传递给stage

Jenkinsfile:修剪选择参数并将其传递给stage,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,下面是我正在使用的詹金斯文件。但现在我需要根据环境选择ID,因为根据环境记住帐户ID并不容易。 当我选择sdbx选择1807402234时,是否有一种方法可以添加到Jenkins文件中。请建议 或者,如果我使用下面的选择参数,那么在进入阶段时是否有办法修剪ID参数 choice( name: 'ID', choices: [ 'sdbx-1807402234', 'devl-5187460678', 'test-891137040'] ) 注意:我需要环境和ID参数。我也是je

下面是我正在使用的詹金斯文件。但现在我需要根据环境选择ID,因为根据环境记住帐户ID并不容易。 当我选择sdbx选择1807402234时,是否有一种方法可以添加到Jenkins文件中。请建议

或者,如果我使用下面的选择参数,那么在进入阶段时是否有办法修剪ID参数

choice(
    name: 'ID',
    choices: [ 'sdbx-1807402234', 'devl-5187460678', 'test-891137040']
)
注意:我需要环境和ID参数。我也是jenkins groovy的乞丐

我的詹金斯档案

def deploy(env) {
  step([$class: 'UCDeployPublisher',
  siteName: siteName,
  deploy: [
  $class: 'com.urbancode.jenkins.plugins.ucdeploy.DeployHelper$DeployBlock',
  deployApp: appName,
  deployEnv: 'DEV',
  deployVersions: "${compName}:${version}",
  deployProc: simpleDeploy,
  deployOnlyChanged: false,
  deployReqProps: "ID=${params.ID}"
 ]])

parameters {
  choice(
  name: 'ENVIRONMENT',
  choices: [ 'sdbx', 'devl', 'test' ]
  )

  choice(
    name: 'ID',
    choices: [ '1807402234', '5187460678', '891137040']
)
stage (DEV') {

    steps {
        script {
         if (params.ENVIRONMENT == "dev"){
             deploy('devl') ===> this will call my deploy function
         }
     }
  }
}

是的,您可以通过使用
split
功能来实现这一点。
PARAMS=PARAMS.ID.split(“-”)

例如:

def PARAMS = []
pipeline {
     parameters
    {
         choice(
                choices: ['sdbx-1807402234', 'devl-5187460678', 'test-891137040'], 
                name: 'ID'
               )
    }
agent any
   stages {
            stage (DEV') {
              steps {
               script{
                   // Split choice parameter selected  ID by '-'
                   PARAMS = params.ID.split("-")
                   // Get environment name selected
                   def environment = PARAMS[0]
                   // Get ID selected
                   def id = PARAMS[1]
                   println ("environment is : ${environment}")
                   println ("id is : ${id}")
                   if (environment  == "dev"){
                          deploy('devl') ===> this will call my deploy function
                       }
                   }
               }
            }
   }

输出:

@wlg这对你有用吗