Настройка конвертера издателей электронной почты CCNET для использования электронной почты git

Мы недавно перешли из SVN в Git. В процессе мы обновляем нашу конфигурацию CCNET для поддержки нашего великолепного нового Git-репозитория. Однако мы попали в затруднительное положение с издателем электронной почты.

До переключения Git издатель электронной почты использовал regexconvertor для преобразования имени пользователя в электронную почту. Это сработало, так как наше имя пользователя SVN было именем нашей учетной записи AD и могло быть легко преобразовано в адрес электронной почты, просто добавив @ourdomain.com.

Когда мы переключились на Git, мы приняли решение, что наше имя пользователя и адрес электронной почты Git будут соответствовать тому, что мы обычно видим в дикой природе, которое должно было использовать ваше полное имя, включая пробелы, и включать ваш адрес электронной почты следующим образом:

[user]
    name = James Kirk
    email = jtkirk@starfleet.com

Это означает, что наш конвертер регулярных выражений неправильно создает имена пользователей на основе имени коммиттеров. Для имен с пробелами было бы создано электронное письмо с именем, заключенным в двойные кавычки, такие как:

"James Kirk"@starfleet.com

В свою очередь это означает, что коммиттеры никогда не получат электронные письма о сборке для своих коммитов. Кроме того, мы не можем использовать конвертер LDAP, поскольку наше полное имя может не полностью разрешить уникальную запись AD, с которой мы можем получить адрес электронной почты.

Тем не менее, мы все добавляем нашу электронную почту в наши коммиты Git. Я надеюсь настроить CCNET так, чтобы он просто использовал этот адрес электронной почты для отправки нашим коммиттерам, поскольку это правильный адрес электронной почты, который можно легко получить в Git.

Как мы можем настроить издателя электронной почты CCNET для отправки электронных писем коммиттерам на основе письма Git, прикрепленного к каждому коммиту?

1 ответ

Решение

Во время этого ответа, кажется, невозможно подключиться к автору Git и электронной почте, чтобы проанализировать адрес электронной почты с помощью CCNET.

Обходной путь - получить список всех коммиттеров в вашем Git-репозитории и ввести их, как в элементе. Имя должно точно соответствовать имени пользователя в коммите, включая регистр. Не указывайте группу для этих пользователей, если вы хотите, чтобы они получали электронные письма только для сборок, в которые они внесли коммит.

<email includeDetails="TRUE" subjectPrefix="CCNET Project ">
    <from>mybuild@starfleet.com</from>
    <mailhost>email.starfleet.com</mailhost>
    <users>
        <!-- Do NOT specify a group to send an email to these folks
         if and only if they have committed changes that are part 
         of the current build. The 'name' much match the 'name' 
         used in the commit log exactly (case sensitive) -->
        <user name="James Kirk" address="jkirk@starfleet.com" />
        <user name="Bones" address="lmccoy@starfleet.com" />
    </users>
Другие вопросы по тегам