Если ваше определение задания находится в Jenkinsfile, будь то в качестве декларативного или скриптового конвейера, вы можете создавать глобальные или поэтапные переменные среды внутри блока среды.
Динамические переменные среды могут создаваться динамически в результатешаг оболочки или скрипт Groovy или функции, см. ниже пример декларативного синтаксиса конвейера, взятого из документации здесь
pipeline {
agent any
environment {
// Using returnStdout
CC = """${sh(
returnStdout: true,
script: 'echo "clang"'
)}"""
// Using returnStatus
EXIT_STATUS = """${sh(
returnStatus: true,
script: 'exit 1'
)}"""
}
stages {
stage('Example') {
environment {
DEBUG_FLAGS = '-g'
}
steps {
sh 'printenv'
}
}
}
}
В вашем случае вы хотите получить значение Nameпредоставляется в разделе «Управление исходным кодом», который, как я видел в , не так прост, как получить имя репо в потоке Jenkins pipe , и в этом случае имя извлекается из самого URL-адреса git, а не из пользовательского имени.
, если вы используете декларативный подход конвейера, мне интересно, возможно ли это, и имело бы смысл определить некоторые строковые переменные, чтобы просто хранить собственные имена ваших репозиториев, и использовать эти переменные для обоих, использовать их какзначение параметров для шага оформления заказа, дополнительная информация здесь идругой рукой присваивают значения переменных среды в блоке среды