Jenkins dynamique déclarative pipeline paramètres

Pouvez les paramètres dans un Jenkins déclarative pipeline être dynamique?

Je veux un le choix des valeurs d'option être remplie au moment de l'exécution d'une fonction. Le code suivant génère une liste d'options, mais ils semblent être rassis - probablement à l'origine de la première fois que j'ai couru ce code. Si la liste d'AMIs changements, les choix restent les mêmes. Je veux ce à exécuter chaque fois que je sélectionne build with parameters.

def findAMIs() {
    //Find relevant AMIs based on their name
    def sout = new StringBuffer(), serr = new StringBuffer()
    def proc = '/usr/bin/aws --region eu-west-1 ec2 describe-images \
               ' --owners OWNER --filter Name=name,Values=PATTERN \
               ' --query Images[*].{AMI:Name} --output  text'.execute()
    proc.consumeProcessOutput(sout, serr)
    proc.waitForOrKill(10000)
    return sout.tokenize() 
}

def AMIs = findAMIs().join('\n')

pipeline {
    //a declarative pipeline
    agent any

    parameters {
        choice(name: 'Release',
               choices: AMIs)
    }
    ...
 }

MODIFIER
J'ai fini par utiliser jenkins-job-builder, avec un choix étendu de paramètres. Il ne prend pas en charge la groovyScript paramètre pour le moment, alors je l'ai modifié https://review.openstack.org/#q,I0c6ac0b49c24b8d3afbc06b003847de2e043c2b8,n,z

c'est juste qu'il change pas immédiatement, ou il ne fait jamais de changement (combien de fois avez-vous lancé le à construire après il doit avoir changé)? je pense que j'ai vu, il ne prendra effet que lors de la première exécution.
Il ne change jamais. Chaque fois que je clique construire avec les paramètres-je obtenir exactement les mêmes options, même si je sais que le script retourne différentes options (lorsque vous exécutez manuellement)
Les paramètres peuvent être redéfinis tout le temps d'une génération fonctionne. Pas de formation, pas de redéfinition.
c'est une honte... j'aimerais vraiment dynamique des choix basés sur la situation actuelle, et non pas sur la version précédente.
Il y a des plugins qui mettent en œuvre des "dynamique" des paramètres, comme le Choix Actifs, Dynamiques Paramètre abandonné (IIRC), Extensible de Paramètre, les paramètres avancés. Peut-être certains de ceux qui sont pipeline compatible.

OriginalL'auteur jarondl | 2017-06-15