より広いコミュニティのマージリクエストトリアージ
GitLab では、私たちのミッションはすべての人が貢献できるよう、あらゆる創造的な作業を読み取り専用から読み書き可能に変えることです。GitLab はコミュニティの貢献を高く評価しており、コミュニティのコード貢献を引き続き成長させたいと考えています。GitLab はコミュニティが gitlab-org グループ配下のプロジェクトおよび gitlab-com/www-gitlab-com プロジェクトに対して Issue を提出し、マージリクエストを開くことを奨励しています。これらの貢献は価値あるものであり、できる限り効果的に処理する必要があります。その中心となるのがトリアージ — タイプと製品グループによる分類プロセスです。
GitLab チームメンバーであれば誰でもマージリクエストをトリアージできます。未トリアージのマージリクエスト数を少なく保つことはメンテナビリティに不可欠であり、私たち全員の共同責任です。他の業務と並行していくつかのマージリクエストをトリアージしたり、定期的に時間をスケジュールすることを検討してください。
新たに受け取るコミュニティからのマージリクエストのトリアージはいくつかの部門に分かれています。Quality 部門はトリアージの自動化を維持し、マージリクエストコーチが部分的なマージリクエストトリアージを担い、最終的にトリアージの自動化がトリアージプロセスを完了させます。さらに、Developer Relations Engineeringがコミュニティコラボレーションの取り組みを推進し、GitLab への貢献に対してサポートと認識を受けられるようコミュニティと連携します。
gitlab-org グループのマージリクエストトリアージ
トリアージレベル(gitlab-org)
3 つのトリアージレベルを定義しています。
初期トリアージ(gitlab-org)
マージリクエストは以下の条件を満たすと初期トリアージ済みとみなされます:
~"Community contribution"ラベルが適用されている- プロセスの詳細とともに
@gitlab-botによる「ありがとう」メッセージが投稿されている
初期トリアージは Developer Relations Engineering チームによってコミュニティ貢献お礼メモのリアクティブトリアージ自動化を通じて自動化されています。
部分トリアージ(gitlab-org)
マージリクエストは以下の条件を満たすと部分的にトリアージ済みとみなされます:
- タイプラベルが適用されている。
- (
~"type::bug"と~"Deferred UX"の場合)重大度ラベルが適用されている。
- (
- ステージラベルが適用されている。
- グループラベルが適用されている(例:
~"group:editor")。グループラベルが存在しない場合はステージラベルで十分です。
部分トリアージはマージリクエストコーチによって新しく作成されたコミュニティマージリクエストトリアージレポートを通じて完了されます。
Issue に関連する MR の場合、以下のクイックアクションを使用して適切なメタデータを確認することで部分トリアージを完了できます:
/copy_metadata <issue link>
完全トリアージ(gitlab-org)
完全トリアージはコミュニティのマージリクエストの状態に応じて 3 つのサブカテゴリに分かれています。
オープンなマージリクエストの完全トリアージ(gitlab-org)
マージリクエストは以下の条件を満たすと完全トリアージ済みとみなされます:
workflow::ready for reviewラベルが付いている- レビュアーが割り当てられている
マージ済みマージリクエストの完全トリアージ(gitlab-org)
マージリクエストは以下の条件を満たすと完全トリアージ済みとみなされます:
~"Community contribution"ラベルが付いてマージされたマージリクエストにマイルストーンが設定されている。
このトリアージプロセスは Developer Relations Engineering チームによって Triage Operations のコミュニティマージリクエストへのマイルストーン追加のスケジュールされたトリアージ自動化を通じて自動化されています。
非アクティブなマージリクエストのトリアージポリシー(gitlab-org)
非アクティブなマージリクエストポリシーは、GitLab チームが積極的なマージリクエストに取り組む時間を確保し、古いマージリクエストが劣化した状態に陥るのを防ぐために作成されました。これは GitLab チームメンバーがマージリクエストを前進させようとする 2 つのしきい値を設けることで実現しています。
Developer Relations Engineering チームメンバーはコミュニティマージリクエストの注意が必要トリアージレポートを通じて、最初のしきい値に達したマージリクエストを前進させようとします。
それが成功しない場合、2 番目のしきい値でエンジニアリングマネージャーが決断を下します。あなたの努力を大切にしています — そのため、マージリクエストをクローズするすべての決断は人間が行い、自動化されていません。
より広いコミュニティのマージリクエストトリアージ SLO(gitlab-org)
コミュニティの貢献は価値があり、コミュニティへの迅速なフィードバックとエンゲージメントの向上を確保するためにできる限り効果的に処理する必要があります。そのために以下のサービスレベル目標(SLO)を定義します:
| トリアージレベルまたは応答メトリクス | SLO |
|---|---|
| 初期トリアージ | 2 時間(自動化済み) |
| 部分トリアージ | 7 日 |
| マージ済みマージリクエストの完全トリアージ | 1 日(gitlab-org/gitlab では自動化済み) |
| レビュアー割り当てまでの時間 | 2 時間(自動化済み) |
SLO が満たされない場合は Developer Relations Engineering チームに連絡してください。
gitlab-com/www-gitlab-com プロジェクトのマージリクエストトリアージ
トリアージレベル(gitlab-com/www-gitlab-com)
GitLab ウェブサイトは GitLab.org とは異なるチームが所有・管理しているため、追加のトリアージプロセスを定義する必要があります。
初期トリアージ(gitlab-com/www-gitlab-com)
上記の gitlab-org グループと同じです。
完全トリアージ(gitlab-com/www-gitlab-com)
完全トリアージはコミュニティのマージリクエストの状態に応じて 3 つのサブカテゴリに分かれています。
オープンなマージリクエストの完全トリアージ(gitlab-com/www-gitlab-com)
マージリクエストは以下の条件を満たすと完全トリアージ済みとみなされます:
- GitLab ウェブサイトコミュニティチームのメンバーによってレビュアーが割り当てられている。
- レビュアーによってレビューされている。
通常、レビュアーはマージリクエストが更新したページのコードオーナーです。コードオーナーが割り当てられていない場合、トリアージャーはそのページが属する関連チームに連絡してレビュアーを特定します。
アイドル状態のマージリクエストの完全トリアージ(gitlab-com/www-gitlab-com)
マージリクエストは以下の条件を満たすと完全トリアージ済みとみなされます:
- マージリクエストのクローズポリシーに従ってクローズされている。
このトリアージプロセスは GitLab ウェブサイトコミュニティチームのメンバーまたは関連するコードオーナーによってケースバイケースで手動で行われます。
より広いコミュニティのマージリクエストトリアージ SLO(gitlab-com/www-gitlab-com)
コミュニティの貢献は価値があり、コミュニティへの迅速なフィードバックとエンゲージメントの向上を確保するためにできる限り効果的に処理する必要があります。そのために以下のサービスレベル目標(SLO)を定義します:
| トリアージレベル | トリアージ SLO |
|---|---|
| 初期トリアージ | 2 時間(自動化済み) |
| レビュアー割り当てまでの時間 | 7 日(自動化済み) |
| アイドル状態のマージリクエストの完全トリアージ | 7 日 |
SLO が満たされない場合は、マージリクエストで @gitlab-com-community に連絡してください。
