GitLab プル要求構成

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:4分
  • GitLab 本番環境に移行する前に変更の促進を行うプル (マージ) 要求パイプラインの実行は、 DevOps 変更速度 で追跡できます。この統合はGitLabDevOps 変更速度に保持する結合要求メタデータも収集します。データは、結合要求パイプライン実行で作成された変更にリンクされ、変更ポリシーの適用、レビュー、および承認に使用できます。

    • プル要求の作成、更新、クローズ、再オープン、およびマージがサポートされています。
    • GitLabパイプラインでの変更の促進のためのプル要求パイプライン実行がサポートされています。プル要求の詳細は、変更承認ポリシーで使用できるようになります。
    • GitLabパイプラインのステータスは、変更の作成後に自動的にプル要求ステータスで更新されます。パイプラインは自動的に一時停止および再開されます。
    • メール ID のデフォルトは <user_name>@noreply.gitlab.com 形式です。
    • コメントは、結合要求サポートの一部としてサポートされています。プル要求の作成と更新はサポートされていますが、削除と編集はサポートされていません。
    • 最大 100 件のコミットが DevOps 変更速度に表示されます。100 件を超えるアクセスが必要な場合は、 GitLab インスタンスを参照する必要があります。最新のコメントのみが入力されます。

    変更承認のプル (マージ) 要求を有効にする設定

    DevOpsプロパティ GitLab プル (マージ) 要求を追跡するための有効化。有効にしない場合、プル (マージ) 要求と関連イベントは無視されますDevOps 変更速度GitLab からのプル (マージ) 要求の追跡を有効にします。
    注:
    このプロパティはデフォルトで有効になっています。マージ (プル) 要求を追跡しない場合は、無効にする必要があります。

    有効にすると、プル (マージ) 要求の変更が DevOps 変更速度に反映されます。無効にすると、 DevOps 変更速度 はプル要求イベントを無視します。

    プル要求とオーケストレーションパイプラインをリンクし、変更承認の追跡を有効にするには、次のものが必要です。
    • 変更 GitLab 追跡に Docker を使用します。詳細については、「汎用 Docker コンテナイメージを使用したパイプラインのカスタムアクションの実装」を参照してください。
    • GitLabプロジェクトから、
      1. 移動先
        • GitLab クラウドの場合: 設定 > 結合要求.
        • オンプレミス (13.x) の場合: 設定 > 全般 > 結合要求.
      2. [パイプラインは成功する必要があります] チェックボックスをオンにします。

        これを選択すると、変更が承認された場合にのみ結合要求を続行できます。つまり、このチェックボックスをオンにすると、変更が承認されるまでプル要求がブロックされます。

        結合オプションの設定。

      3. [変更内容を保存] を選択します。
    • プロジェクトに移動し、 .yml ファイルを開きます。
      .yml ファイルに、パイプラインレベルまたは特定のジョブレベルで次のルールを追加します。
      rules:
       - if: $CI_PIPELINE_SOURCE == 'merge_request event'
       - if: $CI_PIPELINE_SOURCE != 'merge_request_event'

      パイプラインレベルの例:

      workflow:
        rules:
        - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
        - if: $CI_PIPELINE_SOURCE != 'merge_request_event' 
      

      ジョブレベルの例:

      changeapproval:
         stage: changeapproval
         script:
           - sndevopscli create change -p '{"changeStepDetails":{"timeout":3600,"interval":100},"attributes":{"short_description":"Automated Software Deployment","description":"Automated Software Deployment.","assignment_group":"a715cd759f2002002920bde8132e7018","implementation_plan":"Software update is tested and results can be found in Test Summaries Tab.","backout_plan":"When software fails in production, the previous software release will be re-deployed.","test_plan":"Testing if the software was successfully deployed or not"}}'
         rules:
         - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
         - if: $CI_PIPELINE_SOURCE != 'merge_request_event'