Crowd を通じて Sonar に Jira へのアクセスを許可するにはどうすればよいですか?

Crowd を通じて Sonar に Jira へのアクセスを許可するにはどうすればよいですか?

私の Jenkins ビルドは、保存されたフィルターの結果を Jira から取得する Sonar タスクを呼び出します。問題は、Sonar のリクエストが常に拒否されることです。私は、すべて Crowd 2.2.2 を介して認証する、かなり複雑なマシン クラスター (Jira 4.4.3、Sonar 3.2.1、Jenkins 1.473 など) を持っています。

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 に到達したという記録すらありません。
    • sonar-3.2.1/conf/sonar.properties と Sonar-Tomcat/conf/crowd.properties の両方に application.login.url を定義しましたが、sonar.log がそれを取得しません。
    • Sonar は sonar-3.2.1/conf/sonar.properties からいくつかの情報を取得しています。Sonar が変更を登録するかどうか確認するために crowd.url を変更しましたが、登録されました。
    • session.validationinterval は Sonar-Tomcat/conf/crowd.properties で 0 と定義されていますが、sonar.log では session.validationinterval が 5 と表示されます。この値がどこから取得されるのかわかりません。
    • http://10.74.47.12:8095/crowd/services/SecurityServer有効な URL であり、そこに SOAP サーバーが存在します。

Jenkins Crowd プラグインと Jenkins Jira プラグインもインストールしていますが、問題は見当たりません。

他にこれを試した人はいますか? また、私が見逃している追加の手順はありますか?

答え1

:) 答えがあります!!! 1 週間前にこれを見つけたときは興奮しました。私も同じような問題を抱えていました。

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

この人はコードをフォークして、Jira 組み込みクラウドで動作するように修正しました。私は現在、これをテスト サーバーに展開しています... 私にとってはうまく機能しています!

関連情報