Отобразить содержимое HTML-страницы в электронную почту Jenkins

Я пытаюсь отобразить содержимое HTML-страницы в теле письма Jenkins, я добавил следующий код в раздел содержимого по умолчанию в плагине Editable Email:

${FILE,path="/target/surefire-reports/html/index.html"}

Также я попытался добавить следующий код в сценарий предварительной отправки в плагине электронной почты:

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

оба способа не сработали, и я все еще получаю пустые письма.

2 ответа

Как насчет попробовать с DSL, если вы не хотите иметь еще одну работу Дженкинс

Вы можете:

  1. Добавьте новый шаг сборки "Обработать Job DSL" (вам потребуется Job DSL Plugin)
  2. Добавьте этот Groovy-скрипт в поле "Использовать предоставленный DSL-скрипт"

Groovy скрипт

job(jobname_to_your_email_job) {
  publishers {
    extendedEmail {
      recipientList(your_email_list)
      defaultSubject(your_subject)
      defaultContent(your_default_content)
      contentType('text/html')
      triggers {
        always {
          subject(your_subject)
          //read your html file and put it in the content field
          content(readFileFromWorkspace(path_to_your_html_file))
          sendTo {
            recipientList()
          }
        }
      }
    }
  }
}
//This will put your email job to the build queue so your email job will run automatically
queue("Email Report")

И, конечно, вы можете настроить эту часть в соответствии с документами

Пытался ${FILE,path="target/surefire-reports/html/index.html"}? т.е. без /

Другие вопросы по тегам