我试图列出输入选择中的所有标签(GitLab),但我不知道该怎么做。
我要做的是能够选择标签并根据标签执行部署到不同环境的操作。
谢谢。
答案 0 :(得分:1)
我提出了一种使用dsl在声明式管道中工作的解决方案:
代码:
pipeline { agent any stages { stage('PollSCM') { steps { checkout([$class: 'GitSCM', branches: [[name: 'master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'xxx', url: 'repo']]]) script { tags = sh(script: "git tag --sort=v:refname | tail -5 ", returnStdout: true).trim() } } } stage('CHOICE TAG') { steps { script { def tag_response = input message: 'blah blah tags', parameters: [choice(choices: "${tags}", description: 'blah', name: '')] env.tag_response = tag_response } } } stage ('echo choose') { steps { echo "I choose: '${tag_response}'" } } } }