Configuración del grupo de correo electrónico en CC.NET utilizando un único archivo de configuración

StackOverflow https://stackoverflow.com/questions/1207355

Pregunta

Hemos comenzado a utilizar CC.NET para una integración continua y, a medida que aumenta la cantidad de proyectos monitoreados, me gustaría configurar las alertas de correo electrónico a través de un solo archivo de configuración.

Lo que quiero decir con esto es que me gustaría tener una lista de los usuarios en diferentes grupos en un solo archivo de configuración al que se hace referencia en TODOS los archivos de configuración del proyecto:

<user name="user1" group="buildmasters" address="user1@company.com"/>
<user name="user2" group="internalapplications" address="user2@company.com"/>
<user name="user3" group="internalapplications" address="user3@company.com"/>
<user name="user4" group="externalapplications" address="user4@company.com"/>
<user name="user5" group="externalapplications" address="user5@company.com"/>

Luego, el archivo de configuración del proyecto hará referencia al grupo correcto:

<group name="internalapplications" notification="change"/>

Entonces, para los diferentes proyectos que son aplicaciones internas, importaría el archivo de configuración único y luego establecería el grupo de aplicaciones internas. También me gustaría agregar buildmasters para todo para que por ahora pueda hacer un seguimiento de las personas si tienen problemas.

Esto significaría que me gustaría tener un usuario en dos o más grupos, por ejemplo, pero no sé si es posible:

<user name="user1" group="buildmaster, externalapplications" address="user1@company.com"/>

He estado trabajando bajo el supuesto de que un día podría configurar esto y tener un solo archivo con todas las direcciones de correo electrónico de los usuarios, pero hoy he ido a hacerlo y no estoy seguro de que funcione como esto.

¿Puede alguien describir cómo se han acercado a esto?

¿Fue útil?

Solución

Lo que quiere hacer es usar CC.Net Preprocessor de configuración

Hice un correo electrónico.config

<cb:define name="email-template" xmlns:cb="urn:ccnet.config.builder">
    <email from="buildadmin@server.com" mailhost="server" includeDetails="TRUE"
         mailhostUsername="buildadmin" mailhostPassword="pass">
      <users>
        <user name="dev" group="dev" address="dev@server.com"/>

      </users>
      <groups>
        <group name="buildmaster" notification="always"/>
        <group name="developers" notification="always"/>
      </groups>

    </email>
</cb:define>

y lo incluyó donde fue necesario ...

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">

    <cb:include href="C:\email.config" />

<project name="MyProject" queue="Build" queuePriority="1" >

    <cb:email-template >

    </cb:email-template>

</project>

<project name="MyProject2" queue="Build" queuePriority="1" >

    <cb:email-template >

    </cb:email-template>

</project>

</cruisecontrol>

Otros consejos

¿Qué te parece adoptar un enfoque ligeramente diferente?

Administre los grupos a través de su servidor de correo electrónico y envíe correos al alias del grupo.

De esa manera, es trivial tener a los mismos usuarios en diferentes grupos, además, no debería tener que cambiar sus archivos de configuración si la membresía del grupo cambia.

Hacer esto con Exchange es bastante fácil, no sé acerca de otros sistemas de correo electrónico.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top