Exibição de página HTML dentro do corpo do email com o e-Mail-ext plugin em Jenkins
-
23-12-2019 - |
Pergunta
Eu sou novo para Jenkins e eu quero saber como é possível exibir o relatório em html (não o código html gerado depois de uma compilação bem-sucedida dentro de um corpo do email (sem anexo).
Eu quero saber exatamente os passos que eu deveria seguir e o que deve ser o conteúdo do meu possível geléia de modelo.
Solução
Olhar mais profundo sobre o plugin documentações.Não há necessidade de groovy aqui.
Apenas certifique-se de que Tipo de Conteúdo é definida como HTML e adicione o seguinte para o corpo:
${FILE,path="my.html"}
Isto irá colocar o my.html
conteúdo do seu e-mail corpo (localização do ficheiro, é relativo ao trabalho a área de trabalho.Eu uso e funciona bem.
Espero que isso ajude.
EDITAR:Observe que você deve ter o Jenkins versão 1.532.1 (ou superior) para oferecer suporte a esse recurso com o e-mail-ext plugin.
Outras dicas
Ela trabalhou para mim com Jenkins 1.558
${FILE,path="target/failsafe-reports/emailable-report.html"}
Você só precisa atribuir o link para a variável de ambiente e, em seguida, você pode usar essa variável para imprimir no e-mail usando $ {env, var= env_viável}.
Você pode usar Notificação de e-mail editável Post Buildpara enviar conteúdo HTML como parte do corpo de correio.
Copie o conteúdo HTML em Default Content
e selecione Content Type
como HTML (text/html)
, como na imagem abaixo:
Além de ler o ficheiro com body: ${FILE,path="index.html"}
, você precisa definir o bom tipo de conteúdo, globalmente ou explicitamente para uma execução, com mimeType: 'text/html
.
emailext subject: '$DEFAULT_SUBJECT',
body: '${FILE,path="index.html"}',
recipientProviders: [
[$class: 'CulpritsRecipientProvider'],
[$class: 'DevelopersRecipientProvider'],
[$class: 'RequesterRecipientProvider']
],
replyTo: '$DEFAULT_REPLYTO',
to: '$DEFAULT_RECIPIENTS',
mimeType: 'text/html'