Managing GitHub Actions settings for a repository

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

リポジトリの GitHub Actions 権限について

デフォルトでは、GitHub ActionsはすべてのリポジトリとOrganizationで有効になります。 You can choose to disable GitHub Actions or limit them to local actions only, which means that people can only use actions that exist in your repository. GitHub Actions の詳細は、「GitHub Actionsについて」を参照してください。

リポジトリで GitHub Actions を有効化できます。 GitHub Actionsを有効化すると、ワークフローはリポジトリ内と、その他の任意のパブリックリポジトリ内のアクションを実行できるようになります。 リポジトリの GitHub Actions を完全に無効化することができます。 GitHub Actionsを無効化すると、リポジトリでワークフローが実行されなくなります。

または、リポジトリで GitHub Actions を有効化して、ワークフローで実行できるアクションを制限することもできます。 ローカルアクションのみを有効化した場合、ワークフローはリポジトリ、Organization、Enterprise内のアクションだけを実行できるようになります。

リポジトリの GitHub Actions 権限を管理する

リポジトリに対するワークフローをすべて無効にすることも、リポジトリでどのアクションを使用できるかを設定するポリシーを設定することもできます。

Allow select actions(アクションの選択を許可)を選択すると、ローカルアクションが許可され、他の特定のアクションを許可するための追加のオプションがあります。 詳しい情報については「特定のアクションの実行の許可」を参照してください。

ローカルアクションだけを許可した場合、そのポリシーはGitHubが作成したアクションへのすべてのアクセスをブロックします。 たとえばactions/checkoutにはアクセスできません。

注釈: Organization に優先ポリシーがあるか、優先ポリシーのある Enterprise アカウントによって管理されている場合、これらの設定を管理できない場合があります。 For more information, see "Disabling or limiting GitHub Actions for your organization" or "Enforcing GitHub Actions policies in your enterprise account."

  1. GitHubで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン
  3. サイドバーでActions(アクション)をクリックしてください。
  4. [Actions permissions] で、オプションを選択します。 この Organization に対するアクションポリシーを設定する
  5. [Save] をクリックします。

特定のアクションの実行を許可する

Allow select actions(アクションの選択を許可)を選択すると、ローカルアクションが許可され、他の特定のアクションを許可するための追加のオプションがあります。

  • Allow actions created by GitHub(GitHubが作成したアクションのを許可): GitHubが作成したすべてのアクションをワークフローから使うことを許可できます。 Actions created by GitHub are located in the actions and github organizations. For more information, see the actions and github organizations.

  • Allow Marketplace actions by verified creators: You can allow all GitHub Marketplace actions created by verified creators to be used by workflows. When GitHub has verified the creator of the action as a partner organization, the badge is displayed next to the action in GitHub Marketplace.

  • Allow specified actions(指定したアクションの許可): ワークフローから利用できるのを特定のOrganizationやリポジトリ内のアクションに限定できます。

    アクションの特定のタグあるいはコミットSHAにアクセスを制限するには、アクションを選択するためにワークフローで使われる野と同じ<OWNER>/<REPO>@<TAG OR SHA>構文を使ってください。 たとえばタグを選択するためにactions/javascript-action@v1.0.1、あるいはSHAを選択するためにactions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89というようにします。 詳しい情報については「アクションの発見とカスタマイズ」を参照してください。

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

    ノート:**Allow specified actions**オプションが使えるのは、GitHub Free、GitHub Pro、OrganizationのGitHub Free、GitHub Teamプランのパブリックリポジトリでのみです。

この手順は、特定のアクションを許可リストに追加する方法を示しています。

  1. GitHubで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン
  3. サイドバーでActions(アクション)をクリックしてください。
  4. [Actions permissions] で [Allow select actions] を選択し、必要なアクションをリストに追加します。 許可リストにアクションを追加する
  5. [Save] をクリックします。

パブリックフォークからのワークフローに対する必須の承認の設定

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

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

Note: Workflows triggered by pull_request_target events are run in the context of the base branch. Since the base branch is considered trusted, workflows triggered by these events will always run, regardless of approval settings.

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. GitHubで、リポジトリのメインページにアクセスしてください。

  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン

  3. サイドバーでActions(アクション)をクリックしてください。

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

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

  5. Save(保存)をクリックして、設定を適用してください。

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

プライベートリポジトリのフォークのワークフローを有効にする

プライベートリポジトリのフォークの利用に依存しているなら、ユーザがどのようにpull_requestイベントの際にワークフローを実行できるかを制御するポリシーを設定できます。 Available to private and internal repositories only, you can configure these policy settings for enterprises, organizations, or repositories. Enterpriseの場合、このポリシーはすべてのOrganizationのすべてのリポジトリに適用されます。

  • Run workflows from fork pull requests(フォークのPull Requestからワークフローを実行) - 読み取りのみの権限を持ち、シークレットにはアクセスできないGITHUB_TOKENを使って、フォークのPull Requestからワークフローを実行することをユーザに許可します。
  • Send write tokens to workflows from pull requests(Pull Requestから書き込みトークンをワークフローに送信) - 書き込み権限を持つGITHUB_TOKENの利用をフォークからのPull Requestに許可します。
  • Send secrets to workflows from pull requests(Pull Requestからワークフローにシークレットを送信) - すべてのシークレットをPull Requestから利用可能にします。

リポジトリのプライベートフォークポリシーを設定する

  1. GitHubで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン
  3. サイドバーでActions(アクション)をクリックしてください。
  4. Fork pull request workflows(Pull Requestワークフローのフォーク)の下で、オプションを選択してください。 例: このリポジトリのアクションを有効化、無効化、または制限する
  5. Save(保存)をクリックして、設定を適用してください。

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 the more restricted default has been selected in the organization settings, the same option is auto-selected in your repository settings and the permissive option is disabled.

リポジトリに対して書き込みアクセス権を持つ人は、ワークフローファイル中のpermissionsキーを編集することによって、GITHUB_TOKENに付与される権限を変更したり、必要に応じてアクセス権を追加したり削除したりできます。 詳しい情報については権限を参照してください。

デフォルトのGITHUB_TOKEN権限の設定

  1. GitHubで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン
  3. サイドバーでActions(アクション)をクリックしてください。
  4. [Workflow permissions]の下で、GITHUB_TOKENにすべてのスコープに対する読み書きアクセスを持たせたいか、あるいはcontentsスコープに対する読み取りアクセスだけを持たせたいかを選択してください。 Set GITHUB_TOKEN permissions for this repository
  5. Save(保存)をクリックして、設定を適用してください。

Allowing access to components in an internal repository

注釈: インターナルリポジトリはGitHub Enterprise Cloud、GitHub Enterprise Server 2.20+で利用できます。 詳しい情報については「GitHubの製品」を参照してください。

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

To configure whether workflows in an internal repository can be accessed from outside the repository:

  1. On GitHub, navigate to the main page of the internal repository.
  2. Under your repository name, click Settings.
  3. サイドバーでActions(アクション)をクリックしてください。
  4. Under Access, choose one of the access settings: Set the access to Actions components
    • Not accessible - Workflows in other repositories can't use workflows in this repository.
    • Accessible by any repository in the organization - Workflows in other repositories can use workflows in this repository as long as they are part of the same organization.
    • Accessible by any repository in the enterprise - Workflows in other repositories can use workflows in this repository as long as they are part of the same enterprise.
  5. Save(保存)をクリックして、設定を適用してください。

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

リポジトリ内の GitHub Actions アーティファクトとログの保持期間を設定できます。

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

  • パブリックリポジトリの場合: この保持時間を1日から90日の間で変更できます。
  • プライベート、インターナル、GitHub Enterprise Serverリポジトリの場合: この保持期間を1日から400日の間で変更できます。

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

ワークフローによって作成された特定のアーティファクトのカスタム保存期間を定義することもできます。 詳しい情報については、「アーティファクトの保持期間を設定する」を参照してください。

リポジトリの保持期間を設定する

  1. GitHubで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン
  3. サイドバーでActions(アクション)をクリックしてください。
  4. Artifact and log retention duration(成果物とログの保持期間)の下で、新しい値を入力してください。
  5. Save(保存)をクリックして、変更を適用してください。

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?