ja.visual-foxpro-programmer.com Open in urlscan Pro
2a06:98c1:3120::a  Public Scan

URL: https://ja.visual-foxpro-programmer.com/use-email-ext-plugin-jenkins-pipline
Submission Tags: falconsandbox
Submission: On May 21 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

 * メイン
 * ツール
 * ウィンドウズ
 * Vmwareキー
 * 人工知能

 * 'ls'は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません。
 * プロパティ 'map'はタイプ 'observable 'に存在しません

© Copyright ©2022 All rights reserved visual-foxpro-programmer.com | 個人情報保護方針

ジェンキンス


JENKINSPIPLINEでEMAIL-EXTプラグインを使用する

Use Email Ext Plugin Jenkins Pipline

最初のインストール Email-extプラグイン プラグイン
Jenkinsの構成-> Jenkinsの管理-> jenkinsでのシステムの構成

テストスクリプトはJava言語に基づいているため、テスト結果を公開してデータを生成するには、JUnitプラグインが必要です。 Jenkins->
Jenkinsの管理->プラグインの管理にjunitプラグインをインストールします
Email-extプラグインを使用して、Groovyスクリプトで電子メールをカスタマイズできます。非常に強力で、作者はいくつかのテンプレートを提供しています
テンプレート そして、ビルドを開始できます。
Jenkinsファイル:

pipeline{ agent any tools { maven 'M 3' } stages{ stage('checkout code'){ steps
{ script{ //pull your code }} } stage('run test case'){ steps { script{
//withMaven(maven: 'M 3') { // bat 'mvn test' // } //bat 'cd
C:\Users\liul5\Desktop\test\project' bat 'mvn test' }} } } post('Generate
report') { always { script{ cucumber fileIncludePattern:
'**/cucumber-default-reports/*.json', sortingMethod: 'ALPHABETICAL' junit
'**/cucumber-default-reports/*.xml' / / Must have this step, otherwise there is
no data emailext subject: 'Automation Result5: Job '${env.JOB_NAME} -
${env.BUILD_NUMBER}'',
body:'''${SCRIPT,template='groovy-html-larry-refactor.template'}''',
to:'$DEFAULT_RECIPIENTS' emailext subject: 'Automation Result6: Job
'${env.JOB_NAME} - ${env.BUILD_NUMBER}'', body:'''
${SCRIPT,template='groovy-html-refactor.template'}''', to:'$DEFAULT_RECIPIENTS'
emailext subject: 'Automation Result: Job '${env.JOB_NAME} -
${env.BUILD_NUMBER}'', body:''' total:${TEST_COUNTS,var='total'},
pass:${TEST_COUNTS,var='pass'}, fail:${TEST_COUNTS,var='fail'} ''',
to:'$DEFAULT_RECIPIENTS' }}} }

本文には参照メールテンプレートが使用されています${SCRIPT,template='groovy-html-refactor.template'}
3つの引用符で囲む必要があります。作成者から直接提供されたテンプレートを使用できます。${SCRIPT,template='template name'}
テンプレートをカスタマイズする場合は、jenkinsルートディレクトリにルートを作成する必要があります。email-templatesフォルダ、テンプレートをこのディレクトリに配置します(WindowsパスでのJenkins非msiインストールモード:C:Usersusername.jenkinsemail-templates、
msiのインストール方法:C:Program Files
(x86)Jenkinsemail-templates)。メールの構文をカスタマイズします。プラグインのドキュメントを確認してください。 資料
、または作成者のテンプレート テンプレート 。
最終結果グラフ:


テンプレート1:




<STYLE> BODY, TABLE, TD, TH, P { font-family: Calibri, Verdana, Helvetica, sans
serif font-size: 12px color: black } .console { font-family: Courier New }
.filesChanged { width: 10% padding-left: 10px } .section { width: 100% border:
thin black dotted } .td-title-main { color: white font-size: 200% padding-left:
5px font-weight: bold } .td-title { color: white font-size: 120% font-weight:
bold padding-left: 5px text-transform: uppercase } .td-title-tests {
font-weight: bold font-size: 120% } .td-header-maven-module { font-weight: bold
font-size: 120% } .td-maven-artifact { padding-left: 5px } .tr-title
background-color: <%= (build.result == null .test { padding-left: 20px }
.test-fixed { color: #27AE60 } .test-failed { color: #E74C3C } STYLE> <BODY>
<table class='section'> <tr class='tr-title'> <td class='td-title-main'
colspan=2> BUILD ${build.result ?: 'COMPLETED'} td> tr> <tr> <td>Project:td>
<td>${project.name}td> tr> <tr> <td>Build #${build.number}:td> <td><A
href='${rooturl}${build.url}'>${rooturl}${build.url}A>td> tr> <tr> <td>Date:td>
<td>${it.timestampString}td> tr> <tr> <td>Duration:td>
<td>${build.durationString}td> tr> <tr> <td>Cause:td> <td> %>
${cause.shortDescription} td> tr> <tr> <td>Report:td> <td><A
href='${rooturl}${build.url}cucumber-html-reports/overview-features.html'>${rooturl}${build.url}cucumber-html-reports/overview-features.htmlA>td>
tr> table> <br/> 0 ) { %> <table class='section'> <tr class='tr-title'> <td
class='td-title' colspan='5'>${junitResultList.first().displayName}td> tr> <tr>
<td class='td-title-tests'>Totaltd> <td class='td-title-tests'>Passedtd> <td
class='td-title-tests'>Failedtd> <td class='td-title-tests'>Skippedtd> <td
class='td-title-tests'>Success Ratetd> tr> junitResult.getChildren().each {
packageResult -> %> <tr> <td>${total}td> <td>${passed}td> <td>${failed}td>
<td>${skipped}td> <td>${rate}%td> tr> %> <tr> <td class='test test-fixed'
colspan='5'> ${test.getFullName()} ${test.getStatus()} td> tr> a.getAge()
b.getAge()}).each{ failed_test -> %> <tr> <td class='test test-failed'
colspan='5'> ${failed_test.getFullName()} (Age: ${failed_test.getAge()}) td> tr>
table> <br/> <table class='section'> <tr class='tr-title'> <td class='td-title'
colspan='2'>CHANGEStd> tr> cs_list.each() { cs -> hadChanges = true %> <tr> <td>
Revision by <B>B> td> <td>${cs.msgAnnotated}td> tr> <% cs.affectedFiles.each() {
p -> %> <tr> <td class='filesChanged'>${p.editType.name}td> <td>${p.path}td> tr>
<tr> <td colspan='2'>No Changestd> tr> table> <br/> 0 ) { %> <table
class='section'> <tr class='tr-title'> <td class='td-title'>BUILD ARTIFACTStd>
tr> %> <tr> <td> <a href='${rooturl}${build.url}artifact/${f}'>${f}a> td> tr>
table> <br/> <table class='section'> <tr class='tr-title'> <td
class='td-title'>BUILD ARTIFACTStd> tr> %> <tr> <td
class='td-header-maven-module'>${m.key.displayName}td> tr> def artifactz =
mvnbld.artifacts if ( artifactz != null && artifactz.size() > 0) { %> <tr> <td
class='td-maven-artifact'> %> <a
href='${rooturl}${mvnbld.url}artifact/${f}'>${f}a><br/> td> tr> table> <br/>
<table class='section' cellpadding='0' cellspacing='0'> <tr class='tr-title'>
<td class='td-title'>CONSOLE OUTPUTtd> tr> %> <tr> <td
class='console'>${org.apache.commons.lang.StringEscapeUtils.escapeHtml(line)}td>
tr> table> <br/> BODY>

テンプレート2:


ad

<html> <head> <meta http-equiv='Content-Type' content='text/html charset=utf-8'>
<title>Build from Jenkisntitle> <style type='text/css'> /*base css*/
a{color:#4a72af} body{background-color:#e4e4e4} body,p{margin:0padding:0}
img{display:block} h1,h2,h3,h4,h5,h6{margin:0 0 .8em 0}
h3{font-size:28pxcolor:#444!importantfont-family:Arial,Helvetica,sans-serif}
h4{font-size:22pxcolor:#4a72af!importantfont-family:Arial,Helvetica,sans-serif}
h5{font-size:18pxcolor:#444!importantfont-family:Arial,Helvetica,sans-serif}
p{font-size:12pxcolor:#444!importantfont-family:'Lucida Grande','Lucida
Sans','Lucida Sans Unicode',sans-serifline-height:1.5} ol li
img{display:inlineheight:20px} /*div styles*/
/*.news{text-align:centerpadding-top:15px}*/
.content{width:720pxbackground-color:whitemargin-left: auto margin-right: auto }
.round_border{margin-bottom:5px-webkit-border-radius:6px-moz-border-radius:6pxborder-radius:6pxmargin-top:0font-size:14pxpadding:6pxborder:1px
solid #ccc}
.status{background-color:greenfont-size:28pxfont-weight:boldcolor:whitewidth:720pxheight:52pxmargin-bottom:18pxtext-align:centervertical-align:middleborder-collapse:collapsebackground-repeat:no-repeat}
.status .info{color:white!importanttext-shadow:0 -1px 0
rgba(0,0,0,0.3)font-size:32pxline-height:36pxpadding:8px 0} .main
img{width:38pxmargin-right:16pxheight:38px} .main table{font-size:14px} .main
table th{text-align:left}
.bottom-message{width:720pxcellpadding:5pxcellspacing:0px} .bottom-message
.message{font-size:13pxcolor:#aaaline-height:18pxtext-align:center}
.bottom-message .designed{font-size:13pxcolor:#aaaline-height:18pxfont-style:
italictext-align:right} img.cartoon {width: 36px display:inline} style> head>
<body> <div class='content round_border'> <div class='status'> <p
class='info'>The build ${build.result ?: 'completed'}p> div> <div class='main
round_border'> <table> <tbody> <tr> <th>Project:th> <td>${project.name}td> tr>
<tr> <th>Build #${build.number}:th> <td><A
href='${rooturl}${build.url}'>${rooturl}${build.url}A>td> tr> <tr> <th>Date of
build:th> <td>${it.timestampString}td> tr> <tr> <th>Build duration:th>
<td>${build.durationString}td> tr> <tr> <th>Build cause:th> <td> %>
${cause.shortDescription} td> tr> <tr> <th>Test results:th> <td>Total: ${total}
Passed:${passed} Failed:${failed} Skipped:${skipped}td> tr> tbody> table> div>
<div class='artifacts round_border'> <b>Report Artifacts:b> <ul> <li><A
href='${rooturl}${build.url}cucumber-html-reports/overview-features.html'>${rooturl}${build.url}cucumber-html-reports/overview-features.htmlA>li>
<li><a href='#'>display in new pagea>li> ul> div> div> <table
class='bottom-message' align='center'> <tr> <td class='message'>You are
receiving this email because you are relavent with this build<br> <p> <a
href='#'>support teama> | <a href='#'>QAa> p> td> tr> table> body> html>

参照:
https://wiki.jenkins.io/display/JENKINS/Email-ext+plugin#Email-extplugin-TemplateExamples
http://ikeptwalking.com/using-email-ext-plugin-in-jenkins-pipeline/
https://github.com/jenkinsci/email-ext-plugin/tree/master/src/main/resources/hudson/plugins/emailext/templates
https://gist.github.com/arjabbar/c6f27c64fd18153680f3b52102688c13


ad




カテゴリー



 * Linuxその他
 * Gisテクノロジー
 * 同期
 * システムセキュリティ
 * 回転
 * 特定のトラップコード
 * 姿勢検出
 * Ios7
 * エラーを解決する
 * エッセイの導入




興味深い記事


デバイスドライバ入門【LDD301】


無効な最大ヒープサイズ:-XMX4G


SPRINGブートプロジェクトはCSS / JSなどの静的リソースにアクセスできません


NIFI、KAFKA、TRANQUILITY、DRUID、SUPERSETを使用したツイートのストリーミング


概要-LINUXはファイアウォールを閉じます(CENTOS 6、CENTOS 7)


XMIND 8 PRO UPDATE9強力なマインドマッピングソフトウェア中国語版


JAVAX.SERVLET.SERVLETEXCEPTION:サーブレットの実行により例外HTTPステータス500がスローされました


ECLIPSEを開くときにエラーが発生しました:JAVAが開始されましたが、終了コード= 13が返されました


フェニックスOSはX86_64ソリューションで立ち往生


簡単なREDMINEテキストフォーマット変換-テキスタイルからHTMLへ


人気の投稿