YouTrack サーバー 2024.2 ヘルプ

GitLab の統合

このページの指示に従って、gitlab.com(英語)、自己ホスト GitLab Community Edition(CE)、または自己ホスト GitLab Enterprise Edition(EE) サーバーでホストされている VCS リポジトリと統合します。

GitLab の統合により、YouTrack で次の機能が有効になります。

  • コミットメッセージの YouTrack 課題にコマンドを適用します。詳細については、VCS コミットでのコマンドの適用を参照してください。

  • 各課題について、アクティビティストリーム内の特定の課題に関連するコミットを追跡します。詳しくは、コミット数を参照してください。

  • プル(マージ)リクエストのステータスを、プルリクエストのタイトルまたは説明で参照されている課題のアクティビティストリームに直接表示します。詳細については、プルリクエストを参照してください。

  • コミットメッセージまたはブランチ名に YouTrack の課題へのリンクを追加します。詳細については、VCS コミットのリンクの課題を参照してください。

前提条件

GitLab との統合をセットアップするには、YouTrack インストールがインターネット経由の受信接続にアクセスできる必要があります。具体的には、ネットワークが VCS サーバーと YouTrack 間の接続をブロックしていないことを確認する必要があります。

GitLab CE または GitLab EE インストールと統合し、サーバーとの安全な(HTTPS)接続を確立する場合、GitLab サーバーの SSL 証明書を YouTrack にインポートする必要があります。

  • GitLab サーバーに既知の認証局(CA)によって署名された有効な証明書がある場合、JVM ベンダーはすでにルート(CA)証明書を証明書ストアに追加している可能性があります。SSL 証明書をインポートせずにサーバーに接続できるはずです。

  • サーバーの証明書が自己署名されている場合は、証明書と公開キーをインポートして安全な接続を確立する必要があります。セキュリティのため、YouTrack と GitLab サーバーの両方がプライベートコンピューターネットワーク上で実行されている場合にのみ、このオプションを使用してください。この操作は、低レベルの管理者読み取りおよび低レベルの管理者書き込み権限を持つユーザーのみが使用できます。手順については、「SSL 証明書」を参照してください。

GitLab で YouTrack 統合を有効にする

最初にすべきことは、GitLab で YouTrack 統合を有効にすることです。これは、コミットメッセージ内の YouTrack 課題への参照を、YouTrack 内のターゲット課題へのリンクとしてフォーマットします。次の制限が適用されます。

  • この機能は、GitLab バージョン 11.9.0 以降でサポートされています。

  • 統合では、大文字で始まる課題プレフィックスのみが認識されます。小文字または数値で始まる課題のプレフィックスは認識されません。

この統合の詳細については、GitLab Docs(英語) を参照してください。

YouTrack 統合を有効にするには:

  1. GitLab で統合するプロジェクトにアクセスします。

  2. 設定メニューから統合を選択します。

  3. 利用可能な統合のリストから、YouTrack を選択します。

    GitLab integration setup
  4. 統合を有効化設定のアクティブオプションを有効にします。

  5. 次の設定の値を指定します。

    設定

    説明

    プロジェクト URL

    YouTrack サービスのベース URL を入力します。

    myjetbrains.com でホストされている YouTrack クラウドインスタンスの場合、ベース URL には末尾の /youtrack が含まれます。

    YouTrack の課題には、プロジェクト名で終わる URL からはアクセスできません。URL にプロジェクト名や ID を追加する必要はありません。

    発行 URL

    ベース URL に続けて issue/:id を入力します。

  6. 「変更を保存」ボタンをクリックします。

この構成では、YouTrack で課題として認識される参照はすべてリンクとして設定されます。

  • リンクは、発行 URL に設定されたパターンに従って形成されます。

  • :id プレースホルダーはプロジェクト ID を含む課題 ID に置き換えられます。

これは、YouTrack のプロジェクトの統合を構成していない場合でも、GitLab のリンクを YouTrack インストールのプロジェクトの任意の課題に追加できることを意味します。ただし、関連する VCS の変更は、YouTrack のプロジェクトに GitLab 統合が設定されている課題でのみ表示されます。この統合機能を有効にするには、次のセクションの説明に従ってセットアップを続行します。

GitLab 統合を構成する

次に、YouTrack のプロジェクトと GitLab のリポジトリとの間の接続を確立する必要があります。GitLab に接続するには、アクセストークンを生成して保存する必要があります。YouTrack 統合は、次のいずれかのトークンタイプで動作するように構成されています。

トークン

説明

個人アクセストークン

これらのトークンは、GitLab アカウントに付与されたアクセスに基づいて、YouTrack にリポジトリへのアクセスを付与します。一般に、統合に個人トークンを使用することはお勧めしません。これは、プロジェクトへの関与が時間の経過とともに変化する可能性がある 1 人の個人に属するアカウントに統合が結び付けられるためです。

プロジェクトアクセストークン

これらのトークンは、範囲がプロジェクト自体に制限されているリポジトリへの YouTrack アクセスを許可します。これは特定のユーザーアカウントに関連付けられていないため、一般に個人トークンよりも優れていると考えられています。

グループアクセストークン

これらのトークンは、GitLab の特定のグループまたは組織内のリソースへのアクセスを提供し、複数のプロジェクトに取り組むチームに役立ちます。

GitLab でアクセストークンを作成するときは、次のガイドラインに従ってください。

  • プロジェクトおよびグループのアクセストークンには、api および read_repository スコープが必要です。個人用アクセストークンには apiread_userread_repository が必要です。

  • プロジェクトまたはグループのアクセストークンには、所有者またはメンテナーロールが必要です。

GitLab のアクセストークンの詳細については、GitLab ドキュメント(英語)を参照してください。

単一のアクセストークンを使用して複数の統合をセットアップできます。アクセストークンをまだお持ちでない場合は、YouTrack からの直接リンクを使用して、このセットアップ手順中にアクセストークンを生成します。

GitLab リポジトリに接続するには:

  1. YouTrack で 管理> 統合> VCS 統合ページを開きます。

  2. 新しい VCS 統合ボタンをクリックしてください。

    • 新しい VCS 統合ダイアログが開きます。

      new GitLab VCS integration
  3. メイン YouTrack プロジェクトリストから、VCS リポジトリと統合するプライマリプロジェクトの名前を選択します。リポジトリへの接続を設定した後で、追加の YouTrack プロジェクトとの統合を追加できます。

  4. サーバータイプの場合は、GitLab を選択します。

  5. GitLab リポジトリを指す URL をリポジトリ URL 入力フィールドに貼り付けます。

  6. アクセストークンをアクセストークン入力フィールドに貼り付けます。アクセストークンをまだ持っていない場合は、次の手順に従います。

    1. トークンの生成リンクをクリックして、GitLab でプロジェクトアクセストークンページを開きます。

      generate token in GitLab
    2. トークンの名前を入力します。

    3. トークンにスコープを設定します。プロジェクトアクセストークンには api および read_repository スコープが必要です。

    4. アクセストークンにロールを付与します。プロジェクトアクセストークンには、所有者またはメンテナーロールが必要です。

    5. プロジェクトアクセストークンを作成するボタンをクリックしてください。

    6. トークンをクリップボードにコピーします。

      copy token in GitLab

    この統合を設定するために個人およびグループのアクセストークンを使用することもできますが、これらのトークンを生成する手順は異なることに注意してください。GitLab のアクセストークンの詳細については、GitLab ドキュメント(英語)を参照してください。

  7. YouTrack で新しい VCS 統合ダイアログに戻り、トークンをアクセストークンフィールドに貼り付けます。

  8. 保存ボタンをクリックしてください。

    • YouTrack プロジェクトは、GitLab で選択したリポジトリと統合されます。

    • プロジェクトの課題を参照する GitLab リポジトリからのコミットは、参照された課題のアクティビティストリームに表示されます。

    • サイドバーには、VCS 統合を設定するための追加設定が表示されます。

      GitLab integration settings

    これらの設定の詳細については、統合設定を参照してください。

詳細サーバー設定

新しい VCS 統合ダイアログの基本設定を使用してリポジトリへの接続を確立できない場合は、高度なサーバー設定を表示リンクをクリックしてください。

advanced server settings

ターゲットサーバーとの新しい VCS 統合の場合、これらの設定に値を入力するだけで済みます。サーバー上の単一リポジトリとの統合がすでに機能している場合は、これらのパラメーターを再度設定せずに、他のリポジトリとの統合を追加できます。

以下のガイドラインを使用して、これらの設定値を設定してください。

設定

説明

URL

この設定は、GitLab リポジトリへのパスを識別できます。GitLab CE または EE サーバーのリポジトリが https://host:port/context_path で利用可能な場合、YouTrack はこのコンテキストパスがどこで終わり、リポジトリへの実際のパスが始まるかを判断できません。

この課題を解決するには、GitLab サーバーのベース URL と、リポジトリを指すコンテキストパスを入力します。例: https://host:port/context_path

SSL キー

サーバー環境がクライアント SSL 認証を要求するように設定されている場合は、YouTrack サーバーの秘密鍵を含むキーストアを選択します。このキーは、GitLab との接続を確立しようとするときに YouTrack サーバーを識別します。この設定は、内部ネットワークへの接続に必要な HTTPS 認証をサポートするためにのみ使用されます。

リストには、YouTrack にすでにインポートされている SSL キーのみが表示されます。キーストアファイルを生成して YouTrack にアップロードする方法については、SSL キーを参照してください。

統合設定

デフォルトでは、VCS 統合は、任意のブランチの任意のユーザーによってリポジトリにコミットされた変更を処理します。YouTrack で課題にアクセスできるユーザーは、課題アクティビティストリームでこれらの変更を確認できます。

指定されたブランチで特定のユーザーによる変更のみを処理する場合、または YouTrack での VCS 変更の表示を制限する場合は、統合設定をカスタマイズできます。統合をカスタマイズするには、次の設定を使用します。

設定

説明

リポジトリ

統合バージョン管理システムのリポジトリへのパスを表示します。

必要に応じて、統合を設定した後にリポジトリの場所を編集できます。手順については、リポジトリ設定の編集を参照してください。

メイン YouTrack プロジェクト

VCS 統合がアクティブなプライマリプロジェクトを設定します。

追加プロジェクト

リンクされたリポジトリを 1 つ以上の追加プロジェクトと統合します。

コミット者

コミットメッセージ内のコマンドに関する課題を、指定されたグループのメンバーに更新する機能を制限します。選択したグループのメンバーではないユーザーからの VCS の変更は、関連する課題にまだ関連付けられていますが、コミットで指定されているコマンドはすべて無視されます。

VCS 変更の処理スキーム

コミットメッセージが課題 ID を参照する場合に、VCS の変更を処理する方法を選択します。次のオプションがサポートされています。

  • コミットを追加し、コマンドを無視する : コミットメッセージが統合プロジェクトの課題に属する ID を参照している場合、VCS の変更を課題に追加します。コミットメッセージ内のコマンドはすべて無視されます。

  • すべてのプロジェクトにコミットを追加し、メインにコマンドを適用します : コミットメッセージが統合プロジェクトの課題に属する ID を参照している場合、VCS の変更を課題に追加します。現在選択されているメインプロジェクトに属する課題にのみコマンドを適用します。

  • コミットを追加し、すべてのプロジェクトにコマンドを適用します : コミットメッセージが統合プロジェクトの課題に属する ID を参照している場合、VCS の変更を課題に追加します。コミットメッセージにコマンドが含まれている場合、統合プロジェクトの課題を更新します。

監視対象のブランチ

変更をモニターしたいブランチの名前を保管します。

  • + を使用してブランチを含めます。

  • ブランチを除外するには、- を使用します。

  • branch name の場合は、ブランチの完全修飾名を使用してください。例: refs/heads/<branch name>

  • ワイルドカードとして * を使用してください。このプレースホルダは、文字列内の 1 つ以上の文字と一致します。例: すべての機能ブランチを含めるには、次のように使用します。

    +:refs/heads/feature/*

    ブランチパターンごとにワイルドカード文字を 1 つだけ使用できます。複数のアスタリスク文字を含むパターンを指定した場合、最初のアスタリスク文字のみがワイルドカードとして評価されます。

  • すべてのブランチを監視するには、入力フィールドを空のままにします。

リポジトリに接続したときにリポジトリ URL として入力したアドレスが特定のブランチを指している場合、このブランチは、接続のセットアップ時に監視対象のブランチのリストに自動的に追加されます。

課題コメントに対するコミットを解析します

有効にすると、コミットメッセージ内の特定のテキスト行がコメントとして課題にコピーされます。コミットメッセージの一部をコメントとして課題にコピーすると、@mention 通知をトリガーし、VCS の変更にアクセスできないユーザーに情報を公開できます。

この設定は、コミットメッセージが VCS の変更にどのように表示されるかには影響しません。コマンドや課題のコメントを含むコミットメッセージ全体は、アクティビティストリームの VCS 変更レコードの一部として常に表示されます。

次の場合にのみこのオプションを有効にしてください。

  • コミットメッセージで他のユーザーにメンションし、テキストが issue のコメントにコピーされたときに通知を生成します。

  • VCS の変更の可視性を制限し、コミット関連の情報をコメントとして外部ユーザーに見えるようにします。

YouTrack がメッセージをコミットする方法の詳細については、VCS コミットでのコマンドの適用を参照してください。

課題の参照については、ブランチ名を確認してください

有効にすると、統合は、コミットおよびプルリクエストのブランチ名で課題への参照をチェックします。このオプションは、チケットごとのブランチプロセスを使用するチーム向けに追加されたため、開発者はコミットメッセージで課題 ID を明示的にメンションする必要がありません。

VCS 変更の表示対象

VCS 変更の可視性を YouTrack 内の 1 つ以上のユーザーグループに制限します。制限されていない場合、VCS の変更点のリストは、課題を読む権限を持つすべてのユーザーに表示されます。

使用可能なアクション

リストで統合バージョン管理システムを選択すると、ツールバーで次のアクションを使用できます。

アクション

説明

使用不可

統合プロジェクトと VCS リポジトリ間の接続を遮断します。設定は変更されず、いつでも有効にできます。

編集

選択したプロジェクトとリポジトリのサイドバーにある統合設定ダイアログを開きます。

削除

YouTrack から統合プロジェクトの設定を削除します。

このアクションにより、リンクされたリポジトリのコミットの課題に追加されたすべての VCS の変更も削除されます。

アクション自体を元に戻すことはできませんが、インポートアクションを使用して、誤って削除された VCS の変更を復元できます。

コミットのインポートとプルリクエストのオープン

リンクされたリポジトリのコミット履歴を確認し、コミットメッセージで参照されている課題に VCS の変更を追加します。このオプションは、現在有効になっている統合でのみ使用できます。

このアクションを使用して、統合が誤って削除されたときに削除された VCS の変更を復元したり、新しいプロジェクトの課題へのリンクを移行したりできます。

トラブルシューティング

状態 — YouTrack での VCS の変更として、VCS コミットの課題への参照は表示されません。

原因

ソリューション

統合 VCS の Web フックが存在しない、無効になっている、その他の不正な形式です。

VCS リポジトリの設定で Web フックを確認してください。Web フックが存在し、それらが有効になっていることを確認してください。

Web フックに課題があると思われる場合は、VCS の設定で Web フックを削除するか無効にして、YouTrack に新しい VCS 統合を設定してください。

条件 — VCS コミットで指定されたコマンドは、YouTrack の課題には適用されません。

原因

ソリューション

リポジトリへの変更をコミットしたユーザーは、統合設定のコミット者グループのメンバーではありません。

YouTrack で指定されたグループにコミッターを追加するか、統合設定で選択を変更してください。

リポジトリへの変更をコミットしたユーザーには、接続プロジェクトの課題を更新する権限がありません。

これらのユーザーをプロジェクトチームに追加するか、読み取り課題権限と更新の課題権限を含むプロジェクト内のロールを割り当てます。

YouTrack は、コミットメッセージの作成者と一致するユーザーアカウントを見つけることができません。

ユーザーは、YouTrack と GitLab の両方のアカウントに同じメールアドレスを使用するか、GitLab プロファイルに名前として保存されている値を Hub アカウントの VCS ユーザー名のリストに追加する必要があります。

詳しくは、変更作成者と YouTrack ユーザーの一致を参照してください。

状態 — GitLab リポジトリに接続できません。以下の手順に従って課題を解決してください。

原因

ソリューション

個人アクセストークンが GitLab での認証に使用されるユーザーは、GitLab のプロジェクトにアクセスできません。

GitLab プロジェクトのメンバー設定にアクセスし、このユーザーをプロジェクトに追加します。このユーザーがメンバーになっているグループとプロジェクトを共有することもできます。

このユーザーは特定のアクセスレベルを必要としません — ゲストアクセスで十分です。

状態 — YouTrack と GitLabCE/EE サーバー間の接続を確立できません。次の原因のいずれかが存在するかどうかを確認します。

原因

ソリューション

外部サービスは利用できません。

GitLab サーバーが実行されていることを確認します。

接続がファイアウォールによってブロックされています。

YouTrack および GitLab サーバーが使用するファイアウォールのポートを開きます。

外部サービスへの接続がプロキシサーバーによってブロックされています。

間違ったポートで接続しようとしています。

YouTrack がプロキシサーバーを介して他のサービスに接続できるように、サーバーのシステムプロパティを設定します。手順については、プロキシ設定を参照してください。

GitLab サーバーには安全な接続が必要です。

GitLab サーバーの証明書を YouTrack にインポートします。手順については、SSL 証明書を参照してください。

GitLab サーバーの SSL 証明書の有効期限が切れています。

更新した証明書を更新して YouTrack にインポートします。手順については、SSL 証明書を参照してください。

状態 — GitLab CE/EE サーバー上のリポジトリへの接続をセットアップできず、ログに HTTP 422 Unprocessable Entity エラーが表示されます。以下の手順に従って、課題を診断して解決してください。

原因

ソリューション

YouTrack サーバーのベース URL は、デフォルト以外のポートを使用します。例: your.host:8080

GitLab サーバーの管理領域> 設定メニューを開き、ページのアウトバウンドリクエストセクションでフックとサービスからローカルネットワークへの要求を許可するを有効にします。

YouTrack サーバーのベース URL は、localhost またはローカルサブネット IP アドレスを使用するように設定されています。この場合、GitLab は Webhook を作成するリクエストの受け入れを拒否します。

この場合の最適なソリューションは、YouTrack インストールのベース URL を更新して、適切な Web アドレスを使用します。

または、Java 開始パラメーター -Djetbrains.youtrack.webHooksBaseUrl=<base URL> を使用して、Webhook の作成に使用される URL を指定できます。このパラメーターを使用すると、サーバーのベース URL を更新する必要がありません。代わりに、外部サービスで Webhook を作成するリクエストは、指定された代替ベース URL を使用します。YouTrack インストールの JVM オプションを設定する方法については、永続的に JVM オプションを更新するを参照してください。

関連ページ:

VCS コミットでのコマンドの適用

バージョン管理システムのコードリポジトリへの変更をコミットするときに、コマンドを課題に適用できます。YouTrack を開く必要すらありません。これらの変更を適用するには、特別な形式を使用して、コミットメッセージでコマンドを指定します。YouTrack でサポートされているコマンドの完全なリストについては、コマンドリファレンスを参照してください。コミットメッセージに課題へのリンクを追加する方法をすでに見たかもしれません。これはさらに一歩進んだものです。課題とバージョン管理システム間を移動するのに...

VCS の変更の表示と編集

アクティビティストリームには、現在の課題に関連する VCS 変更のリストが表示されます。これらのイベントは、VCS の変更フィルターが有効な場合に表示されます。この情報は、プロジェクトがバージョン管理システムと統合されている場合にのみ利用できます。YouTrack は、バージョン管理システムと直接統合することも、TeamCity や Jenkins などのバージョン管理に接続されている別のアプリケーションを通じて統合することもできます。統合の表示設定が 1 つ以上のグループに制限されている場合、...

VCS コミットのリンクの課題

ソフトウェア開発チームは、課題に応じてアプリケーションコードに変更を適用することがよくあります。これらの更新は通常、バージョン管理システム(VCS)に適用されます。コードを VCS リポジトリにコミットする場合、変更内容とその理由を説明するコミットメッセージを書き込むオプションがあります。YouTrack サーバーが VCS リポジトリと統合されている場合は、コミットメッセージまたはブランチ名で課題を参照できます。これらの参照は、リポジトリ、ビルド、YouTrack の課題へのコミットを指すリン...

GitLab と統合する

このページの指示に従って、gitlab.com、自己ホスト GitLab Community Edition(CE)、または自己ホスト GitLab Enterprise Edition(EE) サーバーでホストされている VCS リポジトリとプロジェクトを統合します。GitLab の統合により、YouTrack で次の機能が有効になります。コミットメッセージの YouTrack 課題にコマンドを適用します。詳細については、VCS コミットでのコマンドの適用を参照してください。各課題について、ア...

SSL 証明書

YouTrack を使用すると、外部サービスから信頼できる SSL 証明書をインポートできます。これらの証明書は外部サービスを信頼できる情報源として識別し、YouTrack とサードパーティサーバーの間に安全な接続を確立させます。キーストアを YouTrack にインポートすることもできます。キーストアは、YouTrack がサードパーティーに接続しようとしたときに YouTrack をクライアントとして識別します。キーストアは YouTrack の別のページで管理されています。詳しくは、SSL...

SSL キー

YouTrack では、SSL キーストアを YouTrack にインポートできます。キーストアは、公開鍵と秘密鍵のペア、それらが関連付けられている証明書のコンテナーです。キーストアは、サードパーティーへの接続を試行するときに、YouTrack をクライアントとして識別します。キーストアを使用して、サードパーティサービスの公開キーを(証明書の形式で)キャッシュすることもできます。外部サービスのキーと証明書を含むキーストアがある場合は、このページでアップロードできます。それ以外の場合は、SSL 証...