マージルール

変更要求をマージする前に満たす必要のある要件を定義する

この機能は次のプランで利用可能です: Pro および Enterprise プラン.

マージルールは、特定のユーザーからのレビューが必要である、またはチェンジリクエストに件名や説明が必要であるなど、チェンジリクエストをマージする前に満たす必要がある要件を定義できるようにします。

これらのルールはコンテンツの品質を維持し、ドキュメントワークフロー全体で適切なレビュー手順を確保するのに役立ちます。

マージルールが設定されていると、チェンジリクエストがマージされる前に自動的に評価されます。ルールが満たされていない場合、要件が満たされるまでマージはブロックされます。

これは、チームのコラボレーションおよびレビュー基準を自動的に適用する方法を提供します。

マージルールの使用

チームのワークフローに合わせて、さまざまなレベルでマージルールを設定できます:

組織レベルの設定

組織は、すべてのスペースが継承するデフォルトのマージルールを設定できます。これにより複数のスペースで一貫性が保たれつつ、個々のスペースで必要に応じてルールをカスタマイズできます。

組織のマージルールを設定するには、サイドバー上部の組織メニューを開き、 設定 を選択します。設定画面で、 マージルール を選択します 組織 サイドバーのセクション。ここで組織全体のマージルールを指定できます。

無制限のマージを選択するか、プリセットの一覧から組織全体のチェンジリクエストに適用するものを選んでください。

スペースレベルの設定

組織全体のマージルールを有効にしているかどうかに関わらず、各スペースはそのコンテンツやチーム構成に合わせた独自のマージ要件を持つことができます。

これにより、重要なドキュメントにはより厳しいルールを、ドラフトコンテンツにはより緩やかなルールを適用する柔軟性が得られます。

スペースのマージルールを設定する際、次のいずれかを選択できます:

  • 継承 組織からマージルールを継承する

  • カスタムルールを定義する そのスペース固有の

  • マージルールを無効にする 完全に

組織のルールを継承する場合、組織のマージルールに加えられた変更は自動的にスペースに適用されます。

組織のマージルールを設定するには、エディタの左上にある 操作メニュー を開き、次に マージルールを選択します。ここで、組織からマージルールを継承するか、そのスペース専用の新しいルールを設定するかを指定できます。

ルールの評価

ルールの動作方法

誰かがチェンジリクエストをマージしようとすると、GitBookは設定されたすべてのルールを順番に評価します:

  • 構成内のすべてのルールが合格して初めてマージが許可されます

  • ルールは構成に表示されている順序で評価されます

  • いずれかのルールが失敗した場合、適切なエラーメッセージとともにマージはブロックされます

  • バイパス機能を持つルールは、以前の失敗を上書きできる場合があります

バイパスルール

一部のルールにはバイパス機能があります(例えば 指定されたアクターに要件のバイパスを許可する)。これらの特別なルールは他のルールの失敗を無効にすることができます。バイパスルールが真と評価されると、他のルールが失敗していてもマージは許可されます。

ベストプラクティス

マージルールを設定する際は、次の推奨事項を検討してください:

  • シンプルに始める:少なくとも1件のレビューを必要とするなど、基本的なルールから始めてください。

  • 段階的に拡張する:チームの成長やワークフローの成熟に応じて、より具体的な要件を追加してください。

  • バイパスは慎重に使う:バイパス権限は信頼できる管理者のみに付与してください。

  • 定期的に見直す:チームの実際のワークフローパターンに基づいてルールを調整してください。

  • まずテストする:可能であれば、本番スペースに適用する前にテストスペースでルール変更を試してください。

利用可能なルールタイプ

レビュー要件

ルール
説明

少なくとも1件のレビューを要求する

チェンジリクエストをマージする前に、少なくとも1人のチームメンバーがレビューしていることを保証します。

すべてのレビューを承認済みにすることを要求する

すべての 完了(リクエストされていない)レビューは承認でなければなりません。もしレビュー担当者の誰かが変更を要求したりチェンジリクエストを却下した場合、マージはブロックされます。 (この行は意図的に元の分割を保持して翻訳しています)

指定されたアクターによるレビューを要求する

指定されたすべてのユーザーの承認を要求します。チェンジリクエストをマージする前にレビューして承認する必要がある特定のチームメンバーを選択できます。

指定されたアクターのうち一人によるレビューを要求する

指定されたユーザーのうち少なくとも1人の承認を要求します。複数の適格なレビュアーがいるがグループから1件の承認のみが必要な場合に便利です。

Docs Agentによるレビューを要求する(近日公開)

GitBookのAIエージェントによるレビューを要求します。これにより、マージ前にコンテンツ変更に対する自動品質チェックが行われることが保証されます。

チェンジリクエスト要件

ルール
説明

最新のチェンジリクエストを要求する

チェンジリクエストはメインのコンテンツブランチと最新の状態でなければなりません。メインのコンテンツがチェンジリクエスト作成後に更新されている場合、マージ前にリベースまたは更新する必要があります。

件名を必須にする

チェンジリクエストには説明的な件名/タイトルが必要です。件名が空の場合はマージがブロックされます。

説明を必須にする

チェンジリクエストには、どのような変更が行われたか、なぜ行われたかを説明する説明文が含まれている必要があります。

高度なオプション

ルール
説明

指定されたアクターに要件のバイパスを許可する

他のすべてのマージルール要件をバイパスできる特定のユーザーを指定できます。これは管理者や緊急時にルールを上書きする必要がある場合に便利です。

カスタム式

カスタムJavaScript式を使って高度なマージルールを作成できます。これにより、チェンジリクエスト、レビュー、およびマージを試みるユーザーのプロパティにアクセスして、評価コンテキストに基づく複雑なロジックを定義できます。

カスタム式

カスタム式を作成すると、誰かがチェンジリクエストをマージしようとするたびに式が評価されます。式が trueを返すと、マージは許可されます。式が falseを返すと、マージはブロックされます。

カスタム式は標準のJavaScript構文(ES2022)をサポートし、最大長は1024文字です。

利用可能なコンテキスト変数:

  • changeRequest.subject - チェンジリクエストの件名/タイトル

  • changeRequest.description - チェンジリクエストの説明

  • changeRequest.outdated - チェンジリクエストが陳腐化しているかどうか(真偽値)

  • changeRequest.createdBy.id - チェンジリクエストを作成したユーザーのID

  • reviews - 各要素が以下を含むレビューオブジェクトの配列:

    • reviews[].status - レビューのステータス("approved" または "changes_requested")

    • reviews[].reviewer.id - レビュアーのID

  • actor.id - マージを試みているユーザーのID

よくある式の例:

複数の承認済みレビューを要求する
reviews.filter(r => r.status === "approved").length >= 2
特定のユーザーからの承認を要求する
reviews.some(r => r.reviewer.id === "harry" && r.status === "approved")
緊急変更には説明を要求する
!changeRequest.subject.includes("[URGENT]") || !!changeRequest.description
マイナーな変更に限りセルフマージを許可する
changeRequest.createdBy.id === actor.id ? changeRequest.subject.startsWith("[minor]") : true

最終更新

役に立ちましたか?