Jira分散型バージョン管理システムコネクターのトラブルシューティング
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
Jira DVCS connectorを使用していると、次の問題が発生することがあります。
JiraがGitLabサーバーにアクセスできない
Add New Account(新しいアカウントの追加)フォームに入力し、アクセスを承認したときにこのエラーが表示された場合、JiraとGitLabは接続できません。他のエラーメッセージはどのログにも表示されません:
Error obtaining access token. Cannot access https://gitlab.example.com from Jira.Jiraのセッションバグ
GitLab 15.0以降をJira Serverで使用すると、Jiraのセッショントークンバグが発生する可能性があります。このバグは、Jira Server 8.20.8、8.22.3、8.22.4、9.4.6、および9.4.14に影響します。
この問題を解決するには、Jira Server 8.20.11以降または9.1.0以降を使用してください。
SSLおよびTLSの問題
SSLとTLSの問題により、次のエラーメッセージが表示されることがあります:
Error obtaining access token. Cannot access https://gitlab.example.com from Jira.- Jiraイシューのインテグレーションでは、GitLabがJiraに接続する必要があります。プライベート認証局または自己署名証明書から発生するTLSの問題は、GitLabがTLSクライアントであるため、GitLabサーバー上で解決されます。
- Jira開発パネルでは、JiraがGitLabに接続する必要があり、JiraがTLSクライアントになります。GitLabサーバーの証明書がパブリック認証局によって発行されていない場合は、適切な証明書(組織のルート証明書など)をJira ServerのJava Truststoreに追加します。
Jiraのセットアップの詳細については、AtlassianドキュメントとAtlassianサポートを参照してください。
トラストストアに証明書を追加します。
- 最も簡単な方法は、
keytoolです。 - Jiraがパブリック認証局も信頼できるように、JavaのデフォルトのTruststore(
cacerts)に追加のルートを追加します。 - Jira Javaランタイムのアップグレード後にインテグレーションが機能しなくなった場合は、アップグレード中に
cacertsTruststoreが置き換えられた可能性があります。
- 最も簡単な方法は、
SSLPokeJavaクラスを使用して、TLSハンドシェイクまで、およびそれ以降の接続をトラブルシューティングします。クラスをAtlassianナレッジベースからJira Server上の
/tmpなどのディレクトリにダウンロードします。Jiraと同じJavaランタイムを使用します。
プロキシ設定や代替ルートTruststore(
-Djavax.net.ssl.trustStore)など、Jiraの呼び出すすべてのネットワーキング関連パラメータを渡します:
${JAVA_HOME}/bin/java -Djavax.net.ssl.trustStore=/var/atlassian/application-data/jira/cacerts -classpath /tmp SSLPoke gitlab.example.com 443メッセージSuccessfully connectedは、TLSハンドシェイクが成功したことを示します。
問題がある場合、Java TLSライブラリは、詳細を調べるためにクエリできるエラーを生成します。
分散型バージョン管理システムでJiraに接続する際のスコープエラー
The requested scope is invalid, unknown, or malformed.考えられる解決策:
- Jira DVCS connector setupで、Jiraからリダイレクトされた後にブラウザに表示されるURLに、クエリ文字列に
scope=apiが含まれていることを確認します。 scope=apiがURLにない場合は、GitLabアカウント設定を編集します。スコープフィールドをレビューし、apiチェックボックスが選択されていることを確認します。
エラー: 410 Gone
Jiraに接続してリポジトリを同期すると、410 Goneエラーが発生する可能性があります。この問題は、Jira分散型バージョン管理システムコネクターを使用し、インテグレーションがGitHub Enterpriseを使用するように設定されている場合に発生します。
詳細については、issue 340160を参照してください。
同期の問題
削除されたブランチなど、Jiraに誤った情報が表示される場合は、情報を再同期する必要がある場合があります:
- Jiraで、Jira Administration > Applications > DVCS accountsを選択します。
- アカウント(グループまたはサブグループ)で、 (省略記号)メニューからRefresh repositories(リフレッシュリポジトリ)を選択します。
- 各プロジェクトで、最後のアクティビティーの日の横にある:
- ソフト再同期を実行するには、同期アイコンを選択します。
- 完全な同期を完了するには、
Shiftを押して、同期アイコンを選択します。
詳細については、Atlassianのドキュメントを参照してください。
エラー: Sync Failed
特定のプロジェクトのリポジトリデータを更新するときに、JiraでSync Failedエラーが発生する場合は、Jira分散型バージョン管理システムコネクターのログを確認してください。GitLabのAPIリソースへのリクエストを実行するときに発生するエラーを探します。例:
Failed to execute request [https://gitlab.com/api/v4/projects/:id/merge_requests?page=1&per_page=100 GET https://gitlab.com/api/v4/projects/:id/merge_requests?page=1&per_page=100 returned a response status of 403 Forbidden] errors:
{"message":"403 Forbidden"}403 Forbiddenエラーが発生した場合は、このプロジェクトで一部のGitLab機能が無効になっている可能性があります。前の例では、マージリクエスト機能が無効になっています。
問題を解決するには、関連する機能を有効にします:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- 可視性、プロジェクトの機能、権限を展開します。
- トグルを使用して、必要に応じて機能を有効にします。
分散型バージョン管理システムにリンクされたプロジェクトでWebhookログを検索する
分散型バージョン管理システムにリンクされたプロジェクトでWebhookログを検索するには、次のようにします:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > Webhooksを選択します。
- Project hooks(プロジェクトフック)までスクロールダウンします。
- Jiraインスタンスを指すログの横にある編集を選択します。
- 最近のイベントまでスクロールダウンします。
プロジェクトでWebhookログが見つからない場合は、分散型バージョン管理システムのセットアップに問題がないか確認してください。