Come posso impostare l'indirizzo del mittente in Jenkins?


217

Sto inviando posta da Jenkins a un relay SMTP anonimo internamente. Tale inoltro invia quindi in modo sicuro posta elettronica per lo scambio online tramite TLS sulla porta 587. Il trasporto funziona perfettamente, il problema è che Microsoft richiede che l'indirizzo del mittente corrisponda al nome di accesso delle credenziali di autenticazione che è lo stesso dell'indirizzo e-mail dell'account. Ad esempio, supponiamo che questo sia foo@mycompany.com. Come posso fare in modo che jenkins invii sempre posta da foo@mycompany.com?

A proposito, quando dico che il trasporto funziona perfettamente, ciò che intendo specificamente è che posso rilasciare un file di posta elettronica formattato nella directory "Pickup" sul server di inoltro SMTP e viene inviato correttamente a qualsiasi destinatario, a condizione che l'indirizzo del mittente sia @ miaazienda .com.


Qualcuno sa come farlo senza usare l'interfaccia utente? Forse attraverso la CLI o una sceneggiatura accattivante o addirittura un lavoro di jenkins?
jdf,

Ho risposto alla mia domanda sulla modifica dell'indirizzo e-mail dell'amministratore senza l'interfaccia utente di seguito.
jdf,

Risposte:


352

Jenkins utilizza l' indirizzo e-mail dell'amministratore di sistema come indirizzo del mittente per la notifica e-mail. Puoi configurarlo in Gestisci Jenkins -> Configura sistema . Questo è sotto l' intestazione Posizione Jenkins in quella pagina! Non è immediatamente ovvio che questa impostazione è legata alle impostazioni di notifica e-mail, poiché non si trova nell'intestazione della notifica e-mail nella pagina di configurazione.


1
Usando Ubuntu 12.04, exim4 locale e Jenkins 1.565.1, installati dal repository esterno, ho dovuto impostare questo per far funzionare la consegna della posta.
Max Hohenegger,

96

Gestisci Jenkins -> Configura sistema -> Posizione Jenkins -> Indirizzo e-mail amministratore di sistema

È possibile cercare nella pagina "Posizione Jenkins" per modificare il valore predefinito dell'indirizzo non ancora configurato come desiderato.


Gestisci Jenkins -> Configura sistema -> Posizione Jenkins -> Indirizzo e-mail amministratore di sistema direttamente sul punto, tnx
Frohlich

22

Esistono due posizioni per aggiungere le "notifiche e-mail"

  1. Livello globale
  2. Livello locale (livello di lavoro Jenkins)

Per impostare la notifica e-mail a livello globale , seguire i passaggi seguenti: 1) Vai a Gestisci Jenkins 2) Configura sistema 3) Posizione Jenkins 4) Indirizzo e-mail amministratore sistema

inserisci qui la descrizione dell'immagine

Per impostare la notifica e-mail a livello locale (per livello di lavoro Jenkins), seguire i passaggi seguenti: 1) Fare clic sul nome del lavoro (se esistente) 2) fare clic su "Configura" 3) Quindi cercare "Posta- build Azione "4) Specificare l'indirizzo e-mail in" Notifica e-mail ". 5) Salva le modifiche.

inserisci qui la descrizione dell'immagine


1
A livello locale non si tratta dell'indirizzo del mittente ma del destinatario. Suppongo che non sia possibile configurare l'indirizzo e-mail del mittente a livello di lavoro senza scrivere script personalizzati per inviare e-mail.
insider

11

Non sono sicuro che sia ciò che intendevi, ma Jenkins ti consente di fornire un indirizzo e-mail mittente completo per le notifiche. Vai su Gestisci jenkins , quindi su Configurazione del sistema e trova la sezione chiamata Notifica e-mail .

Puoi fornire il tuo indirizzo e-mail in una forma di Jenkins <foo@mycompany.com>.


8
A partire da aprile 2015, Gestisci Jenkins> Configura sistema> Indirizzo e-mail amministratore di sistema
Shirish Hirekodi,

10

Se è necessario eseguire questa operazione senza utilizzare l'interfaccia utente di jenkins (ad esempio nell'automazione di un'installazione jenkins), è possibile farlo con uno script groovy.

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()

Nota: non ho scritto questo script (anche se l'ho testato e funziona), tutto merito a Peter Halliday e al suo sito Web con altri utili script groovy qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.