문제

I am using Jenkins and email-ext to send build notifications. Build produces small custom report stored as simple HTML in out directory. Right now I can easy attach this report to the email, but what I want is to have this report rendered to the email body itself. I know that I can write my own jelly template, but this requires access to the build server(to install jelly script), I want to avoid this too. So my questions are:

  1. Can I include content of the arbitrary file(generated during build) to Content field of the Email-Ext plugin?
  2. If I cannot, what is most easy way to send such report in Jenkins?
도움이 되었습니까?

해결책

It looks like most easy way is to use 'Pre-send Script' of the Email-ext

Script looks like this:

def reportPath = build.getWorkspace().child("HealthTestResults.html")
msg.setContent(reportPath.readToString(), "text/html");

It renders content of the HealthTestResults.html located in the root of the workspace just as body of the message.

다른 팁

Easy way to include the html file to email content is to add below line in the default content = ${FILE, path="yourfilename.html"}

this works for me in jenkins email ext plugin

If you use groovy template, then you can do something like this

stage("Notifications") {
            steps {
                script {
                    env.ForEmailPlugin = env.WORKSPACE

                    emailext mimeType: "text/html",
                        body: '''${SCRIPT, template="notification.template"}''',
                        subject: env.JENKINS_PROJECT + " " + currentBuild.currentResult + " : " + env.JOB_NAME + "/" + env.GIT_COMMIT,
                        recipientProviders: [requestor(), developers()],
                        from: env.JENKINS_EMAIL,
                        attachLog: true
                }
            }
        }

and slice of /var/lib/jenkins/email-templates/notification.template

<!-- ARGOCD SYNC OUTPUT -->
<h3>ArgoCD<h3/>
<hr size="1" />
<tt>
${new File("/tmp/sync.txt").text.replaceAll('\n','<br>').replaceAll(' ', '&nbsp;')}
</tt>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top