无法将诱惑报告附加到 Jenkins 电子邮件



Allure 报告未附加到 Jenkins 电子邮件中。我正在使用 Jenkins 管道脚本,这是我的脚本,但这是我在电子邮件中收到的错误:

在 $JENKINS_HOME/email-templates 中找不到 Groovy 模板文件 [allure-report.groovy]。

我也无法在计算机中找到allure-report.groovy

这是我的 Jenkins 管道,我不确定如何包含模板:

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"
)
}
}

}  

$JENKINS_HOME/email-templates用于放置电子邮件正文模板,一般当你安装 Jenkins 插件时,就像email一样,它包含一些预定义的模板,这些模板会在插件安装后被提取到$JENKINS_HOME/email-templates中。

当您在作业的后期操作中使用send email时,您可以选择使用插件模板之一,Jenkins 将尝试从文件夹获取模板$JENKINS_HOME/email-templates

如果你想使用self模板,你也需要把它放到$JENKINS_HOME/email-templates中。

使用自定义脚本(那些未与 email-ext 打包的脚本(需要 Jenkins 管理员的合作。步骤相对简单:

  1. 创建脚本/模板。脚本的名称以语言的标准扩展名 (.groovy( 结尾。模板可以命名为任何内容
  2. 让 Jenkins 管理员将脚本放在 $JENKINS_HOME\email-templates 中。
  3. 使用脚本令牌,模板参数等于
  4. 模板文件名,或者使用脚本参数等于自定义脚本名称。例如,如果模板文件名是 foobar.template,则电子邮件内容将如下所示 ${SCRIPT, template="foobar.template"}。

更多详情

最新更新