Jira DVCS コネクタのトラブルシューティング

Jira DVCS コネクタに問題がある場合は、このセクションの項目を参照してください。

Jira が GitLab サーバーにアクセスできない

新しいアカウントの追加フォームを完了し、アクセス作成者を承認し、このエラーが表示された場合、Jira と GitLab は接続できません。ログには他のエラーメッセージは表示されません:

Error obtaining access token. Cannot access https://gitlab.example.com from Jira.

Jira のセッショントークンバグ

GitLab 15.0 以降 (GitLab.com を含む) を Jira Server で使用している場合、Jira でセッショントークンのバグが発生する可能性があります。回避策として、Jira Server のバージョンが 9.1.0 以降または 8.20.11 以降であることを確認してください。

SSL と TLS の問題

SSLとTLSに問題があると、このエラーメッセージが表示されることがあります:

Error obtaining access token. Cannot access https://gitlab.example.com from Jira.
  • Jira インテグレーションは、Jira に接続するために GitLab を必要とします。GitLab が TLS クライアントであるため、非公開証明書または自己署名証明書から生じる TLS のイシューはすべてGitLab サーバーで解決されます。
  • Jira 開発パネルでは、Jira が GitLab に接続する必要があるため、Jira が TLS クライアントとなります。GitLab サーバーの証明書が公開証明書作成者によって発行されていない場合は、適切な証明書 (組織のルート証明書など) を Jira サーバーの Java トラストストアに追加してください。

Jira のセットアップについては、アトラシアンのドキュメントおよびアトラシアンのサポートを参照してください:

  • トラストストアに証明書を追加します。
    • 最も簡単な方法はkeytool です。
    • Java のデフォルトのトラストストア (cacerts) に追加のルートを追加して、Jira が公開証明機関も信頼できるようにします。
    • Jira Java ランタイムをアップグレードした後にインテグレーションが機能しなくなった場合、cacerts Truststore がアップグレード中に置き換えられた可能性があります。
  • SSLPoke Java クラスを使用して、TLS ハンドシェイクまでの接続性をトラブルシューティングします。
  • アトラシアンのナレッジベースから/tmp のような Jira Server 上のディレクトリにクラスをダウンロードしてください。
  • Jira と同じ Java ランタイムを使用してください。
  • プロキシ設定や代替ルートトラストストア (-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ライブラリがエラーを生成するので、詳細について調べることができます。

DVCS を使用して Jira に接続する際のスコープエラー

The requested scope is invalid, unknown, or malformed.

解決の可能性

  1. Jira DVCS コネクタ設定で Jira からリダイレクトされた後にブラウザに表示される URL がクエリ文字列にscope=api を含んでいることを確認してください。
  2. URL にscope=api がない場合は、GitLab アカウント設定を編集してください。Scopesフィールドをレビューし、api チェックボックスが選択されていることを確認します。

Jira アカウント追加エラー、リポジトリが表示されません。

Jira の新規アカウント追加フォームを完了し、アクセス作成者を承認した後、以下のイシューが発生する可能性があります:

  • Error! Failed adding the account: [Error retrieving list of repositories] エラー。
  • 再試行を選択すると、Account is already integrated with JIRA エラーが発生します。
  • アカウントは DVCS アカウントビューに表示されますが、リポジトリは表示されません。

このイシューを解決するには、以下の手順に従ってください:

  • GitLab Freeをお使いの場合は、GitLab 13.4以降をお使いください。
  • GitLabバージョン11.10-12.7をご利用の場合はGitLab 12.8.10以降にアップグレードしてください。

これらの理由に当てはまらない場合は、GitLabサポートにお問い合わせください。

410 : Gone Jira 接続時のエラー

Jira に接続してリポジトリを同期すると、410 : Gone エラーが表示されることがあります。

このイシューは、Jira DVCS コネクタを使用し、インテグレーションがGitHub Enterprise を使用するように設定されている場合に発生します。

詳細と可能な修正については、このイシューを参照してください。

同期のイシュー

削除されたブランチなど、Jira が正しくない情報を表示する場合、情報を再同期する必要があるかもしれません:

  1. Jira で、[Jira 管理] > [アプリケーション] > [DVCS アカウント] を選択します。
  2. アカウント (グループまたはサブグループ) に対して、(省略記号) メニューから[リポジトリの更新] を選択します。
  3. 各プロジェクトについて、最終アクティビティ日の横にある
    • ソフト再同期を実行するには、同期アイコンを選択します。
    • 完全同期を完了するには、Shift を押し、同期アイコンを選択します。

詳細については、アトラシアンのドキュメントを参照してください。

Sync Failed リポジトリデータ更新時のエラー

特定のプロジェクトのリポジトリデータを更新する際に Jira でSync Failed エラーが発生する場合は、Jira DVCS コネクタのログを確認してください。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"}

{"message":"403 Forbidden"} エラーが見つかった場合、この特定のプロジェクトではGitLab の機能が無効になっている可能性があります。上の例では、マージリクエスト機能が無効になっています。

イシューを解決するには、該当する機能を有効にしてください:

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 左サイドバーで、設定 > 一般を選択します。
  3. 可視性]、[プロジェクト機能]、[権限]を展開します。
  4. トグルを使用して、必要に応じて機能を有効にします。

DVCSとリンクしたプロジェクトのWebhookログを検索

DVCS とリンクしているプロジェクトの Webhook ログを検索します:

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 左サイドバーで、[設定] > [Webhooks]を選択します。
  3. プロジェクトフックまでスクロールダウンします。
  4. Jira インスタンスを指すログの横で、[編集] を選択します。
  5. 最近のイベントまでスクロールダウンします。

プロジェクトに Webhook ログが見つからない場合は、DVCS の設定に問題がないか確認してください。