【发布时间】:2020-10-14 03:51:20
【问题描述】:
我有一个管道,我在构建阶段通过一个 groovy 文件以以下方式注入环境变量:
stage('Test-Mail') {
agent {
label 'master'
}
steps {
load '..\\..\\EnvVars.groovy'
script {
echo bat(returnStdout: true, script: 'set')
}
}
}
当我通过 echo 命令打印所有环境变量时,我能够看到所有默认变量以及成功注入的变量。
但是当我尝试在扩展电子邮件正文中的后期构建事件中使用它们时,我无法获得价值。我也尝试在后期构建中回显该值,并且我能够在那里获得该值。
我尝试了以下方式的扩展电子邮件:
post {
always {
bat ' echo BUILD_VERSION=%BUILD_VERSION%'
emailext body: '''$PROJECT_NAME - $BUILD_DISPLAY_NAME - ${BUILD_VERSION} $BUILD_NUMBER - $BUILD_STATUS.
Follow the below links for details:
Job URL: $JOB_URL
Console Output : $BUILD_URL
Regards,''', subject: 'Test Email Notification From Jenkins', to: 'vishalp@gmail.com'
}
}
变量 BUILD_VERSION 是从 groovy 文件中注入的。
我试过了:
$BUILD_VERSION
${BUIILD_VERSOIN}
${env.BUILD_VERSION}
${ENV, var="BUILD_VERSION"}
但似乎没有任何效果。
我收到的邮件正文如下:
POCs » Mail-Notification-Pipeline - #34 - ${BUILD_VERSION} 34 - Successful.
Follow the below links for details:
Job URL: http://172.16.1.73:8080/job/POCs/job/Mail-Notification-Pipeline/
Console Output : http://172.16.1.73:8080/job/POCs/job/Mail-Notification-Pipeline/34/
Regards,
我可以访问 Jenkins 提供的所有默认环境变量,但不能访问我注入的那些。 Jenkins 有不同类型的环境变量吗?我是否以错误的方式使用变量?
【问题讨论】:
标签: jenkins jenkins-pipeline jenkins-plugins jenkins-groovy jenkins-job-dsl