Как получить доступ к значению оси в метке?

#jenkins-pipeline

Вопрос:

 ...
        matrix {
            axes {
              axis {
                name 'FOO'
                values 'foo1' 'foo2'   // 
              }
...            stages {
                stage ('doIt') {
                    agent{
                      label '???'
                    }
                
...
 

Я хотел бы создать label инструкцию , которая будет принимать win или mac , если также найдено одно из значений FOO. Как я могу объединить значение оси с другими строками, чтобы сформировать значимую метку?

Ответ №1:

Вы можете получить доступ к переменной оси по ее имени — FOO . Единственное, что вам нужно иметь в виду,-это использовать его внутри строки в двойных кавычках, чтобы значение можно было правильно интерполировать.

 pipeline {
    agent none
    stages {
        stage('Matrix example') {
            matrix {
                agent any
                axes {
                    axis {
                        name 'FOO'
                        values 'bar1', 'bar2', 'bar3'
                    }
                }
                stages {
                    stage('Test') {
                        agent {
                            label "${FOO}"
                        }
                        steps {
                            // ...
                        }
                    }
                }
            }
        }
    }
}