メモ
現在、リポジトリ ポリシーは パブリック プレビュー 段階であり、変更される可能性があります。 Organization あたり合計で最大 75 個のポリシーとルールセットを、Enterprise あたり合計で最大 75 個のポリシーとルールセットを設定できます。
リポジトリのライフサイクルにおける主要なイベント (リポジトリを作成または削除できるユーザーなど) を管理するために、リポジトリ ポリシーを作成できます。 リポジトリ ポリシーは、影響を受けるユーザーと対象となるリポジトリを柔軟に制御できる制限のコレクションです。
リポジトリ ポリシーでは、以下を制限できます。
- 新しいリポジトリと可視性の変更に対して許可する可視性。
- リポジトリを作成できるユーザー。
- リポジトリを削除できるユーザー。
- リポジトリを organization の外部に委譲できるユーザー。
- ユーザーがリポジトリに名前を付ける方法。
例示
リポジトリ ポリシーを使って、次のような操作を行うことができます。
- すべての新しいリポジトリが、
kebab-caseなどの特定の名前付け規則を使うようにする。 - Organization 管理者以外がリポジトリを削除できないようにする。
- Enterprise の "オープンソース" organization 内でのみパブリック リポジトリを作成できるようにする。
- メタデータが失われる可能性を避けるために、パブリック リポジトリがプライベート リポジトリに変更されないようにする。
リポジトリ ポリシーの作成
- 企業ページに移動してください。 たとえば、GitHub.com の [Enterprise] ページから。
- ページの上部にある [ Policies] をクリックします。
- [Policies] で、[Repository] をクリックします。
-
**[新しいポリシー]** をクリックします。 - 新しいポリシーを構成し、[Create] をクリックします。 ヘルプが必要な場合は、次のサブセクションを参照してください。
ポリシー名
ポリシーの目的を伝えるために、わかりやすいものを使ってください。 組織のオーナーはポリシーを表示できるため、適切な名前を付けることでより明確になります。 たとえば、 Prevent public repos on productionと指定します。
適用状態
作成時にポリシーを適用したくない場合は、[Disabled] に設定します。 それ以外の場合は、[Active] に設定します。
許可リスト
このポリシーの制限をバイパスできるロールを選びます。
Targets
ポリシーを適用する organization とリポジトリを選びます。
ターゲット組織
すべての organization を選ぶか、既存の organization を選ぶか、名前で動的リストを設定します。 Enterprise Managed Users を使う場合は、Enterprise 内のユーザーが所有するすべてのリポジトリをターゲットにすることも選択できます。
動的リストを設定する場合は、fnmatch 構文を使って 1 つ以上の名前付けパターンを追加します。 たとえば、文字列 *open-source は、名前が open-source で終わる organization と一致します。 構文の詳細については、「リポジトリのルールセットの作成」を参照してください。
ターゲット リポジトリ
選んだ organization でどのリポジトリ (現在または将来) をターゲットにするかを選びます。 すべてのリポジトリを選ぶか、カスタム プロパティで動的リストを設定することができます。
Policies
含める制限を選びます。 ポリシーがアクティブな場合、制限は対象のすべてのリポジトリに適用されますが、許可リストに含まれるユーザーまたはチームは制限をバイパスできます。
[Restrict names] ポリシーを選んだ場合は、正規表現構文を使って、リポジトリ名が一致する必要がある、または一致してはならないパターンを設定する必要があります。 たとえば、kebab-case の名前付けを適用するパターンは ^([a-z][a-z0-9]*)(-[a-z0-9]+)*$ のようになります。
- パターンは RE2 構文をサポートしています。 Google の構文ガイドを参照してください。
- 式を検証するには、[Test pattern] をクリックし、パターンとテスト値を入力します。
ポリシー回避の委任
メモ
リポジトリ ポリシーの委任されたバイパスは パブリック プレビュー にあり、変更される可能性があります。
リポジトリ ポリシーに対して委任されたバイパスを使うと、リポジトリの削除と可視性の変更について、リポジトリ ポリシーをバイパスできるユーザーを制御できます。
委任されたバイパスでは、リポジトリ管理者は要求を送信して、リポジトリの可視性の変更またはリポジトリの削除を行う必要があります。 要求は指定されたレビュー担当者グループに送信され、レビュー担当者はリポジトリ ポリシーをバイパスする要求を承認または拒否します。
リポジトリ ポリシーをバイパスする要求が承認されると、要求の変更はすぐに完了します。 要求が拒否された場合、要求された変更は行われませんが、再度要求できます。
委任されたバイパスを構成するには、エンタープライズ所有者または組織所有者が最初に "バイパス リスト" を作成します。 バイパス リストには、チームやリポジトリの管理者など、リポジトリ ポリシーをバイパスする要求を監視する特定のロールとチームが含まれます。
次のステップ
Enterprise のリポジトリ内の重要なブランチを一貫して管理するための、ルールセットを作成します。 「ルールセットを使用して企業内のブランチを保護する」を参照してください。