Дженкинс электронная почта gerrit_change_list и junit trend_graph в теле письма - PullRequest
0 голосов
/ 17 октября 2019

Я отправляю электронное письмо в формате 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>&nbsp;</span></h3>
                                <ul style="list-style-type: circle;">
                                <li>PROJECT: XYZ</li>
                                <li>BUILD:&nbsp;${env.JOB_NAME}:${env.BUILD_NUMBER}</li>
                                <li>View console output at&nbsp;${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>&nbsp;</p>
                                <p>&nbsp;</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'
            }
        }
}

  1. Мне нужен список изменений / список обвинений Gerrit из предыдущего ночного запуска, который будет включен в коммит и коммиттер в теле письма. Я пытался $ {env.GERRIT_CHANGE_OWNER_NAME}. Это не похоже на работу

  2. Граница таблицы и форматирование фона не отображаются.

  3. Я хочу, чтобы график трендов был включенв теле письма. Попытался предоставить https://address/test/trend, который не работал, и попытался загрузить http curl и получить запрос на локальном клиенте jenkins и подключиться к электронной почте с локальным путем. Загрузка Curl работает только с действительными учетными данными. Есть лучший способ встроить график тренда в тело письма

...