未在詹金斯电子邮件中附加吸引力报告。我正在使用Jenkins管道脚本,这是我的脚本,但这是我在电子邮件中收到的错误:
Groovy Template file [allure-report.groovy] was not found in $JENKINS_HOME/email-templates.
我也无法在计算机上找到allure-report.groovy
这是我的詹金斯管道,我不确定如何包括该模板:
pipeline {
agent {
label {
label ""
customWorkspace "/john/qa-end-to-end"
}
}
tools {nodejs "node"}
stages {
stage('Checkout App') {
steps {
dir("${env.HOME}/app") {
echo "Building.."
sh 'git reset --hard HEAD'
sh 'git clean -f -d'
sh 'git pull'
}
}
}
stage('Starting Tests') {
steps {
echo "Starting End to End Tests"
dir("${env.HOME}/qa-end-to-end/") {
sh './tests.sh'
}
}
}
}
post('Publish Report') {
always {
script {
allure([
includeProperties: false,
jdk: '',
properties: [],
reportBuildPolicy: 'ALWAYS',
results: [[path: '$WORKSPACE/${env.HOME}/app/target/allure-results']]
])
}
}
failure {
emailext(
attachmentsPattern: "$WORKSPACE/${env.HOME}/qa-end-to-end/allure-report/index.html",
body: '''${SCRIPT, template="allure-report.groovy"}''',
subject: "Failure in End to End Tests -> Build Number: ${env.BUILD_NUMBER}",
from: "john@gmail.com",
to: "mike@gmail.com"
)
}
}
}
答案 0 :(得分:1)
$JENKINS_HOME/email-templates
用于放置电子邮件正文模板,通常当您安装email
之类的Jenkins插件时,它包含一些预定义的模板,并且这些模板将在之后提取到$JENKINS_HOME/email-templates
中插件已安装。
当您在Job的Post Action中使用send email
时,您可以选择使用插件模板之一,Jenkins会尝试从文件夹$JENKINS_HOME/email-templates
中获取模板
如果要使用自我模板,则也需要将其放入$JENKINS_HOME/email-templates
。
使用自定义脚本(未与email-ext打包在一起)需要Jenkins管理员的配合。步骤相对简单:
- 创建脚本/模板。脚本的名称以该语言的标准扩展名(.groovy)结尾。模板可以命名为任何
- 让您的Jenkins管理员将脚本放在$ JENKINS_HOME \ email-templates中。
- 使用脚本令牌,其模板参数等于模板文件名,或者另外,脚本参数等于自定义脚本名称。例如,如果模板文件名是foobar.template,则电子邮件内容将类似于此$ {SCRIPT,template =“ foobar.template”}。