Last active
September 13, 2023 14:56
-
-
Save letsrokk/50a3ffc8ad5af8896ce78e62fe1e8cb5 to your computer and use it in GitHub Desktop.
Allure Summary Email using Email-ext Jenkins Plugin
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
<style type="text/css"> | |
/*base css*/ | |
body | |
{ | |
margin: 0px; | |
padding: 15px; | |
} | |
body, td, th | |
{ | |
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Tahoma, sans-serif; | |
font-size: 10pt; | |
} | |
th | |
{ | |
text-align: left; | |
} | |
h1 | |
{ | |
margin-top: 0px; | |
} | |
a | |
{ | |
color:#4a72af | |
} | |
/*div styles*/ | |
.status{background-color:<%= | |
build.result.toString() == "SUCCESS" ? 'green' : 'red' %>;font-size:28px;font-weight:bold;color:white;width:720px;height:52px;margin-bottom:18px;text-align:center;vertical-align:middle;border-collapse:collapse;background-repeat:no-repeat} | |
.status .info{color:white!important;text-shadow:0 -1px 0 rgba(0,0,0,0.3);font-size:32px;line-height:36px;padding:8px 0} | |
</style> | |
<body> | |
<div class="content round_border"> | |
<div class="status"> | |
<p class="info">The build <%= build.result.toString().toLowerCase() %></p> | |
</div> | |
<!-- status --> | |
<table> | |
<tbody> | |
<tr> | |
<th>Project:</th> | |
<td>${project.name}</td> | |
</tr> | |
<tr> | |
<th>Build ${build.displayName}:</th> | |
<td><a | |
href="${rooturl}${build.url}">${rooturl}${build.url}</a></td> | |
</tr> | |
<tr> | |
<th>Date of build:</th> | |
<td>${it.timestampString}</td> | |
</tr> | |
<tr> | |
<th>Build duration:</th> | |
<td>${build.durationString}</td> | |
</tr> | |
<tr> | |
<td colspan="2"> </td> | |
</tr> | |
</tbody> | |
</table> | |
<!-- main --> | |
<% def artifacts = build.artifacts | |
if(artifacts != null && artifacts.size() > 0) { %> | |
<b>Build Artifacts:</b> | |
<ul> | |
<% artifacts.each() { f -> %> | |
<li><a href="${rooturl}${build.url}artifact/${f}">${f}</a></li> | |
<% } %> | |
</ul> | |
<% } %> | |
<!-- artifacts --> | |
<% | |
lastAllureReportBuildAction = build.getAction(ru.yandex.qatools.allure.jenkins.AllureReportBuildAction.class) | |
lastAllureBuildAction = build.getAction(ru.yandex.qatools.allure.jenkins.AllureBuildAction.class) | |
if (lastAllureReportBuildAction) { | |
allureResultsUrl = "${rooturl}${build.url}allure" | |
allureLastBuildSuccessRate = String.format("%.2f", lastAllureReportBuildAction.getPassedCount() * 100f / lastAllureReportBuildAction.getTotalCount()) | |
} | |
%> | |
<% if (lastAllureReportBuildAction) { %> | |
<h2>Allure Results</h2> | |
<table> | |
<tbody> | |
<tr> | |
<th>Total Allure tests run:</th> | |
<td><a href="${allureResultsUrl}">${lastAllureReportBuildAction.getTotalCount()}</a></td> | |
</tr> | |
<tr> | |
<th>Failed:</th> | |
<td>${lastAllureReportBuildAction.getFailedCount()} </td> | |
</tr> | |
<tr> | |
<th>Passed:</th> | |
<td>${lastAllureReportBuildAction.getPassedCount()} </td> | |
</tr> | |
<tr> | |
<th>Skipped:</th> | |
<td>${lastAllureReportBuildAction.getSkipCount()} </td> | |
</tr> | |
<tr> | |
<th>Broken:</th> | |
<td>${lastAllureReportBuildAction.getBrokenCount()} </td> | |
</tr> | |
<tr> | |
<th>Success rate: </th> | |
<td>${allureLastBuildSuccessRate}% </td> | |
</tr> | |
</tbody> | |
</table> | |
<img lazymap="${allureResultsUrl}/graphMap" src="${allureResultsUrl}/graph" alt="Allure results trend"/> | |
<% } %> | |
<!-- content --> | |
<!-- bottom message --> | |
</body> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
node { | |
stage('Test') { | |
//... test execution steps | |
} | |
stage('Build report'){ | |
allure includeProperties: false, jdk: '', results: [[path: 'target/allure-results']] | |
} | |
stage('Send Summary'){ | |
emailext body: '''${SCRIPT, template="allure-report.groovy"}''', | |
subject: "[Jenkins] Test Execution Summary", | |
to: "all@example.com" | |
} | |
} |
I think gmail blocks any <style> tags so you might not be able to resolve it. Best thing to do for now is setup a new email with a different provider to test against.
Ok No Issues Thanks for the quick help. @pmcg86
@abhijeet-waghmare No worries. Good luck!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for the help with your google solution now its working fine. Actually my groovy script was not approved by Admin after approval now working fine.
Only thing is as we are using gmail the mail notification is not showing the CSS enable result, Can you please help me how can I fix this so that I will get CSS enabled result summary on Email.