web-dev-qa-db-fra.com

Afficher la page HTML dans le corps du courrier avec le plug-in Email-ext dans Jenkins

Je suis nouveau à Jenkins et je veux savoir comment il est possible d'afficher le rapport html (pas le code html) généré après une construction réussie dans un corps de messagerie (pas une pièce jointe).

Je veux connaître les étapes exactes que je dois suivre et quel devrait être le contenu de mon modèle de gelée possible.

26
HobbitOfShire

Regardez plus en profondeur les documentations plugin . Pas besoin de groovy ici.

Assurez-vous simplement que Content Type est défini sur HTML et ajoutez ce qui suit au corps:

${FILE,path="my.html"}

Cela placera le my.html contenu dans le corps de votre e-mail (l'emplacement du fichier est relatif à l'espace de travail du travail. Je l'utilise et cela fonctionne bien.

J'espère que ça aide.

EDIT: Notez que vous devez avoir la version Jenkins 1.532.1 (ou supérieure) pour prendre en charge cette fonctionnalité avec le plug-in email-ext.

49
Eldad Assis

Cela a fonctionné pour moi avec Jenkins 1.558

${FILE,path="target/failsafe-reports/emailable-report.html"}
8
Karan Thakur

Cela devrait ressembler à ceci :

Navigation : [Configure->Editable Email Notification]

Contenu par défaut : ${FILE,path="path/result.html"}

2
Saikat Sengupta

Vous pouvez utiliser Notification par e-mail modifiable action post-build pour envoyer du contenu html dans le corps du courrier.

Copiez le contenu html dans Default Content et sélectionnez Content Type comme HTML (text/html), comme dans l'image ci-dessous: enter image description here

2
Arpit

Vous avez juste besoin d'attribuer le lien à la variable d'environnement, puis vous pouvez utiliser cette variable pour imprimer dans l'e-mail en utilisant $ {ENV, var = ENV_VARIABLE}.

2
Vijay Jaiswal

Outre la lecture du fichier avec body: ${FILE,path="index.html"}, vous devez définir le type de contenu approprié, globalement ou explicitement pour une seule exécution, avec 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'