Wie gewähren Sie Sonar über Crowd Zugriff auf Jira?

Wie gewähren Sie Sonar über Crowd Zugriff auf Jira?

Mein Jenkins-Build ruft eine Sonar-Aufgabe auf, die die Ergebnisse eines gespeicherten Filters aus Jira abruft. Mein Problem ist, dass Sonars Anfrage immer abgelehnt wird. Ich habe einen ziemlich komplexen Maschinencluster (Jira 4.4.3, Sonar 3.2.1, Jenkins 1.473 usw.), die alle über Crowd 2.2.2 authentifiziert werden.

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

Ich habe überprüft, dass das Konto, das Sonar zur Kontaktaufnahme mit Jira verwendet, gültig ist und über die Berechtigung zum Zugriff auf Jira verfügt. Ich habe das Sonar Crowd Plugin installiert und gemäß denDokumentation, aber irgendetwas stimmt nicht. Wenn ich mich bei Sonar anmelde, werden mir die folgenden Fehler im sonar.log angezeigt (aber meine Anmeldung ist erfolgreich):

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
  • Wichtige Punkte:
    • Die Serverprotokolle auf dem Crowd-Server sagen mir nichts. Es gibt keinen Eintrag darüber, dass die Sonar-Authentifizierungsanfrage Crowd überhaupt erreicht hat.
    • Ich habe application.login.url sowohl in sonar-3.2.1/conf/sonar.properties als auch in Sonar-Tomcat/conf/crowd.properties definiert, aber sonar.log erkennt es nicht.
    • Sonar holt sich einige der Informationen aus sonar-3.2.1/conf/sonar.properties. Ich habe die crowd.url geändert, um zu sehen, ob Sonar die Änderung registriert, und das hat es.
    • session.validationinterval ist in Sonar-Tomcat/conf/crowd.properties als 0 definiert, aber das sonar.log zeigt session.validationinterval als 5 an. Ich kann nicht herausfinden, woher dieser Wert kommt.
    • http://10.74.47.12:8095/crowd/services/SecurityServerist eine gültige URL und dort ist ein SOAP-Server verfügbar.

Ich habe auch das Jenkins Crowd Plugin und das Jenkins Jira Plugin installiert und sehe dort keine Probleme.

Hat das sonst noch jemand versucht und gibt es einen zusätzlichen Schritt, den ich übersehe?

Antwort1

:) Ich habe eine Antwort für dich!!! Ich war begeistert, als ich das vor einer Woche gefunden habe. Ich hatte ein ähnliches Problem.

http://wiki.idalko.com/display/SONAUT/Sonar+Authenticator+for+JIRA

Dieser Typ hat den Code abgezweigt und ihn so angepasst, dass er mit Jira Embedded Crowd funktioniert. Ich stelle ihn gerade auf Testservern bereit ... bei mir funktioniert er super!

verwandte Informationen