GitLab CI/CD 統合
このページの指示に従って、GitLab CI/CD との統合を構成します。
YouTrack と、gitlab.com(英語)、自己ホスト型の GitLab Community Edition (CE) または自己ホスト型の GitLab Enterprise Edition (EE) サーバーでホストされている VCS リポジトリとの間の接続を確立すると、GitLab CI/CD との統合が可能になります。YouTrack を GitLab と統合する方法については、GitLab の統合を参照してください。
YouTrack と GitLab CI/CD の統合により、両方のアプリケーションで有用な機能が有効になります。
GitLab CI/CD で接続されたプロジェクトからパイプライン ID をプルし、解決された課題のビルド番号を格納するカスタムフィールドの値を自動的に更新します。
GitLab CI/CD が課題を参照するコミットを含むジョブを実行するときに、YouTrack の課題にコマンドを適用します。
前提条件
開始する前に、GitLab 統合に使用した認証トークンが有効であることを確認してください。少し前にセットアップされた GitLab 統合設定に GitLab CI/CD 統合を追加する場合、トークンは近い将来期限切れになる可能性があります。トークンの有効期限を確認し、GitLab の個人アクセストークンページで新しいトークンを生成できます。
GitLab CI/CD 統合ジョブを定義する
GitLab CI/CD との統合機能の使用を開始するには、YouTrack で 1 つまたは複数の統合ジョブを定義します。
各統合ジョブは、名前で Gitlab CI/CD の既存のジョブと一致する必要があります。既存の GitLab 統合の設定で統合ジョブを定義できます。
新しい GitLab CI/CD 統合ジョブを定義するには:
YouTrack の
管理メニューから、統合 > VCS 統合を選択します。
構成済みの統合のリストからターゲットの GitLab 統合を選択します。
サイドバーで、GitLab CI/CD セクションまでスクロールします。
新しい統合ボタンをクリックしてください。
統合ジョブの名前を追加します。ジョブ名は、GitLab CI/CD 構成ファイル
.gitlab-ci.yml
のジョブ名と一致します。GitLab CI/CD のジョブが YouTrack の統合ジョブと一致しない場合、YouTrack では処理されません。追加ボタンをクリックしてください。
新しい統合ジョブを追加して有効化しました。
新しいジョブの設定を定義します。
これらの設定の詳細については、統合設定を参照してください。
保存ボタンをクリックしてください。
GitLab CI/CD 統合の新しい統合ジョブを定義しました。
統合設定
統合ジョブでは、次の設定を使用できます。
オプション | 説明 |
---|---|
完了したジョブからデータを取得する | 統合が GitLabCI/CD によって終了したすべてのジョブをリッスンするか、成功したジョブのみを考慮するかを決定します。 |
パイプライン ID をカスタムフィールドの値セットに追加する | 統合された YouTrack プロジェクトでビルド番号が入力されるカスタムフィールドを決定します。選択は、 GitLab CI/CD はビルドではなくパイプラインで動作するため、YouTrack はビルド番号ではなくパイプライン ID をカスタムフィールド値として保存します。 選択したフィールドの値は、統合によって更新されるすべての課題で自動的に設定されます。統合の更新する課題を選択してくださいセクションの設定により、ビルド番号が割り当てられる課題が決まります。 次のオプションを使用できます。
|
更新する課題を選択してください | このセクションのオプションにより、統合によってビルド番号が割り当てられる課題が決まります。次のオプションを使用できます。
両方のオプションが有効になっている場合、ビルド番号はこれら 2 つの条件のいずれかを満たす課題に自動的に割り当てられます。 |
選択した課題を更新 | 自動ビルド番号の割り当てに加えて、統合が選択した課題に変更を適用するかどうかを決定します。コマンドを適用するオプションを有効にすると、ビルド番号が割り当てられているすべての課題に適用される定義済みのコマンドを入力できます。
このコマンドを使用すると、YouTrack によって処理されるすべての課題がテストサブシステムに割り当てられ、ビルドテストフィールドがビルド番号に設定されます。 |
使用可能なアクション
統合ジョブを作成すると、このジョブで次のアクションを使用できます。
アクション | 説明 |
---|---|
編集 | 統合ジョブの名前を編集できるジョブ名の編集ダイアログを開きます。 |
除去 | YouTrack から統合ジョブを削除します。統合によって行われたすべての変更はそのまま残ります。 |
プレースホルダー
クエリおよびコマンド設定でプレースホルダーを使用できます。これらのプレースホルダーは、GitLab CI/CD のジョブとパイプライン用に保存されている属性を参照します。ジョブが YouTrack によって処理されると、プレースホルダーは GitLab の対応する値に置き換えられます。次のプレースホルダーを使用できます。
プレースホルダー | 説明 |
---|---|
${build.time} | YouTrack によって処理されるジョブの日時。 |
${prev.build.time} | YouTrack によって処理されるジョブより前のジョブの日時。 |
${build} | YouTrack によって処理されるジョブを含むパイプラインの ID。 |
トラブルシューティング
YouTrack サイトの vcs.log ファイルには、GitLab およびその他の VCS 統合に関連するイベントの記録が含まれています。処理された課題、適用された設定、エラー、課題に関する情報については、このファイルを確認してください。
このファイルのコピーを入手するには、YouTrack のサポート(英語)にお問い合わせください。
GitLab CI/CD 統合のセットアップで課題が発生した場合は、次の条件のいずれかが当てはまるかどうかを確認してください。
状態 - 統合により、YouTrack の課題にジョブ ID が割り当てられていません。
原因 | ソリューション |
---|---|
GitLab に接続する Webhook が、関連するアクティビティをチェックするように構成されていないか、接続の確立に使用されるユーザーアカウントに十分な権限がありません。 | リストから VCS 統合を選択し、無効にするボタンをクリックします。統合を無効にしたら、有効にするボタンをクリックします。 この操作には 2 つの結果があります。
|
条件 — vcs.log ファイルは、次のようなエラーを報告します。
原因 | ソリューション |
---|---|
コミットメッセージでメンションされている課題が、統合設定のクエリと一致しません。 | 設定でクエリを調整するか、関連する課題を既存のクエリと一致させます。 |
条件 — vcs.log ファイルは、次のようなエラーを報告します。
原因 | ソリューション |
---|---|
GitLab の YAML 構成ファイル内のジョブの名前が、統合設定内のどのジョブとも一致しません。 | 統合設定のジョブ名を GitLab CI/CD のジョブ名と一致するように変更します。または、GitLab CI/CD ジョブと一致する名前を持つ新しい統合ジョブを追加します。 |
関連ページ:

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

TeamCity の統合
このページの指示に従って、1 つ以上の YouTrack プロジェクトと TeamCity のビルド構成の間の接続を確立します。YouTrack と TeamCity の統合により、両方のアプリケーションで便利な機能が有効になります。接続されているプロジェクトからビルド番号を取得し、解決された課題のビルド番号を格納するカスタムフィールドの値を自動的に更新します。YouTrack のビルド番号には、TeamCity のビルドに直接アクセスできるアイコンが付いています。コミットメッセージまたはブラン...

VCS 統合
YouTrack を使用すると、バージョン管理システムへの接続を設定できます。YouTrack は、GitHub、GitLab、Bitbucket との直接統合をサポートしています。また、YouTrack とセルフホスト型の GitHub Enterprise、GitLab Community Edition (CE)、GitLab Enterprise Edition (EE)、Bitbucket サーバー、Gogs、Gitea サーバー間の統合を設定することもできます。新しい統合を設定するに...