¿Cómo puedo configurar la dirección del remitente en Jenkins?

217

Estoy enviando correo desde Jenkins a una retransmisión anónima SMTP internamente. Ese relé luego envía de forma segura el correo para intercambiar en línea a través de TLS en el puerto 587. El transporte funciona perfectamente, el problema es que Microsoft requiere que la dirección del remitente coincida con el nombre de inicio de sesión de las credenciales de autenticación, que es el mismo que la dirección de correo electrónico de la cuenta. Por ejemplo, por ejemplo, digamos que es [email protected]. ¿Cómo puedo hacer que Jenkins siempre envíe un correo desde [email protected]?

Por cierto, cuando digo que el transporte funciona perfectamente, lo que quiero decir específicamente es que puedo colocar un archivo de correo electrónico formateado en el directorio "Recogida" en el servidor de retransmisión SMTP y se envía correctamente a cualquier destinatario siempre que la dirección De sea foo @ mycompany .com.

CTOMarc
fuente
¿Alguien sabe cómo hacer esto sin usar la interfaz de usuario? ¿Tal vez a través de la CLI o un script maravilloso o incluso un trabajo de jenkins?
jdf
Respondí mi propia pregunta sobre cómo cambiar la dirección de correo electrónico del administrador sin la interfaz de usuario a continuación.
jdf

Respuestas:

352

Jenkins utiliza la dirección de correo electrónico del administrador del sistema como la dirección del remitente para la notificación por correo electrónico. Puede configurar esto en Administrar Jenkins -> Configurar sistema . ¡Esto está debajo del encabezado Jenkins Location en esa página! No es obvio de inmediato que esta configuración esté vinculada a la configuración de notificación de correo electrónico, ya que no está debajo del encabezado de notificación de correo electrónico en la página de configuración.

Friso
fuente
1
Usando Ubuntu 12.04, exim4 local y Jenkins 1.565.1, instalados desde el repositorio externo, tuve que configurar esto para que la entrega de correo funcione.
Max Hohenegger
96

Administrar Jenkins -> Configurar sistema -> Ubicación de Jenkins -> Dirección de correo electrónico del administrador del sistema

Puede buscar en la página "Ubicación de Jenkins" para cambiar el valor predeterminado de la dirección aún no configurada a lo que desee.

Anshu Prateek
fuente
Administrar Jenkins -> Configurar sistema -> Ubicación de Jenkins -> Dirección de correo electrónico del administrador del sistema justo en el punto, tnx
Frohlich
22

Hay dos lugares para agregar las "Notificaciones por correo electrónico"

  1. Nivel global
  2. Nivel local (nivel de trabajo de Jenkins)

Para configurar la notificación por correo electrónico a nivel global , siga los pasos a continuación: 1) Vaya a Administrar Jenkins 2) Configure el sistema 3) Ubicación de Jenkins 4) Dirección de correo electrónico del administrador del sistema

ingrese la descripción de la imagen aquí

Para configurar la notificación por correo electrónico a nivel local (según el nivel de trabajo de Jenkins), siga los pasos a continuación: 1) Haga clic en el nombre del trabajo (si existe) 2) haga clic en "Configurar" 3) Luego busque el mensaje " Acción de compilación "4) Especifique la dirección de correo electrónico en" Notificación por correo electrónico ". 5) Guardar los cambios.

ingrese la descripción de la imagen aquí

Sanjeet Pandey
fuente
1
En el nivel local, no es la dirección del remitente sino la del destinatario. Supongo que no es posible configurar la dirección de correo electrónico del remitente en un nivel de trabajo sin escribir scripts personalizados para enviar correos electrónicos.
información privilegiada
11

No estoy seguro de si es lo que quería decir, pero Jenkins le permite proporcionar una dirección de correo electrónico completa del remitente para las notificaciones. Vaya a Administrar jenkins , luego Configuración del sistema y busque la sección llamada Notificación por correo electrónico .

Puede proporcionar su dirección de correo electrónico en forma de Jenkins <[email protected]>.

Łukasz Rżanek
fuente
8
A partir de abril de 2015 es, Administrar Jenkins> Configurar sistema> Dirección de correo electrónico de administrador del sistema
Shirish Hirekodi
10

Si necesita hacer esto sin usar la interfaz de usuario de jenkins (por ejemplo, al automatizar una configuración de jenkins), puede hacerlo con un script maravilloso.

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

Tenga en cuenta: no escribí este script (aunque lo he probado y funciona), todo el crédito a Peter Halliday y su sitio web con otros útiles y útiles scripts aquí .

jdf
fuente