событие загрузки страницы jenkinsfile - PullRequest
0 голосов
/ 16 января 2020

Есть ли способ динамически загрузить dropdown при загрузке страницы

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?')]         

    }
} 

Приведенный выше код работает, но работает при событии нажатия. Этот код выполняет извлечение, идет в папку environments/qa, в которой есть n подпапок, которые заполняются в раскрывающемся списке, где пользователи выбирают входные данные из раскрывающегося списка.

Можно ли просто загрузить выпадающий, когда я начинаю работу?

1 Ответ

0 голосов
/ 16 января 2020

Есть способ с плагином ActiveChoice.

Вам может понадобиться что-то подобное в вашем Jenkinsfile:

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 сценарии для заполнения вашего выбора. .

Отладка это ад, так как вам нужно утвердить каждое изменение в вашем скрипте, и возникают странные ошибки, но в конце концов это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...