Разделитель между доменом и именем пользователя у пользователя jenkins иногда \, иногда _ Почему?
Я вижу некоторые странные вещи с дженкинсами и отправкой почты. Для некоторых пользователей почта отправляется на [email protected] - некоторые из них в порядке.
Дженкинс использует AD для аутентификации - большинство пользователей фактически не вошли в jenkins, имя пользователя происходит от svn.
мой сервер svn является сервером windows2008 с использованием sspi для аутентификации:
# authentication
AuthName "Subversion Authentication"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain COMPANY
SSPIOfferBasic On
Require valid-user
Лучшее место, чтобы увидеть его в http://jenkins/job/job-name/1234/api/json
и посмотреть на виновников
"culprits":[
{"absoluteUrl":"http://jenkins/user/DOMAIN_asmith","fullName":"DOMAIN_asmith"},
{"absoluteUrl":"http://jenkins/user/DOMAIN_bobama","fullName":"DOMAIN\\bobama"}
]
Вещи - это хорошо работать для бобамы, но обратите внимание на asmith - письмо отправится на [email protected](который не будет доставлен)
Если я посмотрю страницу конфигурации пользователей http://jenkins/user/DOMAIN_asmith/configure
Я вижу, что его электронная почта на самом деле указана как [email protected], бобама выглядит хорошо.
Эти значения не поступают от пользователя (ни один из них не вошел в систему jenkins) - они поступают из AD с помощью SVN.
Я застрял - кто-нибудь указывает мне в лучшем направлении?
Ответы
Ответ 1
Вот пара идей:
-
Если вы перейдете в каталог, где asmith был последним коммиттером, а вы svn info .
Что говорит LastChanged Author? "ДОМЕНА/Асмит" или что-то еще? Что он говорит о бобаме?
-
Если информация, поступающая в Jenkins, действительно одинакова для всех пользователей, то разница должна быть внутри Jenkins. Я смотрел на источник MailAddressResolver, который является просто диспетчерским классом, который вызывает другие резольверы. Однако я не уверен, какой из них вызывается в вашей конфигурации. Существуют резервные сценарии, которые пытаются угадать правильный адрес электронной почты, если ни один из преобразователей не достиг успеха. Наиболее интересным выглядит 'Проблемы с MailAddressResolver с проверкой SVN и SSPI. Это должно фактически заменить "[email protected]" на "DOMAIN\[email protected]"
-
Я заметил запись в источнике Дженкинса. Если журналы не указывают на проблемы во время разрешения почтового адреса, вы можете добавить больше журналов в веб-интерфейс.
-
При просмотре отчетов об ошибках я заметил "Электронная почта лицам, которые нарушили сборку, отправлен на неправильный адрес" , Это очень похоже на проблему, с которой вы сталкиваетесь. И это неразрешенный.
Возможное обходное решение
При поиске во всех направлениях сразу я обнаружил RegEx Email Plugin. Он позволяет создавать пользовательские адреса электронной почты из имен пользователей, используя регулярные выражения. Возможно, вы могли бы крутить руку Дженкинса с этим, чтобы получить почтовый формат, который вам нужен.
Ответ 2
Я создал Дополнительный плагин для удостоверений для этой цели. Только обходной путь, пока я не найду лучшее решение, но могу помочь.
Ответ 3
Я все больше и больше думаю, что это svn/sspi выпущено
Я хочу установить svn на linux и вообще не иметь дело с окнами... Я думаю, что могу добавить
"SSPIOmitDomain On" в мой файл conf, а затем не имеет домена вообще, но это не является оптимальным, так как я бы захотел сбросить все репозитории, чтобы совместить имена пользователей.