2014-04-10 52 views
5

Utknąłem w punkcie, w którym uruchamiam skrypt Perla za pośrednictwem Jenkins i chcę otrzymywać warunkowe powiadomienie e-mailem.Powiadomienie pocztą e-mail w jenkins na podstawie wyniku skryptu

Na przykład .. jeśli na końcu skryptu wartość pewnej zmiennej jest> 1 następnie wysłać powiadomienie e-mail inny dont wysłać

Czy ktoś może mi pomóc z tym? lub wie lepszy sposób to zrobić?

Odpowiedz

4

nie mam nic z tego jednak:

Istnieje plugin Any Build Step. Między innymi, pozwala na wykonanie następujących po wykonaniu czynności jako wykonanie budować kroki. Teoretycznie powinno to umożliwić wykonanie kroku "budowania po edycji" "Edycja powiadomień e-mail" jako kroku kompilacji. To jest największa modyfikacja tego rozwiązania. Wypróbuj to pierwsze. Nie wiem, czy powiadomienie e-mail będzie działało poprawnie, gdy zostanie wykonane, zanim "cykl budowy" Jenkinsa zostanie zakończony.

Następnie jest wtyczka . Pozwala na wykonanie kroku budowania na podstawie różnych warunków.

Jeśli udało się wyzwolić pocztę e-mail w środku cyklu kompilacji za pomocą wtyczki "Any Build Step", powinieneś być w stanie opakować ją za pomocą wtyczki warunkowego budowania, która zostanie wykonana warunkowo.

Daj mi znać, jeśli to rzeczywiście działa

5

ten można rozwiązać stosując

Email-ext plug-in https://wiki.jenkins.io/display/JENKINS/Email-ext+plugin

i można użyć powyższy link, aby wyświetlić informacje dotyczące wtyczki

  1. jeśli jestem co popraw, że chcesz wysyłać wiadomości e-mail na podstawie wyniku warunku budowy.
  2. Możesz użyć wyzwalaczy do tego w Edytowalnym powiadomieniu e-mail.
  3. Możesz użyć kroku budowania postu i wstępnej kompilacji, aby wywoływać wiadomości e-mail w oparciu o twoje warunki.
  4. Musisz napisać skrypt pod kątem swoich wymagań i umieścić go w postach przed budową &.
+0

to działało dla mnie! – Aliza

0

Miałem podobny warunek, w którym muszę wysłać wiadomość e-mail, gdy dziennik budowy Jennkins ma ciąg znaków. Oto jak poradziłem sobie z presendowym scenariuszem pracy w jenkins.

logger.println(build.getLog(50)) 
if (build.getLog(50).contains("NoChangesPresent")) { 
    cancel = true; 
} 

Próbuję uzyskać ostatnie 50 wierszy dziennika budowania i przeszukać go, aby sprawdzić, czy obecny jest ciąg znaków. Jeśli jest obecny, ustawiam cancel na true, co przestanie wywoływać email od jenkins.

Mam nadzieję, że to pomoże.