Skip to main content

Managing code rulesets for repositories in your enterprise

You can edit, monitor, and delete existing rulesets to alter how people can interact with repositories in your enterprise.

この機能を使用できるユーザーについて

Enterprise owners

After creating a ruleset at the enterprise level, you can make changes to the ruleset to alter how people can interact with the targeted repositories. For example, you can:

  • Add rules to better protect the branches or tags in those repositories
  • Switch your ruleset from "Evaluate" mode to "Active" after testing its effects on the contributor experience

Note

リポジトリの読み取りアクセス権を持つすべてのユーザーは、そのリポジトリで動作しているアクティブなルールセットを見ることができます。

About delegated bypass

Note

プッシュ ルールの委任されたバイパスは現在 パブリック プレビュー 段階であり、変更される可能性があります。

プッシュルールセットの委任されたバイパスを使用すると、プッシュ保護をバイパスできるユーザーと、ブロックされたプッシュを許可する必要があるユーザーを制御できます。

委任されたバイパスでは、リポジトリの投稿者は、制限された内容を含むコミットをプッシュする際に、「バイパス権限」を要求する必要があります。 要求は、指定されたレビュー担当者グループに送信されます。レビュー担当者は、プッシュ ルールをバイパスする要求を承認または拒否します。

プッシュ ルールをバイパスする要求が承認された場合、投稿者は制限された内容などコミットをプッシュできます。 要求が拒否された場合、投稿者は、再度プッシュする前に、制限された内容などのコミット (複数可) から内容を削除する必要があります。

委任されたバイパスを構成するには、組織の所有者またはリポジトリ管理者が最初に 「バイパス リスト」 を作成します。 バイパス リストには、チームやリポジトリ管理者など、プッシュ保護をバイパスする要求を監督する特定のロールとチームが含まれます。 詳細については、「組織内のリポジトリのルールセットを管理する」および「ルールセットについて」を参照してください。

Editing a ruleset

You can edit a ruleset to change parts of the ruleset, such as the name, bypass permissions, or rules. You can also edit a ruleset to change its status, such as if you want to enable or temporarily disable a ruleset.

  1. GitHub の右上隅にあるプロフィール写真をクリックします。

  2. ご自分の環境に応じて、[Your enterprise] または [Your enterprises] をクリックし、表示するエンタープライズをクリックします。

  3. In the left sidebar, in the "Policies" section, click Code, then click Rulesets.

  4. On the "Rulesets" page, click the name of the ruleset you want to edit.

  5. Change the ruleset as required.

    For information on the available rules, see "ルールセットで使用できるルール"

  6. At the bottom of the page, click Save changes.

Deleting a ruleset

Note

リポジトリの読み取りアクセス権を持つすべてのユーザーは、そのリポジトリで動作しているアクティブなルールセットを見ることができます。

  1. GitHub の右上隅にあるプロフィール写真をクリックします。
  2. ご自分の環境に応じて、[Your enterprise] または [Your enterprises] をクリックし、表示するエンタープライズをクリックします。
  3. In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
  4. To the right of the ruleset's name, select , then click Delete ruleset.

Using ruleset history

Note

  • ルールセット履歴は現在 パブリック プレビュー にあり、変更される可能性があります。
  • 2023 年 10 月 11 日の パブリック プレビュー のリリース後にルールセットに加えられた変更のみがルールセット履歴に含まれます。

ルールセットに対するすべての変更を表示し、特定のイテレーションに戻すことができます。 特定のイテレーションでのルールセットの構成を含む JSON ファイルをダウンロードすることもできます。 ルールセットのバイパス リストは、エクスポートされた JSON ファイルから除外されます。

  1. GitHub の右上隅にあるプロフィール写真をクリックします。
  2. ご自分の環境に応じて、[Your enterprise] または [Your enterprises] をクリックし、表示するエンタープライズをクリックします。
  3. In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
  4. To view the history of changes to the ruleset, select to the right of the ruleset's name, then click History.
  5. To the right of the specific iteration, select , then click Compare changes, Restore, or Download.

Importing a ruleset

You can import a ruleset from another repository, organization or enterprise using the exported JSON file from the previous section. This can be useful if you want to apply the same ruleset to multiple repositories, organizations or enterprises.

  1. GitHub の右上隅にあるプロフィール写真をクリックします。
  2. ご自分の環境に応じて、[Your enterprise] または [Your enterprises] をクリックし、表示するエンタープライズをクリックします。
  3. In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
  4. Select the New ruleset dropdown, then click Import a ruleset.
  5. Open the exported JSON file.
  6. Review the imported ruleset and click Create.

Viewing insights for rulesets

You can view insights for rulesets to see how rulesets are affecting the repositories in your enterprise. [ルールの分析情報] ページに、次のユーザー アクションのタイムラインが表示されます。 フィルターを使用し、探しているものを見つけることができます。

  • 1 つ以上のルールセットに対してチェックされ、成功したアクション。
  • 1 つ以上のルールセットに対してチェックされ、失敗したアクション。
  • 他のユーザーがバイパスした 1 つ以上のルールセットに対するアクション。

ルールセットが "評価" モードで実行されている場合、ルールセットがアクティブなときに成功または失敗するアクションを確認することができます。

[ルールの分析情報] ページのスクリーンショット。 1 つは "成功" とマークされ、1 つは "バイパス" とマークされ、1 つは "評価" ラベルで "失敗" とマークされた 3 つのアクションが一覧表示されています。

If a ruleset is running in "Evaluate" mode, you can see actions that would have passed or failed if the ruleset had been active.

  1. GitHub の右上隅にあるプロフィール写真をクリックします。
  2. ご自分の環境に応じて、[Your enterprise] または [Your enterprises] をクリックし、表示するエンタープライズをクリックします。
  3. In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
  4. On the "Rule insights" page, use the dropdown menus at the top of the page to filter the actions by ruleset, repository, actor, and time period.
  5. To see which specific rules failed or required a bypass, click , then expand the name of the ruleset.

プッシュ ルールをバイパスする要求の管理

Note

プッシュ ルールの委任されたバイパスは現在 パブリック プレビュー 段階であり、変更される可能性があります。

バイパス権限のすべての要求は、リポジトリの [ルール設定] タブにある [バイパス要求] ページで表示および管理できます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. [バイパス要求] をクリックします。

承認者 (バイパス リストのメンバー)、要求者 (要求を作成する投稿者)、期間、および状態によって要求をフィルター処理できます。 要求には次の状態が割り当てられます。

状態説明
Cancelled要求は投稿者によって取り消されました。
Completed要求が承認され、コミットがリポジトリにプッシュされました。
Denied要求が審査され否認されました。
Expired要求の有効期限が切れました。 要求は 7 日間有効です。
Open要求はまだレビューされていないか、承認されていますが、コミットがリポジトリにプッシュされていません。

投稿者が制限された内容などコミットをプッシュするバイパス権限を要求すると、バイパス リストのメンバーはすべて、要求へのリンクを含む電子メールによる通知を受信します。 その後、バイパス リストのメンバーは、要求の有効期限が切れる前に、要求を確認して承認または拒否する 7 日間があります。

投稿者は電子メールで決定を通知され、必要なアクションを実行する必要があります。 要求が承認された場合、投稿者は制限された内容などコミットをリポジトリにプッシュできます。 要求が拒否された場合、投稿者はコミットから制限された内容を削除して、コミットをリポジトリに正常にプッシュする必要があります。