2014-12-10 27 views
6

के रूप में जेनकींस कंसोल आउटपुट भेजें मुझे नहीं पता कि यह संभव है या नहीं, लेकिन अभी भी यह देखने के लिए यहां पूछ रहा है कि किसी ने इसके बारे में सोचा/सोचा है या नहीं।एचटीएमएल ईमेल

मेरे पास एक निर्माण चल रहा है जो विफल होने पर नीचे दिए गए HTML कोड को प्रतिबिंबित करता है। मैं इस एचटीएमएल को सभी प्राप्तकर्ताओं को एक ईमेल के रूप में भेजना चाहता हूं।

वर्तमान में जब मैं सरल ईमेल प्लगइन का उपयोग करता हूं तो पूरे कंसोल आउटपुट को एक ईमेल के रूप में भेजा जाता है जिसमें ये सभी HTML टैग होते हैं (सभी पठनीय नहीं)। फिर मैंने ईमेल एक्सटी प्लगइन स्थापित किया लेकिन मुझे यकीन नहीं है कि प्री-सेंड स्क्रिप्ट मेरे कंसोल आउटपुट को पढ़ सकती है और ईमेल भेज सकती है। क्या किसी ने कोशिश की है? क्या इस पर समय बिताने लायक है या क्या मुझे प्रारूपित पाठ को प्रदर्शित करने के लिए आउटपुट को संशोधित करना चाहिए?

यह बिल्ड आंतरिक उपकरणों के लिए है और मैं .html फ़ाइल नहीं बना सकता या .html फ़ाइल को लिंक ईमेल के रूप में नहीं भेज सकता क्योंकि पथ फ़ायरवॉल के पीछे है।

मुझे नहीं पता कि यह बिल्कुल समर्थित है, लेकिन क्या यह संभव है कि कंसोल आउटपुट एचटीएमएल आउटपुट दिखाता है?

सहायता के लिए धन्यवाद!

   <style type="text/css"> 
 
        table.gridtable { 
 
        font-family: verdana,arial,sans-serif; 
 
         font-size:11px; 
 
         color:#333333; 
 
         border-width: 1px; 
 
         border-color: #666666; 
 
         border-collapse: collapse; 
 
        } 
 
        table.gridtable th { 
 
        border-width: 1px; 
 
         padding: 8px; 
 
         border-style: solid; 
 
         border-color: #666666; 
 
         background-color: #dedede; 
 
        } 
 
        table.gridtable td { 
 
        border-width: 1px; 
 
         padding: 8px; 
 
         border-style: solid; 
 
         border-color: #666666; 
 
         background-color: #ffffff; 
 
        } 
 
       </style> 
 

 
       <table class="gridtable"> 
 
        <thead> 
 
         <tr> 
 
          <th>Service Checked</th> 
 
          <th>Status</th> 
 
          <th>Response</th> 
 
         </tr> 
 
        </thead> 
 
        <tbody> 
 
         <tr> 
 
          <td>canary</td> 
 
          <td>Success</td> 
 
          <td>Please override the check() method</td> 
 
         </tr> 
 

 
         <tr> 
 
          <td style="color: red;"><strong>www.mysite.com</strong></td> 
 
          <td style="color: red;">Failure</td> 
 
          <td>Ping to https://www.mysite.com/canary?from=here FAILED</td> 
 
         </tr></tbody></table>

उत्तर

8

ईमेल एक्सटी प्लगइन एचटीएमएल के साथ ठीक काम करता है। HTML को पार्स करने के लिए यह आपके ईमेल क्लाइंट पर निर्भर है (लेकिन फिर से, इन दिनों अधिकांश करते हैं)।

सवाल यह है: कैसे अपने निर्माण उत्पादन इस HTML ऊपर करता है? क्या यह फ़ाइल को आउटपुट करता है? क्या यह इसे कंसोल आउटपुट में प्रदर्शित करता है?

पाठ सांत्वना उत्पादन में है, तो का उपयोग करें:

<pre>${BUILD_LOG_EXCERPT, start="Regex-for-start", end="Regex-for-end"}</pre>

<pre> टैग रिक्ति/स्वरूपण को संरक्षित कर रहे हैं।
start और end नियमित अभिव्यक्ति "शुरू करने लाइन" जहाँ से लॉग दिखाने की शुरुआत करने के लिए पहचान करने के लिए कर रहे हैं, और "न खत्म होने वाली रेखा", जिस पर लॉग प्रदर्शन को रोकने का।

ध्यान दें कि start और end लाइनों को स्वयं ही बाहर रखा गया है। तो, अपने निर्माण में, अपने एचटीएमएल आउटपुट के ठीक पहले और बस एक हेडर और पाद लेख लाइनें डालें, और यहां उनका उपयोग करें।

संदर्भ के लिए, ईमेल-ext कॉन्फ़िगरेशन में, सामग्री संदर्भ प्रश्न चिह्न आइकन पर क्लिक करें?

+0

त्वरित उत्तर के लिए धन्यवाद। मेरा निर्माण कंसोल आउटपुट में इस एचटीएमएल का उत्पादन करता है। मैं अब आपकी सुझाई गई विधि का प्रयास करूंगा! – Sumitk

+0

तो मैंने पूर्व-प्रेषण स्क्रिप्ट में आपके उदाहरण के साथ प्रयास किया लेकिन यह मुझे एक अजीब अपवाद दे रहा है। मैंने इसे अपने प्री-सेंड ब्लॉक में रखा है: '$ {BUILD_LOG_EXCERPT, start =" \\ b (स्टार्ट-इयर) \\ b ", end =" \\ b (end-here) \\ b "} 'और मेरा परीक्षण php स्क्रिप्ट एचटीएमएल से पहले और बाद में उन दो को प्रिंट कर रहा है लेकिन मुझे 'org.codehaus.groovy.control.MultipleCompilationErrorsException मिल रहा है: स्टार्टअप असफल: Script1.groovy: 1: अप्रत्याशित टोकन: <@ लाइन 1, कॉलम 1. <टेबल सीमा = 1> ^ 1 त्रुटि' – Sumitk

+1

कोई नहीं ... जो ईमेल के शरीर में 'डिफ़ॉल्ट सामग्री' में जाता है, 'पूर्व-प्रेषण' – Slav

1

email-ext प्लगइन मेरे लिए बहुत अच्छी तरह से काम करता है। कोशिश करो।

+0

धन्यवाद मैं अब कोशिश करूँगा! – Sumitk

4

तो यह मैं इसे कैसे @Slav की मदद से हल किया है।

जेनकींस काम इस स्क्रिप्ट चल रहा था:

<?php 
echo "start-here\n"; 
echo "<html><body><table border=1> 
<tr><td>yello1111</td><td>11111bbbbbbb</td></tr> 
<tr><td>yelloooo</td><td>bbbbbbb</td></tr> 
</table></body></html>"; 
echo "end-here\n"; 

काम email-ext के साथ विन्यस्त किया गया था और में जोड़ें बाद निर्माण एक्शन> संपादन योग्य ईमेल अधिसूचना -> डिफ़ॉल्ट सामग्री मैं निम्नलिखित डाल:

${BUILD_LOG_EXCERPT, start="\\b(start-here)\\b", end="\\b(end-here)\\b"} 

यह ईमेल को HTML सामग्री के रूप में भेजता है, न कि HTML का पाठ।

1

जाओ "प्रबंधित-जेनकींस" करने के लिए -> "कॉन्फ़िगर प्रणाली" से "विस्तारित ई-मेल सूचना" सेटिंग्स पर, "डिफ़ॉल्ट सामग्री" पाठ-क्षेत्र में नीचे लाइन डाल

<pre>${BUILD_LOG, maxLines=9999, escapeHtml=false}</pre> 
संबंधित मुद्दे