Переключение между различными значениями параметров при сравнении строк с использованием конвейера jenkins - PullRequest
0 голосов
/ 22 мая 2018

Как я могу переключаться между параметрами с различными вариантами выбора при сравнении строк?

У меня есть что-то вроде этого:

#!/usr/bin/env groovy
pipeline {  
agent any
   stages {
        stage ('Class') {
        steps {
            script{
                switch(env.class) {
                   case { if ("${class}" == "a") }:
                        echo "match"
                    break
                    }
                }
            }
        }
    }
}

В моей работе Дженкинса у меня есть string parameterназывается class, который отличается для разных работ.Для этого, если ${class}==a, я хочу сделать несколько шагов.Кто-то, пожалуйста, дайте мне знать, как я могу достичь этого Спасибо

1 Ответ

0 голосов
/ 23 мая 2018

Декларативный конвейер не работает так же, как конвейер Scripted, но, возможно, вы получите некоторое вдохновение от этого примера скриптового конвейера:

#!groovy
node {
    properties([
            parameters([
                    choice(choices: 'a\nb',
                            description: 'Pick a letter.',
                            name: 'class')
            ])
    ])

    try {
        stage('Class') {
            switch (params.class) {
                case 'a':
                    result = "matching a"
                    // do some things if choice a is given
                    echo "Step 1"
                    break
                case 'b':
                    result = "matching b"
                    // do some things if choice b is given
                    echo "Step 2"
                    break
            }
            echo "${result}"

        }
    }
    catch (Throwable t) {
        // do not swallow exception
        echo "Exception: ${t}"
        throw t;
    }
}
...