diff --git a/content/admin/managing-your-enterprise-account/adding-and-removing-github-app-managers-in-your-enterprise.md b/content/admin/managing-your-enterprise-account/adding-and-removing-github-app-managers-in-your-enterprise.md new file mode 100644 index 000000000000..bcae9279f96b --- /dev/null +++ b/content/admin/managing-your-enterprise-account/adding-and-removing-github-app-managers-in-your-enterprise.md @@ -0,0 +1,45 @@ +--- +title: Adding and removing GitHub App managers in your enterprise +intro: 'Enterprise owners can grant or revoke access for a user to manage individual {% data variables.product.prodname_github_apps %} owned by the enterprise.' +versions: + feature: enterprise-app-manager +type: how_to +topics: + - Enterprise + - GitHub Apps +permissions: Enterprise owners. +shortTitle: Enterprise App managers +--- + +## About {% data variables.product.prodname_github_app %} managers + +Enterprise owners can designate other users in their enterprise as {% data variables.product.prodname_github_app %} managers for individual apps. {% data variables.product.prodname_github_app %} managers can manage the settings of specific {% data variables.product.prodname_github_app %} registrations that are owned by the enterprise. The {% data variables.product.prodname_github_app %} manager role does not grant recipients access to install and uninstall {% data variables.product.prodname_github_apps %} on an enterprise or organization. For more information about the specific app settings that {% data variables.product.prodname_github_app %} managers can control, see [AUTOTITLE](/apps/maintaining-github-apps/modifying-a-github-app). + +When an enterprise app manager adds permissions to a {% data variables.product.prodname_github_app %}, the update is automatically accepted in all organizations where the app manager is also an organization owner. When an enterprise owner adds permissions to a {% data variables.product.prodname_github_app %}, the update is automatically accepted in all organizations regardless of their organization membership. + +## Granting the ability to manage an individual {% data variables.product.prodname_github_app %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.github-apps-tab %} + +1. Under "{% data variables.product.prodname_github_apps %}", click on the avatar of the app you'd like to add a {% data variables.product.prodname_github_app %} manager for. +1. In the left sidebar, click **App managers**. +1. At the bottom of the "App managers" section, in the search field, type the username of the person you want to designate as a GitHub App manager for the app, then click **Grant**. + +The user must be a member of the enterprise to be granted {% data variables.product.prodname_github_app %} manager permissions. + +## Removing managers from an individual {% data variables.product.prodname_github_app %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.github-apps-tab %} + +1. Under "{% data variables.product.prodname_github_apps %}", click on the avatar of the app you'd like to remove a {% data variables.product.prodname_github_app %} manager from. +1. In the left sidebar, click **App managers**. +1. Under "App managers", next to the person you want to remove {% data variables.product.prodname_github_app %} manager permissions from, click **Revoke**. + +## Further reading + +* [AUTOTITLE](/admin/managing-your-enterprise-account/creating-github-apps-for-your-enterprise) +* [AUTOTITLE](/apps/maintaining-github-apps/about-github-app-managers) diff --git a/content/admin/managing-your-enterprise-account/creating-github-apps-for-your-enterprise.md b/content/admin/managing-your-enterprise-account/creating-github-apps-for-your-enterprise.md index 6ee34bef81df..7f685f640230 100644 --- a/content/admin/managing-your-enterprise-account/creating-github-apps-for-your-enterprise.md +++ b/content/admin/managing-your-enterprise-account/creating-github-apps-for-your-enterprise.md @@ -1,6 +1,6 @@ --- title: Creating GitHub Apps for your enterprise -intro: 'Learn how to create a {% data variables.product.prodname_github_app %} for organizations within your enterprise.' +intro: 'Learn how to create a {% data variables.product.prodname_github_app %} for your enterprise.' versions: feature: enterprise-apps-public-beta type: how_to @@ -10,13 +10,18 @@ permissions: Enterprise owners. shortTitle: Create a GitHub App --- -You can create a {% data variables.product.prodname_github_app %} under your enterprise account. The app can only be installed on organizations within your enterprise, and can only be authorized by members of your enterprise. The app can't be installed on user accounts. +You can create a {% data variables.product.prodname_github_app %} under your enterprise account. The app can only be installed on{% ifversion enterprise-installed-apps %} your enterprise or{% endif %} organizations within your enterprise, and can only be authorized by members of your enterprise. The app can't be installed on user accounts. ## Step 1: Registering a {% data variables.product.prodname_github_app %} To create a {% data variables.product.prodname_github_app %}, you must first register the app. See [AUTOTITLE](/apps/creating-github-apps/registering-a-github-app/registering-a-github-app). Apps can also be transferred to an enterprise from a member or organization. To transfer an app, see [AUTOTITLE](/apps/maintaining-github-apps/transferring-ownership-of-a-github-app). +{%- ifversion enterprise-app-manager %} + +### Step 1a: Adding an enterprise app manager + +Enterprise owners can add enterprise members to an app as an app manager. App managers can manage the app's settings and credentials, but cannot install the app. For more information, see [AUTOTITLE](/apps/maintaining-github-apps/about-github-app-managers).{% endif %} ## Step 2: Building a {% data variables.product.prodname_github_app %} @@ -30,11 +35,11 @@ After registering a {% data variables.product.prodname_github_app %}, you will w You should aim to follow best practices. See [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/best-practices-for-creating-a-github-app). -## Step 3: Authorizing or sharing your {% data variables.product.prodname_github_app %} +## Step 3: Authorizing or installing your {% data variables.product.prodname_github_app %} -Once your {% data variables.product.prodname_github_app %} is registered, you'll need to make it available to organizations in your enterprise, either through **authorization** or **installation**, depending on the app’s purpose. +Once your {% data variables.product.prodname_github_app %} is registered, you'll need to make it available for use, either through **authorization** or **installation**, depending on the app’s purpose. -Enterprise owners can modify the permissions for apps owned by their enterprise at any time. Permissions changes will be automatically accepted by organizations in the enterprise. +Enterprise owners {% ifversion enterprise-app-manager %}and app managers {% endif %}can modify the permissions for apps owned by their enterprise at any time. Permissions changes will be automatically accepted by organizations in the enterprise{% ifversion enterprise-app-manager %} if the change was made by the enterprise owner. Otherwise, the changes will be accepted only where the app manager is also an organization owner, and an organization owner must accept the update request for all other organizations{% endif %}. ### Step 3a: Authorizing your {% data variables.product.prodname_github_app %} @@ -47,3 +52,5 @@ For apps that require installation to function, you can provide organization own ## Step 4: Installing your {% data variables.product.prodname_github_app %} (if required) If your {% data variables.product.prodname_github_app %} requires installation (not just authorization), organization owners can use the install link to install the app on their organization. See [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-a-third-party). + +{% ifversion enterprise-installed-apps %}If your app uses enterprise permissions, you can install it on your enterprise. To find the installation link, go to the app's settings page in your enterprise account. See [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-on-your-enterprise).{% endif %} diff --git a/content/admin/managing-your-enterprise-account/index.md b/content/admin/managing-your-enterprise-account/index.md index 8eb3b1f6e595..04a7e43843c4 100644 --- a/content/admin/managing-your-enterprise-account/index.md +++ b/content/admin/managing-your-enterprise-account/index.md @@ -11,5 +11,6 @@ children: - /deleting-an-enterprise-account - /changing-the-url-for-your-enterprise - /creating-github-apps-for-your-enterprise + - /adding-and-removing-github-app-managers-in-your-enterprise shortTitle: Manage enterprise account --- diff --git a/content/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps.md b/content/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps.md index ba6b57a827d3..c2f5766e0fbd 100644 --- a/content/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps.md +++ b/content/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps.md @@ -31,10 +31,10 @@ Common use cases for {% data variables.product.prodname_github_apps %} include: Like {% data variables.product.prodname_oauth_apps %}, {% data variables.product.prodname_github_apps %} use OAuth 2.0 and can act on behalf of a user. Unlike {% data variables.product.prodname_oauth_apps %}, {% data variables.product.prodname_github_apps %} can also act independently of a user. -{% data variables.product.prodname_github_apps %} can be installed directly on organizations and personal accounts and granted access to specific repositories. They come with built-in webhooks and narrow, specific permissions. +{% data variables.product.prodname_github_apps %} can be installed directly on {% ifversion enterprise-installed-apps %}enterprises, {% endif %}organizations and personal accounts and granted access to specific repositories. They come with built-in webhooks and narrow, specific permissions. {% ifversion enterprise-apps-public-beta %} -You can also create an enterprise-owned {% data variables.product.prodname_github_app %} that can only be installed on organizations within your enterprise, and can only be authorized by members of your enterprise. For more information, see [AUTOTITLE](/admin/managing-your-enterprise-account/creating-github-apps-for-your-enterprise). +You can also create an enterprise-owned {% data variables.product.prodname_github_app %} that can only be installed on{% ifversion enterprise-installed-apps %} the enterprise itself or{% endif %} organizations within your enterprise, and can only be authorized by members of your enterprise. For more information, see [AUTOTITLE](/admin/managing-your-enterprise-account/creating-github-apps-for-your-enterprise). {% endif %} {% data reusables.apps.app_manager_role %} @@ -47,11 +47,11 @@ Then, you need to write code to add functionality to your {% data variables.prod Once you have written the code for your {% data variables.product.prodname_github_app %}, your app needs to run somewhere. If your app is a website or web app, you might host your app on a server like [Azure App Service](https://azure.microsoft.com/products/app-service/). If your app is a client-side app, it might run on a user's device. -To use your {% data variables.product.prodname_github_app %}, you need to install it on your organization or personal account. +To use your {% data variables.product.prodname_github_app %}, you need to install it on your {% ifversion enterprise-installed-apps %}enterprise, {% endif %}organization or personal account. -* If your {% data variables.product.prodname_github_app %} is **private**, you can only install it on the account that owns the app. {% ifversion restrictive-app-authz %}If it's owned by an organization, only members of the organization can sign in to it. If it's owned by your user account, only you can sign in to it.{% endif %} -* If your {% data variables.product.prodname_github_app %} is **public**, other users and organizations can also install it. Anyone can sign in to it.{% ifversion enterprise-apps-public-beta %} -* If your {% data variables.product.prodname_github_app %} is owned by an **enterprise**, you can install it on any organization within that enterprise.{% ifversion restrictive-app-authz %} Only members of the enterprise can sign in to it.{% endif %}{% endif %} +* If your {% data variables.product.prodname_github_app %} is **private**, you can only install it on the account that owns the app. +* If your {% data variables.product.prodname_github_app %} is **public**, other accounts can also install it.{% ifversion enterprise-apps-public-beta %} +* If your {% data variables.product.prodname_github_app %} is owned by an **enterprise**, you can install it on {% ifversion enterprise-installed-apps %}the enterprise itself or {% endif %}any organization within that enterprise.{% endif %}{% ifversion restrictive-app-authz %} Only members of the enterprise can sign in to it.{% endif %} For more information, see [AUTOTITLE](/apps/using-github-apps/installing-your-own-github-app) and [AUTOTITLE](/apps/sharing-github-apps/sharing-your-github-app). @@ -80,6 +80,10 @@ Some examples of automations you could create with a {% data variables.product.p If you want your app to respond to events on {% data variables.product.prodname_dotcom %}, your app should subscribe to webhooks. For example, you may want your app to leave a comment when a pull request is opened. For more information, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/using-webhooks-with-github-apps). +{% ifversion enterprise-installed-apps %} +Apps installed on enterprises do not currently support webhooks, and must be installed on an organization to receive them. +{% endif %} + ### {% data variables.product.prodname_github_apps %} that can take certain actions When you set up your {% data variables.product.prodname_github_app %}, you can select specific permissions for the app. These permissions determine what the app can do via the {% data variables.product.prodname_dotcom %} API, what they can do on behalf of a signed in user, and what webhooks the app can receive. For more information, see [AUTOTITLE](/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app). diff --git a/content/apps/creating-github-apps/about-creating-github-apps/deciding-when-to-build-a-github-app.md b/content/apps/creating-github-apps/about-creating-github-apps/deciding-when-to-build-a-github-app.md index fa3230bcc9f7..5ea7a2c3e318 100644 --- a/content/apps/creating-github-apps/about-creating-github-apps/deciding-when-to-build-a-github-app.md +++ b/content/apps/creating-github-apps/about-creating-github-apps/deciding-when-to-build-a-github-app.md @@ -53,7 +53,7 @@ The rate limit for {% data variables.product.prodname_github_apps %} using an in In general, {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %} can make the same API requests. However, there are some differences: * The REST API to manage check runs and check suites is only available to {% data variables.product.prodname_github_apps %}. -* Enterprise-level resources such as the enterprise object itself are not available to {% data variables.product.prodname_github_apps %}. This means that {% data variables.product.prodname_github_apps %} cannot call endpoints like `GET /enterprise/settings/license`. However, enterprise-owned organization and repository resources are available. +* {% ifversion enterprise-installed-apps %}Not every enterprise-level API supports {% data variables.product.prodname_github_apps %} at this time. New permissions are being added to support more APIs. Check [AUTOTITLE](/enterprise-cloud@latest/rest/authentication/permissions-required-for-github-apps) to review the list of supported enterprise permissions and APIs.{% else %}Enterprise-level resources such as the enterprise object itself are not available to {% data variables.product.prodname_github_apps %}. This means that {% data variables.product.prodname_github_apps %} cannot call endpoints like `GET /enterprise/settings/license`. However, enterprise-owned organization and repository resources are available.{% endif %} * Some requests may return incomplete data depending on the permissions and repository access that was granted to an {% data variables.product.prodname_github_app %}. For example, if your app makes a request to get all repositories that a user can access, the response will only include the repositories that the app was also granted access to. For more information about the REST API endpoints that are available to {% data variables.product.prodname_github_apps %}, see [AUTOTITLE](/rest/overview/endpoints-available-for-github-apps). @@ -62,7 +62,7 @@ For more information about the REST API endpoints that are available to {% data If you want to access {% data variables.product.prodname_dotcom %} resources on behalf of a user or in an organization, or you anticipate a long-lived integration, we recommend building a {% data variables.product.prodname_github_app %}. - You can use {% data variables.product.pat_generic_plural %} for API testing or short-lived scripts. Since a {% data variables.product.pat_generic %} is associated with a user, your automation could break if the user no longer has access to the resources you need. A {% data variables.product.prodname_github_app %} installed in an organization is not dependent on a user. Additionally, unlike a user, a {% data variables.product.prodname_github_app %} does not consume a {% data variables.product.company_short %} {% ifversion enterprise-licensing-language %}license{% else %}seat{% endif %}. + You can use {% data variables.product.pat_generic_plural %} for API testing or short-lived scripts. Since a {% data variables.product.pat_generic %} is associated with a user, your automation could break if the user no longer has access to the resources you need. A {% data variables.product.prodname_github_app %} installed on an {% ifversion enterprise-installed-apps %}enterprise or {% endif %}organization is not dependent on a user. Additionally, unlike a user, a {% data variables.product.prodname_github_app %} does not consume a {% data variables.product.company_short %} {% ifversion enterprise-licensing-language %}license{% else %}seat{% endif %}. {% data variables.product.company_short %} supports two types of {% data variables.product.pat_generic_plural %}, but recommends that you use {% data variables.product.pat_v2 %}s instead of {% data variables.product.pat_v1_plural %} whenever possible. For more information about {% data variables.product.pat_generic_plural %}, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#types-of-personal-access-tokens). @@ -72,7 +72,7 @@ For more information about the REST API endpoints that are available to {% data _{% data variables.product.prodname_actions %}_ provide automation that can perform jobs like continuous integration, deployment tasks, and project management in a repository. They run directly on {% data variables.product.prodname_dotcom %}-hosted runner machines or self-hosted runners that your administrator sets up. {% data variables.product.prodname_actions %} do not run persistently. {% data variables.product.prodname_actions %} workflows run in response to events that occur in their repository, and only have access to the resources of the repository that they are set up for. However, custom actions can be shared across repositories and organizations, allowing developers to reuse and modify existing actions to meet their needs. {% data variables.product.prodname_actions %} also come with built-in secret management, which you can use to securely interact with third-party services and manage deploy keys safely. -_{% data variables.product.prodname_github_apps %}_ run persistently on a server or compute infrastructure that you provide or run on a user device. They can react to {% data variables.product.company_short %} webhook events as well as events from outside the {% data variables.product.prodname_dotcom %} ecosystem. They are a good option for operations that span multiple repositories or organizations, or for providing hosted services to other organizations. A {% data variables.product.prodname_github_app %} is the best choice when building a tool with functions that occur primarily outside of {% data variables.product.prodname_dotcom %} or require more execution time or permissions than what a {% data variables.product.prodname_actions %} workflow is allotted. +_{% data variables.product.prodname_github_apps %}_ run persistently on a server or compute infrastructure that you provide or run on a user device. They can react to {% data variables.product.company_short %} webhook events as well as events from outside the {% data variables.product.prodname_dotcom %} ecosystem. They are a good option for operations that span multiple repositories or organizations, or for providing hosted services to other organizations and enterprises. A {% data variables.product.prodname_github_app %} is the best choice when building a tool with functions that occur primarily outside of {% data variables.product.prodname_dotcom %} or require more execution time or permissions than what a {% data variables.product.prodname_actions %} workflow is allotted. For more information about comparing {% data variables.product.prodname_actions %} to {% data variables.product.prodname_github_apps %}, see [AUTOTITLE](/actions/creating-actions/about-custom-actions#comparing-github-actions-to-github-apps). diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation.md index d2ac68fbed59..6dd652df3980 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation.md @@ -20,7 +20,7 @@ To make an API request as an installation, you must first generate an installati Some REST API endpoints do not accept installation access tokens, and most REST API endpoints require your app to have certain permissions to use an endpoint. To see whether a REST API endpoint accepts installation access tokens and to see what permissions are required, refer to the documentation for the endpoint. -App installations can also use the GraphQL API. Similar to the REST API, the app must have certain permissions to access objects in the GraphQL API. For GraphQL requests, you should test that your app has the required permissions for the GraphQL queries and mutations that you want to make. +App installations can also use the GraphQL API. Similar to the REST API, the app must have certain permissions to access objects in the GraphQL API. For GraphQL requests, you should test that your app has the required permissions for the GraphQL queries and mutations that you want to make.{% ifversion enterprise-installed-apps %} For example, if you want to use the `createEnterpriseOrganization` mutation to create an organization in your enterprise, your app must have the `enterprise_organizations:write` permission.{% endif %} You can also use an installation access token to authenticate for HTTP-based Git access. Your app must have the "Contents" repository permission. You can then use the installation access token as the HTTP password. Replace `TOKEN` with the installation access token: `git clone https://x-access-token:TOKEN@github.com/owner/repo.git`. diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app.md index 4816a318cb41..49f5d3f1e812 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app.md @@ -12,9 +12,9 @@ shortTitle: Authenticate as an app ## About authentication as a {% data variables.product.prodname_github_app %} -You must authenticate as a {% data variables.product.prodname_github_app %} in order to make REST API requests as the application. For example, if you want to use the API to generate an installation access token for accessing organization resources, list installations across organizations for your app, or suspend an app installation, you must authenticate as an app. +You must authenticate as a {% data variables.product.prodname_github_app %} in order to make REST API requests as the application. For example, if you want to use the API to generate an installation access token for accessing organization{% ifversion enterprise-installed-apps %} or enterprise{% endif %} resources, list installations across accounts for your app, or suspend an app installation, you must authenticate as an app. -If a REST API endpoint requires you to authenticate as an app, the documentation for that endpoint will indicate that you must use a JWT to access the endpoint. The GraphQL API does not support any queries or mutations that require you to authenticate as an app. +If a REST API endpoint requires you to authenticate as an app, the documentation for that endpoint will indicate that you must use a JWT to access the endpoint. The GraphQL API does not support any queries or mutations that require you to authenticate with a JWT. ## Using a JSON Web Token (JWT) to authenticate as a {% data variables.product.prodname_github_app %} diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user.md index 94269ecbd2bb..ebec877362a0 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user.md @@ -23,12 +23,18 @@ Your app can make API requests on behalf of a user. API requests made by an app Similarly, if the request triggers a corresponding entry in the audit logs and security logs, the logs will list the user as the actor but will state that the "programmatic_access_type" is "GitHub App user-to-server token". -To make an API request on behalf of a user, the user must authorize your app. If an app is installed on an organization that includes multiple members, each member will need to authorize the app before the app can act on their behalf. An app does not need to be installed in order for a user to authorize the app. +To make an API request on behalf of a user, the user must authorize your app. If an app is installed on an organization{% ifversion enterprise-installed-apps %} or enterprise{% endif %} that includes multiple members, each member will need to authorize the app before the app can act on their behalf. An app does not need to be installed in order for a user to authorize the app. -When a user installs an app on their account or organization, they grant the app permission to access the organization and repository resources that it requested. During the installation process, they will also see a list of account permissions that the app can request for individual users. When a user authorizes an app, they grant the app permission to act on their behalf, and they grant the account permissions that the app requested. +When a user installs an app on an account, they grant the app permission to access the resources that it requested. During the installation process, they will also see a list of account permissions that the app can request for individual users. When a user authorizes an app, they grant the app permission to act on their behalf, and they grant the account permissions that the app requested. Once a user has authorized your app, you can generate a user access token, which is a type of OAuth token. You should send the user access token in the `Authorization` header of your subsequent API requests. For more information about prompting a user to authorize your app and generating a user access token, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app). +When operating on behalf of a user, your app's access is limited to ensure secure and appropriate access: + +* The app can only access resources that the user has access to. If a user does not have access to a repository, your app cannot access that repository on their behalf even if the app is installed on that repository. +* The app can only access resources that it has permission to access. If your app does not have the `Issues` permission, it cannot create or read issues for the user, even if the user has access to the repository. +* The app can only access resources in an account where it is installed. If your app is only installed on a user's personal account, it cannot access resources in an organization that the user is a member of unless the app is also installed on that organization. + Requests made with a user access token are sometimes called "user-to-server" requests. {% data reusables.user-settings.token_access_capabilities %} diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md index 022f7a0dcad2..8a9eec64c13c 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md @@ -25,7 +25,7 @@ In order to use a {% data variables.product.prodname_github_app %} to make authe 1. Register a {% data variables.product.prodname_github_app %}. Give your {% data variables.product.prodname_github_app %} registration the necessary permissions to access the desired resources. For more information, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app) and [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/choosing-permissions-for-a-github-app). 1. Store the app ID of your {% data variables.product.prodname_github_app %} as a {% data variables.product.prodname_actions %} configuration variable. You can find the app ID on the settings page for your app. The app ID is different from the client ID. For more information about navigating to the settings page for your {% data variables.product.prodname_github_app %}, see [AUTOTITLE](/apps/maintaining-github-apps/modifying-a-github-app-registration#navigating-to-your-github-app-settings). For more information about storing configuration variables, see [AUTOTITLE](/actions/learn-github-actions/variables#defining-configuration-variables-for-multiple-workflows). 1. Generate a private key for your app. Store the contents of the resulting file as a secret. (Store the entire contents of the file, including `-----BEGIN RSA PRIVATE KEY-----` and `-----END RSA PRIVATE KEY-----`.) For more information, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps). For more information about storing secrets, see [AUTOTITLE](/actions/security-guides/encrypted-secrets). -1. Install the {% data variables.product.prodname_github_app %} on your user account or organization and grant it access to any repositories that you want your workflow to access. For more information, see [AUTOTITLE](/apps/maintaining-github-apps/installing-github-apps#installing-your-private-github-app-on-your-repository). +1. Install the {% data variables.product.prodname_github_app %} on the right account and grant it permissions and access to any repositories that you want your workflow to access. For more information, see [AUTOTITLE](/apps/maintaining-github-apps/installing-github-apps#installing-your-private-github-app-on-your-repository). 1. In your {% data variables.product.prodname_actions %} workflow, create an installation access token, which you can use to make API requests. To do this, you can use a {% data variables.product.company_short %}-owned action as demonstrated in the following example. If you prefer to not use this action, you can fork and modify the [`actions/create-github-app-token` action](https://github.com/actions/create-github-app-token), or you can write a script to make your workflow create an installation token manually. For more information, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation). diff --git a/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md b/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md index b244f30ce0c7..2ae3a46553e3 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md +++ b/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md @@ -25,9 +25,19 @@ topics: Although {% data variables.product.prodname_github_apps %} don't have any permissions by default, they do have implicit permissions to read public resources when acting on behalf of a user. When a user authorizes the app to act on their behalf, the {% data variables.product.prodname_github_app %} can use the resulting user access token to make requests to the REST API and the GraphQL API to read public resources. To learn more about acting on behalf of a user, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user). -App permissions are classified as repository, organization, or account permissions. Repository permissions allow your app to access resources related to repositories that are owned by the account where the app is installed. Organization permissions allow your app to access resources related to the organization where the app is installed, if it is installed on an organization account. Account permissions allow your app to access resources related to a user if the user has also authorized your app. For more information about user authorization of apps, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user). +App permissions are classified as repository, organization,{% ifversion enterprise-installed-apps %} enterprise,{% endif %} or account permissions. -When a user installs an app on their account or organization, they see and grant the repository and organization permissions that the app requested. They will also see a list of account permissions that the app can request for individual users. When a user authorizes an app to act on their behalf, they will see and grant the account permissions that the app requested. +* Repository permissions allow your app to access resources related to repositories that are owned by the account where the app is installed. +* Organization permissions allow your app to access resources related to the organization where the app is installed, if it is installed on an organization account. +{%- ifversion enterprise-installed-apps %} +* Enterprise permissions allow the app to manage an enterprise, if it is installed on an enterprise account.{%- endif %} +* Account permissions allow your app to access resources related to a user if the user has also authorized your app. For more information about user authorization of apps, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user). + +{% ifversion enterprise-installed-apps %} + +Enterprise permissions are only available if you are creating the app in an enterprise account or an organization that is enterprise-owned. An app with enterprise permissions must be `public` or `internal` to be installed on an enterprise account. The only enterprise it can be installed on is the enterprise that owns the app or the organization that owns the app, but there are no additional restrictions on which organizations or personal accounts it can be installed on.{% endif %} + +When a user installs an app on their user account or organization, they see and grant the repository and organization permissions that the app requested.{% ifversion enterprise-installed-apps %} When they install it on their enterprise, they see and grant only the enterprise permissions that the app requested. {% endif %}They will also see a list of account permissions that the app can request for individual users. When a user authorizes an app to act on their behalf, they will see and grant the account permissions that the app requested. The success of an API request with a user access token depends on the user's permissions as well as the app's permissions. For example, if the app was granted permission to write the contents of a repository, but the user can only read the contents, then the user access token can only read the contents. The success of an API request with an installation access token only depends on the app's permissions. @@ -39,7 +49,8 @@ Some webhooks and API access requires "Administration" permissions. If your app You can modify the permissions for apps you own or manage at any time.{% ifversion enterprise-apps-public-beta %} -* When you modify the permissions of an app owned by an **enterprise account**, the changes are automatically accepted by organizations in the enterprise. +* When an enterprise owner modifies the permissions of an app owned by an **enterprise account**, the changes are automatically accepted by organizations in the enterprise.{% ifversion enterprise-app-manager %} +* When an enterprise app manager modifies the permissions of an app owned by an **enterprise account**, the changes are automatically accepted by organizations in the enterprise where the app manager is also an organization owner.{% endif %} * When you modify the permissions of an app owned by a **user or organization**,{% else %} When you do so,{% endif %} the owner of each account where the app was installed will be prompted to approve the new permissions. If the account owner does not approve the new permissions, their installation will continue to use the old permissions. For more information about modifying permissions, see [AUTOTITLE](/apps/maintaining-github-apps/editing-a-github-apps-permissions). diff --git a/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md b/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md index 6e5318781d14..0606ea6e8bed 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md +++ b/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md @@ -1,6 +1,6 @@ --- title: Making a GitHub App public or private -intro: 'When registering a {% data variables.product.prodname_github_app %}, you can make it public so that other GitHub users or organizations can install the app, or private so that you can only install it on the account that owns the app.' +intro: 'When registering a {% data variables.product.prodname_github_app %}, you can make it public so that other GitHub accounts can install the app, or private so that you can only install it on the account that owns the app.' redirect_from: - /apps/building-integrations/setting-up-and-registering-github-apps/about-installation-options-for-github-apps - /apps/building-github-apps/installation-options-for-github-apps @@ -27,8 +27,10 @@ A {% data variables.product.prodname_github_app %} can be {% ifversion fpt %}pub {% elsif ghes %} If you set your {% data variables.product.prodname_github_app %} registration to public, anyone on your {% data variables.product.prodname_ghe_server %} instance can install it, but the app is not available outside of your instance. If you set your {% data variables.product.prodname_github_app %} registration to private, it can only be installed on the account that owns the app. {% endif %} {% ifversion enterprise-apps-public-beta %} -{% data variables.product.prodname_github_apps %} owned by an enterprise account{% ifversion ghec %}, or by a {% data variables.enterprise.prodname_managed_user %} in an enterprise,{% endif %} have "internal" visibility. Internal apps can only be installed by organizations within the enterprise and authorized by users within the enterprise. Members of the enterprise and unaffiliated users can authorize these apps, but outside collaborators cannot. -{% endif %} +{% data variables.product.prodname_github_apps %} owned by an enterprise account{% ifversion ghec %}, or by a {% data variables.enterprise.prodname_managed_user %} in an enterprise,{% endif %} have "internal" visibility. Internal apps can only be installed by{% ifversion enterprise-installed-apps %} that enterprise and{% endif %} organizations within the enterprise and can only be authorized by users within the enterprise. Members of the enterprise and unaffiliated users can authorize these apps, but outside collaborators cannot. +{% endif %}{% ifversion enterprise-installed-apps %} + +If you want your organization-owned application to be installed on your enterprise, transfer it to the enterprise or make it `public` or `internal`. If it is `private` it can only be installed on the organization.{% endif %} If you want your {% data variables.product.prodname_github_app %} to be available to organizations in a {% data variables.product.prodname_ghe_server %} instance that you are not part of, then you need to take additional steps. For more information, see [AUTOTITLE](/apps/sharing-github-apps/making-your-github-app-available-for-github-enterprise-server). @@ -38,16 +40,16 @@ For information about changing the visibility of a {% data variables.product.pro ### Public installation flow -Public {% data variables.product.prodname_github_apps %} have a landing page with an **Install** button, so that other people can install the app in their repositories. {% ifversion fpt or ghec %}If your {% data variables.product.prodname_github_app %} is public to all users on {% data variables.product.github %}, you can also choose to publish it to {% data variables.product.prodname_marketplace %}. For more information, see [AUTOTITLE](/apps/publishing-apps-to-github-marketplace/github-marketplace-overview/about-github-marketplace).{% endif %} +Public {% data variables.product.prodname_github_apps %} have a landing page with an **Install** button, so that other people can install the app on their accounts. {% ifversion fpt or ghec %}If your {% data variables.product.prodname_github_app %} is public to all users on {% data variables.product.github %}, you can also choose to publish it to {% data variables.product.prodname_marketplace %}. For more information, see [AUTOTITLE](/apps/publishing-apps-to-github-marketplace/github-marketplace-overview/about-github-marketplace).{% endif %} ### Private installation flow -Private {% data variables.product.prodname_github_apps %} can only be installed on the user or organization account of the app owner. Limited information about the app will exist on a landing page for the app, but the **Install** button will only be available to organization owners and app managers for the organization that owns the app, or the personal account if the {% data variables.product.prodname_github_app %} is owned by an individual account. +Private {% data variables.product.prodname_github_apps %} can only be installed on the user or organization account of the app owner. Limited information about the app will exist on a landing page for the app, and the **Install** button will only be available to organization owners and app managers for the organization that owns the app, or the personal account if the {% data variables.product.prodname_github_app %} is owned by an individual account. {% ifversion enterprise-apps-public-beta %} ### "Internal" installation flow -Enterprise-owned {% data variables.product.prodname_github_apps %}{% ifversion ghec %} and apps owned by {% data variables.enterprise.prodname_managed_users %}{% endif %} can only be installed by organization owners of organizations within the enterprise by using the installation URL. The app can not be installed on user accounts. +Enterprise-owned {% data variables.product.prodname_github_apps %}{% ifversion ghec %} and apps owned by {% data variables.enterprise.prodname_managed_users %}{% endif %} can only be installed on {% ifversion enterprise-installed-apps %}that enterprise and{% endif %} organizations within the enterprise by using the installation URL. The app can not be installed on user accounts. {% endif %} diff --git a/content/apps/creating-github-apps/registering-a-github-app/registering-a-github-app.md b/content/apps/creating-github-apps/registering-a-github-app/registering-a-github-app.md index 703761bb0519..afc52c1999a3 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/registering-a-github-app.md +++ b/content/apps/creating-github-apps/registering-a-github-app/registering-a-github-app.md @@ -26,7 +26,7 @@ You can register a {% data variables.product.prodname_github_app %} in a few dif * Under your **personal account**. * Under an **organization you own**. * Under an **organization** that has granted you permission to manage all its apps. See [AUTOTITLE](/organizations/managing-programmatic-access-to-your-organization/adding-github-app-managers-in-your-organization).{% ifversion enterprise-apps-public-beta %} -* Under your **enterprise**, but it can only be installed on organizations within the enterprise. +* Under your **enterprise**, but it can only be installed on{% ifversion enterprise-installed-apps %} that enterprise and{% endif %} organizations within the enterprise. {% endif %} {% data reusables.apps.maximum-github-apps-allowed %} @@ -40,8 +40,8 @@ You can register a {% data variables.product.prodname_github_app %} in a few dif The name must be unique across {% data variables.product.company_short %}. You cannot use the same name as an existing {% data variables.product.company_short %} account, unless it is your own user or organization name. -1. Optionally, under "Description", type a description of your app. Users and organizations will see this description when they install your app. -1. Under "Homepage URL", type the full URL to your app's website. If you don’t have a dedicated URL and your app's code is stored in a public repository, you can use that repository URL. Or, you can use the URL of the organization or user that owns the app. +1. Optionally, under "Description", type a description of your app. Users will see this description when they install your app. +1. Under "Homepage URL", type the full URL to your app's website. If you don’t have a dedicated URL and your app's code is stored in a public repository, you can use that repository URL. Or, you can use the URL of the account that owns the app. 1. Optionally, under "Callback URL", enter the full URL to redirect to after a user authorizes the installation. You can enter up to 10 callback URLs. To add additional callback URLs, click **Add callback URL**. diff --git a/content/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps.md b/content/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps.md index ddc1ff07fa23..7a140ce78631 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps.md +++ b/content/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps.md @@ -23,7 +23,9 @@ To receive webhook events in your {% data variables.product.prodname_github_app If your {% data variables.product.prodname_github_app %} does not need to respond to webhooks or will only be used for authentication, you can turn off the webhook function for your {% data variables.product.prodname_github_app %} registration. You do not need to specify a webhook URL. -For more information about registering a {% data variables.product.prodname_github_app %}, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app). For more information about changing the webhooks that a {% data variables.product.prodname_github_app %} registration subscribes to, see [AUTOTITLE](/apps/maintaining-github-apps/modifying-a-github-app). +For more information about registering a {% data variables.product.prodname_github_app %}, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app). For more information about changing the webhooks that a {% data variables.product.prodname_github_app %} registration subscribes to, see [AUTOTITLE](/apps/maintaining-github-apps/modifying-a-github-app).{% ifversion enterprise-installed-apps %} + +Apps installed on an enterprise do not support webhooks at this time. They must be installed on organizations in order to receive webhooks.{% endif %} ## Choosing a webhook URL diff --git a/content/apps/maintaining-github-apps/about-github-app-managers.md b/content/apps/maintaining-github-apps/about-github-app-managers.md index 8f0a35d1788d..5ae5b398939e 100644 --- a/content/apps/maintaining-github-apps/about-github-app-managers.md +++ b/content/apps/maintaining-github-apps/about-github-app-managers.md @@ -1,15 +1,18 @@ --- title: About GitHub App managers -intro: 'Organization owners can grant or revoke access for a user to manage some or all of the {% data variables.product.prodname_github_app %} registrations owned by the organization.' +intro: 'App managers can manage some or all of the {% data variables.product.prodname_github_app %} registrations owned by an account.' versions: fpt: '*' ghes: '*' ghec: '*' topics: - Organizations + - Enterprise - Teams - GitHub Apps shortTitle: GitHub App managers --- -{% data reusables.apps.github-app-managers %} For more information about how to designate someone as a {% data variables.product.prodname_github_app %} manager, see [AUTOTITLE](/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization). +{% data reusables.apps.github-app-managers %} + +For more information about how to designate someone as a {% data variables.product.prodname_github_app %} manager in an organization, see [AUTOTITLE](/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization). {% ifversion enterprise-app-manager %} For more information about how to designate someone as a {% data variables.product.prodname_github_app %} manager in an enterprise, see [AUTOTITLE](/admin/managing-your-enterprise-account/adding-and-removing-github-app-managers-in-your-enterprise).{% endif %} diff --git a/content/apps/maintaining-github-apps/deleting-a-github-app.md b/content/apps/maintaining-github-apps/deleting-a-github-app.md index 5077cd4355a3..c2fcfa458d7a 100644 --- a/content/apps/maintaining-github-apps/deleting-a-github-app.md +++ b/content/apps/maintaining-github-apps/deleting-a-github-app.md @@ -41,4 +41,4 @@ When you delete a {% data variables.product.prodname_github_app %} registration, 1. In the confirmation box, type the name of the {% data variables.product.prodname_github_app %} to confirm you want to delete it. 1. Click **I understand the consequences, delete this {% data variables.product.prodname_github_app %}**. -These steps only delete your {% data variables.product.prodname_github_app %} registration, and all of the organization and account installations it may have. They do not delete any code that you wrote for your app. However, any code that relies on your {% data variables.product.prodname_github_app %}'s credentials will no longer function. +These steps only delete your {% data variables.product.prodname_github_app %} registration, and all of the installations it may have. They do not delete any code that you wrote for your app. However, any code that relies on your {% data variables.product.prodname_github_app %}'s credentials will no longer function. diff --git a/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md b/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md index 2265f13240b8..a121cde4067d 100644 --- a/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md +++ b/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md @@ -1,6 +1,6 @@ --- title: Managing allowed IP addresses for a GitHub App -intro: 'You can add an IP allow list to your {% data variables.product.prodname_github_app %} registration to prevent your app from being blocked by an organization''s own allow list.' +intro: 'You can add an IP allow list to your {% data variables.product.prodname_github_app %} registration to prevent your app from being blocked by an enterprise or organization''s own allow list.' versions: fpt: '*' ghec: '*' @@ -13,16 +13,16 @@ redirect_from: ## About IP address allow lists for {% data variables.product.prodname_github_apps %} -Enterprise and organization owners can restrict access to assets by configuring an IP address allow list. This list specifies the IP addresses that are allowed to connect. For more information, see [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise). +Enterprise and organization owners can restrict access to assets by configuring an IP address allow list. This list specifies the IP addresses that actors can use to access their resources. For more information, see [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise). -When an organization has an allow list, third-party applications that connect via a {% data variables.product.prodname_github_app %} will be denied access unless either of the following condition sets are true: +When an organization or enterprise has an allow list, third-party applications that connect via a {% data variables.product.prodname_github_app %} will be denied access unless either of the following condition sets are true: -* The creator of the {% data variables.product.prodname_github_app %} has configured an allow list for the application that specifies the IP addresses at which their application runs. See below for details of how to do this, and -* The organization owner has chosen to permit the addresses in the {% data variables.product.prodname_github_app %}'s allow list to be added to their own allow list. For more information, see [Managing allowed IP addresses for your organization](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps){% ifversion fpt %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}.{% endif %} +* The creator of the {% data variables.product.prodname_github_app %} has configured an allow list for the application that specifies the IP addresses at which their application runs. See below for details of how to do this, **and** +* The organization or enterprise owner has chosen to permit the addresses in the {% data variables.product.prodname_github_app %}'s allow list to be added to their own allow list. For more information, see [Managing allowed IP addresses for your organization](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps){% ifversion fpt %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}.{% endif %} or -* The organization owner has added an IP allow list entry for the IP addresses from which the application runs. See [Adding an allowed IP address](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address){% ifversion fpt %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}.{% endif %} +* The organization or enterprise owner has added an IP allow list entry for the IP addresses from which the application runs. See [Adding an allowed IP address](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address){% ifversion fpt %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}.{% endif %} {% data reusables.apps.ip-allow-list-only-apps %} diff --git a/content/apps/maintaining-github-apps/modifying-a-github-app-registration.md b/content/apps/maintaining-github-apps/modifying-a-github-app-registration.md index 12bb252a1a03..95214cd4d5ec 100644 --- a/content/apps/maintaining-github-apps/modifying-a-github-app-registration.md +++ b/content/apps/maintaining-github-apps/modifying-a-github-app-registration.md @@ -77,7 +77,13 @@ If you select **Request user authorization (OAuth) during installation**, you wi You can change the access permissions that are granted to your {% data variables.product.prodname_github_app %} using the following steps. -When you change the **repository** or **organization** permissions of an app, each account where the app is installed will need to approve the new permissions. When you change the **account** permissions of an app, each user that has authorized the app will need to approve the permission changes. In both cases, {% data variables.product.prodname_dotcom %} will send an email to each organization owner or user, notifying them of the request to update the app's permissions. Updated permissions won't take effect on an installation or user authorization until the new permissions are approved. You can use the [installation webhook](/webhooks-and-events/webhooks/webhook-events-and-payloads?actionType=new_permissions_accepted#installation) to find out when people accept new permissions for your app. +When you add new **repository**{% ifversion enterprise-installed-apps %}, **organization**, or **enterprise**{% else %} or **organization**{% endif %} permissions for an app, each account where the app is installed will need to approve the new permissions. When you add **account** permissions for an app, each user that has authorized the app will need to approve the permission changes. In both cases, {% data variables.product.prodname_dotcom %} will send an email to each organization owner or user, notifying them of the request to update the app's permissions. Updated permissions won't take effect on an installation or user authorization until the new permissions are approved. You can use the [installation webhook](/webhooks-and-events/webhooks/webhook-events-and-payloads?actionType=new_permissions_accepted#installation) to find out when people accept new permissions for your app. + +If you remove permissions or webhooks from your {% data variables.product.prodname_github_app %}, the changes will take effect immediately. If you remove permissions that were previously granted to your app, the app will no longer be able to access those resources. + +{% ifversion enterprise-apps-public-beta %}If you change the permissions of an app owned by an enterprise, the changes will take effect immediately for all installations of the app within the enterprise{% ifversion enterprise-app-manager %} if you are an enterprise owner. If you are an app manager, the changes will only be automatically accepted in organizations where you are an organization owner{% endif %}. + +Updates cannot be automatically accepted if you add repository permissions to an app for the first time. In that case, each organization owner will need to approve the update so that they can choose which repositories the app has access to.{% endif %} Changing the permissions of an app may also change the webhooks that your app can subscribe to and the actions that your app can take with the API. See [AUTOTITLE](/apps/creating-github-apps/creating-github-apps/choosing-permissions-for-a-github-app). @@ -114,7 +120,7 @@ You can change the webhook events that a {% data variables.product.prodname_gith You can change the visibility settings of your {% data variables.product.prodname_github_app %} to control who can install it. Public apps cannot be made private if they're installed on other accounts. See [AUTOTITLE](/apps/creating-github-apps/creating-github-apps/making-a-github-app-public-or-private). {% ifversion enterprise-apps-public-beta %} -You can't change the visibility of an {% data variables.product.prodname_github_app %} owned by an enterprise. {% data variables.product.prodname_github_apps %} owned by an enterprise can only be installed on organizations within the enterprise. +You can't change the visibility of an {% data variables.product.prodname_github_app %} owned by an enterprise. {% data variables.product.prodname_github_apps %} owned by an enterprise can only be installed on organizations within the enterprise{% ifversion enterprise-installed-apps %} or the enterprise itself{% endif %}. {% endif %} {% data reusables.apps.navigate-to-app-settings-this-article %} diff --git a/content/apps/maintaining-github-apps/suspending-a-github-app-installation.md b/content/apps/maintaining-github-apps/suspending-a-github-app-installation.md index 41d4a1089a13..2e1c4c3cb4dd 100644 --- a/content/apps/maintaining-github-apps/suspending-a-github-app-installation.md +++ b/content/apps/maintaining-github-apps/suspending-a-github-app-installation.md @@ -19,8 +19,8 @@ shortTitle: Suspend an installation When a {% data variables.product.prodname_github_app %} is suspended for an installation, the {% data variables.product.prodname_github_app %} cannot access resources owned by that installation account. For example, you might want to suspend your {% data variables.product.prodname_github_app %} if you are worried that your app's credentials were leaked. -The owner of a {% data variables.product.prodname_github_app %} can suspend the {% data variables.product.prodname_github_app %} for a specific installation. If an organization has designated any app managers for an app owned by the organization, the app managers can also suspend the {% data variables.product.prodname_github_app %} for a specific installation. {% data variables.product.prodname_github_app %} owners and managers can only use the API to suspend their app, and they must suspend the app individually for each installation. For more information, see [AUTOTITLE](/rest/apps/apps#suspend-an-app-installation). +The owner of a {% data variables.product.prodname_github_app %} and designated app managers can suspend the {% data variables.product.prodname_github_app %} for a specific installation. {% data variables.product.prodname_github_app %} owners and managers can only use the API to suspend their app, and they must suspend the app individually for each installation. For more information, see [AUTOTITLE](/rest/apps/apps#suspend-an-app-installation). -Users who installed a {% data variables.product.prodname_github_app %} on their personal account or organization can also suspend a {% data variables.product.prodname_github_app %} from accessing resources owned by their account. People who have installed a {% data variables.product.prodname_github_app %} can only use the {% data variables.product.company_short %} web interface to suspend their app. For more information, see [AUTOTITLE](/apps/using-github-apps/reviewing-and-modifying-installed-github-apps). +Users who installed a {% data variables.product.prodname_github_app %} on their personal account or an account they own can also suspend a {% data variables.product.prodname_github_app %} from accessing resources owned by their account. People who have installed a {% data variables.product.prodname_github_app %} can only use the {% data variables.product.company_short %} web interface to suspend their app. For more information, see [AUTOTITLE](/apps/using-github-apps/reviewing-and-modifying-installed-github-apps). A {% data variables.product.prodname_github_app %} must be unsuspended in the same way it was suspended. If an owner or manager of a {% data variables.product.prodname_github_app %} suspended the app, they can also unsuspend it, but the owner of an account where the app is installed cannot unsuspend it. Similarly, if the owner of an account where a {% data variables.product.prodname_github_app %} is installed suspended the app, they can also unsuspend it, but an owner or manager of the app cannot unsuspend it. diff --git a/content/apps/maintaining-github-apps/transferring-ownership-of-a-github-app.md b/content/apps/maintaining-github-apps/transferring-ownership-of-a-github-app.md index 257cb3826764..f738f96b2953 100644 --- a/content/apps/maintaining-github-apps/transferring-ownership-of-a-github-app.md +++ b/content/apps/maintaining-github-apps/transferring-ownership-of-a-github-app.md @@ -17,7 +17,7 @@ shortTitle: Transfer ownership ## About transferring {% data variables.product.prodname_github_apps %} -The owner of a {% data variables.product.prodname_github_app %} registration can transfer ownership of the {% data variables.product.prodname_github_app %} registration to another account. If an organization has designated any app managers for an app owned by the organization, the app managers can also transfer ownership of the {% data variables.product.prodname_github_app %} registration. For more information about app managers, see [AUTOTITLE](/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization). +The owner of a {% data variables.product.prodname_github_app %} registration can transfer ownership of the {% data variables.product.prodname_github_app %} registration to another account. App managers can also transfer ownership of the {% data variables.product.prodname_github_app %} registration. For more information about app managers, see [AUTOTITLE](/apps/maintaining-github-apps/about-github-app-managers). You can transfer apps from a user or organization to another account. You cannot transfer ownership to a team. diff --git a/content/apps/sharing-github-apps/registering-a-github-app-from-a-manifest.md b/content/apps/sharing-github-apps/registering-a-github-app-from-a-manifest.md index f145ec348652..00994f8d1d7b 100644 --- a/content/apps/sharing-github-apps/registering-a-github-app-from-a-manifest.md +++ b/content/apps/sharing-github-apps/registering-a-github-app-from-a-manifest.md @@ -19,7 +19,7 @@ shortTitle: App manifest ## About {% data variables.product.prodname_github_app %} Manifests {% ifversion enterprise-apps-public-beta %} ->[!NOTE] {% data variables.product.prodname_github_app %} Manifests are not available for enterprise-owned {% data variables.product.prodname_github_apps %}. +>[!NOTE] {% data variables.product.prodname_github_app %} Manifests are not available for enterprise-owned {% data variables.product.prodname_github_apps %}.{% ifversion enterprise-installed-apps %} They do not support enterprise permissions at this time.{% endif %} {% endif %} When someone registers a {% data variables.product.prodname_github_app %} from a manifest, they only need to follow a URL and name the app. The manifest includes the permissions, events, and webhook URL needed to automatically register the app. The manifest flow creates the {% data variables.product.prodname_github_app %} registration and generates the app's webhook secret, private key (PEM file), client secret, and {% data variables.product.prodname_github_app %} ID. The person who creates the {% data variables.product.prodname_github_app %} registration from the manifest will own the {% data variables.product.prodname_github_app %} registration and can choose to edit the registration's settings, delete it, or transfer it to another person on {% data variables.product.prodname_dotcom %}. @@ -179,7 +179,7 @@ You must complete this step of the {% data variables.product.prodname_github_app For more information about the endpoint's response, see [Create a {% data variables.product.prodname_github_app %} from a manifest](/rest/apps/apps#create-a-github-app-from-a-manifest). -When the final step in the manifest flow is completed, the person registering the app from the flow will be an owner of a registered {% data variables.product.prodname_github_app %} that they can install on any of their personal repositories. They can choose to extend the app using the {% data variables.product.prodname_dotcom %} APIs, transfer ownership to someone else, or delete it at any time. +When the final step in the manifest flow is completed, the person registering the app from the flow will be an owner of a registered {% data variables.product.prodname_github_app %} that they can install on any of their accounts. They can choose to extend the app using the {% data variables.product.prodname_dotcom %} APIs, transfer ownership to someone else, or delete it at any time. ## Using Probot to implement the {% data variables.product.prodname_github_app %} Manifest flow diff --git a/content/apps/sharing-github-apps/registering-a-github-app-using-url-parameters.md b/content/apps/sharing-github-apps/registering-a-github-app-using-url-parameters.md index bf607762a6c7..f86da1c7d2b4 100644 --- a/content/apps/sharing-github-apps/registering-a-github-app-using-url-parameters.md +++ b/content/apps/sharing-github-apps/registering-a-github-app-using-url-parameters.md @@ -36,8 +36,7 @@ To create a custom configuration URL for a {% data variables.product.prodname_gi * To register an app on a personal account, add URL parameters to: `{% data variables.product.oauth_host_code %}/settings/apps/new` * To register an app on an organization account, add URL parameters to: `{% data variables.product.oauth_host_code %}/organizations/ORGANIZATION/settings/apps/new`. Replace `ORGANIZATION` with the name of the organization where you'd like the customer to register the app. {% ifversion enterprise-apps-public-beta %} - - >[!NOTE] The URL parameters for registering a {% data variables.product.prodname_github_app %} are also available for apps owned by enterprises. Since you can only install enterprise-owned apps on organizations within that enterprise, you can use the custom configuration URL for organizations.{% endif %} +* To register an app on an enterprise account, add URL parameters to: `{% data variables.product.oauth_host_code %}/enterprises/ENTERPRISE/settings/apps/new`. Replace `ENTERPRISE` with the name of the enterprise where you'd like the customer to register the app.{% endif %} On the app registration page, the person registering the app can edit the preselected values before submitting the app. If you do not include parameters for required values (like `name`) in the URL query string, the person registering the app will need to input a value before they can register the app. @@ -71,7 +70,9 @@ Parameter name | Type | Description You can use query parameters to select the permissions for the {% data variables.product.prodname_github_app %} registration. For the URL query parameter, use the permission name as the query parameter name, and set the query value to one of the possible values for that permission set. -For example, to select "Read & write" permissions in the user interface for `contents`, your query string would include `contents=write`. To select "Read-only" permissions in the user interface for `blocking`, your query string would include `blocking=read`. To select "No access" in the user interface for `checks`, your query string would not include the `checks` permission. +For example, to select "Read & write" permissions in the user interface for `contents`, your query string would include `contents=write`. To select "Read-only" permissions in the user interface for `blocking`, your query string would include `blocking=read`. To select "No access" in the user interface for `checks`, your query string would not include the `checks` permission.{% ifversion enterprise-installed-apps %} + +If the owning account is not an enterprise or an enterprise-owned organization, it cannot request enterprise permissions.{% endif %} For more information about permissions and {% data variables.product.prodname_github_apps %}, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/choosing-permissions-for-a-github-app). diff --git a/content/apps/sharing-github-apps/sharing-your-github-app.md b/content/apps/sharing-github-apps/sharing-your-github-app.md index 1377a356f734..fe2ffb46bb73 100644 --- a/content/apps/sharing-github-apps/sharing-your-github-app.md +++ b/content/apps/sharing-github-apps/sharing-your-github-app.md @@ -25,9 +25,9 @@ For more information about how users can install your app from {% data variables ## Sharing your {% data variables.product.prodname_github_app %} via an install link {% ifversion fpt or ghec %} -If your {% data variables.product.prodname_github_app %} is public, other users and organizations {% ifversion ghec %}within your enterprise {% endif %}can install your app. For more information about making your app public, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/making-a-github-app-public-or-private). +If your {% data variables.product.prodname_github_app %} is public, other users and organizations can install your app. For more information about making your app public, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/making-a-github-app-public-or-private). -{% ifversion ghec %}If you are an {% data variables.product.prodname_emu %}, you can only share your app with users or organizations within your enterprise.{% endif %} +{% ifversion ghec %}If you are an {% data variables.product.prodname_emu %}{% ifversion enterprise-apps-public-beta %} or your app is owned by your enterprise account{% endif %}, you can only share your app with accounts within your enterprise.{% endif %} {% else %} {% endif %} diff --git a/content/apps/using-github-apps/about-using-github-apps.md b/content/apps/using-github-apps/about-using-github-apps.md index f953d4c5e008..64e3c0412c8d 100644 --- a/content/apps/using-github-apps/about-using-github-apps.md +++ b/content/apps/using-github-apps/about-using-github-apps.md @@ -17,7 +17,7 @@ topics: ## Finding {% data variables.product.prodname_github_apps %} {% ifversion fpt or ghec %} -You can discover {% data variables.product.prodname_github_apps %} on [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace). {% else %}You cannot install third-party applications on your enterprise. If you want to use the functionality of a third-party app, you can contact the app developer about creating an app from a manifest or from URL parameters. For more information, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest) and [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-using-url-parameters).{% endif %} +You can discover {% data variables.product.prodname_github_apps %} on [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace). {% else %}You cannot install third-party applications on your enterprise. If you want to use the functionality of a third-party app, you can contact the app developer about creating an app from a manifest or from URL parameters. For more information, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest) and [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-using-url-parameters).{% endif %}{% ifversion enterprise-installed-apps %} You cannot install third-party applications on your enterprise account—they must be owned by your enterprise or an organization in your enterprise.{% endif %} {% data reusables.data-residency.github-marketplace-apps-unsupported %} @@ -25,9 +25,11 @@ You can also build your own {% data variables.product.prodname_github_app %}. Fo ## Using {% data variables.product.prodname_github_apps %} -In order to use a {% data variables.product.prodname_github_app %}, you must install the app on your user or organization account. When you install the app, you grant the app permission to read or modify your repository and organization data. The specific permissions depends on the app, and {% data variables.product.company_short %} will tell you what permissions the app requested before you install the app. When you install the app, you will also specify what repositories the app can access. If the app requires any additional configuration, the app will direct you to do so. For more information, see {% ifversion ghec or fpt %}[AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-personal-account), [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-organizations),{% endif %} [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-a-third-party) and [AUTOTITLE](/apps/using-github-apps/installing-your-own-github-app). +In order to use a {% data variables.product.prodname_github_app %}, you must install the app on your {% ifversion enterprise-installed-apps %}enterprise, {% endif %}user or organization account. When you install the app, you grant the app permission to read or modify your account's data. The specific permissions depends on the app, and {% data variables.product.company_short %} will tell you what permissions the app requested before you install the app. When you install the app on your organization or user account, you will also specify what repositories the app can access.{% ifversion enterprise-installed-apps %} Apps installed on an enterprise account can only manage the enterprise itself, and are not granted organization or repository permissions.{% endif %} -You may also need to authorize a {% data variables.product.prodname_github_app %} to verify your identity, know what resources you can access, or take actions on your behalf. If you need to authorize the app, the app will prompt you to do so. For more information, see [AUTOTITLE](/apps/using-github-apps/authorizing-github-apps). + If the app requires any additional configuration, the app will direct you to do so. For more information, see {% ifversion ghec or fpt %}[AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-personal-account), [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-organizations),{% endif %} [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-a-third-party) and [AUTOTITLE](/apps/using-github-apps/installing-your-own-github-app). + +You may also need to authorize a {% data variables.product.prodname_github_app %} to verify your identity, know what resources you can access, or take actions on your behalf. If you need to authorize the app, the app will prompt you to do so. When an app acts on your behalf, it has access to the same resources that you do as long as the app is installed on the account that owns the resources and you have given it the right permissions. For more information, see [AUTOTITLE](/apps/using-github-apps/authorizing-github-apps). Occasionally, the {% data variables.product.prodname_github_app %} will request updated permissions. {% data variables.product.company_short %} will notify you when this occurs. In order for the app to continue to function, you will need to review and approve the updated permissions. For more information, see [AUTOTITLE](/apps/using-github-apps/approving-updated-permissions-for-a-github-app). diff --git a/content/apps/using-github-apps/approving-updated-permissions-for-a-github-app.md b/content/apps/using-github-apps/approving-updated-permissions-for-a-github-app.md index 1a54fbcfbf50..f69f8d0ee446 100644 --- a/content/apps/using-github-apps/approving-updated-permissions-for-a-github-app.md +++ b/content/apps/using-github-apps/approving-updated-permissions-for-a-github-app.md @@ -10,7 +10,7 @@ shortTitle: Approve new permissions Occasionally, a {% data variables.product.prodname_github_app %} that you have installed will request additional permissions. This may happen if the {% data variables.product.prodname_github_app %} owner wants the app to make additional API requests or respond to additional webhook events. For more information about what different permissions enable a {% data variables.product.prodname_github_app %} to do, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/choosing-permissions-for-a-github-app). -When a {% data variables.product.prodname_github_app %} requests additional organization or repository permissions, {% data variables.product.company_short %} will notify you if the app is installed on your personal account or on an organization that you own. +When a {% data variables.product.prodname_github_app %} requests additional permissions, {% data variables.product.company_short %} will notify you if the app is installed on your personal account or on an account that you own. You can choose whether to accept the additional permissions. If you do not approve the additional permissions, the {% data variables.product.prodname_github_app %} will still retain its current permissions. The {% data variables.product.prodname_github_app %} may not function as expected if you do not approve the additional permissions. diff --git a/content/apps/using-github-apps/authorizing-github-apps.md b/content/apps/using-github-apps/authorizing-github-apps.md index e9aebe537448..77a424df99d4 100644 --- a/content/apps/using-github-apps/authorizing-github-apps.md +++ b/content/apps/using-github-apps/authorizing-github-apps.md @@ -30,7 +30,7 @@ You can review and revoke your authorization at any time. For more information, {% ifversion ghec %} > [!NOTE] -> If your organization uses SAML SSO and you cannot see your organization's resources after you authorize a {% data variables.product.prodname_github_app %}, you may need to reauthorize the app after starting an active SAML session for your organization. For more information, see [AUTOTITLE](/apps/using-github-apps/saml-and-github-apps). +> If your organization uses SSO and you cannot see your organization's resources after you authorize a {% data variables.product.prodname_github_app %}, you may need to reauthorize the app after starting an active SSO session for your organization. For more information, see [AUTOTITLE](/apps/using-github-apps/saml-and-github-apps). {% endif %} diff --git a/content/apps/using-github-apps/index.md b/content/apps/using-github-apps/index.md index 6292cec8d466..7f8b47f340f9 100644 --- a/content/apps/using-github-apps/index.md +++ b/content/apps/using-github-apps/index.md @@ -16,6 +16,7 @@ children: - /installing-a-github-app-from-github-marketplace-for-your-organizations - /installing-a-github-app-from-a-third-party - /installing-your-own-github-app + - /installing-a-github-app-on-your-enterprise - /requesting-a-github-app-from-your-organization-owner - /authorizing-github-apps - /approving-updated-permissions-for-a-github-app diff --git a/content/apps/using-github-apps/installing-a-github-app-from-a-third-party.md b/content/apps/using-github-apps/installing-a-github-app-from-a-third-party.md index 626c0db61052..940bc3857b93 100644 --- a/content/apps/using-github-apps/installing-a-github-app-from-a-third-party.md +++ b/content/apps/using-github-apps/installing-a-github-app-from-a-third-party.md @@ -1,6 +1,6 @@ --- title: Installing a GitHub App from a third party -intro: 'You can install {% data variables.product.prodname_github_apps %} directly from the app owner to use on your personal account or organizations.' +intro: 'You can install {% data variables.product.prodname_github_apps %} directly from the app owner to use on your account.' versions: fpt: '*' ghec: '*' @@ -38,21 +38,24 @@ For more information about authorizing {% data variables.product.prodname_github ## Requirements to install a {% data variables.product.prodname_github_app %} -Anyone can install {% data variables.product.prodname_github_apps %} on their personal account. +Anyone can install {% data variables.product.prodname_github_apps %} on their personal account{% ifversion ghec %}, unless they are an {% data variables.product.prodname_emu %}{% endif %}. -Organization owners can install {% data variables.product.prodname_github_apps %} on their organization. +Organization owners can install {% data variables.product.prodname_github_apps %} on their organization.{% ifversion enterprise-installed-apps %} + +Enterprise owners can install {% data variables.product.prodname_github_apps %} on their enterprise accounts, if the application requests enterprise permissions and is owned by the enterprise or one of its organizations. +{% endif %} Admins of repositories that are owned by an organization can also install {% data variables.product.prodname_github_apps %} on the organization if they only grant the app access to repositories that they are an admin of and if the app does not request any organization permissions or the "repository administration" permission. Organization owners can prevent outside collaborators who are repository admins from installing {% data variables.product.prodname_github_apps %}. Organization members who are not organization owners or repository admins can still select the organization during the install process. Instead of installing the app, {% data variables.product.company_short %} will send a notification to the organization owner to request the organization owner to install the app. -The "app manager" role in an organization does not give a person the ability to install a {% data variables.product.prodname_github_app %} in the organization. See [AUTOTITLE](/apps/maintaining-github-apps/about-github-app-managers). +The "app manager" role does not give a person the ability to install a {% data variables.product.prodname_github_app %} on the organization{% ifversion enterprise-app-manager %} or enterprise{% endif %}. See [AUTOTITLE](/apps/maintaining-github-apps/about-github-app-managers). ## Installing a {% data variables.product.prodname_github_app %} During the installation process, the app owner will direct you to a {% data variables.product.company_short %} URL to install the {% data variables.product.prodname_github_app %}. The URL will look something like `{% data variables.product.oauth_host_code %}/{% ifversion ghes %}github-apps{% else %}apps{% endif %}/APP-NAME/installations/new`, where `APP-NAME` is the name of the {% data variables.product.prodname_github_app %}. -1. Select the location where you want to install the {% data variables.product.prodname_github_app %}. You can select your personal account or an organization that you are a member of. +1. Select the location where you want to install the {% data variables.product.prodname_github_app %}. You can select your personal account or an organization that you are a member of.{% ifversion enterprise-installed-apps %} If you are an enterprise owner, you can also choose to install the app on your enterprise, if the app supports enterprises.{% endif %} {% ifversion ghec %} @@ -68,6 +71,6 @@ During the installation process, the app owner will direct you to a {% data vari If the app creates any repositories, the app will automatically be granted access to those repositories as well. 1. Review the permissions that the app is requesting. For more information about the REST API requests the {% data variables.product.prodname_github_app %} can make with those permissions, see [AUTOTITLE](/rest/overview/permissions-required-for-github-apps). -1. Click **Install**, **Install and request**, or **Request**. The button that is presented depends on whether your organization owner must approve none, some, or all of the requested access for the app. For more information, see [Requirements to install a {% data variables.product.prodname_github_app %}](#requirements-to-install-a-github-app). +1. Click **Install**, **Install and request**, or **Request**. The button that is presented depends on whether your organization owner must approve none, some, or all of the requested access for the app.{% ifversion enterprise-installed-apps %} Enterprise installations cannot be requested—the enterprise owner must install the app directly.{% endif %} For more information, see [Requirements to install a {% data variables.product.prodname_github_app %}](#requirements-to-install-a-github-app). {% endif %} diff --git a/content/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-organizations.md b/content/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-organizations.md index ab4abd8ddbff..a236644844dd 100644 --- a/content/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-organizations.md +++ b/content/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-organizations.md @@ -48,7 +48,7 @@ For enterprises that pay by credit card, enterprise owners who are also organiza Admins of repositories that are owned by an organization can also install {% data variables.product.prodname_github_apps %} on the organization if they only grant the app access to repositories that they are an admin of and if the app does not request any organization permissions or the "repository administration" permission. Organization owners can prevent outside collaborators who are repository admins from installing {% data variables.product.prodname_github_apps %}. -The "app manager" role in an organization does not give a person the ability to install a {% data variables.product.prodname_github_app %} in the organization. For more information, see [AUTOTITLE](/apps/maintaining-github-apps/about-github-app-managers). +The "app manager" role does not give a person the ability to install a {% data variables.product.prodname_github_app %} in the organization{% ifversion enterprise-app-manager %} or enterprise{% endif %}. For more information, see [AUTOTITLE](/apps/maintaining-github-apps/about-github-app-managers). {% ifversion ghec %} diff --git a/content/apps/using-github-apps/installing-a-github-app-on-your-enterprise.md b/content/apps/using-github-apps/installing-a-github-app-on-your-enterprise.md new file mode 100644 index 000000000000..87e1511ed8c1 --- /dev/null +++ b/content/apps/using-github-apps/installing-a-github-app-on-your-enterprise.md @@ -0,0 +1,73 @@ +--- +title: Installing a GitHub App on your enterprise +intro: 'You can install {% data variables.product.prodname_github_apps %} on your enterprise to manage your enterprise account and perform enterprise-level operations.' +versions: + feature: enterprise-installed-apps +shortTitle: Install apps on your enterprise +permissions: 'Enterprise owners can install {% data variables.product.prodname_github_apps %} on their enterprise. App managers cannot install apps at the enterprise level.' +--- + +> [!NOTE] +> Enterprise-installed {% data variables.product.prodname_github_apps %} are in {% data variables.release-phases.public_preview %} and subject to change. + +## About installing {% data variables.product.prodname_github_apps %} on your enterprise + +Enterprise-installed {% data variables.product.prodname_github_apps %} are apps that request enterprise-level permissions and can perform operations on your enterprise account. Unlike organization or user installations, they do not have access to any organization or repository permissions—they only manage the enterprise itself. + +When an enterprise owner installs a {% data variables.product.prodname_github_app %} on your enterprise, the app will be granted the enterprise permissions it requested. These permissions allow the app to perform operations such as creating organizations in the enterprise, installing applications across organizations, and managing SCIM provisioning. + +## Requirements to install a {% data variables.product.prodname_github_app %} on your enterprise + +The {% data variables.product.prodname_github_app %} must request enterprise-level permissions. It can request other permissions as well, but only the enterprise permissions will be granted during installation. + +The app must be owned by your enterprise or an organization within your enterprise. You cannot install apps owned by an account outside your enterprise. + +## Installing a {% data variables.product.prodname_github_app %} on your enterprise + +To install an app on your enterprise, navigate to the {% data variables.product.prodname_github_app %} installation page. This may be provided by the app developer as an installation link, or you can find it in the app's registration. The URL will look something like `{% data variables.product.oauth_host_code %}/apps/APP-NAME/installations/new`, where `APP-NAME` is the name of the {% data variables.product.prodname_github_app %}. + +If the app can be installed, the list of available installation locations will include your enterprise. You can select your enterprise to install the app. + +After installation, the app will be able to create an installation token for your enterprise or sign in enterprise members in order to act on their behalf at the enterprise level. Acting on a user's behalf requires the user to be able to perform the desired operations within the enterprise. For example, if the app needs to invite a user to an enterprise, the user must have permission to invite members to the enterprise as well. + +## What enterprise-installed apps can do + +Enterprise-installed {% data variables.product.prodname_github_apps %} cannot call every enterprise API, but several APIs have already been updated to support GitHub Apps. These APIs and GraphQL mutations include: + +* [List and create organizations in your enterprise](/graphql/reference/mutations#createenterpriseorganization) +* [Manage users in your enterprise](/graphql/reference/objects#enterprise) +* Create and manage {% data variables.product.prodname_github_app %} installations in your organizations +* Manage enterprise custom repository properties +* Call the enterprise SCIM APIs + +Check the [changelog](https://github.blog/changelog/) for updates on new APIs and permissions for {% data variables.product.prodname_github_apps %}. + +For more information about available permissions and API endpoints, see [AUTOTITLE](/rest/authentication/permissions-required-for-github-apps). + +{% ifversion not ghes %} + +## Rate limits for enterprise-installed {% data variables.product.prodname_github_apps %} + +The installation token for an enterprise-installed {% data variables.product.prodname_github_apps %} has the same rate limit as a {% data variables.product.prodname_ghe_cloud %} organization. Rate limits are per installation. For example, if an app is installed on an enterprise and two organizations, it will require 3 installation tokens to access them and have a full, independent rate limit budget for each installation. For more information, see [AUTOTITLE](/rest/overview/rate-limits-for-the-rest-api) and [AUTOTITLE](/graphql/overview/resource-limitations). +{% endif %} + +## Current limitations + +Enterprise-installed {% data variables.product.prodname_github_apps %} are currently in {% data variables.release-phases.public_preview %} with the following limitations. + +### API support + +Not all APIs support enterprise-installed {% data variables.product.prodname_github_apps %} yet. As more permissions are built and APIs updated, support will become broader. For more information about the APIs and permissions that support enterprise-installed {% data variables.product.prodname_github_apps %}, see [AUTOTITLE](/rest/authentication/permissions-required-for-github-apps). + +### Webhook support + +Enterprise installations do not currently support webhooks. Apps installed at the enterprise level cannot receive webhook events for enterprise-level activities. Install them on organizations or repositories to receive webhook events for those resources. + +### Organization access + +Enterprise installations are not granted access to organizations or repositories within your enterprise, with the exception of the organization installations API. To access organization or repository resources, you must install the app separately on each organization where access is needed. + +## Next steps + +* To grant the app access to specific organizations, install it on those organizations. For more information, see [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-a-third-party). +* Learn about managing apps installed in your organizations. For more information, see [AUTOTITLE](/apps/using-github-apps/reviewing-and-modifying-installed-github-apps). diff --git a/content/apps/using-github-apps/installing-your-own-github-app.md b/content/apps/using-github-apps/installing-your-own-github-app.md index 6ae920fc226a..41e90d63de1e 100644 --- a/content/apps/using-github-apps/installing-your-own-github-app.md +++ b/content/apps/using-github-apps/installing-your-own-github-app.md @@ -1,6 +1,6 @@ --- title: Installing your own GitHub App -intro: 'You can install a {% data variables.product.prodname_github_app %} that you created on the personal or organization account that owns the app. If your app is public, the {% data variables.product.prodname_github_app %} can also be installed on other accounts.' +intro: 'You can install a {% data variables.product.prodname_github_app %} that you created on the account that owns the app. If your app is public, the {% data variables.product.prodname_github_app %} can also be installed on other accounts.' redirect_from: - /apps/installing-github-apps - /developers/apps/installing-github-apps @@ -20,9 +20,9 @@ shortTitle: Install your own app After creating a {% data variables.product.prodname_github_app %}, you can install it based on its visibility. -* **Only on this account:** The {% data variables.product.prodname_github_app %} can only be installed on the organization or user account that created it.{% ifversion ghec %} If you are an {% data variables.product.prodname_emu %}, this option is not available for apps you create.{% ifversion enterprise-apps-public-beta %} This visibility is not available for apps registered by an enterprise.{% endif %}{% endif %} -* **Any account:** You can install this {% data variables.product.prodname_github_app %} on your user account or any organization account where you are an organization owner.{% ifversion enterprise-apps-public-beta %} This visibility is not available for apps registered by an enterprise. -* **Only enterprise organizations:** If the {% data variables.product.prodname_github_app %} is owned by an enterprise, you can only install the app on organizations within the enterprise. Organizations where you are an organization owner will appear in the installation options.{% endif %}{% ifversion ghec %} +* **Only on this account:** The {% data variables.product.prodname_github_app %} can only be installed on the account that created it.{% ifversion enterprise-apps-public-beta %} This visibility is not available for apps{% ifversion ghec %} created by a {% data variables.enterprise.prodname_managed_user %} or{% endif %} registered by an enterprise.{% endif %} +* **Any account:** You can install this {% data variables.product.prodname_github_app %} on any account you control.{% ifversion enterprise-apps-public-beta %} This visibility is not available for apps registered by an enterprise. +* **Only enterprise organizations:** If the {% data variables.product.prodname_github_app %} is owned by an enterprise, you can only install the app on{% ifversion enterprise-installed-apps %} that enterprise or{% endif %} organizations within the enterprise. Organizations where you are an organization owner will appear in the installation options.{% endif %}{% ifversion ghec %} If you are an {% data variables.product.prodname_emu %}, you cannot install a {% data variables.product.prodname_github_app %} on your user account.{% endif %} diff --git a/content/apps/using-github-apps/reviewing-and-modifying-installed-github-apps.md b/content/apps/using-github-apps/reviewing-and-modifying-installed-github-apps.md index c802382ff6db..4775fd62a202 100644 --- a/content/apps/using-github-apps/reviewing-and-modifying-installed-github-apps.md +++ b/content/apps/using-github-apps/reviewing-and-modifying-installed-github-apps.md @@ -12,7 +12,7 @@ topics: ## About installed {% data variables.product.prodname_github_apps %} -{% data variables.product.company_short %} users can install {% data variables.product.prodname_github_apps %} on their personal account or organizations. When you install a {% data variables.product.prodname_github_app %}, you grant the app the organization-level and repository-level permissions that it requested. You also specify which repositories the {% data variables.product.prodname_github_app %} can access. +{% data variables.product.company_short %} users can install {% data variables.product.prodname_github_apps %} on their personal account or accounts they own. When you install a {% data variables.product.prodname_github_app %}, you grant the app the {% ifversion enterprise-installed-apps %}enterprise or {% endif %}organization and repository permissions that it requested. If the app requested repository permissions, you also specify which repositories the {% data variables.product.prodname_github_app %} can access.{% ifversion enterprise-installed-apps %} Installing an app on an enterprise only grants enterprise permissions. To grant organization and repository permissions, install the app on an organization.{% endif %} You should periodically review the {% data variables.product.prodname_github_apps %} that you have installed. You can review the permissions that you granted and change the repositories that the {% data variables.product.prodname_github_app %} can access. If you no longer use an app, consider suspending or deleting the {% data variables.product.prodname_github_app %} to block its access to resources owned by the account where it is installed. @@ -20,6 +20,14 @@ In addition to reviewing {% data variables.product.prodname_github_apps %} that ## Navigating to the {% data variables.product.prodname_github_app %} you want to review or modify +{% ifversion enterprise-installed-apps %}* For a {% data variables.product.prodname_github_app %} installed on an enterprise: + 1. In the top right corner of {% data variables.product.prodname_dotcom %}, click your profile photo, then click **Your enterprises**. + 1. Next to your enterprise name, click **Settings**. + 1. In the top navigation bar, click **Settings**. + 1. In the side bar, click **GitHub Apps**. A list of the {% data variables.product.prodname_github_apps %} owned by your enterprise will be displayed. + 1. Switch to the **Installed Apps** tab to see a list of the apps installed on your enterprise. + 1. Next to the {% data variables.product.prodname_github_app %} you want to review or modify, click **Configure**.{% endif %} + * For a {% data variables.product.prodname_github_app %} installed on an organization: 1. In the top right corner of {% data variables.product.prodname_dotcom %}, click your profile photo, then click **Your organizations**. 1. Next to your organization name, click **Settings**. @@ -62,12 +70,12 @@ In addition to reviewing {% data variables.product.prodname_github_apps %} that 1. Navigate to the {% data variables.product.prodname_github_app %} you want to modify. For more information, see [Navigating to the GitHub App you want to review or modify](#navigating-to-the-github-app-you-want-to-review-or-modify). 1. To keep the {% data variables.product.prodname_github_app %} installed for future use but temporarily block it from accessing resources owned by your account, click **Suspend**. - When you suspend a {% data variables.product.prodname_github_app %}, your authorization of the app (if the app is installed on your personal account) or the authorization of the app by members of your organization (if the app is installed on an organization) will not be affected. For more information, see [AUTOTITLE](/apps/using-github-apps/authorizing-github-apps). + When you suspend a {% data variables.product.prodname_github_app %}, your authorization of the app (if the app is installed on your personal account) or the authorization of the app by members of your account (if the app is installed on an organization{% ifversion enterprise-installed-apps %} or enterprise{% endif %}) will not be affected. For more information, see [AUTOTITLE](/apps/using-github-apps/authorizing-github-apps). If the {% data variables.product.prodname_github_app %} was previously suspended, you can unsuspend the app by clicking **Unsuspend**. If the {% data variables.product.prodname_github_app %} was suspended by the {% data variables.product.prodname_github_app %} owner, then you cannot unsuspend the app. 1. To uninstall a {% data variables.product.prodname_github_app %} and block it from accessing resources owned by your account, click **Uninstall**. - When you uninstall a {% data variables.product.prodname_github_app %} from an account, the app will lose access to the resources in that account. The app might still be authorized to access organizations on your behalf, if it has installations in those organizations. + When you uninstall a {% data variables.product.prodname_github_app %} from an account, the app will lose access to the resources in just that account. The app might still be authorized to access other accounts on your behalf, if it has installations in those accounts. If you want to stop an app from acting on your behalf anywhere on {% data variables.product.github %}, also de-authorize the app in the "Authorized {% data variables.product.prodname_github_apps %}" tab of your user account. This will fully deactivate any tokens issued to the app on your behalf. For more information, see [AUTOTITLE](/apps/using-github-apps/authorizing-github-apps). diff --git a/content/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps.md b/content/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps.md index d5e423e3ca09..e135648fc988 100644 --- a/content/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps.md +++ b/content/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps.md @@ -23,7 +23,7 @@ You may authorize a {% data variables.product.prodname_github_app %} to give the You should periodically review the {% data variables.product.prodname_github_apps %} that you have authorized. If you no longer use an app, consider revoking your authorization for that app. -The authorization can only be revoked by the person who authorized the {% data variables.product.prodname_github_app %}. Organization owners cannot revoke {% data variables.product.prodname_github_app %} authorizations for their organization members. However, organization owners can uninstall the {% data variables.product.prodname_github_app %} from their organization, which will prevent the app from accessing organization-owned resources. For more information, see [AUTOTITLE](/apps/using-github-apps/reviewing-and-modifying-installed-github-apps). +The authorization can only be revoked by the person who authorized the {% data variables.product.prodname_github_app %}. Organization{% ifversion enterprise-installed-apps %} and enterprise{% endif %} owners cannot revoke {% data variables.product.prodname_github_app %} authorizations for their members. However, organization{% ifversion enterprise-installed-apps %} and enterprise{% endif %} owners can uninstall the {% data variables.product.prodname_github_app %} from the account, which will prevent the app from accessing resources in that account. For more information, see [AUTOTITLE](/apps/using-github-apps/reviewing-and-modifying-installed-github-apps). ## Reviewing your authorized {% data variables.product.prodname_github_apps %} diff --git a/content/apps/using-github-apps/saml-and-github-apps.md b/content/apps/using-github-apps/saml-and-github-apps.md index 38f236924f25..837777498f60 100644 --- a/content/apps/using-github-apps/saml-and-github-apps.md +++ b/content/apps/using-github-apps/saml-and-github-apps.md @@ -1,7 +1,7 @@ --- title: SAML and GitHub Apps shortTitle: SAML with apps -intro: "If your organization is SSO protected, you may need to start an active SSO session for your organization before authorizing, installing, or requesting a {% data variables.product.prodname_github_app %}." +intro: "If your organization or enterprise is SSO protected, you may need to start an active SSO session for your organization before authorizing, installing, or requesting a {% data variables.product.prodname_github_app %}." versions: ghec: '*' topics: @@ -13,17 +13,20 @@ topics: If your organization or enterprise uses SSO, you may not be able to see your organization's resources or enterprise's `internal` resources after you authorize a {% data variables.product.prodname_github_app %}. For example, if the app displays a list of repositories, you may not see repositories owned by your organization. To resolve this issue, follow these steps: -1. Go to `https://github.com/orgs/ORGANIZATION-NAME/sso` or `https://github.com/enterprises/ENTERPRISE_NAME/sso` to start an active SSO session for that account. Replace `ORGANIZATION-NAME` or `ENTERPRISE-NAME` with the name of the appropriate account. Attempting to access any resources owned by the account will aso trigger SSO if you don't have a session already. +1. Go to `https://github.com/orgs/ORGANIZATION-NAME/sso` to start an active SAML session for your organization. Replace `ORGANIZATION-NAME` with the name of your organization. + * If your enterprise manages SSO for your organization, you can also go to `https://github.com/enterprises/ENTERPRISE-NAME/sso` to start an active SSO session for your enterprise. Replace `ENTERPRISE-NAME` with the name of your enterprise. This works as an SSO session for all organizations in the enterprise that you're a member of. + * Attempting to access any resources owned by the account will also trigger SSO if you don't have a session already. 1. Revoke your authorization of the {% data variables.product.prodname_github_app %}. For more information, see [AUTOTITLE](/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps). 1. Reauthorize the {% data variables.product.prodname_github_app %}. {% data variables.product.prodname_github_app %} authorization is initiated by the app and varies based on the app. For example, some {% data variables.product.prodname_github_apps %} may have you click on a link or enter a command in your terminal. For more information, see [AUTOTITLE](/apps/using-github-apps/authorizing-github-apps). -SSO can be enforced at the organization or enterprise level. If it's enforced at the enterprise level, having an SSO session with any organization allows access to all organizations. This will appear as a credential authorization on the token for each organization you are a member of at the time of the application authorization. +When you sign in to an app, a credential authorization is created for each organization that you have an SSO session for. SSO can be enforced at the organization or enterprise level. If it's enforced at the enterprise level, having an SSO session with any organization counts as an SSO session for each organization you're a member of. This will appear as a credential authorization on the token for each organization you are a member of at the time of the application authorization. -For access to `internal` data in an enterprise, such as repositories, projects, or packages, you must have an SSO session for any organization within that enterprise. Even if the organizations do not use the same SSO provider (for instance, as a result of a merger or acquisition), any organization's SSO session is sufficient for `internal` access. +The SSO credential authorization is tied to the specific sign-in session with the app. If you plan to sign in to the app again on another device or after your SSO sessions expire, you will need to start new SSO sessions before you sign in to ensure the app can access your organization's resources. ## Installing or requesting {% data variables.product.prodname_github_apps %} for organizations with SSO If your organization or enterprise uses SSO, you may not see your organization listed when you try to install or request an {% data variables.product.prodname_github_app %} for your organization. To resolve this issue, follow these steps: -1. Go to `https://github.com/orgs/ORGANIZATION-NAME/sso` or `https://github.com/enterprises/ENTERPRISE_NAME/sso` to start an active SSO session for that account. Replace `ORGANIZATION-NAME` or `ENTERPRISE-NAME` with the name of the appropriate account. +1. Go to `https://github.com/orgs/ORGANIZATION-NAME/sso` to start an active SAML session for your organization. Replace `ORGANIZATION-NAME` with the name of your organization. + * If your enterprise manages SSO for your organization, you can also go to `https://github.com/enterprises/ENTERPRISE-NAME/sso` to start an active SSO session for your enterprise. Replace `ENTERPRISE-NAME` with the name of your enterprise. This works as an SSO session for all organizations in the enterprise that you're a member of. 1. Try to install or request the {% data variables.product.prodname_github_app %} again. For more information, see [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-a-third-party), [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-organizations), and [AUTOTITLE](/apps/using-github-apps/requesting-a-github-app-from-your-organization-owner). diff --git a/content/graphql/overview/rate-limits-and-node-limits-for-the-graphql-api.md b/content/graphql/overview/rate-limits-and-node-limits-for-the-graphql-api.md index b6661e801e31..3e3e2e5d8b6a 100644 --- a/content/graphql/overview/rate-limits-and-node-limits-for-the-graphql-api.md +++ b/content/graphql/overview/rate-limits-and-node-limits-for-the-graphql-api.md @@ -148,8 +148,8 @@ The REST API also has a separate primary rate limit. For more information, see [ In general, you can calculate your primary rate limit for the GraphQL API based on your method of authentication: * _For users_: 5,000 points per hour per user. This includes requests made with a {% data variables.product.pat_generic %} as well as requests made by a {% data variables.product.prodname_github_app %} or {% data variables.product.prodname_oauth_app %} on behalf of a user that authorized the app. Requests made on a user's behalf by a {% data variables.product.prodname_github_app %} that is owned by a {% data variables.product.prodname_ghe_cloud %} organization have a higher rate limit of 10,000 points per hour. Similarly, requests made on your behalf by an {% data variables.product.prodname_oauth_app %} that is owned or approved by a {% data variables.product.prodname_ghe_cloud %} organization have a higher rate limit of 10,000 points per hour if you are a member of the {% data variables.product.prodname_ghe_cloud %} organization. -* _For {% data variables.product.prodname_github_app %} installations not on a {% data variables.product.prodname_ghe_cloud %} organization_: 5,000 points per hour per installation. Installations that have more than 20 repositories receive another 50 points per hour for each repository. Installations that are on an organization that have more than 20 users receive another 50 points per hour for each user. The rate limit cannot increase beyond 12,500 points per hour. The rate limit for user access tokens (as opposed to installation access tokens) are dictated by the primary rate limit for users. -* _For {% data variables.product.prodname_github_app %} installations on a {% data variables.product.prodname_ghe_cloud %} organization_: 10,000 points per hour per installation. The rate limit for user access tokens (as opposed to installation access tokens) are dictated by the primary rate limit for users. +* _For {% data variables.product.prodname_github_app %} installations not on a {% data variables.product.prodname_ghe_cloud %} organization{% ifversion enterprise-installed-apps %} or enterprise{% endif %}_: 5,000 points per hour per installation. Installations that have more than 20 repositories receive another 50 points per hour for each repository. Installations that are on an organization that have more than 20 users receive another 50 points per hour for each user. The rate limit cannot increase beyond 12,500 points per hour. The rate limit for user access tokens (as opposed to installation access tokens) are dictated by the primary rate limit for users. +* _For {% data variables.product.prodname_github_app %} installations on a {% data variables.product.prodname_ghe_cloud %} organization{% ifversion enterprise-installed-apps %} or enterprise{% endif %}_: 10,000 points per hour per installation. The rate limit for user access tokens (as opposed to installation access tokens) are dictated by the primary rate limit for users. * _For {% data variables.product.prodname_oauth_apps %}_: 5,000 points per hour, or 10,000 points per hour if the app is owned by a {% data variables.product.prodname_ghe_cloud %} organization. This only applies when the app uses their client ID and client secret to request public data. The rate limit for OAuth access tokens generated by a {% data variables.product.prodname_oauth_app %} are dictated by the primary rate limit for users. * _For `GITHUB_TOKEN` in {% data variables.product.prodname_actions %} workflows_: 1,000 points per hour per repository. For requests to resources that belong to an enterprise account on GitHub.com, the limit is 15,000 points per hour per repository. diff --git a/content/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization.md b/content/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization.md index 8d844f9d786d..cdb44a8b6ea6 100644 --- a/content/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization.md +++ b/content/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization.md @@ -25,6 +25,8 @@ shortTitle: GitHub App managers {% data reusables.apps.github-app-managers %} +For more information about {% data variables.product.prodname_github_app %} manager permissions, see [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#github-app-managers). + ## Granting the ability to manage all {% data variables.product.prodname_github_apps %} owned by the organization {%- ifversion org-app-manager-teams %} diff --git a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md index c783f2155e72..17b665037eb6 100644 --- a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md +++ b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md @@ -99,7 +99,7 @@ Some of the features listed below are limited to organizations using {% data var | {% ifversion fpt or ghec %} | | Create, edit, run, re-run, and cancel [GitHub Actions workflows](/actions) | ✗ | ✗ | ✓ | ✓ | ✓ | | {% endif %} | -| Create, update, and delete [GitHub Actions secrets](/actions/security-guides/using-secrets-in-github-actions) on GitHub.com | ✗ | ✗ | ✗ | ✗ | ✓ | +| Create, update, and delete [GitHub Actions secrets](/actions/security-guides/using-secrets-in-github-actions) on GitHub.com | ✗ | ✗ | ✓ | ✓ | ✓ | | Create, update, and delete [GitHub Actions secrets](/rest/actions/secrets) using the REST API | ✗ | ✗ | ✓ | ✓ | ✓ | | Create and edit releases | ✗ | ✗ | ✓ | ✓ | ✓ | | View draft releases | ✗ | ✗ | ✓ | ✓ | ✓ | diff --git a/content/rest/apps/installations.md b/content/rest/apps/installations.md index 3dcea3c17409..cb93598059b1 100644 --- a/content/rest/apps/installations.md +++ b/content/rest/apps/installations.md @@ -17,7 +17,7 @@ autogenerated: rest ## About {% data variables.product.prodname_github_app %} installations -A {% data variables.product.prodname_github_app %} installation refers to any user or organization account that has installed the app. For information on how to authenticate as an installation and limit access to specific repositories, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation). +A {% data variables.product.prodname_github_app %} installation refers to the installation of the app on an {% ifversion enterprise-installed-apps %}enterprise, {% endif %}organization or user account. For information on how to authenticate as an installation and limit access to specific repositories, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation). To list all {% data variables.product.prodname_github_app %} installations for an organization, see [AUTOTITLE](/rest/orgs/orgs#list-app-installations-for-an-organization). diff --git a/content/rest/enterprise-admin/index.md b/content/rest/enterprise-admin/index.md index 2416030262ef..9f9765e4723a 100644 --- a/content/rest/enterprise-admin/index.md +++ b/content/rest/enterprise-admin/index.md @@ -27,6 +27,7 @@ children: - /management-console - /network-configurations - /org-pre-receive-hooks + - /organization-installations - /orgs - /pre-receive-environments - /pre-receive-hooks diff --git a/content/rest/enterprise-admin/organization-installations.md b/content/rest/enterprise-admin/organization-installations.md new file mode 100644 index 000000000000..0690887d778d --- /dev/null +++ b/content/rest/enterprise-admin/organization-installations.md @@ -0,0 +1,13 @@ +--- +title: REST API for managing organization GitHub App installations +shortTitle: GitHub App installations +intro: Use the REST API to manage which {% data variables.product.prodname_github_apps %} are installed in your enterprise's organizations. +versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 + ghec: '*' +topics: + - API +autogenerated: rest +allowTitleToDifferFromFilename: true +--- + + diff --git a/content/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks.md b/content/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks.md index e71b81d91213..c72dc94d3c57 100644 --- a/content/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks.md +++ b/content/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks.md @@ -44,7 +44,7 @@ You can use the {% data variables.product.company_short %} web interface or the ## Redelivering {% data variables.product.prodname_github_app %} webhooks -The owner of a {% data variables.product.prodname_github_app %} can redeliver webhooks for the app. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also redeliver webhooks. +The owner of a {% data variables.product.prodname_github_app %} can redeliver webhooks for the app. If the app owner has designated any app managers for a {% data variables.product.prodname_github_app %}, the app managers can also redeliver webhooks. You can use the {% data variables.product.company_short %} web interface or the REST API to redeliver webhooks for a {% data variables.product.prodname_github_app %}. For more information about using the REST API redeliver, see [AUTOTITLE](/rest/apps/webhooks). @@ -59,7 +59,7 @@ You can use the {% data variables.product.company_short %} web interface or the ## Redelivering {% data variables.product.prodname_marketplace %} webhooks -The owner of a {% data variables.product.prodname_github_app %} can redeliver {% data variables.product.prodname_marketplace %} webhooks for that app. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also redeliver webhooks. +The owner of a {% data variables.product.prodname_github_app %} can redeliver {% data variables.product.prodname_marketplace %} webhooks for that app. If the app owner has designated any app managers for a {% data variables.product.prodname_github_app %}, the app managers can also redeliver webhooks. 1. Navigate to your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). 1. Next to the {% data variables.product.prodname_marketplace %} listing for which you want to redeliver webhooks, click **Manage listing**. diff --git a/content/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries.md b/content/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries.md index 5420a94866b9..32e6840b57e2 100644 --- a/content/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries.md +++ b/content/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries.md @@ -50,7 +50,7 @@ You can use the {% data variables.product.company_short %} web interface or the ## Viewing deliveries for {% data variables.product.prodname_github_app %} webhooks -The owner of a {% data variables.product.prodname_github_app %} can view recent webhook deliveries for the app. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also view recent webhook deliveries. +The owner of a {% data variables.product.prodname_github_app %} can view recent webhook deliveries for the app. If the app owner has designated any app managers for a {% data variables.product.prodname_github_app %}, the app managers can also view recent webhook deliveries. You can use the {% data variables.product.company_short %} web interface or the REST API to view recent webhook deliveries for a {% data variables.product.prodname_github_app %}. For more information about using the REST API to view recent deliveries, see [AUTOTITLE](/rest/apps/webhooks). @@ -64,7 +64,7 @@ You can use the {% data variables.product.company_short %} web interface or the ## Viewing deliveries for {% data variables.product.prodname_marketplace %} webhooks -The owner of a {% data variables.product.prodname_github_app %} can view recent {% data variables.product.prodname_marketplace %} webhook deliveries for the app. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also view recent webhook deliveries. +The owner of a {% data variables.product.prodname_github_app %} can view recent {% data variables.product.prodname_marketplace %} webhook deliveries for the app. If the app owner has designated any app managers for a {% data variables.product.prodname_github_app %}, the app managers can also view recent webhook deliveries. 1. Navigate to your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). 1. Next to the {% data variables.product.prodname_marketplace %} listing that you want to view webhook deliveries for, click **Manage listing**. diff --git a/content/webhooks/types-of-webhooks.md b/content/webhooks/types-of-webhooks.md index 0d565290fcd4..30a963a93d86 100644 --- a/content/webhooks/types-of-webhooks.md +++ b/content/webhooks/types-of-webhooks.md @@ -59,7 +59,7 @@ You can use the {% data variables.product.github %} web interface to manage glob ## {% data variables.product.prodname_marketplace %} webhooks -You can create a webhook to subscribe to events relating to an app that you published in {% data variables.product.prodname_marketplace %}. You can only create one webhook for each app in {% data variables.product.prodname_marketplace %}. Only the owner of the app, or an app manager for the organization that owns the app, can create and manage a {% data variables.product.prodname_marketplace %} webhook. +You can create a webhook to subscribe to events relating to an app that you published in {% data variables.product.prodname_marketplace %}. You can only create one webhook for each app in {% data variables.product.prodname_marketplace %}. Only the owner of the app, or an app manager with access to the app, can create and manage a {% data variables.product.prodname_marketplace %} webhook. A {% data variables.product.prodname_marketplace %} webhook cannot be deleted, but you can deactivate it to stop receiving webhook deliveries. @@ -77,7 +77,7 @@ You can use the {% data variables.product.github %} web interface to manage {% d ## {% data variables.product.prodname_github_app %} webhooks -You can configure a {% data variables.product.prodname_github_app %} to receive webhooks when specific events occur in a repository or organization that the app has been granted access to. +You can configure a {% data variables.product.prodname_github_app %} to receive webhooks when specific events occur in a repository or organization that the app has been granted access to.{% ifversion enterprise-installed-apps %}Apps installed on an enterprise cannot receive webhooks at this time - they must be installed on each organization in the enterprise to get the events.{% endif %} Each {% data variables.product.prodname_github_app %} has a single webhook that is automatically created by {% data variables.product.github %}. By default, the webhook is not subscribed to any events. You can configure the events that the webhook subscribes to. A {% data variables.product.prodname_github_app %} webhook cannot be deleted, but you can deactivate it to stop receiving webhook deliveries. diff --git a/content/webhooks/using-webhooks/creating-webhooks.md b/content/webhooks/using-webhooks/creating-webhooks.md index ab1439247578..20189d0c2337 100644 --- a/content/webhooks/using-webhooks/creating-webhooks.md +++ b/content/webhooks/using-webhooks/creating-webhooks.md @@ -98,7 +98,7 @@ You can use the {% data variables.product.company_short %} web interface or the ## Creating a {% data variables.product.prodname_marketplace %} webhook -You can create a webhook to subscribe to events relating to an app that you published in {% data variables.product.prodname_marketplace %}. Only the owner of the app, or an app manager for the organization that owns the app, can create a {% data variables.product.prodname_marketplace %} webhook. +You can create a webhook to subscribe to events relating to an app that you published in {% data variables.product.prodname_marketplace %}. Only the owner of the app, or an app manager for the app, can create a {% data variables.product.prodname_marketplace %} webhook. 1. Navigate to your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). 1. Next to the {% data variables.product.prodname_marketplace %} listing that you want to view webhook deliveries for, click **Manage listing**. @@ -127,7 +127,7 @@ You can create a webhook to subscribe to events relating to your sponsorships. O ## Creating webhooks for a {% data variables.product.prodname_github_app %} -The owner of a {% data variables.product.prodname_github_app %} can subscribe the app to webhook events to receive notifications whenever certain events occur. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also subscribe the app to webhook events. For more information, see [AUTOTITLE](/apps/creating-github-apps/creating-github-apps/using-webhooks-with-github-apps). +The owner of a {% data variables.product.prodname_github_app %} can subscribe the app to webhook events to receive notifications whenever certain events occur. If the app owner has designated any app managers for a {% data variables.product.prodname_github_app %}, the app managers can also subscribe the app to webhook events. For more information, see [AUTOTITLE](/apps/creating-github-apps/creating-github-apps/using-webhooks-with-github-apps). Each {% data variables.product.prodname_github_app %} has one webhook. You can configure the webhook when you register a {% data variables.product.prodname_github_app %}, or you can edit the webhook configuration for an existing {% data variables.product.prodname_github_app %} registration. diff --git a/content/webhooks/using-webhooks/disabling-webhooks.md b/content/webhooks/using-webhooks/disabling-webhooks.md index d2031fa79a1e..35a78994dc4f 100644 --- a/content/webhooks/using-webhooks/disabling-webhooks.md +++ b/content/webhooks/using-webhooks/disabling-webhooks.md @@ -68,7 +68,7 @@ You can use the {% data variables.product.company_short %} web interface or the ## Disabling a {% data variables.product.prodname_marketplace %} webhook -You can deactivate a webhook that was previously enabled for events relating to an app that you published on {% data variables.product.prodname_marketplace %}. You cannot delete the webhook. Only the owner of the app can deactivate the {% data variables.product.prodname_marketplace %} webhook for the app. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also deactivate the {% data variables.product.prodname_marketplace %} webhook. +You can deactivate a webhook that was previously enabled for events relating to an app that you published on {% data variables.product.prodname_marketplace %}. You cannot delete the webhook. Only the owner of the app can deactivate the {% data variables.product.prodname_marketplace %} webhook for the app. If the app owner has designated any app managers for a {% data variables.product.prodname_github_app %}, the app managers can also deactivate the {% data variables.product.prodname_marketplace %} webhook. 1. Navigate to your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). 1. Next to the {% data variables.product.prodname_marketplace %} listing that you want to view webhook deliveries for, click **Manage listing**. @@ -89,7 +89,7 @@ You can disable webhooks that were previously enabled for events relating to {% ## Disabling webhooks for a {% data variables.product.prodname_github_app %} -Each {% data variables.product.prodname_github_app %} has one webhook. You cannot delete the webhook, but you can deactivate the webhook. The owner of a {% data variables.product.prodname_github_app %} can deactivate the webhook the app. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also deactivate the webhook for the app. +Each {% data variables.product.prodname_github_app %} has one webhook. You cannot delete the webhook, but you can deactivate the webhook. The owner of a {% data variables.product.prodname_github_app %} can deactivate the webhook the app. If the app owner has designated any app managers for a {% data variables.product.prodname_github_app %}, the app managers can also deactivate the webhook for the app. {% data reusables.apps.settings-step %} {% data reusables.apps.enterprise-apps-steps %} diff --git a/content/webhooks/using-webhooks/editing-webhooks.md b/content/webhooks/using-webhooks/editing-webhooks.md index 1c3a1eeda042..3135fea43375 100644 --- a/content/webhooks/using-webhooks/editing-webhooks.md +++ b/content/webhooks/using-webhooks/editing-webhooks.md @@ -65,7 +65,7 @@ You can use the {% data variables.product.company_short %} web interface or the ## Editing a {% data variables.product.prodname_marketplace %} webhook -You can edit a webhook that was created for an app that you published in {% data variables.product.prodname_marketplace %}. Only the owner of the app, or an app manager for the organization that owns the app, can edit a {% data variables.product.prodname_marketplace %} webhook. For more information, see [AUTOTITLE](/apps/publishing-apps-to-github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api). +You can edit a webhook that was created for an app that you published in {% data variables.product.prodname_marketplace %}. Only the owner of the app, or an app manager for the app, can edit a {% data variables.product.prodname_marketplace %} webhook. For more information, see [AUTOTITLE](/apps/publishing-apps-to-github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api). 1. Navigate to your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). 1. Next to the {% data variables.product.prodname_marketplace %} listing that you want to view webhook deliveries for, click **Manage listing**. @@ -90,7 +90,7 @@ You can edit a webhook that was created for a {% data variables.product.prodname Each {% data variables.product.prodname_github_app %} has one webhook. You cannot delete the webhook, but you can activate or deactivate the webhook, change the webhook events that the webhook subscribes to, or make changes to other basic settings for the webhook. -The owner of a {% data variables.product.prodname_github_app %} can edit the webhook configuration for the app. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also edit the webhook configuration. For more information, see [AUTOTITLE](/apps/creating-github-apps/creating-github-apps/using-webhooks-with-github-apps). +The owner of a {% data variables.product.prodname_github_app %} can edit the webhook configuration for the app. If the app owner has designated any app managers for a {% data variables.product.prodname_github_app %}, the app managers can also edit the webhook configuration. For more information, see [AUTOTITLE](/apps/creating-github-apps/creating-github-apps/using-webhooks-with-github-apps). {% data reusables.apps.settings-step %} {% data reusables.user-settings.developer_settings %} diff --git a/data/features/enterprise-app-manager.yml b/data/features/enterprise-app-manager.yml new file mode 100644 index 000000000000..543f193b9114 --- /dev/null +++ b/data/features/enterprise-app-manager.yml @@ -0,0 +1,4 @@ +# https://github.com/github/releases/issues/6053 +# Allows enterprise owners to designate app managers for enterprise-owned GitHub Apps +versions: + ghec: '*' diff --git a/data/features/enterprise-installed-apps.yml b/data/features/enterprise-installed-apps.yml new file mode 100644 index 000000000000..671504e538f0 --- /dev/null +++ b/data/features/enterprise-installed-apps.yml @@ -0,0 +1,4 @@ +# Reference: #docs-content/issues/16388 +# GitHub Apps can now be installed at the enterprise level in addition to organizations +versions: + ghec: '*' diff --git a/data/reusables/apps/about-installation.md b/data/reusables/apps/about-installation.md index bfd5ba8b7af3..3a80de37d534 100644 --- a/data/reusables/apps/about-installation.md +++ b/data/reusables/apps/about-installation.md @@ -1,8 +1,8 @@ -In order to use a {% data variables.product.prodname_github_app %} on your repositories or organization, you must install the app on your organization or personal account. You can install the same {% data variables.product.prodname_github_app %} on multiple accounts. For example, if you install the app on your personal account and on a few organizations that you own, you'll be able to use the app on your personal repositories, on the organizations where you installed the app, and on repositories owned by those organizations. +In order to use a {% data variables.product.prodname_github_app %} on your resources, you must install the app on your{% ifversion enterprise-installed-apps %} enterprise,{% endif %} organization or personal account. You can install the same {% data variables.product.prodname_github_app %} on multiple accounts. For example, if you install the app on your personal account and on a few organizations that you own, you'll be able to use the app on your personal repositories, on the organizations where you installed the app, and on repositories owned by those organizations. -When you install an app, you grant the app permission to access the organization and repository resources that it requested. During the installation process, {% data variables.product.company_short %} will tell you which permissions the {% data variables.product.prodname_github_app %} requested. For more information about the REST API requests the {% data variables.product.prodname_github_app %} can make with those permissions, see [AUTOTITLE](/rest/overview/permissions-required-for-github-apps). +When you install an app, you grant the app permission to access the {% ifversion enterprise-installed-apps %}enterprise or {% endif %}organization and repository resources that it requested. During the installation process, {% data variables.product.company_short %} will tell you which permissions the {% data variables.product.prodname_github_app %} requested. For more information about the REST API requests the {% data variables.product.prodname_github_app %} can make with those permissions, see [AUTOTITLE](/rest/overview/permissions-required-for-github-apps). -When you install an app, you will also choose which repositories to grant the {% data variables.product.prodname_github_app %} access to. +When you install an app that requests repository permissions, you will also choose which repositories to grant the {% data variables.product.prodname_github_app %} access to. Before installing a {% data variables.product.prodname_github_app %}, you should ensure you trust the owner of the {% data variables.product.prodname_github_app %}. You should also review the permissions that the {% data variables.product.prodname_github_app %} is requesting and make sure you are comfortable granting those permissions. For more information about the REST API requests the {% data variables.product.prodname_github_app %} can make with those permissions, see [AUTOTITLE](/rest/overview/permissions-required-for-github-apps). diff --git a/data/reusables/apps/generate-installation-access-token.md b/data/reusables/apps/generate-installation-access-token.md index f7a8320d3406..20e84dc04d4a 100644 --- a/data/reusables/apps/generate-installation-access-token.md +++ b/data/reusables/apps/generate-installation-access-token.md @@ -3,7 +3,7 @@ If you are responding to a webhook event, the webhook payload will include the installation ID. - You can also use the REST API to find the ID for an installation of your app. For example, you can get an installation ID with the `GET /users/{username}/installation`, `GET /repos/{owner}/{repo}/installation`, `GET /orgs/{org}/installation`, or `GET /app/installations` endpoints. For more information, see [AUTOTITLE](/rest/apps/apps). + You can also use the REST API to find the ID for an installation of your app. For example, you can get an installation ID with the `GET /users/{username}/installation`, `GET /repos/{owner}/{repo}/installation`, `GET /orgs/{org}/installation`, or `GET /app/installations` endpoints.{% ifversion enterprise-installed-apps %} The latter is required to find installations on an enterprise account.{% endif %} For more information, see [AUTOTITLE](/rest/apps/apps). You can also find the app ID on the settings page for your app. The app ID is different from the client ID. For more information about navigating to the settings page for your {% data variables.product.prodname_github_app %}, see [AUTOTITLE](/apps/maintaining-github-apps/modifying-a-github-app-registration#navigating-to-your-github-app-settings). @@ -23,9 +23,11 @@ Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. - {% ifversion ghes > 3.13 and ghes < 3.16 %}When using the `permissions` parameters to reduce the access of the token, the complexity of the token is increased due to the number of permissions in the request and the number of repositories the token will have access to. If the complexity is too large, you will get an error message that indicates the maximum number of repositories that can be supported. In this case, you should request fewer permissions with the `permissions` parameter, use the `repositories` or `repository_ids` parameter to request fewer repositories, or install the app on `all` repositories in your organization.{% endif %} + {% ifversion ghes > 3.13 and ghes < 3.16 %}When using the `permissions` parameters to reduce the access of the token, the complexity of the token is increased due to the number of permissions in the request and the number of repositories the token will have access to. If the complexity is too large, you will get an error message that indicates the maximum number of repositories that can be supported. In this case, you should request fewer permissions with the `permissions` parameter, use the `repositories` or `repository_ids` parameter to request fewer repositories, or install the app on `all` repositories in your organization.{% endif %}{% ifversion enterprise-installed-apps %} - The response will include an installation access token, the time that the token expires, the permissions that the token has, and the repositories that the token can access. The installation access token will expire after 1 hour. + Installation tokens for enterprises cannot be scoped down. They only have access to the enterprise permissions they have been granted and always receive all of those permissions.{% endif %} + + The response will include an installation access token, the time that the token expires, the permissions that the token has, and the repositories that the token can access, if applicable. The installation access token will expire after 1 hour. For more information about this endpoint, see [AUTOTITLE](/rest/apps/apps). diff --git a/data/reusables/apps/github-app-managers.md b/data/reusables/apps/github-app-managers.md index bf4f67826d5a..18cf9bf197ee 100644 --- a/data/reusables/apps/github-app-managers.md +++ b/data/reusables/apps/github-app-managers.md @@ -1,3 +1 @@ -Organization owners can designate other users{% ifversion org-app-manager-teams %} or teams{% endif %} in their organization as {% data variables.product.prodname_github_app %} managers. {% data variables.product.prodname_github_app %} managers can manage the settings of some or all of the {% data variables.product.prodname_github_app %} registrations that are owned by the organization. The {% data variables.product.prodname_github_app %} manager role does not grant recipients access to install and uninstall {% data variables.product.prodname_github_apps %} on an organization. For more information about the specific app settings that {% data variables.product.prodname_github_app %} managers can control, see [AUTOTITLE](/apps/maintaining-github-apps/modifying-a-github-app). - -For more information about {% data variables.product.prodname_github_app %} manager permissions, see [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#github-app-managers). +Organization{% ifversion enterprise-app-manager %} and enterprise{% endif %} owners can designate other users{% ifversion org-app-manager-teams %} or organization teams{% endif %} as {% data variables.product.prodname_github_app %} managers. {% data variables.product.prodname_github_app %} managers can manage the settings of some or all of the {% data variables.product.prodname_github_app %} registrations that are owned by the account. The {% data variables.product.prodname_github_app %} manager role does not grant recipients access to install and uninstall {% data variables.product.prodname_github_apps %} on an organization{% ifversion enterprise-app-manager %} or enterprise{% endif %}. For more information about the specific app settings that {% data variables.product.prodname_github_app %} managers can control, see [AUTOTITLE](/apps/maintaining-github-apps/modifying-a-github-app). diff --git a/data/reusables/enterprise-accounts/github-apps-tab.md b/data/reusables/enterprise-accounts/github-apps-tab.md new file mode 100644 index 000000000000..59f8acf85498 --- /dev/null +++ b/data/reusables/enterprise-accounts/github-apps-tab.md @@ -0,0 +1 @@ +1. In the left sidebar, click **{% octicon "apps" aria-hidden="true" %} GitHub Apps**. diff --git a/data/reusables/enterprise-migration-tool/data-not-migrated.md b/data/reusables/enterprise-migration-tool/data-not-migrated.md index 60d4bdf99bce..79cc2db94f0a 100644 --- a/data/reusables/enterprise-migration-tool/data-not-migrated.md +++ b/data/reusables/enterprise-migration-tool/data-not-migrated.md @@ -6,7 +6,7 @@ * Discussions at the repository level * Edit history of issue comments and pull request comments * Fork relationships between repositories (see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks)) -* {% data variables.product.prodname_actions %} secrets, variables, environments, self-hosted runners, {% data variables.actions.hosted_runner %}s, or workflow run history +* {% data variables.product.prodname_actions %} secrets, variables, environments, self-hosted runners, {% data variables.actions.hosted_runner %}s, workflow artifacts, or workflow run history * GitHub Apps and GitHub App installations * {% data variables.large_files.product_name_short %} objects and large binaries (repositories using {% data variables.large_files.product_name_short %} are still supported, see [Limitations of {% data variables.product.prodname_importer_proper_name %}](#limitations-of-github-enterprise-importer)) * Links from commits to pull requests that were rebase merged diff --git a/data/reusables/rest-api/primary-rate-limit-github-app-installations.md b/data/reusables/rest-api/primary-rate-limit-github-app-installations.md index 0264e9abcc3e..52c3db33719f 100644 --- a/data/reusables/rest-api/primary-rate-limit-github-app-installations.md +++ b/data/reusables/rest-api/primary-rate-limit-github-app-installations.md @@ -1,5 +1,5 @@ -{% data variables.product.prodname_github_apps %} authenticating with an installation access token use the installation's minimum rate limit of 5,000 requests per hour. If the installation is on a {% data variables.product.prodname_ghe_cloud %} organization, the installation has a rate limit of 15,000 requests per hour. +{% data variables.product.prodname_github_apps %} authenticating with an installation access token use the installation's minimum rate limit of 5,000 requests per hour. If the installation is on a {% data variables.product.prodname_ghe_cloud %} organization{% ifversion enterprise-installed-apps %} or enterprise{% endif %}, the installation has a rate limit of 15,000 requests per hour. - For installations that are not on a {% data variables.product.prodname_ghe_cloud %} organization, the rate limit for the installation will scale with the number of users and repositories. Installations that have more than 20 repositories receive another 50 requests per hour for each repository. Installations that are on an organization that have more than 20 users receive another 50 requests per hour for each user. The rate limit cannot increase beyond 12,500 requests per hour. + For installations that are not on a {% data variables.product.prodname_ghe_cloud %} organization{% ifversion enterprise-installed-apps %} or enterprise{% endif %}, the rate limit for the installation will scale with the number of users and repositories. Installations that have more than 20 repositories receive another 50 requests per hour for each repository. Installations that are on an organization that have more than 20 users receive another 50 requests per hour for each user. The rate limit cannot increase beyond 12,500 requests per hour. Primary rate limits for {% data variables.product.prodname_github_app %} user access tokens (as opposed to installation access tokens) are dictated by the primary rate limits for the authenticated user. This rate limit is combined with any requests that another {% data variables.product.prodname_github_app %} or {% data variables.product.prodname_oauth_app %} makes on that user's behalf and any requests that the user makes with a {% data variables.product.pat_generic %}. For more information, see [AUTOTITLE](/rest/using-the-rest-api/rate-limits-for-the-rest-api#primary-rate-limit-for-authenticated-users). diff --git a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json index cc4362ba1c92..63dead907d0e 100644 --- a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json +++ b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json @@ -173,6 +173,144 @@ } ] }, + "enterprise_organization_installation_repositories": { + "title": "Enterprise organization installation repositories", + "displayTitle": "Enterprise permissions for \"Enterprise organization installation repositories\"", + "permissions": [ + { + "category": "enterprise-admin", + "slug": "get-repositories-belonging-to-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations/{org}/accessible_repositories", + "additional-permissions": true, + "access": "read" + }, + { + "category": "enterprise-admin", + "slug": "get-the-repositories-accessible-to-a-given-github-app-installation", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories", + "additional-permissions": true, + "access": "read" + }, + { + "category": "enterprise-admin", + "slug": "toggle-installation-repository-access-between-selected-and-all-repositories", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories", + "additional-permissions": true, + "access": "write" + }, + { + "category": "enterprise-admin", + "slug": "grant-repository-access-to-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/add", + "additional-permissions": true, + "access": "write" + }, + { + "category": "enterprise-admin", + "slug": "remove-repository-access-from-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/remove", + "additional-permissions": true, + "access": "write" + } + ] + }, + "enterprise_organization_installations": { + "title": "Enterprise organization installations", + "displayTitle": "Enterprise permissions for \"Enterprise organization installations\"", + "permissions": [ + { + "category": "enterprise-admin", + "slug": "get-enterprise-owned-organizations-that-can-have-github-apps-installed", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations", + "additional-permissions": false, + "access": "read" + }, + { + "category": "enterprise-admin", + "slug": "get-repositories-belonging-to-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations/{org}/accessible_repositories", + "additional-permissions": true, + "access": "read" + }, + { + "category": "enterprise-admin", + "slug": "list-github-apps-installed-on-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations", + "additional-permissions": false, + "access": "read" + }, + { + "category": "enterprise-admin", + "slug": "install-a-github-app-on-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "post", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations", + "additional-permissions": false, + "access": "write" + }, + { + "category": "enterprise-admin", + "slug": "uninstall-a-github-app-from-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}", + "additional-permissions": false, + "access": "write" + }, + { + "category": "enterprise-admin", + "slug": "get-the-repositories-accessible-to-a-given-github-app-installation", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories", + "additional-permissions": true, + "access": "read" + }, + { + "category": "enterprise-admin", + "slug": "toggle-installation-repository-access-between-selected-and-all-repositories", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories", + "additional-permissions": true, + "access": "write" + }, + { + "category": "enterprise-admin", + "slug": "grant-repository-access-to-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/add", + "additional-permissions": true, + "access": "write" + }, + { + "category": "enterprise-admin", + "slug": "remove-repository-access-from-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/remove", + "additional-permissions": true, + "access": "write" + } + ] + }, "organization_api_insights": { "title": "API Insights", "displayTitle": "Organization permissions for \"API Insights\"", diff --git a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json index 7394d3fdf809..f0491d40a44e 100644 --- a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json @@ -2564,6 +2564,60 @@ "verb": "get", "requestPath": "/enterprise-installation/{enterprise_or_org}/server-statistics" }, + { + "slug": "get-enterprise-owned-organizations-that-can-have-github-apps-installed", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations" + }, + { + "slug": "get-repositories-belonging-to-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations/{org}/accessible_repositories" + }, + { + "slug": "list-github-apps-installed-on-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations" + }, + { + "slug": "install-a-github-app-on-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "post", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations" + }, + { + "slug": "uninstall-a-github-app-from-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}" + }, + { + "slug": "get-the-repositories-accessible-to-a-given-github-app-installation", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories" + }, + { + "slug": "toggle-installation-repository-access-between-selected-and-all-repositories", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories" + }, + { + "slug": "grant-repository-access-to-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/add" + }, + { + "slug": "remove-repository-access-from-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/remove" + }, { "slug": "get-the-audit-log-for-an-enterprise", "subcategory": "audit-log", diff --git a/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json b/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json index 5c180c9112f8..685530c21cc6 100644 --- a/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json +++ b/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json @@ -209,6 +209,172 @@ } ] }, + "enterprise_organization_installation_repositories": { + "title": "Enterprise organization installation repositories", + "displayTitle": "Enterprise permissions for \"Enterprise organization installation repositories\"", + "permissions": [ + { + "category": "enterprise-admin", + "slug": "get-repositories-belonging-to-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations/{org}/accessible_repositories", + "access": "read", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": true + }, + { + "category": "enterprise-admin", + "slug": "get-the-repositories-accessible-to-a-given-github-app-installation", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories", + "access": "read", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": true + }, + { + "category": "enterprise-admin", + "slug": "toggle-installation-repository-access-between-selected-and-all-repositories", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories", + "access": "write", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": true + }, + { + "category": "enterprise-admin", + "slug": "grant-repository-access-to-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/add", + "access": "write", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": true + }, + { + "category": "enterprise-admin", + "slug": "remove-repository-access-from-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/remove", + "access": "write", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": true + } + ] + }, + "enterprise_organization_installations": { + "title": "Enterprise organization installations", + "displayTitle": "Enterprise permissions for \"Enterprise organization installations\"", + "permissions": [ + { + "category": "enterprise-admin", + "slug": "get-enterprise-owned-organizations-that-can-have-github-apps-installed", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations", + "access": "read", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": false + }, + { + "category": "enterprise-admin", + "slug": "get-repositories-belonging-to-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations/{org}/accessible_repositories", + "access": "read", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": true + }, + { + "category": "enterprise-admin", + "slug": "list-github-apps-installed-on-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations", + "access": "read", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": false + }, + { + "category": "enterprise-admin", + "slug": "install-a-github-app-on-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "post", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations", + "access": "write", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": false + }, + { + "category": "enterprise-admin", + "slug": "uninstall-a-github-app-from-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}", + "access": "write", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": false + }, + { + "category": "enterprise-admin", + "slug": "get-the-repositories-accessible-to-a-given-github-app-installation", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories", + "access": "read", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": true + }, + { + "category": "enterprise-admin", + "slug": "toggle-installation-repository-access-between-selected-and-all-repositories", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories", + "access": "write", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": true + }, + { + "category": "enterprise-admin", + "slug": "grant-repository-access-to-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/add", + "access": "write", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": true + }, + { + "category": "enterprise-admin", + "slug": "remove-repository-access-from-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/remove", + "access": "write", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": true + } + ] + }, "organization_api_insights": { "title": "API Insights", "displayTitle": "Organization permissions for \"API Insights\"", diff --git a/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json index ea3a0fc2bac0..b41d8ef76418 100644 --- a/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json @@ -2292,6 +2292,60 @@ "verb": "get", "requestPath": "/enterprise-installation/{enterprise_or_org}/server-statistics" }, + { + "slug": "get-enterprise-owned-organizations-that-can-have-github-apps-installed", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations" + }, + { + "slug": "get-repositories-belonging-to-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations/{org}/accessible_repositories" + }, + { + "slug": "list-github-apps-installed-on-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations" + }, + { + "slug": "install-a-github-app-on-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "post", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations" + }, + { + "slug": "uninstall-a-github-app-from-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}" + }, + { + "slug": "get-the-repositories-accessible-to-a-given-github-app-installation", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories" + }, + { + "slug": "toggle-installation-repository-access-between-selected-and-all-repositories", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories" + }, + { + "slug": "grant-repository-access-to-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/add" + }, + { + "slug": "remove-repository-access-from-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/remove" + }, { "slug": "get-the-audit-log-for-an-enterprise", "subcategory": "audit-log", diff --git a/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json index 7394d3fdf809..f0491d40a44e 100644 --- a/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json @@ -2564,6 +2564,60 @@ "verb": "get", "requestPath": "/enterprise-installation/{enterprise_or_org}/server-statistics" }, + { + "slug": "get-enterprise-owned-organizations-that-can-have-github-apps-installed", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations" + }, + { + "slug": "get-repositories-belonging-to-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations/{org}/accessible_repositories" + }, + { + "slug": "list-github-apps-installed-on-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations" + }, + { + "slug": "install-a-github-app-on-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "post", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations" + }, + { + "slug": "uninstall-a-github-app-from-an-enterprise-owned-organization", + "subcategory": "organization-installations", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}" + }, + { + "slug": "get-the-repositories-accessible-to-a-given-github-app-installation", + "subcategory": "organization-installations", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories" + }, + { + "slug": "toggle-installation-repository-access-between-selected-and-all-repositories", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories" + }, + { + "slug": "grant-repository-access-to-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/add" + }, + { + "slug": "remove-repository-access-from-an-organization-installation", + "subcategory": "organization-installations", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/remove" + }, { "slug": "get-the-audit-log-for-an-enterprise", "subcategory": "audit-log", diff --git a/src/github-apps/lib/config.json b/src/github-apps/lib/config.json index 95859016e387..8ba8e0d19d6f 100644 --- a/src/github-apps/lib/config.json +++ b/src/github-apps/lib/config.json @@ -60,5 +60,5 @@ "2022-11-28" ] }, - "sha": "c52348cd88be16e613e49c26b39d2653e20b817d" + "sha": "527d41e4237d9ad0bac93932fe1d2fb22f8d1b97" } \ No newline at end of file diff --git a/src/rest/data/fpt-2022-11-28/schema.json b/src/rest/data/fpt-2022-11-28/schema.json index a50aa07118d0..fe33f0c1f851 100644 --- a/src/rest/data/fpt-2022-11-28/schema.json +++ b/src/rest/data/fpt-2022-11-28/schema.json @@ -276,13 +276,13 @@ } ], "previews": [], + "descriptionHTML": "
Lists all artifacts for a repository.
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
OK
" } - ], - "descriptionHTML": "Lists all artifacts for a repository.
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
Deletes an artifact for a workflow run.\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Deletes an artifact for a workflow run.\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Gets the total GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nOAuth tokens and personal access tokens (classic) need the read:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets the total GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nOAuth tokens and personal access tokens (classic) need the read:org scope to use this endpoint.
Deletes a GitHub Actions cache for a repository, using a cache ID.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Deletes a GitHub Actions cache for a repository, using a cache ID.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories must be must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"
OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories must be must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"
OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.\nThis endpoint only applies to private repositories.\nFor more information, see \"Allowing access to components in a private repository\".
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.\nThis endpoint only applies to private repositories.\nFor more information, see \"Allowing access to components in a private repository\".
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Deletes a secret in an organization using the secret name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Deletes a secret in an organization using the secret name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Lists all secrets available in a repository without revealing their encrypted\nvalues.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists all secrets available in a repository without revealing their encrypted\nvalues.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Gets a single repository secret without revealing its encrypted value.
\nThe authenticated user must have collaborator access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets a single repository secret without revealing its encrypted value.
\nThe authenticated user must have collaborator access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Lists all secrets available in an environment without revealing their\nencrypted values.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists all secrets available in an environment without revealing their\nencrypted values.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Get the public key for an environment, which you need to encrypt environment\nsecrets. You need to encrypt a secret before you can create or update secrets.
\nAnyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Get the public key for an environment, which you need to encrypt environment\nsecrets. You need to encrypt a secret before you can create or update secrets.
\nAnyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Gets a single environment secret without revealing its encrypted value.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets a single environment secret without revealing its encrypted value.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Lists all self-hosted runner groups configured in an organization and inherited from an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists all self-hosted runner groups configured in an organization and inherited from an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Lists the repositories with access to a self-hosted runner group configured in an organization.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists the repositories with access to a self-hosted runner group configured in an organization.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Gets a specific self-hosted runner configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
OK
" } - ], - "descriptionHTML": "Gets a specific self-hosted runner configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Returns a token that you can pass to the config script to remove a self-hosted runner from an repository. The token expires after one hour.
For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization:
./config.sh remove --token TOKEN\n\nAuthenticated users must have admin access to the repository to use this endpoint.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Created
" } - ], - "descriptionHTML": "Returns a token that you can pass to the config script to remove a self-hosted runner from an repository. The token expires after one hour.
For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization:
./config.sh remove --token TOKEN\n\nAuthenticated users must have admin access to the repository to use this endpoint.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Creates an organization variable that you can reference in a GitHub Actions workflow.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Response when creating a variable
" } - ], - "descriptionHTML": "Creates an organization variable that you can reference in a GitHub Actions workflow.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Gets a specific variable in an organization.
\nThe authenticated user must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets a specific variable in an organization.
\nThe authenticated user must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Updates an organization variable that you can reference in a GitHub Actions workflow.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
No Content
" } - ], - "descriptionHTML": "Updates an organization variable that you can reference in a GitHub Actions workflow.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Gets a specific variable in a repository.
\nThe authenticated user must have collaborator access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets a specific variable in a repository.
\nThe authenticated user must have collaborator access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Deletes an environment variable using the variable name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Deletes an environment variable using the variable name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look\nfor Location: in the response header to find the URL for the download.
Anyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Found
" } - ], - "descriptionHTML": "Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look\nfor Location: in the response header to find the URL for the download.
Anyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Re-run a job and its dependent jobs in a workflow run.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Forbidden
" } - ], - "descriptionHTML": "Re-run a job and its dependent jobs in a workflow run.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after\n1 minute. Look for Location: in the response header to find the URL for the download.
Anyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Found
" } - ], - "descriptionHTML": "Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after\n1 minute. Look for Location: in the response header to find the URL for the download.
Anyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for\nLocation: in the response header to find the URL for the download.
Anyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Found
" } - ], - "descriptionHTML": "Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for\nLocation: in the response header to find the URL for the download.
Anyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Approve or reject pending deployments that are waiting on approval by a required reviewer.
\nRequired reviewers with read access to the repository contents and deployments can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Approve or reject pending deployments that are waiting on approval by a required reviewer.
\nRequired reviewers with read access to the repository contents and deployments can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
List all workflow runs for a workflow. You can replace workflow_id with the workflow file name. For example, you could use main.yaml. You can use parameters to narrow the list of results. For more information about using parameters, see Parameters.
Anyone with read access to the repository can use this endpoint
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
This endpoint will return up to 1,000 results for each search when using the following parameters: actor, branch, check_suite_id, created, event, head_sha, status.
OK
" } - ], - "descriptionHTML": "List all workflow runs for a workflow. You can replace workflow_id with the workflow file name. For example, you could use main.yaml. You can use parameters to narrow the list of results. For more information about using parameters, see Parameters.
Anyone with read access to the repository can use this endpoint
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
This endpoint will return up to 1,000 results for each search when using the following parameters: actor, branch, check_suite_id, created, event, head_sha, status.
Gets a specific workflow. You can replace workflow_id with the workflow\nfile name. For example, you could use main.yaml.
Anyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
OK
" } - ], - "descriptionHTML": "Gets a specific workflow. You can replace workflow_id with the workflow\nfile name. For example, you could use main.yaml.
Anyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
Note
\n\nThis API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
\nOK
" } - ], - "descriptionHTML": "Note
\n\nThis API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
\nThe permissions the installation has are included under the permissions key.
You must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "200", "description": "The permissions the installation has are included under the permissions key.
The permissions the installation has are included under the permissions key.
You must use a JWT to access this endpoint.
" + ] }, { "serverUrl": "https://api.github.com", @@ -90848,6 +90854,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -91573,7 +91585,7 @@ } ], "previews": [], - "descriptionHTML": "Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Uninstalls a GitHub App on a user, organization, or enterprise account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -93692,7 +93704,7 @@ } ], "previews": [], - "descriptionHTML": "Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Suspends a GitHub App on a user, organization, or enterprise account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -96201,6 +96213,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -97288,6 +97306,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -98373,6 +98397,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -100728,6 +100758,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -108743,13 +108779,13 @@ } ], "previews": [], + "descriptionHTML": "Gets the summary of the free and paid GitHub Actions minutes used.
\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets the summary of the free and paid GitHub Actions minutes used.
\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
Gets the free and paid storage used for GitHub Packages in gigabytes.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets the free and paid storage used for GitHub Packages in gigabytes.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nOAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.
Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.
" + ] }, { "serverUrl": "https://api.github.com", @@ -171216,6 +171252,7 @@ } ], "previews": [], + "descriptionHTML": "Lists all code security configurations available in an enterprise.
\nThe authenticated user must be an administrator of the enterprise in order to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the read:enterprise scope to use this endpoint.
Resource not found
" } - ], - "descriptionHTML": "Lists all code security configurations available in an enterprise.
\nThe authenticated user must be an administrator of the enterprise in order to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the read:enterprise scope to use this endpoint.
Lists the default code security configurations for an enterprise.
\nThe authenticated user must be an administrator of the enterprise in order to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the read:enterprise scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists the default code security configurations for an enterprise.
\nThe authenticated user must be an administrator of the enterprise in order to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the read:enterprise scope to use this endpoint.
Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration.
\nIf insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled.
\nThe authenticated user must be an administrator or security manager for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.
Accepted
" } - ], - "descriptionHTML": "Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration.
\nIf insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled.
\nThe authenticated user must be an administrator or security manager for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.
Lists all Codespaces development environment secrets available at the organization-level without revealing their encrypted\nvalues.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists all Codespaces development environment secrets available at the organization-level without revealing their encrypted\nvalues.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Gets an organization development environment secret without revealing its encrypted value.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets an organization development environment secret without revealing its encrypted value.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Deletes a development environment secret in a repository using the secret name.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint. The associated user must be a repository admin.
No Content
" } - ], - "descriptionHTML": "Deletes a development environment secret in a repository using the secret name.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint. The associated user must be a repository admin.
No Content
" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "https://api.github.com", @@ -251426,13 +251462,13 @@ } ], "previews": [], + "descriptionHTML": "Gets your public key, which you need to encrypt secrets. You need to\nencrypt a secret before you can create or update secrets.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets your public key, which you need to encrypt secrets. You need to\nencrypt a secret before you can create or update secrets.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Deletes a secret in an organization using the secret name.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Deletes a secret in an organization using the secret name.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Replaces all repositories for an organization secret when the visibility\nfor repository access is set to selected. The visibility is set when you Create\nor update an organization secret.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Replaces all repositories for an organization secret when the visibility\nfor repository access is set to selected. The visibility is set when you Create\nor update an organization secret.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Gets a deployment branch or tag policy for an environment.
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
OK
" } - ], - "descriptionHTML": "Gets a deployment branch or tag policy for an environment.
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
Updates a deployment branch or tag policy for an environment.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Updates a deployment branch or tag policy for an environment.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Note
\n\nTo get information about name patterns that branches must match in order to deploy to this environment, see \"Get a deployment branch policy.\"
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
OK
" } - ], - "descriptionHTML": "Note
\n\nTo get information about name patterns that branches must match in order to deploy to this environment, see \"Get a deployment branch policy.\"
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Default response
" } - ], - "descriptionHTML": "OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see \"Using environments for deployment.\"
\nFor more information about the app that is providing this custom deployment rule, see GET /apps/{app_slug}.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
OK
" } - ], - "descriptionHTML": "Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see \"Using environments for deployment.\"
\nFor more information about the app that is providing this custom deployment rule, see GET /apps/{app_slug}.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
Users with push access can unlock an issue's conversation.
", "statusCodes": [ { "httpStatusCode": "204", @@ -303759,8 +303796,7 @@ "httpStatusCode": "404", "description": "Resource not found
" } - ], - "descriptionHTML": "Users with push access can unlock an issue's conversation.
" + ] }, { "serverUrl": "https://api.github.com", @@ -315182,6 +315218,7 @@ } ], "previews": [], + "descriptionHTML": "You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.application/vnd.github.text+json: Returns a text only representation of the markdown body. Response will include body_text.application/vnd.github.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.application/vnd.github.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.Resource not found
" } - ], - "descriptionHTML": "You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.application/vnd.github.text+json: Returns a text only representation of the markdown body. Response will include body_text.application/vnd.github.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.application/vnd.github.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request.
", "statusCodes": [ { "httpStatusCode": "204", "description": "No Content
" } - ], - "descriptionHTML": "You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request.
" + ] }, { "serverUrl": "https://api.github.com", @@ -372537,6 +372573,7 @@ } ], "previews": [], + "descriptionHTML": "This method returns the contents of the repository's license file, if one is detected.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github.raw+json: Returns the raw contents of the license.application/vnd.github.html+json: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source Markup library.Resource not found
" } - ], - "descriptionHTML": "This method returns the contents of the repository's license file, if one is detected.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github.raw+json: Returns the raw contents of the license.application/vnd.github.html+json: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source Markup library.Get Hypermedia links to resources accessible in GitHub's REST API
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Get Hypermedia links to resources accessible in GitHub's REST API
" + ] }, { "serverUrl": "https://api.github.com", @@ -378460,6 +378496,7 @@ } ], "previews": [], + "descriptionHTML": "Initiates the generation of a migration archive.
", "statusCodes": [ { "httpStatusCode": "201", @@ -378473,8 +378510,7 @@ "httpStatusCode": "422", "description": "Validation failed, or the endpoint has been spammed.
" } - ], - "descriptionHTML": "Initiates the generation of a migration archive.
" + ] }, { "serverUrl": "https://api.github.com", @@ -389753,13 +389789,13 @@ } ], "previews": [], + "descriptionHTML": "This endpoint allows you to run an embedding request attributed to a specific organization. You must be a member of the organization and have enabled models to use this endpoint.\nThe token used to authenticate must have the models: read permission if using a fine-grained PAT or GitHub App minted token.\nThe request body should contain the model ID and the input text(s) for the embedding request. The response will include the generated embeddings.
OK
" } - ], - "descriptionHTML": "This endpoint allows you to run an embedding request attributed to a specific organization. You must be a member of the organization and have enabled models to use this endpoint.\nThe token used to authenticate must have the models: read permission if using a fine-grained PAT or GitHub App minted token.\nThe request body should contain the model ID and the input text(s) for the embedding request. The response will include the generated embeddings.
This endpoint allows you to run an embedding request. The token used to authenticate must have the models: read permission if using a fine-grained PAT or GitHub App minted token.\nThe request body should contain the model ID and the input text(s) for the embedding request. The response will include the generated embeddings.
OK
" } - ], - "descriptionHTML": "This endpoint allows you to run an embedding request. The token used to authenticate must have the models: read permission if using a fine-grained PAT or GitHub App minted token.\nThe request body should contain the model ID and the input text(s) for the embedding request. The response will include the generated embeddings.
Lists all GitHub Apps in an organization. The installation count includes\nall GitHub Apps installed on repositories in the organization.
\nThe authenticated user must be an organization owner to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:read scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists all GitHub Apps in an organization. The installation count includes\nall GitHub Apps installed on repositories in the organization.
\nThe authenticated user must be an organization owner to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:read scope to use this endpoint.
Get API request count statistics for an actor broken down by route within a specified time frame.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Get API request count statistics for an actor broken down by route within a specified time frame.
" + ] }, { "serverUrl": "https://api.github.com", @@ -394336,13 +394378,13 @@ } ], "previews": [], + "descriptionHTML": "Get overall statistics of API requests made within an organization by all users and apps within a specified time frame.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Get overall statistics of API requests made within an organization by all users and apps within a specified time frame.
" + ] }, { "serverUrl": "https://api.github.com", @@ -394440,13 +394482,13 @@ } ], "previews": [], + "descriptionHTML": "Get overall statistics of API requests within the organization for a user.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Get overall statistics of API requests within the organization for a user.
" + ] }, { "serverUrl": "https://api.github.com", @@ -394696,13 +394738,13 @@ } ], "previews": [], + "descriptionHTML": "Get the number of API requests and rate-limited requests made within an organization over a specified time period.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Get the number of API requests and rate-limited requests made within an organization over a specified time period.
" + ] }, { "serverUrl": "https://api.github.com", @@ -399751,7 +399793,7 @@ } ], "previews": [], - "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
", + "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nIn order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
", + "descriptionHTML": "In order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nThe user can publicize their own membership. (A user cannot publicize the membership for another user.)
\nNote that you'll need to set Content-Length to zero when calling out to this endpoint. For more information, see \"HTTP method.\"
Forbidden
" } - ], - "descriptionHTML": "The user can publicize their own membership. (A user cannot publicize the membership for another user.)
\nNote that you'll need to set Content-Length to zero when calling out to this endpoint. For more information, see \"HTTP method.\"
Lists all hosted compute network configurations configured in an organization.
\nOAuth app tokens and personal access tokens (classic) need the read:network_configurations scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists all hosted compute network configurations configured in an organization.
\nOAuth app tokens and personal access tokens (classic) need the read:network_configurations scope to use this endpoint.
Creates a hosted compute network configuration for an organization.
\nOAuth app tokens and personal access tokens (classic) need the write:network_configurations scope to use this endpoint.
Created
" } - ], - "descriptionHTML": "Creates a hosted compute network configuration for an organization.
\nOAuth app tokens and personal access tokens (classic) need the write:network_configurations scope to use this endpoint.
Updates a hosted compute network configuration for an organization.
\nOAuth app tokens and personal access tokens (classic) need the write:network_configurations scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Updates a hosted compute network configuration for an organization.
\nOAuth app tokens and personal access tokens (classic) need the write:network_configurations scope to use this endpoint.
Gets a hosted compute network settings resource configured for an organization.
\nOAuth app tokens and personal access tokens (classic) need the read:network_configurations scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets a hosted compute network settings resource configured for an organization.
\nOAuth app tokens and personal access tokens (classic) need the read:network_configurations scope to use this endpoint.
Removes an organization role from a team. For more information on organization roles, see \"Using organization roles.\"
\nThe authenticated user must be an administrator for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Removes an organization role from a team. For more information on organization roles, see \"Using organization roles.\"
\nThe authenticated user must be an administrator for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Gets a specific package version in an organization.
\nOAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"
OK
" } - ], - "descriptionHTML": "Gets a specific package version in an organization.
\nOAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"
You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.
\nBuild requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.
", "statusCodes": [ { "httpStatusCode": "201", "description": "Created
" } - ], - "descriptionHTML": "You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.
\nBuild requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.
" + ] }, { "serverUrl": "https://api.github.com", @@ -436432,13 +436474,13 @@ } ], "previews": [], + "descriptionHTML": "Gets information about a GitHub Pages build.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets information about a GitHub Pages build.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Get the configuration of a single private registry defined for an organization, omitting its encrypted value.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Resource not found
" } - ], - "descriptionHTML": "Get the configuration of a single private registry defined for an organization, omitting its encrypted value.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Warning
\n\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.
\nValidation failed, or the endpoint has been spammed.
" } - ], - "descriptionHTML": "Warning
\n\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.
\nList the reactions to a team discussion comment.
\nNote
\n\nYou can also specify a team by org_id and team_id using the route GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions.
OAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "List the reactions to a team discussion comment.
\nNote
\n\nYou can also specify a team by org_id and team_id using the route GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions.
OAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.
Lists repositories for the specified organization.
\nNote
\n\nIn order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"
OK
" } - ], - "descriptionHTML": "Lists repositories for the specified organization.
\nNote
\n\nIn order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"
Lists the verified public SSH keys for a user. This is accessible by anyone.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Lists the verified public SSH keys for a user. This is accessible by anyone.
" + ] } ], "social-accounts": [ diff --git a/src/rest/data/ghec-2022-11-28/schema.json b/src/rest/data/ghec-2022-11-28/schema.json index 1c847e4685d1..d89b85e54dd4 100644 --- a/src/rest/data/ghec-2022-11-28/schema.json +++ b/src/rest/data/ghec-2022-11-28/schema.json @@ -989,7 +989,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise administration\" enterprise permissions": "write" @@ -6177,7 +6177,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise administration\" enterprise permissions": "write" @@ -98963,7 +98963,7 @@ ] }, "repository_selection": { - "description": "Describe whether all repositories have been selected or there's a selection involved", + "description": "Describe whether all repositories have been selected or there's a selection involved. For enterprise installations this is `selected`.", "type": "string", "enum": [ "all", @@ -98997,6 +98997,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -100045,7 +100051,7 @@ ] }, "repository_selection": { - "description": "Describe whether all repositories have been selected or there's a selection involved", + "description": "Describe whether all repositories have been selected or there's a selection involved. For enterprise installations this is `selected`.", "type": "string", "enum": [ "all", @@ -100079,6 +100085,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -100804,7 +100816,7 @@ } ], "previews": [], - "descriptionHTML": "Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Uninstalls a GitHub App on a user, organization, or enterprise account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -101457,7 +101469,7 @@ }, "schema": { "title": "Installation Token", - "description": "Authentication token for a GitHub App installed on a user or org.", + "description": "Authentication token for a GitHub App installed on a user, org, or enterprise.", "type": "object", "properties": { "token": { @@ -102852,7 +102864,7 @@ } ], "previews": [], - "descriptionHTML": "Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of 401 - Unauthorized, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access.
Optionally, you can use the repositories or repository_ids body parameters to specify individual repositories that the installation access token can access. If you don't use repositories or repository_ids to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner.
Optionally, use the permissions body parameter to specify the permissions that the installation access token should have. If permissions is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted.
You must use a JWT to access this endpoint.
", + "descriptionHTML": "Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an enterprise, organization, or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of 401 - Unauthorized, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access.
Optionally, you can use the repositories or repository_ids body parameters to specify individual repositories that the installation access token can access. If you don't use repositories or repository_ids to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner.
Optionally, use the permissions body parameter to specify the permissions that the installation access token should have. If permissions is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted.
Enterprise account installations do not have access to repositories and cannot be scoped down using the permissions parameter.
You must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "201", @@ -102923,7 +102935,7 @@ } ], "previews": [], - "descriptionHTML": "Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Cloud API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Suspends a GitHub App on a user, organization, or enterprise account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Cloud API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -105398,7 +105410,7 @@ ] }, "repository_selection": { - "description": "Describe whether all repositories have been selected or there's a selection involved", + "description": "Describe whether all repositories have been selected or there's a selection involved. For enterprise installations this is `selected`.", "type": "string", "enum": [ "all", @@ -105432,6 +105444,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -106485,7 +106503,7 @@ ] }, "repository_selection": { - "description": "Describe whether all repositories have been selected or there's a selection involved", + "description": "Describe whether all repositories have been selected or there's a selection involved. For enterprise installations this is `selected`.", "type": "string", "enum": [ "all", @@ -106519,6 +106537,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -107570,7 +107594,7 @@ ] }, "repository_selection": { - "description": "Describe whether all repositories have been selected or there's a selection involved", + "description": "Describe whether all repositories have been selected or there's a selection involved. For enterprise installations this is `selected`.", "type": "string", "enum": [ "all", @@ -107604,6 +107628,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -109925,7 +109955,7 @@ ] }, "repository_selection": { - "description": "Describe whether all repositories have been selected or there's a selection involved", + "description": "Describe whether all repositories have been selected or there's a selection involved. For enterprise installations this is `selected`.", "type": "string", "enum": [ "all", @@ -109959,6 +109989,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -281836,7 +281872,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Administration\" organization permissions": "read" @@ -286150,7 +286186,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Custom properties\" enterprise permissions": "read" @@ -286418,7 +286454,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Custom properties\" enterprise permissions": "write" @@ -286658,7 +286694,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Custom properties\" enterprise permissions": "write" @@ -286846,7 +286882,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Custom properties\" enterprise permissions": "read" @@ -287082,7 +287118,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Custom properties\" enterprise permissions": "write" @@ -287280,7 +287316,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Custom properties\" enterprise permissions": "write" @@ -287363,7 +287399,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise administration\" enterprise permissions": "read" @@ -288466,14 +288502,830 @@ ] } ], - "rules": [ + "organization-installations": [ + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations", + "title": "Get enterprise-owned organizations that can have GitHub Apps installed", + "category": "enterprise-admin", + "subcategory": "organization-installations", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": false, + "permissions": [ + { + "\"Enterprise organization installations\" enterprise permissions": "read" + } + ] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "A list of organizations owned by the enterprise on which the authenticated GitHub App is installed.
", + "example": [ + { + "id": 1, + "login": "github" + }, + { + "id": 2, + "login": "microsoft" + } + ], + "schema": { + "type": "array", + "items": { + "title": "Installable Organization", + "description": "A GitHub organization on which a GitHub App can be installed.", + "type": "object", + "properties": { + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "login": { + "type": "string", + "examples": [ + "github" + ] + }, + "accessible_repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/enterprises/biz-name/apps/organizations/org-login/accessible_repositories" + ] + } + }, + "required": [ + "id", + "login" + ] + } + } + } + } + ], + "previews": [], + "descriptionHTML": "List the organizations owned by the enterprise, intended for use by GitHub Apps that are managing applications across the enterprise.
\nThis API can only be called by a GitHub App installed on the enterprise that owns the organization.
", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "A list of organizations owned by the enterprise on which the authenticated GitHub App is installed.
" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/installable_organizations/{org}/accessible_repositories", + "title": "Get repositories belonging to an enterprise-owned organization", + "category": "enterprise-admin", + "subcategory": "organization-installations", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "org", + "description": "The organization name. The name is not case sensitive.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": false, + "permissions": [ + { + "\"Enterprise organization installation repositories\" enterprise permissions": "read" + }, + { + "\"Enterprise organization installations\" enterprise permissions": "read" + } + ] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "enterprise": "ENTERPRISE", + "org": "ORG" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "A list of repositories owned by the enterprise organization on which the authenticated GitHub App is installed.
", + "example": [ + { + "id": 1, + "name": "Hello World", + "full_name": "octocat/Hello-World" + }, + { + "id": 2, + "login": "Goodbye World", + "full_name": "octocat/Goodbye-World" + } + ], + "schema": { + "type": "array", + "items": { + "title": "Accessible Repository", + "description": "A repository that may be made accessible to a GitHub App.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "type": "integer", + "format": "int64", + "examples": [ + 1 + ] + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "examples": [ + "Team Environment" + ] + }, + "full_name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + } + }, + "required": [ + "full_name", + "id", + "name" + ] + } + } + } + } + ], + "previews": [], + "descriptionHTML": "List the repositories belonging to an enterprise-owned organization that can be made accessible to a GitHub App installed on that organization. This API provides a shallow list of repositories in the organization, allowing the caller to then add or remove those repositories to an installation in that organization.
\nThis API can only be called by a GitHub App installed on the enterprise that owns the organization.
", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "A list of repositories owned by the enterprise organization on which the authenticated GitHub App is installed.
" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations", + "title": "List GitHub Apps installed on an enterprise-owned organization", + "category": "enterprise-admin", + "subcategory": "organization-installations", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "org", + "description": "The organization name. The name is not case sensitive.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": false, + "permissions": [ + { + "\"Enterprise organization installations\" enterprise permissions": "read" + } + ] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "enterprise": "ENTERPRISE", + "org": "ORG" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "A list of GitHub App installations that have been granted access to the organization
", + "example": [ + { + "value": { + "id": 1, + "app_slug": "monalisa/orbit", + "repository_selection": "selected", + "repositories_url": "https://api.github.com/enterprises/acme-corp/apps/organizations/some-org/installations/1/repositories", + "permissions": { + "checks": "write", + "metadata": "read", + "contents": "read" + }, + "events": [ + "push", + "pull_request" + ], + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00" + } + } + ], + "schema": { + "type": "array", + "items": { + "title": "Enterprise Organization Installation", + "description": "A GitHub App Installation on an enterprise-owned organization", + "type": "object", + "properties": { + "id": { + "description": "The ID of the installation.", + "type": "integer", + "examples": [ + 1 + ] + }, + "app_slug": { + "type": "string", + "examples": [ + "github/github-actions" + ] + }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, + "repository_selection": { + "description": "Describe whether all repositories have been selected or there's a selection involved", + "type": "string", + "enum": [ + "all", + "selected" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/enterprises/acme-corp/apps/organizations/some-org/installations/1/repositories" + ] + }, + "permissions": { + "title": "App Permissions", + "type": "object", + "description": "The permissions granted to the user access token.", + "properties": { + "actions": { + "type": "string", + "description": "The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts.", + "enum": [ + "read", + "write" + ] + }, + "administration": { + "type": "string", + "description": "The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation.", + "enum": [ + "read", + "write" + ] + }, + "checks": { + "type": "string", + "description": "The level of permission to grant the access token for checks on code.", + "enum": [ + "read", + "write" + ] + }, + "codespaces": { + "type": "string", + "description": "The level of permission to grant the access token to create, edit, delete, and list Codespaces.", + "enum": [ + "read", + "write" + ] + }, + "contents": { + "type": "string", + "description": "The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges.", + "enum": [ + "read", + "write" + ] + }, + "dependabot_secrets": { + "type": "string", + "description": "The level of permission to grant the access token to manage Dependabot secrets.", + "enum": [ + "read", + "write" + ] + }, + "deployments": { + "type": "string", + "description": "The level of permission to grant the access token for deployments and deployment statuses.", + "enum": [ + "read", + "write" + ] + }, + "environments": { + "type": "string", + "description": "The level of permission to grant the access token for managing repository environments.", + "enum": [ + "read", + "write" + ] + }, + "issues": { + "type": "string", + "description": "The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones.", + "enum": [ + "read", + "write" + ] + }, + "metadata": { + "type": "string", + "description": "The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata.", + "enum": [ + "read", + "write" + ] + }, + "packages": { + "type": "string", + "description": "The level of permission to grant the access token for packages published to GitHub Packages.", + "enum": [ + "read", + "write" + ] + }, + "pages": { + "type": "string", + "description": "The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds.", + "enum": [ + "read", + "write" + ] + }, + "pull_requests": { + "type": "string", + "description": "The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges.", + "enum": [ + "read", + "write" + ] + }, + "repository_custom_properties": { + "type": "string", + "description": "The level of permission to grant the access token to view and edit custom properties for a repository, when allowed by the property.", + "enum": [ + "read", + "write" + ] + }, + "repository_hooks": { + "type": "string", + "description": "The level of permission to grant the access token to manage the post-receive hooks for a repository.", + "enum": [ + "read", + "write" + ] + }, + "repository_projects": { + "type": "string", + "description": "The level of permission to grant the access token to manage repository projects, columns, and cards.", + "enum": [ + "read", + "write", + "admin" + ] + }, + "secret_scanning_alerts": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage secret scanning alerts.", + "enum": [ + "read", + "write" + ] + }, + "secrets": { + "type": "string", + "description": "The level of permission to grant the access token to manage repository secrets.", + "enum": [ + "read", + "write" + ] + }, + "security_events": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage security events like code scanning alerts.", + "enum": [ + "read", + "write" + ] + }, + "single_file": { + "type": "string", + "description": "The level of permission to grant the access token to manage just a single file.", + "enum": [ + "read", + "write" + ] + }, + "statuses": { + "type": "string", + "description": "The level of permission to grant the access token for commit statuses.", + "enum": [ + "read", + "write" + ] + }, + "vulnerability_alerts": { + "type": "string", + "description": "The level of permission to grant the access token to manage Dependabot alerts.", + "enum": [ + "read", + "write" + ] + }, + "workflows": { + "type": "string", + "description": "The level of permission to grant the access token to update GitHub Actions workflow files.", + "enum": [ + "write" + ] + }, + "members": { + "type": "string", + "description": "The level of permission to grant the access token for organization teams and members.", + "enum": [ + "read", + "write" + ] + }, + "organization_administration": { + "type": "string", + "description": "The level of permission to grant the access token to manage access to an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom repository roles management.", + "enum": [ + "read", + "write" + ] + }, + "organization_custom_org_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom organization roles management.", + "enum": [ + "read", + "write" + ] + }, + "organization_custom_properties": { + "type": "string", + "description": "The level of permission to grant the access token for custom property management.", + "enum": [ + "read", + "write", + "admin" + ] + }, + "organization_copilot_seat_management": { + "type": "string", + "description": "The level of permission to grant the access token for managing access to GitHub Copilot for members of an organization with a Copilot Business subscription. This property is in public preview and is subject to change.", + "enum": [ + "write" + ] + }, + "organization_announcement_banners": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage announcement banners for an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_events": { + "type": "string", + "description": "The level of permission to grant the access token to view events triggered by an activity in an organization.", + "enum": [ + "read" + ] + }, + "organization_hooks": { + "type": "string", + "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_personal_access_tokens": { + "type": "string", + "description": "The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_personal_access_token_requests": { + "type": "string", + "description": "The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_plan": { + "type": "string", + "description": "The level of permission to grant the access token for viewing an organization's plan.", + "enum": [ + "read" + ] + }, + "organization_projects": { + "type": "string", + "description": "The level of permission to grant the access token to manage organization projects and projects public preview (where available).", + "enum": [ + "read", + "write", + "admin" + ] + }, + "organization_packages": { + "type": "string", + "description": "The level of permission to grant the access token for organization packages published to GitHub Packages.", + "enum": [ + "read", + "write" + ] + }, + "organization_secrets": { + "type": "string", + "description": "The level of permission to grant the access token to manage organization secrets.", + "enum": [ + "read", + "write" + ] + }, + "organization_self_hosted_runners": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_user_blocking": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage users blocked by the organization.", + "enum": [ + "read", + "write" + ] + }, + "team_discussions": { + "type": "string", + "description": "The level of permission to grant the access token to manage team discussions and related comments.", + "enum": [ + "read", + "write" + ] + }, + "email_addresses": { + "type": "string", + "description": "The level of permission to grant the access token to manage the email addresses belonging to a user.", + "enum": [ + "read", + "write" + ] + }, + "followers": { + "type": "string", + "description": "The level of permission to grant the access token to manage the followers belonging to a user.", + "enum": [ + "read", + "write" + ] + }, + "git_ssh_keys": { + "type": "string", + "description": "The level of permission to grant the access token to manage git SSH keys.", + "enum": [ + "read", + "write" + ] + }, + "gpg_keys": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage GPG keys belonging to a user.", + "enum": [ + "read", + "write" + ] + }, + "interaction_limits": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage interaction limits on a repository.", + "enum": [ + "read", + "write" + ] + }, + "profile": { + "type": "string", + "description": "The level of permission to grant the access token to manage the profile settings belonging to a user.", + "enum": [ + "write" + ] + }, + "starring": { + "type": "string", + "description": "The level of permission to grant the access token to list and manage repositories a user is starring.", + "enum": [ + "read", + "write" + ] + } + }, + "example": { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "id", + "client_id", + "repository_selection", + "repositories_url", + "permissions", + "created_at", + "updated_at" + ] + } + } + } + } + ], + "previews": [], + "descriptionHTML": "Lists the GitHub App installations associated with the given enterprise-owned organization. This lists all GitHub Apps that have been installed on the organization, regardless of who owns the application.
\nThis API can only be called by a GitHub App installed on the enterprise that owns the organization.
", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "A list of GitHub App installations that have been granted access to the organization
" + } + ] + }, { "serverUrl": "https://api.github.com", "verb": "post", - "requestPath": "/enterprises/{enterprise}/rulesets", - "title": "Create an enterprise repository ruleset", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations", + "title": "Install a GitHub App on an enterprise-owned organization", "category": "enterprise-admin", - "subcategory": "rules", + "subcategory": "organization-installations", "parameters": [ { "name": "enterprise", @@ -288483,122 +289335,2927 @@ "schema": { "type": "string" } + }, + { + "name": "org", + "description": "The organization name. The name is not case sensitive.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } } ], "bodyParameters": [ { "type": "string", - "name": "name", + "name": "client_id", "in": "body", - "description": "The name of the ruleset.
", + "description": "The Client ID of the GitHub App to install.
", "isRequired": true }, { "type": "string", - "name": "target", - "in": "body", - "description": "The target of the ruleset
", - "enum": [ - "branch", - "tag", - "push", - "repository" - ], - "default": "branch" - }, - { - "type": "string", - "name": "enforcement", + "name": "repository_selection", "in": "body", - "description": "The enforcement level of the ruleset. evaluate allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page. evaluate is not available for the repository target.
The repository selection for the GitHub App. Must be one of:
\nall - the installation can access all repositories in the organization.selected - the installation can access only the listed repositories.none - no repository permissions are requested. Only use when the app does not request repository permissions.The actors that can bypass the rules in this ruleset
", - "childParamsGroups": [ - { - "type": "integer or null", - "name": "actor_id", - "description": "The ID of the actor that can bypass a ruleset. If actor_type is OrganizationAdmin, this should be 1. If actor_type is DeployKey, this should be null. If actor_type is EnterpriseOwner, actor_id is ignored. OrganizationAdmin and EnterpriseOwner are not applicable for personal repositories.
The type of actor that can bypass a ruleset
", - "isRequired": true, - "enum": [ - "Integration", - "OrganizationAdmin", - "RepositoryRole", - "Team", - "DeployKey", - "EnterpriseOwner" - ] + "description": "The names of the repositories to which the installation will be granted access. This is the simple name of the repository, not the full name (e.g., hello-world not octocat/hello-world). This is only required when repository_selection is selected.
When the specified actor can bypass the ruleset. pull_request means that an actor can only bypass rules on pull requests. pull_request is not applicable for the DeployKey actor type. Also, pull_request is only applicable to branch rulesets.
A GitHub App installation that was installed previously.
", + "example": { + "id": 1, + "account": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "access_tokens_url": "https://api.github.com/app/installations/1/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/github/settings/installations/1", + "app_id": 1, + "target_id": 1, + "target_type": "Organization", + "permissions": { + "checks": "write", + "metadata": "read", + "contents": "read" + }, + "events": [ + "push", "pull_request" ], - "default": "always" - } - ] - }, - { - "type": "object", - "name": "conditions", - "in": "body", - "description": "Conditions for an enterprise ruleset. The conditions object should contain either the organization_id or organization_name property and the repository_name or repository_property property. For branch and tag rulesets, the conditions object should also contain the ref_name property.
Conditions to target organizations by name and all repositories
", - "isRequired": [ - "organization_name", - "repository_name" + "single_file_name": "config.yaml", + "has_multiple_single_files": true, + "single_file_paths": [ + "config.yml", + ".github/issue_TEMPLATE.md" ], - "childParamsGroups": [ - { - "type": "object", - "name": "organization_name", - "description": "", - "isRequired": true, - "childParamsGroups": [ - { - "type": "array of strings", - "name": "include", - "description": "Array of organization names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~ALL to include all organizations and ~EMUS to target all enterprise managed user accounts.
Array of organization names or patterns to exclude. The condition will not pass if any of these patterns match.
" - } + "repository_selection": "selected", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "app_slug": "github-actions", + "suspended_at": null, + "suspended_by": null + }, + "schema": { + "title": "Installation", + "description": "Installation", + "type": "object", + "properties": { + "id": { + "description": "The ID of the installation.", + "type": "integer", + "examples": [ + 1 ] }, - { - "type": "object", - "name": "repository_name", - "description": "", - "isRequired": true, - "childParamsGroups": [ - { - "type": "array of strings", - "name": "include", - "description": "Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~ALL to include all repositories.
Installs any valid GitHub App on the specified organization owned by the enterprise. If the app is already installed on the organization, and is suspended, it will be unsuspended.\nIf the app has a pending installation request, they will all be approved.
\nIf the app is already installed and has a pending update request, it will be updated to the latest version. If the app is now requesting repository permissions, it will be given access to the repositories listed in the request or fail if no repository_selection is provided.
This API can only be called by a GitHub App installed on the enterprise that owns the organization.
", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "A GitHub App installation that was installed previously.
" + }, + { + "httpStatusCode": "201", + "description": "A GitHub App installation.
" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}", + "title": "Uninstall a GitHub App from an enterprise-owned organization", + "category": "enterprise-admin", + "subcategory": "organization-installations", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "org", + "description": "The organization name. The name is not case sensitive.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "installation_id", + "description": "The unique identifier of the installation.
", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "examples": { + "default": { + "value": 1 + } + } + } + ], + "bodyParameters": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": false, + "permissions": [ + { + "\"Enterprise organization installations\" enterprise permissions": "write" + } + ] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "enterprise": "ENTERPRISE", + "org": "ORG", + "installation_id": 1 + } + }, + "response": { + "statusCode": "204", + "description": "An empty response indicates that the installation was successfully removed.
" + } + } + ], + "previews": [], + "descriptionHTML": "Uninstall a GitHub App from an organization. Any app installed on the organization can be removed.
\nThis API can only be called by a GitHub App installed on the enterprise that owns the organization.
", + "statusCodes": [ + { + "httpStatusCode": "204", + "description": "An empty response indicates that the installation was successfully removed.
" + }, + { + "httpStatusCode": "403", + "description": "Forbidden
" + }, + { + "httpStatusCode": "404", + "description": "Resource not found
" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories", + "title": "Get the repositories accessible to a given GitHub App installation", + "category": "enterprise-admin", + "subcategory": "organization-installations", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "org", + "description": "The organization name. The name is not case sensitive.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "installation_id", + "description": "The unique identifier of the installation.
", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "examples": { + "default": { + "value": 1 + } + } + }, + { + "name": "per_page", + "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": false, + "permissions": [ + { + "\"Enterprise organization installation repositories\" enterprise permissions": "read" + }, + { + "\"Enterprise organization installations\" enterprise permissions": "read" + } + ] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "enterprise": "ENTERPRISE", + "org": "ORG", + "installation_id": 1 + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "A list of repositories owned by the enterprise organization to which the installation has access.
", + "example": [ + { + "id": 1, + "name": "Hello World", + "full_name": "octocat/Hello-World" + }, + { + "id": 2, + "login": "Goodbye World", + "full_name": "octocat/Goodbye-World" + } + ], + "schema": { + "type": "array", + "items": { + "title": "Accessible Repository", + "description": "A repository that may be made accessible to a GitHub App.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "type": "integer", + "format": "int64", + "examples": [ + 1 + ] + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "examples": [ + "Team Environment" + ] + }, + "full_name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + } + }, + "required": [ + "full_name", + "id", + "name" + ] + } + } + } + } + ], + "previews": [], + "descriptionHTML": "Lists the repositories accessible to a given GitHub App installation on an enterprise-owned organization.
\nThis API can only be called by a GitHub App installed on the enterprise that owns the organization.
", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "A list of repositories owned by the enterprise organization to which the installation has access.
" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories", + "title": "Toggle installation repository access between selected and all repositories", + "category": "enterprise-admin", + "subcategory": "organization-installations", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "org", + "description": "The organization name. The name is not case sensitive.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "installation_id", + "description": "The unique identifier of the installation.
", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "examples": { + "default": { + "value": 1 + } + } + } + ], + "bodyParameters": [ + { + "type": "string", + "name": "repository_selection", + "in": "body", + "description": "One of either 'all' or 'selected'
", + "isRequired": true, + "enum": [ + "all", + "selected" + ] + }, + { + "type": "array of strings", + "name": "repositories", + "in": "body", + "description": "The repository names to add to the installation. Only required when repository_selection is 'selected'
" + } + ], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": false, + "permissions": [ + { + "\"Enterprise organization installation repositories\" enterprise permissions": "write" + }, + { + "\"Enterprise organization installations\" enterprise permissions": "write" + } + ] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "contentType": "application/json", + "description": "Change the repositories accessible to a GitHub App from 'all repositories' to a specified subset.", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "repository_selection": "selected", + "repositories": [ + "hello-world", + "hello-world-2" + ] + }, + "parameters": { + "enterprise": "ENTERPRISE", + "org": "ORG", + "installation_id": 1 + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "The GitHub App installation that was updated.
", + "example": { + "id": 1, + "account": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "access_tokens_url": "https://api.github.com/app/installations/1/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/github/settings/installations/1", + "app_id": 1, + "target_id": 1, + "target_type": "Organization", + "permissions": { + "checks": "write", + "metadata": "read", + "contents": "read" + }, + "events": [ + "push", + "pull_request" + ], + "single_file_name": "config.yaml", + "has_multiple_single_files": true, + "single_file_paths": [ + "config.yml", + ".github/issue_TEMPLATE.md" + ], + "repository_selection": "selected", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "app_slug": "github-actions", + "suspended_at": null, + "suspended_by": null + }, + "schema": { + "title": "Installation", + "description": "Installation", + "type": "object", + "properties": { + "id": { + "description": "The ID of the installation.", + "type": "integer", + "examples": [ + 1 + ] + }, + "account": { + "anyOf": [ + { + "title": "Simple User", + "description": "A GitHub user.", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "format": "int64", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + }, + "user_view_type": { + "type": "string", + "examples": [ + "public" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + }, + { + "title": "Enterprise", + "description": "An enterprise on GitHub.", + "type": "object", + "properties": { + "description": { + "description": "A short description of the enterprise.", + "type": [ + "string", + "null" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/enterprises/octo-business" + ] + }, + "website_url": { + "description": "The enterprise's website URL.", + "type": [ + "string", + "null" + ], + "format": "uri" + }, + "id": { + "description": "Unique identifier of the enterprise", + "type": "integer", + "examples": [ + 42 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + ] + }, + "name": { + "description": "The name of the enterprise.", + "type": "string", + "examples": [ + "Octo Business" + ] + }, + "slug": { + "description": "The slug url identifier for the enterprise.", + "type": "string", + "examples": [ + "octo-business" + ] + }, + "created_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "examples": [ + "2019-01-26T19:01:12Z" + ] + }, + "updated_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "examples": [ + "2019-01-26T19:14:43Z" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "id", + "node_id", + "name", + "slug", + "html_url", + "created_at", + "updated_at", + "avatar_url" + ] + } + ], + "type": [ + "null", + "object" + ] + }, + "repository_selection": { + "description": "Describe whether all repositories have been selected or there's a selection involved. For enterprise installations this is `selected`.", + "type": "string", + "enum": [ + "all", + "selected" + ] + }, + "access_tokens_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/app/installations/1/access_tokens" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/installation/repositories" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/organizations/github/settings/installations/1" + ] + }, + "app_id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, + "target_id": { + "description": "The ID of the user or organization this token is being scoped to.", + "type": "integer" + }, + "target_type": { + "type": "string", + "examples": [ + "Organization" + ] + }, + "permissions": { + "title": "App Permissions", + "type": "object", + "description": "The permissions granted to the user access token.", + "properties": { + "actions": { + "type": "string", + "description": "The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts.", + "enum": [ + "read", + "write" + ] + }, + "administration": { + "type": "string", + "description": "The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation.", + "enum": [ + "read", + "write" + ] + }, + "checks": { + "type": "string", + "description": "The level of permission to grant the access token for checks on code.", + "enum": [ + "read", + "write" + ] + }, + "codespaces": { + "type": "string", + "description": "The level of permission to grant the access token to create, edit, delete, and list Codespaces.", + "enum": [ + "read", + "write" + ] + }, + "contents": { + "type": "string", + "description": "The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges.", + "enum": [ + "read", + "write" + ] + }, + "dependabot_secrets": { + "type": "string", + "description": "The level of permission to grant the access token to manage Dependabot secrets.", + "enum": [ + "read", + "write" + ] + }, + "deployments": { + "type": "string", + "description": "The level of permission to grant the access token for deployments and deployment statuses.", + "enum": [ + "read", + "write" + ] + }, + "environments": { + "type": "string", + "description": "The level of permission to grant the access token for managing repository environments.", + "enum": [ + "read", + "write" + ] + }, + "issues": { + "type": "string", + "description": "The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones.", + "enum": [ + "read", + "write" + ] + }, + "metadata": { + "type": "string", + "description": "The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata.", + "enum": [ + "read", + "write" + ] + }, + "packages": { + "type": "string", + "description": "The level of permission to grant the access token for packages published to GitHub Packages.", + "enum": [ + "read", + "write" + ] + }, + "pages": { + "type": "string", + "description": "The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds.", + "enum": [ + "read", + "write" + ] + }, + "pull_requests": { + "type": "string", + "description": "The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges.", + "enum": [ + "read", + "write" + ] + }, + "repository_custom_properties": { + "type": "string", + "description": "The level of permission to grant the access token to view and edit custom properties for a repository, when allowed by the property.", + "enum": [ + "read", + "write" + ] + }, + "repository_hooks": { + "type": "string", + "description": "The level of permission to grant the access token to manage the post-receive hooks for a repository.", + "enum": [ + "read", + "write" + ] + }, + "repository_projects": { + "type": "string", + "description": "The level of permission to grant the access token to manage repository projects, columns, and cards.", + "enum": [ + "read", + "write", + "admin" + ] + }, + "secret_scanning_alerts": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage secret scanning alerts.", + "enum": [ + "read", + "write" + ] + }, + "secrets": { + "type": "string", + "description": "The level of permission to grant the access token to manage repository secrets.", + "enum": [ + "read", + "write" + ] + }, + "security_events": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage security events like code scanning alerts.", + "enum": [ + "read", + "write" + ] + }, + "single_file": { + "type": "string", + "description": "The level of permission to grant the access token to manage just a single file.", + "enum": [ + "read", + "write" + ] + }, + "statuses": { + "type": "string", + "description": "The level of permission to grant the access token for commit statuses.", + "enum": [ + "read", + "write" + ] + }, + "vulnerability_alerts": { + "type": "string", + "description": "The level of permission to grant the access token to manage Dependabot alerts.", + "enum": [ + "read", + "write" + ] + }, + "workflows": { + "type": "string", + "description": "The level of permission to grant the access token to update GitHub Actions workflow files.", + "enum": [ + "write" + ] + }, + "members": { + "type": "string", + "description": "The level of permission to grant the access token for organization teams and members.", + "enum": [ + "read", + "write" + ] + }, + "organization_administration": { + "type": "string", + "description": "The level of permission to grant the access token to manage access to an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom repository roles management.", + "enum": [ + "read", + "write" + ] + }, + "organization_custom_org_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom organization roles management.", + "enum": [ + "read", + "write" + ] + }, + "organization_custom_properties": { + "type": "string", + "description": "The level of permission to grant the access token for custom property management.", + "enum": [ + "read", + "write", + "admin" + ] + }, + "organization_copilot_seat_management": { + "type": "string", + "description": "The level of permission to grant the access token for managing access to GitHub Copilot for members of an organization with a Copilot Business subscription. This property is in public preview and is subject to change.", + "enum": [ + "write" + ] + }, + "organization_announcement_banners": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage announcement banners for an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_events": { + "type": "string", + "description": "The level of permission to grant the access token to view events triggered by an activity in an organization.", + "enum": [ + "read" + ] + }, + "organization_hooks": { + "type": "string", + "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_personal_access_tokens": { + "type": "string", + "description": "The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_personal_access_token_requests": { + "type": "string", + "description": "The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_plan": { + "type": "string", + "description": "The level of permission to grant the access token for viewing an organization's plan.", + "enum": [ + "read" + ] + }, + "organization_projects": { + "type": "string", + "description": "The level of permission to grant the access token to manage organization projects and projects public preview (where available).", + "enum": [ + "read", + "write", + "admin" + ] + }, + "organization_packages": { + "type": "string", + "description": "The level of permission to grant the access token for organization packages published to GitHub Packages.", + "enum": [ + "read", + "write" + ] + }, + "organization_secrets": { + "type": "string", + "description": "The level of permission to grant the access token to manage organization secrets.", + "enum": [ + "read", + "write" + ] + }, + "organization_self_hosted_runners": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization.", + "enum": [ + "read", + "write" + ] + }, + "organization_user_blocking": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage users blocked by the organization.", + "enum": [ + "read", + "write" + ] + }, + "team_discussions": { + "type": "string", + "description": "The level of permission to grant the access token to manage team discussions and related comments.", + "enum": [ + "read", + "write" + ] + }, + "email_addresses": { + "type": "string", + "description": "The level of permission to grant the access token to manage the email addresses belonging to a user.", + "enum": [ + "read", + "write" + ] + }, + "followers": { + "type": "string", + "description": "The level of permission to grant the access token to manage the followers belonging to a user.", + "enum": [ + "read", + "write" + ] + }, + "git_ssh_keys": { + "type": "string", + "description": "The level of permission to grant the access token to manage git SSH keys.", + "enum": [ + "read", + "write" + ] + }, + "gpg_keys": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage GPG keys belonging to a user.", + "enum": [ + "read", + "write" + ] + }, + "interaction_limits": { + "type": "string", + "description": "The level of permission to grant the access token to view and manage interaction limits on a repository.", + "enum": [ + "read", + "write" + ] + }, + "profile": { + "type": "string", + "description": "The level of permission to grant the access token to manage the profile settings belonging to a user.", + "enum": [ + "write" + ] + }, + "starring": { + "type": "string", + "description": "The level of permission to grant the access token to list and manage repositories a user is starring.", + "enum": [ + "read", + "write" + ] + } + }, + "example": { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "single_file_name": { + "type": [ + "string", + "null" + ], + "examples": [ + "config.yaml" + ] + }, + "has_multiple_single_files": { + "type": "boolean", + "examples": [ + true + ] + }, + "single_file_paths": { + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] + }, + "app_slug": { + "type": "string", + "examples": [ + "github-actions" + ] + }, + "suspended_by": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "A GitHub user.", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "format": "int64", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + }, + "user_view_type": { + "type": "string", + "examples": [ + "public" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "suspended_at": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "contact_email": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com\"" + ] + } + }, + "required": [ + "id", + "app_id", + "app_slug", + "target_id", + "target_type", + "single_file_name", + "repository_selection", + "access_tokens_url", + "html_url", + "repositories_url", + "events", + "account", + "permissions", + "created_at", + "updated_at", + "suspended_by", + "suspended_at" + ] + } + } + } + ], + "previews": [], + "descriptionHTML": "Toggle repository access for a GitHub App installation between all repositories and selected repositories. You must provide at least one repository when changing the access to 'selected'. If you change the access to 'all', the repositories list must not be provided.
\nThis API can only be called by a GitHub App installed on the enterprise that owns the organization.
", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "The GitHub App installation that was updated.
" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/add", + "title": "Grant repository access to an organization installation", + "category": "enterprise-admin", + "subcategory": "organization-installations", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "org", + "description": "The organization name. The name is not case sensitive.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "installation_id", + "description": "The unique identifier of the installation.
", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "examples": { + "default": { + "value": 1 + } + } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "repositories", + "in": "body", + "description": "The repository names to add to the installation.
", + "isRequired": true + } + ], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": false, + "permissions": [ + { + "\"Enterprise organization installation repositories\" enterprise permissions": "write" + }, + { + "\"Enterprise organization installations\" enterprise permissions": "write" + } + ] + }, + "codeExamples": [ + { + "key": "repositories", + "request": { + "contentType": "application/json", + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "repositories": [ + "hello-world", + "hello-world-2" + ] + }, + "parameters": { + "enterprise": "ENTERPRISE", + "org": "ORG", + "installation_id": 1 + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "A list of repositories which the authenticated GitHub App should be granted access to.
", + "example": [ + { + "id": 1, + "name": "Hello World", + "full_name": "octocat/Hello-World" + }, + { + "id": 2, + "login": "Goodbye World", + "full_name": "octocat/Goodbye-World" + } + ], + "schema": { + "type": "array", + "items": { + "title": "Accessible Repository", + "description": "A repository that may be made accessible to a GitHub App.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "type": "integer", + "format": "int64", + "examples": [ + 1 + ] + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "examples": [ + "Team Environment" + ] + }, + "full_name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + } + }, + "required": [ + "full_name", + "id", + "name" + ] + } + } + } + } + ], + "previews": [], + "descriptionHTML": "Grant repository access to an organization installation. You can add up to 50 repositories at a time. If the installation already has access to the repository, it will not be added again.
\nThis API can only be called by a GitHub App installed on the enterprise that owns the organization.
", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "A list of repositories which the authenticated GitHub App should be granted access to.
" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/remove", + "title": "Remove repository access from an organization installation", + "category": "enterprise-admin", + "subcategory": "organization-installations", + "parameters": [ + { + "name": "enterprise", + "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "org", + "description": "The organization name. The name is not case sensitive.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "installation_id", + "description": "The unique identifier of the installation.
", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "examples": { + "default": { + "value": 1 + } + } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "repositories", + "in": "body", + "description": "The repository names to remove from the installation.
", + "isRequired": true + } + ], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": false, + "permissions": [ + { + "\"Enterprise organization installation repositories\" enterprise permissions": "write" + }, + { + "\"Enterprise organization installations\" enterprise permissions": "write" + } + ] + }, + "codeExamples": [ + { + "key": "repositories", + "request": { + "contentType": "application/json", + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "repositories": [ + "hello-world", + "hello-world-2" + ] + }, + "parameters": { + "enterprise": "ENTERPRISE", + "org": "ORG", + "installation_id": 1 + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "A list of repositories which the authenticated GitHub App has lost access to.
", + "example": [ + { + "id": 1, + "name": "Hello World", + "full_name": "octocat/Hello-World" + }, + { + "id": 2, + "login": "Goodbye World", + "full_name": "octocat/Goodbye-World" + } + ], + "schema": { + "type": "array", + "items": { + "title": "Accessible Repository", + "description": "A repository that may be made accessible to a GitHub App.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "type": "integer", + "format": "int64", + "examples": [ + 1 + ] + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "examples": [ + "Team Environment" + ] + }, + "full_name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + } + }, + "required": [ + "full_name", + "id", + "name" + ] + } + } + } + } + ], + "previews": [], + "descriptionHTML": "Remove repository access from a GitHub App installed on an organization. You can remove up to 50 repositories at a time. You cannot remove repositories from an app installed on all repositories, nor can you remove the last repository for an app. If you attempt to do so, the API will return a 422 Unprocessable Entity error.
This API can only be called by a GitHub App installed on the enterprise that owns the organization.
", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "A list of repositories which the authenticated GitHub App has lost access to.
" + }, + { + "httpStatusCode": "422", + "description": "The request was well-formed but was unable to be followed due to semantic errors. This can happen if you attempt to remove a repository from an installation that has access to all repositories, or if you attempt to remove the last repository from an installation.
The slug version of the enterprise name. You can also substitute this value with the enterprise id.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "bodyParameters": [ + { + "type": "string", + "name": "name", + "in": "body", + "description": "The name of the ruleset.
", + "isRequired": true + }, + { + "type": "string", + "name": "target", + "in": "body", + "description": "The target of the ruleset
", + "enum": [ + "branch", + "tag", + "push", + "repository" + ], + "default": "branch" + }, + { + "type": "string", + "name": "enforcement", + "in": "body", + "description": "The enforcement level of the ruleset. evaluate allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page. evaluate is not available for the repository target.
The actors that can bypass the rules in this ruleset
", + "childParamsGroups": [ + { + "type": "integer or null", + "name": "actor_id", + "description": "The ID of the actor that can bypass a ruleset. If actor_type is OrganizationAdmin, this should be 1. If actor_type is DeployKey, this should be null. If actor_type is EnterpriseOwner, actor_id is ignored. OrganizationAdmin and EnterpriseOwner are not applicable for personal repositories.
The type of actor that can bypass a ruleset
", + "isRequired": true, + "enum": [ + "Integration", + "OrganizationAdmin", + "RepositoryRole", + "Team", + "DeployKey", + "EnterpriseOwner" + ] + }, + { + "type": "string", + "name": "bypass_mode", + "description": "When the specified actor can bypass the ruleset. pull_request means that an actor can only bypass rules on pull requests. pull_request is not applicable for the DeployKey actor type. Also, pull_request is only applicable to branch rulesets.
Conditions for an enterprise ruleset. The conditions object should contain either the organization_id or organization_name property and the repository_name or repository_property property. For branch and tag rulesets, the conditions object should also contain the ref_name property.
Conditions to target organizations by name and all repositories
", + "isRequired": [ + "organization_name", + "repository_name" + ], + "childParamsGroups": [ + { + "type": "object", + "name": "organization_name", + "description": "", + "isRequired": true, + "childParamsGroups": [ + { + "type": "array of strings", + "name": "include", + "description": "Array of organization names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~ALL to include all organizations and ~EMUS to target all enterprise managed user accounts.
Array of organization names or patterns to exclude. The condition will not pass if any of these patterns match.
" + } + ] + }, + { + "type": "object", + "name": "repository_name", + "description": "", + "isRequired": true, + "childParamsGroups": [ + { + "type": "array of strings", + "name": "include", + "description": "Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~ALL to include all repositories.
Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
", + "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nIn order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
", + "descriptionHTML": "In order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nLists the GitHub Actions caches for a repository.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists the GitHub Actions caches for a repository.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Gets the customization template for an OpenID Connect (OIDC) subject claim.
\nOAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint.
A JSON serialized template for OIDC subject claim customization
" } - ], - "descriptionHTML": "Gets the customization template for an OpenID Connect (OIDC) subject claim.
\nOAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint.
Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations must be configured to selected. For more information, see \"Set GitHub Actions permissions for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations must be configured to selected. For more information, see \"Set GitHub Actions permissions for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for allowed_actions must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"
If the organization belongs to an enterprise that has selected actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings.
To use the patterns_allowed setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the patterns_allowed setting only applies to public repositories in the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for allowed_actions must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"
If the organization belongs to an enterprise that has selected actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings.
To use the patterns_allowed setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the patterns_allowed setting only applies to public repositories in the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository.
\nYou must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the administration repository permission to use this API.
OK
" } - ], - "descriptionHTML": "Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository.
\nYou must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the administration repository permission to use this API.
Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository.
\nIf the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as allowed_actions to selected actions, then you cannot override them for the repository.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository.
\nIf the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as allowed_actions to selected actions, then you cannot override them for the repository.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Lists all secrets available in an organization without revealing their\nencrypted values.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
OK
" } - ], - "descriptionHTML": "Lists all secrets available in an organization without revealing their\nencrypted values.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Gets your public key, which you need to encrypt secrets. You need to\nencrypt a secret before you can create or update secrets.
\nThe authenticated user must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets your public key, which you need to encrypt secrets. You need to\nencrypt a secret before you can create or update secrets.
\nThe authenticated user must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Deletes a secret in an organization using the secret name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Deletes a secret in an organization using the secret name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see \"Create a self-hosted runner group for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see \"Create a self-hosted runner group for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Deletes a self-hosted runner group for an organization.
\nOAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Deletes a self-hosted runner group for an organization.
\nOAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Returns a token that you can pass to the config script. The token expires after one hour.
Example using registration token:
\nConfigure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Created
" } - ], - "descriptionHTML": "Returns a token that you can pass to the config script. The token expires after one hour.
Example using registration token:
\nConfigure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Remove all previous custom labels and set the new custom labels for a specific\nself-hosted runner configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Validation failed, or the endpoint has been spammed.
" } - ], - "descriptionHTML": "Remove all previous custom labels and set the new custom labels for a specific\nself-hosted runner configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Lists all organization variables.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
OK
" } - ], - "descriptionHTML": "Lists all organization variables.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Gets a specific variable in an organization.
\nThe authenticated user must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets a specific variable in an organization.
\nThe authenticated user must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Replaces all repositories for an organization variable that is available\nto selected repositories. Organization variables that are available to selected\nrepositories have their visibility field set to selected.
Authenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Response when the visibility of the variable is not set to selected
Replaces all repositories for an organization variable that is available\nto selected repositories. Organization variables that are available to selected\nrepositories have their visibility field set to selected.
Authenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Removes a repository from an organization variable that is\navailable to selected repositories. Organization variables that are available to\nselected repositories have their visibility field set to selected.
Authenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Response when the visibility of the variable is not set to selected
Removes a repository from an organization variable that is\navailable to selected repositories. Organization variables that are available to\nselected repositories have their visibility field set to selected.
Authenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Note
\n\nThis API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
\nOK
" } - ], - "descriptionHTML": "Note
\n\nThis API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
\nLists all notifications for the current user in the specified repository.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Lists all notifications for the current user in the specified repository.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -92729,6 +92729,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -93811,6 +93817,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -94536,7 +94548,7 @@ } ], "previews": [], - "descriptionHTML": "Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Uninstalls a GitHub App on a user, organization, or enterprise account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -96655,7 +96667,7 @@ } ], "previews": [], - "descriptionHTML": "Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Server API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Suspends a GitHub App on a user, organization, or enterprise account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Server API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -99158,6 +99170,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -100245,6 +100263,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -101330,6 +101354,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -101996,13 +102026,13 @@ } ], "previews": [], + "descriptionHTML": "Enables an authenticated GitHub App to find the user’s installation information.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Enables an authenticated GitHub App to find the user’s installation information.
\nYou must use a JWT to access this endpoint.
" + ] } ], "installations": [ @@ -103685,6 +103715,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -118401,6 +118437,7 @@ } ], "previews": [], + "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "201", @@ -118426,8 +118463,7 @@ "httpStatusCode": "422", "description": "Validation failed, or the endpoint has been spammed.
" } - ], - "descriptionHTML": "" + ] } ], "branch-protection": [ @@ -185565,13 +185601,13 @@ } ], "previews": [], + "descriptionHTML": "Gets your public key, which you need to encrypt secrets. You need to\nencrypt a secret before you can create or update secrets.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets your public key, which you need to encrypt secrets. You need to\nencrypt a secret before you can create or update secrets.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Deletes a secret in a repository using the secret name.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Deletes a secret in a repository using the secret name.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -201236,13 +201272,13 @@ } ], "previews": [], + "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -202269,13 +202305,13 @@ } ], "previews": [], + "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Success
" } - ], - "descriptionHTML": "Gets the GitHub Advanced Security active committers for an enterprise per repository.
\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count field.
Accepted
" } - ], - "descriptionHTML": "" + ] } ], "pre-receive-environments": [ @@ -209702,13 +209738,13 @@ } ], "previews": [], + "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -210889,7 +210925,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -211249,7 +211285,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -211542,7 +211578,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -211859,7 +211895,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -212399,7 +212435,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -212912,7 +212948,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -213036,7 +213072,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -213577,7 +213613,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -214294,7 +214330,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -214795,7 +214831,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -215233,7 +215269,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -216241,7 +216277,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -293365,13 +293401,13 @@ } ], "previews": [], + "descriptionHTML": "Lists labels for issues in a milestone.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Lists labels for issues in a milestone.
" + ] } ], "milestones": [ @@ -293853,6 +293889,7 @@ } ], "previews": [], + "descriptionHTML": "Lists milestones for a repository.
", "statusCodes": [ { "httpStatusCode": "200", @@ -293862,8 +293899,7 @@ "httpStatusCode": "404", "description": "Resource not found
" } - ], - "descriptionHTML": "Lists milestones for a repository.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -313599,13 +313635,13 @@ } ], "previews": [], + "descriptionHTML": "Get the octocat as ASCII art
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Get the octocat as ASCII art
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -324558,6 +324594,7 @@ } ], "previews": [], + "descriptionHTML": "Warning
\n\nClosing down notice: GitHub Enterprise Server will discontinue the OAuth Authorizations API, which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our web application flow. The OAuth Authorizations API will be removed on November 13, 2020. For more information, including scheduled brownouts, see the blog post.
\nYou can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the list your authorizations API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on the application authorizations settings screen within GitHub. The scopes returned are the union of scopes authorized for the application. For example, if an application has one token with repo scope and another token with user scope, the grant will return [\"repo\", \"user\"].
Resource not found
" } - ], - "descriptionHTML": "Warning
\n\nClosing down notice: GitHub Enterprise Server will discontinue the OAuth Authorizations API, which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our web application flow. The OAuth Authorizations API will be removed on November 13, 2020. For more information, including scheduled brownouts, see the blog post.
\nYou can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the list your authorizations API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on the application authorizations settings screen within GitHub. The scopes returned are the union of scopes authorized for the application. For example, if an application has one token with repo scope and another token with user scope, the grant will return [\"repo\", \"user\"].
Warning
\n\nClosing down notice: This operation is closing down and will be removed in the future. Use the \"List custom repository roles\" endpoint instead.
\nList the custom repository roles available in this organization. For more information on custom repository roles, see \"About custom repository roles.\"
\nThe authenticated user must be administrator of the organization or of a repository of the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.
Response - list of custom role names
" } - ], - "descriptionHTML": "Warning
\n\nClosing down notice: This operation is closing down and will be removed in the future. Use the \"List custom repository roles\" endpoint instead.
\nList the custom repository roles available in this organization. For more information on custom repository roles, see \"About custom repository roles.\"
\nThe authenticated user must be administrator of the organization or of a repository of the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.
Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
", + "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nIn order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
", + "descriptionHTML": "In order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nMembers of an organization can choose to have their membership publicized or not.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Members of an organization can choose to have their membership publicized or not.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -341771,6 +341813,7 @@ } ], "previews": [], + "descriptionHTML": "Check if the provided user is a public member of the organization.
", "statusCodes": [ { "httpStatusCode": "204", @@ -341780,8 +341823,7 @@ "httpStatusCode": "404", "description": "Not Found if user is not a public member
" } - ], - "descriptionHTML": "Check if the provided user is a public member of the organization.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -343774,6 +343816,7 @@ } ], "previews": [], + "descriptionHTML": "Removing a user from this list will remove them from all the organization's repositories.
", "statusCodes": [ { "httpStatusCode": "204", @@ -343783,8 +343826,7 @@ "httpStatusCode": "422", "description": "Unprocessable Entity if user is a member of the organization
" } - ], - "descriptionHTML": "Removing a user from this list will remove them from all the organization's repositories.
" + ] } ], "personal-access-tokens": [ @@ -355471,13 +355513,13 @@ } ], "previews": [], + "descriptionHTML": "Returns the webhook configuration for an organization. To get more information about the webhook, including the active state and events, use \"Get an organization webhook .\"
You must be an organization owner to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need admin:org_hook scope. OAuth apps cannot list, view, or edit\nwebhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
OK
" } - ], - "descriptionHTML": "Returns the webhook configuration for an organization. To get more information about the webhook, including the active state and events, use \"Get an organization webhook .\"
You must be an organization owner to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need admin:org_hook scope. OAuth apps cannot list, view, or edit\nwebhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
Lists the projects in an organization. Returns a 404 Not Found status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a 401 Unauthorized or 410 Gone status is returned.
Validation failed, or the endpoint has been spammed.
" } - ], - "descriptionHTML": "Lists the projects in an organization. Returns a 404 Not Found status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a 401 Unauthorized or 410 Gone status is returned.
Lists review comments for all pull requests in a repository. By default,\nreview comments are in ascending order by ID.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.OK
" } - ], - "descriptionHTML": "Lists review comments for all pull requests in a repository. By default,\nreview comments are in ascending order by ID.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.Lists all review comments for a specified pull request. By default, review comments\nare in ascending order by ID.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.OK
" } - ], - "descriptionHTML": "Lists all review comments for a specified pull request. By default, review comments\nare in ascending order by ID.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.Creates a review on a specified pull request.
\nThis endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\" and \"Best practices for using the REST API.\"
\nPull request reviews created in the PENDING state are not submitted and therefore do not include the submitted_at property in the response. To create a pending review for a pull request, leave the event parameter blank. For more information about submitting a PENDING review, see \"Submit a review for a pull request.\"
Note
\n\nTo comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the application/vnd.github.v3.diff media type to the Accept header of a call to the Get a pull request endpoint.
The position value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.
This endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.Validation failed, or the endpoint has been spammed.
" } - ], - "descriptionHTML": "Creates a review on a specified pull request.
\nThis endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\" and \"Best practices for using the REST API.\"
\nPull request reviews created in the PENDING state are not submitted and therefore do not include the submitted_at property in the response. To create a pending review for a pull request, leave the event parameter blank. For more information about submitting a PENDING review, see \"Submit a review for a pull request.\"
Note
\n\nTo comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the application/vnd.github.v3.diff media type to the Accept header of a call to the Get a pull request endpoint.
The position value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.
This endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.Validation failed, or the endpoint has been spammed.
" } - ], - "descriptionHTML": "Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.Note
\n\nYou can also specify a repository by repository_id using the route DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id.
Delete a reaction to an issue comment.
", "statusCodes": [ { "httpStatusCode": "204", "description": "No Content
" } - ], - "descriptionHTML": "Note
\n\nYou can also specify a repository by repository_id using the route DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id.
Delete a reaction to an issue comment.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -424474,6 +424516,7 @@ } ], "previews": [], + "descriptionHTML": "List the reactions to a pull request review comment.
", "statusCodes": [ { "httpStatusCode": "200", @@ -424483,8 +424526,7 @@ "httpStatusCode": "404", "description": "Resource not found
" } - ], - "descriptionHTML": "List the reactions to a pull request review comment.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -426174,6 +426216,7 @@ } ], "previews": [], + "descriptionHTML": "Create a reaction to a release. A response with a Status: 200 OK means that you already added the reaction type to this release.
Validation failed, or the endpoint has been spammed.
" } - ], - "descriptionHTML": "Create a reaction to a release. A response with a Status: 200 OK means that you already added the reaction type to this release.
Users with push access to the repository can edit a release.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Users with push access to the repository can edit a release.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -432473,13 +432515,13 @@ } ], "previews": [], + "descriptionHTML": "Users with push access to the repository can delete a release.
", "statusCodes": [ { "httpStatusCode": "204", "description": "No Content
" } - ], - "descriptionHTML": "Users with push access to the repository can delete a release.
" + ] } ], "assets": [ @@ -465782,13 +465824,13 @@ } ], "previews": [], + "descriptionHTML": "Gets all autolinks that are configured for a repository.
\nInformation about autolinks are only available to repository administrators.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Gets all autolinks that are configured for a repository.
\nInformation about autolinks are only available to repository administrators.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -488979,6 +489021,7 @@ } ], "previews": [], + "descriptionHTML": "Find commits via various criteria on the default branch (usually main). This method returns up to 100 results per page.
When searching for commits, you can get text match metadata for the message field when you provide the text-match media type. For more details about how to receive highlighted search results, see Text match\nmetadata.
For example, if you want to find commits related to CSS in the octocat/Spoon-Knife repository. Your query would look something like this:
\nq=repo:octocat/Spoon-Knife+css
Not modified
" } - ], - "descriptionHTML": "Find commits via various criteria on the default branch (usually main). This method returns up to 100 results per page.
When searching for commits, you can get text match metadata for the message field when you provide the text-match media type. For more details about how to receive highlighted search results, see Text match\nmetadata.
For example, if you want to find commits related to CSS in the octocat/Spoon-Knife repository. Your query would look something like this:
\nq=repo:octocat/Spoon-Knife+css
Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Uninstalls a GitHub App on a user, organization, or enterprise account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -96655,7 +96667,7 @@ } ], "previews": [], - "descriptionHTML": "Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Server API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Suspends a GitHub App on a user, organization, or enterprise account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Server API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -99158,6 +99170,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -100245,6 +100263,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -101330,6 +101354,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -103685,6 +103715,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -210889,7 +210925,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -211249,7 +211285,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -211542,7 +211578,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -211859,7 +211895,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -212399,7 +212435,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -212912,7 +212948,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -213036,7 +213072,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -213577,7 +213613,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -214294,7 +214330,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -214795,7 +214831,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -215233,7 +215269,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -216241,7 +216277,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -335685,6 +335721,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -340459,7 +340501,7 @@ } ], "previews": [], - "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
", + "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nIn order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
", + "descriptionHTML": "In order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nUninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Uninstalls a GitHub App on a user, organization, or enterprise account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -97012,7 +97024,7 @@ } ], "previews": [], - "descriptionHTML": "Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Server API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Suspends a GitHub App on a user, organization, or enterprise account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Server API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -99538,6 +99550,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -100633,6 +100651,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -101726,6 +101750,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -104089,6 +104119,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -213786,7 +213822,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -214146,7 +214182,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -214439,7 +214475,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -214756,7 +214792,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -215296,7 +215332,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -215809,7 +215845,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -215933,7 +215969,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -216474,7 +216510,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -217191,7 +217227,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -217692,7 +217728,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -218130,7 +218166,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -219138,7 +219174,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -339006,6 +339042,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -343788,7 +343830,7 @@ } ], "previews": [], - "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
", + "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nIn order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
", + "descriptionHTML": "In order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nGets the total GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nOAuth tokens and personal access tokens (classic) need the read:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets the total GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nOAuth tokens and personal access tokens (classic) need the read:org scope to use this endpoint.
Gets GitHub Actions cache usage policy for a repository.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets GitHub Actions cache usage policy for a repository.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Lists self-hosted runners that are in a specific organization group.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists self-hosted runners that are in a specific organization group.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.
Example using remove token:
\nTo remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.
./config.sh remove --token TOKEN\n\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Created
" } - ], - "descriptionHTML": "Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.
Example using remove token:
\nTo remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.
./config.sh remove --token TOKEN\n\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Gets a specific self-hosted runner configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
OK
" } - ], - "descriptionHTML": "Gets a specific self-hosted runner configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Returns a token that you can pass to the config script. The token expires after one hour.
For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to configure your self-hosted runner:
./config.sh --url https://github.com/octo-org --token TOKEN\n\nAuthenticated users must have admin access to the repository to use this endpoint.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Created
" } - ], - "descriptionHTML": "Returns a token that you can pass to the config script. The token expires after one hour.
For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to configure your self-hosted runner:
./config.sh --url https://github.com/octo-org --token TOKEN\n\nAuthenticated users must have admin access to the repository to use this endpoint.
\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Lists all organization variables.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
OK
" } - ], - "descriptionHTML": "Lists all organization variables.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Marks a thread as \"done.\" Marking a thread as \"done\" is equivalent to marking a notification in your notification inbox on GitHub Enterprise Server as done: https://github.com/notifications.
", "statusCodes": [ { "httpStatusCode": "204", "description": "No content
" } - ], - "descriptionHTML": "Marks a thread as \"done.\" Marking a thread as \"done\" is equivalent to marking a notification in your notification inbox on GitHub Enterprise Server as done: https://github.com/notifications.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -93053,6 +93053,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -94151,6 +94157,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -94892,7 +94904,7 @@ } ], "previews": [], - "descriptionHTML": "Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Uninstalls a GitHub App on a user, organization, or enterprise account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -97045,7 +97057,7 @@ } ], "previews": [], - "descriptionHTML": "Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Server API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Suspends a GitHub App on a user, organization, or enterprise account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Server API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -99588,6 +99600,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -100691,6 +100709,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -101792,6 +101816,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -104163,6 +104193,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -126176,13 +126212,13 @@ } ], "previews": [], + "descriptionHTML": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -196284,13 +196320,13 @@ } ], "previews": [], + "descriptionHTML": "Create a new snapshot of a repository's dependencies.
\nThe authenticated user must have access to the repository.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Created
" } - ], - "descriptionHTML": "Create a new snapshot of a repository's dependencies.
\nThe authenticated user must have access to the repository.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -198058,13 +198094,13 @@ } ], "previews": [], + "descriptionHTML": "Simple filtering of deployments is available via query parameters:
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Simple filtering of deployments is available via query parameters:
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -212426,13 +212462,13 @@ } ], "previews": [], + "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -212891,13 +212927,13 @@ } ], "previews": [], + "descriptionHTML": "Note that this API call does not automatically initiate an LDAP sync. Rather, if a 201 is returned, the sync job is queued successfully, and is performed when the instance is ready.
Created
" } - ], - "descriptionHTML": "Note that this API call does not automatically initiate an LDAP sync. Rather, if a 201 is returned, the sync job is queued successfully, and is performed when the instance is ready.
Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
", + "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nIn order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
", + "descriptionHTML": "In order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nGets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the List reviews for a pull request operation.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the List reviews for a pull request operation.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -433971,13 +434013,13 @@ } ], "previews": [], + "descriptionHTML": "Note
\n\nYou can also specify a team or organization with team_id and org_id using the route DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id.
Delete a reaction to a team discussion.
\nOAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Note
\n\nYou can also specify a team or organization with team_id and org_id using the route DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id.
Delete a reaction to a team discussion.
\nOAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.
Warning
\n\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new List reactions for a team discussion endpoint.
List the reactions to a team discussion.
\nOAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Warning
\n\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new List reactions for a team discussion endpoint.
List the reactions to a team discussion.
\nOAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.
View the latest published full release for the repository.
\nThe latest release is the most recent non-prerelease, non-draft release, sorted by the created_at attribute. The created_at attribute is the date of the commit used for the release, and not the date when the release was drafted or published.
OK
" } - ], - "descriptionHTML": "View the latest published full release for the repository.
\nThe latest release is the most recent non-prerelease, non-draft release, sorted by the created_at attribute. The created_at attribute is the date of the commit used for the release, and not the date when the release was drafted or published.
Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -531654,13 +531696,13 @@ } ], "previews": [], + "descriptionHTML": "Get a specific comment on a team discussion.
\nNote
\n\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}.
OAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Get a specific comment on a team discussion.
\nNote
\n\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}.
OAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.
Warning
\n\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new Update a discussion endpoint.
\nEdits the title and body text of a discussion post. Only the parameters you provide are updated.
\nOAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Warning
\n\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new Update a discussion endpoint.
\nEdits the title and body text of a discussion post. Only the parameters you provide are updated.
\nOAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.
Gets the total GitHub Actions cache usage for an enterprise.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nOAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Gets the total GitHub Actions cache usage for an enterprise.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nOAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
Creates or updates an organization secret with an encrypted value. Encrypt your secret using\nLibSodium. For more information, see \"Encrypting secrets for the REST API.\"
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Response when updating a secret
" } - ] + ], + "descriptionHTML": "Creates or updates an organization secret with an encrypted value. Encrypt your secret using\nLibSodium. For more information, see \"Encrypting secrets for the REST API.\"
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Adds a self-hosted runner to a runner group configured in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Adds a self-hosted runner to a runner group configured in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Adds a repository to the list of repositories that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see \"Create a self-hosted runner group for an organization.\"
OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Adds a repository to the list of repositories that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see \"Create a self-hosted runner group for an organization.\"
OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Lists all self-hosted runners configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
OK
" } - ] + ], + "descriptionHTML": "Lists all self-hosted runners configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Lists all repositories that can access an organization variable\nthat is available to selected repositories.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Response when the visibility of the variable is not set to selected
Lists all repositories that can access an organization variable\nthat is available to selected repositories.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.
Lists all environment variables.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Lists all environment variables.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Uninstalls a GitHub App on a user, organization, or enterprise account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"Suspend an app installation\" endpoint.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -97237,7 +97249,7 @@ } ], "previews": [], - "descriptionHTML": "Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Server API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", + "descriptionHTML": "Suspends a GitHub App on a user, organization, or enterprise account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Server API or webhook events is blocked for that account.
\nYou must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "204", @@ -99780,6 +99792,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -100883,6 +100901,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -101984,6 +102008,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -103871,13 +103901,13 @@ } ], "previews": [], - "descriptionHTML": "Revokes the installation token you're using to authenticate as an installation and access this endpoint.
\nOnce an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the \"Create an installation access token for an app\" endpoint.
", "statusCodes": [ { "httpStatusCode": "204", "description": "No Content
" } - ] + ], + "descriptionHTML": "Revokes the installation token you're using to authenticate as an installation and access this endpoint.
\nOnce an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the \"Create an installation access token for an app\" endpoint.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -104355,6 +104385,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -167279,7 +167315,6 @@ } ], "previews": [], - "descriptionHTML": "Lists the repositories associated with a code security configuration in an organization.
\nThe authenticated user must be an administrator or security manager for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.
Resource not found
" } - ] + ], + "descriptionHTML": "Lists the repositories associated with a code security configuration in an organization.
\nThe authenticated user must be an administrator or security manager for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.
Lists all secrets available in an organization without revealing their\nencrypted values.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Lists all secrets available in an organization without revealing their\nencrypted values.
\nOAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see \"Using environments for deployment.\"
\nFor more information about the app that is providing this custom deployment rule, see the documentation for the GET /apps/{app_slug} endpoint.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
List of deployment protection rules
" } - ] + ], + "descriptionHTML": "Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see \"Using environments for deployment.\"
\nFor more information about the app that is providing this custom deployment rule, see the documentation for the GET /apps/{app_slug} endpoint.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
OK
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -209717,13 +209753,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -210110,13 +210146,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -210295,13 +210331,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "" } ], "announcement": [ @@ -212255,13 +212291,13 @@ } ], "previews": [], - "descriptionHTML": "Deletes an existing audit log stream configuration for an enterprise.
\nWhen using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"
", "statusCodes": [ { "httpStatusCode": "204", "description": "The audit log stream configuration was deleted successfully.
" } - ] + ], + "descriptionHTML": "Deletes an existing audit log stream configuration for an enterprise.
\nWhen using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"
" } ], "billing": [ @@ -217330,13 +217366,13 @@ } ], "previews": [], - "descriptionHTML": "Removes any overrides for this hook at the org level for this org.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "Removes any overrides for this hook at the org level for this org.
" } ], "orgs": [ @@ -217510,13 +217546,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "201", "description": "Created
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -218585,13 +218621,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -219683,13 +219719,13 @@ } ], "previews": [], - "descriptionHTML": "Deletes any overridden enforcement on this repository for the specified hook.
\nResponds with effective values inherited from owner and/or global level.
", "statusCodes": [ { "httpStatusCode": "200", "description": "Responds with effective values inherited from owner and/or global level.
" } - ] + ], + "descriptionHTML": "Deletes any overridden enforcement on this repository for the specified hook.
\nResponds with effective values inherited from owner and/or global level.
" } ], "scim": [ @@ -219772,7 +219808,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -220132,7 +220168,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -220425,7 +220461,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -220742,7 +220778,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -221282,7 +221318,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -221795,7 +221831,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -221919,7 +221955,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -222460,7 +222496,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -223177,7 +223213,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "read" @@ -223678,7 +223714,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -224116,7 +224152,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -225124,7 +225160,7 @@ "progAccess": { "userToServerRest": true, "serverToServer": true, - "fineGrainedPat": true, + "fineGrainedPat": false, "permissions": [ { "\"Enterprise SCIM\" enterprise permissions": "write" @@ -342577,7 +342613,6 @@ } ], "previews": [], - "descriptionHTML": "Warning
\n\nClosing down notice: GitHub Enterprise Server will discontinue the OAuth Authorizations API, which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our web application flow. The OAuth Authorizations API will be removed on November 13, 2020. For more information, including scheduled brownouts, see the blog post.
\nIf you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"Working with two-factor authentication.\"
\nYou can only send one of these scope keys at a time.
", "statusCodes": [ { "httpStatusCode": "200", @@ -342587,7 +342622,8 @@ "httpStatusCode": "422", "description": "Validation failed, or the endpoint has been spammed.
" } - ] + ], + "descriptionHTML": "Warning
\n\nClosing down notice: GitHub Enterprise Server will discontinue the OAuth Authorizations API, which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our web application flow. The OAuth Authorizations API will be removed on November 13, 2020. For more information, including scheduled brownouts, see the blog post.
\nIf you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"Working with two-factor authentication.\"
\nYou can only send one of these scope keys at a time.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -345261,6 +345297,12 @@ 1 ] }, + "client_id": { + "type": "string", + "examples": [ + "Iv1.ab1112223334445c" + ] + }, "target_id": { "description": "The ID of the user or organization this token is being scoped to.", "type": "integer" @@ -350496,7 +350538,7 @@ } ], "previews": [], - "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
", + "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nIn order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
", + "descriptionHTML": "In order to remove a user's membership with an organization, the authenticated user must be an organization owner.
\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.
\nNote
\n\nIf a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
\nGets a specific package version in an organization.
\nOAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"
OK
" } - ] + ], + "descriptionHTML": "Gets a specific package version in an organization.
\nOAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"
Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -504209,13 +504251,13 @@ } ], "previews": [], - "descriptionHTML": "Updates the webhook configuration for a repository. To update more information about the webhook, including the active state and events, use \"Update a repository webhook.\"
OAuth app tokens and personal access tokens (classic) need the write:repo_hook or repo scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Updates the webhook configuration for a repository. To update more information about the webhook, including the active state and events, use \"Update a repository webhook.\"
OAuth app tokens and personal access tokens (classic) need the write:repo_hook or repo scope to use this endpoint.
To delete a team, the authenticated user must be an organization owner or team maintainer.
\nIf you are an organization owner, deleting a parent team will delete all of its child teams as well.
\nNote
\n\nYou can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}.
No Content
" } - ] + ], + "descriptionHTML": "To delete a team, the authenticated user must be an organization owner or team maintainer.
\nIf you are an organization owner, deleting a parent team will delete all of its child teams as well.
\nNote
\n\nYou can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}.
Delete a discussion from a team's page.
\nNote
\n\nYou can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}.
OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Delete a discussion from a team's page.
\nNote
\n\nYou can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}.
OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.