Как предоставить Sonar доступ к Jira через Crowd?

Как предоставить Sonar доступ к Jira через Crowd?

Моя сборка Jenkins вызывает задачу Sonar, которая извлекает из Jira результаты сохраненного фильтра. Проблема в том, что запрос Sonar всегда отклоняется. У меня довольно сложный кластер машин (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 ничего мне не говорят. Нет никаких записей о запросе аутентификации Sonar, даже достигшем Crowd.
    • Я определил application.login.url как в sonar-3.2.1/conf/sonar.properties, так и в Sonar-Tomcat/conf/crowd.properties, но sonar.log его не обнаруживает.
    • Sonar получает часть информации из sonar-3.2.1/conf/sonar.properties. Я изменил crowd.url, чтобы посмотреть, зарегистрирует ли sonar изменение, и он это сделал.
    • 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 Embedded Crowd. Я сейчас развертываю его на тестовых серверах... у меня он отлично работает!

Связанный контент