Я отправляю электронное письмо в формате HTML с кратким описанием результатов теста через конвейерный сценарий Jenkins. Мне нужны некоторые входные данные, в том числе сведения о списке изменений Gerrit и форматирование
#!/usr/bin/env groovy
// ==================== PIPELINE ====================
pipeline {
agent any
stages {
stage ('get-workspace') {
steps {
dir('test') {
// Fetching project files from GIT here
}
}
}
stage ("regression") {
steps {
dir('test') {
//Running regression here
}
}
}
}
post {
always {
script {
def results = readFile "out/summary.txt"
def resultList = results.readLines()
for (result in resultList) {
echo result
if (result.contains("Tests passed")) {
passed = result.split(" ")[2]
echo passed
}
if (result.contains("Tests failed")) {
failed = result.split(" ")[2]
echo failed
}
if (result.contains("Tests skipped")) {
skipped = result.split(" ")[2]
echo skipped
}
}
emailext(
body:
"""
<h3 style="text-align: left;"><span style="color: #000000;"><span style="background-color: #003366; color: #ffffff;">NAME REGRESSION</span> </span></h3>
<ul style="list-style-type: circle;">
<li>PROJECT: XYZ</li>
<li>BUILD: ${env.JOB_NAME}:${env.BUILD_NUMBER}</li>
<li>View console output at ${env.BUILD_URL}</li>
</ul>
<h4>RESULTS:</h4>
<table style="height: 69px; background-color: #f5fffa; border-color: #0d0201; width: 192px;">
<tbody>
<tr>
<td style="width: 93px;"><span style="color: #ff0000;">Tests failed</span></td>
<td style="width: 10px;"><span style="color: #ff0000;">$failed</span></td>
</tr>
<tr>
<td style="width: 93px;"><span style="color: #00ff00;">Tests passed</span></td>
<td style="width: 10px;"><span style="color: #00ff00;">$passed</span></td>
</tr>
<tr>
<td style="width: 93px;"><span style="color: #0000ff;">Tests skipped</span></td>
<td style="width: 10px;"><span style="color: #0000ff;">$skipped</span></td>
</tr>
</tbody>
</table>
<h4>BLAME LIST :</h4>
<p>GERRIT_CHANGE_OWNER_NAME</p>
<p> </p>
<p> </p>
""",
compressLog: true,
replyTo: 'myemail@org.com',
subject: "${env.JOB_NAME} Build #${env.BUILD_NUMBER}: ",
recipientProviders: [[$class: 'CulpritsRecipientProvider']],
to: "myname@org.com",
attachmentsPattern: 'out/summary.txt',
)
}
junit '**/out/junit/*.xml'
}
}
}
Мне нужен список изменений / список обвинений Gerrit из предыдущего ночного запуска, который будет включен в коммит и коммиттер в теле письма. Я пытался $ {env.GERRIT_CHANGE_OWNER_NAME}. Это не похоже на работу
Граница таблицы и форматирование фона не отображаются.
Я хочу, чтобы график трендов был включенв теле письма. Попытался предоставить https://address/test/trend, который не работал, и попытался загрузить http curl и получить запрос на локальном клиенте jenkins и подключиться к электронной почте с локальным путем. Загрузка Curl работает только с действительными учетными данными. Есть лучший способ встроить график тренда в тело письма