Jenkins文件页面加载事件

Jenkins文件页面加载事件,jenkins,jenkins-pipeline,jenkins-groovy,Jenkins,Jenkins Pipeline,Jenkins Groovy,有没有办法在页面加载时动态加载下拉列表 def loadfolders() { checkout scm dir("environments/qa") { sh "ls -d */ | cut -f1 -d'/' > list_of_files.txt" sh 'cat list_of_files.txt' liste = readFile 'list_of_files.txt' echo "please cl

有没有办法在页面加载时动态加载
下拉列表

def loadfolders() {
    checkout scm
    dir("environments/qa") {
        sh "ls -d */ | cut -f1 -d'/' > list_of_files.txt"
        sh 'cat list_of_files.txt'
        liste = readFile 'list_of_files.txt'
        echo "please click on the link here to chose the branch to build"
                   env.BRANCH_SCOPE = input message: 'Please choose the branch to build ', ok: 'Validate!',
                   parameters: [choice(name: 'BRANCH_NAME', choices: "${liste}", description: 'Branch to build?')]         

    }
} 
上面的代码可以工作,但在单击事件时可以工作。此代码执行签出,转到包含n个子文件夹的文件夹
environments/qa
在用户从下拉列表中选择输入的下拉列表中填充


我启动作业时是否可以加载下拉列表?

有一种方法,使用ActiveChoice插件

在Jenkins文件中可能需要类似的内容:

properties([
    parameters([
        [$class: 'ChoiceParameter',
            name: 'BRANCH_NAME',
            choiceType: 'PT_SINGLE_SELECT',
            description: 'Branch to build?',
            filterable: false,
            script:
              [$class: 'GroovyScript',
                script:
                  [classpath: [], sandbox: false, script: loadfolders()],
                fallbackScript:
                  [classpath: [], sandbox: false, script: 'return "master"']
              ]
            ]
这允许您运行groovy脚本来填充您的选择

调试是地狱般的,因为您需要批准对脚本的每一项更改,并且会出现奇怪的错误,但最终它会起作用