Как вы предоставляете сонару доступ к Джира через толпу?
Моя сборка Jenkins вызывает задачу Sonar, которая извлекает из Jira результаты сохраненного фильтра. У меня проблема в том, что просьба Сонара всегда отклоняется. У меня довольно сложный кластер машин (Jira 4.4.3, Sonar 3.2.1, Jenkins 1.473 и т. Д.), Все аутентифицируются через Crowd 2.2.2.
2012.10.17 12:00:03 INFO c.a.c.i.s.s.c.SecurityServerClientImpl Existing application token is null, authenticating ...
2012.10.17 12:00:03 ERROR o.c.x.t.h.HttpChannel Server returned error code = 403 for URI : http://10.74.47.12:8095/crowd/services/SecurityServer. Check server logs for details
2012.10.17 12:00:03 ERROR rails Error from external authenticator: org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Server returned error code = 403 for URI : http://10.74.47.12:8095/crowd/services/SecurityServer. Check server logs for details
Я подтвердил, что учетная запись, используемая Sonar для связи с Jira, действительна и имеет разрешение на доступ к Jira. У меня установлен и настроен плагин Sonar Crowd в соответствии с документацией, но что-то не так. Когда я вхожу в Sonar, я вижу следующие ошибки в sonar.log (но мой вход успешен):
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Loading property: 'application.name' : 'sonar'
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Failed to find value for property: application.login.url
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Loading property: 'crowd.server.url' : 'http://10.74.47.120:8095/crowd/services/'
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Failed to find value for property: session.isauthenticated
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Failed to find value for property: session.tokenkey
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Failed to find value for property: session.lastvalidation
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Loading property: 'session.validationinterval' : '5'
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.SecurityServerClientImpl Existing application token is null, authenticating ...
2012.10.17 15:49:54 ERROR o.c.x.t.h.HttpChannel Server returned error code = 403 for URI : http://10.74.47.12:8095/crowd/services/SecurityServer. Check server logs for details
2012.10.17 15:49:54 ERROR rails Error from external authenticator: org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Server returned error code = 403 for URI : http://10.74.47.12:8095/crowd/services/SecurityServer. Check server logs for details
- Ключевые моменты:
- Логи сервера на сервере Crowd мне ничего не говорят. Там нет записи запроса аутентификации сонара, даже достигнув толпы.
- Я определил application.login.url как в sonar-3.2.1/conf/sonar.properties, так и в Sonar-Tomcat/conf/crowd.properties, но sonar.log не поднимает его.
- Sonar IS собирает некоторую информацию из sonar-3.2.1/conf/sonar.properties. Я изменил crowd.url, чтобы увидеть, зарегистрирует ли гидролокатор изменение, и это произошло.
- session.validationinterval определяется как 0 в Sonar-Tomcat/conf/crowd.properties, но sonar.log отображает session.validationinterval как 5. Я не могу понять, откуда он получает это значение.
http://10.74.47.12:8095/crowd/services/SecurityServer
является допустимым URL-адресом, и на нем доступен сервер SOAP.
У меня также установлены плагин Jenkins Crowd и плагин Jenkins Jira, и я не вижу там никаких проблем.
Кто-нибудь еще пробовал это и есть какой-то дополнительный шаг, который я пропускаю?
1 ответ
:) У меня есть ответ для вас!!! Я был взволнован, когда нашел это неделю назад. У меня была похожая проблема.
http://wiki.idalko.com/display/SONAUT/Sonar+Authenticator+for+JIRA
Этот парень раздвоил код и исправил его для работы с толпой Jira. Я развернул его для тестирования серверов прямо сейчас... он отлично работает для меня!