Skip to main content

Managing GitHub Actions settings for a repository

You can disable or configure GitHub Actions for a specific repository.

About GitHub Actions permissions for your repository

By default, GitHub Actions is enabled on all repositories and organizations. You can choose to disable GitHub Actions or limit it to actions and reusable workflows in your enterprise. For more information about GitHub Actions, see "About GitHub Actions."

You can enable GitHub Actions for your repository. GitHub Actions を有効にすると、ワークフローは、リポジトリ内および他のパブリックまたは内部リポジトリに配置されているアクションと再利用可能なワークフローを実行できます。 You can disable GitHub Actions for your repository altogether. GitHub Actionsを無効化すると、リポジトリでワークフローが実行されなくなります。

Alternatively, you can enable GitHub Actions in your repository but limit the actions and reusable workflows a workflow can run.

Managing GitHub Actions permissions for your repository

You can disable GitHub Actions for a repository, or set a policy that configures which actions and reusable workflows can be used in the repository.

Note: You might not be able to manage these settings if your organization has an overriding policy or is managed by an enterprise that has overriding policy. For more information, see "Disabling or limiting GitHub Actions for your organization" or "Enforcing policies for GitHub Actions in your enterprise."

  1. On GitHub.com, navigate to the main page of the repository.

  2. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン

  3. In the left sidebar, click Actions, then click General.

  4. Under "Actions permissions", select an option.

    **[Allow enterprise, and select non-enterprise, actions and reusable workflows]\(エンタープライズを許可し、非エンタープライズ、アクション、再利用可能なワークフローを選択する\)**  を選択した場合、エンタープライズ内のアクションおよび再利用可能なワークフローが許可され、追加のオプションで、その他の特定のアクションや再利用可能なワークフローも許可されます。 詳細については、「[選択したアクションと再利用可能なワークフローの実行の許可](#allowing-select-actions-and-reusable-workflows-to-run)」を参照してください。
    

    エンタープライズからのみ再利用可能なワークフローとアクションを許可する場合、ポリシーにより GitHub で作成したアクションへのすべてのアクセスがブロックされます。 たとえば、actions/checkout アクションにはアクセスできません。

    Set actions policy for this repository

  5. Click Save.

選択したアクションと再利用可能なワークフローの実行の許可

[ [Allow enterprise, and select non-enterprise, actions and reusable workflows](エンタープライズを許可し、非エンタープライズ、アクション、再利用可能なワークフローを選択する) ] を選ぶと、ローカル アクションと再利用可能なワークフローが許可され、他の特定のアクションや再利用可能なワークフローを許可するための追加のオプションがあります。

  • [GitHub によって作成されたアクションを許可する]: GitHub によって作成されたすべてのアクションを、ワークフローで使用できるようにします。 GitHub によって作成されたアクションは、actions および github 組織にあります。 詳しくは、actions および github の Organization をご覧ください。

  • [検証済みの作成者による Marketplace アクションを許可する]: 検証済みの作成者によって作成されたすべての GitHub Marketplace アクションを、ワークフローで使用できるようにします。 GitHubがアクションの作者をパートナーOrganizationとして検証すると、GitHub Marketplaceでアクションの隣にバッジが表示されるようになります。

  • [指定したアクションと再利用可能なワークフローを許可する]: ワークフローで使用できるアクションと再利用可能なワークフローを、特定の組織とリポジトリのものに制限します。

    アクションまたは再利用可能なワークフローの特定のタグまたはコミット SHA へのアクセスを制限するには、ワークフローで使われているのと同じ構文を使って、アクションまたは再利用可能なワークフローを選びます。

    • アクションの場合の構文は、<OWNER>/<REPO>@<TAG OR SHA> です。 たとえば、タグを選択するには actions/javascript-action@v1.0.1 を使用し、SHA を選択するには actions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89 を使用します。 詳細については、「アクションの検索とカスタマイズ」を参照してください。
    • 再利用可能なワークフローの場合の構文は、<OWNER>/<REPO>/<PATH>/<FILENAME>@<TAG OR SHA> です。 たとえば、octo-org/another-repo/.github/workflows/workflow.yml@v1 のように指定します。 詳細については、「ワークフローの再利用」を参照してください。

    パターンのマッチには、ワイルドカード文字 * を使用できます。 たとえば、space-org で始まる Organization のすべてのアクションと再利用可能なワークフローを許可するには、space-org*/* と指定できます。 octocat で始まるリポジトリのすべてのアクションと再利用可能なワークフローを許可するには、*/octocat**@* を使用できます。 * ワイルドカードの使用の詳細については、「GitHub Actions のワークフロー構文」を参照してください。

    注: [指定したアクションと再利用可能なワークフローを許可する] オプションを使用できるのは、GitHub Free、GitHub Pro、Organization の GitHub Free、または GitHub Team プランのパブリック リポジトリのみです。

この手順では、特定のアクションと再利用可能なワークフローを許可リストに追加する方法を示します。

  1. On GitHub.com, navigate to the main page of the repository.

  2. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン

  3. In the left sidebar, click Actions, then click General.

  4. Under "Actions permissions", select [Allow enterprise, and select non-enterprise, actions and reusable workflows](エンタープライズを許可し、非エンタープライズ、アクション、再利用可能なワークフローを選択する) and add your required actions to the list.

    Add actions and reusable workflows to the allow list

  5. Click Save.

Controlling changes from forks to workflows in public repositories

パブリックリポジトリをフォークし、リポジトリのGitHub Actionsワークフローへの変更を提案するPull Requestをサブミットすることは誰でもできます。 フォークからのワークフローはシークレットなどの機密データにアクセスできませんが、悪用目的で変更された場合、メンテナが迷惑を被る可能性があります。

これを防ぐために、外部コラボレータのパブリックリポジトリへのPull Requestではワークフローは自動的には動作せず、まず承認が必要になることがあります。 デフォルトでは、すべての初めてのコントリビューターは、ワークフローを実行するのに承認を必要とします。

注: pull_request_target イベントによってトリガーされるワークフローは、ベース ブランチのコンテキストで実行されます。 ベース ブランチは信頼済みと見なされるため、承認設定に関係なく、これらのイベントによってトリガーされるワークフローは常に実行されます。

You can configure this behavior for a repository using the procedure below. Modifying this setting overrides the configuration set at the organization or enterprise level.

  1. On GitHub.com, navigate to the main page of the repository.

  2. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン

  3. In the left sidebar, click Actions, then click General.

  4. [外部コラボレーターからの pull request ワークフローのフォーク] の下で、オプションを選択します。 このオプションは、制限が緩いものから厳しいものへとリストされています。

    パブリックフォークからのワークフローの認証の設定

  5. [保存] をクリックして設定を適用します。

このポリシーが適用されるワークフロー実行の承認の詳細については、「パブリック フォークで実行されるワークフローの実行を承認する」を参照してください。

Enabling workflows for forks of private repositories

プライベート リポジトリのフォークの利用に依存している場合、pull_request イベントの際にユーザーがどのようにワークフローを実行できるかを制御するポリシーを構成できます。 プライベート リポジトリと内部リポジトリでのみ使用でき、エンタープライズ、組織、またはリポジトリに対してこれらのポリシー設定を構成できます。

If a policy is disabled for an enterprise or organization, it cannot be enabled for a repository.

  • フォーク pull request からワークフローを実行する - 読み取り専用権限を持ち、シークレットへのアクセス権を持たない GITHUB_TOKEN を使用して、フォーク pull request からワークフローを実行できます。
  • pull request からワークフローに書き込みトークンを送信する - フォークからの pull request で書き込み権限を持つ GITHUB_TOKEN を使用できます。
  • pull request からワークフローにシークレットを送信する - すべてのシークレットを pull request で利用できるようにします。
  • フォークの pull request ワークフローに対して承認を要求する - 書き込みアクセス許可のないコラボレーターからの pull request に対するワークフロー実行には、実行する前に書き込みアクセス許可を持つ誰かからの承認が必要になります。

Configuring the fork policy for a private repository

  1. On GitHub.com, navigate to the main page of the repository.

  2. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン

  3. In the left sidebar, click Actions, then click General.

  4. [Fork pull request workflows](pull request ワークフローのフォーク) で、オプションを選択します。 例: このリポジトリのアクションを有効化、無効化、または制限する

  5. [保存] をクリックして設定を適用します。

Setting the permissions of the GITHUB_TOKEN for your repository

GITHUB_TOKEN に付与される既定のアクセス許可を設定できます。 GITHUB_TOKEN の詳細については、「自動トークン認証」を参照してください。 デフォルトとして制限付きアクセス許可セットを選択するか、より幅広く許可をする設定を適用できます。

The default permissions can also be configured in the organization settings. If your repository belongs to an organization and a more restrictive default has been selected in the organization settings, the same option is selected in your repository settings and the permissive option is disabled.

リポジトリへの書き込みアクセス権を持っている人は誰でも、ワークフロー ファイルの permissions キーを編集して、GITHUB_TOKEN に付与されたアクセス許可を変更でき、必要に応じて追加または削除できます。 詳細については、permissions をご覧ください。

Configuring the default GITHUB_TOKEN permissions

By default, when you create a new repository in your personal account, GITHUB_TOKEN only has read access for the contents scope. If you create a new repository in an organization, the setting is inherited from what is configured in the organization settings.

  1. On GitHub.com, navigate to the main page of the repository.

  2. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン

  3. In the left sidebar, click Actions, then click General.

  4. Under "Workflow permissions", choose whether you want the GITHUB_TOKEN to have read and write access for all scopes, or just read access for the contents scope.

    Set GITHUB_TOKEN permissions for this repository

  1. Click Save to apply the settings.

Preventing GitHub Actions from creating or approving pull requests

GitHub Actions ワークフローが pull request を作成または承認することを許可または禁止するかを選択できます。

By default, when you create a new repository in your personal account, workflows are not allowed to create or approve pull requests. If you create a new repository in an organization, the setting is inherited from what is configured in the organization settings.

  1. On GitHub.com, navigate to the main page of the repository.

  2. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン

  3. In the left sidebar, click Actions, then click General.

  4. Under "Workflow permissions", use the Allow GitHub Actions to create and approve pull requests setting to configure whether GITHUB_TOKEN can create and approve pull requests.

    Set GITHUB_TOKEN permissions for this repository

  5. Click Save to apply the settings.

Allowing access to components in an internal repository

Members of your enterprise can use internal repositories to work on projects without sharing information publicly. For information, see "About repositories."

You can use the steps below to configure whether actions and workflows in an internal repository can be accessed from outside the repository. For more information, see "Sharing actions and workflows with your enterprise." Alternatively, you can use the REST API to set, or get details of, the level of access. For more information, see "Get the level of access for workflows outside of the repository" and "Set the level of access for workflows outside of the repository."

  1. On GitHub, navigate to the main page of the internal repository.

  2. Under your repository name, click Settings.

  3. In the left sidebar, click Actions, then click General.

  4. Under Access, choose one of the access settings:

    Set the access to Actions components

    • Not accessible - Workflows in other repositories cannot access this repository.
    • Accessible from repositories in the 'ORGANIZATION NAME' organization - Workflows in other repositories that are part of the 'ORGANIZATION NAME' organization can access the actions and workflows in this repository. Access is allowed only from private or internal repositories.
    • Accessible from repositories in the 'ENTERPRISE NAME' enterprise - Workflows in other repositories that are part of the 'ENTERPRISE NAME' enterprise can access the actions and workflows in this repository. Access is allowed only from private or internal repositories.
  5. Click Save to apply the settings.

Configuring the retention period for GitHub Actions artifacts and logs in your repository

You can configure the retention period for GitHub Actions artifacts and logs in your repository.

デフォルトでは、ワークフローによって生成された成果物とログファイルは、90日間保持された後自動的に削除されます。 保持期間は、リポジトリの種類によって調整できます。

  • パブリックリポジトリの場合: この保持時間を1日から90日の間で変更できます。
  • プライベートと内部のリポジトリの場合: この保持期間を 1 から 400 日の間で変更できます。

保持期間をカスタマイズした場合、適用されるのは新しい成果物とログファイルに対してであり、既存のオブジェクトにさかのぼっては適用されません。 管理されたリポジトリ及びOrganizationについては、最大の保持期間は管理するOrganizationあるいはEnterpriseによって設定された上限を超えることはできません。

You can also define a custom retention period for a specific artifact created by a workflow. For more information, see "Setting the retention period for an artifact."

Setting the retention period for a repository

  1. On GitHub.com, navigate to the main page of the repository.
  2. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン
  3. In the left sidebar, click Actions, then click General.
  4. [成果物とログの保持] で、新しい値を入力します。
  5. [保存] をクリックして変更を適用します。