Динамические параметры декларативного конвейера Jenkins - PullRequest
1 голос
/ 19 июня 2019

Целью является динамическая загрузка значений параметров из декларативного конвейера Jenkins.Один из параметров предварительно загружает свои значения из функции.Когда функция вызывается, она создает массив ключей KMS, но не может заполнить поле значения параметра.NB - я могу заставить это работать через сценарий с конвейером, но хочу сделать это через декларативный конвейер.

Вот код

def my_kms_keys=""

def LocalKmsKeys(){

    kms_keys = sh(script: """aws kms list-aliases --region eu-west-1 |jq -r '.Aliases[] |select (.AliasArn |contains(":alias/aws/") | not) | "\\(.AliasArn | split("/")[1]) --- \\(.TargetKeyId)"'""", returnStdout:true).trim()

    return kms_keys.split("\n");
}

pipeline {

    agent { label 'slave' }

    stages {
        stage('Load KMS Keys'){
            steps {
                script {
                    my_kms_keys = LocalKmsKeys()
                    println "Debug my_kms_keys : " + my_kms_keys
                }
            }
        }
    }

    parameters {
        string(name: 'Product', description: 'Product name', defaultValue: "product-1")
        choice(name: 'KmsKeys', description: 'Select Kms key for S3 bucket', choices: my_kms_keys)
        }
}

Любые идеи о том, как решить эту проблему, будуточень цениться.

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