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 統合を有効にするには:
GitLab で統合するプロジェクトにアクセスします。
設定メニューから統合を選択します。
利用可能な統合のリストから、YouTrack を選択します。
統合を有効化設定のアクティブオプションを有効にします。
次の設定の値を指定します。
設定
説明
プロジェクト URL
YouTrack サービスのベース URL を入力します。
myjetbrains.com
でホストされている YouTrack クラウドインスタンスの場合、ベース URL には末尾の/youtrack
が含まれます。YouTrack の課題には、プロジェクト名で終わる URL からはアクセスできません。URL にプロジェクト名や ID を追加する必要はありません。
発行 URL
ベース URL に続けて
issue/:id
を入力します。「変更を保存」ボタンをクリックします。
この構成では、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
スコープが必要です。個人用アクセストークンにはapi
、read_user
、read_repository
が必要です。プロジェクトまたはグループのアクセストークンには、所有者またはメンテナーロールが必要です。
GitLab のアクセストークンの詳細については、GitLab ドキュメント(英語)を参照してください。
単一のアクセストークンを使用して複数の統合をセットアップできます。アクセストークンをまだお持ちでない場合は、YouTrack からの直接リンクを使用して、このセットアップ手順中にアクセストークンを生成します。
GitLab リポジトリに接続するには:
YouTrack で
ページを開きます。
新しい VCS 統合ボタンをクリックしてください。
メイン YouTrack プロジェクトリストから、VCS リポジトリと統合するプライマリプロジェクトの名前を選択します。リポジトリへの接続を設定した後で、追加の YouTrack プロジェクトとの統合を追加できます。
サーバータイプの場合は、GitLab を選択します。
GitLab リポジトリを指す URL をリポジトリ URL 入力フィールドに貼り付けます。
アクセストークンをアクセストークン入力フィールドに貼り付けます。アクセストークンをまだ持っていない場合は、次の手順に従います。
トークンの生成リンクをクリックして、GitLab でプロジェクトアクセストークンページを開きます。
トークンの名前を入力します。
トークンにスコープを設定します。プロジェクトアクセストークンには
api
およびread_repository
スコープが必要です。アクセストークンにロールを付与します。プロジェクトアクセストークンには、所有者またはメンテナーロールが必要です。
プロジェクトアクセストークンを作成するボタンをクリックしてください。
トークンをクリップボードにコピーします。
この統合を設定するために個人およびグループのアクセストークンを使用することもできますが、これらのトークンを生成する手順は異なることに注意してください。GitLab のアクセストークンの詳細については、GitLab ドキュメント(英語)を参照してください。
YouTrack で新しい VCS 統合ダイアログに戻り、トークンをアクセストークンフィールドに貼り付けます。
保存ボタンをクリックしてください。
YouTrack プロジェクトは、GitLab で選択したリポジトリと統合されます。
プロジェクトの課題を参照する GitLab リポジトリからのコミットは、参照された課題のアクティビティストリームに表示されます。
サイドバーには、VCS 統合を設定するための追加設定が表示されます。
これらの設定の詳細については、統合設定を参照してください。
詳細サーバー設定
新しい VCS 統合ダイアログの基本設定を使用してリポジトリへの接続を確立できない場合は、高度なサーバー設定を表示リンクをクリックしてください。
![詳細サーバー設定 advanced server settings](https://resources.jetbrains.com/help/img/youtrack/2024.2/gitlab-advanced-server-settings.png)
ターゲットサーバーとの新しい VCS 統合の場合、これらの設定に値を入力するだけで済みます。サーバー上の単一リポジトリとの統合がすでに機能している場合は、これらのパラメーターを再度設定せずに、他のリポジトリとの統合を追加できます。
以下のガイドラインを使用して、これらの設定値を設定してください。
設定 | 説明 |
---|---|
URL | この設定は、GitLab リポジトリへのパスを識別できます。GitLab CE または EE サーバーのリポジトリが この課題を解決するには、GitLab サーバーのベース URL と、リポジトリを指すコンテキストパスを入力します。例: |
SSL キー | サーバー環境がクライアント SSL 認証を要求するように設定されている場合は、YouTrack サーバーの秘密鍵を含むキーストアを選択します。このキーは、GitLab との接続を確立しようとするときに YouTrack サーバーを識別します。この設定は、内部ネットワークへの接続に必要な HTTPS 認証をサポートするためにのみ使用されます。 リストには、YouTrack にすでにインポートされている SSL キーのみが表示されます。キーストアファイルを生成して YouTrack にアップロードする方法については、SSL キーを参照してください。 |
統合設定
デフォルトでは、VCS 統合は、任意のブランチの任意のユーザーによってリポジトリにコミットされた変更を処理します。YouTrack で課題にアクセスできるユーザーは、課題アクティビティストリームでこれらの変更を確認できます。
指定されたブランチで特定のユーザーによる変更のみを処理する場合、または YouTrack での VCS 変更の表示を制限する場合は、統合設定をカスタマイズできます。統合をカスタマイズするには、次の設定を使用します。
設定 | 説明 |
---|---|
リポジトリ | 統合バージョン管理システムのリポジトリへのパスを表示します。 必要に応じて、統合を設定した後にリポジトリの場所を編集できます。手順については、リポジトリ設定の編集を参照してください。 |
メイン YouTrack プロジェクト | VCS 統合がアクティブなプライマリプロジェクトを設定します。 |
追加プロジェクト | リンクされたリポジトリを 1 つ以上の追加プロジェクトと統合します。 |
コミット者 | コミットメッセージ内のコマンドに関する課題を、指定されたグループのメンバーに更新する機能を制限します。選択したグループのメンバーではないユーザーからの VCS の変更は、関連する課題にまだ関連付けられていますが、コミットで指定されているコマンドはすべて無視されます。 |
VCS 変更の処理スキーム | コミットメッセージが課題 ID を参照する場合に、VCS の変更を処理する方法を選択します。次のオプションがサポートされています。
|
監視対象のブランチ | 変更をモニターしたいブランチの名前を保管します。
リポジトリに接続したときにリポジトリ URL として入力したアドレスが特定のブランチを指している場合、このブランチは、接続のセットアップ時に監視対象のブランチのリストに自動的に追加されます。 |
課題コメントに対するコミットを解析します | 有効にすると、コミットメッセージ内の特定のテキスト行がコメントとして課題にコピーされます。コミットメッセージの一部をコメントとして課題にコピーすると、@mention 通知をトリガーし、VCS の変更にアクセスできないユーザーに情報を公開できます。 この設定は、コミットメッセージが VCS の変更にどのように表示されるかには影響しません。コマンドや課題のコメントを含むコミットメッセージ全体は、アクティビティストリームの 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 サーバーが使用するファイアウォールのポートを開きます。 |
GitLab サーバーには安全な接続が必要です。 | GitLab サーバーの証明書を YouTrack にインポートします。手順については、SSL 証明書を参照してください。 |
GitLab サーバーの SSL 証明書の有効期限が切れています。 | 更新した証明書を更新して YouTrack にインポートします。手順については、SSL 証明書を参照してください。 |
関連ページ:
![](https://resources.jetbrains.com/help/img/youtrack/2024.2/command-related-notifications.png)
VCS コミットでのコマンドの適用
バージョン管理システムのコードリポジトリへの変更をコミットするときに、コマンドを課題に適用できます。YouTrack を開く必要すらありません。これらの変更を適用するには、特別な形式を使用して、コミットメッセージでコマンドを指定します。YouTrack でサポートされているコマンドの完全なリストについては、コマンドリファレンスを参照してください。コミットメッセージに課題へのリンクを追加する方法をすでに見たかもしれません。これはさらに一歩進んだものです。課題とバージョン管理システム間を移動するのに...
![](https://resources.jetbrains.com/help/img/youtrack/2024.2/vcs-changes-activity-stream.png)
VCS の変更の表示と編集
アクティビティストリームには、現在の課題に関連付けられている VCS 変更のリストが表示されます。これらのイベントは、VCS の変更フィルターが有効になっている場合に表示されます。YouTrack は、バージョン管理システムに直接統合することも、バージョン管理に接続されたビルドサーバーを介して統合することもできます。統合の表示設定が 1 つ以上のグループに制限されている場合、指定したグループのいずれかのメンバーである場合にのみ、VCS の変更が表示されます。課題がメンションされたとき、名前に課題...
![](https://pleiades.io/icons/youtrack.png)
VCS コミットのリンクの課題
ソフトウェア開発チームは、課題に応じてアプリケーションコードに変更を適用することがよくあります。これらの更新は通常、バージョン管理システム(VCS)に適用されます。コードを VCS リポジトリにコミットする場合、変更内容とその理由を説明するコミットメッセージを書き込むオプションがあります。YouTrack サーバーが VCS リポジトリと統合されている場合は、コミットメッセージまたはブランチ名で課題を参照できます。これらの参照は、リポジトリ、ビルド、YouTrack の課題へのコミットを指すリン...
![](https://resources.jetbrains.com/help/img/youtrack/2024.2/gitlab-integration-setup.png)
GitLab と統合する
このページの指示に従って、gitlab.com、自己ホスト GitLab Community Edition(CE)、または自己ホスト GitLab Enterprise Edition(EE) サーバーでホストされている VCS リポジトリとプロジェクトを統合します。GitLab の統合により、YouTrack で次の機能が有効になります。コミットメッセージの YouTrack 課題にコマンドを適用します。詳細については、VCS コミットでのコマンドの適用を参照してください。各課題について、ア...
![](https://resources.jetbrains.com/help/img/youtrack/2024.2/trusted-ssl-certificates.png)
SSL 証明書
YouTrack を使用すると、外部サービスから信頼できる SSL 証明書をインポートできます。これらの証明書は外部サービスを信頼できる情報源として識別し、YouTrack とサードパーティサーバーの間に安全な接続を確立させます。キーストアを YouTrack にインポートすることもできます。キーストアは、YouTrack がサードパーティーに接続しようとしたときに YouTrack をクライアントとして識別します。キーストアは YouTrack の別のページで管理されています。詳しくは、SSL...
![](https://resources.jetbrains.com/help/img/youtrack/2024.2/ssl-keystore.png)
SSL キー
YouTrack では、SSL キーストアを YouTrack にインポートできます。キーストアは、公開鍵と秘密鍵のペア、それらが関連付けられている証明書のコンテナーです。キーストアは、サードパーティーへの接続を試行するときに、YouTrack をクライアントとして識別します。キーストアを使用して、サードパーティサービスの公開鍵を(証明書の形式で)キャッシュすることもできます。外部サービスのキーと証明書を含むキーストアがある場合は、このページでアップロードできます。それ以外の場合は、SSL 証明...