Заполнение адресов пользователей электронной почты CruiseControl из файла

В настоящее время мой электронный издатель CruiseControl.NET имеет список пользователей, жестко запрограммированных в файле конфигурации сборки.

<publishers>
    [ ... ]
    <email from="[email protected]" mailhost="stmp.domain.com" mailport="25" includeDetails="TRUE">
        <replyto>[email protected]</replyto>
        <users>
            <user name="a.user" group="buildmaster" address="[email protected]"/>
            <user name="b.user" group="developers" address="[email protected]"/>
        </users>
        <groups>
            <group name="developers">
                <notifications>
                    <notificationType>Failed</notificationType>
                    <notificationType>Fixed</notificationType>
                </notifications>
            </group>
            <group name="buildmaster">
                <notifications>
                    <notificationType>Always</notificationType>
                </notifications>
            </group>
        </groups>
        <modifierNotificationTypes>
            <NotificationType>Failed</NotificationType>
            <NotificationType>Fixed</NotificationType>
        </modifierNotificationTypes>
    </email>
</publishers>

Я бы хотел иметь возможность читать список пользователей из внешнего файла. У нас есть десятки файлов сборки, и я хотел бы упростить процесс добавления новых пользователей и удаления тех, которые больше не интересуются.

Я могу это сделать?


person Unsliced    schedule 07.09.2012    source источник


Ответы (1)


Да - просто посмотрите на Препроцессор конфигурации, в частности на Включить раздел.

Вы можете переместить узел <users/> в отдельный файл с именем, например. email_users.xml и сохраните его в одном месте, а затем просто включите его с <cb:include href="email_users.xml"/>

Пример email_users.xml файла:

<?xml version="1.0" encoding="utf-8"?>
<cb:config-template xmlns:cb="urn:ccnet.config.builder"
  xmlns="http://thoughtworks.org/ccnet/1/5">
  <users>
    <user name="a.user" group="buildmaster" address="[email protected]"/>
    <user name="b.user" group="developers" address="[email protected]"/>
  </users>
</cb:config-template>

И помните, что для того, чтобы это сработало, ваш главный файл должен начинаться с

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"
  xmlns="http://thoughtworks.org/ccnet/1/5"> 
person skolima    schedule 09.09.2012