Jak ustawić adres nadawcy w Jenkins?


217

Wysyłam wewnętrznie pocztę od Jenkinsa do anonimowego przekaźnika SMTP. Przekaźnik ten następnie bezpiecznie wysyła pocztę do wymiany online za pośrednictwem TLS na porcie 587. Transport działa idealnie, problem polega na tym, że Microsoft wymaga, aby adres nadawcy był zgodny z nazwą logowania poświadczeń uwierzytelniania, która jest taka sama jak adres e-mail konta. Na przykład, powiedzmy, że to foo@mojafirma.com. Jak mogę sprawić, aby Jenkins zawsze wysyłał pocztę od foo@mojafirma.com?

BTW, kiedy mówię, że transport działa idealnie, mam na myśli przede wszystkim to, że mogę upuścić sformatowany plik e-mail do katalogu „Pickup” na serwerze przekaźnikowym SMTP i jest on poprawnie wysyłany do dowolnego odbiorcy, pod warunkiem, że adres From to foo @ mojafirma .com.


Czy ktoś wie, jak to zrobić bez użycia interfejsu użytkownika? Może przez CLI, świetny skrypt, a nawet pracę Jenkinsa?
jdf

Odpowiedziałem na moje pytanie dotyczące zmiany adresu e-mail administratora bez interfejsu użytkownika poniżej.
jdf

Odpowiedzi:


352

Jenkins używa adresu e-mail administratora systemu jako adresu nadawcy powiadomień e-mail. Możesz to skonfigurować w Zarządzaj Jenkins -> Konfiguruj system . To jest pod nagłówkiem Jenkins Location na tej stronie! Nie jest od razu oczywiste, że to ustawienie jest powiązane z ustawieniami powiadomień e-mail, ponieważ nie znajduje się pod nagłówkiem powiadomienia e-mail na stronie konfiguracji.


1
Korzystając z Ubuntu 12.04, lokalnego exim4 i Jenkinsa 1.565.1, zainstalowanych z zewnętrznego repozytorium, musiałem to ustawić, aby dostarczanie poczty działało.
Max Hohenegger,

96

Zarządzaj Jenkins -> Konfiguruj system -> Lokalizacja Jenkins -> Adres e-mail administratora systemu

Możesz wyszukać na stronie „Lokalizacja Jenkinsa”, aby zmienić domyślną wartość adresu, który nie został jeszcze skonfigurowany, na cokolwiek chcesz.


Zarządzaj Jenkins -> Konfiguruj system -> Lokalizacja Jenkins -> Adres e-mail administratora systemu bezpośrednio w punkcie, tnx
Frohlich

22

Istnieją dwa miejsca, w których można dodać „Powiadomienia e-mail”

  1. Poziom globalny
  2. Poziom lokalny (poziom stanowiska Jenkinsa)

Aby ustawić powiadomienie e-mail na poziomie globalnym , wykonaj następujące kroki - 1) Przejdź do Zarządzaj Jenkins 2) Konfiguruj system 3) Lokalizacja Jenkins 4) Adres e-mail administratora systemu

wprowadź opis zdjęcia tutaj

Aby ustawić powiadomienie e-mail na poziomie lokalnym (na poziomie zadania Jenkins), wykonaj następujące kroki - 1) Kliknij nazwę zadania (jeśli istnieje) 2) kliknij „Konfiguruj” 3) Następnie wyszukaj „Post- kompilacja Działanie ”4) Podaj adres e-mail w„ Powiadomieniu e-mail ”. 5) Zapisz zmiany.

wprowadź opis zdjęcia tutaj


1
Na poziomie lokalnym nie jest to adres nadawcy, ale adresata. Myślę, że nie można skonfigurować adresu e-mail nadawcy na poziomie zadania bez pisania niestandardowych skryptów do wysyłania wiadomości e-mail.
insider

11

Nie jestem pewien, czy o to ci chodziło, ale Jenkins umożliwia podanie pełnego adresu e-mail nadawcy do powiadomień. Przejdź do Zarządzaj Jenkins , następnie Konfiguracja systemu i znajdź sekcję o nazwie Powiadomienie e-mail .

Możesz podać swój adres e-mail w formie Jenkins <foo@mycompany.com>.


8
Stan na kwiecień 2015 r., Zarządzaj Jenkins> Konfiguruj system> Adres e-mail administratora systemu
Shirish Hirekodi

10

Jeśli musisz to zrobić bez użycia interfejsu Jenkins (na przykład w automatyzacji konfiguracji Jenkinsa) - możesz to zrobić za pomocą świetnego skryptu.

import jenkins.model.*

def jenkinsLocationConfiguration = JenkinsLocationConfiguration.get()

jenkinsLocationConfiguration.setAdminAddress("[your admin name] <[your admin email address]>")
// example format -> .setAdminAddress("Jane Doe <foo@company_email.com>")    

jenkinsLocationConfiguration.save()

Uwaga: nie napisałem tego skryptu (chociaż go przetestowałem i działa), wszystkie podziękowania dla Petera Hallidaya i jego strony internetowej z innymi przydatnymi skryptami tutaj .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.