diff --git a/assets/images/enterprise/configuration/ae-discard-email.png b/assets/images/enterprise/configuration/ae-discard-email.png new file mode 100644 index 0000000000..a11a3b12ce Binary files /dev/null and b/assets/images/enterprise/configuration/ae-discard-email.png differ diff --git a/assets/images/enterprise/configuration/ae-email-configure.png b/assets/images/enterprise/configuration/ae-email-configure.png new file mode 100644 index 0000000000..b82b859594 Binary files /dev/null and b/assets/images/enterprise/configuration/ae-email-configure.png differ diff --git a/assets/images/enterprise/configuration/ae-enable-email-configure.png b/assets/images/enterprise/configuration/ae-enable-email-configure.png new file mode 100644 index 0000000000..796bc6f9a2 Binary files /dev/null and b/assets/images/enterprise/configuration/ae-enable-email-configure.png differ diff --git a/assets/images/enterprise/configuration/ae-send-test-email.png b/assets/images/enterprise/configuration/ae-send-test-email.png new file mode 100644 index 0000000000..74c1d3ec12 Binary files /dev/null and b/assets/images/enterprise/configuration/ae-send-test-email.png differ diff --git a/assets/images/enterprise/configuration/ae-test-email.png b/assets/images/enterprise/configuration/ae-test-email.png new file mode 100644 index 0000000000..e88dc8bb16 Binary files /dev/null and b/assets/images/enterprise/configuration/ae-test-email.png differ diff --git a/assets/images/enterprise/configuration/enterprise-account-email-tab.png b/assets/images/enterprise/configuration/enterprise-account-email-tab.png new file mode 100644 index 0000000000..b84ceae136 Binary files /dev/null and b/assets/images/enterprise/configuration/enterprise-account-email-tab.png differ diff --git a/assets/images/enterprise/github-ae/organizations/security-and-analysis-disable-or-enable-all-ghae.png b/assets/images/enterprise/github-ae/organizations/security-and-analysis-disable-or-enable-all-ghae.png new file mode 100644 index 0000000000..3765b1155f Binary files /dev/null and b/assets/images/enterprise/github-ae/organizations/security-and-analysis-disable-or-enable-all-ghae.png differ diff --git a/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-or-disable-secret-scanning-checkbox-ghae.png b/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-or-disable-secret-scanning-checkbox-ghae.png new file mode 100644 index 0000000000..5f4f5d34f4 Binary files /dev/null and b/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-or-disable-secret-scanning-checkbox-ghae.png differ diff --git a/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-secret-scanning-existing-repos-ghae.png b/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-secret-scanning-existing-repos-ghae.png new file mode 100644 index 0000000000..c7248c0415 Binary files /dev/null and b/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-secret-scanning-existing-repos-ghae.png differ diff --git a/assets/images/enterprise/github-ae/repository/enable-ghas-confirmation-ghae.png b/assets/images/enterprise/github-ae/repository/enable-ghas-confirmation-ghae.png new file mode 100644 index 0000000000..b603c02f30 Binary files /dev/null and b/assets/images/enterprise/github-ae/repository/enable-ghas-confirmation-ghae.png differ diff --git a/assets/images/enterprise/github-ae/repository/enable-ghas-ghae.png b/assets/images/enterprise/github-ae/repository/enable-ghas-ghae.png new file mode 100644 index 0000000000..8387f81d64 Binary files /dev/null and b/assets/images/enterprise/github-ae/repository/enable-ghas-ghae.png differ diff --git a/assets/images/enterprise/github-ae/repository/enable-ghas-secret-scanning-ghae.png b/assets/images/enterprise/github-ae/repository/enable-ghas-secret-scanning-ghae.png new file mode 100644 index 0000000000..806400be61 Binary files /dev/null and b/assets/images/enterprise/github-ae/repository/enable-ghas-secret-scanning-ghae.png differ diff --git a/assets/images/enterprise/github-ae/repository/enable-secret-scanning-ghae.png b/assets/images/enterprise/github-ae/repository/enable-secret-scanning-ghae.png new file mode 100644 index 0000000000..2a076623bc Binary files /dev/null and b/assets/images/enterprise/github-ae/repository/enable-secret-scanning-ghae.png differ diff --git a/assets/images/enterprise/github-ae/repository/secret-scanning-click-alert-ghae.png b/assets/images/enterprise/github-ae/repository/secret-scanning-click-alert-ghae.png new file mode 100644 index 0000000000..c10b46c96a Binary files /dev/null and b/assets/images/enterprise/github-ae/repository/secret-scanning-click-alert-ghae.png differ diff --git a/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-person-or-team-search-ghae.png b/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-person-or-team-search-ghae.png new file mode 100644 index 0000000000..01aba08f89 Binary files /dev/null and b/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-person-or-team-search-ghae.png differ diff --git a/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-save-changes-ghae.png b/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-save-changes-ghae.png new file mode 100644 index 0000000000..e05d591e66 Binary files /dev/null and b/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-save-changes-ghae.png differ diff --git a/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-username-x-ghae.png b/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-username-x-ghae.png new file mode 100644 index 0000000000..c78c072677 Binary files /dev/null and b/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-username-x-ghae.png differ diff --git a/assets/images/enterprise/github-ae/repository/sidebar-secrets-ghae.png b/assets/images/enterprise/github-ae/repository/sidebar-secrets-ghae.png new file mode 100644 index 0000000000..c2b799d781 Binary files /dev/null and b/assets/images/enterprise/github-ae/repository/sidebar-secrets-ghae.png differ diff --git a/assets/images/enterprise/github-ae/teams/choose-an-idp-group.png b/assets/images/enterprise/github-ae/teams/choose-an-idp-group.png new file mode 100644 index 0000000000..7c6f730d55 Binary files /dev/null and b/assets/images/enterprise/github-ae/teams/choose-an-idp-group.png differ diff --git a/assets/images/enterprise/github-ae/teams/unselect-idp-group.png b/assets/images/enterprise/github-ae/teams/unselect-idp-group.png new file mode 100644 index 0000000000..a9cc3d1ffe Binary files /dev/null and b/assets/images/enterprise/github-ae/teams/unselect-idp-group.png differ diff --git a/assets/images/help/repository/sidebar-code-scanning-alerts.png b/assets/images/help/repository/sidebar-code-scanning-alerts.png index 1703205b5b..6dab36ebf6 100644 Binary files a/assets/images/help/repository/sidebar-code-scanning-alerts.png and b/assets/images/help/repository/sidebar-code-scanning-alerts.png differ diff --git a/assets/images/help/repository/sidebar-secrets.png b/assets/images/help/repository/sidebar-secrets.png index b92c4537b9..4053a57065 100644 Binary files a/assets/images/help/repository/sidebar-secrets.png and b/assets/images/help/repository/sidebar-secrets.png differ diff --git a/assets/images/help/security/ip-address-delete-button.png b/assets/images/help/security/ip-address-delete-button.png index a1dc64631a..9f0508910b 100644 Binary files a/assets/images/help/security/ip-address-delete-button.png and b/assets/images/help/security/ip-address-delete-button.png differ diff --git a/assets/images/help/security/ip-address-edit-button.png b/assets/images/help/security/ip-address-edit-button.png index 206d6a74c2..46718c2b20 100644 Binary files a/assets/images/help/security/ip-address-edit-button.png and b/assets/images/help/security/ip-address-edit-button.png differ diff --git a/assets/images/help/security/ip-address-edit-field.png b/assets/images/help/security/ip-address-edit-field.png index b2e7d4540c..88fcf76614 100644 Binary files a/assets/images/help/security/ip-address-edit-field.png and b/assets/images/help/security/ip-address-edit-field.png differ diff --git a/assets/images/help/security/ip-address-edit-name-field.png b/assets/images/help/security/ip-address-edit-name-field.png index c2e4935986..e3586a1954 100644 Binary files a/assets/images/help/security/ip-address-edit-name-field.png and b/assets/images/help/security/ip-address-edit-name-field.png differ diff --git a/assets/images/help/security/ip-address-field.png b/assets/images/help/security/ip-address-field.png index 2dee7c8871..0b5d837937 100644 Binary files a/assets/images/help/security/ip-address-field.png and b/assets/images/help/security/ip-address-field.png differ diff --git a/assets/images/help/security/ip-address-name-field.png b/assets/images/help/security/ip-address-name-field.png index 98ad82a08d..1937af4bcc 100644 Binary files a/assets/images/help/security/ip-address-name-field.png and b/assets/images/help/security/ip-address-name-field.png differ diff --git a/assets/images/help/security/new-allowlist-entry-button.png b/assets/images/help/security/new-allowlist-entry-button.png index 67a7f7336c..639ddbd2af 100644 Binary files a/assets/images/help/security/new-allowlist-entry-button.png and b/assets/images/help/security/new-allowlist-entry-button.png differ diff --git a/assets/images/help/security/overview-set-up-code-scanning.png b/assets/images/help/security/overview-set-up-code-scanning.png index 604380502f..8743911b29 100644 Binary files a/assets/images/help/security/overview-set-up-code-scanning.png and b/assets/images/help/security/overview-set-up-code-scanning.png differ diff --git a/assets/images/help/settings/actions-enterprise-account-add-runner-group-options.png b/assets/images/help/settings/actions-enterprise-account-add-runner-group-options.png index 8c8d2b8b91..2ad8cbc630 100644 Binary files a/assets/images/help/settings/actions-enterprise-account-add-runner-group-options.png and b/assets/images/help/settings/actions-enterprise-account-add-runner-group-options.png differ diff --git a/assets/images/help/settings/actions-enterprise-policies.png b/assets/images/help/settings/actions-enterprise-policies.png new file mode 100644 index 0000000000..b53045e0f0 Binary files /dev/null and b/assets/images/help/settings/actions-enterprise-policies.png differ diff --git a/assets/images/help/settings/actions-hosted-runner-add-new-group.png b/assets/images/help/settings/actions-hosted-runner-add-new-group.png new file mode 100644 index 0000000000..1fa8f059ea Binary files /dev/null and b/assets/images/help/settings/actions-hosted-runner-add-new-group.png differ diff --git a/assets/images/help/settings/actions-hosted-runner-group-kebab.png b/assets/images/help/settings/actions-hosted-runner-group-kebab.png new file mode 100644 index 0000000000..fb805f6fb3 Binary files /dev/null and b/assets/images/help/settings/actions-hosted-runner-group-kebab.png differ diff --git a/assets/images/help/settings/actions-hosted-runner-group-member-move-destination.png b/assets/images/help/settings/actions-hosted-runner-group-member-move-destination.png new file mode 100644 index 0000000000..5380086c5b Binary files /dev/null and b/assets/images/help/settings/actions-hosted-runner-group-member-move-destination.png differ diff --git a/assets/images/help/settings/actions-hosted-runner-group-member-move.png b/assets/images/help/settings/actions-hosted-runner-group-member-move.png new file mode 100644 index 0000000000..e698056a7c Binary files /dev/null and b/assets/images/help/settings/actions-hosted-runner-group-member-move.png differ diff --git a/assets/images/help/settings/actions-hosted-runner-group-members.png b/assets/images/help/settings/actions-hosted-runner-group-members.png new file mode 100644 index 0000000000..72acf1201a Binary files /dev/null and b/assets/images/help/settings/actions-hosted-runner-group-members.png differ diff --git a/assets/images/help/settings/actions-hosted-runner-group-remove.png b/assets/images/help/settings/actions-hosted-runner-group-remove.png new file mode 100644 index 0000000000..eea19694b9 Binary files /dev/null and b/assets/images/help/settings/actions-hosted-runner-group-remove.png differ diff --git a/assets/images/help/settings/actions-hosted-runner-list-label.png b/assets/images/help/settings/actions-hosted-runner-list-label.png new file mode 100644 index 0000000000..c0705c7b34 Binary files /dev/null and b/assets/images/help/settings/actions-hosted-runner-list-label.png differ diff --git a/assets/images/help/settings/actions-org-add-runner-group-options.png b/assets/images/help/settings/actions-org-add-runner-group-options.png index f68e357a60..e81f26dbd7 100644 Binary files a/assets/images/help/settings/actions-org-add-runner-group-options.png and b/assets/images/help/settings/actions-org-add-runner-group-options.png differ diff --git a/assets/images/help/settings/settings-sidebar-actions.png b/assets/images/help/settings/settings-sidebar-actions.png index 8fa42ac068..99fe42b0cf 100644 Binary files a/assets/images/help/settings/settings-sidebar-actions.png and b/assets/images/help/settings/settings-sidebar-actions.png differ diff --git a/content/actions/creating-actions/about-actions.md b/content/actions/creating-actions/about-actions.md index 4c9b2e16ea..d3cd0448b4 100644 --- a/content/actions/creating-actions/about-actions.md +++ b/content/actions/creating-actions/about-actions.md @@ -10,6 +10,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'overview' topics: - 'Action development' @@ -18,6 +19,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About actions @@ -125,7 +127,7 @@ steps: #### Using a commit's SHA for release management -Each Git commit receives a calculated SHA value, which is unique and immutable. Your action's users might prefer to rely on a commit's SHA value, as this approach can be more reliable than specifying a tag, which could be deleted or moved. However, this means that users will not receive further updates made to the action. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}You must use a commit's full SHA value, and not an abbreviated value.{% else %}Using a commit's full SHA value instead of the abbreviated value can help prevent people from using a malicious commit that uses the same abbreviation.{% endif %} +Each Git commit receives a calculated SHA value, which is unique and immutable. Your action's users might prefer to rely on a commit's SHA value, as this approach can be more reliable than specifying a tag, which could be deleted or moved. However, this means that users will not receive further updates made to the action. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}You must use a commit's full SHA value, and not an abbreviated value.{% else %}Using a commit's full SHA value instead of the abbreviated value can help prevent people from using a malicious commit that uses the same abbreviation.{% endif %} ```yaml steps: diff --git a/content/actions/creating-actions/creating-a-composite-run-steps-action.md b/content/actions/creating-actions/creating-a-composite-run-steps-action.md index efd8430a3c..52b38993e9 100644 --- a/content/actions/creating-actions/creating-a-composite-run-steps-action.md +++ b/content/actions/creating-actions/creating-a-composite-run-steps-action.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Action development' @@ -12,6 +13,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/creating-actions/creating-a-docker-container-action.md b/content/actions/creating-actions/creating-a-docker-container-action.md index 33fa426b4b..844766f6cb 100644 --- a/content/actions/creating-actions/creating-a-docker-container-action.md +++ b/content/actions/creating-actions/creating-a-docker-container-action.md @@ -10,6 +10,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Action development' @@ -18,6 +19,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction @@ -32,9 +34,13 @@ Once you complete this project, you should understand how to build your own Dock You may find it helpful to have a basic understanding of {% data variables.product.prodname_actions %} environment variables and the Docker container filesystem: - "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)" +{% if currentVersion == "github-ae@latest" %} +- "[Docker container filesystem](/actions/using-github-hosted-runners/about-ae-hosted-runners#docker-container-filesystem)." +{% else %} - "[Virtual environments for {% data variables.product.prodname_dotcom %}](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners#docker-container-filesystem)" +{% endif %} -Before you begin, you'll need to create a GitHub repository. +Before you begin, you'll need to create a {% data variables.product.prodname_dotcom %} repository. 1. Create a new repository on {% data variables.product.product_location %}. You can choose any repository name or use "hello-world-docker-action" like this example. For more information, see "[Create a new repository](/articles/creating-a-new-repository)." @@ -229,9 +235,9 @@ jobs: ``` {% endraw %} -From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. +From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![A screenshot of using your action in a workflow](/assets/images/help/repository/docker-action-workflow-run-updated.png) {% else %} ![A screenshot of using your action in a workflow](/assets/images/help/repository/docker-action-workflow-run.png) diff --git a/content/actions/creating-actions/creating-a-javascript-action.md b/content/actions/creating-actions/creating-a-javascript-action.md index 0068ed60a5..960241781f 100644 --- a/content/actions/creating-actions/creating-a-javascript-action.md +++ b/content/actions/creating-actions/creating-a-javascript-action.md @@ -10,6 +10,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Action development' @@ -18,6 +19,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction @@ -265,9 +267,9 @@ jobs: ``` {% endraw %} -From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. +From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![A screenshot of using your action in a workflow](/assets/images/help/repository/javascript-action-workflow-run-updated-2.png) {% elsif currentVersion ver_gt "enterprise-server@2.22" %} ![A screenshot of using your action in a workflow](/assets/images/help/repository/javascript-action-workflow-run-updated.png) diff --git a/content/actions/creating-actions/dockerfile-support-for-github-actions.md b/content/actions/creating-actions/dockerfile-support-for-github-actions.md index dba9c8dd1e..5fa52db771 100644 --- a/content/actions/creating-actions/dockerfile-support-for-github-actions.md +++ b/content/actions/creating-actions/dockerfile-support-for-github-actions.md @@ -8,11 +8,13 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'reference' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About Dockerfile instructions diff --git a/content/actions/creating-actions/index.md b/content/actions/creating-actions/index.md index 966e98032b..69567c4378 100644 --- a/content/actions/creating-actions/index.md +++ b/content/actions/creating-actions/index.md @@ -10,10 +10,12 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} {% link_in_list /about-actions %} {% link_in_list /creating-a-docker-container-action %} diff --git a/content/actions/creating-actions/metadata-syntax-for-github-actions.md b/content/actions/creating-actions/metadata-syntax-for-github-actions.md index 4dfb33bcf8..85cba6f30a 100644 --- a/content/actions/creating-actions/metadata-syntax-for-github-actions.md +++ b/content/actions/creating-actions/metadata-syntax-for-github-actions.md @@ -11,11 +11,13 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'reference' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About YAML syntax for {% data variables.product.prodname_actions %} @@ -247,7 +249,7 @@ For more information, see "[`github context`](/actions/reference/context-and-exp ##### `runs.steps[*].env` -**Optional** Sets a `map` of environment variables for only that step. If you want to modify the environment variable stored in the workflow, use {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}`echo "{name}={value}" >> $GITHUB_ENV`{% else %}`echo "::set-env name={name}::{value}"`{% endif %} in a composite run step. +**Optional** Sets a `map` of environment variables for only that step. If you want to modify the environment variable stored in the workflow, use {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}`echo "{name}={value}" >> $GITHUB_ENV`{% else %}`echo "::set-env name={name}::{value}"`{% endif %} in a composite run step. ##### `runs.steps[*].working-directory` diff --git a/content/actions/creating-actions/publishing-actions-in-github-marketplace.md b/content/actions/creating-actions/publishing-actions-in-github-marketplace.md index b69b89065b..564cc04531 100644 --- a/content/actions/creating-actions/publishing-actions-in-github-marketplace.md +++ b/content/actions/creating-actions/publishing-actions-in-github-marketplace.md @@ -11,6 +11,8 @@ versions: type: 'how_to' --- +{% data reusables.actions.ae-beta %} + You must accept the terms of service to publish actions in {% data variables.product.prodname_marketplace %}. ### About publishing actions diff --git a/content/actions/creating-actions/setting-exit-codes-for-actions.md b/content/actions/creating-actions/setting-exit-codes-for-actions.md index 2a733849d5..5a65cac300 100644 --- a/content/actions/creating-actions/setting-exit-codes-for-actions.md +++ b/content/actions/creating-actions/setting-exit-codes-for-actions.md @@ -8,11 +8,13 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'how_to' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About exit codes diff --git a/content/actions/guides/about-continuous-integration.md b/content/actions/guides/about-continuous-integration.md index c85d6cd06b..a249137af6 100644 --- a/content/actions/guides/about-continuous-integration.md +++ b/content/actions/guides/about-continuous-integration.md @@ -10,6 +10,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'overview' topics: - 'CI' @@ -18,6 +19,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About continuous integration @@ -29,7 +31,9 @@ Building and testing your code requires a server. You can build and test updates ### About continuous integration using {% data variables.product.prodname_actions %} -CI using {% data variables.product.prodname_actions %} offers workflows that can build the code in your repository and run your tests. Workflows can run on {% data variables.product.prodname_dotcom %}-hosted virtual machines, or on machines that you host yourself. For more information, see "[Virtual environments for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners)" and "[About self-hosted runners](/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners)." +{% if currentVersion == "github-ae@latest" %}CI using {% data variables.product.prodname_actions %} offers workflows that can build the code in your repository and run your tests. Workflows can run on virtual machines hosted by {% data variables.product.prodname_dotcom %}. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)." +{% else %} CI using {% data variables.product.prodname_actions %} offers workflows that can build the code in your repository and run your tests. Workflows can run on {% data variables.product.prodname_dotcom %}-hosted virtual machines, or on machines that you host yourself. For more information, see "[Virtual environments for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners)" and "[About self-hosted runners](/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners)." +{% endif %} You can configure your CI workflow to run when a {% data variables.product.product_name %} event occurs (for example, when new code is pushed to your repository), on a set schedule, or when an external event occurs using the repository dispatch webhook. diff --git a/content/actions/guides/about-packaging-with-github-actions.md b/content/actions/guides/about-packaging-with-github-actions.md index 77fbd944bd..0b3d9fb516 100644 --- a/content/actions/guides/about-packaging-with-github-actions.md +++ b/content/actions/guides/about-packaging-with-github-actions.md @@ -8,6 +8,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'overview' topics: - 'Packaging' @@ -15,6 +16,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About packaging steps @@ -28,7 +30,7 @@ Creating a package at the end of a continuous integration workflow can help duri Now, when reviewing a pull request, you'll be able to look at the workflow run and download the artifact that was produced. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![Download artifact drop-down menu](/assets/images/help/repository/artifact-drop-down-updated.png) {% else %} ![Download artifact drop-down menu](/assets/images/help/repository/artifact-drop-down.png) diff --git a/content/actions/guides/about-service-containers.md b/content/actions/guides/about-service-containers.md index 5c5172fd92..ae58afd85d 100644 --- a/content/actions/guides/about-service-containers.md +++ b/content/actions/guides/about-service-containers.md @@ -8,6 +8,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'overview' topics: - 'Containers' @@ -16,6 +17,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About service containers diff --git a/content/actions/guides/building-and-testing-java-with-ant.md b/content/actions/guides/building-and-testing-java-with-ant.md index 4fa691d578..e118039190 100644 --- a/content/actions/guides/building-and-testing-java-with-ant.md +++ b/content/actions/guides/building-and-testing-java-with-ant.md @@ -7,6 +7,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'CI' @@ -16,12 +17,16 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction This guide shows you how to create a workflow that performs continuous integration (CI) for your Java project using the Ant build system. The workflow you create will allow you to see when commits to a pull request cause build or test failures against your default branch; this approach can help ensure that your code is always healthy. You can extend your CI workflow to upload artifacts from a workflow run. +{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes Java Development Kits (JDKs) and Ant. For a list of software and the pre-installed versions for JDK and Ant, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". +{% endif %} ### Prerequisites diff --git a/content/actions/guides/building-and-testing-java-with-gradle.md b/content/actions/guides/building-and-testing-java-with-gradle.md index b1349bbb21..38ca522caf 100644 --- a/content/actions/guides/building-and-testing-java-with-gradle.md +++ b/content/actions/guides/building-and-testing-java-with-gradle.md @@ -7,6 +7,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'CI' @@ -16,12 +17,16 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction This guide shows you how to create a workflow that performs continuous integration (CI) for your Java project using the Gradle build system. The workflow you create will allow you to see when commits to a pull request cause build or test failures against your default branch; this approach can help ensure that your code is always healthy. You can extend your CI workflow to cache files and upload artifacts from a workflow run. +{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes Java Development Kits (JDKs) and Gradle. For a list of software and the pre-installed versions for JDK and Gradle, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". +{% endif %} ### Prerequisites diff --git a/content/actions/guides/building-and-testing-java-with-maven.md b/content/actions/guides/building-and-testing-java-with-maven.md index 84c68b6dae..483caa962f 100644 --- a/content/actions/guides/building-and-testing-java-with-maven.md +++ b/content/actions/guides/building-and-testing-java-with-maven.md @@ -7,6 +7,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'CI' @@ -16,12 +17,16 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction This guide shows you how to create a workflow that performs continuous integration (CI) for your Java project using the Maven software project management tool. The workflow you create will allow you to see when commits to a pull request cause build or test failures against your default branch; this approach can help ensure that your code is always healthy. You can extend your CI workflow to cache files and upload artifacts from a workflow run. +{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes Java Development Kits (JDKs) and Maven. For a list of software and the pre-installed versions for JDK and Maven, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". +{% endif %} ### Prerequisites diff --git a/content/actions/guides/building-and-testing-net.md b/content/actions/guides/building-and-testing-net.md index 0bedcb2931..8065238f59 100644 --- a/content/actions/guides/building-and-testing-net.md +++ b/content/actions/guides/building-and-testing-net.md @@ -5,13 +5,20 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} + ### Introduction This guide shows you how to build, test, and publish a .NET package. -{% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with preinstalled software, which includes the .NET Core SDK. For a full list of up-to-date software and the preinstalled versions of .NET Core SDK, see [software installed on {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners). +{% if currentVersion == "github-ae@latest" %} To build and test your .NET project on {% data variables.product.prodname_ghe_managed %}, you will need to create a custom operating system image that includes the .NET Core SDK. For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with preinstalled software, which includes the .NET Core SDK. For a full list of up-to-date software and the preinstalled versions of .NET Core SDK, see [software installed on {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners). +{% endif %} ### Prerequisites diff --git a/content/actions/guides/building-and-testing-nodejs.md b/content/actions/guides/building-and-testing-nodejs.md index bd06e9851c..9d37882676 100644 --- a/content/actions/guides/building-and-testing-nodejs.md +++ b/content/actions/guides/building-and-testing-nodejs.md @@ -8,6 +8,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'CI' @@ -17,6 +18,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction @@ -128,7 +130,10 @@ jobs: ``` {% endraw %} -If you don't specify a Node.js version, {% data variables.product.prodname_dotcom %} uses the environment's default Node.js version. For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". +If you don't specify a Node.js version, {% data variables.product.prodname_dotcom %} uses the environment's default Node.js version. +{% if currentVersion == "github-ae@latest" %} For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% else %} For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". +{% endif %} ### Installing dependencies diff --git a/content/actions/guides/building-and-testing-powershell.md b/content/actions/guides/building-and-testing-powershell.md index 73db57f053..fe09913820 100644 --- a/content/actions/guides/building-and-testing-powershell.md +++ b/content/actions/guides/building-and-testing-powershell.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' authors: - potatoqualitee type: 'tutorial' @@ -15,12 +16,17 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction This guide shows you how to use PowerShell for CI. It describes how to use Pester, install dependencies, test your module, and publish to the PowerShell Gallery. -{% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes PowerShell and Pester. For a full list of up-to-date software and the pre-installed versions of PowerShell and Pester, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". +{% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes PowerShell and Pester. + +{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% else %}For a full list of up-to-date software and the pre-installed versions of PowerShell and Pester, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". +{% endif %} ### Prerequisites @@ -64,7 +70,7 @@ jobs: * `run: Test-Path resultsfile.log` - Check whether a file called `resultsfile.log` is present in the repository's root directory. * `Should -Be $true` - Uses Pester to define an expected result. If the result is unexpected, then {% data variables.product.prodname_actions %} flags this as a failed test. For example: - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} + {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![Failed Pester test](/assets/images/help/repository/actions-failed-pester-test-updated.png) {% else %} ![Failed Pester test](/assets/images/help/repository/actions-failed-pester-test.png) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index 5ee9c6b4b6..8c663e8533 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -7,6 +7,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'CI' @@ -15,12 +16,15 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction This guide shows you how to build, test, and publish a Python package. -{% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes Python and PyPy. You don't have to install anything! For a full list of up-to-date software and the pre-installed versions of Python and PyPy, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". +{% if currentVersion == "github-ae@latest" %} For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes Python and PyPy. You don't have to install anything! For a full list of up-to-date software and the pre-installed versions of Python and PyPy, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". +{% endif %} ### Prerequisites diff --git a/content/actions/guides/building-and-testing-ruby.md b/content/actions/guides/building-and-testing-ruby.md index 03c85c0a50..c2dde2eef5 100644 --- a/content/actions/guides/building-and-testing-ruby.md +++ b/content/actions/guides/building-and-testing-ruby.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'CI' @@ -13,6 +14,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/guides/caching-dependencies-to-speed-up-workflows.md b/content/actions/guides/caching-dependencies-to-speed-up-workflows.md index 571e3ef820..1b85fb9f5b 100644 --- a/content/actions/guides/caching-dependencies-to-speed-up-workflows.md +++ b/content/actions/guides/caching-dependencies-to-speed-up-workflows.md @@ -14,6 +14,8 @@ topics: - 'Workflows' --- +{% data reusables.actions.ae-beta %} + ### About caching workflow dependencies Workflow runs often reuse the same outputs or downloaded dependencies from one run to another. For example, package and dependency management tools such as Maven, Gradle, npm, and Yarn keep a local cache of downloaded dependencies. diff --git a/content/actions/guides/creating-postgresql-service-containers.md b/content/actions/guides/creating-postgresql-service-containers.md index 61e3ee9124..5c95d88d4e 100644 --- a/content/actions/guides/creating-postgresql-service-containers.md +++ b/content/actions/guides/creating-postgresql-service-containers.md @@ -9,6 +9,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Containers' @@ -17,6 +18,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/guides/creating-redis-service-containers.md b/content/actions/guides/creating-redis-service-containers.md index de5c677210..84b714f01d 100644 --- a/content/actions/guides/creating-redis-service-containers.md +++ b/content/actions/guides/creating-redis-service-containers.md @@ -9,6 +9,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Containers' @@ -17,6 +18,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/guides/deploying-to-amazon-elastic-container-service.md b/content/actions/guides/deploying-to-amazon-elastic-container-service.md index 628d47a4db..6e32e331f3 100644 --- a/content/actions/guides/deploying-to-amazon-elastic-container-service.md +++ b/content/actions/guides/deploying-to-amazon-elastic-container-service.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'CD' @@ -14,6 +15,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/guides/deploying-to-azure-app-service.md b/content/actions/guides/deploying-to-azure-app-service.md index 391bcdd288..68e4cf4715 100644 --- a/content/actions/guides/deploying-to-azure-app-service.md +++ b/content/actions/guides/deploying-to-azure-app-service.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'CD' @@ -14,6 +15,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/guides/deploying-to-google-kubernetes-engine.md b/content/actions/guides/deploying-to-google-kubernetes-engine.md index 8728dde11f..42bf9afef8 100644 --- a/content/actions/guides/deploying-to-google-kubernetes-engine.md +++ b/content/actions/guides/deploying-to-google-kubernetes-engine.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'CD' @@ -14,6 +15,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/guides/index.md b/content/actions/guides/index.md index bb3ae78614..38acc21679 100644 --- a/content/actions/guides/index.md +++ b/content/actions/guides/index.md @@ -17,6 +17,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' learningTracks: - getting_started - continuous_integration diff --git a/content/actions/guides/publishing-docker-images.md b/content/actions/guides/publishing-docker-images.md index 815b28215c..0421ca4cf9 100644 --- a/content/actions/guides/publishing-docker-images.md +++ b/content/actions/guides/publishing-docker-images.md @@ -7,6 +7,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Packaging' @@ -16,6 +17,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/guides/publishing-java-packages-with-gradle.md b/content/actions/guides/publishing-java-packages-with-gradle.md index 407d446447..b9901a18d7 100644 --- a/content/actions/guides/publishing-java-packages-with-gradle.md +++ b/content/actions/guides/publishing-java-packages-with-gradle.md @@ -7,6 +7,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Packaging' @@ -17,6 +18,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/guides/publishing-java-packages-with-maven.md b/content/actions/guides/publishing-java-packages-with-maven.md index 48a533fbf2..507f4cc9af 100644 --- a/content/actions/guides/publishing-java-packages-with-maven.md +++ b/content/actions/guides/publishing-java-packages-with-maven.md @@ -7,6 +7,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Packaging' @@ -17,6 +18,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/guides/publishing-nodejs-packages.md b/content/actions/guides/publishing-nodejs-packages.md index d1a3800318..3e359adce8 100644 --- a/content/actions/guides/publishing-nodejs-packages.md +++ b/content/actions/guides/publishing-nodejs-packages.md @@ -8,6 +8,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Packaging' @@ -18,6 +19,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md b/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md index fd3a776b09..d8a7318375 100644 --- a/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md +++ b/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md @@ -11,6 +11,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Workflows' @@ -19,6 +20,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} Anyone with write permission to a repository can set up continuous integration (CI) using {% data variables.product.prodname_actions %}. diff --git a/content/actions/guides/storing-workflow-data-as-artifacts.md b/content/actions/guides/storing-workflow-data-as-artifacts.md index 898bf40efe..ad3eed3782 100644 --- a/content/actions/guides/storing-workflow-data-as-artifacts.md +++ b/content/actions/guides/storing-workflow-data-as-artifacts.md @@ -11,6 +11,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Workflows' @@ -18,6 +19,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About workflow artifacts @@ -111,7 +113,7 @@ jobs: path: output/test/code-coverage.html ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} ### Configuring a custom artifact retention period You can define a custom retention period for individual artifacts created by a workflow. When using a workflow to create a new artifact, you can use `retention-days` with the `upload-artifact` action. This example demonstrates how to set a custom retention period of 5 days for the artifact named `my-artifact`: @@ -240,7 +242,7 @@ jobs: ``` The workflow run will archive any artifacts that it generated. For more information on downloading archived artifacts, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![Workflow that passes data between jobs to perform math](/assets/images/help/repository/passing-data-between-jobs-in-a-workflow-updated.png) {% else %} ![Workflow that passes data between jobs to perform math](/assets/images/help/repository/passing-data-between-jobs-in-a-workflow.png) diff --git a/content/actions/hosting-your-own-runners/about-self-hosted-runners.md b/content/actions/hosting-your-own-runners/about-self-hosted-runners.md index 5efa07952c..78f44b9d93 100644 --- a/content/actions/hosting-your-own-runners/about-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/about-self-hosted-runners.md @@ -7,11 +7,14 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'overview' --- +{% data reusables.actions.ae-self-hosted-runners-notice %} {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About self-hosted runners @@ -112,6 +115,13 @@ Some extra configuration might be required to use actions from {% data variables The self-hosted runner polls {% data variables.product.product_name %} to retrieve application updates and to check if any jobs are queued for processing. The self-hosted runner uses a HTTPS _long poll_ that opens a connection to {% data variables.product.product_name %} for 50 seconds, and if no response is received, it then times out and creates a new long poll. The application must be running on the machine to accept and run {% data variables.product.prodname_actions %} jobs. +{% if currentVersion == "github-ae@latest" %} +You must ensure that the self-hosted runner has appropriate network access to communicate with the {% data variables.product.prodname_ghe_managed %} URL. +For example, if your instance name is `octoghae`, then you will need to allow the self-hosted runner to access `octoghae.github.com`. + +If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/github/setting-up-and-managing-organizations-and-teams/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)." +{% endif %} + {% if currentVersion == "free-pro-team@latest" %} You must ensure that the machine has the appropriate network access to communicate with the {% data variables.product.prodname_dotcom %} URLs listed below. diff --git a/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md b/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md index e8a3ec454b..454da2e307 100644 --- a/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md @@ -7,11 +7,14 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' --- +{% data reusables.actions.ae-self-hosted-runners-notice %} {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} You can add a self-hosted runner to a repository, an organization, or an enterprise. @@ -57,7 +60,7 @@ You can add self-hosted runners to an enterprise, where they can be assigned to {% if currentVersion == "free-pro-team@latest" %} To add a self-hosted runner to an enterprise account, you must be an enterprise owner. -{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21"%} +{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} To add a self-hosted runner at the enterprise level of {% data variables.product.product_location %}, you must be a site administrator. {% endif %} diff --git a/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md b/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md index e74b6cdeab..bbde1784c8 100644 --- a/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md +++ b/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md @@ -6,12 +6,15 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' defaultPlatform: linux --- +{% data reusables.actions.ae-self-hosted-runners-notice %} {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} {% capture service_first_step %}1. Stop the self-hosted runner application if it is currently running.{% endcapture %} {% capture service_non_windows_intro_shell %}On the runner machine, open a shell in the directory where you installed the self-hosted runner application. Use the commands below to install and manage the self-hosted runner service.{% endcapture %} diff --git a/content/actions/hosting-your-own-runners/index.md b/content/actions/hosting-your-own-runners/index.md index f73801b2ed..09276f2c2a 100644 --- a/content/actions/hosting-your-own-runners/index.md +++ b/content/actions/hosting-your-own-runners/index.md @@ -7,10 +7,13 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- +{% data reusables.actions.ae-self-hosted-runners-notice %} {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} {% link_in_list /about-self-hosted-runners %} {% link_in_list /adding-self-hosted-runners %} diff --git a/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md b/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md index 583e24c0b2..e045f57422 100644 --- a/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md +++ b/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md @@ -6,11 +6,14 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' --- +{% data reusables.actions.ae-self-hosted-runners-notice %} {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About self-hosted runner groups @@ -44,7 +47,7 @@ When creating a group, you must choose a policy that defines which repositories ![Add runner group](/assets/images/help/settings/actions-org-add-runner-group.png) 1. Enter a name for your runner group, and assign a policy for repository access. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} You can configure a runner group to be accessible to a specific list of repositories, or to all repositories in the organization. By default, public repositories can't access runners in a runner group, but you can use the **Allow public repositories** option to override this.{% else if currentVersion == "enterprise-server@2.22"%}You can configure a runner group to be accessible to a specific list of repositories, all private repositories, or all repositories in the organization.{% endif %} + {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} You can configure a runner group to be accessible to a specific list of repositories, or to all repositories in the organization. By default, only private repositories can access runners in a runner group, but you can override this.{% elsif currentVersion == "enterprise-server@2.22"%}You can configure a runner group to be accessible to a specific list of repositories, all private repositories, or all repositories in the organization.{% endif %} {% warning %} @@ -76,7 +79,7 @@ When creating a group, you must choose a policy that defines which organizations ![Add runner group](/assets/images/help/settings/actions-enterprise-account-add-runner-group.png) 1. Enter a name for your runner group, and assign a policy for organization access. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise. By default, public repositories can't access runners in a runner group, but you can use the **Allow public repositories** option to override this.{% else if currentVersion == "enterprise-server@2.22"%}You can configure a runner group to be accessible to all organizations in the enterprise or choose specific organizations.{% endif %} + {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise. By default, only private repositories can access runners in a runner group, but you can override this.{% elsif currentVersion == "enterprise-server@2.22"%}You can configure a runner group to be accessible to all organizations in the enterprise or choose specific organizations.{% endif %} {% warning %} @@ -101,7 +104,7 @@ You can update the access policy of a runner group, or rename a runner group. New self-hosted runners are automatically assigned to the default group, and can then be moved to another group. -1. In the **Self-hosted runners** section of the settings page, locate the current group of the runner you want to move group and expand the list of group members. +1. In the **Self-hosted runners** section of the settings page, locate the current group of the runner you want to move and expand the list of group members. ![View runner group members](/assets/images/help/settings/actions-org-runner-group-members.png) 1. Select the checkbox next to the self-hosted runner, and then click **Move to group** to see the available destinations. ![Runner group member move](/assets/images/help/settings/actions-org-runner-group-member-move.png) diff --git a/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md b/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md index 36a11e07c2..42b189fcb5 100644 --- a/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md @@ -8,12 +8,15 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' defaultPlatform: linux --- +{% data reusables.actions.ae-self-hosted-runners-notice %} {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Checking the status of a self-hosted runner diff --git a/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md b/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md index cd29dcd43b..3880818b21 100644 --- a/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md @@ -7,11 +7,14 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' --- +{% data reusables.actions.ae-self-hosted-runners-notice %} {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Removing a runner from a repository @@ -63,7 +66,7 @@ To remove a self-hosted runner from an organization, you must be an organization {% if currentVersion == "free-pro-team@latest" %} To remove a self-hosted runner from an enterprise account, you must be an enterprise owner. We recommend that you also have access to the self-hosted runner machine. -{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21"%} +{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21"% or currentVersion == "github-ae@latest" } To remove a self-hosted runner at the enterprise level of {% data variables.product.product_location %}, you must be a site administrator. We recommend that you also have access to the self-hosted runner machine. {% endif %} diff --git a/content/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners.md b/content/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners.md index c3b60531c3..faa10a7ddd 100644 --- a/content/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners.md @@ -6,11 +6,14 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' --- +{% data reusables.actions.ae-self-hosted-runners-notice %} {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Configuring a proxy server using environment variables diff --git a/content/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners.md b/content/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners.md index 87ce2bbde1..91ad8eb2ba 100644 --- a/content/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners.md @@ -4,11 +4,14 @@ intro: You can use labels to organize your self-hosted runners based on their ch versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' --- +{% data reusables.actions.ae-self-hosted-runners-notice %} {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} For information on how to use labels to route jobs to specific types of self-hosted runners, see "[Using self-hosted runners in a workflow](/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow)." diff --git a/content/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow.md b/content/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow.md index 3124b22d3d..823d47baf0 100644 --- a/content/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow.md +++ b/content/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow.md @@ -7,11 +7,14 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' --- +{% data reusables.actions.ae-self-hosted-runners-notice %} {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} For information on creating custom and default labels, see "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)." @@ -66,7 +69,7 @@ These labels operate cumulatively, so a self-hosted runner’s labels must match When routing a job to a self-hosted runner, {% data variables.product.prodname_dotcom %} looks for a runner that matches the job's `runs-on` labels: -1. {% data variables.product.prodname_dotcom %} first searches for a runner at the repository level, then at the organization level{% if currentVersion ver_gt "enterprise-server@2.21" %}, then at the enterprise level{% endif %}. +1. {% data variables.product.prodname_dotcom %} first searches for a runner at the repository level, then at the organization level{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}, then at the enterprise level{% endif %}. 2. The job is then sent to the first matching runner that is online and idle. - If all matching online runners are busy, the job will queue at the level with the highest number of matching online runners. - If all matching runners are offline, the job will queue at the level with the highest number of matching offline runners. diff --git a/content/actions/index.md b/content/actions/index.md index a868a2f1fb..48ff80ce2c 100644 --- a/content/actions/index.md +++ b/content/actions/index.md @@ -45,6 +45,7 @@ layout: product-landing versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- @@ -52,6 +53,7 @@ versions: + diff --git a/content/actions/learn-github-actions/essential-features-of-github-actions.md b/content/actions/learn-github-actions/essential-features-of-github-actions.md index 4e1c1907ef..6d8a072b95 100644 --- a/content/actions/learn-github-actions/essential-features-of-github-actions.md +++ b/content/actions/learn-github-actions/essential-features-of-github-actions.md @@ -5,6 +5,7 @@ intro: '{% data variables.product.prodname_actions %} are designed to help you b versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'overview' topics: - 'Fundamentals' @@ -12,6 +13,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Overview diff --git a/content/actions/learn-github-actions/finding-and-customizing-actions.md b/content/actions/learn-github-actions/finding-and-customizing-actions.md index bf6ef136ca..2badabf205 100644 --- a/content/actions/learn-github-actions/finding-and-customizing-actions.md +++ b/content/actions/learn-github-actions/finding-and-customizing-actions.md @@ -10,6 +10,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'how_to' topics: - 'Fundamentals' @@ -17,6 +18,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Overview @@ -73,7 +75,7 @@ steps: #### Using SHAs -If you need more reliable versioning, you should use the SHA value associated with the version of the action. SHAs are immutable and therefore more reliable than tags or branches. However this approach means you will not automatically receive updates for an action, including important bug fixes and security updates. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}You must use a commit's full SHA value, and not an abbreviated value. {% endif %}This example targets an action's SHA: +If you need more reliable versioning, you should use the SHA value associated with the version of the action. SHAs are immutable and therefore more reliable than tags or branches. However this approach means you will not automatically receive updates for an action, including important bug fixes and security updates. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}You must use a commit's full SHA value, and not an abbreviated value. {% endif %}This example targets an action's SHA: ```yaml steps: diff --git a/content/actions/learn-github-actions/index.md b/content/actions/learn-github-actions/index.md index e120b015a2..0ca62e32dc 100644 --- a/content/actions/learn-github-actions/index.md +++ b/content/actions/learn-github-actions/index.md @@ -28,6 +28,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% link_with_intro /introduction-to-github-actions %} @@ -40,4 +41,4 @@ versions: {% link_with_intro /migrating-from-circleci-to-github-actions %} {% link_with_intro /migrating-from-gitlab-cicd-to-github-actions %} {% link_with_intro /migrating-from-jenkins-to-github-actions %} -{% link_with_intro /migrating-from-travis-ci-to-github-actions %} \ No newline at end of file +{% link_with_intro /migrating-from-travis-ci-to-github-actions %} diff --git a/content/actions/learn-github-actions/introduction-to-github-actions.md b/content/actions/learn-github-actions/introduction-to-github-actions.md index 495818104e..c5bbb91f6b 100644 --- a/content/actions/learn-github-actions/introduction-to-github-actions.md +++ b/content/actions/learn-github-actions/introduction-to-github-actions.md @@ -9,6 +9,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'overview' topics: - 'Fundamentals' @@ -16,6 +17,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Overview @@ -53,9 +55,10 @@ _Actions_ are standalone commands that are combined into _steps_ to create a _jo #### Runners -A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. You can use a runner hosted by {% data variables.product.prodname_dotcom %}, or you can host your own. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. For {% data variables.product.prodname_dotcom %}-hosted runners, each job in a workflow runs in a fresh virtual environment. - -{% data variables.product.prodname_dotcom %}-hosted runners are based on Ubuntu Linux, Microsoft Windows, and macOS. For information on {% data variables.product.prodname_dotcom %}-hosted runners, see "[Virtual environments for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/virtual-environments-for-github-hosted-runners)." If you need a different operating system or require a specific hardware configuration, you can host your own runners. For information on self-hosted runners, see "[Hosting your own runners](/actions/hosting-your-own-runners)." +{% if currentVersion == "github-ae@latest" %}A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. For {% data variables.product.prodname_ghe_managed %}, you can use the security hardened {% data variables.actions.hosted_runner %}s which are bundled with your instance in the cloud. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.actions.hosted_runner %}s run each workflow job in a fresh virtual environment. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)." +{% else %} +A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. You can use a runner hosted by {% data variables.product.prodname_dotcom %}, or you can host your own. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_dotcom %}-hosted runners are based on Ubuntu Linux, Microsoft Windows, and macOS, and each job in a workflow runs in a fresh virtual environment. For information on {% data variables.product.prodname_dotcom %}-hosted runners, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)." If you need a different operating system or require a specific hardware configuration, you can host your own runners. For information on self-hosted runners, see "[Hosting your own runners](/actions/hosting-your-own-runners)." +{% endif %} ### Create an example workflow @@ -207,7 +210,7 @@ In this diagram, you can see the workflow file you just created and how the {% d ### Viewing the job's activity -Once your job has started running, you can {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}. +Once your job has started running, you can {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}. {% data reusables.repositories.navigate-to-repo %} 1. Under your repository name, click **Actions**. @@ -216,11 +219,11 @@ Once your job has started running, you can {% if currentVersion == "free-pro-tea ![Screenshot of workflow results](/assets/images/help/images/learn-github-actions-workflow.png) 1. Under "Workflow runs", click the name of the run you want to see. ![Screenshot of workflow runs](/assets/images/help/images/learn-github-actions-run.png) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} 1. Under **Jobs** or in the visualization graph, click the job you want to see. ![Select job](/assets/images/help/images/overview-actions-result-navigate.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} 1. View the results of each step. ![Screenshot of workflow run details](/assets/images/help/images/overview-actions-result-updated-2.png) {% elsif currentVersion ver_gt "enterprise-server@2.22" %} diff --git a/content/actions/learn-github-actions/managing-complex-workflows.md b/content/actions/learn-github-actions/managing-complex-workflows.md index 17dc573c37..cb773b32c8 100644 --- a/content/actions/learn-github-actions/managing-complex-workflows.md +++ b/content/actions/learn-github-actions/managing-complex-workflows.md @@ -1,10 +1,11 @@ --- title: Managing complex workflows shortTitle: Managing complex workflows -intro: 'This guide shows you how to use the advanced features of {% data variables.product.prodname_actions %}, with secret management, dependent jobs, caching, build matrices,{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} environments,{% endif %} and labels.' +intro: 'This guide shows you how to use the advanced features of {% data variables.product.prodname_actions %}, with secret management, dependent jobs, caching, build matrices,{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} environments,{% endif %} and labels.' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'how_to' topics: - 'Workflows' @@ -12,6 +13,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Overview @@ -86,6 +88,7 @@ jobs: For more information, see [`jobs..strategy.matrix`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix). +{% if currentVersion == "free-pro-team@latest" %} ### Caching dependencies {% data variables.product.prodname_dotcom %}-hosted runners are started as fresh environments for each job, so if your jobs regularly reuse dependencies, you can consider caching these files to help improve performance. Once the cache is created, it is available to all workflows in the same repository. @@ -110,6 +113,7 @@ jobs: {% endraw %} For more information, see "Caching dependencies to speed up workflows." +{% endif %} ### Using databases and service containers @@ -139,17 +143,27 @@ For more information, see "[Using databases and service containers](/actions/con ### Using labels to route workflows -This feature helps you assign jobs to a specific self-hosted runner. If you want to be sure that a particular type of runner will process your job, you can use labels to control where jobs are executed. You can assign labels to a self-hosted runner, and then refer to these labels in your YAML workflow, ensuring that the job is routed in a predictable way. +This feature helps you assign jobs to a specific hosted runner. If you want to be sure that a particular type of runner will process your job, you can use labels to control where jobs are executed. You can assign labels to a hosted runner, and then refer to these labels in your YAML workflow, ensuring that the job is routed in a predictable way. +{% if currentVersion == "github-ae@latest" %} This example shows how a workflow can use labels to specify the required runner: +```yaml +jobs: + example-job: + runs-on: [AE-runner-for-CI] +``` + +For more information, see ["Using labels with {% data variables.actions.hosted_runner %}](/actions/using-github-hosted-runners/using-labels-with-ae-hosted-runners)." +{% else %} ```yaml jobs: example-job: runs-on: [self-hosted, linux, x64, gpu] ``` -For more information, see ["Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)." +For more information, see ["Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)." +{% endif %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} ### Using environments diff --git a/content/actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions.md b/content/actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions.md index b7ac0eaf55..f43c7e05d3 100644 --- a/content/actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions.md +++ b/content/actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions.md @@ -6,6 +6,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Azure Pipelines' @@ -16,6 +17,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/learn-github-actions/migrating-from-circleci-to-github-actions.md b/content/actions/learn-github-actions/migrating-from-circleci-to-github-actions.md index 6e1684ec0d..59314bfbf9 100644 --- a/content/actions/learn-github-actions/migrating-from-circleci-to-github-actions.md +++ b/content/actions/learn-github-actions/migrating-from-circleci-to-github-actions.md @@ -6,6 +6,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'CircleCI' @@ -16,6 +17,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction @@ -33,7 +35,9 @@ For more information, see "[Core concepts for {% data variables.product.prodname When migrating from CircleCI, consider the following differences: - CircleCI’s automatic test parallelism automatically groups tests according to user-specified rules or historical timing information. This functionality is not built into {% data variables.product.prodname_actions %}. -- Actions that execute in Docker containers are sensitive to permissions problems since containers have a different mapping of users. You can avoid many of these problems by not using the `USER` instruction in your *Dockerfile*. For more information about the Docker filesystem on {% data variables.product.product_name %}-hosted runners, see "[Virtual environments for {% data variables.product.product_name %}-hosted runners](/actions/reference/virtual-environments-for-github-hosted-runners#docker-container-filesystem)." +- Actions that execute in Docker containers are sensitive to permissions problems since containers have a different mapping of users. You can avoid many of these problems by not using the `USER` instruction in your *Dockerfile*. {% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images).". +{% else %}For more information about the Docker filesystem on {% data variables.product.product_name %}-hosted runners, see "[Virtual environments for {% data variables.product.product_name %}-hosted runners](/actions/reference/virtual-environments-for-github-hosted-runners#docker-container-filesystem)." +{% endif %} ### Migrating workflows and jobs @@ -56,9 +60,15 @@ CircleCI provides a set of pre-built images with common dependencies. These imag We recommend that you move away from CircleCI's pre-built images when you migrate to {% data variables.product.prodname_actions %}. In many cases, you can use actions to install the additional dependencies you need. +{% if currentVersion == "github-ae@latest" %} +For more information about the Docker filesystem, see "[Docker container filesystem](/actions/using-github-hosted-runners/about-ae-hosted-runners#docker-container-filesystem)." + +For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% else %} For more information about the Docker filesystem, see "[Virtual environments for {% data variables.product.product_name %}-hosted runners](/actions/reference/virtual-environments-for-github-hosted-runners#docker-container-filesystem)." For more information about the tools and packages available on {% data variables.product.prodname_dotcom %}-hosted virtual environments, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". +{% endif %} ### Using variables and secrets diff --git a/content/actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions.md b/content/actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions.md index e146bc6988..19661d238b 100644 --- a/content/actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions.md +++ b/content/actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions.md @@ -4,6 +4,7 @@ intro: '{% data variables.product.prodname_actions %} and GitLab CI/CD share sev versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'GitLab' @@ -14,6 +15,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction diff --git a/content/actions/learn-github-actions/migrating-from-jenkins-to-github-actions.md b/content/actions/learn-github-actions/migrating-from-jenkins-to-github-actions.md index bbcc743aac..6ea896566d 100644 --- a/content/actions/learn-github-actions/migrating-from-jenkins-to-github-actions.md +++ b/content/actions/learn-github-actions/migrating-from-jenkins-to-github-actions.md @@ -6,6 +6,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Jenkins' @@ -16,6 +17,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction @@ -69,7 +71,7 @@ Jenkins uses directives to manage _Declarative Pipelines_. These directives defi | [`triggers { upstreamprojects() }`](https://jenkins.io/doc/book/pipeline/syntax/#triggers) | [`jobs..needs`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idneeds) | | [Jenkins cron syntax](https://jenkins.io/doc/book/pipeline/syntax/#cron-syntax) | [`on.schedule`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onschedule) | | [`stage`](https://jenkins.io/doc/book/pipeline/syntax/#stage) | [`jobs.`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_id)
[`jobs..name`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idname) | -| [`tools`](https://jenkins.io/doc/book/pipeline/syntax/#tools) | [Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software) | +| [`tools`](https://jenkins.io/doc/book/pipeline/syntax/#tools) | {% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."{% else %}[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software) |{% endif %} | [`input`](https://jenkins.io/doc/book/pipeline/syntax/#input) | [`inputs`](/actions/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputs) | | [`when`](https://jenkins.io/doc/book/pipeline/syntax/#when) | [`jobs..if`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif) | diff --git a/content/actions/learn-github-actions/migrating-from-travis-ci-to-github-actions.md b/content/actions/learn-github-actions/migrating-from-travis-ci-to-github-actions.md index 9daceeafc0..9bcccc2b47 100644 --- a/content/actions/learn-github-actions/migrating-from-travis-ci-to-github-actions.md +++ b/content/actions/learn-github-actions/migrating-from-travis-ci-to-github-actions.md @@ -6,6 +6,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'tutorial' topics: - 'Travis CI' @@ -14,6 +15,10 @@ topics: - 'CD' --- +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} + ### Introduction This guide helps you migrate from Travis CI to {% data variables.product.prodname_actions %}. It compares their concepts and syntax, describes the similarities, and demonstrates their different approaches to common tasks. @@ -182,7 +187,7 @@ When migrating from Travis CI, consider the following key features in {% data va #### Storing secrets -{% data variables.product.prodname_actions %} allows you to store secrets and reference them in your jobs. {% data variables.product.prodname_actions %} organizations can limit which repositories can access organization secrets. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Environment protection rules can require manual approval for a workflow to access environment secrets. {% endif %}For more information, see "[Encrypted secrets](/actions/reference/encrypted-secrets)." +{% data variables.product.prodname_actions %} allows you to store secrets and reference them in your jobs. {% data variables.product.prodname_actions %} organizations can limit which repositories can access organization secrets. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}Environment protection rules can require manual approval for a workflow to access environment secrets. {% endif %}For more information, see "[Encrypted secrets](/actions/reference/encrypted-secrets)." #### Sharing files between jobs and workflows diff --git a/content/actions/learn-github-actions/security-hardening-for-github-actions.md b/content/actions/learn-github-actions/security-hardening-for-github-actions.md index 7185fae05b..bf9756a041 100644 --- a/content/actions/learn-github-actions/security-hardening-for-github-actions.md +++ b/content/actions/learn-github-actions/security-hardening-for-github-actions.md @@ -8,6 +8,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'overview' topics: - 'Security' @@ -15,6 +16,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Overview @@ -22,7 +24,7 @@ This guide explains how to configure security hardening for certain {% data vari ### Using secrets -Sensitive values should never be stored as plaintext in workflow files, but rather as secrets. [Secrets](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets) can be configured at the organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}, repository, or environment{% else %} or repository{% endif %} level, and allow you to store sensitive information in {% data variables.product.product_name %}. +Sensitive values should never be stored as plaintext in workflow files, but rather as secrets. [Secrets](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets) can be configured at the organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, repository, or environment{% else %} or repository{% endif %} level, and allow you to store sensitive information in {% data variables.product.product_name %}. Secrets use [Libsodium sealed boxes](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes), so that they are encrypted before reaching {% data variables.product.product_name %}. This occurs when the secret is submitted [using the UI](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-a-repository) or through the [REST API](/rest/reference/actions#secrets). This client-side encryption helps the minimize risks related to accidental logging (for example, exception logs and request logs, among others) within {% data variables.product.product_name %}'s infrastructure. Once the secret is uploaded, {% data variables.product.product_name %} is then able to decrypt it so that it can be injected into the workflow runtime. @@ -41,7 +43,7 @@ To help prevent accidental disclosure, {% data variables.product.product_name %} - **Audit and rotate registered secrets** - Periodically review the registered secrets to confirm they are still required. Remove those that are no longer needed. - Rotate secrets periodically to reduce the window of time during which a compromised secret is valid. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} - **Consider requiring review for access to secrets** - You can use required reviewers to protect environment secrets. A workflow job cannot access environment secrets until approval is granted by a reviewer. For more information about storing secrets in environments or requiring reviews for environments, see "[Encrypted secrets](/actions/reference/encrypted-secrets)" and "[Environments](/actions/reference/environments)." {% endif %} @@ -131,7 +133,6 @@ The following tables describe the {% data variables.product.prodname_actions %} | `repo.remove_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is removed. | `repo.update_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is updated. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} #### Events for self-hosted runners | Action | Description |------------------|------------------- @@ -143,9 +144,7 @@ The following tables describe the {% data variables.product.prodname_actions %} | `repo.register_self_hosted_runner` | Triggered when a new self-hosted runner is registered. For more information, see "[Adding a self-hosted runner to a repository](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository)." | `repo.remove_self_hosted_runner` | Triggered when a self-hosted runner is removed. For more information, see "[Removing a runner from a repository](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository)." | `repo.self_hosted_runner_updated` | Triggered when the runner application is updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners)." -{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} #### Events for self-hosted runner groups | Action | Description |------------------|------------------- @@ -158,11 +157,7 @@ The following tables describe the {% data variables.product.prodname_actions %} | `org.runner_group_removed` | Triggered when a self-hosted runner group is removed. For more information, see "[Removing a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group)." | `org.runner_group_runners_added` | Triggered when a self-hosted runner is added to a group. For more information, see "[Moving a self-hosted runner to a group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group)." | `org.runner_group_runner_removed` | Triggered when a self-hosted runner is removed from a group. -{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} #### Events for workflow activities {% data reusables.actions.actions-audit-events-workflow %} - -{% endif %} diff --git a/content/actions/learn-github-actions/sharing-workflows-with-your-organization.md b/content/actions/learn-github-actions/sharing-workflows-with-your-organization.md index 264a15171f..9031151f9d 100644 --- a/content/actions/learn-github-actions/sharing-workflows-with-your-organization.md +++ b/content/actions/learn-github-actions/sharing-workflows-with-your-organization.md @@ -7,11 +7,13 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'how_to' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Overview diff --git a/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md b/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md index 92fa7fc3d7..a5f04694bc 100644 --- a/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md +++ b/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md @@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} {% data reusables.repositories.actions-workflow-status-badge-into %} diff --git a/content/actions/managing-workflow-runs/canceling-a-workflow.md b/content/actions/managing-workflow-runs/canceling-a-workflow.md index 153659d966..14c6714dd2 100644 --- a/content/actions/managing-workflow-runs/canceling-a-workflow.md +++ b/content/actions/managing-workflow-runs/canceling-a-workflow.md @@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} {% data reusables.repositories.permissions-statement-write %} @@ -20,7 +22,7 @@ versions: 1. From the list of workflow runs, click the name of the `queued` or `in progress` run that you want to cancel. ![Name of workflow run](/assets/images/help/repository/in-progress-run.png) 1. In the upper-right corner of the workflow, click **Cancel workflow**. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![Cancel check suite button](/assets/images/help/repository/cancel-check-suite-updated.png) {% else %} ![Cancel check suite button](/assets/images/help/repository/cancel-check-suite.png) diff --git a/content/actions/managing-workflow-runs/deleting-a-workflow-run.md b/content/actions/managing-workflow-runs/deleting-a-workflow-run.md index 18ebe8c5cc..f81c479711 100644 --- a/content/actions/managing-workflow-runs/deleting-a-workflow-run.md +++ b/content/actions/managing-workflow-runs/deleting-a-workflow-run.md @@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} {% data reusables.repositories.permissions-statement-write %} diff --git a/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md b/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md index c4dbd75645..9cd84a31fa 100644 --- a/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md +++ b/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md @@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.23' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} Disabling a workflow allows you to stop a workflow from being triggered without having to delete the file from the repo. You can easily re-enable the workflow again on {% data variables.product.prodname_dotcom %}. You can also disable and enable a workflow using the REST API. For more information, see the "[Actions REST API](/rest/reference/actions#workflows)." diff --git a/content/actions/managing-workflow-runs/downloading-workflow-artifacts.md b/content/actions/managing-workflow-runs/downloading-workflow-artifacts.md index 11843c3cec..df597aa7ac 100644 --- a/content/actions/managing-workflow-runs/downloading-workflow-artifacts.md +++ b/content/actions/managing-workflow-runs/downloading-workflow-artifacts.md @@ -5,12 +5,14 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and you can customize this retention period, depending on the type of repository. For more information, see "[Configuring the retention period for GitHub Actions artifacts and logs in your repository](/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)."{% endif %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and you can customize this retention period, depending on the type of repository. For more information, see "[Configuring the retention period for GitHub Actions artifacts and logs in your repository](/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)."{% endif %} {% if currentVersion == "enterprise-server@2.22" %} {% data variables.product.product_name %} stores full build logs and artifacts for 90 days.{% endif %} {% data reusables.repositories.permissions-statement-read %} @@ -20,7 +22,7 @@ versions: {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under **Artifacts**, click the artifact you want to download. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} + {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![Download artifact drop-down menu](/assets/images/help/repository/artifact-drop-down-updated.png) {% else %} ![Download artifact drop-down menu](/assets/images/help/repository/artifact-drop-down.png) diff --git a/content/actions/managing-workflow-runs/enabling-debug-logging.md b/content/actions/managing-workflow-runs/enabling-debug-logging.md index a4787be05a..a4e5ac69a0 100644 --- a/content/actions/managing-workflow-runs/enabling-debug-logging.md +++ b/content/actions/managing-workflow-runs/enabling-debug-logging.md @@ -5,15 +5,17 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} These extra logs are enabled by setting secrets in the repository containing the workflow, so the same permissions requirements will apply: - {% data reusables.github-actions.permissions-statement-secrets-repository %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} - {% data reusables.github-actions.permissions-statement-secrets-environment %} {% endif %} - {% data reusables.github-actions.permissions-statement-secrets-organization %} diff --git a/content/actions/managing-workflow-runs/index.md b/content/actions/managing-workflow-runs/index.md index 4d5e7554b1..2606df2f97 100644 --- a/content/actions/managing-workflow-runs/index.md +++ b/content/actions/managing-workflow-runs/index.md @@ -1,7 +1,7 @@ --- title: Managing workflow runs shortTitle: Managing workflow runs -intro: 'You can view the status and results of each step in your workflow, cancel a pending workflow, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}review deployments, {% endif %}view billable job execution minutes, debug and re-run a failed workflow, search and download logs, and download artifacts.' +intro: 'You can view the status and results of each step in your workflow, cancel a pending workflow, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}review deployments, {% endif %}view billable job execution minutes, debug and re-run a failed workflow, search and download logs, and download artifacts.' redirect_from: - /actions/configuring-and-managing-workflows/managing-a-workflow-run - /articles/viewing-your-repository-s-workflows @@ -13,12 +13,14 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% link_in_list /using-the-visualization-graph %}{% endif %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}{% link_in_list /using-the-visualization-graph %}{% endif %} {% link_in_list /viewing-workflow-run-history %} {% link_in_list /using-workflow-run-logs %} {% link_in_list /manually-running-a-workflow %} diff --git a/content/actions/managing-workflow-runs/manually-running-a-workflow.md b/content/actions/managing-workflow-runs/manually-running-a-workflow.md index 753dda70cb..55a78bf07c 100644 --- a/content/actions/managing-workflow-runs/manually-running-a-workflow.md +++ b/content/actions/managing-workflow-runs/manually-running-a-workflow.md @@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Configuring a workflow to run manually diff --git a/content/actions/managing-workflow-runs/re-running-a-workflow.md b/content/actions/managing-workflow-runs/re-running-a-workflow.md index 323ebab2d3..f72ee39863 100644 --- a/content/actions/managing-workflow-runs/re-running-a-workflow.md +++ b/content/actions/managing-workflow-runs/re-running-a-workflow.md @@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} {% data reusables.repositories.permissions-statement-write %} @@ -16,4 +18,4 @@ versions: {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} -1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}![Re-run checks drop-down menu](/assets/images/help/repository/rerun-checks-drop-down-updated.png){% else %}![Re-run checks drop-down menu](/assets/images/help/repository/rerun-checks-drop-down.png){% endif %} +1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}![Re-run checks drop-down menu](/assets/images/help/repository/rerun-checks-drop-down-updated.png){% else %}![Re-run checks drop-down menu](/assets/images/help/repository/rerun-checks-drop-down.png){% endif %} diff --git a/content/actions/managing-workflow-runs/removing-workflow-artifacts.md b/content/actions/managing-workflow-runs/removing-workflow-artifacts.md index 33595a42cf..a433c07caa 100644 --- a/content/actions/managing-workflow-runs/removing-workflow-artifacts.md +++ b/content/actions/managing-workflow-runs/removing-workflow-artifacts.md @@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Deleting an artifact @@ -27,13 +29,13 @@ versions: {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under **Artifacts**, click {% octicon "trashcan" aria-label="The trashcan icon" %} next to the artifact you want to remove. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} + {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![Delete artifact drop-down menu](/assets/images/help/repository/actions-delete-artifact-updated.png) {% else %} ![Delete artifact drop-down menu](/assets/images/help/repository/actions-delete-artifact.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} ### Setting the retention period for an artifact Retention periods for artifacts and logs can be configured at the repository, organization, and enterprise level. For more information, see "[Usage limits, billing, and administration](/actions/reference/usage-limits-billing-and-administration#artifact-and-log-retention-policy)." diff --git a/content/actions/managing-workflow-runs/reviewing-deployments.md b/content/actions/managing-workflow-runs/reviewing-deployments.md index 3df0e34763..a2fb11eb67 100644 --- a/content/actions/managing-workflow-runs/reviewing-deployments.md +++ b/content/actions/managing-workflow-runs/reviewing-deployments.md @@ -5,9 +5,11 @@ product: '{% data reusables.gated-features.environments %}' versions: free-pro-team: '*' enterprise-server: '>=3.1' + github-ae: '*' --- {% data reusables.actions.environments-beta %} +{% data reusables.actions.ae-beta %} ### About required reviews in workflows diff --git a/content/actions/managing-workflow-runs/using-the-visualization-graph.md b/content/actions/managing-workflow-runs/using-the-visualization-graph.md index 2fe6753a30..2fbeb2a9ae 100644 --- a/content/actions/managing-workflow-runs/using-the-visualization-graph.md +++ b/content/actions/managing-workflow-runs/using-the-visualization-graph.md @@ -5,11 +5,13 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=3.1' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.visualization-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} diff --git a/content/actions/managing-workflow-runs/using-workflow-run-logs.md b/content/actions/managing-workflow-runs/using-workflow-run-logs.md index 9cffb45bc3..fa3973fb94 100644 --- a/content/actions/managing-workflow-runs/using-workflow-run-logs.md +++ b/content/actions/managing-workflow-runs/using-workflow-run-logs.md @@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} You can see whether a workflow run is in progress or complete from the workflow run page. You must be logged in to a {% data variables.product.prodname_dotcom %} account to view workflow run information, including for public repositories. For more information, see "[Access permissions on GitHub](/articles/access-permissions-on-github)." @@ -43,9 +45,9 @@ You can search the build logs for a particular step. When you search logs, only {% data reusables.repositories.navigate-to-workflow-superlinter %} {% data reusables.repositories.view-run-superlinter %} {% data reusables.repositories.navigate-to-job-superlinter %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} 1. In the upper-right corner of the log output, in the **Search logs** search box, type a search query. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![Search box to search logs](/assets/images/help/repository/search-log-box-updated-2.png) {% else %} ![Search box to search logs](/assets/images/help/repository/search-log-box-updated.png) @@ -66,9 +68,9 @@ You can download the log files from your workflow run. You can also download a w {% data reusables.repositories.navigate-to-workflow-superlinter %} {% data reusables.repositories.view-run-superlinter %} {% data reusables.repositories.navigate-to-job-superlinter %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} -1. In the upper right corner, click {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% octicon "gear" aria-label="The gear icon" %}{% else %}{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}{% endif %} and select **Download log archive**. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +1. In the upper right corner, click {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}{% octicon "gear" aria-label="The gear icon" %}{% else %}{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}{% endif %} and select **Download log archive**. + {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![Download logs drop-down menu](/assets/images/help/repository/download-logs-drop-down-updated-2.png) {% else %} ![Download logs drop-down menu](/assets/images/help/repository/download-logs-drop-down-updated.png) @@ -86,15 +88,15 @@ You can delete the log files from your workflow run. {% data reusables.repositor {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow-superlinter %} {% data reusables.repositories.view-run-superlinter %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} + {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![Kebab-horizontal icon](/assets/images/help/repository/workflow-run-kebab-horizontal-icon-updated-2.png) {% else %} ![Kebab-horizontal icon](/assets/images/help/repository/workflow-run-kebab-horizontal-icon-updated.png) {% endif %} 2. To delete the log files, click the **Delete all logs** button and review the confirmation prompt. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} + {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ![Delete all logs](/assets/images/help/repository/delete-all-logs-updated-2.png) {% else %} ![Delete all logs](/assets/images/help/repository/delete-all-logs-updated.png) diff --git a/content/actions/managing-workflow-runs/viewing-job-execution-time.md b/content/actions/managing-workflow-runs/viewing-job-execution-time.md index e1b7bd9ac0..87c41449d4 100644 --- a/content/actions/managing-workflow-runs/viewing-job-execution-time.md +++ b/content/actions/managing-workflow-runs/viewing-job-execution-time.md @@ -8,6 +8,7 @@ versions: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} Billable job execution minutes are only shown for jobs run on private repositories that use {% data variables.product.prodname_dotcom %}-hosted runners. There are no billable minutes when using {% data variables.product.prodname_actions %} in public repositories or for jobs run on self-hosted runners. diff --git a/content/actions/managing-workflow-runs/viewing-workflow-run-history.md b/content/actions/managing-workflow-runs/viewing-workflow-run-history.md index 47ca04068e..284bd3fcd9 100644 --- a/content/actions/managing-workflow-runs/viewing-workflow-run-history.md +++ b/content/actions/managing-workflow-runs/viewing-workflow-run-history.md @@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} {% data reusables.repositories.permissions-statement-read %} diff --git a/content/actions/quickstart.md b/content/actions/quickstart.md index 3463cb3406..fa57cf9deb 100644 --- a/content/actions/quickstart.md +++ b/content/actions/quickstart.md @@ -7,6 +7,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' type: 'quick_start' topics: - 'Fundamentals' @@ -14,6 +15,7 @@ topics: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Introduction @@ -63,7 +65,7 @@ Committing the workflow file in your repository triggers the `push` event and ru {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow-superlinter %} {% data reusables.repositories.view-run-superlinter %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} 1. Under **Jobs** or in the visualization graph, click the **Lint code base** job. ![Lint code base job](/assets/images/help/repository/superlinter-lint-code-base-job-updated.png) {% else %} diff --git a/content/actions/reference/authentication-in-a-workflow.md b/content/actions/reference/authentication-in-a-workflow.md index 5db39077b9..a4a0b047a4 100644 --- a/content/actions/reference/authentication-in-a-workflow.md +++ b/content/actions/reference/authentication-in-a-workflow.md @@ -9,10 +9,12 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About the `GITHUB_TOKEN` secret diff --git a/content/actions/reference/context-and-expression-syntax-for-github-actions.md b/content/actions/reference/context-and-expression-syntax-for-github-actions.md index 3fa953b677..8bdfedc6e8 100644 --- a/content/actions/reference/context-and-expression-syntax-for-github-actions.md +++ b/content/actions/reference/context-and-expression-syntax-for-github-actions.md @@ -11,10 +11,12 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About contexts and expressions @@ -156,7 +158,8 @@ The `runner` context contains information about the runner that is executing the |---------------|------|-------------| | `runner.os` | `string` | The operating system of the runner executing the job. Possible values are `Linux`, `Windows`, or `macOS`. | | `runner.temp` | `string` | The path of the temporary directory for the runner. This directory is guaranteed to be empty at the start of each job, even on self-hosted runners. | -| `runner.tool_cache` | `string` | The path of the directory containing some of the preinstalled tools for {% data variables.product.prodname_dotcom %}-hosted runners. For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". | +| `runner.tool_cache` | `string` | {% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% else %}The path of the directory containing some of the preinstalled tools for {% data variables.product.prodname_dotcom %}-hosted runners. For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". {% endif %}| #### `needs` context diff --git a/content/actions/reference/encrypted-secrets.md b/content/actions/reference/encrypted-secrets.md index f7f502c99d..6621cc6c53 100644 --- a/content/actions/reference/encrypted-secrets.md +++ b/content/actions/reference/encrypted-secrets.md @@ -9,19 +9,21 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.environments-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About encrypted secrets -Secrets are encrypted environment variables that you create in an organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}, repository, or repository environment{% else %} or repository{% endif %}. The secrets that you create are available to use in {% data variables.product.prodname_actions %} workflows. {% data variables.product.prodname_dotcom %} uses a [libsodium sealed box](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes) to help ensure that secrets are encrypted before they reach {% data variables.product.prodname_dotcom %} and remain encrypted until you use them in a workflow. +Secrets are encrypted environment variables that you create in an organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, repository, or repository environment{% else %} or repository{% endif %}. The secrets that you create are available to use in {% data variables.product.prodname_actions %} workflows. {% data variables.product.prodname_dotcom %} uses a [libsodium sealed box](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes) to help ensure that secrets are encrypted before they reach {% data variables.product.prodname_dotcom %} and remain encrypted until you use them in a workflow. {% data reusables.github-actions.secrets-org-level-overview %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} For secrets stored at the environment level, you can enable required reviewers to control access to the secrets. A workflow job cannot access environment secrets until approval is granted by required approvers. {% endif %} @@ -33,9 +35,9 @@ The following rules apply to secret names: * Secret names must not start with the `GITHUB_` prefix. * Secret names must not start with a number. * Secret names are not case-sensitive. -* Secret names must be unique at the level they are created at. For example, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}a secret created at the environment level must have a unique name in that environment, {% endif %}a secret created at the repository level must have a unique name in that repository, and a secret created at the organization level must have a unique name at that level. +* Secret names must be unique at the level they are created at. For example, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}a secret created at the environment level must have a unique name in that environment, {% endif %}a secret created at the repository level must have a unique name in that repository, and a secret created at the organization level must have a unique name at that level. - If a secret with the same name exists at multiple levels, the secret at the lower level takes precedence. For example, if an organization-level secret has the same name as a repository-level secret, then the repository-level secret takes precedence.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} Similarly, if an organization, repository, and environment all have a secret with the same name, the environment-level secret takes precedence.{% endif %} + If a secret with the same name exists at multiple levels, the secret at the lower level takes precedence. For example, if an organization-level secret has the same name as a repository-level secret, then the repository-level secret takes precedence.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} Similarly, if an organization, repository, and environment all have a secret with the same name, the environment-level secret takes precedence.{% endif %} To help ensure that {% data variables.product.prodname_dotcom %} redacts your secret in logs, avoid using structured data as the values of secrets. For example, avoid creating secrets that contain JSON or encoded Git blobs. @@ -51,7 +53,7 @@ You can use and read encrypted secrets in a workflow file if you have access to {% endwarning %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} Organization and repository secrets are read when a workflow run is queued, and environment secrets are read when a job referencing the environment starts. {% endif %} @@ -73,9 +75,9 @@ When generating credentials, we recommend that you grant the minimum permissions 1. Enter the value for your secret. 1. Click **Add secret**. -If your repository {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}has environment secrets or {% endif %}can access secrets from the parent organization, then those secrets are also listed on this page. +If your repository {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0"or currentVersion == "github-ae@latest" %}has environment secrets or {% endif %}can access secrets from the parent organization, then those secrets are also listed on this page. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" } ### Creating encrypted secrets for an environment {% data reusables.github-actions.permissions-statement-secrets-environment %} @@ -178,7 +180,7 @@ steps: ### Limits for secrets -You can store up to 1,000 secrets per organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}, 100 secrets per repository, and 100 secrets per environment{% else %} and 100 secrets per repository{% endif %}. A workflow may use up to 100 organization secrets and 100 repository secrets.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} Additionally, a job referencing an environment may use up to 100 environment secrets.{% endif %} +You can store up to 1,000 secrets per organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, 100 secrets per repository, and 100 secrets per environment{% else %} and 100 secrets per repository{% endif %}. A workflow may use up to 100 organization secrets and 100 repository secrets.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} Additionally, a job referencing an environment may use up to 100 environment secrets.{% endif %} Secrets are limited to 64 KB in size. To use secrets that are larger than 64 KB, you can store encrypted secrets in your repository and save the decryption passphrase as a secret on {% data variables.product.prodname_dotcom %}. For example, you can use `gpg` to encrypt your credentials locally before checking the file in to your repository on {% data variables.product.prodname_dotcom %}. For more information, see the "[gpg manpage](https://www.gnupg.org/gph/de/manual/r1023.html)." diff --git a/content/actions/reference/environment-variables.md b/content/actions/reference/environment-variables.md index 2677930a56..78b6e0a93b 100644 --- a/content/actions/reference/environment-variables.md +++ b/content/actions/reference/environment-variables.md @@ -9,10 +9,12 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About environment variables @@ -40,7 +42,7 @@ To use the value of an environment variable in a workflow file, you should use t If you use the workflow file's `run` key to read environment variables from within the runner operating system (as shown in the example above), the variable is substituted in the runner operating system after the job is sent to the runner. For other parts of a workflow file, you must use the `env` context to read environment variables; this is because workflow keys (such as `if`) require the variable to be substituted during workflow processing before it is sent to the runner. -You can also use the {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}`GITHUB_ENV` environment file{% else %} `set-env` workflow command{% endif %} to set an environment variable that the following steps in a workflow can use. The {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}environment file{% else %} `set-env` command{% endif %} can be used directly by an action or as a shell command in a workflow file using the `run` keyword. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions/#setting-an-environment-variable)." +You can also use the {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}`GITHUB_ENV` environment file{% else %} `set-env` workflow command{% endif %} to set an environment variable that the following steps in a workflow can use. The {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}environment file{% else %} `set-env` command{% endif %} can be used directly by an action or as a shell command in a workflow file using the `run` keyword. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions/#setting-an-environment-variable)." ### Default environment variables diff --git a/content/actions/reference/environments.md b/content/actions/reference/environments.md index cfbdbfc1cd..24221ac7b9 100644 --- a/content/actions/reference/environments.md +++ b/content/actions/reference/environments.md @@ -5,9 +5,11 @@ product: '{% data reusables.gated-features.environments %}' versions: free-pro-team: '*' enterprise-server: '>=3.1' + github-ae: '*' --- {% data reusables.actions.environments-beta %} +{% data reusables.actions.ae-beta %} ### About environments diff --git a/content/actions/reference/events-that-trigger-workflows.md b/content/actions/reference/events-that-trigger-workflows.md index 7bb9d38713..a60b55ece5 100644 --- a/content/actions/reference/events-that-trigger-workflows.md +++ b/content/actions/reference/events-that-trigger-workflows.md @@ -10,10 +10,12 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Configuring workflow events @@ -586,7 +588,7 @@ on: {% data reusables.developer-site.pull_request_forked_repos_link %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} #### `pull_request_target` @@ -714,7 +716,7 @@ on: types: [started] ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} #### `workflow_run` diff --git a/content/actions/reference/index.md b/content/actions/reference/index.md index c94ae2f4eb..11a946236e 100644 --- a/content/actions/reference/index.md +++ b/content/actions/reference/index.md @@ -6,10 +6,12 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### Workflow syntax @@ -27,12 +29,12 @@ You can configure workflows to run when specific GitHub events occur, at a sched ### Authentication and secrets -{% data variables.product.prodname_dotcom %} provides a token that you can use to authenticate on behalf of {% data variables.product.prodname_actions %}. You can also store sensitive information as a secret in your organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}, repository, or environments{% else %} or repository{% endif %}. {% data variables.product.prodname_dotcom %} encrypts all secrets. +{% data variables.product.prodname_dotcom %} provides a token that you can use to authenticate on behalf of {% data variables.product.prodname_actions %}. You can also store sensitive information as a secret in your organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, repository, or environments{% else %} or repository{% endif %}. {% data variables.product.prodname_dotcom %} encrypts all secrets. {% link_in_list /authentication-in-a-workflow %} {% link_in_list /encrypted-secrets %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ### Environments Workflow jobs can reference environments that have protection rules or environment-specific secrets. @@ -40,12 +42,11 @@ Workflow jobs can reference environments that have protection rules or environme {% link_in_list /environments %} {% endif %} -### {% data variables.product.prodname_dotcom %}-hosted runners +### Environment variables -GitHub offers hosted virtual machines to run workflows. The virtual machine contains an environment with tools, packages, and environment variables for GitHub Actions to use. +{% data variables.product.prodname_dotcom %} sets default environment variables for each {% data variables.product.prodname_actions %} workflow run. You can also set custom environment variables in your workflow file. {% link_in_list /environment-variables %} -{% link_in_list /specifications-for-github-hosted-runners %} {% if currentVersion == "free-pro-team@latest" %} ### Administration diff --git a/content/actions/reference/usage-limits-billing-and-administration.md b/content/actions/reference/usage-limits-billing-and-administration.md index 9029966809..c59edbf101 100644 --- a/content/actions/reference/usage-limits-billing-and-administration.md +++ b/content/actions/reference/usage-limits-billing-and-administration.md @@ -7,17 +7,19 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About billing for {% data variables.product.prodname_actions %} {% if currentVersion == "free-pro-team@latest" %} {% data reusables.github-actions.actions-billing %} For more information, see "[About billing for {% data variables.product.prodname_actions %}](/github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions)." {% else %} -GitHub Actions usage is free for {% data variables.product.prodname_ghe_server %} that use self-hosted runners. +GitHub Actions usage is free for {% data variables.product.prodname_ghe_server %}s that use self-hosted runners. {% endif %} ### Usage limits @@ -53,7 +55,7 @@ Usage limits apply to self-hosted runners. For more information, see "[About sel In addition to the usage limits, you must ensure that you use {% data variables.product.prodname_actions %} within the [GitHub Terms of Service](/articles/github-terms-of-service/). For more information on {% data variables.product.prodname_actions %}-specific terms, see the [GitHub Additional Product Terms](/github/site-policy/github-additional-product-terms#a-actions-usage). {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} ### Artifact and log retention policy You can configure the artifact and log retention period for your repository, organization, or enterprise account. @@ -76,7 +78,7 @@ For more information, see: - "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization)"{% if currentVersion == "free-pro-team@latest" %} - "[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account)" for {% data variables.product.prodname_ghe_cloud %}{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} ### Disabling and enabling workflows You can enable and disable individual workflows in your repository on {% data variables.product.prodname_dotcom %}. diff --git a/content/actions/reference/workflow-commands-for-github-actions.md b/content/actions/reference/workflow-commands-for-github-actions.md index 9ed021e035..3c2e13b996 100644 --- a/content/actions/reference/workflow-commands-for-github-actions.md +++ b/content/actions/reference/workflow-commands-for-github-actions.md @@ -12,16 +12,18 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About workflow commands Actions can communicate with the runner machine to set environment variables, output values used by other actions, add debug messages to the output logs, and other tasks. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} Most workflow commands use the `echo` command in a specific format, while others are invoked by writing to a file. For more information, see ["Environment files".](#environment-files) {% else %} Workflow commands use the `echo` command in a specific format. @@ -67,11 +69,11 @@ The following table shows which toolkit functions are available within a workflo | Toolkit function | Equivalent workflow command | | ----------------- | ------------- | -| `core.addPath` | {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}Accessible using environment file `GITHUB_PATH`{% else %} `add-path` {% endif %} | +| `core.addPath` | {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}Accessible using environment file `GITHUB_PATH`{% else %} `add-path` {% endif %} | | `core.debug` | `debug` | | `core.error` | `error` | | `core.endGroup` | `endgroup` | -| `core.exportVariable` | {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}Accessible using environment file `GITHUB_ENV`{% else %} `set-env` {% endif %} | +| `core.exportVariable` | {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}Accessible using environment file `GITHUB_ENV`{% else %} `set-env` {% endif %} | | `core.getInput` | Accessible using environment variable `INPUT_{NAME}` | | `core.getState` | Accessible using environment variable `STATE_{NAME}` | | `core.isDebug` | Accessible using environment variable `RUNNER_DEBUG` | @@ -244,7 +246,7 @@ The `STATE_processID` variable is then exclusively available to the cleanup scri console.log("The running PID from the main action is: " + process.env.STATE_processID); ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} ## Environment Files During the execution of a workflow, the runner generates temporary files that can be used to perform certain actions. The path to these files are exposed via environment variables. You will need to use UTF-8 encoding when writing to these files to ensure proper processing of the commands. Multiple commands can be written to the same file, separated by newlines. diff --git a/content/actions/reference/workflow-syntax-for-github-actions.md b/content/actions/reference/workflow-syntax-for-github-actions.md index 8ccdc04e3f..52bc46be2d 100644 --- a/content/actions/reference/workflow-syntax-for-github-actions.md +++ b/content/actions/reference/workflow-syntax-for-github-actions.md @@ -10,10 +10,12 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} ### About YAML syntax for workflows @@ -288,6 +290,20 @@ In this example, `job3` uses the `always()` conditional expression so that it al **Required**. The type of machine to run the job on. The machine can be either a {% data variables.product.prodname_dotcom %}-hosted runner or a self-hosted runner. +{% if currentVersion == "github-ae@latest" %} +#### {% data variables.actions.hosted_runner %}s + +If you use an {% data variables.actions.hosted_runner %}, each job runs in a fresh instance of a virtual environment specified by `runs-on`. + +##### Example + +```yaml +runs-on: [AE-runner-for-CI] +``` + +For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)." + +{% else %} {% data reusables.actions.enterprise-github-hosted-runners %} #### {% data variables.product.prodname_dotcom %}-hosted runners @@ -308,9 +324,12 @@ runs-on: ubuntu-latest ``` For more information, see "[Virtual environments for {% data variables.product.prodname_dotcom %}-hosted runners](/github/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners)." +{% endif %} #### Self-hosted runners +{% data reusables.actions.ae-self-hosted-runners-notice %} + {% data reusables.github-actions.self-hosted-runner-labels-runs-on %} ##### Example @@ -321,7 +340,7 @@ runs-on: [self-hosted, linux] For more information, see "[About self-hosted runners](/github/automating-your-workflow-with-github-actions/about-self-hosted-runners)" and "[Using self-hosted runners in a workflow](/github/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ### `jobs..environment` The environment that the job references. All environment protection rules must pass before a job referencing the environment is sent to a runner. For more information, see "[Environments](/actions/reference/environments)." @@ -726,7 +745,13 @@ steps: shell: perl {0} ``` -The command used, `perl` in this example, must be installed on the runner. For information about the software included on GitHub-hosted runners, see "[Specifications for GitHub-hosted runners](/actions/reference/specifications-for-github-hosted-runners#supported-software)." +The command used, `perl` in this example, must be installed on the runner. + + +{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% else %} +For information about the software included on GitHub-hosted runners, see "[Specifications for GitHub-hosted runners](/actions/reference/specifications-for-github-hosted-runners#supported-software)." +{% endif %} #### Exit codes and error action preference @@ -897,7 +922,9 @@ steps: ``` {% endraw %} -To find supported configuration options for {% data variables.product.prodname_dotcom %}-hosted runners, see "[Virtual environments for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners)." +{% if currentVersion == "github-ae@latest" %}To find supported configuration options for {% data variables.actions.hosted_runner %}s, see "[Software specifications](/actions/using-github-hosted-runners/about-ae-hosted-runners#software-specifications)." +{% else %}To find supported configuration options for {% data variables.product.prodname_dotcom %}-hosted runners, see "[Virtual environments for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners)." +{% endif %} #### Example including additional values into combinations @@ -1039,7 +1066,7 @@ jobs: The Docker image to use as the container to run the action. The value can be the Docker Hub image name or a {% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %}public{% endif %} registry name. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} ### `jobs..container.credentials` @@ -1123,7 +1150,7 @@ services: The Docker image to use as the service container to run the action. The value can be the Docker Hub image name or a {% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %}public{% endif %} registry name. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} ### `jobs..services..credentials` diff --git a/content/actions/using-github-hosted-runners/about-ae-hosted-runners.md b/content/actions/using-github-hosted-runners/about-ae-hosted-runners.md new file mode 100644 index 0000000000..671310fe96 --- /dev/null +++ b/content/actions/using-github-hosted-runners/about-ae-hosted-runners.md @@ -0,0 +1,100 @@ +--- +title: About AE hosted runners +intro: '{% data variables.product.prodname_ghe_managed %} offers customizable and security hardened hosted virtual machines to run {% data variables.product.prodname_actions %} workflows. You can select the hardware, bring your own machine image, and enable an IP address for networking with your {% data variables.actions.hosted_runner %}.' +product: '{% data reusables.gated-features.actions %}' +versions: + github-ae: '*' +--- + + + + +{% data reusables.actions.ae-beta %} + +### About {% data variables.actions.hosted_runner %}s + +An {% data variables.actions.hosted_runner %} is a virtual machine hosted by {% data variables.product.prodname_dotcom %} with the {% data variables.product.prodname_actions %} runner service installed. + +{% data variables.product.prodname_ghe_managed %} lets you create and customize {% data variables.actions.hosted_runner %}s using Ubuntu or Windows images; you can select the size of machine you want and configure security hardened networking for them. {% data variables.actions.hosted_runner %}s are fully managed and auto-scaled by {% data variables.product.prodname_dotcom %}. + +Each workflow job is executed in a fresh instance of the {% data variables.actions.hosted_runner %}, and you can run workflows directly on the virtual machine or in a Docker container. All steps in the job execute in the same instance, allowing the actions in that job to share information using the {% data variables.actions.hosted_runner %}'s filesystem. + +{% note %} +{% data variables.actions.hosted_runner %}s are the only runners available for {% data variables.product.prodname_ghe_managed %}, and self-hosted runners are not available. +{% endnote %} + +To add {% data variables.actions.hosted_runner %}s to your organization or enterprise, see ["Adding {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/adding-ae-hosted-runners)." + + +### Billing + +{% data variables.product.prodname_actions %} is currently in beta for {% data variables.product.prodname_ghe_managed %}. During this beta period, {% data variables.actions.hosted_runner %}s are not billed, and can be used for free. + +Once the beta ends, billed usage will include the full uptime of active instances in your AE hosted runner sets. This includes: +- Job time - minutes spent running Actions job. +- Management - minutes spent re-imaging machines and any idle time created as a result of desired auto-scale behavior. + +Pricing will scale linearly with cores. For example, 4 cores will be twice the price of 2 cores. Windows VMs will be priced higher than Linux VMs. + +### Hardware specifications + +{% data variables.actions.hosted_runner %}s are available on a range of virtual machines hosted in Microsoft Azure. Depending on regional availability, you can choose from `Standard_Das_v4`, `Standard_DS_v2`, `Standard_Fs_v2 series`. Certain regions also include GPU runners based on `Standard_NCs_v3`. + +For more information about these Azure machine resources, see "[Sizes for virtual machines in Azure](https://docs.microsoft.com/en-gb/azure/virtual-machines/sizes)" in the Microsoft Azure documentation. + +To determine which runner executed a job, you can review the workflow logs. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)." + +### Software specifications + +You can use {% data variables.actions.hosted_runner %}s with standard operating system images, or you can add images that you've created. + +#### Default operating system images + +These images only include the standard operating system tools: + +- Ubuntu 18.04 LTS (Canonical) +- Ubuntu 16.04 LTS (Canonical) +- Windows Server 2019 (Microsoft) +- Windows Server 2016 (Microsoft) + +#### Custom operating system images + +You can create your own OS images in Azure and have them added to {% data variables.product.prodname_ghe_managed %} as {% data variables.actions.hosted_runner %}s. For more information, see "[Adding an {% data variables.actions.hosted_runner %} with a custom image"](/actions/using-github-hosted-runners/adding-ae-hosted-runners#adding-an-ae-hosted-runner-with-a-custom-image). + +### Network specifications + +You can optionally enable a fixed static public IP address for your {% data variables.actions.hosted_runner %}s. If enabled, all {% data variables.actions.hosted_runner %}s in your instance will share a range of 2 to 4 IP addresses, and will communicate using ports on those addresses. + +If you don't enable static public IP addresses, then your {% data variables.actions.hosted_runner %}s will subsequently have the same IP address ranges as the Azure datacenters. Inbound ICMP packets are blocked, so `ping` or `traceroute` commands are not expected to work. + +To get a list of IP address ranges that {% data variables.product.prodname_actions %} uses for {% data variables.actions.hosted_runner %}s, you can use the {% data variables.product.prodname_dotcom %} REST API . For more information, see the `actions` key in the response of the "[Get GitHub meta information](/rest/reference/meta#get-github-meta-information)" endpoint. You can use this list of IP addresses if you require an allow-list to prevent unauthorized access to your internal resources. + +The list of {% data variables.product.prodname_actions %} IP addresses returned by the API is updated once a week. + +### Administrative privileges for {% data variables.actions.hosted_runner %}s + +The Linux virtual machines run using passwordless `sudo`. When you need to execute commands or install tools that require more privileges than the current user, you can use `sudo` without needing to provide a password. For more information, see the "[Sudo Manual](https://www.sudo.ws/man/1.8.27/sudo.man.html)." + +Windows virtual machines are configured to run as administrators with User Account Control (UAC) disabled. For more information, see "[How User Account Control works](https://docs.microsoft.com/windows/security/identity-protection/user-account-control/how-user-account-control-works)" in the Windows documentation. + +### File systems + +{% data variables.product.prodname_dotcom %} executes actions and shell commands in specific directories on the virtual machine. The file paths on virtual machines are not static. Use the environment variables {% data variables.product.prodname_dotcom %} provides to construct file paths for the `home`, `workspace`, and `workflow` directories. + +| Directory | Environment variable | Description | +|-----------|----------------------|-------------| +| `home` | `HOME` | Contains user-related data. For example, this directory could contain credentials from a login attempt. | +| `workspace` | `GITHUB_WORKSPACE` | Actions and shell commands execute in this directory. An action can modify the contents of this directory, which subsequent actions can access. | +| `workflow/event.json` | `GITHUB_EVENT_PATH` | The `POST` payload of the webhook event that triggered the workflow. {% data variables.product.prodname_dotcom %} rewrites this each time an action executes to isolate file content between actions. + +For a list of the environment variables {% data variables.product.prodname_dotcom %} creates for each workflow, see "[Using environment variables](/github/automating-your-workflow-with-github-actions/using-environment-variables)." + +#### Docker container filesystem + +Actions that run in Docker containers have static directories under the `/github` path. However, we strongly recommend using the default environment variables to construct file paths in Docker containers. + +{% data variables.product.prodname_dotcom %} reserves the `/github` path prefix and creates three directories for actions. + +- `/github/home` +- `/github/workspace` - {% data reusables.repositories.action-root-user-required %} +- `/github/workflow` diff --git a/content/actions/reference/specifications-for-github-hosted-runners.md b/content/actions/using-github-hosted-runners/about-github-hosted-runners.md similarity index 96% rename from content/actions/reference/specifications-for-github-hosted-runners.md rename to content/actions/using-github-hosted-runners/about-github-hosted-runners.md index 77dcfae8a3..3fc30bf22a 100644 --- a/content/actions/reference/specifications-for-github-hosted-runners.md +++ b/content/actions/using-github-hosted-runners/about-github-hosted-runners.md @@ -1,5 +1,5 @@ --- -title: Specifications for GitHub-hosted runners +title: About GitHub-hosted runners intro: '{% data variables.product.prodname_dotcom %} offers hosted virtual machines to run workflows. The virtual machine contains an environment of tools, packages, and settings available for {% data variables.product.prodname_actions %} to use.' product: '{% data reusables.gated-features.actions %}' redirect_from: @@ -9,6 +9,7 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners - /actions/reference/virtual-environments-for-github-hosted-runners - /actions/reference/software-installed-on-github-hosted-runners + - /actions/reference/specifications-for-github-hosted-runners versions: free-pro-team: '*' enterprise-server: '>=2.22' @@ -76,9 +77,7 @@ The software tools included in {% data variables.product.prodname_dotcom %}-host {% data variables.product.prodname_dotcom %}-hosted runners include the operating system's default built-in tools, in addition to the packages listed in the above references. For example, Ubuntu and macOS runners include `grep`, `find`, and `which`, among other default tools. -Workflow logs include a link to the preinstalled tools on the exact runner. To find this information in the workflow log, expand the `Set up job` section. Under that section, expand the `Virtual Environment` section. The link following `Included Software` will tell you the the preinstalled tools on the runner that ran the workflow. -![Installed software link](/assets/images/actions-runner-installed-software-link.png) -For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)." +Workflow logs include a link to the preinstalled tools on the exact runner. To find this information in the workflow log, expand the `Set up job` section. Under that section, expand the `Virtual Environment` section. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)." We recommend using actions to interact with the software installed on runners. This approach has several benefits: - Usually, actions provide more flexible functionality like versions selection, ability to pass arguments, and parameters diff --git a/content/actions/using-github-hosted-runners/adding-ae-hosted-runners.md b/content/actions/using-github-hosted-runners/adding-ae-hosted-runners.md new file mode 100644 index 0000000000..bd36ee97cc --- /dev/null +++ b/content/actions/using-github-hosted-runners/adding-ae-hosted-runners.md @@ -0,0 +1,45 @@ +--- +title: Adding AE hosted runners +intro: 'You can add an {% data variables.actions.hosted_runner %} to an organization or an enterprise.' +versions: + github-ae: '*' +--- + +{% data reusables.actions.ae-beta %} + +{% note %} + +**Note:** To add {% data variables.actions.hosted_runner %}s to {% data variables.product.prodname_ghe_managed %}, you will need to contact {% data variables.product.prodname_dotcom %} support. This article describes the information that support will need in order to complete this process. + +{% endnote %} + +{% data variables.actions.hosted_runner %}s can use the base Azure operating system images, or you can create your own custom images. + +### Adding an {% data variables.actions.hosted_runner %} from the base Azure image + +You can add {% data variables.actions.hosted_runner %}s that use the base Azure operating system images. +To add {% data variables.actions.hosted_runner %}s to your organization or enterprise, contact {% data variables.product.prodname_dotcom %} support and have the following information ready: + - Required operating system: Available options are listed at ["Software specifications](/actions/using-github-hosted-runners/about-ae-hosted-runners#software-specifications)." + - Choose a name for each pool of {% data variables.actions.hosted_runner %}s. These names are created as labels, allowing you to route your workflows to these runners. For more information, see ["Using {% data variables.actions.hosted_runner %}s in a workflow](/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow)." + - Where to add the {% data variables.actions.hosted_runner %}: Identify the names of the organizations and enterprises that will receive the runners. + +### Adding an {% data variables.actions.hosted_runner %} with a custom image + +To create a custom operating system image, see the steps at ["Creating custom images"](/actions/using-github-hosted-runners/creating-custom-images). + +Once you've created a custom image using the above steps, contact {% data variables.product.prodname_dotcom %} support and provide the following details: + + - The SAS URI you generated when following the custom image creation steps. + - Type of operating system used by the image: This can be Linux or Windows. + - Image name. + - Version. + - VM SKU for the new pool. + - Choose a name for each pool of {% data variables.actions.hosted_runner %}s. These names are created as labels, allowing you to route your workflows to these runners. For more information, see ["Using {% data variables.actions.hosted_runner %}s in a workflow](/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow)." + - Where to add the {% data variables.actions.hosted_runner %}: Identify the names of the organizations and enterprises that will receive the runners. + +### Reviewing your {% data variables.actions.hosted_runner %}s + +Once your runners have been added by {% data variables.product.prodname_dotcom %} support, you'll be able to find them in your list of runners: + +{% data reusables.github-actions.hosted-runner-navigate-to-repo-org-enterprise %} +{% data reusables.github-actions.hosted-runner-list %} diff --git a/content/actions/using-github-hosted-runners/creating-custom-images.md b/content/actions/using-github-hosted-runners/creating-custom-images.md new file mode 100644 index 0000000000..b1ea396386 --- /dev/null +++ b/content/actions/using-github-hosted-runners/creating-custom-images.md @@ -0,0 +1,52 @@ +--- +title: Creating custom images +intro: 'You can create custom images for {% data variables.actions.hosted_runner %}s.' +versions: + github-ae: '*' +--- + +{% data reusables.actions.ae-beta %} + +### Creating an {% data variables.actions.hosted_runner %} with a custom image + +{% data variables.actions.hosted_runner %}s can use operating system images that you've customized to suit your needs. This article includes the high level steps for creating the image in Azure and preparing it for {% data variables.product.prodname_ghe_managed %}. For more information, refer to [the Azure documentation](https://docs.microsoft.com/en-us/azure/virtual-machines/). + +During this beta, to be able to create a custom image for {% data variables.actions.hosted_runner %}s, you will need an Azure subscription that is able to provision a virtual machine. + + +1. Provision a new VM in your tenant using a marketplace image or a virtual hard drive(VHD). +2. Optionally, install your required software on the VM. +3. Deprovision the VM: + - For Linux: `ssh` to the VM and run: + ```sh + $ sudo waagent -deprovision+user + ``` + - For Windows: Follow the steps described at ["Generalize the source VM by using Sysprep](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/upload-generalized-managed#generalize-the-source-vm-by-using-sysprep)." + +4. Use the Azure CLI to deallocate and generalize the VM: + ```powershell + $resourceGroupName = "octocat-testgroup" + $vmName = "octo-vm" + + Stop-AzVM -ResourceGroupName $resourceGroupName -Name $vmName + Set-AzVM -ResourceGroupName $resourceGroupName -Name $vmName -Generalized + ``` + - Replace `octo-vm` with the name of your virtual machine. + - For more information regarding these steps, see "[How to create a managed image of a virtual machine or VHD](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/capture-image#step-1-deprovision-the-vm)." +5. Generate a SAS URI for the VM's operating system disk. + - Using the Azure Portal: On the disk resource, navigate to **Disk Export**, set `URL expires in (seconds)` to `86400` (24 hours), and generate the URL. + - Using the Azure CLI: + ```powershell + $resourceGroupName = "octocat-testgroup" + $vmName = "octo-vm" + + $vm = Get-AzVM -ResourceGroupName $resourceGroupName -Name $vmName + Grant-AzDiskAccess ` + -ResourceGroupName $resourceGroupName ` + -DiskName $vm.StorageProfile.OsDisk.Name ` + -Access Read ` + -DurationInSecond 86400 + ``` + - Replace `octo-vm` with the name of your virtual machine. + +Once you've created the image, you can have it added to {% data variables.product.prodname_ghe_managed %}. For more information, see ["Adding an {% data variables.actions.hosted_runner %} with a custom image"](/actions/using-github-hosted-runners/adding-ae-hosted-runners#adding-an-ae-hosted-runner-with-a-custom-image). diff --git a/content/actions/using-github-hosted-runners/index.md b/content/actions/using-github-hosted-runners/index.md new file mode 100644 index 0000000000..681269a253 --- /dev/null +++ b/content/actions/using-github-hosted-runners/index.md @@ -0,0 +1,19 @@ +--- +title: Using GitHub-hosted runners +intro: You can use GitHub's runners to execute your GitHub Actions workflows. +versions: + free-pro-team: '*' + enterprise-server: '>=2.22' + github-ae: '*' +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +{% link_in_list /about-github-hosted-runners %} +{% link_in_list /about-ae-hosted-runners %} +{% link_in_list /adding-ae-hosted-runners %} +{% link_in_list /using-ae-hosted-runners-in-a-workflow %} +{% link_in_list /using-labels-with-ae-hosted-runners %} +{% link_in_list /using-groups-to-manage-access-to-ae-hosted-runners %} +{% link_in_list /creating-custom-images %} diff --git a/content/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow.md b/content/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow.md new file mode 100644 index 0000000000..8dbbb95ebe --- /dev/null +++ b/content/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow.md @@ -0,0 +1,38 @@ +--- +title: Using AE hosted runners in a workflow +intro: 'You can use labels to send jobs to a pool of {% data variables.actions.hosted_runner %}s.' +versions: + github-ae: '*' +--- + +{% data reusables.actions.ae-beta %} + +### Using {% data variables.actions.hosted_runner %}s in a workflow + +Labels allow you to send workflow jobs to any {% data variables.actions.hosted_runner %} that includes that label. You can use the default labels, and you can create your own custom labels. + +### Using default labels to route jobs + +An {% data variables.actions.hosted_runner %} receives a label when it is added to {% data variables.product.prodname_actions %}. The label is used to indicate where it was assigned. + +You can use your workflow's YAML to send jobs to a specific {% data variables.actions.hosted_runner %} pool. This example demonstrates how to configure a workflow to run on a label called `AE-runner-for-CI`: + +```yaml +runs-on: [AE-runner-for-CI] +``` + +For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idruns-on)." + +### Using custom labels to route jobs + +You can create custom labels and assign them to your {% data variables.actions.hosted_runner %}s at any time. Custom labels let you send jobs to particular types of runners, based on how they're labeled. + +For example, if you have a job that requires a specific software package, you can create a custom label called `octocat` and assign it to the runners that have the package installed. An {% data variables.actions.hosted_runner %} that matches all the assigned labels will then be eligible to run the job. + +This example shows a job that uses multiple labels: + +```yaml +runs-on: [AE-runner-for-CI, octocat, linux] +``` + +These labels operate cumulatively, so an {% data variables.actions.hosted_runner %}'s labels must match all of them for it to be eligible to process the job. diff --git a/content/actions/using-github-hosted-runners/using-groups-to-manage-access-to-ae-hosted-runners.md b/content/actions/using-github-hosted-runners/using-groups-to-manage-access-to-ae-hosted-runners.md new file mode 100644 index 0000000000..0ba75bac96 --- /dev/null +++ b/content/actions/using-github-hosted-runners/using-groups-to-manage-access-to-ae-hosted-runners.md @@ -0,0 +1,91 @@ +--- +title: Using groups to manage access to AE hosted runners +intro: You can use policies to limit access to {% data variables.actions.hosted_runner %}s that have been added to an organization or enterprise. +versions: + github-ae: '*' +--- + +{% data reusables.actions.ae-beta %} + +### About {% data variables.actions.hosted_runner %} groups + +{% data variables.actions.hosted_runner %} groups are used to control access to {% data variables.actions.hosted_runner %}s at the organization and enterprise level. Enterprise admins can configure access policies that control which organizations in an enterprise have access to the runner group. Organization admins can configure access policies that control which repositories in an organization have access to the runner group. + +When an enterprise admin grants an organization access to a runner group, organization admins can see the runner group listed in the organization's {% data variables.actions.hosted_runner %} settings. The organizations admins can then assign additional granular repository access policies to the enterprise runner group. + +When new runners are created, they are automatically assigned to the default group. Runners can only be in one group at a time. You can move runners from the default group to another group. For more information, see "[Moving an {% data variables.actions.hosted_runner %} to a group](#moving-an-ae-hosted-runner-to-a-group)." + +### Creating an {% data variables.actions.hosted_runner %} group for an organization + +All organizations have a single default {% data variables.actions.hosted_runner %} group. Organizations within an enterprise account can create additional runner groups. Organization admins can allow individual repositories access to a runner group. + +{% data variables.actions.hosted_runner %}s are automatically assigned to the default group when created, and can only be members of one group at a time. You can move a runner from the default group to any group you create. + +When creating a group, you must choose a policy that defines which repositories have access to the runner group. + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions %} +1. In the **Self-hosted runners** section, click **Add new**, and then **New group**. + + ![Add runner group](/assets/images/help/settings/actions-hosted-runner-add-new-group.png) + +1. Enter a name for your runner group, and assign a policy for repository access. + + You can configure a runner group to be accessible to a specific list of repositories, or to all repositories in the organization. By default, only private repositories can access runners in a runner group, but you can override this. + ![Add runner group options](/assets/images/help/settings/actions-org-add-runner-group-options.png) + +1. Click **Save group** to create the group and apply the policy. + +### Creating an {% data variables.actions.hosted_runner %} group for an enterprise + +Enterprises can add their {% data variables.actions.hosted_runner %}s to groups for access management. Enterprises can create groups of {% data variables.actions.hosted_runner %}s that are accessible to specific organizations in the enterprise account. Organization admins can then assign additional granular repository access policies to the enterprise runner groups. + +{% data variables.actions.hosted_runner %}s are automatically assigned to the default group when created, and can only be members of one group at a time. You can assign the runner to a specific group during the registration process, or you can later move the runner from the default group to a custom group. + +When creating a group, you must choose a policy that defines which organizations have access to the runner group. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +1. Click the **Self-hosted runners** tab. +1. Click **Add new**, and then **New group**. + + ![Add runner group](/assets/images/help/settings/actions-hosted-runner-add-new-group.png) + +1. Enter a name for your runner group, and assign a policy for organization access. + + You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise. By default, only private repositories can access runners in a runner group, but you can override this. + ![Add runner group options](/assets/images/help/settings/actions-enterprise-account-add-runner-group-options.png) + +1. Click **Save group** to create the group and apply the policy. + +### Changing the access policy of an {% data variables.actions.hosted_runner %} group + +You can update the access policy of a runner group, or rename a runner group. + +{% data reusables.github-actions.hosted-runner-configure-runner-group-access %} + +### Moving an {% data variables.actions.hosted_runner %} to a group + +New {% data variables.actions.hosted_runner %}s are automatically assigned to the default group, and can then be moved to another group. + +1. In the **Self-hosted runners** section of the settings page, locate the current group of the runner you want to move and expand the list of group members. +![View runner group members](/assets/images/help/settings/actions-hosted-runner-group-members.png) +1. Select the checkbox next to the runner, and then click **Move to group** to see the available destinations. +![Runner group member move](/assets/images/help/settings/actions-hosted-runner-group-member-move.png) +1. To move the runner, click on the destination group. +![Runner group member move](/assets/images/help/settings/actions-hosted-runner-group-member-move-destination.png) + +### Removing an {% data variables.actions.hosted_runner %} group + +{% data variables.actions.hosted_runner %}s are automatically returned to the default group when their group is removed. + +1. In the **Self-hosted runners** section of the settings page, locate the group you want to delete, and click the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} button. + ![View runner group settings](/assets/images/help/settings/actions-hosted-runner-group-kebab.png) + +1. To remove the group, click **Remove group**. + + ![View runner group settings](/assets/images/help/settings/actions-hosted-runner-group-remove.png) + +1. Review the confirmation prompts, and click **Remove this runner group**. diff --git a/content/actions/using-github-hosted-runners/using-labels-with-ae-hosted-runners.md b/content/actions/using-github-hosted-runners/using-labels-with-ae-hosted-runners.md new file mode 100644 index 0000000000..9fdd1f63c4 --- /dev/null +++ b/content/actions/using-github-hosted-runners/using-labels-with-ae-hosted-runners.md @@ -0,0 +1,25 @@ +--- +title: Using labels with AE hosted runners +intro: You can use labels to organize your {% data variables.actions.hosted_runner %}s based on their characteristics. +versions: + github-ae: '*' +--- + +{% data reusables.actions.ae-beta %} + +For information on how to use labels to route jobs to specific types of {% data variables.actions.hosted_runner %}s, see "[Using {% data variables.actions.hosted_runner %}s in a workflow](/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow)." + + +{% note %} + +**Note:** To manage labels for your {% data variables.actions.hosted_runner %}s, you will need to contact {% data variables.product.prodname_dotcom %} support. + +{% endnote %} + +### Viewing the labels for your {% data variables.actions.hosted_runner %}s +{% data reusables.github-actions.hosted-runner-navigate-to-repo-org-enterprise %} +{% data reusables.github-actions.hosted-runner-list %} +{% data reusables.github-actions.hosted-runner-list-group %} +1. Locate the runner you want to check, and click {% octicon "triangle-down" aria-label="The downward triangle" %} to view the label selection menu. Labels already assigned to your runner have a {% octicon "check" aria-label="Check mark" %} next to them. + +![Change runner label](/assets/images/help/settings/actions-hosted-runner-list-label.png) diff --git a/content/admin/authentication/about-identity-and-access-management-for-your-enterprise.md b/content/admin/authentication/about-identity-and-access-management-for-your-enterprise.md index 018ebf2daf..b6075d5322 100644 --- a/content/admin/authentication/about-identity-and-access-management-for-your-enterprise.md +++ b/content/admin/authentication/about-identity-and-access-management-for-your-enterprise.md @@ -13,7 +13,7 @@ versions: {% data reusables.saml.ae-uses-saml-sso %} {% data reusables.saml.ae-enable-saml-sso-during-bootstrapping %} -After you configure the application for {% data variables.product.product_name %} on your IdP, you can grant access to {% data variables.product.product_location %} by assigning the application to users on your IdP. For more information about SAML SSO for {% data variables.product.product_name %}, see "[Configuring SAML single sign-on for your enterprise](/admin/authentication/configuring-saml-single-sign-on-for-your-enterprise)." +After you configure the application for {% data variables.product.product_name %} on your IdP, you can grant access to {% data variables.product.product_location %} by assigning the application to users and groups on your IdP. For more information about SAML SSO for {% data variables.product.product_name %}, see "[Configuring SAML single sign-on for your enterprise](/admin/authentication/configuring-saml-single-sign-on-for-your-enterprise)." {% data reusables.scim.after-you-configure-saml %} For more information, see "[Configuring user provisioning for your enterprise](/admin/authentication/configuring-user-provisioning-for-your-enterprise)." @@ -25,3 +25,4 @@ To learn how to configure both authentication and user provisioning for {% data - [SAML Wiki](https://wiki.oasis-open.org/security) on the OASIS website - [System for Cross-domain Identity Management: Protocol (RFC 7644)](https://tools.ietf.org/html/rfc7644) on the IETF website +- [Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise) diff --git a/content/admin/authentication/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md b/content/admin/authentication/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md index 7af09e12dc..a4c0796611 100644 --- a/content/admin/authentication/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md +++ b/content/admin/authentication/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md @@ -12,9 +12,16 @@ versions: Azure Active Directory (Azure AD) is a service from Microsoft that allows you to centrally manage user accounts and access to web applications. For more information, see [What is Azure Active Directory?](https://docs.microsoft.com/azure/active-directory/fundamentals/active-directory-whatis) in the Microsoft Docs. -To manage identity and access for {% data variables.product.product_name %}, you can use an Azure AD tenant as a SAML IdP for authentication. You can also configure Azure AD to automatically provision accounts and access with SCIM. This configuration allows you to assign or unassign the {% data variables.product.prodname_ghe_managed %} application for a user account in your Azure AD tenant to automatically create, grant access to, or deactivate a corresponding user account on {% data variables.product.product_name %}. +To manage identity and access for {% data variables.product.product_name %}, you can use an Azure AD tenant as a SAML IdP for authentication. You can also configure Azure AD to automatically provision accounts and access membership with SCIM, which allows you to create {% data variables.product.prodname_ghe_managed %} users and manage team and organization membership from your Azure AD tenant. -For more information about managing identity and access for your enterprise on {% data variables.product.product_location %}, see "[Managing identity and access for your enterprise](/admin/authentication/managing-identity-and-access-for-your-enterprise)." +After you enable SAML SSO and SCIM for {% data variables.product.prodname_ghe_managed %} using Azure AD, you can accomplish the following from your Azure AD tenant. + +* Assign the {% data variables.product.prodname_ghe_managed %} application on Azure AD to a user account to automatically create and grant access to a corresponding user account on {% data variables.product.product_name %}. +* Unassign the {% data variables.product.prodname_ghe_managed %} application to a user account on Azure AD to deactivate the corresponding user account on {% data variables.product.product_name %}. +* Assign the {% data variables.product.prodname_ghe_managed %} application to an IdP group on Azure AD to automatically create and grant access to user accounts on {% data variables.product.product_name %} for all members of the IdP group. In addition, the IdP group is available on {% data variables.product.prodname_ghe_managed %} for connection to a team and its parent organization. +* Unassign the {% data variables.product.prodname_ghe_managed %} application from an IdP group to deactivate the {% data variables.product.product_name %} user accounts of all IdP users who had access only through that IdP group and remove the users from the parent organization. The IdP group will be disconnected from any teams on {% data variables.product.product_name %}. + +For more information about managing identity and access for your enterprise on {% data variables.product.product_location %}, see "[Managing identity and access for your enterprise](/admin/authentication/managing-identity-and-access-for-your-enterprise)." For more information about synchronizing teams with IdP groups, see "[Synchronizing a team with an identity provider group](/github/setting-up-and-managing-organizations-and-teams/synchronizing-a-team-with-an-identity-provider-group)." ### Prerequisites diff --git a/content/admin/authentication/configuring-user-provisioning-for-your-enterprise.md b/content/admin/authentication/configuring-user-provisioning-for-your-enterprise.md index 5801f401dd..a0bd008285 100644 --- a/content/admin/authentication/configuring-user-provisioning-for-your-enterprise.md +++ b/content/admin/authentication/configuring-user-provisioning-for-your-enterprise.md @@ -28,6 +28,8 @@ The provisioning application on your IdP communicates with {% data variables.pro {% data reusables.scim.supported-idps %} +When you set up user provisioning with a supported IdP, you can also assign or unassign the application for {% data variables.product.product_name %} to groups of users. These groups are then available to organization owners and team maintainers in {% data variables.product.product_location %} to map to {% data variables.product.product_name %} teams. For more information, see "[Synchronizing a team with an identity provider group](/github/setting-up-and-managing-organizations-and-teams/synchronizing-a-team-with-an-identity-provider-group)." + ### Prerequisites {% if currentVersion == "github-ae@latest" %} diff --git a/content/admin/configuration/accessing-the-management-console.md b/content/admin/configuration/accessing-the-management-console.md index b107ad6dbc..94a312d877 100644 --- a/content/admin/configuration/accessing-the-management-console.md +++ b/content/admin/configuration/accessing-the-management-console.md @@ -19,7 +19,7 @@ versions: Use the {% data variables.enterprise.management_console %} for basic administrative activities: - **Initial setup**: Walk through the initial setup process when first launching {% data variables.product.product_location %} by visiting {% data variables.product.product_location %}'s IP address in your browser. - **Configuring basic settings for your instance**: Configure DNS, hostname, SSL, user authentication, email, monitoring services, and log forwarding on the Settings page. -- **Scheduling maintenance windows**: Take your {% data variables.product.product_location %} offline while performing maintenance using the {% data variables.enterprise.management_console %} or administrative shell. +- **Scheduling maintenance windows**: Take {% data variables.product.product_location %} offline while performing maintenance using the {% data variables.enterprise.management_console %} or administrative shell. - **Troubleshooting**: Generate a support bundle or view high level diagnostic information. - **License management**: View or update your {% data variables.product.prodname_enterprise %} license. diff --git a/content/admin/configuration/configuring-email-for-notifications.md b/content/admin/configuration/configuring-email-for-notifications.md index cc3aac5d7c..665d0177ca 100644 --- a/content/admin/configuration/configuring-email-for-notifications.md +++ b/content/admin/configuration/configuring-email-for-notifications.md @@ -1,33 +1,23 @@ --- title: Configuring email for notifications +intro: To make it easy for users to respond quickly to activity on {% data variables.product.product_name %}, you can configure {% data variables.product.product_location %} to send email notifications for issue, pull request, and commit comments. redirect_from: - /enterprise/admin/guides/installation/email-configuration/ - /enterprise/admin/articles/configuring-email/ - /enterprise/admin/articles/troubleshooting-email/ - /enterprise/admin/articles/email-configuration-and-troubleshooting/ - /enterprise/admin/user-management/configuring-email-for-notifications -intro: 'To make it easy for users to respond quickly to activity on {% data variables.product.product_name %}, you can configure your enterprise to send email notifications on issue, pull request, and commit comments{% if enterpriseServerVersions contains currentVersion %}, as well as additional settings to allow inbound email replies{% endif %}.' versions: enterprise-server: '*' github-ae: '*' --- -Notification emails are sent if there is activity on a repository a user is watching, if there is activity in a pull request or issue they are participating in, or if the user or team they're a member of are @mentioned in a comment. - {% if currentVersion == "github-ae@latest" %} -Your dedicated technical account manager in {% data variables.contact.github_support %} can configure email for notifications to be sent through your SMTP server. Make sure you include the following details in your support request. - -- Your SMTP server address -- Login information to authenticate to the server: username and password -- The port your SMTP server uses to send email -- The domain name that your SMTP server will send with a HELO response, if any -- The type of encryption used by your SMTP server -- The no-reply email address to use in the `From` and `To` field for all notifications - -For more information about contacting support, see "[About {% data variables.contact.enterprise_support %}](/enterprise/admin/guides/enterprise-support/about-github-enterprise-support)." -{% else %} -### Configuring SMTP +Enterprise owners can configure email for notifications. +{% endif %} +### Configuring SMTP for your enterprise +{% if enterpriseServerVersions contains currentVersion %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} 2. At the top of the page, click **Settings**. @@ -37,32 +27,42 @@ For more information about contacting support, see "[About {% data variables.con 4. Select **Enable email**. This will enable both outbound and inbound email, however for inbound email to work you will also need to configure your DNS settings as described below in "[Configuring DNS and firewall settings to allow incoming emails](#configuring-dns-and-firewall-settings-to-allow-incoming-emails)." ![Enable outbound email](/assets/images/enterprise/management-console/enable-outbound-email.png) -5. Fill in your email server settings: - - In the **Server address** field, type the address of your SMTP server. - - In the **Port** field, type the port that your SMTP server uses to send email. - - In the **Domain** field, type the domain name that your SMTP server will send with a HELO response, if any. - - In the **Authentication** dropdown, choose the type of encryption used by your SMTP server. - - In the **No-reply email address** field, type the email address to use in the From and To fields for all notification emails. - +5. Type the settings for your SMTP server. + - In the **Server address** field, type the address of your SMTP server. + - In the **Port** field, type the port that your SMTP server uses to send email. + - In the **Domain** field, type the domain name that your SMTP server will send with a HELO response, if any. + - Select the **Authentication** dropdown, and choose the type of encryption used by your SMTP server. + - In the **No-reply email address** field, type the email address to use in the From and To fields for all notification emails. 6. If you want to discard all incoming emails that are addressed to the no-reply email address, select **Discard email addressed to the no-reply email address**. ![Checkbox to discard emails addressed to the no-reply email address](/assets/images/enterprise/management-console/discard-noreply-emails.png) -7. Under **Support**, choose a type of link to offer additional support to your users: +7. Under **Support**, choose a type of link to offer additional support to your users. - **Email:** An internal email address. - **URL:** A link to an internal support site. You must include either `http://` or `https://`. ![Support email or URL](/assets/images/enterprise/management-console/support-email-url.png) 8. [Test email delivery](#testing-email-delivery). +{% elsif currentVersion == "github-ae@latest" %} +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.email-tab %} +2. Select **Enable email**. + !["Enable" checkbox for email settings configuration](/assets/images/enterprise/configuration/ae-enable-email-configure.png) +3. Type the settings for your email server. + - In the **Server address** field, type the address of your SMTP server. + - In the **Port** field, type the port that your SMTP server uses to send email. + - In the **Domain** field, type the domain name that your SMTP server will send with a HELO response, if any. + - Select the **Authentication** dropdown, and choose the type of encryption used by your SMTP server. + - In the **No-reply email address** field, type the email address to use in the From and To fields for all notification emails. +4. If you want to discard all incoming emails that are addressed to the no-reply email address, select **Discard email addressed to the no-reply email address**. + !["Discard" checkbox for email settings configuration](/assets/images/enterprise/configuration/ae-discard-email.png) +5. Click **Test email settings**. + !["Test email settings" button for email settings configuration](/assets/images/enterprise/configuration/ae-test-email.png) +6. Under "Send test email to," type the email address where you want to send a test email, then click **Send test email**. + !["Send test email" button for email settings configuration](/assets/images/enterprise/configuration/ae-send-test-email.png) +7. Click **Save**. + !["Save" button for enterprise support contact configuration](/assets/images/enterprise/configuration/ae-save.png) +{% endif %} -### Configuring DNS and firewall settings to allow incoming emails - -If you want to allow email replies to notifications, you must configure your DNS settings. - -1. Ensure that port 25 on the instance is accessible to your SMTP server. -2. Create an A record that points to `reply.[hostname]`. Depending on your DNS provider and instance host configuration, you may be able to instead create a single A record that points to `*.[hostname]`. -3. Create an MX record that points to `reply.[hostname]` so that emails to that domain are routed to the instance. -4. Create an MX record that points `noreply.[hostname]` to `[hostname]` so that replies to the `cc` address in notification emails are routed to the instance. For more information, see {% if currentVersion ver_gt "enterprise-server@2.20" %}"[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications){% else %}"[About email notifications](/github/receiving-notifications-about-activity-on-github/about-email-notifications){% endif %}." - -With your DNS configuration setup, you can now test whether the setup works. - +{% if enterpriseServerVersions contains currentVersion %} ### Testing email delivery 1. At the top of the **Email** section, click **Test email settings**. @@ -84,6 +84,15 @@ With your DNS configuration setup, you can now test whether the setup works. 6. Wait for the configuration run to complete. ![Configuring your instance](/assets/images/enterprise/management-console/configuration-run.png) +### Configuring DNS and firewall settings to allow incoming emails + +If you want to allow email replies to notifications, you must configure your DNS settings. + +1. Ensure that port 25 on the instance is accessible to your SMTP server. +2. Create an A record that points to `reply.[hostname]`. Depending on your DNS provider and instance host configuration, you may be able to instead create a single A record that points to `*.[hostname]`. +3. Create an MX record that points to `reply.[hostname]` so that emails to that domain are routed to the instance. +4. Create an MX record that points `noreply.[hostname]` to `[hostname]` so that replies to the `cc` address in notification emails are routed to the instance. For more information, see {% if currentVersion ver_gt "enterprise-server@2.20" %}"[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications){% else %}"[About email notifications](/github/receiving-notifications-about-activity-on-github/about-email-notifications){% endif %}." + ### Troubleshooting email delivery #### Create a Support Bundle @@ -155,7 +164,7 @@ Note that the client first connects; then, the queue becomes active. Then, the m [2014-10-30T00:47:23.334 DEBUG (5284) #] Moving /data/user/mail/reply/new/1414630039.Vfc00I12000eM445784.ghe-tjl2-co-ie => /data/user/incoming-mail/success ``` -You'll notice that `metroplex` catches the inbound message, processes it, then moves the file over to `/data/user/incoming-mail/success`. +You'll notice that `metroplex` catches the inbound message, processes it, then moves the file over to `/data/user/incoming-mail/success`.{% endif %} #### Verify your DNS settings @@ -166,6 +175,8 @@ In order to properly process inbound emails, you must configure a valid A Record If {% data variables.product.product_location %} is behind a firewall or is being served through an AWS Security Group, make sure port 25 is open to all mail servers that send emails to `reply@reply.[hostname]`. #### Contact support - +{% if enterpriseServerVersions contains currentVersion %} If you're still unable to resolve the problem, contact {% data variables.contact.contact_ent_support %}. Please attach the output file from `http(s)://[hostname]/setup/diagnostics` to your email to help us troubleshoot your problem. +{% elsif currentVersion == "github-ae@latest" %} +You can contact {% data variables.contact.github_support %} for help configuring email for notifications to be sent through your SMTP server. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)." {% endif %} diff --git a/content/admin/configuration/initializing-github-ae.md b/content/admin/configuration/initializing-github-ae.md index 773dd7d1b5..8be6d29791 100644 --- a/content/admin/configuration/initializing-github-ae.md +++ b/content/admin/configuration/initializing-github-ae.md @@ -22,9 +22,9 @@ During initialization, the enterprise owner will name your enterprise, configure {% endnote %} 1. To initialize {% data variables.product.product_location %}, you must have a SAML identity provider (IdP). {% data reusables.saml.ae-uses-saml-sso %} To connect your IdP to your enterprise during initialization, you should have your IdP's Entity ID (SSO) URL, Issuer ID URL, and public signing certificate (Base64-encoded). For more information, see "[About identity and access management for your enterprise](/admin/authentication/about-identity-and-access-management-for-your-enterprise)." - + {% note %} - + **Note**: {% data reusables.saml.create-a-machine-user %} {% endnote %} @@ -92,3 +92,28 @@ You can configure the method your users will use to contact your internal suppor ![Text field for internal support contact URL](/assets/images/enterprise/configuration/ae-support-link-url.png) 3. Click **Save**. !["Save" button for enterprise support contact configuration](/assets/images/enterprise/configuration/ae-save.png) + +### Setting your email settings + +Once this is initialized, you can reconfigure any settings after the initialization process. For more information, see "[Configuring email for notifications](/admin/configuration/configuring-email-for-notifications)." + +1. To the right of "Configure email settings", click **Configure**. + !["Configure" button for email settings configuration](/assets/images/enterprise/configuration/ae-email-configure.png) +2. Select **Enable email**. This will enable both outbound and inbound email, however, for inbound email to work you will also need to configure your DNS settings. For more information, see "[Configuring DNS and firewall + settings to allow incoming emails](/admin/configuration/configuring-email-for-notifications#configuring-dns-and-firewall-settings-to-allow-incoming-emails)." + !["Enable" checkbox for email settings configuration](/assets/images/enterprise/configuration/ae-enable-email-configure.png) +3. Complete your email server settings: + - In the **Server address** field, type the address of your SMTP server. + - In the **Port** field, type the port that your SMTP server uses to send email. + - In the **Domain** field, type the domain name that your SMTP server will send with a HELO response, if any. + - In the **Authentication** dropdown, choose the type of encryption used by your SMTP server. + - In the **No-reply email address** field, type the email address to use in the From and To fields for all notification emails. + +4. If you want to discard all incoming emails that are addressed to the no-reply email address, select **Discard email addressed to the no-reply email address**. + !["Discard" checkbox for email settings configuration](/assets/images/enterprise/configuration/ae-discard-email.png) +5. Click **Test email settings**. + !["Test email settings" button for email settings configuration](/assets/images/enterprise/configuration/ae-test-email.png) +6. Under "Send test email to," type the email address where you want to send a test email, then click **Send test email**. + !["Send test email" button for email settings configuration](/assets/images/enterprise/configuration/ae-send-test-email.png) +7. Click **Save**. + !["Save" button for enterprise support contact configuration](/assets/images/enterprise/configuration/ae-save.png) diff --git a/content/admin/configuration/restricting-network-traffic-to-your-enterprise.md b/content/admin/configuration/restricting-network-traffic-to-your-enterprise.md index d20a711bd0..7edc128771 100644 --- a/content/admin/configuration/restricting-network-traffic-to-your-enterprise.md +++ b/content/admin/configuration/restricting-network-traffic-to-your-enterprise.md @@ -1,11 +1,60 @@ --- title: Restricting network traffic to your enterprise shortTitle: Restricting network traffic -intro: 'You can restrict access to your enterprise to connections from specified IP addresses.' +intro: 'You can use an IP allow list to restrict access to your enterprise to connections from specified IP addresses.' versions: github-ae: '*' --- -By default, authorized users can access your enterprise from any IP address. You can restrict access to specific IP addresses such as your physical office locations by contacting support. +### About IP allow lists +By default, authorized users can access your enterprise from any IP address. Enterprise owners can restrict access to assets owned by organizations in an enterprise account by configuring an allow list for specific IP addresses. {% data reusables.identity-and-permissions.ip-allow-lists-example-and-restrictions %} -Contact {% data variables.contact.github_support %} with the IP addresses that should be allowed to access your enterprise. Specify address ranges using the standard CIDR (Classless Inter-Domain Routing) format. {% data variables.contact.github_support %} will configure the appropriate firewall rules for your enterprise to restrict network access over HTTP, SSH, HTTPS, and SMTP. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/enterprise/admin/guides/enterprise-support/receiving-help-from-github-support)." +{% data reusables.identity-and-permissions.ip-allow-lists-cidr-notation %} + +{% data reusables.identity-and-permissions.ip-allow-lists-enable %} + +You can also configure allowed IP addresses for an individual organization. For more information, see "[Managing allowed IP addresses for your organization](/github/setting-up-and-managing-organizations-and-teams/managing-allowed-ip-addresses-for-your-organization)." + +By default, Azure network security group (NSG) rules leave all inbound traffic open on ports 22, 80, 443, and 25. Enterprise owners can contact {% data variables.contact.github_support %} to configure access restrictions for your instance. + +For instance-level restrictions using Azure NSGs, contact {% data variables.contact.github_support %} with the IP addresses that should be allowed to access your enterprise instance. Specify address ranges using the standard CIDR (Classless Inter-Domain Routing) format. {% data variables.contact.github_support %} will configure the appropriate firewall rules for your enterprise to restrict network access over HTTP, SSH, HTTPS, and SMTP. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)." + +### Adding an allowed IP address + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} +{% data reusables.identity-and-permissions.ip-allow-lists-add-description %} +{% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} + +### Enabling allowed IP addresses + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +1. Under "IP allow list", select **Enable IP allow list**. + ![Checkbox to allow IP addresses](/assets/images/help/security/enable-ip-allowlist-enterprise-checkbox.png) +4. Click **Save**. + +### Editing an allowed IP address + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.ip-allow-lists-edit-entry %} +{% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} +{% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} +8. Click **Update**. + +### Deleting an allowed IP address + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.ip-allow-lists-delete-entry %} +{% data reusables.identity-and-permissions.ip-allow-lists-confirm-deletion %} + +### Using {% data variables.product.prodname_actions %} with an IP allow list + +{% data reusables.github-actions.ip-allow-list-hosted-runners %} diff --git a/content/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise.md b/content/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise.md index d47cc8b225..82df246b43 100644 --- a/content/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise.md +++ b/content/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise.md @@ -5,13 +5,15 @@ redirect_from: - /enterprise/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise versions: enterprise-server: '>=2.22' + github-ae: '*' --- +{% data reusables.actions.ae-beta %} {% data reusables.actions.enterprise-beta %} ### About {% data variables.product.prodname_actions %} permissions for your enterprise -When you enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}, it is enabled for all organizations in your enterprise. You can choose to disable {% data variables.product.prodname_actions %} for all organizations in your enterprise, or only allow specific organizations. You can also limit the use of public actions, so that people can only use local actions that exist in your enterprise. +{% if currentVersion == "github-ae@latest" %}{% else %}When you enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}, it is enabled for all organizations in your enterprise. {% endif %}You can choose to disable {% data variables.product.prodname_actions %} for all organizations in your enterprise, or only allow specific organizations. You can also limit the use of public actions, so that people can only use local actions that exist in your enterprise. ### Managing {% data variables.product.prodname_actions %} permissions for your enterprise @@ -20,7 +22,7 @@ When you enable {% data variables.product.prodname_actions %} on {% data variabl {% data reusables.enterprise-accounts.actions-tab %} {% data reusables.actions.enterprise-actions-permissions %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest"%} ### Enabling workflows for private repository forks {% data reusables.github-actions.private-repository-forks-overview %} diff --git a/content/admin/github-actions/getting-started-with-github-actions-for-github-ae.md b/content/admin/github-actions/getting-started-with-github-actions-for-github-ae.md new file mode 100644 index 0000000000..4ce90c5b50 --- /dev/null +++ b/content/admin/github-actions/getting-started-with-github-actions-for-github-ae.md @@ -0,0 +1,30 @@ +--- +title: Getting started with GitHub Actions for GitHub AE +intro: 'Learn configuring {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_managed %}.' +permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.' +versions: + github-ae: '*' +--- + +{% data reusables.actions.ae-beta %} + +This article explains how site administrators can configure {% data variables.product.prodname_ghe_managed %} to use {% data variables.product.prodname_actions %}. + +### Managing access permissions for {% data variables.product.prodname_actions %} in your enterprise + +You can use policies to manage access to {% data variables.product.prodname_actions %}. For more information, see "[Enforcing GitHub Actions policies for your enterprise](/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise)." + +### Adding runners + +{% note %} + +**Note:** To add {% data variables.actions.hosted_runner %}s to {% data variables.product.prodname_ghe_managed %}, you will need to contact {% data variables.product.prodname_dotcom %} support. + +{% endnote %} + +To run {% data variables.product.prodname_actions %} workflows, you need to add runners. You can add runners at the enterprise, organization, or repository levels. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)." + + +### General security hardening for {% data variables.product.prodname_actions %} + +If you want to learn more about security practices for {% data variables.product.prodname_actions %}, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/security-hardening-for-github-actions)." diff --git a/content/admin/github-actions/index.md b/content/admin/github-actions/index.md index 55495f30bc..e7917e912a 100644 --- a/content/admin/github-actions/index.md +++ b/content/admin/github-actions/index.md @@ -1,17 +1,22 @@ --- title: Managing GitHub Actions for your enterprise -intro: 'Enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}, and manage {% data variables.product.prodname_actions %} policies and settings.' +intro: 'Enable {% data variables.product.prodname_actions %} on {% if currentVersion == "github-ae@latest" %}{% data variables.product.prodname_ghe_managed %}{% else %}{% data variables.product.prodname_ghe_server %}{% endif %}, and manage {% data variables.product.prodname_actions %} policies and settings.' redirect_from: - /enterprise/admin/github-actions versions: enterprise-server: '>=2.22' + github-ae: '*' --- +{% data reusables.actions.ae-beta %} {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} ### Table of Contents +{% topic_link_in_list /using-github-actions-in-github-ae %} + {% link_in_list /getting-started-with-github-actions-for-github-ae %} + {% topic_link_in_list /enabling-github-actions-for-github-enterprise-server %} {% link_in_list /getting-started-with-github-actions-for-github-enterprise-server %} {% link_in_list /enabling-github-actions-with-azure-blob-storage %} diff --git a/content/admin/github-actions/using-github-actions-in-github-ae.md b/content/admin/github-actions/using-github-actions-in-github-ae.md new file mode 100644 index 0000000000..9c05715d11 --- /dev/null +++ b/content/admin/github-actions/using-github-actions-in-github-ae.md @@ -0,0 +1,7 @@ +--- +title: Using GitHub Actions in GitHub AE +intro: 'Learn how to configure {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_managed %}.' +mapTopic: true +versions: + github-ae: '*' +--- diff --git a/content/admin/overview/about-data-residency.md b/content/admin/overview/about-data-residency.md new file mode 100644 index 0000000000..a83066177e --- /dev/null +++ b/content/admin/overview/about-data-residency.md @@ -0,0 +1,12 @@ +--- +title: About data residency +intro: You can choose the geography where {% data variables.product.product_name %} stores all customer data for your enterprise. +versions: + github-ae: '*' +--- + +{% data reusables.github-ae.github-ae-enables-you %} You can choose the geography where you store all the customer data for {% data variables.product.product_location %}, and members of your enterprise can access {% data variables.product.product_name %} from anywhere in the world. + +When creating your enterprise, you can tell {% data variables.contact.contact_enterprise_sales %} where to store your customer data. {% data variables.product.company_short %} will not store or move any of your enterprise's data outside of the geography you choose. + +For more information about the available geographies, contact {% data variables.contact.contact_enterprise_sales %}. diff --git a/content/admin/overview/about-github-ae.md b/content/admin/overview/about-github-ae.md index d143dd1af0..a864f01f38 100644 --- a/content/admin/overview/about-github-ae.md +++ b/content/admin/overview/about-github-ae.md @@ -1,17 +1,15 @@ --- title: About GitHub AE -intro: '{% data variables.product.prodname_ghe_managed %} is the most secure and compliant way to use {% data variables.product.prodname_dotcom %}.' +intro: '{% data variables.product.prodname_ghe_managed %} is a security-enhanced and compliant way to use {% data variables.product.prodname_dotcom %} in the cloud.' versions: github-ae: '*' --- ### About {% data variables.product.prodname_ghe_managed %} -{% data reusables.github-ae.github-ae-enables-you %} +{% data reusables.github-ae.github-ae-enables-you %} {% data variables.product.prodname_ghe_managed %} is fully managed, reliable, and scalable, allowing you to accelerate delivery without sacrificing risk management. -{% data variables.product.prodname_ghe_managed %} offers one developer platform from idea to production. You can increase developer velocity, automate entire workflows, secure your code, and collaborate in developers’ favorite tool. - -{% data variables.product.prodname_ghe_managed %} provides your organization with all the power of [{% data variables.product.prodname_enterprise %}](https://github.com/enterprise). With {% data variables.product.prodname_ghe_managed %}, you can also meet security and compliance goals with a suite of features and certifications that put you in control. +{% data variables.product.prodname_ghe_managed %} offers one developer platform from idea to production. You can increase development velocity with the tools that teams know and love, while you maintain industry and regulatory compliance with unique security and access controls, workflow automation, and policy enforcement. ### A highly available and planet-scale cloud @@ -36,11 +34,3 @@ Secure access to your enterprise on {% data variables.product.prodname_ghe_manag ### Commercial and government environments {% data variables.product.prodname_ghe_managed %} is available in the Azure Government cloud, the trusted cloud for US government agencies and their partners. {% data variables.product.prodname_ghe_managed %} is also available in the commercial cloud, so you can choose the hosting environment that is right for your organization. - -### Premium Plus support - -Premium Plus support is available for all {% data variables.product.prodname_ghe_managed %} customers, to ensure you have the fastest and most personal support experience. A dedicated Account Manager will work with you to help you get the most out of {% data variables.product.prodname_dotcom %}. Our support team will resolve issues any time of day, in the shortest possible time. - -### About billing for {% data variables.product.prodname_ghe_managed %} - -{% data reusables.github-ae.about-billing %} For more information, see "[Managing billing for your enterprise](/admin/overview/managing-billing-for-your-enterprise)." \ No newline at end of file diff --git a/content/admin/overview/about-upgrades-to-new-releases.md b/content/admin/overview/about-upgrades-to-new-releases.md index 19b7d28e7f..f25eeb31ca 100644 --- a/content/admin/overview/about-upgrades-to-new-releases.md +++ b/content/admin/overview/about-upgrades-to-new-releases.md @@ -1,14 +1,17 @@ --- title: About upgrades to new releases shortTitle: About upgrades -intro: 'You can benefit from new features and bug fixes for {% data variables.product.product_name %} by upgrading your enterprise to a newly released version.' +intro: '{% if currentVersion == "github-ae@latest" %}Your {% data variables.product.product_name %} enterprise is updated with the latest features and bug fixes on a regular basis by {% data variables.product.company_short %}.{% else %}You can benefit from new features and bug fixes for {% data variables.product.product_name %} by upgrading your enterprise to a newly released version.{% endif %}' versions: enterprise-server: '>=3.0' + github-ae: '*' --- -{% data variables.product.product_name %} is constantly improving, with new functionality and bug fixes introduced through major and minor releases. +{% data variables.product.product_name %} is constantly improving, with new functionality and bug fixes introduced through major and minor releases. {% if currentVersion == "github-ae@latest" %}{% data variables.product.prodname_ghe_managed %} is a fully managed service, so {% data variables.product.company_short %} completes the upgrade process for your enterprise.{% endif %} -Major releases include new functionality and feature upgrades and typically occur quarterly. +Major releases include new functionality and feature upgrades and typically occur {% if currentVersion == "github-ae@latest" %}every few weeks or months{% else %} quarterly{% endif %}. {% if currentVersion == "github-ae@latest" %}{% data variables.product.company_short %} will upgrade your enterprise to the latest major release. You will be given advance notice of any planned downtime for your enterprise.{% endif %} + +{% if enterpriseServerVersions contains currentVersion %} Starting with {% data variables.product.prodname_ghe_server %} 3.0, all major releases begin with at least one release candidate. Release candidates are proposed major releases, with a complete feature set. There may be bugs or issues in a release candidate which can only be found through feedback from customers actually using {% data variables.product.product_name %}. @@ -18,16 +21,25 @@ Release candidates should be deployed on test or staging environments. As you te We'll use your feedback to apply bug fixes and any other necessary changes to create a stable production release. Each new release candidate adds bug fixes for issues found in prior versions. When the release is ready for widespread adoption, {% data variables.product.company_short %} publishes a stable production release. +{% endif %} + {% warning %} **Warning**: The upgrade to a new major release will cause a few hours of downtime, during which none of your users will be able to use the enterprise. You can inform your users about downtime by publishing a global announcement banner, using your enterprise settings or the REST API. For more information, see "[Customizing user messages on your instance](/admin/user-management/customizing-user-messages-on-your-instance#creating-a-global-announcement-banner)" and "[{% data variables.product.prodname_enterprise %} administration](/rest/reference/enterprise-admin#announcements)." {% endwarning %} +{% if enterpriseServerVersions contains currentVersion %} + Minor releases, which consist of hot patches and bug fixes only, happen more frequently. Minor releases are generally available when first released, with no release candidates. Upgrading to a minor release typically requires less than five minutes of downtime. To upgrade your enterprise to a new release, see "[Release notes](/enterprise-server/admin/release-notes)" and "[Upgrading {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/upgrading-github-enterprise-server)." +{% endif %} + ### Further reading - [ {% data variables.product.prodname_roadmap %} ]( {% data variables.product.prodname_roadmap_link %} ) in the `github/roadmap` repository +{% if currentVersion == "github-ae@latest" %} +- [ {% data variables.product.prodname_ghe_managed %} release notes](/admin/overview/github-ae-release-notes) +{% endif %} diff --git a/content/admin/overview/github-ae-release-notes.md b/content/admin/overview/github-ae-release-notes.md new file mode 100644 index 0000000000..546f72bb1a --- /dev/null +++ b/content/admin/overview/github-ae-release-notes.md @@ -0,0 +1,72 @@ +--- +title: GitHub AE release notes +intro: March 1, 2021 +versions: + github-ae: '*' +--- + +### Features + +#### {% data variables.product.prodname_actions %} beta + +[{% data variables.product.prodname_actions %}](https://github.com/features/actions) is a powerful, flexible solution for CI/CD and workflow automation. {% data variables.product.prodname_actions %} on GHAE uses a new [{% data variables.actions.hosted_runner %}](/github-ae@latest/actions/using-github-hosted-runners/about-ae-hosted-runners), only available on GHAE, that enables you to customize the size, image, and networking configuration of the runners. These all new runners are a finished-service CI compute environment with auto-scaling and management, all taken care of by GitHub. During the beta, use of these powerful new GHAE hosted runners is free of charge. + +#### {% data variables.product.prodname_registry %} beta + +[{% data variables.product.prodname_registry %}](https://github.com/features/packages) is a package hosting service, natively integrated with GitHub APIs, Actions, and webhooks. Create an [end-to-end DevOps workflow](/github-ae@latest/packages/quickstart) that includes your code, continuous integration, and deployment solutions. During this beta, {% data variables.product.prodname_registry %} is offered free of charge to GitHub AE customers. + +#### {% data variables.product.prodname_GH_advanced_security %} beta + +{% data variables.product.prodname_GH_advanced_security %} is available in beta and includes both code scanning and secret scanning. During this beta, {% data variables.product.prodname_GH_advanced_security %} features are being offered free of charge to GitHub AE customers. Repository and organization administrators can opt-in to use {% data variables.product.prodname_GH_advanced_security %} in the Security and Analysis tab under settings. + +Learn more about {% data variables.product.prodname_GH_advanced_security %} [code scanning](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning) and [secret scanning](/github/administering-a-repository/about-secret-scanning) on {% data variables.product.prodname_ghe_managed %}. + +#### Manage teams from your identity provider + +Customers using SCIM (System for Cross-domain Identity Management) can now sync security groups in Azure Active Directory with GitHub teams. Once a team has been linked to a security group, membership will be automatically updated in GitHub when a user is added or removed from their assigned security group. + +#### IP allow lists beta + +[GitHub IP allow lists](/admin/configuration/restricting-network-traffic-to-your-enterprise) provide the ability to filter traffic from administrator-specified IP ranges, defined by CIDR notation. The allow list is defined at the enterprise or organization account level in Security > Settings. All traffic that attempts to reach resources within the enterprise account and organizations are filtered by the IP allow lists. This functionality is provided in addition to the ability to request network security group changes that filter traffic to the entirety of the GHAE tenant. + + +### Changes + +#### Developer changes + +- [Organization owners can now disable publication](/github/setting-up-and-managing-organizations-and-teams/managing-the-publication-of-github-pages-sites-for-your-organization) of GitHub Pages sites from repositories in the organization. This will not unpublish existing sites. +- Repositories that use GitHub Pages can now [build and deploy from any branch](/github/working-with-github-pages/about-github-pages#publishing-sources-for-github-pages-sites). +- When writing an issue or pull request, the list syntax for bullets, numbers, and tasks will now be autocompleted after you press `return` or `enter`. +- You can now delete a directory in a repository from the repository page. When navigating to a directory, a new kebab button next to the “Add file” button gives the option to delete the directory. +- It’s now easier and faster to [reference issues or pull requests](/github/writing-on-github/basic-writing-and-formatting-syntax#referencing-issues-and-pull-requests), with search across multiple words after the “#”. + +##### Administration changes + +- Enterprise administrators can now publish a mandatory message. The message is shown to all users and they must acknowledge it. This can be used to display important information, terms of service or policies. +- The GitHub App single file path permission can now [support up to ten files](/developers/apps/creating-a-github-app-using-url-parameters). +- When configuring a GitHub App, the authorization callback URL is a required field. Now we will permit the integrator to specify multiple callback URLs. GitHub denies authorization if the callback URL from the request is not listed. +- A [new API endpoint](/rest/reference/apps#create-a-scoped-access-token) enables the exchange of a user to server token for a user to server token scoped to specific repositories. +- Events are now logged in the audit log on [promoting a team member to be a team maintainer and on demoting a team maintainer to be a team member](/admin/user-management/audited-actions#teams). +- The [OAuth device authorization flow](/developers/apps/authorizing-oauth-apps#device-flow) is now supported. This allows any CLI client or developer tool to authenticate using a secondary system. +- A user can no longer delete their account if SCIM provisioning is enabled. + +##### Default branch renaming + +Enterprise and organization administrators can now set the default branch name for new repositories. Enterprise administrators can also enforce their choice of default branch name across all organizations or allow individual organizations to choose their own. + +Existing repositories are unaffected by these settings, and their default branch name will not be changed. + +This change is one of many changes GitHub is making to support projects and maintainers that want to rename their default branch. To learn more, see [github/renaming](https://github.com/github/renaming). + + +### Bug fixes +- Users can no longer set a backup email address on their profile. Their email address is set through the Identity Provider only. +- GitHub AE can now connect to Azure Boards. +- Version headers were missing from the APIs, and have now been set to “GitHub AE”. +- Links to documentation have been fixed. + +### Known issues + +- Audit log forwarding can fail. +- Geographic location data is not shown in the audit log. Location information can otherwise be discerned from the IP address associated with each event. +- The link to Packages from a repository page shows an incorrect search page when that repository does not have any packages. diff --git a/content/admin/overview/index.md b/content/admin/overview/index.md index 099c1c1d54..607f86a51d 100644 --- a/content/admin/overview/index.md +++ b/content/admin/overview/index.md @@ -13,9 +13,12 @@ For more information, or to purchase {% data variables.product.prodname_enterpri ### Table of Contents {% link_in_list /about-github-ae %} +{% link_in_list /about-upgrades-to-new-releases %} +{% link_in_list /about-data-residency %} {% link_in_list /about-enterprise-accounts %} {% link_in_list /managing-your-github-enterprise-license %} {% link_in_list /managing-billing-for-your-enterprise %} {% link_in_list /about-upgrades-to-new-releases %} {% link_in_list /system-overview %} {% link_in_list /about-the-github-enterprise-api %} +{% link_in_list /github-ae-release-notes %} diff --git a/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md b/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md index 46a402df72..9f92df1f87 100644 --- a/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md +++ b/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md @@ -40,7 +40,7 @@ To enable {% data variables.product.prodname_registry %} and configure third-par ### Step 2: Specify the package ecosystems to support on your instance -Choose which package ecosystems you'd like to enable, disable, or set to read-only on your {% data variables.product.product_location %}. Available options are Docker, RubyGems, npm, Apache Maven, Gradle, or NuGet. For more information, see "[Configuring package ecosystem support for your enterprise](/enterprise/admin/packages/configuring-package-ecosystem-support-for-your-enterprise)." +Choose which package ecosystems you'd like to enable, disable, or set to read-only on {% data variables.product.product_location %}. Available options are Docker, RubyGems, npm, Apache Maven, Gradle, or NuGet. For more information, see "[Configuring package ecosystem support for your enterprise](/enterprise/admin/packages/configuring-package-ecosystem-support-for-your-enterprise)." ### Step 3: Ensure you have a TLS certificate for your package host URL, if needed diff --git a/content/admin/user-management/audited-actions.md b/content/admin/user-management/audited-actions.md index 299314ab07..57ed82a230 100644 --- a/content/admin/user-management/audited-actions.md +++ b/content/admin/user-management/audited-actions.md @@ -1,6 +1,7 @@ --- title: Audited actions intro: You can search the audit log for a wide variety of actions. +miniTocMaxHeadingLevel: 4 redirect_from: - /enterprise/admin/articles/audited-actions/ - /enterprise/admin/installation/audited-actions @@ -56,6 +57,22 @@ Action | Description `enterprise.config.lock_anonymous_git_access` | A site admin locks anonymous Git read access to prevent repository admins from changing existing anonymous Git read access settings for repositories in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)." `enterprise.config.unlock_anonymous_git_access` | A site admin unlocks anonymous Git read access to allow repository admins to change existing anonymous Git read access settings for repositories in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)."{% endif %} +{% if currentVersion == "github-ae@latest" %} + +#### IP allow lists + +Name | Description +------------------------------------:| ----------------------------------------------------------- +`ip_allow_list_entry.create` | An IP address was added to an IP allow list. +`ip_allow_list_entry.update` | An IP address or its description was changed. +`ip_allow_list_entry.destroy` | An IP address was deleted from an IP allow list. +`ip_allow_list.enable` | An IP allow list was enabled. +`ip_allow_list.enable_for_installed_apps` | An IP allow list was enabled for installed {% data variables.product.prodname_github_apps %}. +`ip_allow_list.disable` | An IP allow list was disabled. +`ip_allow_list.disable_for_installed_apps` | An IP allow list was disabled for installed {% data variables.product.prodname_github_apps %}. + +{% endif %} + #### Issues and pull requests Action | Description diff --git a/content/developers/apps/building-github-apps.md b/content/developers/apps/building-github-apps.md index 0012cdf9ce..91bb4479af 100644 --- a/content/developers/apps/building-github-apps.md +++ b/content/developers/apps/building-github-apps.md @@ -1,6 +1,6 @@ --- title: Building GitHub Apps -intro: You can build GitHub Apps for personal or public use. Learn how to register and set up permissions and authentication options for GitHub Apps. +intro: You can build GitHub Apps for yourself or others to use. Learn how to register and set up permissions and authentication options for GitHub Apps. mapTopic: true redirect_from: - /apps/building-integrations/setting-up-and-registering-github-apps/ diff --git a/content/developers/apps/building-oauth-apps.md b/content/developers/apps/building-oauth-apps.md index 92ea416d43..ccedbd6267 100644 --- a/content/developers/apps/building-oauth-apps.md +++ b/content/developers/apps/building-oauth-apps.md @@ -1,6 +1,6 @@ --- title: Building OAuth Apps -intro: You can build OAuth Apps for personal or public use. Learn how to register and set up permissions and authorization options for OAuth Apps. +intro: You can build OAuth Apps for yourself or others to use. Learn how to register and set up permissions and authorization options for OAuth Apps. mapTopic: true redirect_from: - /apps/building-integrations/setting-up-and-registering-oauth-apps/ diff --git a/content/developers/apps/creating-a-github-app.md b/content/developers/apps/creating-a-github-app.md index 054cc4493a..cae49a410a 100644 --- a/content/developers/apps/creating-a-github-app.md +++ b/content/developers/apps/creating-a-github-app.md @@ -75,7 +75,7 @@ versions: 13. In "Permissions", choose the permissions your app will request. For each type of permission, use the drop-down menu and click **Read-only**, **Read & write**, or **No access**. ![Various permissions for your GitHub App](/assets/images/github-apps/github_apps_new_permissions_post2dot13.png) -14. In "Subscribe to events", choose whether to subscribe your app to **Label**, **Public**, **Repository**, or **Watch** events. ![Subscribe to events options for your GitHub App](/assets/images/github-apps/github_apps_subscribe_to_events.png) +14. In "Subscribe to events", choose the events you want your app to receive. 15. To choose where the app can be installed, select either **Only on this account** or **Any account**. For more information on installation options, see "[Making a GitHub App public or private](/apps/managing-github-apps/making-a-github-app-public-or-private/)." ![Installation options for your GitHub App](/assets/images/github-apps/github_apps_installation_options.png) 16. Click **Create GitHub App**. diff --git a/content/developers/apps/installing-github-apps.md b/content/developers/apps/installing-github-apps.md index 3e54b9d622..c997ded78a 100644 --- a/content/developers/apps/installing-github-apps.md +++ b/content/developers/apps/installing-github-apps.md @@ -1,6 +1,6 @@ --- title: Installing GitHub Apps -intro: 'When your app is public, anyone can install your app on their repository through {% if currentVersion == "free-pro-team@latest" %} the {% data variables.product.prodname_marketplace %} or {% endif %}an installation URL. When your app is private, you can only install the app on repositories that you own.' +intro: 'When your app is public, anyone can use {% if currentVersion == "free-pro-team@latest" %} the {% data variables.product.prodname_marketplace %} or {% endif %}an installation URL to install the app on their repository. When your app is private, only you can install the app on repositories that you own.' redirect_from: - /apps/installing-github-apps versions: diff --git a/content/developers/apps/making-a-github-app-public-or-private.md b/content/developers/apps/making-a-github-app-public-or-private.md index 779af339cb..036d3d589d 100644 --- a/content/developers/apps/making-a-github-app-public-or-private.md +++ b/content/developers/apps/making-a-github-app-public-or-private.md @@ -17,7 +17,7 @@ For authentication information, see "[Authenticating with GitHub Apps](/apps/bui ### Public installation flow -Public installation flows have a landing page where users begin the installation flow. This link is provided in the "Public link" field when setting up your GitHub App. For more information, see "[Installing GitHub Apps](/apps/installing-github-apps/)." +Public installation flows have a landing page to enable other people besides the app owner to install the app in their repositories. This link is provided in the "Public link" field when setting up your GitHub App. For more information, see "[Installing GitHub Apps](/apps/installing-github-apps/)." ### Private installation flow diff --git a/content/developers/apps/scopes-for-oauth-apps.md b/content/developers/apps/scopes-for-oauth-apps.md index 29a3c06f2f..08cd976431 100644 --- a/content/developers/apps/scopes-for-oauth-apps.md +++ b/content/developers/apps/scopes-for-oauth-apps.md @@ -66,10 +66,10 @@ Name | Description  `user:follow`| Grants access to follow or unfollow other users. **`delete_repo`** | Grants access to delete adminable repositories. **`write:discussion`** | Allows read and write access for team discussions. - `read:discussion` | Allows read access for team discussions.{% if currentVersion == "free-pro-team@latest" %} + `read:discussion` | Allows read access for team discussions.{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} **`write:packages`** | Grants access to upload or publish a package in {% data variables.product.prodname_registry %}. For more information, see "[Publishing a package](/github/managing-packages-with-github-packages/publishing-a-package)". **`read:packages`** | Grants access to download or install packages from {% data variables.product.prodname_registry %}. For more information, see "[Installing a package](/github/managing-packages-with-github-packages/installing-a-package)". -**`delete:packages`** | Grants access to delete packages from {% data variables.product.prodname_registry %}. For more information, see "[Deleting packages](/packages/learn-github-packages/deleting-and-restoring-a-package)".{% endif %} +**`delete:packages`** | Grants access to delete packages from {% data variables.product.prodname_registry %}. For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}."{% endif %} **`admin:gpg_key`** | Fully manage GPG keys.  `write:gpg_key`| Create, list, and view details for GPG keys.  `read:gpg_key`| List and view details for GPG keys.{% if currentVersion == "free-pro-team@latest" %} diff --git a/content/developers/webhooks-and-events/github-event-types.md b/content/developers/webhooks-and-events/github-event-types.md index 788e444783..72098b42fa 100644 --- a/content/developers/webhooks-and-events/github-event-types.md +++ b/content/developers/webhooks-and-events/github-event-types.md @@ -51,7 +51,7 @@ Link: ; rel="next", [ { "type": "WatchEvent", - "public": true, + "public": false, "payload": { }, "repo": { @@ -162,14 +162,14 @@ Link: ; rel="next", {% data reusables.webhooks.member_event_api_properties %} {% data reusables.webhooks.member_properties %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" %} ### PublicEvent {% data reusables.webhooks.public_short_desc %} - #### Event `payload` object This event returns an empty `payload` object. - +{% endif %} ### PullRequestEvent {% data reusables.webhooks.pull_request_short_desc %} diff --git a/content/developers/webhooks-and-events/webhook-events-and-payloads.md b/content/developers/webhooks-and-events/webhook-events-and-payloads.md index 75cbee7e0b..f55db93d4d 100644 --- a/content/developers/webhooks-and-events/webhook-events-and-payloads.md +++ b/content/developers/webhooks-and-events/webhook-events-and-payloads.md @@ -145,7 +145,7 @@ Also, the `User-Agent` for the requests will have the prefix `GitHub-Hookshot/`. {{ webhookPayloadsForCurrentVersion.check_suite.completed }} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} ### code_scanning_alert {% data reusables.webhooks.code_scanning_alert_event_short_desc %} @@ -705,6 +705,10 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.org_block.blocked }} +{% endif %} + +{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} + ### package Activity related to {% data variables.product.prodname_registry %}. {% data reusables.webhooks.action_type_desc %} For more information, see "[Managing packages with {% data variables.product.prodname_registry %}](/github/managing-packages-with-github-packages)" to learn more about {% data variables.product.prodname_registry %}. @@ -843,10 +847,10 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.project.created }} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" %} ### public {% data reusables.webhooks.public_short_desc %} - #### Availability - Repository webhooks @@ -865,7 +869,7 @@ Key | Type | Description #### Webhook payload example {{ webhookPayloadsForCurrentVersion.public }} - +{% endif %} ### pull_request {% data reusables.webhooks.pull_request_short_desc %} diff --git a/content/github/administering-a-repository/about-secret-scanning.md b/content/github/administering-a-repository/about-secret-scanning.md index a1572c7771..2365ac5f58 100644 --- a/content/github/administering-a-repository/about-secret-scanning.md +++ b/content/github/administering-a-repository/about-secret-scanning.md @@ -9,6 +9,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=3.0' + github-ae: '*' --- {% data reusables.secret-scanning.beta %} @@ -35,7 +36,7 @@ When {% data variables.product.prodname_secret_scanning %} detects a set of cred ### About {% data variables.product.prodname_secret_scanning %} for private repositories {% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} ### About {% data variables.product.prodname_secret_scanning %} on {% data variables.product.product_name %} {% data variables.product.prodname_secret_scanning_caps %} is available on all organization-owned repositories as part of {% data variables.product.prodname_GH_advanced_security %}. It is not available on user-owned repositories. diff --git a/content/github/administering-a-repository/about-securing-your-repository.md b/content/github/administering-a-repository/about-securing-your-repository.md index 50fbe4f3dd..9f708acbc4 100644 --- a/content/github/administering-a-repository/about-securing-your-repository.md +++ b/content/github/administering-a-repository/about-securing-your-repository.md @@ -3,7 +3,8 @@ title: About securing your repository intro: '{% data variables.product.product_name %} provides a number of ways that you can help keep your repository secure.' versions: free-pro-team: '*' - enterprise-server: '>=3.0' + enterprise-server: '>=3.0' + github-ae: '*' --- ### Setting up your repository securely @@ -14,6 +15,7 @@ The first step to securing a repository is to set up who can see and modify your {% data variables.product.prodname_dotcom %} has a growing set of security features that help you keep your code secure. You can find these on the **Security** tab for your repository. +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} #### Available for all repositories {% if currentVersion == "free-pro-team@latest" %} @@ -31,7 +33,7 @@ The first step to securing a repository is to set up who can see and modify your and "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)." {% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion ver_gt "enterprise-server@2.22" %} - **{% data variables.product.prodname_dependabot_alerts %}** View alerts about dependencies that are known to contain security vulnerabilities, and manage these alerts. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." @@ -42,12 +44,15 @@ The first step to securing a repository is to set up who can see and modify your Use {% data variables.product.prodname_dependabot %} to automatically raise pull requests to keep your dependencies up-to-date. This helps reduce your exposure to older versions of dependencies. Using newer versions makes it easier to apply patches if security vulnerabilities are discovered, and also makes it easier for {% data variables.product.prodname_dependabot_security_updates %} to successfully raise pull requests to upgrade vulnerable dependencies. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/github/administering-a-repository/about-dependabot-version-updates)." {% endif %} + {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} #### Available {% if currentVersion == "free-pro-team@latest" %}for public repositories and for repositories {% endif %}with {% data variables.product.prodname_advanced_security %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} These features are available {% if currentVersion == "free-pro-team@latest" %}for all public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data reusables.advanced-security.more-info-ghas %} + {% endif %} - **{% data variables.product.prodname_code_scanning_capc %} alerts** @@ -63,6 +68,7 @@ These features are available {% if currentVersion == "free-pro-team@latest" %}fo - **Dependency review** - Show the full impact of changes to dependencies and see details of any vulnerable versions before you merge a pull request. For more information, see "[Reviewing dependency changes in a pull request](/github/collaborating-with-issues-and-pull-requests/reviewing-dependency-changes-in-a-pull-request)." {% endif %} +{% if currentVersion != "github-ae@latest" %} ### Exploring dependencies {% data variables.product.prodname_dotcom %}'s dependency graph allows you to explore: @@ -72,3 +78,4 @@ These features are available {% if currentVersion == "free-pro-team@latest" %}fo You must enable the dependency graph before {% data variables.product.prodname_dotcom %} can generate {% data variables.product.prodname_dependabot_alerts %} for dependencies with security vulnerabilities. {% if currentVersion == "free-pro-team@latest" %}Enabling the dependency graph also enables {% data variables.product.prodname_dotcom %} to run dependency reviews of pull requests.{% endif %} You can find the dependency graph on the **Insights** tab for your repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." +{% endif %} diff --git a/content/github/administering-a-repository/configuring-secret-scanning-for-your-repositories.md b/content/github/administering-a-repository/configuring-secret-scanning-for-your-repositories.md index b4c714924d..27105cdd2f 100644 --- a/content/github/administering-a-repository/configuring-secret-scanning-for-your-repositories.md +++ b/content/github/administering-a-repository/configuring-secret-scanning-for-your-repositories.md @@ -7,7 +7,8 @@ redirect_from: product: '{% data reusables.gated-features.secret-scanning %}' versions: free-pro-team: '*' - enterprise-server: '>=3.0' + enterprise-server: '>=3.0' + github-ae: '*' --- {% data reusables.secret-scanning.beta %} @@ -26,7 +27,6 @@ versions: {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-security-and-analysis %} - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} 4. You may need to enable {% data variables.product.prodname_GH_advanced_security %} to activate the button for "{% data variables.product.prodname_secret_scanning_caps %}". To the right of "{% data variables.product.prodname_GH_advanced_security %}", click **Enable**. ![Enable {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/help/repository/enable-ghas-dotcom.png) @@ -34,10 +34,18 @@ versions: ![Confirm enabling {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/help/repository/enable-ghas-confirmation-dotcom.png) 6. When you enable {% data variables.product.prodname_GH_advanced_security %} this may automatically enable {% data variables.product.prodname_secret_scanning %} for the repository (this is controlled by the organization configuration). If "{% data variables.product.prodname_secret_scanning_caps %}" is shown with an **Enable** button, you still need to enable {% data variables.product.prodname_secret_scanning %} by clicking **Enable**. If you see a **Disable** button, {% data variables.product.prodname_secret_scanning %} is already enabled. ![Enable {% data variables.product.prodname_secret_scanning %} for your repository](/assets/images/help/repository/enable-secret-scanning-dotcom.png) - {% else if enterpriseServerVersions contains currentVersion and currentVersion == "enterprise-server@3.0" %} -4. To the right of "{% data variables.product.prodname_secret_scanning_caps %}", click **Enable**. + {% elsif currentVersion == "enterprise-server@3.0" %} +7. To the right of "{% data variables.product.prodname_secret_scanning_caps %}", click **Enable**. ![Enable {% data variables.product.prodname_secret_scanning %} for your repository](/assets/images/help/repository/enable-secret-scanning-ghe.png) {% endif %} +{% if currentVersion == "github-ae@latest" %} +1. Before you can enable {% data variables.product.prodname_secret_scanning %}, you need to enable {% data variables.product.prodname_GH_advanced_security %} first. To the right of "{% data variables.product.prodname_GH_advanced_security %}", click **Enable**. + ![Enable {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/enterprise/github-ae/repository/enable-ghas-ghae.png) +2. Click **Enable {% data variables.product.prodname_GH_advanced_security %} for this repository** to confirm the action. + ![Confirm enabling {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/enterprise/github-ae/repository/enable-ghas-confirmation-ghae.png) +3. To the right of "{% data variables.product.prodname_secret_scanning_caps %}", click **Enable**. + ![Enable {% data variables.product.prodname_secret_scanning %} for your repository](/assets/images/enterprise/github-ae/repository/enable-secret-scanning-ghae.png) +{% endif %} ### Excluding alerts from {% data variables.product.prodname_secret_scanning %} in {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repositories diff --git a/content/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository.md b/content/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository.md index c759845dad..8c100e064b 100644 --- a/content/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository.md +++ b/content/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository.md @@ -4,6 +4,7 @@ intro: 'You can configure the retention period for {% data variables.product.pro versions: free-pro-team: '*' enterprise-server: '>=2.23' + github-ae: '*' --- {% data reusables.actions.about-artifact-log-retention %} diff --git a/content/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository.md b/content/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository.md index 3ae328181f..4027f7cfc1 100644 --- a/content/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository.md +++ b/content/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository.md @@ -4,6 +4,7 @@ intro: 'Repository owners can disable, enable, and limit {% data variables.produ versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} diff --git a/content/github/administering-a-repository/managing-alerts-from-secret-scanning.md b/content/github/administering-a-repository/managing-alerts-from-secret-scanning.md index a25d4ef064..d6c7398e98 100644 --- a/content/github/administering-a-repository/managing-alerts-from-secret-scanning.md +++ b/content/github/administering-a-repository/managing-alerts-from-secret-scanning.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.secret-scanning %}' versions: free-pro-team: '*' enterprise-server: '>=3.0' + github-ae: '*' --- {% data reusables.secret-scanning.beta %} @@ -13,20 +14,28 @@ versions: {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} -3. In the left sidebar, click **Detected secrets**. -!["Detected secrets" tab](/assets/images/help/repository/sidebar-secrets.png) +3. In the left sidebar, click **Secret scanning alerts**. + {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} + !["Secret scanning alerts" tab](/assets/images/help/repository/sidebar-secrets.png) + {% endif %} + {% if currentVersion == "github-ae@latest" %} + !["Secret scanning alerts" tab](/assets/images/enterprise/github-ae/repository/sidebar-secrets-ghae.png) + {% endif %} 4. Under "Secret scanning" click the alert you want to view. {% if currentVersion == "free-pro-team@latest" %} ![List of alerts from secret scanning](/assets/images/help/repository/secret-scanning-click-alert.png) {% endif %} - {% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} + {% if currentVersion ver_gt "enterprise-server@2.22" %} ![List of alerts from secret scanning](/assets/images/help/repository/secret-scanning-click-alert-ghe.png) {% endif %} -1. Optionally, use the "Mark as" drop-down menu and click a reason for resolving an alert. + {% if currentVersion == "github-ae@latest" %} + ![List of alerts from secret scanning](/assets/images/enterprise/github-ae/repository/secret-scanning-click-alert-ghae.png) + {% endif %} +5. Optionally, use the "Mark as" drop-down menu and click a reason for resolving an alert. {% if currentVersion == "free-pro-team@latest" %} ![Drop-down menu for resolving an alert from secret scanning](/assets/images/help/repository/secret-scanning-resolve-alert.png) {% endif %} - {% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} + {% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} ![Drop-down menu for resolving an alert from secret scanning](/assets/images/help/repository/secret-scanning-resolve-alert-ghe.png) {% endif %} diff --git a/content/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository.md b/content/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository.md index f8c0730a6b..1b768465bb 100644 --- a/content/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository.md +++ b/content/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository.md @@ -10,6 +10,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=3.0' + github-ae: '*' --- {% if currentVersion == "free-pro-team@latest" %} @@ -26,31 +27,38 @@ You can manage a subset of security and analysis features for public repositorie ### Enabling or disabling security and analysis features{% if currentVersion == "free-pro-team@latest" %} for private repositories{% endif %} -You can manage the security and analysis features for your {% if currentVersion == "free-pro-team@latest" %}private or internal {% endif %}repository. If your organization or enterprise has a license for {% data variables.product.prodname_GH_advanced_security %} then extra options are available. {% data reusables.advanced-security.more-info-ghas %} +You can manage the security and analysis features for your {% if currentVersion == "free-pro-team@latest" %}private or internal {% endif %}repository.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} If your organization or enterprise has a license for {% data variables.product.prodname_GH_advanced_security %} then extra options are available. {% data reusables.advanced-security.more-info-ghas %}{% endif %} {% data reusables.security.security-and-analysis-features-enable-read-only %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-security-and-analysis %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} 4. Under "Configure security and analysis features", to the right of the feature, click **Disable** or **Enable**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}If the control for "{% data variables.product.prodname_secret_scanning_caps %}" is not active, you need to enable {% data variables.product.prodname_GH_advanced_security %} first. !["Enable" or "Disable" button for "Configure security and analysis" features](/assets/images/help/repository/security-and-analysis-disable-or-enable-dotcom-private.png) {% note %} **Note:** If you disable {% data variables.product.prodname_GH_advanced_security %}, both {% data variables.product.prodname_secret_scanning %} and {% data variables.product.prodname_code_scanning %} are disabled. Any workflows, SARIF uploads, or API calls for {% data variables.product.prodname_code_scanning %} will fail. {% endnote %} - - {% else if enterpriseServerVersions contains currentVersion and currentVersion == "enterprise-server@3.0" %} + {% endif %} + {% endif %} + {% if currentVersion == "enterprise-server@3.0" %} !["Enable" or "Disable" button for "Configure security and analysis" features](/assets/images/help/repository/security-and-analysis-disable-or-enable-ghe.png) {% endif %} + {% if currentVersion == "github-ae@latest" %} +4. Under "Configure security and analysis features", to the right of the feature, click **Disable** or **Enable**. Before you can enable "{% data variables.product.prodname_secret_scanning %}" for your repository, you need to enable {% data variables.product.prodname_GH_advanced_security %}. + ![Enable or disable {% data variables.product.prodname_GH_advanced_security %} or {% data variables.product.prodname_secret_scanning %} for your repository](/assets/images/enterprise/github-ae/repository/enable-ghas-secret-scanning-ghae.png) + {% endif %} + ### Granting access to security alerts -After you enable {% data variables.product.prodname_dependabot %} or {% data variables.product.prodname_secret_scanning %} alerts for a repository in an organization, organization owners and repository administrators can view the alerts by default. You can give additional teams and people access to the alerts for a repository. +After you enable {% if currentVersion != "github-ae@latest" %}{% data variables.product.prodname_dependabot %} or {% endif %}{% data variables.product.prodname_secret_scanning %} alerts for a repository in an organization, organization owners and repository administrators can view the alerts by default. You can give additional teams and people access to the alerts for a repository. {% note %} -Organization owners and repository administrators can only grant access to view security alerts, such as {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_secret_scanning %} alerts, to people or teams who have write access to the repo. +Organization owners and repository administrators can only grant access to view security alerts, such as {% data variables.product.prodname_secret_scanning %} alerts, to people or teams who have write access to the repo. {% endnote %} @@ -64,8 +72,17 @@ Organization owners and repository administrators can only grant access to view {% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} ![Search field for granting people or teams access to security alerts](/assets/images/help/repository/security-and-analysis-security-alerts-person-or-team-search-ghe.png) {% endif %} + {% if currentVersion == "github-ae@latest" %} + ![Search field for granting people or teams access to security alerts](/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-person-or-team-search-ghae.png) + {% endif %} + 5. Click **Save changes**. - !["Save changes" button for changes to security alert settings](/assets/images/help/repository/security-and-analysis-security-alerts-save-changes.png) + {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} + !["Save changes" button for changes to security alert settings](/assets/images/help/repository/security-and-analysis-security-alerts-save-changes.png) + {% endif %} + {% if currentVersion == "github-ae@latest" %} + !["Save changes" button for changes to security alert settings](/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-save-changes-ghae.png) + {% endif %} ### Removing access to security alerts @@ -79,6 +96,9 @@ Organization owners and repository administrators can only grant access to view {% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} !["x" button to remove someone's access to security alerts for your repository](/assets/images/help/repository/security-and-analysis-security-alerts-username-x-ghe.png) {% endif %} + {% if currentVersion == "github-ae@latest" %} + !["x" button to remove someone's access to security alerts for your repository](/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-username-x-ghae.png) + {% endif %} ### Further reading diff --git a/content/github/administering-a-repository/securing-your-repository.md b/content/github/administering-a-repository/securing-your-repository.md index df0cafb217..73f4af51ea 100644 --- a/content/github/administering-a-repository/securing-your-repository.md +++ b/content/github/administering-a-repository/securing-your-repository.md @@ -7,5 +7,6 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=3.0' + github-ae: '*' --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning.md index 9684696ef4..93644fd985 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning.md @@ -7,6 +7,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta %} @@ -35,7 +36,7 @@ You can use {% data variables.product.prodname_code_scanning %} with {% data var {% data reusables.code-scanning.supported-languages %} -You can view and contribute to the queries for {% data variables.product.prodname_code_scanning %} in the [`github/codeql`](https://github.com/github/codeql) repository. For more information, see [{% data variables.product.prodname_codeql %} queries](https://help.semmle.com/QL/learn-ql/writing-queries/writing-queries.html) in the {% data variables.product.prodname_codeql %} documentation. +You can view and contribute to the queries for {% data variables.product.prodname_code_scanning %} in the [`github/codeql`](https://github.com/github/codeql) repository. For more information, see [{% data variables.product.prodname_codeql %} queries](https://codeql.github.com/docs/writing-codeql-queries/codeql-queries/) in the {% data variables.product.prodname_codeql %} documentation. {% if currentVersion == "free-pro-team@latest" %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/about-integration-with-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/about-integration-with-code-scanning.md index 87abca9e6d..0e514fc25e 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/about-integration-with-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/about-integration-with-code-scanning.md @@ -6,6 +6,7 @@ product: '{% data reusables.gated-features.code-scanning %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta %} @@ -17,7 +18,7 @@ If you use a third-party static analysis tool that can produce results as Static ### Integrations with webhooks -You can use {% data variables.product.prodname_code_scanning %} webhooks to build or set up integrations, such as [{% data variables.product.prodname_github_app %}s](/apps/building-github-apps/) or [{% data variables.product.prodname_oauth_app %}s](/apps/building-oauth-apps/), that subscribe to {% data variables.product.prodname_code_scanning %} events in your repository. For example, you could build an integration that creates an issue on {% data variables.product.product_location %} or sends you a Slack notification when a new {% data variables.product.prodname_code_scanning %} alert is added in your repository. For more information, see "[Creating webhooks](/developers/webhooks-and-events/creating-webhooks)" and "[Webhook events and payloads](/developers/webhooks-and-events/webhook-events-and-payloads#code_scanning_alert)." +You can use {% data variables.product.prodname_code_scanning %} webhooks to build or set up integrations, such as [{% data variables.product.prodname_github_app %}s](/apps/building-github-apps/) or [{% data variables.product.prodname_oauth_app %}s](/apps/building-oauth-apps/), that subscribe to {% data variables.product.prodname_code_scanning %} events in your repository. For example, you could build an integration that creates an issue on {% data variables.product.product_name %} or sends you a Slack notification when a new {% data variables.product.prodname_code_scanning %} alert is added in your repository. For more information, see "[Creating webhooks](/developers/webhooks-and-events/creating-webhooks)" and "[Webhook events and payloads](/developers/webhooks-and-events/webhook-events-and-payloads#code_scanning_alert)." ### Further reading diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors.md index 2f126e4f1c..d8f88cd46b 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors.md @@ -7,5 +7,6 @@ product: '{% data reusables.gated-features.code-scanning %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning.md index c0231c0766..c54a30bb93 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning.md @@ -7,6 +7,7 @@ miniTocMaxHeadingLevel: 4 versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta %} @@ -14,9 +15,9 @@ versions: ### About {% data variables.product.prodname_code_scanning %} configuration -You can run {% data variables.product.prodname_code_scanning %} within {% data variables.product.product_location %}, using {% data variables.product.prodname_actions %}, or from your continuous integration (CI) system, using the {% data variables.product.prodname_codeql_runner %}. For more information about {% data variables.product.prodname_actions %}, see "[About {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/about-github-actions)." For more information about the {% data variables.product.prodname_codeql_runner %}, see "[Running {% data variables.product.prodname_code_scanning %} in your CI system](/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system)." +You can run {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_name %}, using {% data variables.product.prodname_actions %}, or from your continuous integration (CI) system, using the {% data variables.product.prodname_codeql_runner %}. For more information about {% data variables.product.prodname_actions %}, see "[About {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/about-github-actions)." For more information about the {% data variables.product.prodname_codeql_runner %}, see "[Running {% data variables.product.prodname_code_scanning %} in your CI system](/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system)." -This article is about running {% data variables.product.prodname_code_scanning %} within {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_ghe_server %}{% else %}{% data variables.product.prodname_dotcom %}{% endif %}. +This article is about running {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_name %}. Before you can configure {% data variables.product.prodname_code_scanning %} for a repository, you must set up {% data variables.product.prodname_code_scanning %} by adding a {% data variables.product.prodname_actions %} workflow to the repository. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository)." @@ -203,13 +204,17 @@ jobs: {% data reusables.code-scanning.run-additional-queries %} -To add one or more queries, add a `with: queries:` entry within the `uses: github/codeql-action/init@v1` section of the workflow. +To add one or more queries, add a `with: queries:` entry within the `uses: github/codeql-action/init@v1` section of the workflow. If the queries are in a private repository, use the `external-repository-token` parameter to specify a token that has access to the private repository. +{% raw %} ``` yaml - uses: github/codeql-action/init@v1 with: queries: COMMA-SEPARATED LIST OF PATHS + # Optional. Provide a token to access private repositories. + external-repository-token: ${{ secrets.ACCESS_TOKEN }} ``` +{% endraw %} You can also specify query suites in the value of `queries`. Query suites are collections of queries, usually grouped by purpose or language. @@ -219,12 +224,15 @@ If you are also using a configuration file for custom settings, any additional q In the following example, the `+` symbol ensures that the specified additional queries are used together with any queries specified in the referenced configuration file. +{% raw %} ``` yaml - uses: github/codeql-action/init@v1 with: config-file: ./.github/codeql/codeql-config.yml queries: +security-and-quality,octo-org/python-qlpack/show_ifs.ql@main + external-repository-token: ${{ secrets.ACCESS_TOKEN }} ``` +{% endraw %} ### Using a custom configuration file @@ -238,9 +246,19 @@ In the workflow file, use the `config-file` parameter of the `init` action to sp config-file: ./.github/codeql/codeql-config.yml ``` -The configuration file can be located within the local repository, or in a remote, public repository. Using a remote, public repository allows you to specify configuration options for multiple repositories in a single place. When you reference a configuration file located in a remote repository, you can use the _OWNER/REPOSITORY/FILENAME@BRANCH_ syntax. For example, _monacorp/shared/codeql-config.yml@main_. +{% data reusables.code-scanning.custom-configuration-file %} -The settings in the file are written in YAML format. +If the configuration file is located in an external private repository, use the `external-repository-token` parameter of the `init` action to specify a token that has access to the private repository. + +{% raw %} +```yaml +uses: github/codeql-action/init@v1 +with: + external-repository-token: ${{ secrets.ACCESS_TOKEN }} +``` +{% endraw %} + +The settings in the configuration file are written in YAML format. #### Specifying additional queries @@ -296,25 +314,6 @@ You can quickly analyze small portions of a monorepo when you modify code in spe {% data reusables.code-scanning.autobuild-add-build-steps %} For more information about how to configure {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} for compiled languages, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-the-codeql-workflow-for-compiled-languages)." -### Accessing private repositories - -If your workflow for {% data variables.product.prodname_code_scanning %} accesses a private repository, other than the repository that contains the workflow, you'll need to configure Git to authenticate with a personal access token. Define the secret in the runner environment by using `jobs..steps[*].env` in your workflow before any {% data variables.product.prodname_codeql %} actions. For more information, see "[Creating a personal access token for the command line](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)" and "[Creating and storing encrypted secrets](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets)." - -For example, the following configuration has Git replace the full URLs to the `ghost/foo`, `ghost/bar`, and `ghost/baz` repositories on {% data variables.product.prodname_dotcom_the_website %} with URLs that include the personal access token that you store in the `ACCESS_TOKEN` environment variable. - -{% raw %} -```yaml -steps: -- name: Configure access to private repositories - env: - TOKEN: ${{ secrets.ACCESS_TOKEN }} - run: | - git config --global url."https://${TOKEN}@github.com/ghost/foo".insteadOf "https://github.com/ghost/foo" - git config --global url."https://${TOKEN}@github.com/ghost/bar".insteadOf "https://github.com/ghost/bar" - git config --global url."https://${TOKEN}@github.com/ghost/baz".insteadOf "https://github.com/ghost/baz" -``` -{% endraw %} - ### Uploading {% data variables.product.prodname_code_scanning %} data to {% data variables.product.prodname_dotcom %} {% data variables.product.prodname_dotcom %} can display code analysis data generated externally by a third-party tool. You can upload code analysis data with the `upload-sarif` action. For more information, see "[Uploading a SARIF file to GitHub](/github/finding-security-vulnerabilities-and-errors-in-your-code/uploading-a-sarif-file-to-github)." diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-codeql-code-scanning-in-your-ci-system.md index 7a8c9e9014..b94bfc2fba 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-codeql-code-scanning-in-your-ci-system.md @@ -9,6 +9,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta-codeql-runner %} @@ -85,6 +86,8 @@ Use the `--config-file` flag of the `init` command to specify the configuration $ /path/to-runner/codeql-runner-linux init --config-file .github/codeql/codeql-config.yml ``` +{% data reusables.code-scanning.custom-configuration-file %} + #### Example configuration files {% data reusables.code-scanning.example-configuration-files %} @@ -145,7 +148,7 @@ Attempts to build the code for the compiled languages C/C++, C#, and Java. For t #### `analyze` -Analyzes the code in the {% data variables.product.prodname_codeql %} databases and uploads results to {% data variables.product.product_location %}. +Analyzes the code in the {% data variables.product.prodname_codeql %} databases and uploads results to {% data variables.product.product_name %}. | Flag | Required | Input value | | ---- |:--------:| ----------- | @@ -155,7 +158,7 @@ Analyzes the code in the {% data variables.product.prodname_codeql %} databases | `--github-url` | ✓ | URL of the {% data variables.product.prodname_dotcom %} instance where your repository is hosted. | | `--github-auth` | ✓ | A {% data variables.product.prodname_github_apps %} token or personal access token. | | `--checkout-path` | | The path to the checkout of your repository. The default is the current working directory. | -| `--no-upload` | | None. Stops the {% data variables.product.prodname_codeql_runner %} from uploading the results to {% data variables.product.product_location %}. | +| `--no-upload` | | None. Stops the {% data variables.product.prodname_codeql_runner %} from uploading the results to {% data variables.product.product_name %}. | | `--output-dir` | | Directory where the output SARIF files are stored. The default is in the directory of temporary files. | | `--ram` | | Amount of memory to use when running queries. The default is to use all available memory. | | `--no-add-snippets` | | None. Excludes code snippets from the SARIF output. | @@ -166,7 +169,7 @@ Analyzes the code in the {% data variables.product.prodname_codeql %} databases #### `upload` -Uploads SARIF files to {% data variables.product.product_location %}. +Uploads SARIF files to {% data variables.product.product_name %}. {% note %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-the-codeql-workflow-for-compiled-languages.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-the-codeql-workflow-for-compiled-languages.md index 8dbf60a780..3f9ef7ac04 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-the-codeql-workflow-for-compiled-languages.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-the-codeql-workflow-for-compiled-languages.md @@ -10,6 +10,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta %} @@ -32,7 +33,10 @@ If your workflow uses a `language` matrix, `autobuild` attempts to build each of {% note %} +{% if currentVersion == "github-ae@latest" %}**Note**: For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% else %} **Note**: If you use self-hosted runners for {% data variables.product.prodname_actions %}, you may need to install additional software to use the `autobuild` process. Additionally, if your repository requires a specific version of a build tool, you may need to install it manually. For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". +{% endif %} {% endnote %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/index.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/index.md index 3c5f11b678..cf5bc1721e 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/index.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/index.md @@ -7,6 +7,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- ### Table of Contents diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning.md index 01a082e501..ee5e4671d5 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning.md @@ -9,5 +9,6 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository.md index 70a5d289e3..a72de426b2 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository.md @@ -7,6 +7,7 @@ permissions: 'If you have write permission to a repository you can manage {% dat versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' redirect_from: - /github/managing-security-vulnerabilities/managing-alerts-from-automated-code-scanning - /github/finding-security-vulnerabilities-and-errors-in-your-code/managing-alerts-from-code-scanning diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-a-container.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-a-container.md index 8b0021e943..a05a2ca349 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-a-container.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-a-container.md @@ -6,6 +6,7 @@ product: '{% data reusables.gated-features.code-scanning %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system.md index 9ae8a2ddf5..b2ff31219a 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system.md @@ -8,6 +8,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- @@ -23,9 +24,9 @@ If you use a continuous integration or continuous delivery/deployment (CI/CD) sy {% data reusables.code-scanning.about-code-scanning %} For information, see "[About {% data variables.product.prodname_code_scanning %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning)." -You can use the {% data variables.product.prodname_codeql_runner %} to run {% data variables.product.prodname_code_scanning %} on code that you're processing in a third-party continuous integration (CI) system. Alternatively, you can use {% data variables.product.prodname_actions %} to run {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_location %}. For information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository)." +You can use the {% data variables.product.prodname_codeql_runner %} to run {% data variables.product.prodname_code_scanning %} on code that you're processing in a third-party continuous integration (CI) system. Alternatively, you can use {% data variables.product.prodname_actions %} to run {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_name %}. For information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository)." -The {% data variables.product.prodname_codeql_runner %} is a command-line tool that runs {% data variables.product.prodname_codeql %} analysis on a checkout of a {% data variables.product.prodname_dotcom %} repository. You add the runner to your third-party system, then call the runner to analyze code and upload the results to {% data variables.product.product_location %}. These results are displayed as {% data variables.product.prodname_code_scanning %} alerts in the repository. +The {% data variables.product.prodname_codeql_runner %} is a command-line tool that runs {% data variables.product.prodname_codeql %} analysis on a checkout of a {% data variables.product.prodname_dotcom %} repository. You add the runner to your third-party system, then call the runner to analyze code and upload the results to {% data variables.product.product_name %}. These results are displayed as {% data variables.product.prodname_code_scanning %} alerts in the repository. {% note %} @@ -40,7 +41,7 @@ The {% data variables.product.prodname_codeql_runner %} is a command-line tool t ### Downloading the {% data variables.product.prodname_codeql_runner %} -You can download the {% data variables.product.prodname_codeql_runner %} from https://github.com/github/codeql-action/releases. On some operating systems, you may need to change permissions for the downloaded file before you can run it. +You can download the {% data variables.product.prodname_codeql_runner %} from https://{% if currentVersion == "enterprise-server@2.22" or currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases. On some operating systems, you may need to change permissions for the downloaded file before you can run it. On Linux: @@ -59,33 +60,33 @@ On Windows, the `codeql-runner-win.exe` file usually requires no change to permi ### Adding the {% data variables.product.prodname_codeql_runner %} to your CI system -Once you download the {% data variables.product.prodname_codeql_runner %} and verify that it can be executed, you should make the runner available to each CI server that you intend to use for {% data variables.product.prodname_code_scanning %}. For example, you might configure each server to copy the runner from a central, internal location. Alternatively, you could use the REST API to get the runner directly from GitHub, for example: +Once you download the {% data variables.product.prodname_codeql_runner %} and verify that it can be executed, you should make the runner available to each CI server that you intend to use for {% data variables.product.prodname_code_scanning %}. For example, you might configure each server to copy the runner from a central, internal location. Alternatively, you could use the REST API to get the runner directly from {% data variables.product.prodname_dotcom %}, for example: ```shell -wget https://github.com/github/codeql-action/releases/latest/download/codeql-runner-linux +wget https://{% if currentVersion == "enterprise-server@2.22" or currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases/latest/download/codeql-runner-linux chmod +x codeql-runner-linux ``` In addition to this, each CI server also needs: -- A {% data variables.product.prodname_github_app %} or personal access token for the {% data variables.product.prodname_codeql_runner %} to use. You must use an access token with the `security_events` scope, or a {% data variables.product.prodname_github_app %} with the `security_events` write permission. For information, see "[Building {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps)" and "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)." +- A {% data variables.product.prodname_github_app %} or personal access token for the {% data variables.product.prodname_codeql_runner %} to use. You must use an access token with the `repo` scope, or a {% data variables.product.prodname_github_app %} with the `security_events` write permission, and `metadata` and `contents` read permissions. For information, see "[Building {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps)" and "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)." - Access to the {% data variables.product.prodname_codeql %} bundle associated with this release of the {% data variables.product.prodname_codeql_runner %}. This package contains queries and libraries needed for {% data variables.product.prodname_codeql %} analysis, plus the {% data variables.product.prodname_codeql %} CLI, which is used internally by the runner. For information, see "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)." The options for providing access to the {% data variables.product.prodname_codeql %} bundle are: -1. Allow the CI servers access to {% data variables.product.prodname_dotcom_the_website %} so that the {% data variables.product.prodname_codeql_runner %} can download the bundle automatically. -1. Manually download/extract the bundle, store it with other central resources, and use the `--codeql-path` flag to specify the location of the bundle in calls to initialize the {% data variables.product.prodname_codeql_runner %}. -{% if enterpriseServerVersions contains currentVersion %} -1. You can mirror the `github/codeql-action` repository on {% data variables.product.product_location %}. Unless you specify the `--codeql-path` flag, the runner automatically checks for the bundle in this location and on {% data variables.product.prodname_dotcom_the_website %}.{% endif %} +1. Allow the CI servers access to https://{% if currentVersion == "enterprise-server@2.22" or currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action so that the {% data variables.product.prodname_codeql_runner %} can download the bundle automatically. +{% if currentVersion == "enterprise-server@2.22" %} +1. Mirror the `github/codeql-action` repository on {% data variables.product.product_name %}. Unless you specify the `--codeql-path` flag, the runner automatically checks for the bundle in this location and on {% data variables.product.prodname_dotcom_the_website %}.{% endif %} +1. Manually download/extract the bundle, store it with other central resources, and use the `--codeql-path` flag to specify the location of the bundle in calls to initialize the {% data variables.product.prodname_codeql_runner %}. ### Calling the {% data variables.product.prodname_codeql_runner %} You should call the {% data variables.product.prodname_codeql_runner %} from the checkout location of the repository you want to analyze. The two main commands are: 1. `init` required to initialize the runner and create a {% data variables.product.prodname_codeql %} database for each language to be analyzed. These databases are populated and analyzed by subsequent commands. -1. `analyze` required to populate the {% data variables.product.prodname_codeql %} databases, analyze them, and upload results to {% data variables.product.product_location %}. +1. `analyze` required to populate the {% data variables.product.prodname_codeql %} databases, analyze them, and upload results to {% data variables.product.product_name %}. -For both commands, you must specify the URL of {% data variables.product.product_location %}, the repository *OWNER/NAME*, and the GitHub Apps or personal access token to use for authentication. You also need to specify the location of the CodeQL bundle unless the CI server has access to download it directly from the `github/codeql-action` repository on {% data variables.product.prodname_dotcom_the_website %}{% if enterpriseServerVersions contains currentVersion %} or mirrored on {% data variables.product.product_location %}{% endif %}. +For both commands, you must specify the URL of {% data variables.product.product_name %}, the repository *OWNER/NAME*, and the {% data variables.product.prodname_github_apps %} or personal access token to use for authentication. You also need to specify the location of the CodeQL bundle, unless the CI server has access to download it directly from the `github/codeql-action` repository. You can configure where the {% data variables.product.prodname_codeql_runner %} stores the CodeQL bundle for future analysis on a server using the `--tools-dir` flag and where it stores temporary files during analysis using `--temp-dir`. @@ -121,7 +122,7 @@ This example runs {% data variables.product.prodname_codeql %} analysis on a Lin > Successfully uploaded results ``` -The server has access to download the {% data variables.product.prodname_codeql %} bundle directly from the `github/codeql-action` repository on {% data variables.product.prodname_dotcom_the_website %}{% if enterpriseServerVersions contains currentVersion %} or mirrored on {% data variables.product.product_location %}{% endif %}, so there is no need to use the `--codeql-path` flag. When the analysis is complete, the {% data variables.product.prodname_codeql_runner %} uploads the results to the {% data variables.product.prodname_code_scanning %} view. For more information, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository)." +The server has access to download the {% data variables.product.prodname_codeql %} bundle directly from the `github/codeql-action` repository, so there is no need to use the `--codeql-path` flag. When the analysis is complete, the {% data variables.product.prodname_codeql_runner %} uploads the results to the {% data variables.product.prodname_code_scanning %} view. For more information, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository)." #### Compiled language example @@ -142,14 +143,15 @@ This example is similar to the previous example, however this time the repositor . /srv/checkout/example-repo-2/codeql-runner/codeql-env.sh". ``` -1. Run the script generated by the `init` action to set up the environment to monitor the build. +1. Source the script generated by the `init` action to set up the environment to monitor the build. Note the leading dot and space in the following code snippet. ```shell $ . /srv/checkout/example-repo-2/codeql-runner/codeql-env.sh ``` -1. Build the code. -1. Populate the {% data variables.product.prodname_codeql %} databases, analyze them, and upload the results to GitHub. +1. Build the code. On macOS, you need to prefix the build command with the environment variable `$CODEQL_RUNNER`. For more information, see "[Troubleshooting CodeQL code scanning in your CI system](/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-codeql-code-scanning-in-your-ci-system#no-code-found-during-the-build)." + +1. Populate the {% data variables.product.prodname_codeql %} databases, analyze them, and upload the results to {% data variables.product.prodname_dotcom %}. ```shell $ /path/to-runner/codeql-runner-linux analyze --repository octo-org/example-repo-2 diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning.md index 2d6783b803..eb3de38525 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning.md @@ -8,6 +8,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository.md index c23538ba91..e7659aeb09 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository.md @@ -11,6 +11,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta %} @@ -28,7 +29,7 @@ You decide how to generate {% data variables.product.prodname_code_scanning %} a {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} -3. To the right of "{% data variables.product.prodname_code_scanning_capc %}", click **Set up {% data variables.product.prodname_code_scanning %}**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}If {% data variables.product.prodname_code_scanning %} is missing, you need to ask an organization owner or repository administrator to enable {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[Managing security and analysis settings for your organization](/github/setting-up-and-managing-organizations-and-teams/managing-security-and-analysis-settings-for-your-organization)" or "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %} +3. To the right of "{% data variables.product.prodname_code_scanning_capc %} alerts", click **Set up {% data variables.product.prodname_code_scanning %}**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}If {% data variables.product.prodname_code_scanning %} is missing, you need to ask an organization owner or repository administrator to enable {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[Managing security and analysis settings for your organization](/github/setting-up-and-managing-organizations-and-teams/managing-security-and-analysis-settings-for-your-organization)" or "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %} !["Set up {% data variables.product.prodname_code_scanning %}" button to the right of "{% data variables.product.prodname_code_scanning_capc %}" in the Security Overview](/assets/images/help/security/overview-set-up-code-scanning.png) 4. Under "Get started with {% data variables.product.prodname_code_scanning %}", click **Set up this workflow** on the {% data variables.product.prodname_codeql_workflow %} or on a third-party workflow. !["Set up this workflow" button under "Get started with {% data variables.product.prodname_code_scanning %}" heading](/assets/images/help/repository/code-scanning-set-up-this-workflow.png) diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests.md index a0c75841b6..496acb2802 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests.md @@ -7,6 +7,7 @@ permissions: 'If you have read permission for a repository, you can see annotati versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta %} @@ -31,7 +32,7 @@ When you look at the **Files changed** tab for a pull request, you see annotatio ![Alert annotation within a pull request diff](/assets/images/help/repository/code-scanning-pr-annotation.png) -If you have write permission for the repository, some annotations contain links with extra context for the alert. In the example above, from {% data variables.product.prodname_codeql %} analysis, you can click **user-provided value** to see where the untrusted data enters the data flow (this is referred to as the source). In this case you can also view the full path from the source to the code that uses the data (the sink) by clicking **Show paths**. This makes it easy to check whether the data is untrusted or if the analysis failed to recognize a data sanitization step between the source and the sink. For information about analyzing data flow using {% data variables.product.prodname_codeql %}, see "[About data flow analysis](https://help.semmle.com/QL/learn-ql/intro-to-data-flow.html)." +If you have write permission for the repository, some annotations contain links with extra context for the alert. In the example above, from {% data variables.product.prodname_codeql %} analysis, you can click **user-provided value** to see where the untrusted data enters the data flow (this is referred to as the source). In this case you can also view the full path from the source to the code that uses the data (the sink) by clicking **Show paths**. This makes it easy to check whether the data is untrusted or if the analysis failed to recognize a data sanitization step between the source and the sink. For information about analyzing data flow using {% data variables.product.prodname_codeql %}, see "[About data flow analysis](https://codeql.github.com/docs/writing-codeql-queries/about-data-flow-analysis/)." To see more information about an alert, users with write permission can click the **Show more details** link shown in the annotation. This allows you to see all of the context and metadata provided by the tool in an alert view. In the example below, you can see tags showing the severity, type, and relevant common weakness enumerations (CWEs) for the problem. The view also shows which commit introduced the problem. diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-codeql-code-scanning-in-your-ci-system.md index e53bd81edc..6a37da5f57 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-codeql-code-scanning-in-your-ci-system.md @@ -8,6 +8,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta-codeql-runner %} @@ -51,4 +52,7 @@ If the `analyze` command for the {% data variables.product.prodname_codeql_runne {% endnote %} +1. You're analyzing a compiled language on macOS without using the `autobuild` command and you run the build steps yourself after the `init` step. If SIP (System Integrity Protection) is enabled, which is the default on recent versions of OSX, analysis might fail. To fix this, prefix the build command with the `$CODEQL_RUNNER` environment variable. + For example, if your build command is `cmd arg1 arg2`, you should run `$CODEQL_RUNNER cmd arg1 arg2`. + 1. The code is built in a container or on a separate machine. If you use a containerized build or if you outsource the build to another machine, make sure to run the {% data variables.product.prodname_codeql_runner %} in the container or on the machine where your build task takes place. For more information, see "[Running CodeQL code scanning in a container](/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-a-container)." diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-the-codeql-workflow.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-the-codeql-workflow.md index f1c4d3e53a..5e1f031769 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-the-codeql-workflow.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-the-codeql-workflow.md @@ -8,6 +8,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/uploading-a-sarif-file-to-github.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/uploading-a-sarif-file-to-github.md index b597086da2..a8908896f7 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/uploading-a-sarif-file-to-github.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/uploading-a-sarif-file-to-github.md @@ -9,6 +9,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system.md index af71f4047d..942e66060b 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system.md @@ -7,5 +7,6 @@ product: '{% data reusables.gated-features.code-scanning %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- diff --git a/content/github/getting-started-with-github/about-github-advanced-security.md b/content/github/getting-started-with-github/about-github-advanced-security.md index 7f56cb9742..bd50369cfa 100644 --- a/content/github/getting-started-with-github/about-github-advanced-security.md +++ b/content/github/getting-started-with-github/about-github-advanced-security.md @@ -4,6 +4,7 @@ intro: '{% data variables.product.prodname_dotcom %} makes extra security featur versions: free-pro-team: '*' enterprise-server: '>=3.0' + github-ae: '*' --- ### About {% data variables.product.prodname_GH_advanced_security %} @@ -36,16 +37,21 @@ For information about {% data variables.product.prodname_advanced_security %} fe {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} -### Enabling {% data variables.product.prodname_advanced_security %} features on {% data variables.product.prodname_ghe_server %} +{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +### Enabling {% data variables.product.prodname_advanced_security %} features on {% data variables.product.product_name %} +{% if currentVersion ver_gt "enterprise-server@2.22" %} The site administrator must enable {% data variables.product.prodname_advanced_security %} for {% data variables.product.product_location %} before you can use these features. For more information, see "[Configuring Advanced Security features](/admin/configuration/configuring-advanced-security-features)." +{% endif %} Once your system is set up, you can enable and disable these features at the organization or repository level. For more information, see "[Managing security and analysis settings for your organization](/github/setting-up-and-managing-organizations-and-teams/managing-security-and-analysis-settings-for-your-organization)" and "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." +{% if currentVersion ver_gt "enterprise-server@2.22" %} For information about purchasing a license for {% data variables.product.prodname_GH_advanced_security %}, contact {% data variables.contact.contact_enterprise_sales %}. {% endif %} +{% endif %} +{% if currentVersion != "github-ae@latest" %} ### Enabling {% data variables.product.prodname_advanced_security %} features on {% data variables.product.prodname_dotcom_the_website %} For public repositories on {% data variables.product.prodname_dotcom_the_website %}, these features are permanently on and are only disabled if you change the visibility of the project so that the code is no longer public. @@ -60,3 +66,4 @@ If you have an enterprise account, license use for the enterprise is shown on yo For information about purchasing a license for {% data variables.product.prodname_GH_advanced_security %}, contact {% data variables.contact.contact_enterprise_sales %}. {% endif %} +{% endif %} diff --git a/content/github/searching-for-information-on-github/about-searching-on-github.md b/content/github/searching-for-information-on-github/about-searching-on-github.md index aa30f601d7..bcbeedfddc 100644 --- a/content/github/searching-for-information-on-github/about-searching-on-github.md +++ b/content/github/searching-for-information-on-github/about-searching-on-github.md @@ -45,7 +45,7 @@ You can search for the following information across all repositories you can acc - [Discussions](/github/searching-for-information-on-github/searching-discussions){% endif %} - [Code](/articles/searching-code) - [Commits](/articles/searching-commits) -- [Users](/articles/searching-users){% if currentVersion == "free-pro-team@latest" %} +- [Users](/articles/searching-users){% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.1" %} - [Packages](/github/searching-for-information-on-github/searching-for-packages){% endif %} - [Wikis](/articles/searching-wikis) diff --git a/content/github/setting-up-and-managing-organizations-and-teams/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization.md b/content/github/setting-up-and-managing-organizations-and-teams/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization.md index 5934c07381..4ff72e431c 100644 --- a/content/github/setting-up-and-managing-organizations-and-teams/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization.md +++ b/content/github/setting-up-and-managing-organizations-and-teams/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization.md @@ -4,6 +4,7 @@ intro: 'You can configure the retention period for {% data variables.product.pro versions: free-pro-team: '*' enterprise-server: '>=2.23' + github-ae: '*' --- {% data reusables.actions.about-artifact-log-retention %} diff --git a/content/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization.md b/content/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization.md index 5dc65ade41..be68310433 100644 --- a/content/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization.md +++ b/content/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization.md @@ -4,6 +4,7 @@ intro: 'Organization owners can disable, enable, and limit GitHub Actions for an versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.actions.enterprise-beta %} diff --git a/content/github/setting-up-and-managing-organizations-and-teams/managing-allowed-ip-addresses-for-your-organization.md b/content/github/setting-up-and-managing-organizations-and-teams/managing-allowed-ip-addresses-for-your-organization.md index d92c67df7d..197bdfc5be 100644 --- a/content/github/setting-up-and-managing-organizations-and-teams/managing-allowed-ip-addresses-for-your-organization.md +++ b/content/github/setting-up-and-managing-organizations-and-teams/managing-allowed-ip-addresses-for-your-organization.md @@ -4,10 +4,11 @@ intro: You can restrict access to your organization's assets by configuring a li product: '{% data reusables.gated-features.allowed-ip-addresses %}' versions: free-pro-team: '*' + github-ae: '*' --- Organization owners can manage allowed IP addresses for an organization. - + ### About allowed IP addresses You can restrict access to organization assets by configuring an allow list for specific IP addresses. {% data reusables.identity-and-permissions.ip-allow-lists-example-and-restrictions %} @@ -16,7 +17,7 @@ You can restrict access to organization assets by configuring an allow list for {% data reusables.identity-and-permissions.ip-allow-lists-enable %} -You can also configure allowed IP addresses for the organizations in an enterprise account. For more information, see "[Enforcing security settings in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-security-settings-in-your-enterprise-account#managing-allowed-ip-addresses-for-organizations-in-your-enterprise-account)." +You can also configure allowed IP addresses for the organizations in an enterprise account. For more information, see {% if currentVersion == "github-ae@latest" %}"[Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)." {% else %}"[Enforcing security settings in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-security-settings-in-your-enterprise-account#managing-allowed-ip-addresses-for-organizations-in-your-enterprise-account)."{% endif %} ### Adding an allowed IP address @@ -60,4 +61,12 @@ You can also configure allowed IP addresses for the organizations in an enterpri ### Using {% data variables.product.prodname_actions %} with an IP allow list +{% if currentVersion == "github-ae@latest" %} + +{% data reusables.github-actions.ip-allow-list-hosted-runners %} + +{% else %} + {% data reusables.github-actions.ip-allow-list-self-hosted-runners %} + +{% endif %} diff --git a/content/github/setting-up-and-managing-organizations-and-teams/managing-security-and-analysis-settings-for-your-organization.md b/content/github/setting-up-and-managing-organizations-and-teams/managing-security-and-analysis-settings-for-your-organization.md index 2bc198a304..10537131df 100644 --- a/content/github/setting-up-and-managing-organizations-and-teams/managing-security-and-analysis-settings-for-your-organization.md +++ b/content/github/setting-up-and-managing-organizations-and-teams/managing-security-and-analysis-settings-for-your-organization.md @@ -7,6 +7,7 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=3.0' + github-ae: '*' --- ### About management of security and analysis settings @@ -29,6 +30,8 @@ The page that's displayed allows you to enable or disable all security and analy {% if currentVersion ver_gt "enterprise-server@3.0" %}If you have a license for {% data variables.product.prodname_GH_advanced_security %}, the page will also contain options to enable and disable {% data variables.product.prodname_advanced_security %} features. Any repositories that use {% data variables.product.prodname_GH_advanced_security %} are listed at the bottom of the page.{% endif %} +{% if currentVersion == "github-ae@latest" %}The page will also contain options to enable and disable {% data variables.product.prodname_advanced_security %} features.{% endif %} + ### Enabling or disabling a feature for all existing repositories You can enable or disable features for all repositories. {% if currentVersion == "free-pro-team@latest" %}The impact of your changes on repositories in your organization is determined by their visibility: @@ -39,37 +42,53 @@ You can enable or disable features for all repositories. {% if currentVersion == - **{% data variables.product.prodname_GH_advanced_security %}** - Your changes affect only private repositories because {% data variables.product.prodname_GH_advanced_security %} and the related features are always enabled for public repositories. - **{% data variables.product.prodname_secret_scanning_caps %}** - Your changes affect only private repositories where {% data variables.product.prodname_GH_advanced_security %} is also enabled. {% data variables.product.prodname_secret_scanning_caps %} is always enabled for public repositories.{% endif %} -{% data reusables.advanced-security.note-org-enable-uses-seats %} +{% data reusables.advanced-security.note-org-enable-uses-seats %} 1. Go to the security and analysis settings for your organization. For more information, see "[Displaying the security and analysis settings](#displaying-the-security-and-analysis-settings)." -1. Under "Configure security and analysis features", to the right of the feature, click **Disable all** or **Enable all**. +2. Under "Configure security and analysis features", to the right of the feature, click **Disable all** or **Enable all**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/help/organizations/security-and-analysis-disable-or-enable-all-ghas-dotcom.png) - {% else if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} + {% endif %} + {% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/help/organizations/security-and-analysis-disable-or-enable-all-ghe.png) {% endif %} -2. Optionally, enable the feature by default for new repositories in your organization. + {% if currentVersion == "github-ae@latest" %} + !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/enterprise/github-ae/organizations/security-and-analysis-disable-or-enable-all-ghae.png) + {% endif %} + {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +3. Optionally, enable the feature by default for new repositories in your organization. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} !["Enable by default" option for new repositories](/assets/images/help/organizations/security-and-analysis-enable-by-default-in-modal.png) - {% else if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} + {% endif %} + {% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} !["Enable by default" option for new repositories](/assets/images/help/organizations/security-and-analysis-secret-scanning-enable-by-default-ghe.png) {% endif %} -3. Click **Disable FEATURE** or **Enable FEATURE** to disable or enable the feature for all the repositories in your organization. +4. Click **Disable FEATURE** or **Enable FEATURE** to disable or enable the feature for all the repositories in your organization. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} ![Button to disable or enable feature](/assets/images/help/organizations/security-and-analysis-enable-dependency-graph.png) - {% else if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} + {% endif %} + {% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} ![Button to disable or enable feature](/assets/images/help/organizations/security-and-analysis-enable-secret-scanning-ghe.png) {% endif %} + {% endif %} + {% if currentVersion == "github-ae@latest" %} +3. Click **Enable for all eligible repositories** to enable the feature for all the new repositories in your organization that will have {% data variables.product.prodname_advanced_security %} enabled. + ![Button to enable feature for all the eligible repositories in the organization](/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-secret-scanning-existing-repos-ghae.png) + {% endif %} ### Enabling or disabling a feature automatically when new repositories are added 1. Go to the security and analysis settings for your organization. For more information, see "[Displaying the security and analysis settings](#displaying-the-security-and-analysis-settings)." -1. Under "Configure security and analysis features", to the right of the feature, enable or disable the feature by default for new repositories{% if currentVersion == "free-pro-team@latest" %}, or all new private repositories,{% endif %} in your organization. +2. Under "Configure security and analysis features", to the right of the feature, enable or disable the feature by default for new repositories{% if currentVersion == "free-pro-team@latest" %}, or all new private repositories,{% endif %} in your organization. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} ![Checkbox for enabling or disabling a feature for new repositories](/assets/images/help/organizations/security-and-analysis-enable-or-disable-feature-checkbox-dotcom.png) - {% else if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} + {% endif %} + {% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} ![Checkbox for enabling or disabling a feature for new repositories](/assets/images/help/organizations/security-and-analysis-enable-or-disable-secret-scanning-checkbox-ghe.png) {% endif %} + {% if currentVersion == "github-ae@latest" %} + ![Checkbox for enabling or disabling a feature for new repositories](/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-or-disable-secret-scanning-checkbox-ghae.png) + {% endif %} {% data reusables.advanced-security.note-org-enable-uses-seats %} @@ -117,6 +136,6 @@ You can manage the use of {% data variables.product.prodname_GH_advanced_securit - "[About securing your repository](/github/administering-a-repository/about-securing-your-repository)" - "[About secret scanning](/github/administering-a-repository/about-secret-scanning)"{% if currentVersion == "free-pro-team@latest" %} -- "[Keeping your dependencies updated automatically](/github/administering-a-repository/keeping-your-dependencies-updated-automatically)"{% endif %} +- "[Keeping your dependencies updated automatically](/github/administering-a-repository/keeping-your-dependencies-updated-automatically)"{% endif %}{% if currentVersion != "github-ae@latest" %} - "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)" -- "[Managing vulnerabilities in your project's dependencies](/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies)" +- "[Managing vulnerabilities in your project's dependencies](/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies)"{% endif %} diff --git a/content/github/setting-up-and-managing-organizations-and-teams/managing-the-publication-of-github-pages-sites-for-your-organization.md b/content/github/setting-up-and-managing-organizations-and-teams/managing-the-publication-of-github-pages-sites-for-your-organization.md index e1a0fc2666..184d6d2537 100644 --- a/content/github/setting-up-and-managing-organizations-and-teams/managing-the-publication-of-github-pages-sites-for-your-organization.md +++ b/content/github/setting-up-and-managing-organizations-and-teams/managing-the-publication-of-github-pages-sites-for-your-organization.md @@ -6,9 +6,10 @@ product: '{% data reusables.gated-features.pages %}' versions: free-pro-team: '*' enterprise-server: '>=3.0' + github-ae: '*' redirect_from: - /github/setting-up-and-managing-organizations-and-teams/disabling-publication-of-github-pages-sites-for-your-organization - + --- {% if currentVersion == "free-pro-team@latest" %} diff --git a/content/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization.md b/content/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization.md index 0b69ba8926..54c5d401fb 100644 --- a/content/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization.md +++ b/content/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization.md @@ -116,6 +116,7 @@ Organization members can have *owner*{% if currentVersion == "free-pro-team@late | [View people with access to an organization repository](/articles/viewing-people-with-access-to-your-repository) | **X** | | | [Export a list of people with access to an organization repository](/articles/viewing-people-with-access-to-your-repository/#exporting-a-list-of-people-with-access-to-your-repository) | **X** | |{% if currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} | Manage default labels (see "[Managing default labels for repositories in your organization](/articles/managing-default-labels-for-repositories-in-your-organization)") | **X** | |{% endif %} +{% if currentVersion == "github-ae@latest" %}| Manage IP allow lists (see "[Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)") | **X** | |{% endif %} {% endif %} diff --git a/content/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization.md b/content/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization.md index a4c6c09b13..8a15a1ef63 100644 --- a/content/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization.md +++ b/content/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization.md @@ -87,10 +87,10 @@ In addition to managing organization-level settings, organization owners have ad | Create, edit, run, re-run, and cancel [GitHub Actions workflows](/actions/automating-your-workflow-with-github-actions/) | | | **X** | **X** | **X** |{% endif %} | Create and edit releases | | | **X** | **X** | **X** | | View draft releases | | | **X** | **X** | **X** | -| Edit a repository's description | | | | **X** | **X** |{% if currentVersion == "free-pro-team@latest" %} +| Edit a repository's description | | | | **X** | **X** |{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} | [View and install packages](/packages/publishing-and-managing-packages) | **X** | **X** | **X** | **X** | **X** | | [Publish packages](/packages/publishing-and-managing-packages/publishing-a-package) | | | **X** | **X** | **X** | -| [Delete packages](/packages/learn-github-packages/deleting-and-restoring-a-package) | | | | | **X** | {% endif %} +| {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Delete and restore packages](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Delete packages](/packages/learn-github-packages/deleting-a-package){% endif %} | | | | | **X** | {% endif %} | Manage [topics](/articles/classifying-your-repository-with-topics) | | | | **X** | **X** | | Enable wikis and restrict wiki editors | | | | **X** | **X** | | Enable project boards | | | | **X** | **X** | @@ -130,22 +130,22 @@ In addition to managing organization-level settings, organization owners have ad | [Create new discussions and comment on existing discussions](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion) | **X** | **X** | **X** | **X** | **X** | | [Delete a discussion](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#deleting-a-discussion) | | | | **X** | **X** |{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} #### Permission requirements for security features -In this section, you can find the repository permission levels required for security features, such as {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_advanced_security %} features. +In this section, you can find the repository permission levels required for security features, such as {% data variables.product.prodname_advanced_security %} features. | Repository action | Read | Triage | Write | Maintain | Admin | |:---|:---:|:---:|:---:|:---:|:---:|{% if currentVersion == "free-pro-team@latest" %} | Receive [{% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies) in a repository | | | | | **X** | | [Dismiss {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository) | | | | | **X** | | [Designate additional people or teams to receive {% data variables.product.prodname_dependabot_alerts %}](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) for vulnerable dependencies | | | | | **X** | -| Create [security advisories](/github/managing-security-vulnerabilities/about-github-security-advisories) | | | | | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +| Create [security advisories](/github/managing-security-vulnerabilities/about-github-security-advisories) | | | | | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} | Manage access to {% data variables.product.prodname_GH_advanced_security %} features (see "[Managing security and analysis settings for your organization](/github/setting-up-and-managing-organizations-and-teams/managing-security-and-analysis-settings-for-your-organization)") | | | | | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" %} | [Enable the dependency graph](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-and-dependents-of-a-repository) for a private repository | | | | | **X** | -| [View dependency reviews](/github/collaborating-with-issues-and-pull-requests/reviewing-dependency-changes-in-a-pull-request) | **X** | **X** | **X** | **X** | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +| [View dependency reviews](/github/collaborating-with-issues-and-pull-requests/reviewing-dependency-changes-in-a-pull-request) | **X** | **X** | **X** | **X** | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} | [View {% data variables.product.prodname_code_scanning %} alerts on pull requests](/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests) | **X** | **X** | **X** | **X** | **X** | -| [List, dismiss, and delete {% data variables.product.prodname_code_scanning %} alerts](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository) | | | **X** | **X** | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +| [List, dismiss, and delete {% data variables.product.prodname_code_scanning %} alerts](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository) | | | **X** | **X** | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} | [View {% data variables.product.prodname_secret_scanning %} alerts in a repository](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | | | **X** | | [Resolve, revoke or re-open {% data variables.product.prodname_secret_scanning %} alerts](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | | | **X** | | [Designate additional people or teams to receive {% data variables.product.prodname_secret_scanning %} alerts](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) in repositories | | | | | **X** |{% endif %} diff --git a/content/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization.md b/content/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization.md index 4cc6da0fc5..d8e83edc9d 100644 --- a/content/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization.md +++ b/content/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization.md @@ -58,10 +58,10 @@ To search for specific events, use the `action` qualifier in your query. Actions | [`repo`](#repo-category-actions) | Contains activities related to the repositories owned by your organization.{% if currentVersion == "free-pro-team@latest" %} | [`repository_advisory`](#repository_advisory-category-actions) | Contains repository-level activities related to security advisories in the {% data variables.product.prodname_advisory_database %}. For more information, see "[About {% data variables.product.prodname_dotcom %} Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." | [`repository_content_analysis`](#repository_content_analysis-category-actions) | Contains all activities related to [enabling or disabling data use for a private repository](/articles/about-github-s-use-of-your-data).{% endif %}{% if currentVersion != "github-ae@latest" %} -| [`repository_dependency_graph`](#repository_dependency_graph-category-actions) | Contains repository-level activities related to enabling or disabling the dependency graph for a {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)."{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +| [`repository_dependency_graph`](#repository_dependency_graph-category-actions) | Contains repository-level activities related to enabling or disabling the dependency graph for a {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)."{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} | [`repository_secret_scanning`](#repository_secret_scanning-category-actions) | Contains repository-level activities related to secret scanning. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." {% endif %}{% if currentVersion != "github-ae@latest" %} | [`repository_vulnerability_alert`](#repository_vulnerability_alert-category-actions) | Contains all activities related to [{% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies).{% endif %}{% if currentVersion == "free-pro-team@latest" %} -| [`repository_vulnerability_alerts`](#repository_vulnerability_alerts-category-actions) | Contains repository-level configuration activities for {% data variables.product.prodname_dependabot %} alerts. {% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +| [`repository_vulnerability_alerts`](#repository_vulnerability_alerts-category-actions) | Contains repository-level configuration activities for {% data variables.product.prodname_dependabot %} alerts. {% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} | [`secret_scanning`](#secret_scanning-category-actions) | Contains organization-level configuration activities for secret scanning in existing repositories. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." | [`secret_scanning_new_repos`](#secret_scanning_new_repos-category-actions) | Contains organization-level configuration activities for secret scanning for new repositories created in the organization. {% endif %}{% if currentVersion == "free-pro-team@latest" %} | [`sponsors`](#sponsors-category-actions) | Contains all events related to sponsor buttons (see "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)"){% endif %} @@ -530,7 +530,7 @@ For more information, see "[Managing the publication of {% data variables.produc | `disable` | Triggered when a repository owner or person with admin access to the repository disables the dependency graph for a {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." | `enable` | Triggered when a repository owner or person with admin access to the repository enables the dependency graph for a {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repository. -{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} #### `repository_secret_scanning` category actions | Action | Description @@ -556,7 +556,7 @@ For more information, see "[Managing the publication of {% data variables.produc | `disable` | Triggered when a repository owner or person with admin access to the repository disables {% data variables.product.prodname_dependabot_alerts %}. | `enable` | Triggered when a repository owner or person with admin access to the repository enables {% data variables.product.prodname_dependabot_alerts %}. -{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} #### `secret_scanning` category actions | Action | Description @@ -616,7 +616,7 @@ For more information, see "[Managing the publication of {% data variables.produc | `disable` | Triggered when an organization owner disables team discussions for an organization. For more information, see "[Disabling team discussions for your organization](/articles/disabling-team-discussions-for-your-organization)." | `enable` | Triggered when an organization owner enables team discussions for an organization. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest"%} #### `workflows` category actions {% data reusables.actions.actions-audit-events-workflow %} diff --git a/content/github/setting-up-and-managing-organizations-and-teams/synchronizing-a-team-with-an-identity-provider-group.md b/content/github/setting-up-and-managing-organizations-and-teams/synchronizing-a-team-with-an-identity-provider-group.md index 7e9dd3bf05..8ff3079828 100644 --- a/content/github/setting-up-and-managing-organizations-and-teams/synchronizing-a-team-with-an-identity-provider-group.md +++ b/content/github/setting-up-and-managing-organizations-and-teams/synchronizing-a-team-with-an-identity-provider-group.md @@ -1,10 +1,11 @@ --- title: Synchronizing a team with an identity provider group -intro: 'You can synchronize a {% data variables.product.prodname_dotcom %} team with an identity provider (IdP) group to automatically add and remove team members.' +intro: 'You can synchronize a {% data variables.product.product_name %} team with an identity provider (IdP) group to automatically add and remove team members.' product: '{% data reusables.gated-features.team-synchronization %}' permissions: 'Organization owners and team maintainers can synchronize a {% data variables.product.prodname_dotcom %} team with an IdP group.' versions: free-pro-team: '*' + github-ae: '*' --- {% data reusables.gated-features.okta-team-sync %} @@ -13,29 +14,36 @@ versions: {% data reusables.identity-and-permissions.about-team-sync %} -You can connect up to five IdP groups to a {% data variables.product.prodname_dotcom %} team. An IdP group can be assigned to multiple {% data variables.product.prodname_dotcom %} teams without restriction. +{% if currentVersion == "free-pro-team@latest" %}You can connect up to five IdP groups to a {% data variables.product.product_name %} team.{% elsif currentVersion == "github-ae@latest" %}You can connect a team on {% data variables.product.product_name %} to one IdP group. All users in the group are automatically added to the team and also added to the parent organization as members. When you disconnect a group from a team, users who became members of the organization via team membership are removed from the organization.{% endif %} You can assign an IdP group to multiple {% data variables.product.product_name %} teams. -Team synchronization does not support IdP groups with more than 5000 members. +{% if currentVersion == "free-pro-team@latest" %}Team synchronization does not support IdP groups with more than 5000 members.{% endif %} -Once a {% data variables.product.prodname_dotcom %} team is connected to an IdP group, your IdP administrator must make team membership changes through the identity provider. You cannot manage team membership on {% data variables.product.product_name %} or using the API. +Once a {% data variables.product.prodname_dotcom %} team is connected to an IdP group, your IdP administrator must make team membership changes through the identity provider. You cannot manage team membership on {% data variables.product.product_name %}{% if currentVersion == "free-pro-team@latest" %}or using the API{% endif %}. +{% if currentVersion == "free-pro-team@latest" %} All team membership changes made through your IdP will appear in the audit log on {% data variables.product.product_name %} as changes made by the team synchronization bot. Your IdP will send team membership data to {% data variables.product.prodname_dotcom %} once every hour. Connecting a team to an IdP group may remove some team members. For more information, see "[Requirements for members of synchronized teams](#requirements-for-members-of-synchronized-teams)." +{% endif %} + +{% if currentVersion == "github-ae@latest" %} +When group membership changes on your IdP, your IdP sends a SCIM request with the changes to {% data variables.product.product_name %} according to the schedule determined by your IdP. Any requests that change {% data variables.product.prodname_dotcom %} team or organization membership will register in the audit log as changes made by the account used to configure user provisioning. For more information about this account, see "[Configuring user provisioning for your enterprise](/admin/authentication/configuring-user-provisioning-for-your-enterprise)." For more information about SCIM request schedules, see "[Check the status of user provisioning](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user)" in the Microsoft Docs. +{% endif %} Parent teams cannot synchronize with IdP groups. If the team you want to connect to an IdP group is a parent team, we recommend creating a new team or removing the nested relationships that make your team a parent team. For more information, see "[About teams](/articles/about-teams#nested-teams)," "[Creating a team](/github/setting-up-and-managing-organizations-and-teams/creating-a-team)," and "[Moving a team in your organization's hierarchy](/articles/moving-a-team-in-your-organizations-hierarchy)." To manage repository access for any {% data variables.product.prodname_dotcom %} team, including teams connected to an IdP group, you must make changes with {% data variables.product.product_name %}. For more information, see "[About teams](/articles/about-teams)" and "[Managing team access to an organization repository](/articles/managing-team-access-to-an-organization-repository)." -You can also manage team synchronization with the API. For more information, see "[Team synchronization](/rest/reference/teams#team-sync)." +{% if currentVersion == "free-pro-team@latest" %}You can also manage team synchronization with the API. For more information, see "[Team synchronization](/rest/reference/teams#team-sync)."{% endif %} +{% if currentVersion == "free-pro-team@latest" %} ### Requirements for members of synchronized teams -After you connect a team to an IdP group, team synchronization will add each member of the IdP group to the corresponding team on {% data variables.product.prodname_dotcom %} only if: -- The person is a member of the organization on {% data variables.product.prodname_dotcom %}. -- The person has already logged in with their user account on {% data variables.product.prodname_dotcom %} and authenticated to the organization or enterprise account via SAML single sign-on at least once. +After you connect a team to an IdP group, team synchronization will add each member of the IdP group to the corresponding team on {% data variables.product.product_name %} only if: +- The person is a member of the organization on {% data variables.product.product_name %}. +- The person has already logged in with their user account on {% data variables.product.product_name %} and authenticated to the organization or enterprise account via SAML single sign-on at least once. - The person's SSO identity is a member of the IdP group. -Existing teams or group members who do not meet these criteria will be automatically removed from the team on {% data variables.product.prodname_dotcom %} and lose access to repositories. Revoking a user's linked identity will also remove the user from from any teams mapped to IdP groups. For more information, see "[Viewing and managing a member's SAML access to your organization](/github/setting-up-and-managing-organizations-and-teams/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity)" and "[Viewing and managing a user's SAML access to your enterprise](/github/setting-up-and-managing-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise#viewing-and-revoking-a-linked-identity)." +Existing teams or group members who do not meet these criteria will be automatically removed from the team on {% data variables.product.product_name %} and lose access to repositories. Revoking a user's linked identity will also remove the user from from any teams mapped to IdP groups. For more information, see "[Viewing and managing a member's SAML access to your organization](/github/setting-up-and-managing-organizations-and-teams/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity)" and "[Viewing and managing a user's SAML access to your enterprise](/github/setting-up-and-managing-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise#viewing-and-revoking-a-linked-identity)." A removed team member can be added back to a team automatically once they have authenticated to the organization or enterprise account using SSO and are moved to the connected IdP group. @@ -43,32 +51,49 @@ To avoid unintentionally removing team members, we recommend enforcing SAML SSO If your organization is owned by an enterprise account, enabling team synchronization for the enterprise account will override your organization-level team synchronization settings. For more information, see "[Managing team synchronization for organizations in your enterprise account](/github/setting-up-and-managing-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise-account)." +{% endif %} + ### Prerequisites -Before you can connect a team with an identity provider group, an organization or enterprise owner must enable team synchronization for your organization or enterprise account. For more information, see "[Managing team synchronization for your organization](/github/setting-up-and-managing-organizations-and-teams/managing-team-synchronization-for-your-organization)" and "[Managing team synchronization for organizations in your enterprise account](/github/setting-up-and-managing-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise-account)." +{% if currentVersion == "free-pro-team@latest" %} +Before you can connect a {% data variables.product.product_name %} team with an identity provider group, an organization or enterprise owner must enable team synchronization for your organization or enterprise account. For more information, see "[Managing team synchronization for your organization](/github/setting-up-and-managing-organizations-and-teams/managing-team-synchronization-for-your-organization)" and "[Managing team synchronization for organizations in your enterprise account](/github/setting-up-and-managing-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise-account)." To avoid unintentionally removing team members, visit the administrative portal for your IdP and confirm that each current team member is also in the IdP groups that you want to connect to this team. If you don't have this access to your identity provider, you can reach out to your IdP administrator. You must authenticate using SAML SSO. For more information, see "[Authenticating with SAML single sign-on](/articles/authenticating-with-saml-single-sign-on)." +{% elsif currentVersion == "github-ae@latest" %} +Before you can connect a {% data variables.product.product_name %} team with an IdP group, you must first configure user provisioning for {% data variables.product.product_location %} using a supported System for Cross-domain Identity Management (SCIM). For more information, see "[Configuring user provisioning for your enterprise](/admin/authentication/configuring-user-provisioning-for-your-enterprise)." + +Once user provisioning for {% data variables.product.product_name %} is configured using SCIM, you can assign the {% data variables.product.product_name %} application to every IdP group that you want to use on {% data variables.product.product_name %}. For more information, see [Configure automatic user provisioning to GitHub AE](https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/github-ae-provisioning-tutorial#step-5-configure-automatic-user-provisioning-to-github-ae) in the Microsoft Docs. +{% endif %} + ### Connecting an IdP group to a team +When you connect an IdP group to a {% data variables.product.product_name %} team, all users in the group are automatically added to the team. {% if currentVersion == "github-ae@latest" %}Any users who were not already members of the parent organization members are also added to the organization.{% endif %} + {% data reusables.profile.access_profile %} {% data reusables.profile.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} -5. Under "Identity Provider Groups", use the drop-down menu, and select up to 5 identity provider groups. - ![Drop-down menu to choose identity provider groups](/assets/images/help/teams/choose-an-idp-group.png) -6. Click **Save changes**. +{% if currentVersion == "free-pro-team@latest" %} +6. Under "Identity Provider Groups", use the drop-down menu, and select up to 5 identity provider groups. + ![Drop-down menu to choose identity provider groups](/assets/images/help/teams/choose-an-idp-group.png){% elsif currentVersion == "github-ae@latest" %} +6. Under "Identity Provider Group", use the drop-down menu, and select an identity provider group from the list. + ![Drop-down menu to choose identity provider group](/assets/images/enterprise/github-ae/teams/choose-an-idp-group.png){% endif %} +7. Click **Save changes**. ### Disconnecting an IdP group from a team -If you disconnect an IdP group from a {% data variables.product.prodname_dotcom %} team, team members that were assigned to the {% data variables.product.prodname_dotcom %} team through the IdP group will be removed from the team. +If you disconnect an IdP group from a {% data variables.product.prodname_dotcom %} team, team members that were assigned to the {% data variables.product.prodname_dotcom %} team through the IdP group will be removed from the team. {% if currentVersion == "github-ae@latest" %} Any users who were members of the parent organization only because of that team connection are also removed from the organization.{% endif %} {% data reusables.profile.access_profile %} {% data reusables.profile.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} +{% if currentVersion == "free-pro-team@latest" %} 6. Under "Identity Provider Groups", to the right of the IdP group you want to disconnect, click {% octicon "x" aria-label="X symbol" %}. - ![Unselect a connected IdP group from the GitHub team](/assets/images/help/teams/unselect-idp-group.png) + ![Unselect a connected IdP group from the GitHub team](/assets/images/help/teams/unselect-idp-group.png){% elsif currentVersion == "github-ae@latest" %} +6. Under "Identity Provider Group", to the right of the IdP group you want to disconnect, click {% octicon "x" aria-label="X symbol" %}. + ![Unselect a connected IdP group from the GitHub team](/assets/images/enterprise/github-ae/teams/unselect-idp-group.png){% endif %} 7. Click **Save changes**. diff --git a/content/github/setting-up-and-managing-your-enterprise/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account.md index 2bd1d3b766..5284cd63a3 100644 --- a/content/github/setting-up-and-managing-your-enterprise/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account.md @@ -8,6 +8,7 @@ miniTocMaxHeadingLevel: 4 versions: free-pro-team: '*' enterprise-server: '>=2.23' + github-ae: '*' --- {% data reusables.actions.about-artifact-log-retention %} diff --git a/content/github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository.md b/content/github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository.md index 04f6dd83c5..643cde65ad 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository.md +++ b/content/github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository.md @@ -35,8 +35,8 @@ The repository owner has full control of the repository. In addition to the acti | Delete the repository | "[Deleting a repository](/github/administering-a-repository/deleting-a-repository)" | | Manage the repository's topics | "[Classifying your repository with topics](/github/administering-a-repository/classifying-your-repository-with-topics)" |{% if currentVersion == "free-pro-team@latest" %} | Manage security and analysis settings for the repository | "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)" |{% endif %}{% if currentVersion == "free-pro-team@latest" %} -| Enable the dependency graph for a private repository | "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)" |{% endif %}{% if currentVersion == "free-pro-team@latest" %} -| Delete packages | "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" |{% endif %} +| Enable the dependency graph for a private repository | "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)" |{% endif %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}| Delete and restore packages | "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" |{% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}| Delete packages | "[Deleting packages](/packages/learn-github-packages/deleting-a-package)" |{% endif %} | Customize the repository's social media preview | "[Customizing your repository's social media preview](/github/administering-a-repository/customizing-your-repositorys-social-media-preview)" | | Create a template from the repository | "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)" |{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} | Receive {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} for vulnerable dependencies | "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)" |{% endif %}{% if currentVersion == "free-pro-team@latest" %} @@ -76,7 +76,7 @@ Collaborators can also perform the following actions. | Submit a review on a pull request that affects the mergeability of the pull request | "[Reviewing proposed changes in a pull request](/github/collaborating-with-issues-and-pull-requests/reviewing-proposed-changes-in-a-pull-request)" | | Create and edit a wiki for the repository | "[About wikis](/github/building-a-strong-community/about-wikis)" | | Create and edit releases for the repository | "[Managing releases in a repository](/github/administering-a-repository/managing-releases-in-a-repository)" | -| Act as a code owner for the repository | "[About code owners](/articles/about-code-owners)" |{% if currentVersion == "free-pro-team@latest" %} +| Act as a code owner for the repository | "[About code owners](/articles/about-code-owners)" |{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} | Publish, view, or install packages | "[Publishing and managing packages](/github/managing-packages-with-github-packages/publishing-and-managing-packages)" |{% endif %} | Remove themselves as collaborators on the repository | "[Removing yourself from a collaborator's repository](/github/setting-up-and-managing-your-github-user-account/removing-yourself-from-a-collaborators-repository)" | diff --git a/content/packages/guides/about-github-container-registry.md b/content/packages/guides/about-github-container-registry.md index 70ca2942cd..8d1ae32708 100644 --- a/content/packages/guides/about-github-container-registry.md +++ b/content/packages/guides/about-github-container-registry.md @@ -74,7 +74,7 @@ To use or manage a package hosted by a package registry, you must use a token wi | --- | --- | |`read:packages`| Download and install container images from {% data variables.product.prodname_github_container_registry %} | |`write:packages`| Upload and publish container images to {% data variables.product.prodname_github_container_registry %} | -| `delete:packages` | Delete specified versions of private or public container images from {% data variables.product.prodname_github_container_registry %}. For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.0" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}." | +| `delete:packages` | Delete specified versions of private or public container images from {% data variables.product.prodname_github_container_registry %}. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)." | To learn about available scopes and permissions for container images, see "[Configuring access control and visibility for container images](/packages/guides/configuring-access-control-and-visibility-for-container-images)." diff --git a/content/packages/guides/configuring-apache-maven-for-use-with-github-packages.md b/content/packages/guides/configuring-apache-maven-for-use-with-github-packages.md index 0ea1460fc7..86a307a942 100644 --- a/content/packages/guides/configuring-apache-maven-for-use-with-github-packages.md +++ b/content/packages/guides/configuring-apache-maven-for-use-with-github-packages.md @@ -10,9 +10,11 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} {% data reusables.package_registry.admins-can-configure-package-types %} @@ -28,7 +30,7 @@ You can authenticate to {% data variables.product.prodname_registry %} with Apac In the `servers` tag, add a child `server` tag with an `id`, replacing *USERNAME* with your {% data variables.product.prodname_dotcom %} username, and *TOKEN* with your personal access token. -In the `repositories` tag, configure a repository by mapping the `id` of the repository to the `id` you added in the `server` tag containing your credentials. Replace {% if enterpriseServerVersions contains currentVersion %}*HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance, {% endif %}*REPOSITORY* with the name of the repository you'd like to publish a package to or install a package from, and *OWNER* with the name of the user or organization account that owns the repository. Because uppercase letters aren't supported, you must use lowercase letters for the repository owner even if the {% data variables.product.prodname_dotcom %} user or organization name contains uppercase letters. +In the `repositories` tag, configure a repository by mapping the `id` of the repository to the `id` you added in the `server` tag containing your credentials. Replace {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}*HOSTNAME* with the host name of {% data variables.product.product_location %}, {% endif %}*REPOSITORY* with the name of the repository you'd like to publish a package to or install a package from, and *OWNER* with the name of the user or organization account that owns the repository. Because uppercase letters aren't supported, you must use lowercase letters for the repository owner even if the {% data variables.product.prodname_dotcom %} user or organization name contains uppercase letters. If you want to interact with multiple repositories, you can add each repository to separate `repository` children in the `repositories` tag, mapping the `id` of each to the credentials in the `servers` tag. @@ -132,7 +134,7 @@ If you would like to publish multiple packages to the same repository, you can i For more information on creating a package, see the [maven.apache.org documentation](https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html). -1. Edit the `distributionManagement` element of the *pom.xml* file located in your package directory, replacing {% if enterpriseServerVersions contains currentVersion %}*HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance, {% endif %}`OWNER` with the name of the user or organization account that owns the repository and `REPOSITORY` with the name of the repository containing your project. +1. Edit the `distributionManagement` element of the *pom.xml* file located in your package directory, replacing {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}*HOSTNAME* with the host name of {% data variables.product.product_location %}, {% endif %}`OWNER` with the name of the user or organization account that owns the repository and `REPOSITORY` with the name of the repository containing your project. {% if enterpriseServerVersions contains currentVersion %} If your instance has subdomain isolation enabled: {% endif %} @@ -190,4 +192,4 @@ To install an Apache Maven package from {% data variables.product.prodname_regis ### Further reading - "[Configuring Gradle for use with {% data variables.product.prodname_registry %}](/packages/guides/configuring-gradle-for-use-with-github-packages)" -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.0" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}." +- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" diff --git a/content/packages/guides/configuring-docker-for-use-with-github-packages.md b/content/packages/guides/configuring-docker-for-use-with-github-packages.md index 0b46e533b1..5b793e9236 100644 --- a/content/packages/guides/configuring-docker-for-use-with-github-packages.md +++ b/content/packages/guides/configuring-docker-for-use-with-github-packages.md @@ -10,9 +10,11 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} {% data reusables.package_registry.admins-can-configure-package-types %} @@ -48,9 +50,8 @@ To keep your credentials secure, we recommend you save your personal access toke {% endraw %} {% endif %} -{% if enterpriseServerVersions contains currentVersion %} - -{% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% if currentVersion ver_gt "enterprise-server@2.22" %} If your instance has subdomain isolation enabled: {% endif %} {% raw %} @@ -58,7 +59,7 @@ If your instance has subdomain isolation enabled: $ cat ~/TOKEN.txt | docker login docker.HOSTNAME -u USERNAME --password-stdin ``` {% endraw %} -{% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion ver_gt "enterprise-server@2.22" %} If your instance has subdomain isolation disabled: {% raw %} @@ -70,7 +71,7 @@ If your instance has subdomain isolation disabled: {% endif %} -To use this example login command, replace `USERNAME` with your {% data variables.product.product_name %} username{% if enterpriseServerVersions contains currentVersion %}, `HOSTNAME` with the URL for {% data variables.product.product_location %},{% endif %} and `~/TOKEN.txt` with the file path to your personal access token for {% data variables.product.product_name %}. +To use this example login command, replace `USERNAME` with your {% data variables.product.product_name %} username{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}, `HOSTNAME` with the URL for {% data variables.product.product_location %},{% endif %} and `~/TOKEN.txt` with the file path to your personal access token for {% data variables.product.product_name %}. For more information, see "[Docker login](https://docs.docker.com/engine/reference/commandline/login/#provide-a-password-using-stdin)." @@ -99,40 +100,38 @@ For more information, see "[Docker login](https://docs.docker.com/engine/referen > REPOSITORY TAG IMAGE ID CREATED SIZE > IMAGE_NAME VERSION IMAGE_ID 4 weeks ago 1.11MB ``` -2. Using the Docker image ID, tag the docker image, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image,{% if enterpriseServerVersions contains currentVersion %} *HOSTNAME* with the hostname of {% data variables.product.product_location %},{% endif %} and *VERSION* with package version at build time. +2. Using the Docker image ID, tag the docker image, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image,{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} *HOSTNAME* with the hostname of {% data variables.product.product_location %},{% endif %} and *VERSION* with package version at build time. {% if currentVersion == "free-pro-team@latest" %} ```shell $ docker tag IMAGE_ID docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION ``` {% else %} - - {% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} + {% if currentVersion ver_gt "enterprise-server@2.22" %} If your instance has subdomain isolation enabled: {% endif %} ```shell $ docker tag IMAGE_ID docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION ``` - {% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} + {% if currentVersion ver_gt "enterprise-server@2.22" %} If your instance has subdomain isolation disabled: ```shell $ docker tag IMAGE_ID HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION ``` {% endif %} {% endif %} -3. If you haven't already built a docker image for the package, build the image, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image, *VERSION* with package version at build time,{% if enterpriseServerVersions contains currentVersion %} *HOSTNAME* with the hostname of {% data variables.product.product_location %},{% endif %} and *PATH* to the image if it isn't in the current working directory. +3. If you haven't already built a docker image for the package, build the image, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image, *VERSION* with package version at build time,{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} *HOSTNAME* with the hostname of {% data variables.product.product_location %},{% endif %} and *PATH* to the image if it isn't in the current working directory. {% if currentVersion == "free-pro-team@latest" %} ```shell $ docker build -t docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH ``` {% else %} - - {% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} + {% if currentVersion ver_gt "enterprise-server@2.22" %} If your instance has subdomain isolation enabled: {% endif %} ```shell $ docker build -t docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH ``` - {% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} + {% if currentVersion ver_gt "enterprise-server@2.22" %} If your instance has subdomain isolation disabled: ```shell $ docker build -t HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH @@ -145,14 +144,13 @@ For more information, see "[Docker login](https://docs.docker.com/engine/referen $ docker push docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION ``` {% else %} - - {% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} + {% if currentVersion ver_gt "enterprise-server@2.22" %} If your instance has subdomain isolation enabled: {% endif %} ```shell $ docker push docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION ``` - {% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} + {% if currentVersion ver_gt "enterprise-server@2.22" %} If your instance has subdomain isolation disabled: ```shell $ docker push HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION @@ -167,15 +165,10 @@ For more information, see "[Docker login](https://docs.docker.com/engine/referen #### Example publishing a Docker image -{% if enterpriseServerVersions contains currentVersion %} - -{% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion ver_gt "enterprise-server@2.22" %} These examples assume your instance has subdomain isolation enabled. {% endif %} - -{% endif %} - You can publish version 1.0 of the `monalisa` image to the `octocat/octo-app` repository using an image ID. {% if currentVersion == "free-pro-team@latest" %} @@ -236,7 +229,7 @@ $ docker push docker.HOSTNAME/octocat/octo-app/monalisa:1.0 {% data reusables.package_registry.docker_registry_deprecation_status %} -You can use the `docker pull` command to install a docker image from {% data variables.product.prodname_registry %}, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image,{% if enterpriseServerVersions contains currentVersion %}*HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance, {% endif %} and *TAG_NAME* with tag for the image you want to install. +You can use the `docker pull` command to install a docker image from {% data variables.product.prodname_registry %}, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image,{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} *HOSTNAME* with the host name of {% data variables.product.product_location %}, {% endif %} and *TAG_NAME* with tag for the image you want to install. {% if currentVersion == "free-pro-team@latest" %} ```shell @@ -244,13 +237,13 @@ $ docker pull docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME -{% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion ver_gt "enterprise-server@2.22" %} If your instance has subdomain isolation enabled: {% endif %} ```shell $ docker pull docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME ``` -{% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion ver_gt "enterprise-server@2.22" %} If your instance has subdomain isolation disabled: ```shell $ docker pull HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME @@ -266,4 +259,4 @@ $ docker pull HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME ### Further reading -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.0" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}." +- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" diff --git a/content/packages/guides/configuring-dotnet-cli-for-use-with-github-packages.md b/content/packages/guides/configuring-dotnet-cli-for-use-with-github-packages.md index 3a48e2e9ab..b8e5b0a4fd 100644 --- a/content/packages/guides/configuring-dotnet-cli-for-use-with-github-packages.md +++ b/content/packages/guides/configuring-dotnet-cli-for-use-with-github-packages.md @@ -11,9 +11,11 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} {% data reusables.package_registry.admins-can-configure-package-types %} @@ -30,10 +32,10 @@ To authenticate to {% data variables.product.prodname_registry %} with the `dotn You must replace: - `USERNAME` with the name of your user account on {% data variables.product.prodname_dotcom %}. - `TOKEN` with your personal access token. -- `OWNER` with the name of the user or organization account that owns the repository containing your project.{% if enterpriseServerVersions contains currentVersion %} -- `HOSTNAME` with the host name for your {% data variables.product.prodname_ghe_server %} instance. +- `OWNER` with the name of the user or organization account that owns the repository containing your project.{%if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +- `HOSTNAME` with the host name for {% data variables.product.product_location %}.{% endif %} -If your instance has subdomain isolation enabled: +{%if enterpriseServerVersions contains currentVersion %}If your instance has subdomain isolation enabled: {% endif %} ```xml @@ -78,9 +80,9 @@ If your instance has subdomain isolation disabled: ### Publishing a package -You can publish a package to {% data variables.product.prodname_registry %} by authenticating with a *nuget.config* file{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}, or by using the `--api-key` command line option with your {% data variables.product.prodname_dotcom %} personal access token (PAT){% endif %}. +You can publish a package to {% data variables.product.prodname_registry %} by authenticating with a *nuget.config* file{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest"%}, or by using the `--api-key` command line option with your {% data variables.product.prodname_dotcom %} personal access token (PAT){% endif %}. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} #### Publishing a package using a GitHub PAT as your API key If you don't already have a PAT to use for your {% data variables.product.prodname_dotcom %} account, see "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)." @@ -115,8 +117,8 @@ When publishing, you need to use the same value for `OWNER` in your *csproj* fil 3. Add your project's specific information to your project's file, which ends in *.csproj*. You must replace: - `OWNER` with the name of the user or organization account that owns the repository containing your project. - `REPOSITORY` with the name of the repository containing the package you want to publish. - - `1.0.0` with the version number of the package.{% if enterpriseServerVersions contains currentVersion %} - - `HOSTNAME` with the host name for your {% data variables.product.prodname_ghe_server %} instance.{% endif %} + - `1.0.0` with the version number of the package.{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} + - `HOSTNAME` with the host name for {% data variables.product.product_location %}.{% endif %} ``` xml @@ -220,4 +222,4 @@ Using packages from {% data variables.product.prodname_dotcom %} in your project ### Further reading -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.0" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}." +- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" diff --git a/content/packages/guides/configuring-gradle-for-use-with-github-packages.md b/content/packages/guides/configuring-gradle-for-use-with-github-packages.md index eb3d6632f7..c144f63b6d 100644 --- a/content/packages/guides/configuring-gradle-for-use-with-github-packages.md +++ b/content/packages/guides/configuring-gradle-for-use-with-github-packages.md @@ -10,9 +10,11 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} {% data reusables.package_registry.admins-can-configure-package-types %} @@ -28,6 +30,8 @@ You can authenticate to {% data variables.product.prodname_registry %} with Grad {% if enterpriseServerVersions contains currentVersion %} Replace *REGISTRY-URL* with the URL for your instance's Maven registry. If your instance has subdomain isolation enabled, use `maven.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/maven`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance. +{% elsif currentVersion == "github-ae@latest" %} +Replace *REGISTRY-URL* with the URL for your enterprise's Maven registry, `maven.HOSTNAME`. Replace *HOSTNAME* with the host name of {% data variables.product.product_location %}. {% endif %} Replace *USERNAME* with your {% data variables.product.prodname_dotcom %} username, *TOKEN* with your personal access token, *REPOSITORY* with the name of the repository containing the package you want to publish, and *OWNER* with the name of the user or organization account on {% data variables.product.prodname_dotcom %} that owns the repository. Because uppercase letters aren't supported, you must use lowercase letters for the repository owner even if the {% data variables.product.prodname_dotcom %} user or organization name contains uppercase letters. @@ -211,4 +215,4 @@ You can install a package by adding the package as a dependency to your project. ### Further reading - "[Configuring Apache Maven for use with {% data variables.product.prodname_registry %}](/packages/using-github-packages-with-your-projects-ecosystem/configuring-apache-maven-for-use-with-github-packages)" -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.0" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}." +- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" diff --git a/content/packages/guides/configuring-npm-for-use-with-github-packages.md b/content/packages/guides/configuring-npm-for-use-with-github-packages.md index 661a4a6c6e..ef6474ff35 100644 --- a/content/packages/guides/configuring-npm-for-use-with-github-packages.md +++ b/content/packages/guides/configuring-npm-for-use-with-github-packages.md @@ -10,20 +10,22 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} {% data reusables.package_registry.admins-can-configure-package-types %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} ### Limits for published npm versions If you publish over 1,000 npm package versions to {% data variables.product.prodname_registry %}, you may see performance issues and timeouts occur during usage. In the future, to improve performance of the service, you won't be able to publish more than 1,000 versions of a package on {% data variables.product.prodname_dotcom %}. Any versions published before hitting this limit will still be readable. -If you reach this limit, consider deleting package versions or contact Support for help. When this limit is enforced, our documentation will be updated with a way to work around this limit. For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.0" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" or "[Contacting Support](/packages/learn-github-packages/about-github-packages#contacting-support)." +If you reach this limit, consider deleting package versions or contact Support for help. When this limit is enforced, our documentation will be updated with a way to work around this limit. For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" or "[Contacting Support](/packages/learn-github-packages/about-github-packages#contacting-support)." {% endif %} @@ -37,7 +39,7 @@ If you reach this limit, consider deleting package versions or contact Support f You can authenticate to {% data variables.product.prodname_registry %} with npm by either editing your per-user *~/.npmrc* file to include your personal access token or by logging in to npm on the command line using your username and personal access token. -To authenticate by adding your personal access token to your *~/.npmrc* file, edit the *~/.npmrc* file for your project to include the following line, replacing {% if enterpriseServerVersions contains currentVersion %}*HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance and {% endif %}*TOKEN* with your personal access token. Create a new *~/.npmrc* file if one doesn't exist. +To authenticate by adding your personal access token to your *~/.npmrc* file, edit the *~/.npmrc* file for your project to include the following line, replacing {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}*HOSTNAME* with the host name of {% data variables.product.product_location %} and {% endif %}*TOKEN* with your personal access token. Create a new *~/.npmrc* file if one doesn't exist. {% if enterpriseServerVersions contains currentVersion %} If your instance has subdomain isolation enabled: @@ -183,7 +185,7 @@ You also need to add the *.npmrc* file to your project so all requests to instal #### Installing packages from other organizations -By default, you can only use {% data variables.product.prodname_registry %} packages from one organization. If you'd like to route package requests to multiple organizations and users, you can add additional lines to your *.npmrc* file, replacing {% if enterpriseServerVersions contains currentVersion %}*HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance and {% endif %}*OWNER* with the name of the user or organization account that owns the repository containing your project. +By default, you can only use {% data variables.product.prodname_registry %} packages from one organization. If you'd like to route package requests to multiple organizations and users, you can add additional lines to your *.npmrc* file, replacing {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}*HOSTNAME* with the host name of {% data variables.product.product_location %} and {% endif %}*OWNER* with the name of the user or organization account that owns the repository containing your project. {% if enterpriseServerVersions contains currentVersion %} If your instance has subdomain isolation enabled: @@ -205,7 +207,7 @@ registry=https://HOSTNAME/_registry/npm/OWNER ``` {% endif %} -{% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion ver_gt "enterprise-server@2.22" %} ### Using the official NPM registry {% data variables.product.prodname_registry %} allows you to access the official NPM registry at `registry.npmjs.com`, if your {% data variables.product.prodname_ghe_server %} administrator has enabled this feature. For more information, see [Connecting to the official NPM registry](/admin/packages/configuring-packages-support-for-your-enterprise#connecting-to-the-official-npm-registry). @@ -213,4 +215,4 @@ registry=https://HOSTNAME/_registry/npm/OWNER ### Further reading -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.0" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}." +- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" diff --git a/content/packages/guides/configuring-rubygems-for-use-with-github-packages.md b/content/packages/guides/configuring-rubygems-for-use-with-github-packages.md index 95ee9b221c..5a045c4629 100644 --- a/content/packages/guides/configuring-rubygems-for-use-with-github-packages.md +++ b/content/packages/guides/configuring-rubygems-for-use-with-github-packages.md @@ -10,9 +10,11 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} {% data reusables.package_registry.admins-can-configure-package-types %} @@ -59,6 +61,8 @@ To install gems, you need to authenticate to {% data variables.product.prodname_ - `TOKEN` with your personal access token. - `OWNER` with the name of the user or organization account that owns the repository containing your project.{% if enterpriseServerVersions contains currentVersion %} - `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the hostname of your {% data variables.product.prodname_ghe_server %} instance. +{% elsif currentVersion == "github-ae@latest" %} + - `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.product.product_location %}. {% endif %} If you don't have a *~/.gemrc* file, create a new *~/.gemrc* file using this example. @@ -75,7 +79,7 @@ If you don't have a *~/.gemrc* file, create a new *~/.gemrc* file using this exa ``` -To authenticate with Bundler, configure Bundler to use your personal access token, replacing *USERNAME* with your {% data variables.product.prodname_dotcom %} username, *TOKEN* with your personal access token, and *OWNER* with the name of the user or organization account that owns the repository containing your project.{% if enterpriseServerVersions contains currentVersion %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the hostname of your {% data variables.product.prodname_ghe_server %} instance.{% endif %} +To authenticate with Bundler, configure Bundler to use your personal access token, replacing *USERNAME* with your {% data variables.product.prodname_dotcom %} username, *TOKEN* with your personal access token, and *OWNER* with the name of the user or organization account that owns the repository containing your project.{% if enterpriseServerVersions contains currentVersion %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the hostname of your {% data variables.product.prodname_ghe_server %} instance.{% elsif currentVersion == "github-ae@latest" %}Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.product.product_location %}.{% endif %} ```shell $ bundle config https://{% if currentVersion == "free-pro-team@latest" %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER USERNAME:TOKEN @@ -96,7 +100,7 @@ $ bundle config https://{% if currentVersion == "free-pro-team@latest" %}rubygem ```shell gem build OCTO-GEM.gemspec ``` -3. Publish a package to {% data variables.product.prodname_registry %}, replacing `OWNER` with the name of the user or organization account that owns the repository containing your project and `OCTO-GEM` with the name of your gem package.{% if enterpriseServerVersions contains currentVersion %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance.{% endif %} +3. Publish a package to {% data variables.product.prodname_registry %}, replacing `OWNER` with the name of the user or organization account that owns the repository containing your project and `OCTO-GEM` with the name of your gem package.{% if enterpriseServerVersions contains currentVersion %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance.{% elsif currentVersion == "github-ae@latest" %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.product.product_location %}.{% endif %} ```shell $ gem push --key github \ @@ -106,7 +110,7 @@ $ bundle config https://{% if currentVersion == "free-pro-team@latest" %}rubygem ### Publishing multiple packages to the same repository -To publish multiple gems to the same repository, you can include the URL to the {% data variables.product.prodname_dotcom %} repository in the `github_repo` field in `gem.metadata`. If you include this field, {% data variables.product.prodname_dotcom %} matches the repository based on this value, instead of using the gem name.{% if enterpriseServerVersions contains currentVersion %} Replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance.{% endif %} +To publish multiple gems to the same repository, you can include the URL to the {% data variables.product.prodname_dotcom %} repository in the `github_repo` field in `gem.metadata`. If you include this field, {% data variables.product.prodname_dotcom %} matches the repository based on this value, instead of using the gem name.{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} Replace *HOSTNAME* with the host name of {% data variables.product.product_location %}.{% endif %} ```ruby gem.metadata = { "github_repo" => "ssh://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY" } @@ -117,7 +121,7 @@ gem.metadata = { "github_repo" => "ssh://{% if currentVersion == "free-pro-team@ You can use gems from {% data variables.product.prodname_registry %} much like you use gems from *rubygems.org*. You need to authenticate to {% data variables.product.prodname_registry %} by adding your {% data variables.product.prodname_dotcom %} user or organization as a source in the *~/.gemrc* file or by using Bundler and editing you *Gemfile*. {% data reusables.package_registry.authenticate-step %} -2. For Bundler, add your {% data variables.product.prodname_dotcom %} user or organization as a source in your *Gemfile* to fetch gems from this new source. For example, you can add a new `source` block to your *Gemfile* that uses {% data variables.product.prodname_registry %} only for the packages you specify, replacing *GEM NAME* with the package you want to install from {% data variables.product.prodname_registry %} and *OWNER* with the user or organization that owns the repository containing the gem you want to install.{% if enterpriseServerVersions contains currentVersion %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance.{% endif %} +1. For Bundler, add your {% data variables.product.prodname_dotcom %} user or organization as a source in your *Gemfile* to fetch gems from this new source. For example, you can add a new `source` block to your *Gemfile* that uses {% data variables.product.prodname_registry %} only for the packages you specify, replacing *GEM NAME* with the package you want to install from {% data variables.product.prodname_registry %} and *OWNER* with the user or organization that owns the repository containing the gem you want to install.{% if enterpriseServerVersions contains currentVersion %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance.{% elsif currentVersion == "github-ae@latest" %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.product.product_location %}.{% endif %} ```ruby source "https://rubygems.org" @@ -146,4 +150,4 @@ You can use gems from {% data variables.product.prodname_registry %} much like y ### Further reading -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.0" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}." +- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" diff --git a/content/packages/guides/container-guides-for-github-packages.md b/content/packages/guides/container-guides-for-github-packages.md index 31b8f63889..1b482e040a 100644 --- a/content/packages/guides/container-guides-for-github-packages.md +++ b/content/packages/guides/container-guides-for-github-packages.md @@ -6,5 +6,6 @@ mapTopic: true versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- diff --git a/content/packages/guides/index.md b/content/packages/guides/index.md index f7aefb201f..923574422e 100644 --- a/content/packages/guides/index.md +++ b/content/packages/guides/index.md @@ -8,9 +8,11 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} ### Table of Contents diff --git a/content/packages/guides/package-client-guides-for-github-packages.md b/content/packages/guides/package-client-guides-for-github-packages.md index 6f77e8b9bd..27432d0717 100644 --- a/content/packages/guides/package-client-guides-for-github-packages.md +++ b/content/packages/guides/package-client-guides-for-github-packages.md @@ -6,5 +6,6 @@ mapTopic: true versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- diff --git a/content/packages/guides/using-github-packages-with-github-actions.md b/content/packages/guides/using-github-packages-with-github-actions.md index 8f9a3f5c6d..f04d9c2b5b 100644 --- a/content/packages/guides/using-github-packages-with-github-actions.md +++ b/content/packages/guides/using-github-packages-with-github-actions.md @@ -8,9 +8,13 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} +{% data reusables.actions.ae-beta %} +{% data reusables.actions.ae-self-hosted-runners-notice %} ### About {% data variables.product.prodname_registry %} with {% data variables.product.prodname_actions %} @@ -45,7 +49,7 @@ The following example demonstrates how you can use {% data variables.product.pro - Create a new workflow file in your repository (such as `.github/workflows/deploy-image.yml`), and add the following YAML: {% raw %} - ``` + ```yaml{:copy} name: Create and publish a package on: push: @@ -99,7 +103,7 @@ The following example demonstrates how you can use {% data variables.product.pro with: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - registry: docker.pkg.github.com + registry: {% endraw %}{% if currentVersion == "github-ae@latest" %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %} repository: ${{ github.repository }}/octo-image tag_with_sha: true tag_with_ref: true @@ -251,14 +255,12 @@ password: ${{ secrets.GITHUB_TOKEN }} -{% raw %} ```yaml -registry: docker.pkg.github.com +registry: {% if currentVersion == "github-ae@latest" %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %} ``` -{% endraw %} - Defines the registry that will host the resulting packages. This example uses {% data variables.product.prodname_registry %}. + Defines the registry that will host the resulting packages. This example uses {% data variables.product.prodname_registry %}.{% if currentVersion == "github-ae@latest" %} Replace YOUR-HOSTNAME with the name of your enterprise.{% endif %} @@ -302,7 +304,7 @@ tag_with_ref: true -- This new workflow will run automatically every time you push a change to the repository. You can view the progress in the **Actions** tab. +- This new workflow will run automatically every time you push a change to a branch named `release` in the repository. You can view the progress in the **Actions** tab. - A few minutes after the workflow has completed, the new package will visible in your repository. To find your available packages, see "[Viewing a repository's packages](/packages/publishing-and-managing-packages/viewing-packages#viewing-a-repositorys-packages)." ### Installing a package using an action diff --git a/content/packages/index.md b/content/packages/index.md index 46b6102074..14afebfca8 100644 --- a/content/packages/index.md +++ b/content/packages/index.md @@ -37,6 +37,7 @@ layout: product-landing versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- diff --git a/content/packages/learn-github-packages/about-github-packages.md b/content/packages/learn-github-packages/about-github-packages.md index 68a5a00f5d..b9b21493b8 100644 --- a/content/packages/learn-github-packages/about-github-packages.md +++ b/content/packages/learn-github-packages/about-github-packages.md @@ -1,6 +1,6 @@ --- title: About GitHub Packages -intro: '{% data variables.product.prodname_registry %} is a software package hosting service that allows you to host your software packages privately or publicly and use packages as dependencies in your projects.' +intro: '{% data variables.product.prodname_registry %} is a software package hosting service that allows you to host your software packages privately {% if currentVersion == "github-ae@latest" %} for specified users or internally for your enterprise{% else %}or publicly{% endif %} and use packages as dependencies in your projects.' product: '{% data reusables.gated-features.packages %}' redirect_from: - /articles/about-github-package-registry @@ -10,13 +10,15 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} ### About {% data variables.product.prodname_registry %} -{% data variables.product.prodname_registry %} is a platform for hosting and managing packages, including containers and other dependencies. {% data variables.product.prodname_registry %} combines your source code and packages in one place to provide integrated permissions management and billing, so you can centralize your software development on {% data variables.product.product_name %}. +{% data variables.product.prodname_registry %} is a platform for hosting and managing packages, including containers and other dependencies. {% data variables.product.prodname_registry %} combines your source code and packages in one place to provide integrated permissions management{% if currentVersion != "github-ae@latest" %} and billing{% endif %}, so you can centralize your software development on {% data variables.product.product_name %}. You can integrate {% data variables.product.prodname_registry %} with {% data variables.product.product_name %} APIs, {% data variables.product.prodname_actions %}, and webhooks to create an end-to-end DevOps workflow that includes your code, CI, and deployment solutions. @@ -63,52 +65,16 @@ You can review the package's README, some metadata like licensing, download stat {% data variables.product.prodname_registry %} uses the native package tooling commands you're already familiar with to publish and install package versions. #### Support for package registries -{% if currentVersion == "free-pro-team@latest" %} -Package registries use `PACKAGE-TYPE.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME` as the package host URL, replacing `PACKAGE-TYPE` with the Package namespace. For example, your Gemfile will be hosted at `rubygems.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`. - -{% else %} - -The package types supported on {% data variables.product.product_location %} may vary since your site administrator can enable or disable support for different package types. For more information, see "[Managing GitHub Packages for your enterprise](/enterprise/admin/packages)." - -If {% data variables.product.product_location %} has subdomain isolation enabled, then package registries will use `PACKAGE-TYPE.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME` as the package host URL, replacing `PACKAGE-TYPE` with the Package namespace. For example, your Dockerfile will be hosted at `docker.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME`. - -If {% data variables.product.product_location %} has subdomain isolation disabled, then package registries will use `HOSTNAME/_registry/PACKAGE-TYPE/OWNER/REPOSITORY/IMAGE-NAME` as the package host URL. For example, your Gemfile will be hosted at `HOSTNAME/_registry/rubygems/OWNER/REPOSITORY/IMAGE-NAME`, replacing *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance. - -{% endif %} - -{% if currentVersion == "free-pro-team@latest" %} - -| Language | Description | Package format | Package client | Package namespace | -| --- | --- | --- | --- | --- | -| JavaScript | Node package manager | `package.json` | `npm` | `npm.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME` -| Ruby | RubyGems package manager | `Gemfile` | `gem` | `rubygems.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME` -| Java | Apache Maven project management and comprehension tool | `pom.xml` | `mvn` | `maven.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME` -| Java | Gradle build automation tool for Java | `build.gradle` or `build.gradle.kts` | `gradle` | `maven.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME` -| .NET | NuGet package management for .NET | `nupkg` | `dotnet` CLI | `nuget.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME` - -{% else %} - -With subdomain isolation enabled on {% data variables.product.product_location %}: - -| Language | Description | Package format | Package client | Package namespace | -| --- | --- | --- | --- | --- | -| JavaScript | Node package manager | `package.json` | `npm` | `npm.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME` -| Ruby | RubyGems package manager | `Gemfile` | `gem` | `rubygems.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME` -| Java | Apache Maven project management and comprehension tool | `pom.xml` | `mvn` | `maven.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME` -| Java | Gradle build automation tool for Java | `build.gradle` or `build.gradle.kts` | `gradle` | `maven.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME` -| .NET | NuGet package management for .NET | `nupkg` | `dotnet` CLI | `nuget.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME` -| N/A | Docker container management | `Dockerfile` | `Docker` | `docker.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME` - -With subdomain isolation disabled on {% data variables.product.product_location %}: - -| Language | Description | Package format | Package client | Package namespace | -| --- | --- | --- | --- | --- | -| JavaScript | Node package manager | `package.json` | `npm` | `HOSTNAME/_registry/npm/OWNER/REPOSITORY/IMAGE-NAME` -| Ruby | RubyGems package manager | `Gemfile` | `gem` | `HOSTNAME/_registry/rubygems/OWNER/REPOSITORY/IMAGE-NAME` -| Java | Apache Maven project management and comprehension tool | `pom.xml` | `mvn` | `HOSTNAME/_registry/maven/OWNER/REPOSITORY/IMAGE-NAME` -| Java | Gradle build automation tool for Java | `build.gradle` or `build.gradle.kts` | `gradle` | `HOSTNAME/_registry/maven/OWNER/REPOSITORY/IMAGE-NAME` -| .NET | NuGet package management for .NET | `nupkg` | `dotnet` CLI | `HOSTNAME/_registry/nuget/OWNER/REPOSITORY/IMAGE-NAME` +| Language | Description | Package format | Package client | +| --- | --- | --- | --- | +| JavaScript | Node package manager | `package.json` | `npm` | +| Ruby | RubyGems package manager | `Gemfile` | `gem` | +| Java | Apache Maven project management and comprehension tool | `pom.xml` | `mvn` | +| Java | Gradle build automation tool for Java | `build.gradle` or `build.gradle.kts` | `gradle` | +| .NET | NuGet package management for .NET | `nupkg` | `dotnet` CLI | +| N/A | Docker container management | `Dockerfile` | `Docker` | +{% if currentVersion ver_gt "enterprise-server@2.22" %} {% note %} **Note:** Docker is not supported when subdomain isolation is disabled. @@ -134,13 +100,13 @@ To use or manage a package hosted by a package registry, you must use a token wi For example: - To download and install packages from a repository, your token must have the `read:packages` scope, and your user account must have read permissions for the repository. -- {% if currentVersion == "free-pro-team@latest" or if currentVersion ver_gt "enterprise-server@3.0" %}To delete a package on {% data variables.product.product_name %}, your token must at least have the `delete:packages` and `read:packages` scope. The `repo` scope is also required for repo-scoped packages.{% endif %}{% if currentVersion ver_lt "enterprise-server@3.1" %}To delete a specified version of a private package on {% data variables.product.product_name %}, your token must have the `delete:packages` and `repo` scope. Public packages cannot be deleted.{% endif %} For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}." +- {% if currentVersion == "free-pro-team@latest" or if currentVersion ver_gt "enterprise-server@3.0" %}To delete a package on {% data variables.product.product_name %}, your token must at least have the `delete:packages` and `read:packages` scope. The `repo` scope is also required for repo-scoped packages.{% elsif currentVersion ver_lt "enterprise-server@3.1" %}To delete a specified version of a private package on {% data variables.product.product_name %}, your token must have the `delete:packages` and `repo` scope. Public packages cannot be deleted.{% elsif currentVersion == "github-ae@latest" %}To delete a specified version of a package on {% data variables.product.product_name %}, your token must have the `delete:packages` and `repo` scope.{% endif %} For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}." | Scope | Description | Repository permissions | | --- | --- | --- | |`read:packages`| Download and install packages from {% data variables.product.prodname_registry %} | read | |`write:packages`| Upload and publish packages to {% data variables.product.prodname_registry %} | write | -| `delete:packages` | {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} Delete packages from {% data variables.product.prodname_registry %} {% endif %}{% if currentVersion ver_lt "enterprise-server@3.1" %} Delete specified versions of private packages from {% data variables.product.prodname_registry %} {% endif %} | admin | +| `delete:packages` | {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} Delete packages from {% data variables.product.prodname_registry %} {% elsif currentVersion ver_lt "enterprise-server@3.1" %} Delete specified versions of private packages from {% data variables.product.prodname_registry %}{% elsif currentVersion == "github-ae@latest" %} Delete specified versions of packages from {% data variables.product.prodname_registry %} {% endif %} | admin | | `repo` | Upload and delete packages (along with `write:packages`, or `delete:packages`) | write, or admin | When you create a {% data variables.product.prodname_actions %} workflow, you can use the `GITHUB_TOKEN` to publish and install packages in {% data variables.product.prodname_registry %} without needing to store and manage a personal access token. @@ -164,7 +130,11 @@ You can delete a private or public package in the {% data variables.product.prod You can delete a version of a private package in the {% data variables.product.product_name %} user interface or using the GraphQL API. {% endif %} -When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" and "[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." +{% if currentVersion == "github-ae@latest" %} +You can delete a version of a package in the {% data variables.product.product_name %} user interface or using the GraphQL API. +{% endif %} + +When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" and "[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." You can configure webhooks to subscribe to package-related events, such as when a package is published or updated. For more information, see the "[`package` webhook event](/webhooks/event-payloads/#package)." diff --git a/content/packages/learn-github-packages/core-concepts-for-github-packages.md b/content/packages/learn-github-packages/core-concepts-for-github-packages.md index 07b7774cd7..25a14cbc94 100644 --- a/content/packages/learn-github-packages/core-concepts-for-github-packages.md +++ b/content/packages/learn-github-packages/core-concepts-for-github-packages.md @@ -7,9 +7,11 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} ### Package diff --git a/content/packages/learn-github-packages/deleting-a-package.md b/content/packages/learn-github-packages/deleting-a-package.md index 0a09d23e8b..d23b0e652e 100644 --- a/content/packages/learn-github-packages/deleting-a-package.md +++ b/content/packages/learn-github-packages/deleting-a-package.md @@ -1,20 +1,22 @@ --- title: Deleting a package -intro: 'You can delete a version of a private package using GraphQL or on {% data variables.product.product_name %}.' +intro: 'You can delete a version of a {% if currentVersion != "github-ae@latest" %}private{% endif %} package using GraphQL or on {% data variables.product.product_name %}.' product: '{% data reusables.gated-features.packages %}' versions: enterprise-server: '>=2.22 <3.1' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} -At this time, {% data variables.product.prodname_registry %} on {% data variables.product.product_location %} does not support deleting public packages. +{% if currentVersion != "github-ae@latest" %}At this time, {% data variables.product.prodname_registry %} on {% data variables.product.product_location %} does not support deleting public packages.{% endif %} -You can only delete a specified version of a private package on {% data variables.product.product_name %} or with the GraphQL API. To remove an entire private package from appearing on {% data variables.product.product_name %}, you must delete every version of the package first. +You can only delete a specified version of a {% if currentVersion != "github-ae@latest" %}private {% endif %}package on {% data variables.product.product_name %} or with the GraphQL API. To remove an entire {% if currentVersion != "github-ae@latest" %}private {% endif %}package from appearing on {% data variables.product.product_name %}, you must delete every version of the package first. -### Deleting a version of a private package on {% data variables.product.product_name %} +### Deleting a version of a {% if currentVersion != "github-ae@latest" %}private {% endif %}package on {% data variables.product.product_name %} -To delete a private package version, you must have admin permissions in the repository. +To delete a {% if currentVersion != "github-ae@latest" %}private {% endif %}package version, you must have admin permissions in the repository. {% data reusables.repositories.navigate-to-repo %} {% data reusables.package_registry.packages-from-code-tab %} @@ -27,7 +29,7 @@ To delete a private package version, you must have admin permissions in the repo 6. To confirm deletion, type the package name and click **I understand the consequences, delete this version**. ![Confirm package deletion button](/assets/images/help/package-registry/confirm-package-deletion.png) -### Deleting a version of a private package with GraphQL +### Deleting a version of a {% if currentVersion != "github-ae@latest" %}private {% endif %}package with GraphQL Use the `deletePackageVersion` mutation in the GraphQL API. You must use a token with the `read:packages`, `delete:packages`, and `repo` scopes. For more information about tokens, see "[About {% data variables.product.prodname_registry %}](/packages/publishing-and-managing-packages/about-github-packages#authenticating-to-github-packages)." @@ -41,7 +43,7 @@ curl -X POST \ HOSTNAME/graphql ``` -To find all of the private packages you have published to {% data variables.product.prodname_registry %}, along with the version IDs for the packages, you can use the `packages` connection through the `repository` object. You will need a token with the `read:packages` and `repo` scopes. For more information, see the [`packages`](/graphql/reference/objects#repository) connection or the [`PackageOwner`](/graphql/reference/interfaces#packageowner) interface. +To find all of the {% if currentVersion != "github-ae@latest" %}private {% endif %}packages you have published to {% data variables.product.prodname_registry %}, along with the version IDs for the packages, you can use the `packages` connection through the `repository` object. You will need a token with the `read:packages` and `repo` scopes. For more information, see the [`packages`](/graphql/reference/objects#repository) connection or the [`PackageOwner`](/graphql/reference/interfaces#packageowner) interface. For more information about the `deletePackageVersion` mutation, see "[`deletePackageVersion`](/graphql/reference/mutations#deletepackageversion)." diff --git a/content/packages/learn-github-packages/index.md b/content/packages/learn-github-packages/index.md index 9af1511955..cd736ad2b3 100644 --- a/content/packages/learn-github-packages/index.md +++ b/content/packages/learn-github-packages/index.md @@ -7,9 +7,11 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} {% link_in_list /about-github-packages %} {% link_in_list /core-concepts-for-github-packages %} diff --git a/content/packages/learn-github-packages/publishing-a-package.md b/content/packages/learn-github-packages/publishing-a-package.md index 9294af45b6..674946386a 100644 --- a/content/packages/learn-github-packages/publishing-a-package.md +++ b/content/packages/learn-github-packages/publishing-a-package.md @@ -9,9 +9,11 @@ permissions: Anyone with write permissions for a repository can publish a packag versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} ### About published packages @@ -25,7 +27,7 @@ If a new version of a package fixes a security vulnerability, you should publish ### Publishing a package -You can publish a package to {% data variables.product.prodname_registry %} using any {% if currentVersion == "free-pro-team@latest" %}supported package client{% else %}package type enabled for your instance{% endif %} by following the same general guidelines. +You can publish a package to {% data variables.product.prodname_registry %} using any {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}supported package client{% else %}package type enabled for your instance{% endif %} by following the same general guidelines. 1. Create or use an existing access token with the appropriate scopes for the task you want to accomplish. For more information, see "[About {% data variables.product.prodname_registry %}](/packages/publishing-and-managing-packages/about-github-packages#authenticating-to-github-packages)." 2. Authenticate to {% data variables.product.prodname_registry %} using your access token and the instructions for your package client. diff --git a/content/packages/manage-packages/index.md b/content/packages/manage-packages/index.md index 21d7e0d6c3..cfeaf4c7a6 100644 --- a/content/packages/manage-packages/index.md +++ b/content/packages/manage-packages/index.md @@ -9,9 +9,11 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} {% link_in_list /viewing-packages %} {% link_in_list /installing-a-package %} diff --git a/content/packages/manage-packages/installing-a-package.md b/content/packages/manage-packages/installing-a-package.md index 007e344089..6b67f161ad 100644 --- a/content/packages/manage-packages/installing-a-package.md +++ b/content/packages/manage-packages/installing-a-package.md @@ -9,9 +9,11 @@ permissions: Anyone with read permissions for a repository can install a package versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} ### About package installation @@ -21,7 +23,7 @@ After you find a package, you can read the package's description and installatio ### Installing a package -You can install a package from {% data variables.product.prodname_registry %} using any {% if currentVersion == "free-pro-team@latest" %}supported package client{% else %}package type enabled for your instance{% endif %} by following the same general guidelines. +You can install a package from {% data variables.product.prodname_registry %} using any {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}supported package client{% else %}package type enabled for your instance{% endif %} by following the same general guidelines. 1. Authenticate to {% data variables.product.prodname_registry %} using the instructions for your package client. For more information, see "[About tokens](/packages/publishing-and-managing-packages/about-github-packages#authenticating-to-github-packages)." 2. Install the package using the instructions for your package client. diff --git a/content/packages/manage-packages/viewing-packages.md b/content/packages/manage-packages/viewing-packages.md index d61604627e..ee2985a359 100644 --- a/content/packages/manage-packages/viewing-packages.md +++ b/content/packages/manage-packages/viewing-packages.md @@ -11,9 +11,11 @@ permissions: Anyone with read permissions to a repository can view the repositor versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} ### About package views diff --git a/content/packages/quickstart.md b/content/packages/quickstart.md index 99e96e8a87..cb593588cf 100644 --- a/content/packages/quickstart.md +++ b/content/packages/quickstart.md @@ -1,33 +1,36 @@ --- title: Quickstart for GitHub Packages -intro: 'Publish to {% data variables.product.prodname_registry %} in 5 minutes or less with {% data variables.product.prodname_actions %}.' +intro: 'Publish to {% data variables.product.prodname_registry %} with {% data variables.product.prodname_actions %}.' allowTitleToDifferFromFilename: true versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- +{% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} +{% data reusables.actions.ae-self-hosted-runners-notice %} + ### Introduction -You only need an existing {% data variables.product.prodname_dotcom %} repository to publish a package to {% data variables.product.prodname_registry %}. In this guide, you'll create a {% data variables.product.prodname_actions %} workflow to test your code and then publish it to {% data variables.product.prodname_registry %}. Feel free to create a new repository for this Quickstart. You can use it to test this and future {% data variables.product.prodname_actions %} workflows. +In this guide, you'll create a {% data variables.product.prodname_actions %} workflow to test your code and then publish it to {% data variables.product.prodname_registry %}. ### Publishing your package 1. Create a new repository on {% data variables.product.prodname_dotcom %}, adding the `.gitignore` for Node. {% if currentVersion ver_lt "enterprise-server@3.1" %} Create a private repository if you’d like to delete this package later, public packages cannot be deleted.{% endif %} For more information, see "[Creating a new repository](/github/creating-cloning-and-archiving-repositories/creating-a-new-repository)." 2. Clone the repository to your local machine. - {% raw %} ```shell - $ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git + $ git clone https://{% if currentVersion == "github-ae@latest" %}YOUR-HOSTNAME{% else %}github.com{% endif %}/YOUR-USERNAME/YOUR-REPOSITORY.git $ cd YOUR-REPOSITORY ``` - {% endraw %} 3. Create an `index.js` file and add a basic alert to say "Hello world!" {% raw %} ```javascript{:copy} alert("Hello, World!"); ``` {% endraw %} -4. Initialize an npm package. In the package initialization wizard, enter your package with the name: _`@YOUR-USERNAME/YOUR-REPOSITORY`_, and set the test script to `exit 0` if you do not have any tests. Commit your changes and push them to {% data variables.product.prodname_dotcom %}. +4. Initialize an npm package with `npm init`. In the package initialization wizard, enter your package with the name: _`@YOUR-USERNAME/YOUR-REPOSITORY`_, and set the test script to `exit 0`. This will generate a `package.json` file with information about your package. {% raw %} ```shell $ npm init @@ -35,17 +38,19 @@ You only need an existing {% data variables.product.prodname_dotcom %} repositor package name: @YOUR-USERNAME/YOUR-REPOSITORY ... test command: exit 0 - ... + ... + ``` + {% endraw %} +5. Run `npm install` to generate the `package-lock.json` file, then commit and push your changes to {% data variables.product.prodname_dotcom %}. + ```shell $ npm install $ git add index.js package.json package-lock.json $ git commit -m "initialize npm package" $ git push ``` - {% endraw %} -5. From your repository on {% data variables.product.prodname_dotcom %}, create a new file in the `.github/workflows` directory named `release-package.yml`. For more information, see "[Creating new files](/github/managing-files-in-a-repository/creating-new-files)." -6. Copy the following YAML content into the `release-package.yml` file. - {% raw %} +6. Create a `.github/workflows` directory. In that directory, create a file named `release-package.yml`. +7. Copy the following YAML content into the `release-package.yml` file{% if currentVersion == "github-ae@latest" %}, replacing `YOUR-HOSTNAME` with the name of your enterprise{% endif %}. ```yaml{:copy} name: Node.js Package @@ -72,18 +77,21 @@ You only need an existing {% data variables.product.prodname_dotcom %} repositor - uses: actions/setup-node@v1 with: node-version: 12 - registry-url: https://npm.pkg.github.com/ + registry-url: {% if currentVersion == "github-ae@latest" %}https://npm.YOUR-HOSTNAME.com/{% else %}https://npm.pkg.github.com/{% endif %} - run: npm ci - run: npm publish env: - NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} + NODE_AUTH_TOKEN: ${% raw %}{{secrets.GITHUB_TOKEN}}{% endraw %} ``` - {% endraw %} -7. Scroll to the bottom of the page and select **Create a new branch for this commit and start a pull request**. Then, to create a pull request, click **Propose new file**. -8. **Merge** the pull request. -9. Navigate to the **Code** tab and create a new release to test the workflow. For more information, see "[Managing releases in a repository](/github/administering-a-repository/managing-releases-in-a-repository#creating-a-release)." - -Creating a new release in your repository triggers the workflow to build and test your code. If the tests pass, then the package will be published to {% data variables.product.prodname_registry %}. +8. Commit and push your changes to {% data variables.product.prodname_dotcom %}. + ```shell + $ git add .github/workflows/release-package.yml + $ git commit -m "workflow to publish package" + $ git push + ``` +9. The workflow that you created will run whenever a new release is created in your repository. If the tests pass, then the package will be published to {% data variables.product.prodname_registry %}. + + To test this out, navigate to the **Code** tab in your repository and create a new release. For more information, see "[Managing releases in a repository](/github/administering-a-repository/managing-releases-in-a-repository#creating-a-release)." ### Viewing your published package diff --git a/content/rest/overview/api-previews.md b/content/rest/overview/api-previews.md index e4f5ef4da8..40b18ca656 100644 --- a/content/rest/overview/api-previews.md +++ b/content/rest/overview/api-previews.md @@ -165,7 +165,7 @@ Allows a GitHub App to run external checks on a repository's code. See the [Chec **Announced:** [2018-05-07](https://developer.github.com/changes/2018-05-07-new-checks-api-public-beta/) {% endif %} -{% if currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %} +{% if currentVersion == enterpriseServerVersions contains currentVersion %} ### Anonymous Git access to repositories diff --git a/content/rest/overview/resources-in-the-rest-api.md b/content/rest/overview/resources-in-the-rest-api.md index ef7a03c456..e32da2a7e3 100644 --- a/content/rest/overview/resources-in-the-rest-api.md +++ b/content/rest/overview/resources-in-the-rest-api.md @@ -178,7 +178,7 @@ For `POST`, `PATCH`, `PUT`, and `DELETE` requests, parameters not included in th with a Content-Type of 'application/json': ```shell -$ curl -i -u username -d '{"scopes":["public_repo"]}' {% data variables.product.api_url_pre %}/authorizations +$ curl -i -u username -d '{"scopes":["repo_deployment"]}' {% data variables.product.api_url_pre %}/authorizations ``` ### Root endpoint diff --git a/content/rest/reference/actions.md b/content/rest/reference/actions.md index cf127e9282..5073629587 100644 --- a/content/rest/reference/actions.md +++ b/content/rest/reference/actions.md @@ -6,8 +6,11 @@ redirect_from: versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- +{% data reusables.actions.ae-beta %} + The {% data variables.product.prodname_actions %} API enables you to manage {% data variables.product.prodname_actions %} using the REST API. {% data reusables.actions.actions-authentication %} {% data variables.product.prodname_github_app %}s require the permissions mentioned in each endpoint. For more information, see "[{% data variables.product.prodname_actions %} Documentation](/actions)." {% for operation in currentRestOperations %} @@ -16,6 +19,8 @@ The {% data variables.product.prodname_actions %} API enables you to manage {% d ## Artifacts +{% data reusables.actions.ae-beta %} + The Artifacts API allows you to download, delete, and retrieve information about workflow artifacts. {% data reusables.actions.about-artifacts %} For more information, see "[Persisting workflow data using artifacts](/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts)." {% data reusables.actions.actions-authentication %} {% data reusables.actions.actions-app-actions-permissions-api %} @@ -24,9 +29,11 @@ The Artifacts API allows you to download, delete, and retrieve information about {% if operation.subcategory == 'artifacts' %}{% include rest_operation %}{% endif %} {% endfor %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} ## Permissions +{% data reusables.actions.ae-beta %} + The Permissions API allows you to set permissions for what organizations and repositories are allowed to run {% data variables.product.prodname_actions %}, and what actions are allowed to run. For more information, see "[Usage limits, billing, and administration](/actions/reference/usage-limits-billing-and-administration#disabling-or-limiting-github-actions-for-your-repository-or-organization)." You can also set permissions for an enterprise. For more information, see the "[{% data variables.product.prodname_dotcom %} Enterprise administration](/rest/reference/enterprise-admin#github-actions)" REST API. @@ -38,6 +45,8 @@ You can also set permissions for an enterprise. For more information, see the "[ ## Secrets +{% data reusables.actions.ae-beta %} + The Secrets API lets you create, update, delete, and retrieve information about encrypted secrets. {% data reusables.actions.about-secrets %} For more information, see "[Creating and using encrypted secrets](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." {% data reusables.actions.actions-authentication %} {% data variables.product.prodname_github_app %}s must have the `secrets` permission to use this API. Authenticated users must have collaborator access to a repository to create, update, or read secrets. @@ -48,6 +57,9 @@ The Secrets API lets you create, update, delete, and retrieve information about ## Self-hosted runners +{% data reusables.actions.ae-beta %} +{% data reusables.actions.ae-self-hosted-runners-notice %} + The Self-hosted Runners API allows you to register, view, and delete self-hosted runners. {% data reusables.actions.about-self-hosted-runners %} For more information, see "[Hosting your own runners](/actions/hosting-your-own-runners)." {% data reusables.actions.actions-authentication %} {% data variables.product.prodname_github_app %}s must have the `administration` permission for repositories or the `organization_self_hosted_runners` permission for organizations. Authenticated users must have admin access to the repository or organization to use this API. @@ -60,6 +72,9 @@ You can manage self-hosted runners for an enterprise. For more information, see ## Self-hosted runner groups +{% data reusables.actions.ae-beta %} +{% data reusables.actions.ae-self-hosted-runners-notice %} + The Self-hosted Runners Groups API allows you manage groups of self-hosted runners. For more information, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups)." {% data reusables.actions.actions-authentication %} {% data variables.product.prodname_github_app %}s must have the `administration` permission for repositories or the `organization_self_hosted_runners` permission for organizations. Authenticated users must have admin access to the repository or organization to use this API. @@ -72,6 +87,8 @@ You can manage self-hosted runner groups for an enterprise. For more information ## Workflows +{% data reusables.actions.ae-beta %} + The Workflows API allows you to view workflows for a repository. {% data reusables.actions.about-workflows %} For more information, see "[Automating your workflow with GitHub Actions](/actions/automating-your-workflow-with-github-actions)." {% data reusables.actions.actions-authentication %} {% data reusables.actions.actions-app-actions-permissions-api %} @@ -82,6 +99,8 @@ The Workflows API allows you to view workflows for a repository. {% data reusabl ## Workflow jobs +{% data reusables.actions.ae-beta %} + The Workflow Jobs API allows you to view logs and workflow jobs. {% data reusables.actions.about-workflow-jobs %} For more information, see "[Workflow syntax for GitHub Actions](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions)". {% data reusables.actions.actions-authentication %} {% data reusables.actions.actions-app-actions-permissions-api %} @@ -92,6 +111,8 @@ The Workflow Jobs API allows you to view logs and workflow jobs. {% data reusabl ## Workflow runs +{% data reusables.actions.ae-beta %} + The Workflow Runs API allows you to view, re-run, cancel, and view logs for workflow runs. {% data reusables.actions.about-workflow-runs %} For more information, see "[Managing a workflow run](/actions/automating-your-workflow-with-github-actions/managing-a-workflow-run)." {% data reusables.actions.actions-authentication %} {% data reusables.actions.actions-app-actions-permissions-api %} diff --git a/content/rest/reference/code-scanning.md b/content/rest/reference/code-scanning.md index 71998e764e..68ae532ae5 100644 --- a/content/rest/reference/code-scanning.md +++ b/content/rest/reference/code-scanning.md @@ -6,13 +6,14 @@ product: '{% data reusables.gated-features.code-scanning %}' versions: free-pro-team: '*' enterprise-server: '>=2.22' + github-ae: '*' --- {% data reusables.code-scanning.beta %} The {% data variables.product.prodname_code_scanning %} API lets you retrieve and update {% data variables.product.prodname_code_scanning %} alerts from a repository. You can use the endpoints to create automated reports for the {% data variables.product.prodname_code_scanning %} alerts in an organization or upload analysis results generated using offline {% data variables.product.prodname_code_scanning %} tools. For more information, see "[Finding security vulnerabilities and errors in your code](/github/finding-security-vulnerabilities-and-errors-in-your-code)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ### Custom media type for {% data variables.product.prodname_code_scanning %} There is one supported custom media type for the {% data variables.product.prodname_code_scanning %} REST API. You can use this with `GET` requests sent to the `/analyses/{analysis_id}` endpoint. When you use this media type with this operation, the response includes a subset of the actual data that was uploaded for the specified analysis, rather than details about the analysis, which is returned when you use the default media type. The response also includes additional data such as the `github/alertNumber` and `github/alertUrl` properties. The data is formatted as [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). diff --git a/content/rest/reference/enterprise-admin.md b/content/rest/reference/enterprise-admin.md index fdeb04fecb..f5005e0fa2 100644 --- a/content/rest/reference/enterprise-admin.md +++ b/content/rest/reference/enterprise-admin.md @@ -16,7 +16,7 @@ You can use these endpoints to administer your enterprise. {% note %} -**Note:** This article applies to {% data variables.product.prodname_ghe_cloud %}. To see the {% data variables.product.prodname_ghe_server %} version, use the **{% data ui.pages.article_version %}** drop-down menu. +**Note:** This article applies to {% data variables.product.prodname_ghe_cloud %}. To see the {% data variables.product.prodname_ghe_managed %} or {% data variables.product.prodname_ghe_server %} version, use the **{% data ui.pages.article_version %}** drop-down menu. {% endnote %} @@ -79,9 +79,11 @@ You can also read the current version by calling the [meta endpoint](/rest/refer {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} ## GitHub Actions +{% data reusables.actions.ae-beta %} + {% for operation in currentRestOperations %} {% if operation.subcategory == 'actions' %}{% include rest_operation %}{% endif %} {% endfor %} diff --git a/content/rest/reference/permissions-required-for-github-apps.md b/content/rest/reference/permissions-required-for-github-apps.md index 1aff449d4c..25d9b58495 100644 --- a/content/rest/reference/permissions-required-for-github-apps.md +++ b/content/rest/reference/permissions-required-for-github-apps.md @@ -837,29 +837,29 @@ _Teams_ - [`PATCH /repos/:owner/:repo/secret-scanning/alerts/:alert_number`](/rest/reference/secret-scanning#update-a-secret-scanning-alert) (:write) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} ### Permission on "security events" - [`GET /repos/:owner/:repo/code-scanning/alerts`](/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository) (:read) - [`GET /repos/:owner/:repo/code-scanning/alerts/:alert_number`](/rest/reference/code-scanning#get-a-code-scanning-alert) (:read) - [`PATCH /repos/:owner/:repo/code-scanning/alerts/:alert_number`](/rest/reference/code-scanning#update-a-code-scanning-alert) (:write) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} - [`GET /repos/:owner/:repo/code-scanning/alerts/:alert_number/instances`](/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert) (:read) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} - [`GET /repos/:owner/:repo/code-scanning/analyses`](/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository) (:read) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} - [`GET /repos/:owner/:repo/code-scanning/analyses/:analysis_id`](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository) (:read) {% endif %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} - [`DELETE /repos/:owner/:repo/code-scanning/analyses/:analysis_id`](/rest/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository) (:write) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} -- [`POST /repos/:owner/:repo/code-scanning/sarifs`](/rest/reference/code-scanning#upload-a-sarif-file) (:write) +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +- [`POST /repos/:owner/:repo/code-scanning/sarifs`](/rest/reference/code-scanning#upload-an-analysis-as-sarif-data) (:write) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} - [`GET /repos/:owner/:repo/code-scanning/sarifs/:sarif_id`](/rest/reference/code-scanning#get-information-about-a-sarif-upload) (:read) {% endif %} diff --git a/content/rest/reference/repos.md b/content/rest/reference/repos.md index 7233e0457f..9562847adc 100644 --- a/content/rest/reference/repos.md +++ b/content/rest/reference/repos.md @@ -152,7 +152,7 @@ You can communicate that a transient environment no longer exists by setting its {% if operation.subcategory == 'deployments' %}{% include rest_operation %}{% endif %} {% endfor %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} ## Environments The Environments API allows you to create, configure, and delete environments. For more information about environments, see "[Environments](/actions/reference/environments)." diff --git a/data/reusables/actions/about-secrets.md b/data/reusables/actions/about-secrets.md index 073ff29d32..8ee1bee116 100644 --- a/data/reusables/actions/about-secrets.md +++ b/data/reusables/actions/about-secrets.md @@ -1 +1 @@ -Encrypted secrets allow you to store sensitive information, such as access tokens, in your repository{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}, repository environments,{% endif %} or organization. \ No newline at end of file +Encrypted secrets allow you to store sensitive information, such as access tokens, in your repository{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, repository environments,{% endif %} or organization. \ No newline at end of file diff --git a/data/reusables/actions/actions-authentication.md b/data/reusables/actions/actions-authentication.md index a047e0b5c4..9200794395 100644 --- a/data/reusables/actions/actions-authentication.md +++ b/data/reusables/actions/actions-authentication.md @@ -1 +1 @@ -This API is available for authenticated users, {% data variables.product.prodname_oauth_app %}s, and {% data variables.product.prodname_github_app %}s. Access tokens require [`repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes) for private repos and [`public_repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes) for public repos. +This API is available for authenticated users, {% data variables.product.prodname_oauth_app %}s, and {% data variables.product.prodname_github_app %}s. Access tokens require [`repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes) for private repos and [`public_repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes) for {% if currentVersion == "github-ae@latest" %} for internal repos that are available to everyone on the enterprise.{% else %}public repos.{% endif %} diff --git a/data/reusables/actions/ae-beta.md b/data/reusables/actions/ae-beta.md new file mode 100644 index 0000000000..0724c250bf --- /dev/null +++ b/data/reusables/actions/ae-beta.md @@ -0,0 +1,7 @@ +{% if currentVersion == "github-ae@latest" %} +{% note %} + +**Note:** {% data variables.product.prodname_actions %} is currently in beta for {% data variables.product.prodname_ghe_managed %}. + +{% endnote %} +{% endif %} diff --git a/data/reusables/actions/ae-self-hosted-runners-notice.md b/data/reusables/actions/ae-self-hosted-runners-notice.md new file mode 100644 index 0000000000..6d854cf0bb --- /dev/null +++ b/data/reusables/actions/ae-self-hosted-runners-notice.md @@ -0,0 +1,9 @@ +{% if currentVersion == "github-ae@latest" %} +{% warning %} + +** Warning:** Self-hosted runners are currently disabled for {% data variables.product.prodname_ghe_managed %}. This is because {% data variables.product.prodname_ghe_managed %} offers guarantees for security boundaries which are incompatible with how self-hosted runners work. However, if you do need to use self-hosted runners with {% data variables.product.prodname_ghe_managed %} and understand the security implications, you can contact {% data variables.product.prodname_dotcom %} support for a security exception that will enable self-hosted runners. + +If you don't need self-hosted runners, then you can use {% data variables.actions.hosted_runner %}s to run your workflows. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)." + +{% endwarning %} +{% endif %} diff --git a/data/reusables/actions/enterprise-setup-prereq.md b/data/reusables/actions/enterprise-setup-prereq.md index 6646511192..16e647c097 100644 --- a/data/reusables/actions/enterprise-setup-prereq.md +++ b/data/reusables/actions/enterprise-setup-prereq.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %} +{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} #### Using self-hosted runners on {% data variables.product.prodname_ghe_server %} diff --git a/data/reusables/actions/environments-beta.md b/data/reusables/actions/environments-beta.md index 5fe1386417..0ab094d719 100644 --- a/data/reusables/actions/environments-beta.md +++ b/data/reusables/actions/environments-beta.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} {% note %} diff --git a/data/reusables/actions/visualization-beta.md b/data/reusables/actions/visualization-beta.md index ee3ad11ef4..da3ac2b0d2 100644 --- a/data/reusables/actions/visualization-beta.md +++ b/data/reusables/actions/visualization-beta.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} {% note %} **Note:** The workflow visualization graph for {% data variables.product.prodname_actions %} is currently in beta and subject to change. diff --git a/data/reusables/advanced-security/more-info-ghas.md b/data/reusables/advanced-security/more-info-ghas.md index 4a510456e9..e3602931e4 100644 --- a/data/reusables/advanced-security/more-info-ghas.md +++ b/data/reusables/advanced-security/more-info-ghas.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)." {% endif %} diff --git a/data/reusables/code-scanning/about-code-scanning.md b/data/reusables/code-scanning/about-code-scanning.md index 054042ee8c..6d556ec455 100644 --- a/data/reusables/code-scanning/about-code-scanning.md +++ b/data/reusables/code-scanning/about-code-scanning.md @@ -1 +1 @@ -{% data variables.product.prodname_code_scanning_capc %} is a feature that you use to analyze the code in a {% data variables.product.prodname_dotcom %} repository to find security vulnerabilities and coding errors. Any problems identified by the analysis are shown in {% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}{% data variables.product.prodname_ghe_server %}{% else %}{% data variables.product.prodname_dotcom %}{% endif %}. +{% data variables.product.prodname_code_scanning_capc %} is a feature that you use to analyze the code in a {% data variables.product.prodname_dotcom %} repository to find security vulnerabilities and coding errors. Any problems identified by the analysis are shown in {% data variables.product.product_name %}. diff --git a/data/reusables/code-scanning/beta.md b/data/reusables/code-scanning/beta.md index 7d1b5dbc94..9da0119339 100644 --- a/data/reusables/code-scanning/beta.md +++ b/data/reusables/code-scanning/beta.md @@ -6,4 +6,12 @@ {% endnote %} +{% elsif currentVersion == "github-ae@latest" %} + +{% note %} + +**Note:** {% data variables.product.prodname_code_scanning_capc %} is currently in beta and subject to change. + +{% endnote %} + {% endif %} diff --git a/data/reusables/code-scanning/custom-configuration-file.md b/data/reusables/code-scanning/custom-configuration-file.md new file mode 100644 index 0000000000..69fcb66027 --- /dev/null +++ b/data/reusables/code-scanning/custom-configuration-file.md @@ -0,0 +1 @@ +The configuration file can be located within the repository you are analyzing, or in an external repository. Using an external repository allows you to specify configuration options for multiple repositories in a single place. When you reference a configuration file located in an external repository, you can use the _OWNER/REPOSITORY/FILENAME@BRANCH_ syntax. For example, _monacorp/shared/codeql-config.yml@main_. diff --git a/data/reusables/code-scanning/run-additional-queries.md b/data/reusables/code-scanning/run-additional-queries.md index acc2be78d1..c6783f7b97 100644 --- a/data/reusables/code-scanning/run-additional-queries.md +++ b/data/reusables/code-scanning/run-additional-queries.md @@ -1,9 +1,9 @@ When you use {% data variables.product.prodname_codeql %} to scan code, the {% data variables.product.prodname_codeql %} analysis engine generates a database from the code and runs queries on it. For more information, see "[About {% data variables.product.prodname_code_scanning %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning#about-codeql)." -{% data variables.product.prodname_codeql %} analysis uses a default set of queries, but you can specify more queries to run, in addition to the default queries. The queries you want to run must belong to a {% data variables.product.prodname_ql %} pack and can be in your own repository or any public repository. For more information, see "[About {% data variables.product.prodname_ql %} packs](https://help.semmle.com/codeql/codeql-cli/reference/qlpack-overview.html)." +{% data variables.product.prodname_codeql %} analysis uses a default set of queries, but you can specify more queries to run, in addition to the default queries. The queries you want to run must belong to a {% data variables.product.prodname_ql %} pack in a repository. For more information, see "[About {% data variables.product.prodname_ql %} packs](https://codeql.github.com/docs/codeql-cli/about-ql-packs/)." -Queries must only depend on the standard libraries (that is, the libraries referenced by an `import LANGUAGE` statement in your query), or libraries in the same {% data variables.product.prodname_ql %} pack as the query. The standard libraries are located in the [github/codeql](https://github.com/github/codeql) repository. For more information, see "[About CodeQL queries](https://help.semmle.com/QL/learn-ql/writing-queries/introduction-to-queries.html)." +Queries must only depend on the standard libraries (that is, the libraries referenced by an `import LANGUAGE` statement in your query), or libraries in the same {% data variables.product.prodname_ql %} pack as the query. The standard libraries are located in the [github/codeql](https://github.com/github/codeql) repository. For more information, see "[About CodeQL queries](https://codeql.github.com/docs/writing-codeql-queries/about-codeql-queries/)." -You can specify a single _.ql_ file, a directory containing multiple _.ql_ files, a _.qls_ query suite definition file, or any combination. For more information about query suite definitions, see "[Creating {% data variables.product.prodname_codeql %} query suites](https://help.semmle.com/codeql/codeql-cli/procedures/query-suites.html)." +You can specify a single _.ql_ file, a directory containing multiple _.ql_ files, a _.qls_ query suite definition file, or any combination. For more information about query suite definitions, see "[Creating {% data variables.product.prodname_codeql %} query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/)." {% if currentVersion == "free-pro-team@latest" %}We don't recommend referencing query suites directly from the `github/codeql` repository, like `github/codeql/cpp/ql/src@main`. Such queries may not be compiled with the same version of {% data variables.product.prodname_codeql %} as used for your other queries, which could lead to errors during analysis.{% endif %} diff --git a/data/reusables/enterprise-accounts/email-tab.md b/data/reusables/enterprise-accounts/email-tab.md new file mode 100644 index 0000000000..c00994a9ed --- /dev/null +++ b/data/reusables/enterprise-accounts/email-tab.md @@ -0,0 +1,2 @@ +1. Under {% octicon "gear" aria-label="The Settings gear" %} **Settings**, click **Email**. + ![Email tab in the enterprise account sidebar](/assets/images/enterprise/configuration/enterprise-account-email-tab.png) diff --git a/data/reusables/gated-features/actions-shared.md b/data/reusables/gated-features/actions-shared.md index 57b1ab7a7d..d5bceb9ab1 100644 --- a/data/reusables/gated-features/actions-shared.md +++ b/data/reusables/gated-features/actions-shared.md @@ -1 +1 @@ -{% data variables.product.prodname_actions %} is available with {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_free_team %} for organizations, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_ghe_server %}, and {% data variables.product.prodname_ghe_one %}. {% data variables.product.prodname_actions %} is not available for private repositories owned by accounts using legacy per-repository plans. +{% data variables.product.prodname_actions %} is available with {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_free_team %} for organizations, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_ghe_server %}, {% data variables.product.prodname_ghe_one %}, and {% data variables.product.prodname_ghe_managed %}. {% data variables.product.prodname_actions %} is not available for private repositories owned by accounts using legacy per-repository plans. diff --git a/data/reusables/gated-features/allowed-ip-addresses.md b/data/reusables/gated-features/allowed-ip-addresses.md index 501edab172..b96ddd2ecf 100644 --- a/data/reusables/gated-features/allowed-ip-addresses.md +++ b/data/reusables/gated-features/allowed-ip-addresses.md @@ -1 +1 @@ -Allowed IP addresses are available with {% data variables.product.prodname_ghe_cloud %}. For more information, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/github-s-products)." +Allowed IP addresses are available with {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_managed %}. For more information, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/github-s-products)." diff --git a/data/reusables/gated-features/code-scanning.md b/data/reusables/gated-features/code-scanning.md index 35598cce54..775fa28256 100644 --- a/data/reusables/gated-features/code-scanning.md +++ b/data/reusables/gated-features/code-scanning.md @@ -1,4 +1,6 @@ {% if currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_code_scanning_capc %} is available for all public repositories and for private repositories owned by organizations where {% data variables.product.prodname_GH_advanced_security %} is enabled. {%- elsif currentVersion ver_gt "enterprise-server@3.0" %}{% data variables.product.prodname_code_scanning_capc %} is available if {% data variables.product.prodname_GH_advanced_security %} is enabled for the repository. +{%- elsif currentVersion == "github-ae@latest" %} +{% data variables.product.prodname_code_scanning_capc %} is available as part of {% data variables.product.prodname_GH_advanced_security %}, which is free during the beta release. {%- else %} {% data variables.product.prodname_code_scanning_capc %} is available if you have a license for {% data variables.product.prodname_GH_advanced_security %}.{% endif %} {% data reusables.advanced-security.more-info-ghas %} diff --git a/data/reusables/gated-features/okta-team-sync.md b/data/reusables/gated-features/okta-team-sync.md index 6c7ea925c5..8679234bec 100644 --- a/data/reusables/gated-features/okta-team-sync.md +++ b/data/reusables/gated-features/okta-team-sync.md @@ -1,5 +1,9 @@ +{% if currentVersion != "github-ae@latest" %} + {% note %} **Note:** Team synchronization with Okta is currently in beta and subject to change. {% endnote %} + +{% endif %} diff --git a/data/reusables/gated-features/packages.md b/data/reusables/gated-features/packages.md index 7abac09055..e0cfb66045 100644 --- a/data/reusables/gated-features/packages.md +++ b/data/reusables/gated-features/packages.md @@ -1,4 +1,4 @@ -{% data variables.product.prodname_registry %} is available with {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_free_team %} for organizations, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_ghe_server %} 2.22, and {% data variables.product.prodname_ghe_one %}. +{% data variables.product.prodname_registry %} is available with {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_free_team %} for organizations, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_ghe_server %} 2.22, {% data variables.product.prodname_ghe_one %}, and {% data variables.product.prodname_ghe_managed %}. {% if currentVersion == "free-pro-team@latest" %}
{% data variables.product.prodname_registry %} is not available for private repositories owned by accounts using legacy per-repository plans. Also, accounts using legacy per-repository plans cannot access {% data variables.product.prodname_github_container_registry %} since these accounts are billed by repository. {% data reusables.gated-features.more-info %} {% endif %} diff --git a/data/reusables/gated-features/secret-scanning.md b/data/reusables/gated-features/secret-scanning.md index 7396ad8e24..f67bcdf4e4 100644 --- a/data/reusables/gated-features/secret-scanning.md +++ b/data/reusables/gated-features/secret-scanning.md @@ -1 +1,7 @@ +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} {% data variables.product.prodname_secret_scanning_caps %} is available {% if currentVersion == "free-pro-team@latest" %}in public repositories, and in private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data reusables.advanced-security.more-info-ghas %} +{% endif %} + +{% if currentVersion == "github-ae@latest" %} +{% data variables.product.prodname_secret_scanning_caps %} is available as part of {% data variables.product.prodname_GH_advanced_security %}, which is free during the beta release. +{% endif %} \ No newline at end of file diff --git a/data/reusables/gated-features/team-synchronization.md b/data/reusables/gated-features/team-synchronization.md index 896fbab1d6..0851c08049 100644 --- a/data/reusables/gated-features/team-synchronization.md +++ b/data/reusables/gated-features/team-synchronization.md @@ -1 +1 @@ -Team synchronization is available for organizations and enterprise accounts using {% data variables.product.prodname_ghe_cloud %}. {% data reusables.gated-features.more-info-org-products %} +{% if currentVersion == "free-pro-team@latest" %}Team synchronization is available for organizations and enterprise accounts using {% data variables.product.prodname_ghe_cloud %}. {% data reusables.gated-features.more-info-org-products %}{% elsif currentVersion == "github-ae@latest" %}Synchronization of teams with SCIM groups is available for organizations using {% data variables.product.prodname_ghe_managed %}. For more information, see "[GitHub's products](/github/getting-started-with-github/githubs-products)."{% endif %} diff --git a/data/reusables/github-actions/artifact-log-retention-statement.md b/data/reusables/github-actions/artifact-log-retention-statement.md index 00249ec8d5..badcea5006 100644 --- a/data/reusables/github-actions/artifact-log-retention-statement.md +++ b/data/reusables/github-actions/artifact-log-retention-statement.md @@ -1,2 +1,2 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and this retention period can be customized. For more information, see "[Usage limits, billing, and administration](/actions/reference/usage-limits-billing-and-administration#artifact-and-log-retention-policy)".{% endif %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and this retention period can be customized. For more information, see "[Usage limits, billing, and administration](/actions/reference/usage-limits-billing-and-administration#artifact-and-log-retention-policy)".{% endif %} {% if currentVersion == "enterprise-server@2.22" %} {% data variables.product.product_name %} stores full build logs and artifacts for 90 days.{% endif %} diff --git a/data/reusables/github-actions/disabling-github-actions.md b/data/reusables/github-actions/disabling-github-actions.md index 56bbb36bee..0481ab8bab 100644 --- a/data/reusables/github-actions/disabling-github-actions.md +++ b/data/reusables/github-actions/disabling-github-actions.md @@ -1 +1 @@ -By default, {% if currentVersion ver_gt "enterprise-server@2.21" %}after {% data variables.product.prodname_actions %} is enabled on {% data variables.product.product_location %}, it{% elsif currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_actions %}{% endif %} is enabled on all repositories and organizations. You can choose to disable {% data variables.product.prodname_actions %} or limit them to private actions only, which means that people can only use actions that exist in your repository. +By default, {% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}after {% data variables.product.prodname_actions %} is enabled on {% data variables.product.product_location %}, it{% elsif currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_actions %}{% endif %} is enabled on all repositories and organizations. You can choose to disable {% data variables.product.prodname_actions %} or limit them to private actions only, which means that people can only use actions that exist in your repository. diff --git a/data/reusables/github-actions/hosted-runner-configure-runner-group-access.md b/data/reusables/github-actions/hosted-runner-configure-runner-group-access.md new file mode 100644 index 0000000000..1546336d05 --- /dev/null +++ b/data/reusables/github-actions/hosted-runner-configure-runner-group-access.md @@ -0,0 +1,2 @@ +1. In the runner section of the settings page, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} next to the runner group you'd like to configure, then click **Edit name and [organization|repository] access**. +1. Modify your policy options, or change the runner group name. diff --git a/data/reusables/github-actions/hosted-runner-labels-view-assigned-labels.md b/data/reusables/github-actions/hosted-runner-labels-view-assigned-labels.md new file mode 100644 index 0000000000..a070ec7fb9 --- /dev/null +++ b/data/reusables/github-actions/hosted-runner-labels-view-assigned-labels.md @@ -0,0 +1,3 @@ +1. Locate the runner you want to update, and click {% octicon "triangle-down" aria-label="The downward triangle" %} to view the label selection menu. This menu displays all the custom labels available to your runner. Labels already assigned to your runner have a {% octicon "check" aria-label="Check mark" %} next to them. + + ![Change runner label](/assets/images/help/settings/actions-hosted-runner-list-label.png) diff --git a/data/reusables/github-actions/hosted-runner-list-group.md b/data/reusables/github-actions/hosted-runner-list-group.md new file mode 100644 index 0000000000..932c3059f2 --- /dev/null +++ b/data/reusables/github-actions/hosted-runner-list-group.md @@ -0,0 +1,3 @@ +1. If your runner is in a group, locate the runner group and click {% octicon "chevron-down" aria-label="The downward chevron" %} to view the list of runners. + + ![List runner group](/assets/images/help/settings/actions-hosted-runner-group-members.png) diff --git a/data/reusables/github-actions/hosted-runner-list.md b/data/reusables/github-actions/hosted-runner-list.md new file mode 100644 index 0000000000..9b5de7045f --- /dev/null +++ b/data/reusables/github-actions/hosted-runner-list.md @@ -0,0 +1 @@ +1. Click the "Self-hosted runners" tab, and locate the list of runners. diff --git a/data/reusables/github-actions/hosted-runner-navigate-to-repo-org-enterprise.md b/data/reusables/github-actions/hosted-runner-navigate-to-repo-org-enterprise.md new file mode 100644 index 0000000000..ae17dc7e2e --- /dev/null +++ b/data/reusables/github-actions/hosted-runner-navigate-to-repo-org-enterprise.md @@ -0,0 +1,15 @@ +1. Navigate to where your {% data variables.actions.hosted_runner %} is registered: + * **In an organization or repository**: navigate to the main page and click {% octicon "gear" aria-label="The Settings gear" %} **Settings**. + * **If using an enterprise-level runner**: + + 1. In the upper-right corner of any page, click {% octicon "rocket" aria-label="The rocket ship" %}. + 1. In the left sidebar, click **Enterprise overview**. + 1. In the enterprise sidebar, click {% octicon "law" aria-label="The law icon" %} **Policies**. +1. Navigate to the {% data variables.product.prodname_actions %} settings: + * **In an organization or repository**: Click **Actions** in the left sidebar. + + ![Actions setting](/assets/images/help/settings/settings-sidebar-actions.png) + * **If using an enterprise-level runner**: Under "{% octicon "law" aria-label="The law icon" %} Policies", click **Actions**. + + ![Actions setting](/assets/images/help/settings/actions-enterprise-policies.png) + diff --git a/data/reusables/github-actions/ip-allow-list-hosted-runners.md b/data/reusables/github-actions/ip-allow-list-hosted-runners.md new file mode 100644 index 0000000000..caa664045e --- /dev/null +++ b/data/reusables/github-actions/ip-allow-list-hosted-runners.md @@ -0,0 +1,3 @@ +To allow your {% data variables.actions.hosted_runner %}s to communicate with {% data variables.product.prodname_dotcom %}, add the IP address or IP address range of your {% data variables.actions.hosted_runner %}s to the IP allow list. For more information, see "[Adding an allowed IP address](#adding-an-allowed-ip-address)." + +For more information about {% data variables.actions.hosted_runner %}s, see "[About {% data variables.actions.hosted_runner %}s](/github-ae@latest/actions/using-github-hosted-runners/about-ae-hosted-runners)." diff --git a/data/reusables/github-actions/ip-allow-list-self-hosted-runners.md b/data/reusables/github-actions/ip-allow-list-self-hosted-runners.md index 95bc1896b9..f24c38c911 100644 --- a/data/reusables/github-actions/ip-allow-list-self-hosted-runners.md +++ b/data/reusables/github-actions/ip-allow-list-self-hosted-runners.md @@ -1,3 +1,6 @@ +{% if currentVersion == "github-ae@latest" %} +To allow your {% data variables.actions.hosted_runner %}s to communicate with {% data variables.product.prodname_dotcom %}, add the IP address or IP address range of your {% data variables.actions.hosted_runner %}s to the IP allow list. For more information, see "[Adding an allowed IP address](#adding-an-allowed-ip-address)." +{% else %} {% warning %} **Warning**: If you use an IP allow list and would also like to use {% data variables.product.prodname_actions %}, you must use self-hosted runners. For more information, see "[Hosting your own runners](/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners)." @@ -5,3 +8,4 @@ {% endwarning %} To allow your self-hosted runners to communicate with {% data variables.product.prodname_dotcom %}, add the IP address or IP address range of your self-hosted runners to the IP allow list. For more information, see "[Adding an allowed IP address](#adding-an-allowed-ip-address)." +{% endif %} diff --git a/data/reusables/github-actions/self-hosted-runner-management-permissions-required.md b/data/reusables/github-actions/self-hosted-runner-management-permissions-required.md index 9ddc7c7b5c..bb97717160 100644 --- a/data/reusables/github-actions/self-hosted-runner-management-permissions-required.md +++ b/data/reusables/github-actions/self-hosted-runner-management-permissions-required.md @@ -1,9 +1,9 @@ -A self-hosted runner can be located in either your repository, organization, or {% if currentVersion == "free-pro-team@latest" %}enterprise account settings on {% data variables.product.prodname_dotcom %}{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %} enterprise settings on {% data variables.product.product_location %}{% endif %}. To manage a self-hosted runner, you must have the following permissions, depending on where the self-hosted runner was added: +A self-hosted runner can be located in either your repository, organization, or {% if currentVersion == "free-pro-team@latest" %}enterprise account settings on {% data variables.product.prodname_dotcom %}{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} enterprise settings on {% data variables.product.product_location %}{% endif %}. To manage a self-hosted runner, you must have the following permissions, depending on where the self-hosted runner was added: - **User repository**: You must be the repository owner. - **Organization**: You must be an organization owner. - **Organization repository**: You must be an organization owner, or have admin access to the repository. {% if currentVersion == "free-pro-team@latest" %} - **Enterprise account**: You must be an enterprise owner. -{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %} +{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} - **Enterprise**: You must be a {% data variables.product.prodname_enterprise %} site administrator. {% endif %} diff --git a/data/reusables/github-actions/self-hosted-runner-navigate-to-repo-org-enterprise.md b/data/reusables/github-actions/self-hosted-runner-navigate-to-repo-org-enterprise.md index 12756c93a0..313c117a3e 100644 --- a/data/reusables/github-actions/self-hosted-runner-navigate-to-repo-org-enterprise.md +++ b/data/reusables/github-actions/self-hosted-runner-navigate-to-repo-org-enterprise.md @@ -1,6 +1,6 @@ 1. Navigate to where your self-hosted runner is registered: * **In an organization or repository**: navigate to the main page and click {% octicon "gear" aria-label="The Settings gear" %} **Settings**. - * {% if currentVersion == "free-pro-team@latest" %}**If using an enterprise account**: navigate to your enterprise account by visiting `https://github.com/enterprises/ENTERPRISE-NAME`, replacing `ENTERPRISE-NAME` with your enterprise account's name.{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %}**If using an enterprise-level runner**: + * {% if currentVersion == "free-pro-team@latest" %}**If using an enterprise account**: navigate to your enterprise account by visiting `https://github.com/enterprises/ENTERPRISE-NAME`, replacing `ENTERPRISE-NAME` with your enterprise account's name.{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}**If using an enterprise-level runner**: 1. In the upper-right corner of any page, click {% octicon "rocket" aria-label="The rocket ship" %}. 1. In the left sidebar, click **Enterprise overview**. @@ -9,4 +9,4 @@ * **In an organization or repository**: click **Actions** in the left sidebar. ![Actions setting](/assets/images/help/settings/settings-sidebar-actions.png) - * {% if currentVersion == "free-pro-team@latest" %}**If using an enterprise account**{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %}**If using an enterprise-level runner**{% endif %}: click **Actions** under "{% octicon "law" aria-label="The law icon" %} Policies". + * {% if currentVersion == "free-pro-team@latest" %}**If using an enterprise account**{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}**If using an enterprise-level runner**{% endif %}: click **Actions** under "{% octicon "law" aria-label="The law icon" %} Policies". diff --git a/data/reusables/github-actions/self-hosted-runner-security.md b/data/reusables/github-actions/self-hosted-runner-security.md index 446a9ca1db..0d4c1556b1 100644 --- a/data/reusables/github-actions/self-hosted-runner-security.md +++ b/data/reusables/github-actions/self-hosted-runner-security.md @@ -1,3 +1 @@ -We recommend that you do not use self-hosted runners with public repositories. - -Forks of your public repository can potentially run dangerous code on your self-hosted runner machine by creating a pull request that executes the code in a workflow. +We recommend that you only use self-hosted runners with private repositories. This is because forks of your repository can potentially run dangerous code on your self-hosted runner machine by creating a pull request that executes the code in a workflow. diff --git a/data/reusables/github-ae/github-ae-enables-you.md b/data/reusables/github-ae/github-ae-enables-you.md index dd699d9ad6..b7adad1f46 100644 --- a/data/reusables/github-ae/github-ae-enables-you.md +++ b/data/reusables/github-ae/github-ae-enables-you.md @@ -1 +1 @@ -{% data variables.product.prodname_ghe_managed %} enables you to move your software development to the cloud while meeting the most stringent security and compliance requirements. +{% data variables.product.prodname_ghe_managed %} enables you to move your DevOps workload to the cloud while meeting stringent security and compliance requirements. diff --git a/data/reusables/organizations/team-synchronization.md b/data/reusables/organizations/team-synchronization.md index 121340e06b..a609ef11b9 100644 --- a/data/reusables/organizations/team-synchronization.md +++ b/data/reusables/organizations/team-synchronization.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} You can use team synchronization to automatically add and remove organization members to teams through an identity provider. For more information, see "[Synchronizing a team with an identity provider group](/github/setting-up-and-managing-organizations-and-teams/synchronizing-a-team-with-an-identity-provider-group)." {% endif %} diff --git a/data/reusables/package_registry/docker_registry_deprecation_status.md b/data/reusables/package_registry/docker_registry_deprecation_status.md index a23fdc598b..73a07a040b 100644 --- a/data/reusables/package_registry/docker_registry_deprecation_status.md +++ b/data/reusables/package_registry/docker_registry_deprecation_status.md @@ -1,5 +1,5 @@ {% warning %} -**Note:** The {% data variables.product.prodname_registry %} Docker registry will be superseded by {% data variables.product.prodname_github_container_registry %}{% if enterpriseServerVersions contains currentVersion %} in a future {% data variables.product.product_name %} release{% endif %}.{% if currentVersion == "free-pro-team@latest" %} To learn how to migrate your existing Docker images and any workflows using them, see "[Migrating to {% data variables.product.prodname_github_container_registry %} for Docker images](/packages/guides/migrating-to-github-container-registry-for-docker-images)" and "[Container guides for {% data variables.product.prodname_registry %}](/packages/guides/container-guides-for-github-packages)."{% endif %} +**Note:** The {% data variables.product.prodname_registry %} Docker registry {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} will offer improved container support in a future {% data variables.product.product_name %} release.{% elsif currentVersion == "free-pro-team@latest" %} now offers improved container support. For more information, see "[About GitHub Container Registry](/packages/guides/about-github-container-registry)." To learn how to migrate your existing Docker images and any workflows using them, see "[Migrating to {% data variables.product.prodname_github_container_registry %} for Docker images](/packages/guides/migrating-to-github-container-registry-for-docker-images)" and "[Container guides for {% data variables.product.prodname_registry %}](/packages/guides/container-guides-for-github-packages)."{% endif %} {% endwarning %} diff --git a/data/reusables/package_registry/packages-ghae-release-stage.md b/data/reusables/package_registry/packages-ghae-release-stage.md new file mode 100644 index 0000000000..1fa479c335 --- /dev/null +++ b/data/reusables/package_registry/packages-ghae-release-stage.md @@ -0,0 +1,7 @@ +{% if currentVersion == "github-ae@latest" %} +{% note %} + +**Note:** {% data variables.product.prodname_registry %} is currently in beta for {% data variables.product.prodname_ghe_managed %}. + +{% endnote %} +{% endif %} diff --git a/data/reusables/package_registry/packages-ghes-release-stage.md b/data/reusables/package_registry/packages-ghes-release-stage.md index 04e4ffd9ea..3d3510d9b8 100644 --- a/data/reusables/package_registry/packages-ghes-release-stage.md +++ b/data/reusables/package_registry/packages-ghes-release-stage.md @@ -1,7 +1,7 @@ {% if currentVersion == "enterprise-server@2.22" %} {% note %} -**Note:** {% data variables.product.prodname_registry %} is currently in beta for {% data variables.product.prodname_ghe_server %} 2.22. To join the beta for your {% data variables.product.product_location %}, use the [sign-up form](https://resources.github.com/beta-signup/). +**Note:** {% data variables.product.prodname_registry %} is currently in beta for {% data variables.product.prodname_ghe_server %} 2.22. To join the beta for {% data variables.product.product_location %}, use the [sign-up form](https://resources.github.com/beta-signup/). {% endnote %} {% endif %} diff --git a/data/reusables/package_registry/public-or-private-packages.md b/data/reusables/package_registry/public-or-private-packages.md index 96876d84f3..2838a57470 100644 --- a/data/reusables/package_registry/public-or-private-packages.md +++ b/data/reusables/package_registry/public-or-private-packages.md @@ -1 +1 @@ -You can publish packages in a public repository (public packages) to share with {% if currentVersion == "free-pro-team@latest" %}all of {% data variables.product.prodname_dotcom %}{% else %}everyone on your instance{% endif %}, or in a private repository (private packages) to share with collaborators or an organization. +You can publish packages in {% if currentVersion == "github-ae@latest" %}an internal{% else %}a public{% endif %} repository ({% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} packages) to share with {% if currentVersion == "free-pro-team@latest" %}all of {% data variables.product.prodname_dotcom %}{% else %}everyone on your enterprise{% endif %}, or in a private repository (private packages) to share with collaborators or an organization. diff --git a/data/reusables/secret-scanning/beta.md b/data/reusables/secret-scanning/beta.md index 82fdadded9..e0b230700b 100644 --- a/data/reusables/secret-scanning/beta.md +++ b/data/reusables/secret-scanning/beta.md @@ -1,7 +1,7 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} {% note %} -**Note:** {% data variables.product.prodname_secret_scanning_caps %} for organization-owned{% if currentVersion ver_gt "enterprise-server@2.22" %} public and{% endif %} private repositories is currently in beta and subject to change. +**Note:** {% data variables.product.prodname_secret_scanning_caps %} for organization-owned{% if currentVersion == "free-pro-team@latest" %} private{% endif %} repositories is currently in beta and subject to change. {% endnote %} diff --git a/data/reusables/webhooks/check_run_properties.md b/data/reusables/webhooks/check_run_properties.md index eca6f57502..4379ad2362 100644 --- a/data/reusables/webhooks/check_run_properties.md +++ b/data/reusables/webhooks/check_run_properties.md @@ -6,7 +6,7 @@ Key | Type | Description `check_run[conclusion]`|`string` | The result of the completed check run. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %}`action_required` or `stale`{% else %}or `action_required`{% endif %}. This value will be `null` until the check run has `completed`. `check_run[name]`|`string` | The name of the check run. `check_run[check_suite][id]`|`integer` | The id of the check suite that this check run is part of. -`check_run[check_suite][pull_requests]`|`array`| An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +`check_run[check_suite][pull_requests]`|`array`| An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} `deployment`|`object`| A deployment to a repository environment. This will only be populated if the check run was created by a {% data variables.product.prodname_actions %} workflow job that references an environment.{% endif %} `requested_action`|`object` | The action requested by the user. `requested_action[identifier]`|`string` | The integrator reference of the action requested by the user. diff --git a/data/reusables/webhooks/create_properties.md b/data/reusables/webhooks/create_properties.md index 4f876a5925..23e8dcf25c 100644 --- a/data/reusables/webhooks/create_properties.md +++ b/data/reusables/webhooks/create_properties.md @@ -2,5 +2,5 @@ Key | Type | Description ----|------|------------- `ref`|`string` | The [`git ref`](/rest/reference/git#get-a-reference) resource. `ref_type`|`string` | The type of Git ref object created in the repository. Can be either `branch` or `tag`. -`master_branch`|`string` | The name of the repository's default branch (usually {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.23" %}`main`{% else %}`master`{% endif %}). +`master_branch`|`string` | The name of the repository's default branch (usually {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.23" or currentVersion == "github-ae@latest" %}`main`{% else %}`master`{% endif %}). `description`|`string` | The repository's current description. diff --git a/data/reusables/webhooks/pull_request_webhook_properties.md b/data/reusables/webhooks/pull_request_webhook_properties.md index ecd62db727..1f6e268bdf 100644 --- a/data/reusables/webhooks/pull_request_webhook_properties.md +++ b/data/reusables/webhooks/pull_request_webhook_properties.md @@ -1,3 +1,3 @@ Key | Type | Description ----|------|------------- -`action`|`string` | The action that was performed. Can be one of `opened`, `edited`, `closed`, `assigned`, `unassigned`, `review_requested`, `review_request_removed`, `ready_for_review`, `converted_to_draft`, `labeled`, `unlabeled`, `synchronize`, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}`auto_merge_enabled`, `auto_merge_disabled`,{% endif %} `locked`, `unlocked`, or `reopened`. If the action is `closed` and the `merged` key is `false`, the pull request was closed with unmerged commits. If the action is `closed` and the `merged` key is `true`, the pull request was merged. +`action`|`string` | The action that was performed. Can be one of `opened`, `edited`, `closed`, `assigned`, `unassigned`, `review_requested`, `review_request_removed`, `ready_for_review`, `converted_to_draft`, `labeled`, `unlabeled`, `synchronize`, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}`auto_merge_enabled`, `auto_merge_disabled`,{% endif %} `locked`, `unlocked`, or `reopened`. If the action is `closed` and the `merged` key is `false`, the pull request was closed with unmerged commits. If the action is `closed` and the `merged` key is `true`, the pull request was merged. diff --git a/data/reusables/webhooks/secret.md b/data/reusables/webhooks/secret.md index a92e5fca87..95f3a341ca 100644 --- a/data/reusables/webhooks/secret.md +++ b/data/reusables/webhooks/secret.md @@ -1 +1 @@ -Setting a webhook secret allows you to ensure that `POST` requests sent to the payload URL are from {% data variables.product.product_name %}. When you set a secret, you'll receive the {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}`X-Hub-Signature` and `X-Hub-Signature-256` headers{% elsif currentVersion ver_lt "enterprise-server@2.23" %}`X-Hub-Signature` header{% elsif currentVersion == "github-ae@latest" %}`X-Hub-Signature-256` header{% endif %} in the webhook `POST` request. For more information on how to use a secret with a signature header to secure your webhook payloads, see "[Securing your webhooks](/webhooks/securing/)." +Setting a webhook secret allows you to ensure that `POST` requests sent to the payload URL are from {% data variables.product.product_name %}. When you set a secret, you'll receive the {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}`X-Hub-Signature` and `X-Hub-Signature-256` headers{% elsif currentVersion ver_lt "enterprise-server@2.23" %}`X-Hub-Signature` header{% elsif currentVersion == "github-ae@latest" %}`X-Hub-Signature-256` header{% endif %} in the webhook `POST` request. For more information on how to use a secret with a signature header to secure your webhook payloads, see "[Securing your webhooks](/webhooks/securing/)." diff --git a/data/reusables/webhooks/webhooks-rest-api-links.md b/data/reusables/webhooks/webhooks-rest-api-links.md index 3882222b05..1dd3383c2f 100644 --- a/data/reusables/webhooks/webhooks-rest-api-links.md +++ b/data/reusables/webhooks/webhooks-rest-api-links.md @@ -1,4 +1,4 @@ -You can use the repository, organization, and app webhook REST APIs to create, update, delete, and ping webhooks. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}You can also use the REST API to change the configuration of the webhook. For example, you can modify the payload URL, content type, SSL verification, and secret. {% endif %}For more information, see: +You can use the repository, organization, and app webhook REST APIs to create, update, delete, and ping webhooks. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}You can also use the REST API to change the configuration of the webhook. For example, you can modify the payload URL, content type, SSL verification, and secret. {% endif %}For more information, see: - [Repository Webhooks REST API](/rest/reference/repos#webhooks) -- [Organization Webhooks REST API](/rest/reference/orgs#webhooks){% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +- [Organization Webhooks REST API](/rest/reference/orgs#webhooks){% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} - [GitHub App Webhooks REST API](/rest/reference/apps#webhooks){% endif %} diff --git a/data/variables/actions.yml b/data/variables/actions.yml new file mode 100644 index 0000000000..35d247f297 --- /dev/null +++ b/data/variables/actions.yml @@ -0,0 +1 @@ +hosted_runner: 'AE hosted runner' diff --git a/lib/rest/static/decorated/api.github.com.json b/lib/rest/static/decorated/api.github.com.json index ab50023f65..5cc942da34 100644 --- a/lib/rest/static/decorated/api.github.com.json +++ b/lib/rest/static/decorated/api.github.com.json @@ -3273,7 +3273,7 @@ "childParamsGroups": [] }, "repositories": { - "description": "

The list of repository IDs to scope the user-to-server access token to. repositories may not be specified if repository_ids is specified.

", + "description": "

The list of repository names to scope the user-to-server access token to. repositories may not be specified if repository_ids is specified.

", "type": "array of strings", "items": { "type": "string", @@ -3282,11 +3282,11 @@ "name": "repositories", "in": "body", "rawType": "array", - "rawDescription": "The list of repository IDs to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", + "rawDescription": "The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", "childParamsGroups": [] }, "repository_ids": { - "description": "

The list of repository names to scope the user-to-server access token to. repository_ids may not be specified if repositories is specified.

", + "description": "

The list of repository IDs to scope the user-to-server access token to. repository_ids may not be specified if repositories is specified.

", "example": [ 1 ], @@ -3297,7 +3297,7 @@ "name": "repository_ids", "in": "body", "rawType": "array", - "rawDescription": "The list of repository names to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", + "rawDescription": "The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", "childParamsGroups": [] }, "permissions": { @@ -4183,7 +4183,7 @@ "childParamsGroups": [] }, { - "description": "

The list of repository IDs to scope the user-to-server access token to. repositories may not be specified if repository_ids is specified.

", + "description": "

The list of repository names to scope the user-to-server access token to. repositories may not be specified if repository_ids is specified.

", "type": "array of strings", "items": { "type": "string", @@ -4192,11 +4192,11 @@ "name": "repositories", "in": "body", "rawType": "array", - "rawDescription": "The list of repository IDs to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", + "rawDescription": "The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", "childParamsGroups": [] }, { - "description": "

The list of repository names to scope the user-to-server access token to. repository_ids may not be specified if repositories is specified.

", + "description": "

The list of repository IDs to scope the user-to-server access token to. repository_ids may not be specified if repositories is specified.

", "example": [ 1 ], @@ -4207,7 +4207,7 @@ "name": "repository_ids", "in": "body", "rawType": "array", - "rawDescription": "The list of repository names to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", + "rawDescription": "The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", "childParamsGroups": [] }, { diff --git a/lib/rest/static/decorated/ghes-3.0.json b/lib/rest/static/decorated/ghes-3.0.json index 6d098ff7be..c0348d9aa7 100644 --- a/lib/rest/static/decorated/ghes-3.0.json +++ b/lib/rest/static/decorated/ghes-3.0.json @@ -6720,7 +6720,7 @@ "childParamsGroups": [] }, "repositories": { - "description": "

The list of repository IDs to scope the user-to-server access token to. repositories may not be specified if repository_ids is specified.

", + "description": "

The list of repository names to scope the user-to-server access token to. repositories may not be specified if repository_ids is specified.

", "type": "array of strings", "items": { "type": "string", @@ -6729,11 +6729,11 @@ "name": "repositories", "in": "body", "rawType": "array", - "rawDescription": "The list of repository IDs to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", + "rawDescription": "The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", "childParamsGroups": [] }, "repository_ids": { - "description": "

The list of repository names to scope the user-to-server access token to. repository_ids may not be specified if repositories is specified.

", + "description": "

The list of repository IDs to scope the user-to-server access token to. repository_ids may not be specified if repositories is specified.

", "example": [ 1 ], @@ -6744,7 +6744,7 @@ "name": "repository_ids", "in": "body", "rawType": "array", - "rawDescription": "The list of repository names to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", + "rawDescription": "The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", "childParamsGroups": [] }, "permissions": { @@ -7630,7 +7630,7 @@ "childParamsGroups": [] }, { - "description": "

The list of repository IDs to scope the user-to-server access token to. repositories may not be specified if repository_ids is specified.

", + "description": "

The list of repository names to scope the user-to-server access token to. repositories may not be specified if repository_ids is specified.

", "type": "array of strings", "items": { "type": "string", @@ -7639,11 +7639,11 @@ "name": "repositories", "in": "body", "rawType": "array", - "rawDescription": "The list of repository IDs to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", + "rawDescription": "The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", "childParamsGroups": [] }, { - "description": "

The list of repository names to scope the user-to-server access token to. repository_ids may not be specified if repositories is specified.

", + "description": "

The list of repository IDs to scope the user-to-server access token to. repository_ids may not be specified if repositories is specified.

", "example": [ 1 ], @@ -7654,7 +7654,7 @@ "name": "repository_ids", "in": "body", "rawType": "array", - "rawDescription": "The list of repository names to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", + "rawDescription": "The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", "childParamsGroups": [] }, { diff --git a/lib/rest/static/decorated/github.ae.json b/lib/rest/static/decorated/github.ae.json index febd2dd11a..0e57994c31 100644 --- a/lib/rest/static/decorated/github.ae.json +++ b/lib/rest/static/decorated/github.ae.json @@ -6493,6 +6493,1889 @@ } ] }, + { + "verb": "get", + "requestPath": "/enterprises/{enterprise}/actions/permissions", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/permissions", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/permissions
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /enterprises/{enterprise}/actions/permissions', {\n enterprise: 'enterprise'\n})", + "html": "
await octokit.request('GET /enterprises/{enterprise}/actions/permissions', {\n  enterprise: 'enterprise'\n})\n
" + } + ], + "summary": "Get GitHub Actions permissions for an enterprise", + "description": "Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-github-actions-permissions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#get-github-actions-permissions-for-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "get-github-actions-permissions-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"enabled_organizations\": \"all\",\n  \"allowed_actions\": \"selected\",\n  \"selected_actions_url\": \"https://api.github.com/enterprises/2/actions/permissions/selected-actions\"\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/enterprises/{enterprise}/actions/permissions", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/permissions \\\n -d '{\"enabled_organizations\":\"enabled_organizations\"}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/permissions \\\n  -d '{\"enabled_organizations\":\"enabled_organizations\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /enterprises/{enterprise}/actions/permissions', {\n enterprise: 'enterprise',\n enabled_organizations: 'enabled_organizations'\n})", + "html": "
await octokit.request('PUT /enterprises/{enterprise}/actions/permissions', {\n  enterprise: 'enterprise',\n  enabled_organizations: 'enabled_organizations'\n})\n
" + } + ], + "summary": "Set GitHub Actions permissions for an enterprise", + "description": "Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-github-actions-permissions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#set-github-actions-permissions-for-an-enterprise" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled_organizations": { + "type": "string", + "description": "

Required. The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: all, none, or selected.

", + "enum": [ + "all", + "none", + "selected" + ], + "name": "enabled_organizations", + "in": "body", + "rawType": "string", + "rawDescription": "The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", + "childParamsGroups": [] + }, + "allowed_actions": { + "type": "string", + "description": "

The permissions policy that controls the actions that are allowed to run. Can be one of: all, local_only, or selected.

", + "enum": [ + "all", + "local_only", + "selected" + ], + "name": "allowed_actions", + "in": "body", + "rawType": "string", + "rawDescription": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "childParamsGroups": [] + } + }, + "required": [ + "enabled_organizations" + ] + }, + "example": { + "enabled_organizations": "all", + "allowed_actions": "selected" + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "set-github-actions-permissions-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "descriptionHTML": "

Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "bodyParameters": [ + { + "type": "string", + "description": "

Required. The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: all, none, or selected.

", + "enum": [ + "all", + "none", + "selected" + ], + "name": "enabled_organizations", + "in": "body", + "rawType": "string", + "rawDescription": "The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", + "childParamsGroups": [] + }, + { + "type": "string", + "description": "

The permissions policy that controls the actions that are allowed to run. Can be one of: all, local_only, or selected.

", + "enum": [ + "all", + "local_only", + "selected" + ], + "name": "allowed_actions", + "in": "body", + "rawType": "string", + "rawDescription": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "childParamsGroups": [] + } + ] + }, + { + "verb": "get", + "requestPath": "/enterprises/{enterprise}/actions/permissions/organizations", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/permissions/organizations", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/permissions/organizations
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /enterprises/{enterprise}/actions/permissions/organizations', {\n enterprise: 'enterprise'\n})", + "html": "
await octokit.request('GET /enterprises/{enterprise}/actions/permissions/organizations', {\n  enterprise: 'enterprise'\n})\n
" + } + ], + "summary": "List selected organizations enabled for GitHub Actions in an enterprise", + "description": "Lists the organizations that are selected to have GitHub Actions enabled 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](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#list-selected-organizations-enabled-for-github-actions-in-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "list-selected-organizations-enabled-for-github-actions-in-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists the organizations that are selected to have GitHub Actions enabled 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.\"

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 1,\n  \"organizations\": [\n    {\n      \"login\": \"octocat\",\n      \"id\": 161335,\n      \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n      \"url\": \"https://api.github.com/orgs/octo-org\",\n      \"repos_url\": \"https://api.github.com/orgs/octo-org/repos\",\n      \"events_url\": \"https://api.github.com/orgs/octo-org/events\",\n      \"hooks_url\": \"https://api.github.com/orgs/octo-org/hooks\",\n      \"issues_url\": \"https://api.github.com/orgs/octo-org/issues\",\n      \"members_url\": \"https://api.github.com/orgs/octo-org/members{/member}\",\n      \"public_members_url\": \"https://api.github.com/orgs/octo-org/public_members{/member}\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"description\": \"A great organization\"\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/enterprises/{enterprise}/actions/permissions/organizations", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/permissions/organizations \\\n -d '{\"selected_organization_ids\":[42]}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/permissions/organizations \\\n  -d '{\"selected_organization_ids\":[42]}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /enterprises/{enterprise}/actions/permissions/organizations', {\n enterprise: 'enterprise',\n selected_organization_ids: [\n 42\n ]\n})", + "html": "
await octokit.request('PUT /enterprises/{enterprise}/actions/permissions/organizations', {\n  enterprise: 'enterprise',\n  selected_organization_ids: [\n    42\n  ]\n})\n
" + } + ], + "summary": "Set selected organizations enabled for GitHub Actions in an enterprise", + "description": "Replaces 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](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#set-selected-organizations-enabled-for-github-actions-in-an-enterprise" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_organization_ids": { + "description": "

Required. List of organization IDs to enable for GitHub Actions.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the organization." + }, + "name": "selected_organization_ids", + "in": "body", + "rawType": "array", + "rawDescription": "List of organization IDs to enable for GitHub Actions.", + "childParamsGroups": [] + } + }, + "required": [ + "selected_organization_ids" + ] + }, + "example": { + "selected_organization_ids": [ + 32, + 91 + ] + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "set-selected-organizations-enabled-for-github-actions-in-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "descriptionHTML": "

Replaces 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.\"

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "bodyParameters": [ + { + "description": "

Required. List of organization IDs to enable for GitHub Actions.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the organization." + }, + "name": "selected_organization_ids", + "in": "body", + "rawType": "array", + "rawDescription": "List of organization IDs to enable for GitHub Actions.", + "childParamsGroups": [] + } + ] + }, + { + "verb": "put", + "requestPath": "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "org_id", + "description": "Unique identifier of an organization.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of an organization.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/permissions/organizations/42", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/permissions/organizations/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}', {\n enterprise: 'enterprise',\n org_id: 42\n})", + "html": "
await octokit.request('PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}', {\n  enterprise: 'enterprise',\n  org_id: 42\n})\n
" + } + ], + "summary": "Enable a selected organization for GitHub Actions in an enterprise", + "description": "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](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/enable-selected-organization-github-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#enable-a-selected-organization-for-github-actions-in-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "enable-a-selected-organization-for-github-actions-in-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "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.\"

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

" + }, + { + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "org_id", + "description": "Unique identifier of an organization.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of an organization.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/permissions/organizations/42", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/permissions/organizations/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}', {\n enterprise: 'enterprise',\n org_id: 42\n})", + "html": "
await octokit.request('DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}', {\n  enterprise: 'enterprise',\n  org_id: 42\n})\n
" + } + ], + "summary": "Disable a selected organization for GitHub Actions in an enterprise", + "description": "Removes an organization from 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](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/disable-selected-organization-github-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#disable-a-selected-organization-for-github-actions-in-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "disable-a-selected-organization-for-github-actions-in-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Removes an organization from 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.\"

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/enterprises/{enterprise}/actions/permissions/selected-actions", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/permissions/selected-actions", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/permissions/selected-actions
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /enterprises/{enterprise}/actions/permissions/selected-actions', {\n enterprise: 'enterprise'\n})", + "html": "
await octokit.request('GET /enterprises/{enterprise}/actions/permissions/selected-actions', {\n  enterprise: 'enterprise'\n})\n
" + } + ], + "summary": "Get allowed actions for an enterprise", + "description": "Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-allowed-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#get-allowed-actions-for-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "get-allowed-actions-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for allowed_actions must be configured to selected. For more information, see \"Set GitHub Actions permissions for an enterprise.\"

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"github_owned_allowed\": true,\n  \"verified_allowed\": false,\n  \"patterns_allowed\": [\n    \"monalisa/octocat@*\",\n    \"docker/*\"\n  ]\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/enterprises/{enterprise}/actions/permissions/selected-actions", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/permissions/selected-actions \\\n -d '{\"github_owned_allowed\":true,\"patterns_allowed\":[\"patterns_allowed\"],\"verified_allowed\":true}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/permissions/selected-actions \\\n  -d '{\"github_owned_allowed\":true,\"patterns_allowed\":[\"patterns_allowed\"],\"verified_allowed\":true}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /enterprises/{enterprise}/actions/permissions/selected-actions', {\n enterprise: 'enterprise',\n github_owned_allowed: true,\n patterns_allowed: [\n 'patterns_allowed'\n ],\n verified_allowed: true\n})", + "html": "
await octokit.request('PUT /enterprises/{enterprise}/actions/permissions/selected-actions', {\n  enterprise: 'enterprise',\n  github_owned_allowed: true,\n  patterns_allowed: [\n    'patterns_allowed'\n  ],\n  verified_allowed: true\n})\n
" + } + ], + "summary": "Set allowed actions for an enterprise", + "description": "Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-allowed-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#set-allowed-actions-for-an-enterprise" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "github_owned_allowed": { + "type": "boolean", + "description": "

Required. Whether GitHub-owned actions are allowed. For example, this includes the actions in the actions organization.

", + "name": "github_owned_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.", + "childParamsGroups": [] + }, + "verified_allowed": { + "type": "boolean", + "description": "

Required. Whether actions in GitHub Marketplace from verified creators are allowed. Set to true to allow all GitHub Marketplace actions by verified creators.

", + "name": "verified_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators.", + "childParamsGroups": [] + }, + "patterns_allowed": { + "type": "array of strings", + "description": "

Required. Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, monalisa/octocat@*, monalisa/octocat@v2, monalisa/*.\"

", + "items": { + "type": "string" + }, + "name": "patterns_allowed", + "in": "body", + "rawType": "array", + "rawDescription": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "childParamsGroups": [] + } + }, + "required": [ + "github_owned_allowed", + "patterns_allowed", + "verified_allowed" + ] + }, + "examples": { + "selected_actions": { + "value": { + "github_owned_allowed": true, + "verified_allowed": false, + "patterns_allowed": [ + "monalisa/octocat@*", + "docker/*" + ] + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "set-allowed-actions-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "descriptionHTML": "

Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for allowed_actions must be configured to selected. For more information, see \"Set GitHub Actions permissions for an enterprise.\"

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "bodyParameters": [ + { + "type": "boolean", + "description": "

Required. Whether GitHub-owned actions are allowed. For example, this includes the actions in the actions organization.

", + "name": "github_owned_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.", + "childParamsGroups": [] + }, + { + "type": "boolean", + "description": "

Required. Whether actions in GitHub Marketplace from verified creators are allowed. Set to true to allow all GitHub Marketplace actions by verified creators.

", + "name": "verified_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators.", + "childParamsGroups": [] + }, + { + "type": "array of strings", + "description": "

Required. Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, monalisa/octocat@*, monalisa/octocat@v2, monalisa/*.\"

", + "items": { + "type": "string" + }, + "name": "patterns_allowed", + "in": "body", + "rawType": "array", + "rawDescription": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "childParamsGroups": [] + } + ] + }, + { + "verb": "get", + "requestPath": "/enterprises/{enterprise}/actions/runner-groups", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /enterprises/{enterprise}/actions/runner-groups', {\n enterprise: 'enterprise'\n})", + "html": "
await octokit.request('GET /enterprises/{enterprise}/actions/runner-groups', {\n  enterprise: 'enterprise'\n})\n
" + } + ], + "summary": "List self-hosted runner groups for an enterprise", + "description": "Lists all self-hosted runner groups for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-self-hosted-runner-groups-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "list-self-hosted-runner-groups-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists all self-hosted runner groups for an enterprise.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 3,\n  \"runner_groups\": [\n    {\n      \"id\": 1,\n      \"name\": \"Default\",\n      \"visibility\": \"all\",\n      \"default\": true,\n      \"runners_url\": \"https://api.github.com/enterprises/octo-corp/actions/runner_groups/1/runners\",\n      \"allows_public_repositories\": false\n    },\n    {\n      \"id\": 2,\n      \"name\": \"octo-runner-group\",\n      \"visibility\": \"selected\",\n      \"default\": false,\n      \"selected_organizations_url\": \"https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/organizations\",\n      \"runners_url\": \"https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/runners\",\n      \"allows_public_repositories\": true\n    },\n    {\n      \"id\": 3,\n      \"name\": \"expensive-hardware\",\n      \"visibility\": \"private\",\n      \"default\": false,\n      \"runners_url\": \"https://api.github.com/enterprises/octo-corp/actions/runner_groups/3/runners\",\n      \"allows_public_repositories\": true\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "post", + "requestPath": "/enterprises/{enterprise}/actions/runner-groups", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X POST \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups \\\n -d '{\"name\":\"name\"}'", + "html": "
curl \\\n  -X POST \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups \\\n  -d '{\"name\":\"name\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('POST /enterprises/{enterprise}/actions/runner-groups', {\n enterprise: 'enterprise',\n name: 'name'\n})", + "html": "
await octokit.request('POST /enterprises/{enterprise}/actions/runner-groups', {\n  enterprise: 'enterprise',\n  name: 'name'\n})\n
" + } + ], + "summary": "Create a self-hosted runner group for an enterprise", + "description": "Creates a new self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/create-self-hosted-runner-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#create-self-hosted-runner-group-for-an-enterprise" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "

Required. Name of the runner group.

", + "type": "string", + "name": "name", + "in": "body", + "rawType": "string", + "rawDescription": "Name of the runner group.", + "childParamsGroups": [] + }, + "visibility": { + "description": "

Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: all or selected

", + "type": "string", + "enum": [ + "selected", + "all" + ], + "name": "visibility", + "in": "body", + "rawType": "string", + "rawDescription": "Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: `all` or `selected`", + "childParamsGroups": [] + }, + "selected_organization_ids": { + "description": "

List of organization IDs that can access the runner group.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the organization." + }, + "name": "selected_organization_ids", + "in": "body", + "rawType": "array", + "rawDescription": "List of organization IDs that can access the runner group.", + "childParamsGroups": [] + }, + "runners": { + "description": "

List of runner IDs to add to the runner group.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + }, + "name": "runners", + "in": "body", + "rawType": "array", + "rawDescription": "List of runner IDs to add to the runner group.", + "childParamsGroups": [] + } + }, + "required": [ + "name" + ] + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected", + "selected_organization_ids": [ + 32, + 91 + ], + "runners": [ + 9, + 2 + ] + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "create-a-self-hosted-runner-group-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "descriptionHTML": "

Creates a new self-hosted runner group for an enterprise.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "bodyParameters": [ + { + "description": "

Required. Name of the runner group.

", + "type": "string", + "name": "name", + "in": "body", + "rawType": "string", + "rawDescription": "Name of the runner group.", + "childParamsGroups": [] + }, + { + "description": "

Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: all or selected

", + "type": "string", + "enum": [ + "selected", + "all" + ], + "name": "visibility", + "in": "body", + "rawType": "string", + "rawDescription": "Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: `all` or `selected`", + "childParamsGroups": [] + }, + { + "description": "

List of organization IDs that can access the runner group.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the organization." + }, + "name": "selected_organization_ids", + "in": "body", + "rawType": "array", + "rawDescription": "List of organization IDs that can access the runner group.", + "childParamsGroups": [] + }, + { + "description": "

List of runner IDs to add to the runner group.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + }, + "name": "runners", + "in": "body", + "rawType": "array", + "rawDescription": "List of runner IDs to add to the runner group.", + "childParamsGroups": [] + } + ], + "responses": [ + { + "httpStatusCode": "201", + "httpStatusMessage": "Created", + "description": "Default response", + "payload": "
{\n  \"id\": 2,\n  \"name\": \"octo-runner-group\",\n  \"visibility\": \"selected\",\n  \"default\": false,\n  \"selected_organizations_url\": \"https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations\",\n  \"runners_url\": \"https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners\",\n  \"allows_public_repositories\": false\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner group.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}', {\n enterprise: 'enterprise',\n runner_group_id: 42\n})", + "html": "
await octokit.request('GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}', {\n  enterprise: 'enterprise',\n  runner_group_id: 42\n})\n
" + } + ], + "summary": "Get a self-hosted runner group for an enterprise", + "description": "Gets a specific self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-self-hosted-runner-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#get-a-self-hosted-runner-group-for-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "get-a-self-hosted-runner-group-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets a specific self-hosted runner group for an enterprise.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"id\": 2,\n  \"name\": \"octo-runner-group\",\n  \"visibility\": \"selected\",\n  \"default\": false,\n  \"selected_organizations_url\": \"https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations\",\n  \"runners_url\": \"https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners\",\n  \"allows_public_repositories\": false\n}\n
" + } + ] + }, + { + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner group.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PATCH \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42 \\\n -d '{\"name\":\"name\"}'", + "html": "
curl \\\n  -X PATCH \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42 \\\n  -d '{\"name\":\"name\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PATCH /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}', {\n enterprise: 'enterprise',\n runner_group_id: 42,\n name: 'name'\n})", + "html": "
await octokit.request('PATCH /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}', {\n  enterprise: 'enterprise',\n  runner_group_id: 42,\n  name: 'name'\n})\n
" + } + ], + "summary": "Update a self-hosted runner group for an enterprise", + "description": "Updates the `name` and `visibility` of a self-hosted runner group in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/update-self-hosted-runner-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#update-a-self-hosted-runner-group-for-an-enterprise" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "

Name of the runner group.

", + "type": "string", + "name": "name", + "in": "body", + "rawType": "string", + "rawDescription": "Name of the runner group.", + "childParamsGroups": [] + }, + "visibility": { + "description": "

Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: all or selected

", + "type": "string", + "enum": [ + "selected", + "all" + ], + "default": "all", + "name": "visibility", + "in": "body", + "rawType": "string", + "rawDescription": "Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: `all` or `selected`", + "childParamsGroups": [] + } + } + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected" + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "update-a-self-hosted-runner-group-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "descriptionHTML": "

Updates the name and visibility of a self-hosted runner group in an enterprise.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "bodyParameters": [ + { + "description": "

Name of the runner group.

", + "type": "string", + "name": "name", + "in": "body", + "rawType": "string", + "rawDescription": "Name of the runner group.", + "childParamsGroups": [] + }, + { + "description": "

Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: all or selected

", + "type": "string", + "enum": [ + "selected", + "all" + ], + "default": "all", + "name": "visibility", + "in": "body", + "rawType": "string", + "rawDescription": "Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: `all` or `selected`", + "childParamsGroups": [] + } + ], + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"id\": 2,\n  \"name\": \"Expensive hardware runners\",\n  \"visibility\": \"selected\",\n  \"default\": false,\n  \"selected_organizations_url\": \"https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations\",\n  \"runners_url\": \"https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners\",\n  \"allows_public_repositories\": true\n}\n
" + } + ] + }, + { + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner group.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}', {\n enterprise: 'enterprise',\n runner_group_id: 42\n})", + "html": "
await octokit.request('DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}', {\n  enterprise: 'enterprise',\n  runner_group_id: 42\n})\n
" + } + ], + "summary": "Delete a self-hosted runner group from an enterprise", + "description": "Deletes a self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/delete-self-hosted-runner-group-from-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#delete-a-self-hosted-runner-group-from-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "delete-a-self-hosted-runner-group-from-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Deletes a self-hosted runner group for an enterprise.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner group.

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42/runners", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42/runners
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners', {\n enterprise: 'enterprise',\n runner_group_id: 42\n})", + "html": "
await octokit.request('GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners', {\n  enterprise: 'enterprise',\n  runner_group_id: 42\n})\n
" + } + ], + "summary": "List self-hosted runners in a group for an enterprise", + "description": "Lists the self-hosted runners that are in a specific enterprise group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#list-self-hosted-runners-in-a-group-for-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "list-self-hosted-runners-in-a-group-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists the self-hosted runners that are in a specific enterprise group.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 2,\n  \"runners\": [\n    {\n      \"id\": 23,\n      \"name\": \"linux_runner\",\n      \"os\": \"linux\",\n      \"status\": \"online\",\n      \"busy\": true,\n      \"labels\": [\n        {\n          \"id\": 5,\n          \"name\": \"self-hosted\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 7,\n          \"name\": \"X64\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 11,\n          \"name\": \"Linux\",\n          \"type\": \"read-only\"\n        }\n      ]\n    },\n    {\n      \"id\": 24,\n      \"name\": \"mac_runner\",\n      \"os\": \"macos\",\n      \"status\": \"offline\",\n      \"busy\": false,\n      \"labels\": [\n        {\n          \"id\": 5,\n          \"name\": \"self-hosted\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 7,\n          \"name\": \"X64\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 20,\n          \"name\": \"macOS\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 21,\n          \"name\": \"no-gpu\",\n          \"type\": \"custom\"\n        }\n      ]\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner group.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42/runners \\\n -d '{\"runners\":[42]}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42/runners \\\n  -d '{\"runners\":[42]}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners', {\n enterprise: 'enterprise',\n runner_group_id: 42,\n runners: [\n 42\n ]\n})", + "html": "
await octokit.request('PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners', {\n  enterprise: 'enterprise',\n  runner_group_id: 42,\n  runners: [\n    42\n  ]\n})\n
" + } + ], + "summary": "Set self-hosted runners in a group for an enterprise", + "description": "Replaces the list of self-hosted runners that are part of an enterprise runner group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#set-self-hosted-runners-in-a-group-for-an-enterprise" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "runners": { + "description": "

Required. List of runner IDs to add to the runner group.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + }, + "name": "runners", + "in": "body", + "rawType": "array", + "rawDescription": "List of runner IDs to add to the runner group.", + "childParamsGroups": [] + } + }, + "required": [ + "runners" + ] + }, + "example": { + "runners": [ + 9, + 2 + ] + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "set-self-hosted-runners-in-a-group-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "descriptionHTML": "

Replaces the list of self-hosted runners that are part of an enterprise runner group.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "bodyParameters": [ + { + "description": "

Required. List of runner IDs to add to the runner group.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + }, + "name": "runners", + "in": "body", + "rawType": "array", + "rawDescription": "List of runner IDs to add to the runner group.", + "childParamsGroups": [] + } + ] + }, + { + "verb": "put", + "requestPath": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner group.

" + }, + { + "name": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42/runners/42", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42/runners/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}', {\n enterprise: 'enterprise',\n runner_group_id: 42,\n runner_id: 42\n})", + "html": "
await octokit.request('PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}', {\n  enterprise: 'enterprise',\n  runner_group_id: 42,\n  runner_id: 42\n})\n
" + } + ], + "summary": "Add a self-hosted runner to a group for an enterprise", + "description": "Adds a self-hosted runner to a runner group configured in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise`\nscope to use this endpoint.", + "operationId": "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#add-a-self-hosted-runner-to-a-group-for-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "add-a-self-hosted-runner-to-a-group-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Adds a self-hosted runner to a runner group configured in an enterprise.

\n

You must authenticate using an access token with the admin:enterprise\nscope to use this endpoint.

" + }, + { + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner group.

" + }, + { + "name": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42/runners/42", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runner-groups/42/runners/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}', {\n enterprise: 'enterprise',\n runner_group_id: 42,\n runner_id: 42\n})", + "html": "
await octokit.request('DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}', {\n  enterprise: 'enterprise',\n  runner_group_id: 42,\n  runner_id: 42\n})\n
" + } + ], + "summary": "Remove a self-hosted runner from a group for an enterprise", + "description": "Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#remove-a-self-hosted-runner-from-a-group-for-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "remove-a-self-hosted-runner-from-a-group-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/enterprises/{enterprise}/actions/runners", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runners", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runners
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /enterprises/{enterprise}/actions/runners', {\n enterprise: 'enterprise'\n})", + "html": "
await octokit.request('GET /enterprises/{enterprise}/actions/runners', {\n  enterprise: 'enterprise'\n})\n
" + } + ], + "summary": "List self-hosted runners for an enterprise", + "description": "Lists all self-hosted runners configured for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-self-hosted-runners-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#list-self-hosted-runners-for-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "list-self-hosted-runners-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists all self-hosted runners configured for an enterprise.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 2,\n  \"runners\": [\n    {\n      \"id\": 23,\n      \"name\": \"linux_runner\",\n      \"os\": \"linux\",\n      \"status\": \"online\",\n      \"busy\": true,\n      \"labels\": [\n        {\n          \"id\": 5,\n          \"name\": \"self-hosted\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 7,\n          \"name\": \"X64\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 11,\n          \"name\": \"Linux\",\n          \"type\": \"read-only\"\n        }\n      ]\n    },\n    {\n      \"id\": 24,\n      \"name\": \"mac_runner\",\n      \"os\": \"macos\",\n      \"status\": \"offline\",\n      \"busy\": false,\n      \"labels\": [\n        {\n          \"id\": 5,\n          \"name\": \"self-hosted\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 7,\n          \"name\": \"X64\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 20,\n          \"name\": \"macOS\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 21,\n          \"name\": \"no-gpu\",\n          \"type\": \"custom\"\n        }\n      ]\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/enterprises/{enterprise}/actions/runners/{runner_id}", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runners/42", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runners/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /enterprises/{enterprise}/actions/runners/{runner_id}', {\n enterprise: 'enterprise',\n runner_id: 42\n})", + "html": "
await octokit.request('GET /enterprises/{enterprise}/actions/runners/{runner_id}', {\n  enterprise: 'enterprise',\n  runner_id: 42\n})\n
" + } + ], + "summary": "Get a self-hosted runner for an enterprise", + "description": "Gets a specific self-hosted runner configured in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-self-hosted-runner-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#get-a-self-hosted-runner-for-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "get-a-self-hosted-runner-for-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets a specific self-hosted runner configured in an enterprise.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"id\": 23,\n  \"name\": \"MBP\",\n  \"os\": \"macos\",\n  \"status\": \"online\",\n  \"busy\": true,\n  \"labels\": [\n    {\n      \"id\": 5,\n      \"name\": \"self-hosted\",\n      \"type\": \"read-only\"\n    },\n    {\n      \"id\": 7,\n      \"name\": \"X64\",\n      \"type\": \"read-only\"\n    },\n    {\n      \"id\": 20,\n      \"name\": \"macOS\",\n      \"type\": \"read-only\"\n    },\n    {\n      \"id\": 21,\n      \"name\": \"no-gpu\",\n      \"type\": \"custom\"\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/actions/runners/{runner_id}", + "serverUrl": "https://api.github.com", + "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" + }, + "descriptionHTML": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

" + }, + { + "name": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/enterprises/ENTERPRISE/actions/runners/42", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/enterprises/ENTERPRISE/actions/runners/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /enterprises/{enterprise}/actions/runners/{runner_id}', {\n enterprise: 'enterprise',\n runner_id: 42\n})", + "html": "
await octokit.request('DELETE /enterprises/{enterprise}/actions/runners/{runner_id}', {\n  enterprise: 'enterprise',\n  runner_id: 42\n})\n
" + } + ], + "summary": "Delete a self-hosted runner from an enterprise", + "description": "Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/delete-self-hosted-runner-from-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#delete-self-hosted-runner-from-an-enterprise" + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "slug": "delete-a-self-hosted-runner-from-an-enterprise", + "category": "enterprise-admin", + "categoryLabel": "Enterprise admin", + "subcategory": "actions", + "subcategoryLabel": "Actions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.

\n

You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

" + }, { "verb": "get", "requestPath": "/events", @@ -10880,6 +12763,2016 @@ } ] }, + { + "verb": "get", + "requestPath": "/orgs/{org}/actions/permissions", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/permissions", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/permissions
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /orgs/{org}/actions/permissions', {\n org: 'org'\n})", + "html": "
await octokit.request('GET /orgs/{org}/actions/permissions', {\n  org: 'org'\n})\n
" + } + ], + "summary": "Get GitHub Actions permissions for an organization", + "description": "Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/get-github-actions-permissions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-github-actions-permissions-for-an-organization" + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "get-github-actions-permissions-for-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization.

\n

You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the administration organization permission to use this API.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"enabled_repositories\": \"all\",\n  \"allowed_actions\": \"selected\",\n  \"selected_actions_url\": \"https://api.github.com/organizations/42/actions/permissions/selected-actions\"\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/orgs/{org}/actions/permissions", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/permissions \\\n -d '{\"enabled_repositories\":\"enabled_repositories\"}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/permissions \\\n  -d '{\"enabled_repositories\":\"enabled_repositories\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /orgs/{org}/actions/permissions', {\n org: 'org',\n enabled_repositories: 'enabled_repositories'\n})", + "html": "
await octokit.request('PUT /orgs/{org}/actions/permissions', {\n  org: 'org',\n  enabled_repositories: 'enabled_repositories'\n})\n
" + } + ], + "summary": "Set GitHub Actions permissions for an organization", + "description": "Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n\nIf the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/set-github-actions-permissions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-github-actions-permissions-for-an-organization" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled_repositories": { + "type": "string", + "description": "

Required. The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: all, none, or selected.

", + "enum": [ + "all", + "none", + "selected" + ], + "name": "enabled_repositories", + "in": "body", + "rawType": "string", + "rawDescription": "The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", + "childParamsGroups": [] + }, + "allowed_actions": { + "type": "string", + "description": "

The permissions policy that controls the actions that are allowed to run. Can be one of: all, local_only, or selected.

", + "enum": [ + "all", + "local_only", + "selected" + ], + "name": "allowed_actions", + "in": "body", + "rawType": "string", + "rawDescription": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "childParamsGroups": [] + } + }, + "required": [ + "enabled_repositories" + ] + }, + "example": { + "enabled_repositories": "all", + "allowed_actions": "selected" + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "set-github-actions-permissions-for-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "descriptionHTML": "

Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization.

\n

If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as allowed_actions to selected actions, then you cannot override them for the organization.

\n

You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the administration organization permission to use this API.

", + "bodyParameters": [ + { + "type": "string", + "description": "

Required. The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: all, none, or selected.

", + "enum": [ + "all", + "none", + "selected" + ], + "name": "enabled_repositories", + "in": "body", + "rawType": "string", + "rawDescription": "The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", + "childParamsGroups": [] + }, + { + "type": "string", + "description": "

The permissions policy that controls the actions that are allowed to run. Can be one of: all, local_only, or selected.

", + "enum": [ + "all", + "local_only", + "selected" + ], + "name": "allowed_actions", + "in": "body", + "rawType": "string", + "rawDescription": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "childParamsGroups": [] + } + ] + }, + { + "verb": "get", + "requestPath": "/orgs/{org}/actions/permissions/repositories", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/permissions/repositories", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/permissions/repositories
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /orgs/{org}/actions/permissions/repositories', {\n org: 'org'\n})", + "html": "
await octokit.request('GET /orgs/{org}/actions/permissions/repositories', {\n  org: 'org'\n})\n
" + } + ], + "summary": "List selected repositories enabled for GitHub Actions in an organization", + "description": "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](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/list-selected-repositories-enabled-github-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization" + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "list-selected-repositories-enabled-for-github-actions-in-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "bodyParameters": [], + "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.\"

\n

You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the administration organization permission to use this API.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 1,\n  \"repositories\": [\n    {\n      \"id\": 1296269,\n      \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n      \"name\": \"Hello-World\",\n      \"full_name\": \"octocat/Hello-World\",\n      \"owner\": {\n        \"login\": \"octocat\",\n        \"id\": 1,\n        \"node_id\": \"MDQ6VXNlcjE=\",\n        \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n        \"gravatar_id\": \"\",\n        \"url\": \"https://api.github.com/users/octocat\",\n        \"html_url\": \"https://github.com/octocat\",\n        \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n        \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n        \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n        \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n        \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n        \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n        \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n        \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n        \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n        \"type\": \"User\",\n        \"site_admin\": false\n      },\n      \"private\": false,\n      \"html_url\": \"https://github.com/octocat/Hello-World\",\n      \"description\": \"This your first repo!\",\n      \"fork\": false,\n      \"url\": \"https://api.github.com/repos/octocat/Hello-World\",\n      \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\",\n      \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World/assignees{/user}\",\n      \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\",\n      \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World/branches{/branch}\",\n      \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\",\n      \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World/comments{/number}\",\n      \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World/commits{/sha}\",\n      \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\",\n      \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World/contents/{+path}\",\n      \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World/contributors\",\n      \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World/deployments\",\n      \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World/downloads\",\n      \"events_url\": \"https://api.github.com/repos/octocat/Hello-World/events\",\n      \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World/forks\",\n      \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\",\n      \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\",\n      \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\",\n      \"git_url\": \"git:github.com/octocat/Hello-World.git\",\n      \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\",\n      \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/events{/number}\",\n      \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World/issues{/number}\",\n      \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World/keys{/key_id}\",\n      \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World/labels{/name}\",\n      \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World/languages\",\n      \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World/merges\",\n      \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World/milestones{/number}\",\n      \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\",\n      \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World/pulls{/number}\",\n      \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World/releases{/id}\",\n      \"ssh_url\": \"git@github.com:octocat/Hello-World.git\",\n      \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World/stargazers\",\n      \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World/statuses/{sha}\",\n      \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World/subscribers\",\n      \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World/subscription\",\n      \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World/tags\",\n      \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World/teams\",\n      \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\",\n      \"clone_url\": \"https://github.com/octocat/Hello-World.git\",\n      \"mirror_url\": \"git:git.example.com/octocat/Hello-World\",\n      \"hooks_url\": \"https://api.github.com/repos/octocat/Hello-World/hooks\",\n      \"svn_url\": \"https://svn.github.com/octocat/Hello-World\",\n      \"homepage\": \"https://github.com\",\n      \"language\": null,\n      \"forks_count\": 9,\n      \"stargazers_count\": 80,\n      \"watchers_count\": 80,\n      \"size\": 108,\n      \"default_branch\": \"master\",\n      \"open_issues_count\": 0,\n      \"is_template\": true,\n      \"topics\": [\n        \"octocat\",\n        \"atom\",\n        \"electron\",\n        \"api\"\n      ],\n      \"has_issues\": true,\n      \"has_projects\": true,\n      \"has_wiki\": true,\n      \"has_pages\": false,\n      \"has_downloads\": true,\n      \"archived\": false,\n      \"disabled\": false,\n      \"visibility\": \"public\",\n      \"pushed_at\": \"2011-01-26T19:06:43Z\",\n      \"created_at\": \"2011-01-26T19:01:12Z\",\n      \"updated_at\": \"2011-01-26T19:14:43Z\",\n      \"permissions\": {\n        \"admin\": false,\n        \"push\": false,\n        \"pull\": true\n      },\n      \"allow_rebase_merge\": true,\n      \"template_repository\": null,\n      \"temp_clone_token\": \"ABTLWHOULUVAXGTRYU7OC2876QJ2O\",\n      \"allow_squash_merge\": true,\n      \"delete_branch_on_merge\": true,\n      \"allow_merge_commit\": true,\n      \"subscribers_count\": 42,\n      \"network_count\": 0,\n      \"license\": {\n        \"key\": \"mit\",\n        \"name\": \"MIT License\",\n        \"url\": \"https://api.github.com/licenses/mit\",\n        \"spdx_id\": \"MIT\",\n        \"node_id\": \"MDc6TGljZW5zZW1pdA==\",\n        \"html_url\": \"https://github.com/licenses/mit\"\n      },\n      \"forks\": 1,\n      \"open_issues\": 1,\n      \"watchers\": 1\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/orgs/{org}/actions/permissions/repositories", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/permissions/repositories \\\n -d '{\"selected_repository_ids\":[42]}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/permissions/repositories \\\n  -d '{\"selected_repository_ids\":[42]}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /orgs/{org}/actions/permissions/repositories', {\n org: 'org',\n selected_repository_ids: [\n 42\n ]\n})", + "html": "
await octokit.request('PUT /orgs/{org}/actions/permissions/repositories', {\n  org: 'org',\n  selected_repository_ids: [\n    42\n  ]\n})\n
" + } + ], + "summary": "Set selected repositories enabled for GitHub Actions in an organization", + "description": "Replaces 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 configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/set-selected-repositories-enabled-github-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_repository_ids": { + "description": "

Required. List of repository IDs to enable for GitHub Actions.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the repository." + }, + "name": "selected_repository_ids", + "in": "body", + "rawType": "array", + "rawDescription": "List of repository IDs to enable for GitHub Actions.", + "childParamsGroups": [] + } + }, + "required": [ + "selected_repository_ids" + ] + }, + "example": { + "selected_repository_ids": [ + 32, + 42 + ] + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "set-selected-repositories-enabled-for-github-actions-in-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "descriptionHTML": "

Replaces 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 configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"

\n

You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the administration organization permission to use this API.

", + "bodyParameters": [ + { + "description": "

Required. List of repository IDs to enable for GitHub Actions.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the repository." + }, + "name": "selected_repository_ids", + "in": "body", + "rawType": "array", + "rawDescription": "List of repository IDs to enable for GitHub Actions.", + "childParamsGroups": [] + } + ] + }, + { + "verb": "put", + "requestPath": "/orgs/{org}/actions/permissions/repositories/{repository_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/permissions/repositories/42", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/permissions/repositories/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /orgs/{org}/actions/permissions/repositories/{repository_id}', {\n org: 'org',\n repository_id: 42\n})", + "html": "
await octokit.request('PUT /orgs/{org}/actions/permissions/repositories/{repository_id}', {\n  org: 'org',\n  repository_id: 42\n})\n
" + } + ], + "summary": "Enable a selected repository for GitHub Actions in an organization", + "description": "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](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/enable-selected-repository-github-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#enable-a-selected-repository-for-github-actions-in-an-organization" + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "enable-a-selected-repository-for-github-actions-in-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "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.\"

\n

You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the administration organization permission to use this API.

" + }, + { + "verb": "delete", + "requestPath": "/orgs/{org}/actions/permissions/repositories/{repository_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/permissions/repositories/42", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/permissions/repositories/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}', {\n org: 'org',\n repository_id: 42\n})", + "html": "
await octokit.request('DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}', {\n  org: 'org',\n  repository_id: 42\n})\n
" + } + ], + "summary": "Disable a selected repository for GitHub Actions in an organization", + "description": "Removes a repository from 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 configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/disable-selected-repository-github-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#disable-a-selected-repository-for-github-actions-in-an-organization" + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "disable-a-selected-repository-for-github-actions-in-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Removes a repository from 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 configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"

\n

You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the administration organization permission to use this API.

" + }, + { + "verb": "get", + "requestPath": "/orgs/{org}/actions/permissions/selected-actions", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/permissions/selected-actions", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/permissions/selected-actions
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /orgs/{org}/actions/permissions/selected-actions', {\n org: 'org'\n})", + "html": "
await octokit.request('GET /orgs/{org}/actions/permissions/selected-actions', {\n  org: 'org'\n})\n
" + } + ], + "summary": "Get allowed actions for an organization", + "description": "Gets the selected 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](#set-github-actions-permissions-for-an-organization).\"\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/get-allowed-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-allowed-actions-for-an-organization" + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "get-allowed-actions-for-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets the selected 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.\"\"

\n

You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the administration organization permission to use this API.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"github_owned_allowed\": true,\n  \"verified_allowed\": false,\n  \"patterns_allowed\": [\n    \"monalisa/octocat@*\",\n    \"docker/*\"\n  ]\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/orgs/{org}/actions/permissions/selected-actions", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/permissions/selected-actions \\\n -d '{\"github_owned_allowed\":true,\"patterns_allowed\":[\"patterns_allowed\"],\"verified_allowed\":true}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/permissions/selected-actions \\\n  -d '{\"github_owned_allowed\":true,\"patterns_allowed\":[\"patterns_allowed\"],\"verified_allowed\":true}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /orgs/{org}/actions/permissions/selected-actions', {\n org: 'org',\n github_owned_allowed: true,\n patterns_allowed: [\n 'patterns_allowed'\n ],\n verified_allowed: true\n})", + "html": "
await octokit.request('PUT /orgs/{org}/actions/permissions/selected-actions', {\n  org: 'org',\n  github_owned_allowed: true,\n  patterns_allowed: [\n    'patterns_allowed'\n  ],\n  verified_allowed: true\n})\n
" + } + ], + "summary": "Set allowed actions for an organization", + "description": "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](#set-github-actions-permissions-for-an-organization).\"\n\nIf 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.\n\nTo 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.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/set-allowed-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-allowed-actions-for-an-organization" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "github_owned_allowed": { + "type": "boolean", + "description": "

Required. Whether GitHub-owned actions are allowed. For example, this includes the actions in the actions organization.

", + "name": "github_owned_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.", + "childParamsGroups": [] + }, + "verified_allowed": { + "type": "boolean", + "description": "

Required. Whether actions in GitHub Marketplace from verified creators are allowed. Set to true to allow all GitHub Marketplace actions by verified creators.

", + "name": "verified_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators.", + "childParamsGroups": [] + }, + "patterns_allowed": { + "type": "array of strings", + "description": "

Required. Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, monalisa/octocat@*, monalisa/octocat@v2, monalisa/*.\"

", + "items": { + "type": "string" + }, + "name": "patterns_allowed", + "in": "body", + "rawType": "array", + "rawDescription": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "childParamsGroups": [] + } + }, + "required": [ + "github_owned_allowed", + "patterns_allowed", + "verified_allowed" + ] + }, + "examples": { + "selected_actions": { + "value": { + "github_owned_allowed": true, + "verified_allowed": false, + "patterns_allowed": [ + "monalisa/octocat@*", + "docker/*" + ] + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "set-allowed-actions-for-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "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.\"

\n

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.

\n

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.

\n

You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the administration organization permission to use this API.

", + "bodyParameters": [ + { + "type": "boolean", + "description": "

Required. Whether GitHub-owned actions are allowed. For example, this includes the actions in the actions organization.

", + "name": "github_owned_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.", + "childParamsGroups": [] + }, + { + "type": "boolean", + "description": "

Required. Whether actions in GitHub Marketplace from verified creators are allowed. Set to true to allow all GitHub Marketplace actions by verified creators.

", + "name": "verified_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators.", + "childParamsGroups": [] + }, + { + "type": "array of strings", + "description": "

Required. Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, monalisa/octocat@*, monalisa/octocat@v2, monalisa/*.\"

", + "items": { + "type": "string" + }, + "name": "patterns_allowed", + "in": "body", + "rawType": "array", + "rawDescription": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "childParamsGroups": [] + } + ] + }, + { + "verb": "post", + "requestPath": "/orgs/{org}/actions/runner-groups", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X POST \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/runner-groups \\\n -d '{\"name\":\"name\"}'", + "html": "
curl \\\n  -X POST \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/runner-groups \\\n  -d '{\"name\":\"name\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('POST /orgs/{org}/actions/runner-groups', {\n org: 'org',\n name: 'name'\n})", + "html": "
await octokit.request('POST /orgs/{org}/actions/runner-groups', {\n  org: 'org',\n  name: 'name'\n})\n
" + } + ], + "summary": "Create a self-hosted runner group for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nCreates a new self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/create-self-hosted-runner-group-for-org", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#create-a-self-hosted-runner-group-for-an-organization" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "

Required. Name of the runner group.

", + "type": "string", + "name": "name", + "in": "body", + "rawType": "string", + "rawDescription": "Name of the runner group.", + "childParamsGroups": [] + }, + "visibility": { + "description": "

Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: all, selected, or private.

", + "type": "string", + "enum": [ + "selected", + "all", + "private" + ], + "default": "all", + "name": "visibility", + "in": "body", + "rawType": "string", + "rawDescription": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: `all`, `selected`, or `private`.", + "childParamsGroups": [] + }, + "selected_repository_ids": { + "description": "

List of repository IDs that can access the runner group.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the repository." + }, + "name": "selected_repository_ids", + "in": "body", + "rawType": "array", + "rawDescription": "List of repository IDs that can access the runner group.", + "childParamsGroups": [] + }, + "runners": { + "description": "

List of runner IDs to add to the runner group.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + }, + "name": "runners", + "in": "body", + "rawType": "array", + "rawDescription": "List of runner IDs to add to the runner group.", + "childParamsGroups": [] + } + }, + "required": [ + "name" + ] + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected", + "selected_repository_ids": [ + 32, + 91 + ], + "runners": [ + 9, + 2 + ] + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "slug": "create-a-self-hosted-runner-group-for-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "self-hosted-runner-groups", + "subcategoryLabel": "Self hosted runner groups", + "notes": [], + "descriptionHTML": "

The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see \"GitHub's products.\"

\n

Creates a new self-hosted runner group for an organization.

\n

You must authenticate using an access token with the admin:org scope to use this endpoint.

", + "bodyParameters": [ + { + "description": "

Required. Name of the runner group.

", + "type": "string", + "name": "name", + "in": "body", + "rawType": "string", + "rawDescription": "Name of the runner group.", + "childParamsGroups": [] + }, + { + "description": "

Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: all, selected, or private.

", + "type": "string", + "enum": [ + "selected", + "all", + "private" + ], + "default": "all", + "name": "visibility", + "in": "body", + "rawType": "string", + "rawDescription": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: `all`, `selected`, or `private`.", + "childParamsGroups": [] + }, + { + "description": "

List of repository IDs that can access the runner group.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the repository." + }, + "name": "selected_repository_ids", + "in": "body", + "rawType": "array", + "rawDescription": "List of repository IDs that can access the runner group.", + "childParamsGroups": [] + }, + { + "description": "

List of runner IDs to add to the runner group.

", + "type": "array of integers", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + }, + "name": "runners", + "in": "body", + "rawType": "array", + "rawDescription": "List of runner IDs to add to the runner group.", + "childParamsGroups": [] + } + ], + "responses": [ + { + "httpStatusCode": "201", + "httpStatusMessage": "Created", + "description": "Default response", + "payload": "
{\n  \"id\": 2,\n  \"name\": \"octo-runner-group\",\n  \"visibility\": \"selected\",\n  \"default\": false,\n  \"selected_repositories_url\": \"https://api.github.com/orgs/octo-org/actions/runner-groups/2/repositories\",\n  \"runners_url\": \"https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners\",\n  \"inherited\": false,\n  \"allows_public_repositories\": true\n}\n
" + } + ] + }, + { + "verb": "patch", + "requestPath": "/orgs/{org}/actions/runner-groups/{runner_group_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner group.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PATCH \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/runner-groups/42 \\\n -d '{\"name\":\"name\"}'", + "html": "
curl \\\n  -X PATCH \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/runner-groups/42 \\\n  -d '{\"name\":\"name\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}', {\n org: 'org',\n runner_group_id: 42,\n name: 'name'\n})", + "html": "
await octokit.request('PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}', {\n  org: 'org',\n  runner_group_id: 42,\n  name: 'name'\n})\n
" + } + ], + "summary": "Update a self-hosted runner group for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nUpdates the `name` and `visibility` of a self-hosted runner group in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/update-self-hosted-runner-group-for-org", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "

Name of the runner group.

", + "type": "string", + "name": "name", + "in": "body", + "rawType": "string", + "rawDescription": "Name of the runner group.", + "childParamsGroups": [] + }, + "visibility": { + "description": "

Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: all, selected, or private.

", + "type": "string", + "enum": [ + "selected", + "all", + "private" + ], + "name": "visibility", + "in": "body", + "rawType": "string", + "rawDescription": "Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: `all`, `selected`, or `private`.", + "childParamsGroups": [] + } + } + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected" + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "slug": "update-a-self-hosted-runner-group-for-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "self-hosted-runner-groups", + "subcategoryLabel": "Self hosted runner groups", + "notes": [], + "descriptionHTML": "

The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"GitHub's products.\"

\n

Updates the name and visibility of a self-hosted runner group in an organization.

\n

You must authenticate using an access token with the admin:org scope to use this endpoint.

", + "bodyParameters": [ + { + "description": "

Name of the runner group.

", + "type": "string", + "name": "name", + "in": "body", + "rawType": "string", + "rawDescription": "Name of the runner group.", + "childParamsGroups": [] + }, + { + "description": "

Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: all, selected, or private.

", + "type": "string", + "enum": [ + "selected", + "all", + "private" + ], + "name": "visibility", + "in": "body", + "rawType": "string", + "rawDescription": "Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: `all`, `selected`, or `private`.", + "childParamsGroups": [] + } + ], + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"id\": 2,\n  \"name\": \"octo-runner-group\",\n  \"visibility\": \"selected\",\n  \"default\": false,\n  \"selected_repositories_url\": \"https://api.github.com/orgs/octo-org/actions/runner-groups/2/repositories\",\n  \"runners_url\": \"https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners\",\n  \"inherited\": false,\n  \"allows_public_repositories\": true\n}\n
" + } + ] + }, + { + "verb": "delete", + "requestPath": "/orgs/{org}/actions/runner-groups/{runner_group_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner group.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/runner-groups/42", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/runner-groups/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}', {\n org: 'org',\n runner_group_id: 42\n})", + "html": "
await octokit.request('DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}', {\n  org: 'org',\n  runner_group_id: 42\n})\n
" + } + ], + "summary": "Delete a self-hosted runner group from an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nDeletes a self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/delete-self-hosted-runner-group-from-org", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-organization" + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "slug": "delete-a-self-hosted-runner-group-from-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "self-hosted-runner-groups", + "subcategoryLabel": "Self hosted runner groups", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"GitHub's products.\"

\n

Deletes a self-hosted runner group for an organization.

\n

You must authenticate using an access token with the admin:org scope to use this endpoint.

" + }, + { + "verb": "delete", + "requestPath": "/orgs/{org}/actions/runners/{runner_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/runners/42", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/runners/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /orgs/{org}/actions/runners/{runner_id}', {\n org: 'org',\n runner_id: 42\n})", + "html": "
await octokit.request('DELETE /orgs/{org}/actions/runners/{runner_id}', {\n  org: 'org',\n  runner_id: 42\n})\n
" + } + ], + "summary": "Delete a self-hosted runner from an organization", + "description": "Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-self-hosted-runner-from-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "slug": "delete-a-self-hosted-runner-from-an-organization", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "self-hosted-runners", + "subcategoryLabel": "Self hosted runners", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.

\n

You must authenticate using an access token with the admin:org scope to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/orgs/{org}/actions/secrets", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/secrets", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/secrets
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /orgs/{org}/actions/secrets', {\n org: 'org'\n})", + "html": "
await octokit.request('GET /orgs/{org}/actions/secrets', {\n  org: 'org'\n})\n
" + } + ], + "summary": "List organization secrets", + "description": "Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-org-secrets", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-organization-secrets" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "list-organization-secrets", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the secrets organization permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 3,\n  \"secrets\": [\n    {\n      \"name\": \"GIST_ID\",\n      \"created_at\": \"2019-08-10T14:59:22Z\",\n      \"updated_at\": \"2020-01-10T14:59:22Z\",\n      \"visibility\": \"private\"\n    },\n    {\n      \"name\": \"DEPLOY_TOKEN\",\n      \"created_at\": \"2019-08-10T14:59:22Z\",\n      \"updated_at\": \"2020-01-10T14:59:22Z\",\n      \"visibility\": \"all\"\n    },\n    {\n      \"name\": \"GH_TOKEN\",\n      \"created_at\": \"2019-08-10T14:59:22Z\",\n      \"updated_at\": \"2020-01-10T14:59:22Z\",\n      \"visibility\": \"selected\",\n      \"selected_repositories_url\": \"https://api.github.com/orgs/octo-org/actions/secrets/SUPER_SECRET/repositories\"\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/orgs/{org}/actions/secrets/public-key", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/secrets/public-key", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/secrets/public-key
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /orgs/{org}/actions/secrets/public-key', {\n org: 'org'\n})", + "html": "
await octokit.request('GET /orgs/{org}/actions/secrets/public-key', {\n  org: 'org'\n})\n
" + } + ], + "summary": "Get an organization public key", + "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-org-public-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-organization-public-key" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "get-an-organization-public-key", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the secrets organization permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"key_id\": \"012345678912345678\",\n  \"key\": \"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234\"\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/orgs/{org}/actions/secrets/{secret_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /orgs/{org}/actions/secrets/{secret_name}', {\n org: 'org',\n secret_name: 'secret_name'\n})", + "html": "
await octokit.request('GET /orgs/{org}/actions/secrets/{secret_name}', {\n  org: 'org',\n  secret_name: 'secret_name'\n})\n
" + } + ], + "summary": "Get an organization secret", + "description": "Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-organization-secret" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "get-an-organization-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the secrets organization permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"name\": \"GH_TOKEN\",\n  \"created_at\": \"2019-08-10T14:59:22Z\",\n  \"updated_at\": \"2020-01-10T14:59:22Z\",\n  \"visibility\": \"selected\",\n  \"selected_repositories_url\": \"https://api.github.com/orgs/octo-org/actions/secrets/SUPER_SECRET/repositories\"\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/orgs/{org}/actions/secrets/{secret_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME \\\n -d '{\"encrypted_value\":\"encrypted_value\"}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME \\\n  -d '{\"encrypted_value\":\"encrypted_value\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /orgs/{org}/actions/secrets/{secret_name}', {\n org: 'org',\n secret_name: 'secret_name',\n encrypted_value: 'encrypted_value'\n})", + "html": "
await octokit.request('PUT /orgs/{org}/actions/secrets/{secret_name}', {\n  org: 'org',\n  secret_name: 'secret_name',\n  encrypted_value: 'encrypted_value'\n})\n
" + } + ], + "summary": "Create or update an organization secret", + "description": "Creates or updates an organization secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to\nuse this endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n\n```\nconst sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n```\n\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", + "tags": [ + "actions" + ], + "operationId": "actions/create-or-update-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-an-organization-secret" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "encrypted_value": { + "type": "string", + "description": "

Value for your secret, encrypted with LibSodium using the public key retrieved from the Get an organization public key endpoint.

", + "name": "encrypted_value", + "in": "body", + "rawType": "string", + "rawDescription": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-organization-public-key) endpoint.", + "childParamsGroups": [] + }, + "key_id": { + "type": "string", + "description": "

ID of the key you used to encrypt the secret.

", + "name": "key_id", + "in": "body", + "rawType": "string", + "rawDescription": "ID of the key you used to encrypt the secret.", + "childParamsGroups": [] + }, + "visibility": { + "type": "string", + "description": "

Configures the access that repositories have to the organization secret. Can be one of:
\n- all - All repositories in an organization can access the secret.
\n- private - Private repositories in an organization can access the secret.
\n- selected - Only specific repositories can access the secret.

", + "enum": [ + "all", + "private", + "selected" + ], + "name": "visibility", + "in": "body", + "rawType": "string", + "rawDescription": "Configures the access that repositories have to the organization secret. Can be one of: \n\\- `all` - All repositories in an organization can access the secret. \n\\- `private` - Private repositories in an organization can access the secret. \n\\- `selected` - Only specific repositories can access the secret.", + "childParamsGroups": [] + }, + "selected_repository_ids": { + "type": "array of strings", + "description": "

An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the visibility is set to selected. You can manage the list of selected repositories using the List selected repositories for an organization secret, Set selected repositories for an organization secret, and Remove selected repository from an organization secret endpoints.

", + "items": { + "type": "string" + }, + "name": "selected_repository_ids", + "in": "body", + "rawType": "array", + "rawDescription": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", + "childParamsGroups": [] + } + } + }, + "example": { + "encrypted_value": "****************************************************************************************", + "key_id": "012345678912345678", + "visibility": "selected", + "selected_repository_ids": [ + "1296269", + "1296280" + ] + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "create-or-update-an-organization-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "responses": [ + { + "httpStatusCode": "201", + "httpStatusMessage": "Created", + "description": "Response when creating a secret" + }, + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Response when updating a secret" + } + ], + "descriptionHTML": "

Creates or updates an organization secret with an encrypted value. Encrypt your secret using\nLibSodium. You must authenticate using an access\ntoken with the admin:org scope to use this endpoint. GitHub Apps must have the secrets organization permission to\nuse this endpoint.

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

\n
const sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n
\n

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

\n
from base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n  \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n  public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n  sealed_box = public.SealedBox(public_key)\n  encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n  return b64encode(encrypted).decode(\"utf-8\")\n
\n

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

\n
var secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n
\n

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

\n
require \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n
", + "bodyParameters": [ + { + "type": "string", + "description": "

Value for your secret, encrypted with LibSodium using the public key retrieved from the Get an organization public key endpoint.

", + "name": "encrypted_value", + "in": "body", + "rawType": "string", + "rawDescription": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-organization-public-key) endpoint.", + "childParamsGroups": [] + }, + { + "type": "string", + "description": "

ID of the key you used to encrypt the secret.

", + "name": "key_id", + "in": "body", + "rawType": "string", + "rawDescription": "ID of the key you used to encrypt the secret.", + "childParamsGroups": [] + }, + { + "type": "string", + "description": "

Configures the access that repositories have to the organization secret. Can be one of:
\n- all - All repositories in an organization can access the secret.
\n- private - Private repositories in an organization can access the secret.
\n- selected - Only specific repositories can access the secret.

", + "enum": [ + "all", + "private", + "selected" + ], + "name": "visibility", + "in": "body", + "rawType": "string", + "rawDescription": "Configures the access that repositories have to the organization secret. Can be one of: \n\\- `all` - All repositories in an organization can access the secret. \n\\- `private` - Private repositories in an organization can access the secret. \n\\- `selected` - Only specific repositories can access the secret.", + "childParamsGroups": [] + }, + { + "type": "array of strings", + "description": "

An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the visibility is set to selected. You can manage the list of selected repositories using the List selected repositories for an organization secret, Set selected repositories for an organization secret, and Remove selected repository from an organization secret endpoints.

", + "items": { + "type": "string" + }, + "name": "selected_repository_ids", + "in": "body", + "rawType": "array", + "rawDescription": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", + "childParamsGroups": [] + } + ] + }, + { + "verb": "delete", + "requestPath": "/orgs/{org}/actions/secrets/{secret_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /orgs/{org}/actions/secrets/{secret_name}', {\n org: 'org',\n secret_name: 'secret_name'\n})", + "html": "
await octokit.request('DELETE /orgs/{org}/actions/secrets/{secret_name}', {\n  org: 'org',\n  secret_name: 'secret_name'\n})\n
" + } + ], + "summary": "Delete an organization secret", + "description": "Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-an-organization-secret" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "delete-an-organization-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Deletes a secret in an organization using the secret name. You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the secrets organization permission to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/orgs/{org}/actions/secrets/{secret_name}/repositories", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME/repositories", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME/repositories
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /orgs/{org}/actions/secrets/{secret_name}/repositories', {\n org: 'org',\n secret_name: 'secret_name'\n})", + "html": "
await octokit.request('GET /orgs/{org}/actions/secrets/{secret_name}/repositories', {\n  org: 'org',\n  secret_name: 'secret_name'\n})\n
" + } + ], + "summary": "List selected repositories for an organization secret", + "description": "Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-selected-repos-for-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-selected-repositories-for-an-organization-secret" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "list-selected-repositories-for-an-organization-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists all repositories that have been selected when the visibility for repository access to a secret is set to selected. You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the secrets organization permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 1,\n  \"repositories\": [\n    {\n      \"id\": 1296269,\n      \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n      \"name\": \"Hello-World\",\n      \"full_name\": \"octocat/Hello-World\",\n      \"owner\": {\n        \"login\": \"octocat\",\n        \"id\": 1,\n        \"node_id\": \"MDQ6VXNlcjE=\",\n        \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n        \"gravatar_id\": \"\",\n        \"url\": \"https://api.github.com/users/octocat\",\n        \"html_url\": \"https://github.com/octocat\",\n        \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n        \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n        \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n        \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n        \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n        \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n        \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n        \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n        \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n        \"type\": \"User\",\n        \"site_admin\": false\n      },\n      \"private\": false,\n      \"html_url\": \"https://github.com/octocat/Hello-World\",\n      \"description\": \"This your first repo!\",\n      \"fork\": false,\n      \"url\": \"https://api.github.com/repos/octocat/Hello-World\",\n      \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\",\n      \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World/assignees{/user}\",\n      \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\",\n      \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World/branches{/branch}\",\n      \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\",\n      \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World/comments{/number}\",\n      \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World/commits{/sha}\",\n      \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\",\n      \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World/contents/{+path}\",\n      \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World/contributors\",\n      \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World/deployments\",\n      \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World/downloads\",\n      \"events_url\": \"https://api.github.com/repos/octocat/Hello-World/events\",\n      \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World/forks\",\n      \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\",\n      \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\",\n      \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\",\n      \"git_url\": \"git:github.com/octocat/Hello-World.git\",\n      \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\",\n      \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/events{/number}\",\n      \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World/issues{/number}\",\n      \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World/keys{/key_id}\",\n      \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World/labels{/name}\",\n      \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World/languages\",\n      \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World/merges\",\n      \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World/milestones{/number}\",\n      \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\",\n      \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World/pulls{/number}\",\n      \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World/releases{/id}\",\n      \"ssh_url\": \"git@github.com:octocat/Hello-World.git\",\n      \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World/stargazers\",\n      \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World/statuses/{sha}\",\n      \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World/subscribers\",\n      \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World/subscription\",\n      \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World/tags\",\n      \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World/teams\",\n      \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\",\n      \"hooks_url\": \"http://api.github.com/repos/octocat/Hello-World/hooks\"\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/orgs/{org}/actions/secrets/{secret_name}/repositories", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME/repositories \\\n -d '{\"selected_repository_ids\":[42]}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME/repositories \\\n  -d '{\"selected_repository_ids\":[42]}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /orgs/{org}/actions/secrets/{secret_name}/repositories', {\n org: 'org',\n secret_name: 'secret_name',\n selected_repository_ids: [\n 42\n ]\n})", + "html": "
await octokit.request('PUT /orgs/{org}/actions/secrets/{secret_name}/repositories', {\n  org: 'org',\n  secret_name: 'secret_name',\n  selected_repository_ids: [\n    42\n  ]\n})\n
" + } + ], + "summary": "Set selected repositories for an organization secret", + "description": "Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/set-selected-repos-for-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-selected-repositories-for-an-organization-secret" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_repository_ids": { + "type": "array of integers", + "description": "

An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the visibility is set to selected. You can add and remove individual repositories using the Set selected repositories for an organization secret and Remove selected repository from an organization secret endpoints.

", + "items": { + "type": "integer" + }, + "name": "selected_repository_ids", + "in": "body", + "rawType": "array", + "rawDescription": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", + "childParamsGroups": [] + } + } + }, + "example": { + "selected_repository_ids": [ + 64780797 + ] + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "set-selected-repositories-for-an-organization-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "descriptionHTML": "

Replaces all repositories for an organization secret when the visibility for repository access is set to selected. The visibility is set when you Create or update an organization secret. You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the secrets organization permission to use this endpoint.

", + "bodyParameters": [ + { + "type": "array of integers", + "description": "

An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the visibility is set to selected. You can add and remove individual repositories using the Set selected repositories for an organization secret and Remove selected repository from an organization secret endpoints.

", + "items": { + "type": "integer" + }, + "name": "selected_repository_ids", + "in": "body", + "rawType": "array", + "rawDescription": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", + "childParamsGroups": [] + } + ] + }, + { + "verb": "put", + "requestPath": "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + }, + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME/repositories/42", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME/repositories/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}', {\n org: 'org',\n secret_name: 'secret_name',\n repository_id: 42\n})", + "html": "
await octokit.request('PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}', {\n  org: 'org',\n  secret_name: 'secret_name',\n  repository_id: 42\n})\n
" + } + ], + "summary": "Add selected repository to an organization secret", + "description": "Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/add-selected-repo-to-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#add-selected-repository-to-an-organization-secret" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "add-selected-repository-to-an-organization-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Response when repository was added to the selected list" + }, + { + "httpStatusCode": "409", + "httpStatusMessage": "Conflict", + "description": "Response when visibility type is not set to selected" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Adds a repository to an organization secret when the visibility for repository access is set to selected. The visibility is set when you Create or update an organization secret. You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the secrets organization permission to use this endpoint.

" + }, + { + "verb": "delete", + "requestPath": "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + }, + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME/repositories/42", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/orgs/ORG/actions/secrets/SECRET_NAME/repositories/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}', {\n org: 'org',\n secret_name: 'secret_name',\n repository_id: 42\n})", + "html": "
await octokit.request('DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}', {\n  org: 'org',\n  secret_name: 'secret_name',\n  repository_id: 42\n})\n
" + } + ], + "summary": "Remove selected repository from an organization secret", + "description": "Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/remove-selected-repo-from-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#remove-selected-repository-from-an-organization-secret" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "remove-selected-repository-from-an-organization-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Response when repository was removed from the selected list" + }, + { + "httpStatusCode": "409", + "httpStatusMessage": "Conflict", + "description": "Response when visibility type not set to selected" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Removes a repository from an organization secret when the visibility for repository access is set to selected. The visibility is set when you Create or update an organization secret. You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the secrets organization permission to use this endpoint.

" + }, { "verb": "get", "requestPath": "/orgs/{org}/events", @@ -21486,6 +25379,3562 @@ } ] }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/artifacts", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/artifacts", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/artifacts
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/artifacts', {\n owner: 'octocat',\n repo: 'hello-world'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/artifacts', {\n  owner: 'octocat',\n  repo: 'hello-world'\n})\n
" + } + ], + "summary": "List artifacts for a repository", + "description": "Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-artifacts-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-artifacts-for-a-repository" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "artifacts" + }, + "slug": "list-artifacts-for-a-repository", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "artifacts", + "subcategoryLabel": "Artifacts", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 2,\n  \"artifacts\": [\n    {\n      \"id\": 11,\n      \"node_id\": \"MDg6QXJ0aWZhY3QxMQ==\",\n      \"name\": \"Rails\",\n      \"size_in_bytes\": 556,\n      \"url\": \"https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11\",\n      \"archive_download_url\": \"https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip\",\n      \"expired\": false,\n      \"created_at\": \"2020-01-10T14:59:22Z\",\n      \"expires_at\": \"2020-03-21T14:59:22Z\",\n      \"updated_at\": \"2020-02-21T14:59:22Z\"\n    },\n    {\n      \"id\": 13,\n      \"node_id\": \"MDg6QXJ0aWZhY3QxMw==\",\n      \"name\": \"\",\n      \"size_in_bytes\": 453,\n      \"url\": \"https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13\",\n      \"archive_download_url\": \"https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13/zip\",\n      \"expired\": false,\n      \"created_at\": \"2020-01-10T14:59:22Z\",\n      \"expires_at\": \"2020-03-21T14:59:22Z\",\n      \"updated_at\": \"2020-02-21T14:59:22Z\"\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "artifact_id", + "description": "artifact_id parameter", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

artifact_id parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/artifacts/42", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/artifacts/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}', {\n owner: 'octocat',\n repo: 'hello-world',\n artifact_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  artifact_id: 42\n})\n
" + } + ], + "summary": "Get an artifact", + "description": "Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-artifact", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-artifact" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "artifacts" + }, + "slug": "get-an-artifact", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "artifacts", + "subcategoryLabel": "Artifacts", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"id\": 11,\n  \"node_id\": \"MDg6QXJ0aWZhY3QxMQ==\",\n  \"name\": \"Rails\",\n  \"size_in_bytes\": 556,\n  \"url\": \"https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11\",\n  \"archive_download_url\": \"https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip\",\n  \"expired\": false,\n  \"created_at\": \"2020-01-10T14:59:22Z\",\n  \"expires_at\": \"2020-01-21T14:59:22Z\",\n  \"updated_at\": \"2020-01-21T14:59:22Z\"\n}\n
" + } + ] + }, + { + "verb": "delete", + "requestPath": "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "artifact_id", + "description": "artifact_id parameter", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

artifact_id parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/artifacts/42", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/artifacts/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}', {\n owner: 'octocat',\n repo: 'hello-world',\n artifact_id: 42\n})", + "html": "
await octokit.request('DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  artifact_id: 42\n})\n
" + } + ], + "summary": "Delete an artifact", + "description": "Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-artifact", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-an-artifact" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "artifacts" + }, + "slug": "delete-an-artifact", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "artifacts", + "subcategoryLabel": "Artifacts", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Deletes an artifact for a workflow run. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:write permission to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "artifact_id", + "description": "artifact_id parameter", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

artifact_id parameter

" + }, + { + "name": "archive_format", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/artifacts/42/ARCHIVE_FORMAT", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/artifacts/42/ARCHIVE_FORMAT
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}', {\n owner: 'octocat',\n repo: 'hello-world',\n artifact_id: 42,\n archive_format: 'archive_format'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  artifact_id: 42,\n  archive_format: 'archive_format'\n})\n
" + } + ], + "summary": "Download an artifact", + "description": "Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in\nthe response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to\nthe repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.\nGitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/download-artifact", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#download-an-artifact" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "artifacts" + }, + "slug": "download-an-artifact", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "artifacts", + "subcategoryLabel": "Artifacts", + "notes": [], + "responses": [ + { + "httpStatusCode": "302", + "httpStatusMessage": "Found", + "description": "Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for Location: in\nthe response header to find the URL for the download. The :archive_format must be zip. Anyone with read access to\nthe repository can use this endpoint. If the repository is private you must use an access token with the repo scope.\nGitHub Apps must have the actions:read permission to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/jobs/{job_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "job_id", + "description": "job_id parameter", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

job_id parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/jobs/42", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/jobs/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/jobs/{job_id}', {\n owner: 'octocat',\n repo: 'hello-world',\n job_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/jobs/{job_id}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  job_id: 42\n})\n
" + } + ], + "summary": "Get a job for a workflow run", + "description": "Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-job-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-job-for-a-workflow-run" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-jobs" + }, + "slug": "get-a-job-for-a-workflow-run", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-jobs", + "subcategoryLabel": "Workflow jobs", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "202", + "httpStatusMessage": "Accepted", + "description": "Default response", + "payload": "
{\n  \"id\": 399444496,\n  \"run_id\": 29679449,\n  \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n  \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n  \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n  \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496\",\n  \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444496\",\n  \"status\": \"completed\",\n  \"conclusion\": \"success\",\n  \"started_at\": \"2020-01-20T17:42:40Z\",\n  \"completed_at\": \"2020-01-20T17:44:39Z\",\n  \"name\": \"build\",\n  \"steps\": [\n    {\n      \"name\": \"Set up job\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"number\": 1,\n      \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n      \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n    },\n    {\n      \"name\": \"Run actions/checkout@v2\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"number\": 2,\n      \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n      \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n    },\n    {\n      \"name\": \"Set up Ruby\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"number\": 3,\n      \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n      \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n    },\n    {\n      \"name\": \"Run actions/cache@v2\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"number\": 4,\n      \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n      \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n    },\n    {\n      \"name\": \"Install Bundler\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"number\": 5,\n      \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n      \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n    },\n    {\n      \"name\": \"Install Gems\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"number\": 6,\n      \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n      \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n    },\n    {\n      \"name\": \"Run Tests\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"number\": 7,\n      \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n      \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n    },\n    {\n      \"name\": \"Deploy to Heroku\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"number\": 8,\n      \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n      \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n    },\n    {\n      \"name\": \"Post actions/cache@v2\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"number\": 16,\n      \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n      \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n    },\n    {\n      \"name\": \"Complete job\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"number\": 17,\n      \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n      \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n    }\n  ],\n  \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496\"\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "job_id", + "description": "job_id parameter", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

job_id parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/jobs/42/logs", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/jobs/42/logs
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs', {\n owner: 'octocat',\n repo: 'hello-world',\n job_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  job_id: 42\n})\n
" + } + ], + "summary": "Download job logs for a workflow run", + "description": "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\nuse this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must\nhave the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/download-job-logs-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#download-job-logs-for-a-workflow-run" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-jobs" + }, + "slug": "download-job-logs-for-a-workflow-run", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-jobs", + "subcategoryLabel": "Workflow jobs", + "notes": [], + "responses": [ + { + "httpStatusCode": "302", + "httpStatusMessage": "Found", + "description": "Response" + } + ], + "bodyParameters": [], + "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\nuse this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must\nhave the actions:read permission to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/permissions", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/permissions", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/permissions
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/permissions', {\n owner: 'octocat',\n repo: 'hello-world'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/permissions', {\n  owner: 'octocat',\n  repo: 'hello-world'\n})\n
" + } + ], + "summary": "Get GitHub Actions permissions for a repository", + "description": "Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint. GitHub Apps must have the `administration` repository permission to use this API.", + "operationId": "actions/get-github-actions-permissions-repository", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-github-actions-permissions-for-a-repository" + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "get-github-actions-permissions-for-a-repository", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "bodyParameters": [], + "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.

\n

You must authenticate using an access token with the repo scope to use this\nendpoint. GitHub Apps must have the administration repository permission to use this API.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"enabled\": true,\n  \"allowed_actions\": \"selected\",\n  \"selected_actions_url\": \"https://api.github.com/repositories/42/actions/permissions/selected-actions\"\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/repos/{owner}/{repo}/actions/permissions", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/permissions \\\n -d '{\"enabled\":true}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/permissions \\\n  -d '{\"enabled\":true}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /repos/{owner}/{repo}/actions/permissions', {\n owner: 'octocat',\n repo: 'hello-world',\n enabled: true\n})", + "html": "
await octokit.request('PUT /repos/{owner}/{repo}/actions/permissions', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  enabled: true\n})\n
" + } + ], + "summary": "Set GitHub Actions permissions for a repository", + "description": "Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository.\n\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.\n\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.", + "operationId": "actions/set-github-actions-permissions-repository", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-github-actions-permissions-for-a-repository" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "

Required. Whether GitHub Actions is enabled on the repository.

", + "name": "enabled", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether GitHub Actions is enabled on the repository.", + "childParamsGroups": [] + }, + "allowed_actions": { + "type": "string", + "description": "

The permissions policy that controls the actions that are allowed to run. Can be one of: all, local_only, or selected.

", + "enum": [ + "all", + "local_only", + "selected" + ], + "name": "allowed_actions", + "in": "body", + "rawType": "string", + "rawDescription": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "childParamsGroups": [] + } + }, + "required": [ + "enabled" + ] + }, + "example": { + "enabled": true, + "allowed_actions": "selected" + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "set-github-actions-permissions-for-a-repository", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "descriptionHTML": "

Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository.

\n

If 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.

\n

You 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.

", + "bodyParameters": [ + { + "type": "boolean", + "description": "

Required. Whether GitHub Actions is enabled on the repository.

", + "name": "enabled", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether GitHub Actions is enabled on the repository.", + "childParamsGroups": [] + }, + { + "type": "string", + "description": "

The permissions policy that controls the actions that are allowed to run. Can be one of: all, local_only, or selected.

", + "enum": [ + "all", + "local_only", + "selected" + ], + "name": "allowed_actions", + "in": "body", + "rawType": "string", + "rawDescription": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "childParamsGroups": [] + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/permissions/selected-actions", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/permissions/selected-actions", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/permissions/selected-actions
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/permissions/selected-actions', {\n owner: 'octocat',\n repo: 'hello-world'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/permissions/selected-actions', {\n  owner: 'octocat',\n  repo: 'hello-world'\n})\n
" + } + ], + "summary": "Get allowed actions for a repository", + "description": "Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n\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.", + "operationId": "actions/get-allowed-actions-repository", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-allowed-actions-for-a-repository" + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "get-allowed-actions-for-a-repository", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for allowed_actions must be configured to selected. For more information, see \"Set GitHub Actions permissions for a repository.\"

\n

You 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.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"github_owned_allowed\": true,\n  \"verified_allowed\": false,\n  \"patterns_allowed\": [\n    \"monalisa/octocat@*\",\n    \"docker/*\"\n  ]\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/repos/{owner}/{repo}/actions/permissions/selected-actions", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/permissions/selected-actions \\\n -d '{\"github_owned_allowed\":true,\"patterns_allowed\":[\"patterns_allowed\"],\"verified_allowed\":true}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/permissions/selected-actions \\\n  -d '{\"github_owned_allowed\":true,\"patterns_allowed\":[\"patterns_allowed\"],\"verified_allowed\":true}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /repos/{owner}/{repo}/actions/permissions/selected-actions', {\n owner: 'octocat',\n repo: 'hello-world',\n github_owned_allowed: true,\n patterns_allowed: [\n 'patterns_allowed'\n ],\n verified_allowed: true\n})", + "html": "
await octokit.request('PUT /repos/{owner}/{repo}/actions/permissions/selected-actions', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  github_owned_allowed: true,\n  patterns_allowed: [\n    'patterns_allowed'\n  ],\n  verified_allowed: true\n})\n
" + } + ], + "summary": "Set allowed actions for a repository", + "description": "Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n\nIf the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings.\n\nTo use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories.\n\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.", + "operationId": "actions/set-allowed-actions-repository", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-allowed-actions-for-a-repository" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "github_owned_allowed": { + "type": "boolean", + "description": "

Required. Whether GitHub-owned actions are allowed. For example, this includes the actions in the actions organization.

", + "name": "github_owned_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.", + "childParamsGroups": [] + }, + "verified_allowed": { + "type": "boolean", + "description": "

Required. Whether actions in GitHub Marketplace from verified creators are allowed. Set to true to allow all GitHub Marketplace actions by verified creators.

", + "name": "verified_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators.", + "childParamsGroups": [] + }, + "patterns_allowed": { + "type": "array of strings", + "description": "

Required. Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, monalisa/octocat@*, monalisa/octocat@v2, monalisa/*.\"

", + "items": { + "type": "string" + }, + "name": "patterns_allowed", + "in": "body", + "rawType": "array", + "rawDescription": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "childParamsGroups": [] + } + }, + "required": [ + "github_owned_allowed", + "patterns_allowed", + "verified_allowed" + ] + }, + "examples": { + "selected_actions": { + "value": { + "github_owned_allowed": true, + "verified_allowed": false, + "patterns_allowed": [ + "monalisa/octocat@*", + "docker/*" + ] + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "slug": "set-allowed-actions-for-a-repository", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "permissions", + "subcategoryLabel": "Permissions", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "descriptionHTML": "

Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for allowed_actions must be configured to selected. For more information, see \"Set GitHub Actions permissions for a repository.\"

\n

If the repository belongs to an organization or enterprise that has selected actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings.

\n

To use the patterns_allowed setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the patterns_allowed setting only applies to public repositories.

\n

You 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.

", + "bodyParameters": [ + { + "type": "boolean", + "description": "

Required. Whether GitHub-owned actions are allowed. For example, this includes the actions in the actions organization.

", + "name": "github_owned_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.", + "childParamsGroups": [] + }, + { + "type": "boolean", + "description": "

Required. Whether actions in GitHub Marketplace from verified creators are allowed. Set to true to allow all GitHub Marketplace actions by verified creators.

", + "name": "verified_allowed", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators.", + "childParamsGroups": [] + }, + { + "type": "array of strings", + "description": "

Required. Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, monalisa/octocat@*, monalisa/octocat@v2, monalisa/*.\"

", + "items": { + "type": "string" + }, + "name": "patterns_allowed", + "in": "body", + "rawType": "array", + "rawDescription": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "childParamsGroups": [] + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/runners", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runners", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runners
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/runners', {\n owner: 'octocat',\n repo: 'hello-world'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/runners', {\n  owner: 'octocat',\n  repo: 'hello-world'\n})\n
" + } + ], + "summary": "List self-hosted runners for a repository", + "description": "Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-self-hosted-runners-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-self-hosted-runners-for-a-repository" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "slug": "list-self-hosted-runners-for-a-repository", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "self-hosted-runners", + "subcategoryLabel": "Self hosted runners", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the repo scope to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 2,\n  \"runners\": [\n    {\n      \"id\": 23,\n      \"name\": \"linux_runner\",\n      \"os\": \"linux\",\n      \"status\": \"online\",\n      \"busy\": true,\n      \"labels\": [\n        {\n          \"id\": 5,\n          \"name\": \"self-hosted\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 7,\n          \"name\": \"X64\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 11,\n          \"name\": \"Linux\",\n          \"type\": \"read-only\"\n        }\n      ]\n    },\n    {\n      \"id\": 24,\n      \"name\": \"mac_runner\",\n      \"os\": \"macos\",\n      \"status\": \"offline\",\n      \"busy\": false,\n      \"labels\": [\n        {\n          \"id\": 5,\n          \"name\": \"self-hosted\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 7,\n          \"name\": \"X64\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 20,\n          \"name\": \"macOS\",\n          \"type\": \"read-only\"\n        },\n        {\n          \"id\": 21,\n          \"name\": \"no-gpu\",\n          \"type\": \"custom\"\n        }\n      ]\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "delete", + "requestPath": "/repos/{owner}/{repo}/actions/runners/{runner_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

Unique identifier of the self-hosted runner.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runners/42", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runners/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}', {\n owner: 'octocat',\n repo: 'hello-world',\n runner_id: 42\n})", + "html": "
await octokit.request('DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  runner_id: 42\n})\n
" + } + ], + "summary": "Delete a self-hosted runner from a repository", + "description": "Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `repo`\nscope to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-self-hosted-runner-from-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "slug": "delete-a-self-hosted-runner-from-a-repository", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "self-hosted-runners", + "subcategoryLabel": "Self hosted runners", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.

\n

You must authenticate using an access token with the repo\nscope to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/runs", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "actor", + "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "descriptionHTML": "

Returns someone's workflow runs. Use the login for the user who created the push associated with the check suite or workflow run.

" + }, + { + "name": "branch", + "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`.", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "descriptionHTML": "

Returns workflow runs associated with a branch. Use the name of the branch of the push.

" + }, + { + "name": "event", + "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "descriptionHTML": "

Returns workflow run triggered by the event you specify. For example, push, pull_request or issue. For more information, see \"Events that trigger workflows.\"

" + }, + { + "name": "status", + "description": "Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see \"[Create a check run](https://docs.github.com/github-ae@latest/rest/reference/checks#create-a-check-run).\"", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "completed", + "action_required", + "cancelled", + "failure", + "neutral", + "skipped", + "stale", + "success", + "timed_out", + "in_progress", + "queued", + "requested", + "waiting" + ] + }, + "descriptionHTML": "

Returns workflow runs with the check run status or conclusion that you specify. For example, a conclusion can be success or a status can be in_progress. Only GitHub can set a status of waiting or requested. For a list of the possible status and conclusion options, see \"Create a check run.\"

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/runs', {\n owner: 'octocat',\n repo: 'hello-world'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/runs', {\n  owner: 'octocat',\n  repo: 'hello-world'\n})\n
" + } + ], + "summary": "List workflow runs for a repository", + "description": "Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/github-ae@latest/rest/overview/resources-in-the-rest-api#parameters).\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-workflow-runs-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-workflow-runs-for-a-repository" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "list-workflow-runs-for-a-repository", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see Parameters.

\n

Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 1,\n  \"workflow_runs\": [\n    {\n      \"id\": 30433642,\n      \"name\": \"Build\",\n      \"node_id\": \"MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==\",\n      \"head_branch\": \"master\",\n      \"head_sha\": \"acb5820ced9479c074f688cc328bf03f341a511d\",\n      \"run_number\": 562,\n      \"event\": \"push\",\n      \"status\": \"queued\",\n      \"conclusion\": null,\n      \"workflow_id\": 159038,\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/actions/runs/30433642\",\n      \"pull_requests\": [],\n      \"created_at\": \"2020-01-22T19:33:08Z\",\n      \"updated_at\": \"2020-01-22T19:33:08Z\",\n      \"jobs_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs\",\n      \"logs_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs\",\n      \"check_suite_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374\",\n      \"artifacts_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts\",\n      \"cancel_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel\",\n      \"rerun_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun\",\n      \"workflow_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038\",\n      \"head_commit\": {\n        \"id\": \"acb5820ced9479c074f688cc328bf03f341a511d\",\n        \"tree_id\": \"d23f6eedb1e1b9610bbc754ddb5197bfe7271223\",\n        \"message\": \"Create linter.yaml\",\n        \"timestamp\": \"2020-01-22T19:33:05Z\",\n        \"author\": {\n          \"name\": \"Octo Cat\",\n          \"email\": \"octocat@github.com\"\n        },\n        \"committer\": {\n          \"name\": \"GitHub\",\n          \"email\": \"noreply@github.com\"\n        }\n      },\n      \"repository\": {\n        \"id\": 1296269,\n        \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n        \"name\": \"Hello-World\",\n        \"full_name\": \"octocat/Hello-World\",\n        \"owner\": {\n          \"login\": \"octocat\",\n          \"id\": 1,\n          \"node_id\": \"MDQ6VXNlcjE=\",\n          \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n          \"gravatar_id\": \"\",\n          \"url\": \"https://api.github.com/users/octocat\",\n          \"html_url\": \"https://github.com/octocat\",\n          \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n          \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n          \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n          \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n          \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n          \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n          \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n          \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n          \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n          \"type\": \"User\",\n          \"site_admin\": false\n        },\n        \"private\": false,\n        \"html_url\": \"https://github.com/octocat/Hello-World\",\n        \"description\": \"This your first repo!\",\n        \"fork\": false,\n        \"url\": \"https://api.github.com/repos/octocat/Hello-World\",\n        \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\",\n        \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World/assignees{/user}\",\n        \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\",\n        \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World/branches{/branch}\",\n        \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\",\n        \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World/comments{/number}\",\n        \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World/commits{/sha}\",\n        \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\",\n        \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World/contents/{+path}\",\n        \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World/contributors\",\n        \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World/deployments\",\n        \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World/downloads\",\n        \"events_url\": \"https://api.github.com/repos/octocat/Hello-World/events\",\n        \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World/forks\",\n        \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\",\n        \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\",\n        \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\",\n        \"git_url\": \"git:github.com/octocat/Hello-World.git\",\n        \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\",\n        \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/events{/number}\",\n        \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World/issues{/number}\",\n        \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World/keys{/key_id}\",\n        \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World/labels{/name}\",\n        \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World/languages\",\n        \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World/merges\",\n        \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World/milestones{/number}\",\n        \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\",\n        \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World/pulls{/number}\",\n        \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World/releases{/id}\",\n        \"ssh_url\": \"git@github.com:octocat/Hello-World.git\",\n        \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World/stargazers\",\n        \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World/statuses/{sha}\",\n        \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World/subscribers\",\n        \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World/subscription\",\n        \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World/tags\",\n        \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World/teams\",\n        \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\",\n        \"hooks_url\": \"http://api.github.com/repos/octocat/Hello-World/hooks\"\n      },\n      \"head_repository\": {\n        \"id\": 217723378,\n        \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMTc3MjMzNzg=\",\n        \"name\": \"octo-repo\",\n        \"full_name\": \"octo-org/octo-repo\",\n        \"private\": true,\n        \"owner\": {\n          \"login\": \"octocat\",\n          \"id\": 1,\n          \"node_id\": \"MDQ6VXNlcjE=\",\n          \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n          \"gravatar_id\": \"\",\n          \"url\": \"https://api.github.com/users/octocat\",\n          \"html_url\": \"https://github.com/octocat\",\n          \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n          \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n          \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n          \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n          \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n          \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n          \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n          \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n          \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n          \"type\": \"User\",\n          \"site_admin\": false\n        },\n        \"html_url\": \"https://github.com/octo-org/octo-repo\",\n        \"description\": null,\n        \"fork\": false,\n        \"url\": \"https://api.github.com/repos/octo-org/octo-repo\",\n        \"forks_url\": \"https://api.github.com/repos/octo-org/octo-repo/forks\",\n        \"keys_url\": \"https://api.github.com/repos/octo-org/octo-repo/keys{/key_id}\",\n        \"collaborators_url\": \"https://api.github.com/repos/octo-org/octo-repo/collaborators{/collaborator}\",\n        \"teams_url\": \"https://api.github.com/repos/octo-org/octo-repo/teams\",\n        \"hooks_url\": \"https://api.github.com/repos/octo-org/octo-repo/hooks\",\n        \"issue_events_url\": \"https://api.github.com/repos/octo-org/octo-repo/issues/events{/number}\",\n        \"events_url\": \"https://api.github.com/repos/octo-org/octo-repo/events\",\n        \"assignees_url\": \"https://api.github.com/repos/octo-org/octo-repo/assignees{/user}\",\n        \"branches_url\": \"https://api.github.com/repos/octo-org/octo-repo/branches{/branch}\",\n        \"tags_url\": \"https://api.github.com/repos/octo-org/octo-repo/tags\",\n        \"blobs_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/blobs{/sha}\",\n        \"git_tags_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/tags{/sha}\",\n        \"git_refs_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/refs{/sha}\",\n        \"trees_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/trees{/sha}\",\n        \"statuses_url\": \"https://api.github.com/repos/octo-org/octo-repo/statuses/{sha}\",\n        \"languages_url\": \"https://api.github.com/repos/octo-org/octo-repo/languages\",\n        \"stargazers_url\": \"https://api.github.com/repos/octo-org/octo-repo/stargazers\",\n        \"contributors_url\": \"https://api.github.com/repos/octo-org/octo-repo/contributors\",\n        \"subscribers_url\": \"https://api.github.com/repos/octo-org/octo-repo/subscribers\",\n        \"subscription_url\": \"https://api.github.com/repos/octo-org/octo-repo/subscription\",\n        \"commits_url\": \"https://api.github.com/repos/octo-org/octo-repo/commits{/sha}\",\n        \"git_commits_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/commits{/sha}\",\n        \"comments_url\": \"https://api.github.com/repos/octo-org/octo-repo/comments{/number}\",\n        \"issue_comment_url\": \"https://api.github.com/repos/octo-org/octo-repo/issues/comments{/number}\",\n        \"contents_url\": \"https://api.github.com/repos/octo-org/octo-repo/contents/{+path}\",\n        \"compare_url\": \"https://api.github.com/repos/octo-org/octo-repo/compare/{base}...{head}\",\n        \"merges_url\": \"https://api.github.com/repos/octo-org/octo-repo/merges\",\n        \"archive_url\": \"https://api.github.com/repos/octo-org/octo-repo/{archive_format}{/ref}\",\n        \"downloads_url\": \"https://api.github.com/repos/octo-org/octo-repo/downloads\",\n        \"issues_url\": \"https://api.github.com/repos/octo-org/octo-repo/issues{/number}\",\n        \"pulls_url\": \"https://api.github.com/repos/octo-org/octo-repo/pulls{/number}\",\n        \"milestones_url\": \"https://api.github.com/repos/octo-org/octo-repo/milestones{/number}\",\n        \"notifications_url\": \"https://api.github.com/repos/octo-org/octo-repo/notifications{?since,all,participating}\",\n        \"labels_url\": \"https://api.github.com/repos/octo-org/octo-repo/labels{/name}\",\n        \"releases_url\": \"https://api.github.com/repos/octo-org/octo-repo/releases{/id}\",\n        \"deployments_url\": \"https://api.github.com/repos/octo-org/octo-repo/deployments\"\n      }\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42\n})\n
" + } + ], + "summary": "Get a workflow run", + "description": "Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-workflow-run" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "get-a-workflow-run", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"id\": 30433642,\n  \"name\": \"Build\",\n  \"node_id\": \"MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==\",\n  \"head_branch\": \"master\",\n  \"head_sha\": \"acb5820ced9479c074f688cc328bf03f341a511d\",\n  \"run_number\": 562,\n  \"event\": \"push\",\n  \"status\": \"queued\",\n  \"conclusion\": null,\n  \"workflow_id\": 159038,\n  \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642\",\n  \"html_url\": \"https://github.com/octo-org/octo-repo/actions/runs/30433642\",\n  \"pull_requests\": [],\n  \"created_at\": \"2020-01-22T19:33:08Z\",\n  \"updated_at\": \"2020-01-22T19:33:08Z\",\n  \"jobs_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs\",\n  \"logs_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs\",\n  \"check_suite_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374\",\n  \"artifacts_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts\",\n  \"cancel_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel\",\n  \"rerun_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun\",\n  \"workflow_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038\",\n  \"head_commit\": {\n    \"id\": \"acb5820ced9479c074f688cc328bf03f341a511d\",\n    \"tree_id\": \"d23f6eedb1e1b9610bbc754ddb5197bfe7271223\",\n    \"message\": \"Create linter.yaml\",\n    \"timestamp\": \"2020-01-22T19:33:05Z\",\n    \"author\": {\n      \"name\": \"Octo Cat\",\n      \"email\": \"octocat@github.com\"\n    },\n    \"committer\": {\n      \"name\": \"GitHub\",\n      \"email\": \"noreply@github.com\"\n    }\n  },\n  \"repository\": {\n    \"id\": 1296269,\n    \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n    \"name\": \"Hello-World\",\n    \"full_name\": \"octocat/Hello-World\",\n    \"owner\": {\n      \"login\": \"octocat\",\n      \"id\": 1,\n      \"node_id\": \"MDQ6VXNlcjE=\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"gravatar_id\": \"\",\n      \"url\": \"https://api.github.com/users/octocat\",\n      \"html_url\": \"https://github.com/octocat\",\n      \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n      \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n      \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n      \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n      \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n      \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n      \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n      \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n      \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n      \"type\": \"User\",\n      \"site_admin\": false\n    },\n    \"private\": false,\n    \"html_url\": \"https://github.com/octocat/Hello-World\",\n    \"description\": \"This your first repo!\",\n    \"fork\": false,\n    \"url\": \"https://api.github.com/repos/octocat/Hello-World\",\n    \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\",\n    \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World/assignees{/user}\",\n    \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\",\n    \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World/branches{/branch}\",\n    \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\",\n    \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World/comments{/number}\",\n    \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World/commits{/sha}\",\n    \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\",\n    \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World/contents/{+path}\",\n    \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World/contributors\",\n    \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World/deployments\",\n    \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World/downloads\",\n    \"events_url\": \"https://api.github.com/repos/octocat/Hello-World/events\",\n    \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World/forks\",\n    \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\",\n    \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\",\n    \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\",\n    \"git_url\": \"git:github.com/octocat/Hello-World.git\",\n    \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\",\n    \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/events{/number}\",\n    \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World/issues{/number}\",\n    \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World/keys{/key_id}\",\n    \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World/labels{/name}\",\n    \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World/languages\",\n    \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World/merges\",\n    \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World/milestones{/number}\",\n    \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\",\n    \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World/pulls{/number}\",\n    \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World/releases{/id}\",\n    \"ssh_url\": \"git@github.com:octocat/Hello-World.git\",\n    \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World/stargazers\",\n    \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World/statuses/{sha}\",\n    \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World/subscribers\",\n    \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World/subscription\",\n    \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World/tags\",\n    \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World/teams\",\n    \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\",\n    \"hooks_url\": \"http://api.github.com/repos/octocat/Hello-World/hooks\"\n  },\n  \"head_repository\": {\n    \"id\": 217723378,\n    \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMTc3MjMzNzg=\",\n    \"name\": \"octo-repo\",\n    \"full_name\": \"octo-org/octo-repo\",\n    \"private\": true,\n    \"owner\": {\n      \"login\": \"octocat\",\n      \"id\": 1,\n      \"node_id\": \"MDQ6VXNlcjE=\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"gravatar_id\": \"\",\n      \"url\": \"https://api.github.com/users/octocat\",\n      \"html_url\": \"https://github.com/octocat\",\n      \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n      \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n      \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n      \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n      \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n      \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n      \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n      \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n      \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n      \"type\": \"User\",\n      \"site_admin\": false\n    },\n    \"html_url\": \"https://github.com/octo-org/octo-repo\",\n    \"description\": null,\n    \"fork\": false,\n    \"url\": \"https://api.github.com/repos/octo-org/octo-repo\",\n    \"forks_url\": \"https://api.github.com/repos/octo-org/octo-repo/forks\",\n    \"keys_url\": \"https://api.github.com/repos/octo-org/octo-repo/keys{/key_id}\",\n    \"collaborators_url\": \"https://api.github.com/repos/octo-org/octo-repo/collaborators{/collaborator}\",\n    \"teams_url\": \"https://api.github.com/repos/octo-org/octo-repo/teams\",\n    \"hooks_url\": \"https://api.github.com/repos/octo-org/octo-repo/hooks\",\n    \"issue_events_url\": \"https://api.github.com/repos/octo-org/octo-repo/issues/events{/number}\",\n    \"events_url\": \"https://api.github.com/repos/octo-org/octo-repo/events\",\n    \"assignees_url\": \"https://api.github.com/repos/octo-org/octo-repo/assignees{/user}\",\n    \"branches_url\": \"https://api.github.com/repos/octo-org/octo-repo/branches{/branch}\",\n    \"tags_url\": \"https://api.github.com/repos/octo-org/octo-repo/tags\",\n    \"blobs_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/blobs{/sha}\",\n    \"git_tags_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/tags{/sha}\",\n    \"git_refs_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/refs{/sha}\",\n    \"trees_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/trees{/sha}\",\n    \"statuses_url\": \"https://api.github.com/repos/octo-org/octo-repo/statuses/{sha}\",\n    \"languages_url\": \"https://api.github.com/repos/octo-org/octo-repo/languages\",\n    \"stargazers_url\": \"https://api.github.com/repos/octo-org/octo-repo/stargazers\",\n    \"contributors_url\": \"https://api.github.com/repos/octo-org/octo-repo/contributors\",\n    \"subscribers_url\": \"https://api.github.com/repos/octo-org/octo-repo/subscribers\",\n    \"subscription_url\": \"https://api.github.com/repos/octo-org/octo-repo/subscription\",\n    \"commits_url\": \"https://api.github.com/repos/octo-org/octo-repo/commits{/sha}\",\n    \"git_commits_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/commits{/sha}\",\n    \"comments_url\": \"https://api.github.com/repos/octo-org/octo-repo/comments{/number}\",\n    \"issue_comment_url\": \"https://api.github.com/repos/octo-org/octo-repo/issues/comments{/number}\",\n    \"contents_url\": \"https://api.github.com/repos/octo-org/octo-repo/contents/{+path}\",\n    \"compare_url\": \"https://api.github.com/repos/octo-org/octo-repo/compare/{base}...{head}\",\n    \"merges_url\": \"https://api.github.com/repos/octo-org/octo-repo/merges\",\n    \"archive_url\": \"https://api.github.com/repos/octo-org/octo-repo/{archive_format}{/ref}\",\n    \"downloads_url\": \"https://api.github.com/repos/octo-org/octo-repo/downloads\",\n    \"issues_url\": \"https://api.github.com/repos/octo-org/octo-repo/issues{/number}\",\n    \"pulls_url\": \"https://api.github.com/repos/octo-org/octo-repo/pulls{/number}\",\n    \"milestones_url\": \"https://api.github.com/repos/octo-org/octo-repo/milestones{/number}\",\n    \"notifications_url\": \"https://api.github.com/repos/octo-org/octo-repo/notifications{?since,all,participating}\",\n    \"labels_url\": \"https://api.github.com/repos/octo-org/octo-repo/labels{/name}\",\n    \"releases_url\": \"https://api.github.com/repos/octo-org/octo-repo/releases{/id}\",\n    \"deployments_url\": \"https://api.github.com/repos/octo-org/octo-repo/deployments\"\n  }\n}\n
" + } + ] + }, + { + "verb": "delete", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /repos/{owner}/{repo}/actions/runs/{run_id}', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42\n})", + "html": "
await octokit.request('DELETE /repos/{owner}/{repo}/actions/runs/{run_id}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42\n})\n
" + } + ], + "summary": "Delete a workflow run", + "description": "Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is\nprivate you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use\nthis endpoint.", + "operationId": "actions/delete-workflow-run", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-a-workflow-run" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "delete-a-workflow-run", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is\nprivate you must use an access token with the repo scope. GitHub Apps must have the actions:write permission to use\nthis endpoint.

" + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42/approvals", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42/approvals
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42\n})\n
" + } + ], + "summary": "Get the review history for a workflow run", + "description": "Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-reviews-for-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-the-review-history-for-a-workflow-run" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "get-the-review-history-for-a-workflow-run", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
[\n  {\n    \"state\": \"approved\",\n    \"comment\": \"Ship it!\",\n    \"environments\": [\n      {\n        \"id\": 161088068,\n        \"node_id\": \"MDExOkVudmlyb25tZW50MTYxMDg4MDY4\",\n        \"name\": \"staging\",\n        \"url\": \"https://api.github.com/repos/github/hello-world/environments/staging\",\n        \"html_url\": \"https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging\",\n        \"created_at\": \"2020-11-23T22:00:40Z\",\n        \"updated_at\": \"2020-11-23T22:00:40Z\"\n      }\n    ],\n    \"user\": {\n      \"login\": \"octocat\",\n      \"id\": 1,\n      \"node_id\": \"MDQ6VXNlcjE=\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"gravatar_id\": \"\",\n      \"url\": \"https://api.github.com/users/octocat\",\n      \"html_url\": \"https://github.com/octocat\",\n      \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n      \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n      \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n      \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n      \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n      \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n      \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n      \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n      \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n      \"type\": \"User\",\n      \"site_admin\": false\n    }\n  }\n]\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42/artifacts", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42/artifacts
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42\n})\n
" + } + ], + "summary": "List workflow run artifacts", + "description": "Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-workflow-run-artifacts", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-workflow-run-artifacts" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "artifacts" + }, + "slug": "list-workflow-run-artifacts", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "artifacts", + "subcategoryLabel": "Artifacts", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 2,\n  \"artifacts\": [\n    {\n      \"id\": 11,\n      \"node_id\": \"MDg6QXJ0aWZhY3QxMQ==\",\n      \"name\": \"Rails\",\n      \"size_in_bytes\": 556,\n      \"url\": \"https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11\",\n      \"archive_download_url\": \"https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip\",\n      \"expired\": false,\n      \"created_at\": \"2020-01-10T14:59:22Z\",\n      \"expires_at\": \"2020-03-21T14:59:22Z\",\n      \"updated_at\": \"2020-02-21T14:59:22Z\"\n    },\n    {\n      \"id\": 13,\n      \"node_id\": \"MDg6QXJ0aWZhY3QxMw==\",\n      \"name\": \"\",\n      \"size_in_bytes\": 453,\n      \"url\": \"https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13\",\n      \"archive_download_url\": \"https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13/zip\",\n      \"expired\": false,\n      \"created_at\": \"2020-01-10T14:59:22Z\",\n      \"expires_at\": \"2020-03-21T14:59:22Z\",\n      \"updated_at\": \"2020-02-21T14:59:22Z\"\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "post", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X POST \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42/cancel", + "html": "
curl \\\n  -X POST \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42/cancel
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42\n})", + "html": "
await octokit.request('POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42\n})\n
" + } + ], + "summary": "Cancel a workflow run", + "description": "Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/cancel-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#cancel-a-workflow-run" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "cancel-a-workflow-run", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "responses": [ + { + "httpStatusCode": "202", + "httpStatusMessage": "Accepted", + "description": "Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Cancels a workflow run using its id. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:write permission to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + }, + { + "name": "filter", + "description": "Filters jobs by their `completed_at` timestamp. Can be one of: \n\\* `latest`: Returns jobs from the most recent execution of the workflow run. \n\\* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "latest", + "all" + ], + "default": "latest" + }, + "descriptionHTML": "

Filters jobs by their completed_at timestamp. Can be one of:
\n* latest: Returns jobs from the most recent execution of the workflow run.
\n* all: Returns all jobs for a workflow run, including from old executions of the workflow run.

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42/jobs", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42/jobs
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42\n})\n
" + } + ], + "summary": "List jobs for a workflow run", + "description": "Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/github-ae@latest/rest/overview/resources-in-the-rest-api#parameters).", + "tags": [ + "actions" + ], + "operationId": "actions/list-jobs-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-jobs-for-a-workflow-run" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-jobs" + }, + "slug": "list-jobs-for-a-workflow-run", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-jobs", + "subcategoryLabel": "Workflow jobs", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see Parameters.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 1,\n  \"jobs\": [\n    {\n      \"id\": 399444496,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444496\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"build\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496\"\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}/logs", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42/logs", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42/logs
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42\n})\n
" + } + ], + "summary": "Download workflow run logs", + "description": "Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for\n`Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use\nthis endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have\nthe `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/download-workflow-run-logs", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#download-workflow-run-logs" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "download-workflow-run-logs", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "responses": [ + { + "httpStatusCode": "302", + "httpStatusMessage": "Found", + "description": "Response" + } + ], + "bodyParameters": [], + "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\nthis endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have\nthe actions:read permission to use this endpoint.

" + }, + { + "verb": "delete", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}/logs", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42/logs", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42/logs
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42\n})", + "html": "
await octokit.request('DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42\n})\n
" + } + ], + "summary": "Delete workflow run logs", + "description": "Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-workflow-run-logs", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-workflow-run-logs" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "delete-workflow-run-logs", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Deletes all logs for a workflow run. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:write permission to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42/pending_deployments", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42/pending_deployments
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42\n})\n
" + } + ], + "summary": "Get pending deployments for a workflow run", + "description": "Get all deployment environments for a workflow run that are waiting for protection rules to pass.\n\nAnyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-pending-deployments-for-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-pending-deployments-for-a-workflow-run" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "get-pending-deployments-for-a-workflow-run", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Get all deployment environments for a workflow run that are waiting for protection rules to pass.

\n

Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
[\n  {\n    \"environment\": {\n      \"id\": 161088068,\n      \"node_id\": \"MDExOkVudmlyb25tZW50MTYxMDg4MDY4\",\n      \"name\": \"staging\",\n      \"url\": \"https://api.github.com/repos/github/hello-world/environments/staging\",\n      \"html_url\": \"https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging\"\n    },\n    \"wait_timer\": 30,\n    \"wait_timer_started_at\": \"2020-11-23T22:00:40Z\",\n    \"current_user_can_approve\": true,\n    \"reviewers\": [\n      {\n        \"type\": \"User\",\n        \"reviewer\": {\n          \"login\": \"octocat\",\n          \"id\": 1,\n          \"node_id\": \"MDQ6VXNlcjE=\",\n          \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n          \"gravatar_id\": \"\",\n          \"url\": \"https://api.github.com/users/octocat\",\n          \"html_url\": \"https://github.com/octocat\",\n          \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n          \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n          \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n          \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n          \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n          \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n          \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n          \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n          \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n          \"type\": \"User\",\n          \"site_admin\": false\n        }\n      },\n      {\n        \"type\": \"Team\",\n        \"reviewer\": {\n          \"id\": 1,\n          \"node_id\": \"MDQ6VGVhbTE=\",\n          \"url\": \"https://api.github.com/teams/1\",\n          \"html_url\": \"https://github.com/orgs/github/teams/justice-league\",\n          \"name\": \"Justice League\",\n          \"slug\": \"justice-league\",\n          \"description\": \"A great team.\",\n          \"privacy\": \"closed\",\n          \"permission\": \"admin\",\n          \"members_url\": \"https://api.github.com/teams/1/members{/member}\",\n          \"repositories_url\": \"https://api.github.com/teams/1/repos\"\n        }\n      }\n    ]\n  }\n]\n
" + } + ] + }, + { + "verb": "post", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X POST \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42/pending_deployments \\\n -d '{\"environment_ids\":[42],\"state\":\"state\",\"comment\":\"comment\"}'", + "html": "
curl \\\n  -X POST \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42/pending_deployments \\\n  -d '{\"environment_ids\":[42],\"state\":\"state\",\"comment\":\"comment\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42,\n environment_ids: [\n 42\n ],\n state: 'state',\n comment: 'comment'\n})", + "html": "
await octokit.request('POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42,\n  environment_ids: [\n    42\n  ],\n  state: 'state',\n  comment: 'comment'\n})\n
" + } + ], + "summary": "Review pending deployments for a workflow run", + "description": "Approve or reject pending deployments that are waiting on approval by a required reviewer.\n\nAnyone with read access to the repository contents and deployments can use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/review-pending-deployments-for-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#review-pending-deployments-for-a-workflow-run" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "environment_ids": { + "type": "array of integers", + "description": "

Required. The list of environment ids to approve or reject

", + "example": [ + 161171787, + 161171795 + ], + "items": { + "type": "integer", + "example": 161171787 + }, + "name": "environment_ids", + "in": "body", + "rawType": "array", + "rawDescription": "The list of environment ids to approve or reject", + "childParamsGroups": [] + }, + "state": { + "type": "string", + "description": "

Required. Whether to approve or reject deployment to the specified environments. Must be one of: approved or rejected

", + "enum": [ + "approved", + "rejected" + ], + "example": "approved", + "name": "state", + "in": "body", + "rawType": "string", + "rawDescription": "Whether to approve or reject deployment to the specified environments. Must be one of: `approved` or `rejected`", + "childParamsGroups": [] + }, + "comment": { + "type": "string", + "description": "

Required. A comment to accompany the deployment review

", + "example": "Ship it!", + "name": "comment", + "in": "body", + "rawType": "string", + "rawDescription": "A comment to accompany the deployment review", + "childParamsGroups": [] + } + }, + "required": [ + "environment_ids", + "state", + "comment" + ] + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "review-pending-deployments-for-a-workflow-run", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "descriptionHTML": "

Approve or reject pending deployments that are waiting on approval by a required reviewer.

\n

Anyone with read access to the repository contents and deployments can use this endpoint.

", + "bodyParameters": [ + { + "type": "array of integers", + "description": "

Required. The list of environment ids to approve or reject

", + "example": [ + 161171787, + 161171795 + ], + "items": { + "type": "integer", + "example": 161171787 + }, + "name": "environment_ids", + "in": "body", + "rawType": "array", + "rawDescription": "The list of environment ids to approve or reject", + "childParamsGroups": [] + }, + { + "type": "string", + "description": "

Required. Whether to approve or reject deployment to the specified environments. Must be one of: approved or rejected

", + "enum": [ + "approved", + "rejected" + ], + "example": "approved", + "name": "state", + "in": "body", + "rawType": "string", + "rawDescription": "Whether to approve or reject deployment to the specified environments. Must be one of: `approved` or `rejected`", + "childParamsGroups": [] + }, + { + "type": "string", + "description": "

Required. A comment to accompany the deployment review

", + "example": "Ship it!", + "name": "comment", + "in": "body", + "rawType": "string", + "rawDescription": "A comment to accompany the deployment review", + "childParamsGroups": [] + } + ], + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
[\n  {\n    \"url\": \"https://api.github.com/repos/octocat/example/deployments/1\",\n    \"id\": 1,\n    \"node_id\": \"MDEwOkRlcGxveW1lbnQx\",\n    \"sha\": \"a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d\",\n    \"ref\": \"topic-branch\",\n    \"task\": \"deploy\",\n    \"payload\": {},\n    \"original_environment\": \"staging\",\n    \"environment\": \"production\",\n    \"description\": \"Deploy request from hubot\",\n    \"creator\": {\n      \"login\": \"octocat\",\n      \"id\": 1,\n      \"node_id\": \"MDQ6VXNlcjE=\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"gravatar_id\": \"\",\n      \"url\": \"https://api.github.com/users/octocat\",\n      \"html_url\": \"https://github.com/octocat\",\n      \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n      \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n      \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n      \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n      \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n      \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n      \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n      \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n      \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n      \"type\": \"User\",\n      \"site_admin\": false\n    },\n    \"created_at\": \"2012-07-20T01:19:13Z\",\n    \"updated_at\": \"2012-07-20T01:19:13Z\",\n    \"statuses_url\": \"https://api.github.com/repos/octocat/example/deployments/1/statuses\",\n    \"repository_url\": \"https://api.github.com/repos/octocat/example\",\n    \"transient_environment\": false,\n    \"production_environment\": true\n  }\n]\n
" + } + ] + }, + { + "verb": "post", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X POST \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42/rerun", + "html": "
curl \\\n  -X POST \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42/rerun
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42\n})", + "html": "
await octokit.request('POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42\n})\n
" + } + ], + "summary": "Re-run a workflow", + "description": "Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/re-run-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#re-run-a-workflow" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "re-run-a-workflow", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "responses": [ + { + "httpStatusCode": "201", + "httpStatusMessage": "Created", + "description": "Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Re-runs your workflow run using its id. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:write permission to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/runs/{run_id}/timing", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The id of the workflow run

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/runs/42/timing", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/runs/42/timing
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing', {\n owner: 'octocat',\n repo: 'hello-world',\n run_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  run_id: 42\n})\n
" + } + ], + "summary": "Get workflow run usage", + "description": "Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub AE-hosted runners. Usage is listed for each GitHub AE-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-workflow-run-usage", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-workflow-run-usage" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "get-workflow-run-usage", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub AE-hosted runners. Usage is listed for each GitHub AE-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".

\n

Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"billable\": {\n    \"UBUNTU\": {\n      \"total_ms\": 180000,\n      \"jobs\": 1\n    },\n    \"MACOS\": {\n      \"total_ms\": 240000,\n      \"jobs\": 4\n    },\n    \"WINDOWS\": {\n      \"total_ms\": 300000,\n      \"jobs\": 2\n    }\n  },\n  \"run_duration_ms\": 500000\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/secrets", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/secrets", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/secrets
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/secrets', {\n owner: 'octocat',\n repo: 'hello-world'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/secrets', {\n  owner: 'octocat',\n  repo: 'hello-world'\n})\n
" + } + ], + "summary": "List repository secrets", + "description": "Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-repo-secrets", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-repository-secrets" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "list-repository-secrets", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the secrets repository permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 2,\n  \"secrets\": [\n    {\n      \"name\": \"GH_TOKEN\",\n      \"created_at\": \"2019-08-10T14:59:22Z\",\n      \"updated_at\": \"2020-01-10T14:59:22Z\"\n    },\n    {\n      \"name\": \"GIST_ID\",\n      \"created_at\": \"2020-01-10T10:59:22Z\",\n      \"updated_at\": \"2020-01-11T11:59:22Z\"\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/secrets/public-key", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/secrets/public-key", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/secrets/public-key
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/secrets/public-key', {\n owner: 'octocat',\n repo: 'hello-world'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/secrets/public-key', {\n  owner: 'octocat',\n  repo: 'hello-world'\n})\n
" + } + ], + "summary": "Get a repository public key", + "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-repo-public-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-repository-public-key" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "get-a-repository-public-key", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the secrets repository permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"key_id\": \"012345678912345678\",\n  \"key\": \"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234\"\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/secrets/{secret_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/secrets/SECRET_NAME", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/secrets/SECRET_NAME
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/secrets/{secret_name}', {\n owner: 'octocat',\n repo: 'hello-world',\n secret_name: 'secret_name'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/secrets/{secret_name}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  secret_name: 'secret_name'\n})\n
" + } + ], + "summary": "Get a repository secret", + "description": "Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-repo-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-repository-secret" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "get-a-repository-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the secrets repository permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"name\": \"GH_TOKEN\",\n  \"created_at\": \"2019-08-10T14:59:22Z\",\n  \"updated_at\": \"2020-01-10T14:59:22Z\"\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/repos/{owner}/{repo}/actions/secrets/{secret_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/secrets/SECRET_NAME \\\n -d '{\"encrypted_value\":\"encrypted_value\"}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/secrets/SECRET_NAME \\\n  -d '{\"encrypted_value\":\"encrypted_value\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}', {\n owner: 'octocat',\n repo: 'hello-world',\n secret_name: 'secret_name',\n encrypted_value: 'encrypted_value'\n})", + "html": "
await octokit.request('PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  secret_name: 'secret_name',\n  encrypted_value: 'encrypted_value'\n})\n
" + } + ], + "summary": "Create or update a repository secret", + "description": "Creates or updates a repository secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\nthis endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n\n```\nconst sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n```\n\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", + "tags": [ + "actions" + ], + "operationId": "actions/create-or-update-repo-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-a-repository-secret" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "encrypted_value": { + "type": "string", + "description": "

Value for your secret, encrypted with LibSodium using the public key retrieved from the Get a repository public key endpoint.

", + "name": "encrypted_value", + "in": "body", + "rawType": "string", + "rawDescription": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-repository-public-key) endpoint.", + "childParamsGroups": [] + }, + "key_id": { + "type": "string", + "description": "

ID of the key you used to encrypt the secret.

", + "name": "key_id", + "in": "body", + "rawType": "string", + "rawDescription": "ID of the key you used to encrypt the secret.", + "childParamsGroups": [] + } + } + }, + "example": { + "encrypted_value": "****************************************************************************************", + "key_id": "012345678912345678" + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "create-or-update-a-repository-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "responses": [ + { + "httpStatusCode": "201", + "httpStatusMessage": "Created", + "description": "Response when creating a secret" + }, + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Response when updating a secret" + } + ], + "descriptionHTML": "

Creates or updates a repository secret with an encrypted value. Encrypt your secret using\nLibSodium. You must authenticate using an access\ntoken with the repo scope to use this endpoint. GitHub Apps must have the secrets repository permission to use\nthis endpoint.

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

\n
const sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n
\n

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

\n
from base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n  \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n  public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n  sealed_box = public.SealedBox(public_key)\n  encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n  return b64encode(encrypted).decode(\"utf-8\")\n
\n

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

\n
var secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n
\n

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

\n
require \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n
", + "bodyParameters": [ + { + "type": "string", + "description": "

Value for your secret, encrypted with LibSodium using the public key retrieved from the Get a repository public key endpoint.

", + "name": "encrypted_value", + "in": "body", + "rawType": "string", + "rawDescription": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-repository-public-key) endpoint.", + "childParamsGroups": [] + }, + { + "type": "string", + "description": "

ID of the key you used to encrypt the secret.

", + "name": "key_id", + "in": "body", + "rawType": "string", + "rawDescription": "ID of the key you used to encrypt the secret.", + "childParamsGroups": [] + } + ] + }, + { + "verb": "delete", + "requestPath": "/repos/{owner}/{repo}/actions/secrets/{secret_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/secrets/SECRET_NAME", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/secrets/SECRET_NAME
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}', {\n owner: 'octocat',\n repo: 'hello-world',\n secret_name: 'secret_name'\n})", + "html": "
await octokit.request('DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  secret_name: 'secret_name'\n})\n
" + } + ], + "summary": "Delete a repository secret", + "description": "Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-repo-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-a-repository-secret" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "delete-a-repository-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Deletes a secret in a repository using the secret name. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the secrets repository permission to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/workflows", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/workflows", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/workflows
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/workflows', {\n owner: 'octocat',\n repo: 'hello-world'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/workflows', {\n  owner: 'octocat',\n  repo: 'hello-world'\n})\n
" + } + ], + "summary": "List repository workflows", + "description": "Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-repo-workflows", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-repository-workflows" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "slug": "list-repository-workflows", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflows", + "subcategoryLabel": "Workflows", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 2,\n  \"workflows\": [\n    {\n      \"id\": 161335,\n      \"node_id\": \"MDg6V29ya2Zsb3cxNjEzMzU=\",\n      \"name\": \"CI\",\n      \"path\": \".github/workflows/blank.yaml\",\n      \"state\": \"active\",\n      \"created_at\": \"2020-01-08T23:48:37.000-08:00\",\n      \"updated_at\": \"2020-01-08T23:50:21.000-08:00\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/workflows/161335\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/blob/master/.github/workflows/161335\",\n      \"badge_url\": \"https://github.com/octo-org/octo-repo/workflows/CI/badge.svg\"\n    },\n    {\n      \"id\": 269289,\n      \"node_id\": \"MDE4OldvcmtmbG93IFNlY29uZGFyeTI2OTI4OQ==\",\n      \"name\": \"Linter\",\n      \"path\": \".github/workflows/linter.yaml\",\n      \"state\": \"active\",\n      \"created_at\": \"2020-01-08T23:48:37.000-08:00\",\n      \"updated_at\": \"2020-01-08T23:50:21.000-08:00\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/workflows/269289\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/blob/master/.github/workflows/269289\",\n      \"badge_url\": \"https://github.com/octo-org/octo-repo/workflows/Linter/badge.svg\"\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "descriptionHTML": "

The ID of the workflow. You can also pass the workflow file name as a string.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/workflows/42", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/workflows/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}', {\n owner: 'octocat',\n repo: 'hello-world',\n workflow_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  workflow_id: 42\n})\n
" + } + ], + "summary": "Get a workflow", + "description": "Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-workflow" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "slug": "get-a-workflow", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflows", + "subcategoryLabel": "Workflows", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets a specific workflow. You can replace workflow_id with the workflow file name. For example, you could use main.yaml. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"id\": 161335,\n  \"node_id\": \"MDg6V29ya2Zsb3cxNjEzMzU=\",\n  \"name\": \"CI\",\n  \"path\": \".github/workflows/blank.yaml\",\n  \"state\": \"active\",\n  \"created_at\": \"2020-01-08T23:48:37.000-08:00\",\n  \"updated_at\": \"2020-01-08T23:50:21.000-08:00\",\n  \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/workflows/161335\",\n  \"html_url\": \"https://github.com/octo-org/octo-repo/blob/master/.github/workflows/161335\",\n  \"badge_url\": \"https://github.com/octo-org/octo-repo/workflows/CI/badge.svg\"\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "descriptionHTML": "

The ID of the workflow. You can also pass the workflow file name as a string.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/workflows/42/disable", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/workflows/42/disable
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable', {\n owner: 'octocat',\n repo: 'hello-world',\n workflow_id: 42\n})", + "html": "
await octokit.request('PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  workflow_id: 42\n})\n
" + } + ], + "summary": "Disable a workflow", + "description": "Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/disable-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#disable-a-workflow" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "slug": "disable-a-workflow", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflows", + "subcategoryLabel": "Workflows", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Disables a workflow and sets the state of the workflow to disabled_manually. You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

\n

You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:write permission to use this endpoint.

" + }, + { + "verb": "post", + "requestPath": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "descriptionHTML": "

The ID of the workflow. You can also pass the workflow file name as a string.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X POST \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/workflows/42/dispatches \\\n -d '{\"ref\":\"ref\"}'", + "html": "
curl \\\n  -X POST \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/workflows/42/dispatches \\\n  -d '{\"ref\":\"ref\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches', {\n owner: 'octocat',\n repo: 'hello-world',\n workflow_id: 42,\n ref: 'ref'\n})", + "html": "
await octokit.request('POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  workflow_id: 42,\n  ref: 'ref'\n})\n
" + } + ], + "summary": "Create a workflow dispatch event", + "description": "You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see \"[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see \"[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line).\"", + "operationId": "actions/create-workflow-dispatch", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#create-a-workflow-dispatch-event" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "

Required. The git reference for the workflow. The reference can be a branch or tag name.

", + "name": "ref", + "in": "body", + "rawType": "string", + "rawDescription": "The git reference for the workflow. The reference can be a branch or tag name.", + "childParamsGroups": [] + }, + "inputs": { + "type": "object", + "description": "

Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when inputs are omitted.

", + "additionalProperties": { + "type": "string" + }, + "maxProperties": 10, + "name": "inputs", + "in": "body", + "rawType": "object", + "rawDescription": "Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted.", + "childParamsGroups": [] + } + }, + "required": [ + "ref" + ] + }, + "example": { + "ref": "topic-branch", + "inputs": { + "name": "Mona the Octocat", + "home": "San Francisco, CA" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "slug": "create-a-workflow-dispatch-event", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflows", + "subcategoryLabel": "Workflows", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "descriptionHTML": "

You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

\n

You must configure your GitHub Actions workflow to run when the workflow_dispatch webhook event occurs. The inputs are configured in the workflow file. For more information about how to configure the workflow_dispatch event in the workflow file, see \"Events that trigger workflows.\"

\n

You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:write permission to use this endpoint. For more information, see \"Creating a personal access token for the command line.\"

", + "bodyParameters": [ + { + "type": "string", + "description": "

Required. The git reference for the workflow. The reference can be a branch or tag name.

", + "name": "ref", + "in": "body", + "rawType": "string", + "rawDescription": "The git reference for the workflow. The reference can be a branch or tag name.", + "childParamsGroups": [] + }, + { + "type": "object", + "description": "

Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when inputs are omitted.

", + "additionalProperties": { + "type": "string" + }, + "maxProperties": 10, + "name": "inputs", + "in": "body", + "rawType": "object", + "rawDescription": "Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted.", + "childParamsGroups": [] + } + ] + }, + { + "verb": "put", + "requestPath": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "descriptionHTML": "

The ID of the workflow. You can also pass the workflow file name as a string.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/workflows/42/enable", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/workflows/42/enable
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable', {\n owner: 'octocat',\n repo: 'hello-world',\n workflow_id: 42\n})", + "html": "
await octokit.request('PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  workflow_id: 42\n})\n
" + } + ], + "summary": "Enable a workflow", + "description": "Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/enable-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#enable-a-workflow" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "slug": "enable-a-workflow", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflows", + "subcategoryLabel": "Workflows", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Enables a workflow and sets the state of the workflow to active. You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

\n

You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:write permission to use this endpoint.

" + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "descriptionHTML": "

The ID of the workflow. You can also pass the workflow file name as a string.

" + }, + { + "name": "actor", + "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "descriptionHTML": "

Returns someone's workflow runs. Use the login for the user who created the push associated with the check suite or workflow run.

" + }, + { + "name": "branch", + "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`.", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "descriptionHTML": "

Returns workflow runs associated with a branch. Use the name of the branch of the push.

" + }, + { + "name": "event", + "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "descriptionHTML": "

Returns workflow run triggered by the event you specify. For example, push, pull_request or issue. For more information, see \"Events that trigger workflows.\"

" + }, + { + "name": "status", + "description": "Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see \"[Create a check run](https://docs.github.com/github-ae@latest/rest/reference/checks#create-a-check-run).\"", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "completed", + "action_required", + "cancelled", + "failure", + "neutral", + "skipped", + "stale", + "success", + "timed_out", + "in_progress", + "queued", + "requested", + "waiting" + ] + }, + "descriptionHTML": "

Returns workflow runs with the check run status or conclusion that you specify. For example, a conclusion can be success or a status can be in_progress. Only GitHub can set a status of waiting or requested. For a list of the possible status and conclusion options, see \"Create a check run.\"

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/workflows/42/runs", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/workflows/42/runs
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs', {\n owner: 'octocat',\n repo: 'hello-world',\n workflow_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  workflow_id: 42\n})\n
" + } + ], + "summary": "List workflow runs", + "description": "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](https://docs.github.com/github-ae@latest/rest/overview/resources-in-the-rest-api#parameters).\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.", + "tags": [ + "actions" + ], + "operationId": "actions/list-workflow-runs", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-workflow-runs" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "slug": "list-workflow-runs", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflow-runs", + "subcategoryLabel": "Workflow runs", + "notes": [], + "bodyParameters": [], + "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.

\n

Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 1,\n  \"workflow_runs\": [\n    {\n      \"id\": 30433642,\n      \"name\": \"Build\",\n      \"node_id\": \"MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==\",\n      \"head_branch\": \"master\",\n      \"head_sha\": \"acb5820ced9479c074f688cc328bf03f341a511d\",\n      \"run_number\": 562,\n      \"event\": \"push\",\n      \"status\": \"queued\",\n      \"conclusion\": null,\n      \"workflow_id\": 159038,\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/actions/runs/30433642\",\n      \"pull_requests\": [],\n      \"created_at\": \"2020-01-22T19:33:08Z\",\n      \"updated_at\": \"2020-01-22T19:33:08Z\",\n      \"jobs_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs\",\n      \"logs_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs\",\n      \"check_suite_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374\",\n      \"artifacts_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts\",\n      \"cancel_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel\",\n      \"rerun_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun\",\n      \"workflow_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038\",\n      \"head_commit\": {\n        \"id\": \"acb5820ced9479c074f688cc328bf03f341a511d\",\n        \"tree_id\": \"d23f6eedb1e1b9610bbc754ddb5197bfe7271223\",\n        \"message\": \"Create linter.yaml\",\n        \"timestamp\": \"2020-01-22T19:33:05Z\",\n        \"author\": {\n          \"name\": \"Octo Cat\",\n          \"email\": \"octocat@github.com\"\n        },\n        \"committer\": {\n          \"name\": \"GitHub\",\n          \"email\": \"noreply@github.com\"\n        }\n      },\n      \"repository\": {\n        \"id\": 1296269,\n        \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n        \"name\": \"Hello-World\",\n        \"full_name\": \"octocat/Hello-World\",\n        \"owner\": {\n          \"login\": \"octocat\",\n          \"id\": 1,\n          \"node_id\": \"MDQ6VXNlcjE=\",\n          \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n          \"gravatar_id\": \"\",\n          \"url\": \"https://api.github.com/users/octocat\",\n          \"html_url\": \"https://github.com/octocat\",\n          \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n          \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n          \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n          \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n          \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n          \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n          \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n          \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n          \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n          \"type\": \"User\",\n          \"site_admin\": false\n        },\n        \"private\": false,\n        \"html_url\": \"https://github.com/octocat/Hello-World\",\n        \"description\": \"This your first repo!\",\n        \"fork\": false,\n        \"url\": \"https://api.github.com/repos/octocat/Hello-World\",\n        \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\",\n        \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World/assignees{/user}\",\n        \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\",\n        \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World/branches{/branch}\",\n        \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\",\n        \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World/comments{/number}\",\n        \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World/commits{/sha}\",\n        \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\",\n        \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World/contents/{+path}\",\n        \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World/contributors\",\n        \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World/deployments\",\n        \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World/downloads\",\n        \"events_url\": \"https://api.github.com/repos/octocat/Hello-World/events\",\n        \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World/forks\",\n        \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\",\n        \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\",\n        \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\",\n        \"git_url\": \"git:github.com/octocat/Hello-World.git\",\n        \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\",\n        \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/events{/number}\",\n        \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World/issues{/number}\",\n        \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World/keys{/key_id}\",\n        \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World/labels{/name}\",\n        \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World/languages\",\n        \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World/merges\",\n        \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World/milestones{/number}\",\n        \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\",\n        \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World/pulls{/number}\",\n        \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World/releases{/id}\",\n        \"ssh_url\": \"git@github.com:octocat/Hello-World.git\",\n        \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World/stargazers\",\n        \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World/statuses/{sha}\",\n        \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World/subscribers\",\n        \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World/subscription\",\n        \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World/tags\",\n        \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World/teams\",\n        \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\",\n        \"hooks_url\": \"http://api.github.com/repos/octocat/Hello-World/hooks\"\n      },\n      \"head_repository\": {\n        \"id\": 217723378,\n        \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMTc3MjMzNzg=\",\n        \"name\": \"octo-repo\",\n        \"full_name\": \"octo-org/octo-repo\",\n        \"private\": true,\n        \"owner\": {\n          \"login\": \"octocat\",\n          \"id\": 1,\n          \"node_id\": \"MDQ6VXNlcjE=\",\n          \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n          \"gravatar_id\": \"\",\n          \"url\": \"https://api.github.com/users/octocat\",\n          \"html_url\": \"https://github.com/octocat\",\n          \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n          \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n          \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n          \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n          \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n          \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n          \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n          \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n          \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n          \"type\": \"User\",\n          \"site_admin\": false\n        },\n        \"html_url\": \"https://github.com/octo-org/octo-repo\",\n        \"description\": null,\n        \"fork\": false,\n        \"url\": \"https://api.github.com/repos/octo-org/octo-repo\",\n        \"forks_url\": \"https://api.github.com/repos/octo-org/octo-repo/forks\",\n        \"keys_url\": \"https://api.github.com/repos/octo-org/octo-repo/keys{/key_id}\",\n        \"collaborators_url\": \"https://api.github.com/repos/octo-org/octo-repo/collaborators{/collaborator}\",\n        \"teams_url\": \"https://api.github.com/repos/octo-org/octo-repo/teams\",\n        \"hooks_url\": \"https://api.github.com/repos/octo-org/octo-repo/hooks\",\n        \"issue_events_url\": \"https://api.github.com/repos/octo-org/octo-repo/issues/events{/number}\",\n        \"events_url\": \"https://api.github.com/repos/octo-org/octo-repo/events\",\n        \"assignees_url\": \"https://api.github.com/repos/octo-org/octo-repo/assignees{/user}\",\n        \"branches_url\": \"https://api.github.com/repos/octo-org/octo-repo/branches{/branch}\",\n        \"tags_url\": \"https://api.github.com/repos/octo-org/octo-repo/tags\",\n        \"blobs_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/blobs{/sha}\",\n        \"git_tags_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/tags{/sha}\",\n        \"git_refs_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/refs{/sha}\",\n        \"trees_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/trees{/sha}\",\n        \"statuses_url\": \"https://api.github.com/repos/octo-org/octo-repo/statuses/{sha}\",\n        \"languages_url\": \"https://api.github.com/repos/octo-org/octo-repo/languages\",\n        \"stargazers_url\": \"https://api.github.com/repos/octo-org/octo-repo/stargazers\",\n        \"contributors_url\": \"https://api.github.com/repos/octo-org/octo-repo/contributors\",\n        \"subscribers_url\": \"https://api.github.com/repos/octo-org/octo-repo/subscribers\",\n        \"subscription_url\": \"https://api.github.com/repos/octo-org/octo-repo/subscription\",\n        \"commits_url\": \"https://api.github.com/repos/octo-org/octo-repo/commits{/sha}\",\n        \"git_commits_url\": \"https://api.github.com/repos/octo-org/octo-repo/git/commits{/sha}\",\n        \"comments_url\": \"https://api.github.com/repos/octo-org/octo-repo/comments{/number}\",\n        \"issue_comment_url\": \"https://api.github.com/repos/octo-org/octo-repo/issues/comments{/number}\",\n        \"contents_url\": \"https://api.github.com/repos/octo-org/octo-repo/contents/{+path}\",\n        \"compare_url\": \"https://api.github.com/repos/octo-org/octo-repo/compare/{base}...{head}\",\n        \"merges_url\": \"https://api.github.com/repos/octo-org/octo-repo/merges\",\n        \"archive_url\": \"https://api.github.com/repos/octo-org/octo-repo/{archive_format}{/ref}\",\n        \"downloads_url\": \"https://api.github.com/repos/octo-org/octo-repo/downloads\",\n        \"issues_url\": \"https://api.github.com/repos/octo-org/octo-repo/issues{/number}\",\n        \"pulls_url\": \"https://api.github.com/repos/octo-org/octo-repo/pulls{/number}\",\n        \"milestones_url\": \"https://api.github.com/repos/octo-org/octo-repo/milestones{/number}\",\n        \"notifications_url\": \"https://api.github.com/repos/octo-org/octo-repo/notifications{?since,all,participating}\",\n        \"labels_url\": \"https://api.github.com/repos/octo-org/octo-repo/labels{/name}\",\n        \"releases_url\": \"https://api.github.com/repos/octo-org/octo-repo/releases{/id}\",\n        \"deployments_url\": \"https://api.github.com/repos/octo-org/octo-repo/deployments\"\n      }\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "descriptionHTML": "

The ID of the workflow. You can also pass the workflow file name as a string.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/actions/workflows/42/timing", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/actions/workflows/42/timing
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing', {\n owner: 'octocat',\n repo: 'hello-world',\n workflow_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  workflow_id: 42\n})\n
" + } + ], + "summary": "Get workflow usage", + "description": "Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub AE-hosted runners. Usage is listed for each GitHub AE-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nYou can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-workflow-usage", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-workflow-usage" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "slug": "get-workflow-usage", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "workflows", + "subcategoryLabel": "Workflows", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub AE-hosted runners. Usage is listed for each GitHub AE-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".

\n

You can replace workflow_id with the workflow file name. For example, you could use main.yaml. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"billable\": {\n    \"UBUNTU\": {\n      \"total_ms\": 180000\n    },\n    \"MACOS\": {\n      \"total_ms\": 240000\n    },\n    \"WINDOWS\": {\n      \"total_ms\": 300000\n    }\n  }\n}\n
" + } + ] + }, { "verb": "get", "requestPath": "/repos/{owner}/{repo}/assignees", @@ -31418,6 +38867,1132 @@ "bodyParameters": [], "descriptionHTML": "

Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the check_suite webhook event with the action rerequested. When a check suite is rerequested, its status is reset to queued and the conclusion is cleared.

\n

To rerequest a check suite, your GitHub App must have the checks:read permission on a private repository or pull access to a public repository.

" }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/code-scanning/alerts", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "tool_name", + "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "The name of the tool used to generate the code scanning analysis." + }, + "descriptionHTML": "

The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either tool_name or tool_guid, but not both.

" + }, + { + "name": "tool_guid", + "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.", + "in": "query", + "required": false, + "schema": { + "nullable": true, + "type": "string", + "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." + }, + "descriptionHTML": "

The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either tool_guid or tool_name, but not both.

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "ref", + "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + }, + "descriptionHTML": "

The Git reference for the results you want to list. The ref for a branch can be formatted either as refs/heads/<branch name> or simply <branch name>. To reference a pull request use refs/pull/<number>/merge.

" + }, + { + "name": "state", + "description": "Set to `open`, `fixed`, or `dismissed` to list code scanning alerts in a specific state.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "State of a code scanning alert.", + "enum": [ + "open", + "dismissed", + "fixed" + ] + }, + "descriptionHTML": "

Set to open, fixed, or dismissed to list code scanning alerts in a specific state.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/code-scanning/alerts", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/code-scanning/alerts
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/code-scanning/alerts', {\n owner: 'octocat',\n repo: 'hello-world'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/code-scanning/alerts', {\n  owner: 'octocat',\n  repo: 'hello-world'\n})\n
" + } + ], + "summary": "List code scanning alerts for a repository", + "description": "Lists all open code scanning alerts for the default branch (usually `main`\nor `master`). You must use an access token with the `security_events` scope to use\nthis endpoint. GitHub Apps must have the `security_events` read permission to use\nthis endpoint.\n\nThe response includes a `most_recent_instance` object.\nThis provides details of the most recent instance of this alert\nfor the the default branch or for the specified Git reference\n(if you used `ref` in the request).", + "tags": [ + "code-scanning" + ], + "operationId": "code-scanning/list-alerts-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "code-scanning", + "subcategory": null + }, + "slug": "list-code-scanning-alerts-for-a-repository", + "category": "code-scanning", + "categoryLabel": "Code scanning", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists all open code scanning alerts for the default branch (usually main\nor master). You must use an access token with the security_events scope to use\nthis endpoint. GitHub Apps must have the security_events read permission to use\nthis endpoint.

\n

The response includes a most_recent_instance object.\nThis provides details of the most recent instance of this alert\nfor the the default branch or for the specified Git reference\n(if you used ref in the request).

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
[\n  {\n    \"number\": 4,\n    \"created_at\": \"2020-02-13T12:29:18Z\",\n    \"url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/4\",\n    \"html_url\": \"https://github.com/octocat/hello-world/code-scanning/4\",\n    \"state\": \"open\",\n    \"dismissed_by\": null,\n    \"dismissed_at\": null,\n    \"dismissed_reason\": null,\n    \"rule\": {\n      \"id\": \"js/zipslip\",\n      \"severity\": \"error\",\n      \"description\": \"Arbitrary file write during zip extraction\",\n      \"name\": \"js/zipslip\"\n    },\n    \"tool\": {\n      \"name\": \"CodeQL\",\n      \"guid\": null,\n      \"version\": \"2.4.0\"\n    },\n    \"most_recent_instance\": {\n      \"ref\": \"refs/heads/main\",\n      \"analysis_key\": \".github/workflows/codeql-analysis.yml:CodeQL-Build\",\n      \"environment\": \"{}\",\n      \"state\": \"open\",\n      \"commit_sha\": \"39406e42cb832f683daa691dd652a8dc36ee8930\",\n      \"message\": {\n        \"text\": \"This path depends on a user-provided value.\"\n      },\n      \"location\": {\n        \"path\": \"spec-main/api-session-spec.ts\",\n        \"start_line\": 917,\n        \"end_line\": 917,\n        \"start_column\": 7,\n        \"end_column\": 18\n      },\n      \"classifications\": [\n        \"test\"\n      ]\n    },\n    \"instances_url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/4/instances\"\n  },\n  {\n    \"number\": 3,\n    \"created_at\": \"2020-02-13T12:29:18Z\",\n    \"url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/3\",\n    \"html_url\": \"https://github.com/octocat/hello-world/code-scanning/3\",\n    \"state\": \"dismissed\",\n    \"dismissed_by\": {\n      \"login\": \"octocat\",\n      \"id\": 1,\n      \"node_id\": \"MDQ6VXNlcjE=\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"gravatar_id\": \"\",\n      \"url\": \"https://api.github.com/users/octocat\",\n      \"html_url\": \"https://github.com/octocat\",\n      \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n      \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n      \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n      \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n      \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n      \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n      \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n      \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n      \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n      \"type\": \"User\",\n      \"site_admin\": false\n    },\n    \"dismissed_at\": \"2020-02-14T12:29:18Z\",\n    \"dismissed_reason\": \"false positive\",\n    \"rule\": {\n      \"id\": \"js/zipslip\",\n      \"severity\": \"error\",\n      \"description\": \"Arbitrary file write during zip extraction\",\n      \"name\": \"js/zipslip\"\n    },\n    \"tool\": {\n      \"name\": \"CodeQL\",\n      \"guid\": null,\n      \"version\": \"2.4.0\"\n    },\n    \"most_recent_instance\": {\n      \"ref\": \"refs/heads/main\",\n      \"analysis_key\": \".github/workflows/codeql-analysis.yml:CodeQL-Build\",\n      \"environment\": \"{}\",\n      \"state\": \"open\",\n      \"commit_sha\": \"39406e42cb832f683daa691dd652a8dc36ee8930\",\n      \"message\": {\n        \"text\": \"This path depends on a user-provided value.\"\n      },\n      \"location\": {\n        \"path\": \"lib/ab12-gen.js\",\n        \"start_line\": 917,\n        \"end_line\": 917,\n        \"start_column\": 7,\n        \"end_column\": 18\n      },\n      \"classifications\": []\n    },\n    \"instances_url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/3/instances\"\n  }\n]\n
" + }, + { + "httpStatusCode": "403", + "httpStatusMessage": "Forbidden", + "description": "Response if github advanced security is not enabled for this repository" + }, + { + "httpStatusCode": "404", + "httpStatusMessage": "Not Found", + "description": "Resource not found" + }, + { + "httpStatusCode": "503", + "httpStatusMessage": "Service Unavailable", + "description": "Service unavailable" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "alert_number", + "in": "path", + "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", + "required": true, + "schema": { + "type": "integer", + "description": "The security alert number.", + "readOnly": true, + "nullable": false + }, + "descriptionHTML": "

The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the number field in the response from the GET /repos/{owner}/{repo}/code-scanning/alerts operation.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}', {\n owner: 'octocat',\n repo: 'hello-world',\n alert_number: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  alert_number: 42\n})\n
" + } + ], + "summary": "Get a code scanning alert", + "description": "Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.\n\n**Deprecation notice**:\nThe instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`.", + "tags": [ + "code-scanning" + ], + "operationId": "code-scanning/get-alert", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#get-a-code-scanning-alert" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "code-scanning", + "subcategory": null + }, + "slug": "get-a-code-scanning-alert", + "category": "code-scanning", + "categoryLabel": "Code scanning", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets a single code scanning alert. You must use an access token with the security_events scope to use this endpoint. GitHub Apps must have the security_events read permission to use this endpoint.

\n

Deprecation notice:\nThe instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by instances_url.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"number\": 42,\n  \"created_at\": \"2020-06-19T11:21:34Z\",\n  \"url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42\",\n  \"html_url\": \"https://github.com/octocat/hello-world/code-scanning/42\",\n  \"state\": \"dismissed\",\n  \"dismissed_by\": {\n    \"login\": \"octocat\",\n    \"id\": 54933897,\n    \"node_id\": \"MDQ6VXNlcjE=\",\n    \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n    \"gravatar_id\": \"\",\n    \"url\": \"https://api.github.com/users/octocat\",\n    \"html_url\": \"https://github.com/octocat\",\n    \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n    \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n    \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n    \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n    \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n    \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n    \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n    \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n    \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n    \"type\": \"User\",\n    \"site_admin\": false\n  },\n  \"dismissed_at\": \"2020-02-14T12:29:18Z\",\n  \"dismissed_reason\": \"false positive\",\n  \"rule\": {\n    \"id\": \"js/zipslip\",\n    \"severity\": \"error\",\n    \"description\": \"Arbitrary file write during zip extraction (\\\"Zip Slip\\\")\",\n    \"name\": \"js/zipslip\",\n    \"full_description\": \"Extracting files from a malicious zip archive without validating that the destination file path is within the destination directory can cause files outside the destination directory to be overwritten.\",\n    \"tags\": [\n      \"security\",\n      \"external/cwe/cwe-022\"\n    ],\n    \"help\": \"# Arbitrary file write during zip extraction (\\\"Zip Slip\\\")\\\\nExtracting files from a malicious zip archive without validating that the destination file path is within the destination directory can cause files outside the destination directory to be overwritten ...\"\n  },\n  \"tool\": {\n    \"name\": \"CodeQL\",\n    \"guid\": null,\n    \"version\": \"2.4.0\"\n  },\n  \"most_recent_instance\": {\n    \"ref\": \"refs/heads/main\",\n    \"analysis_key\": \".github/workflows/codeql-analysis.yml:CodeQL-Build\",\n    \"environment\": \"{}\",\n    \"state\": \"dismissed\",\n    \"commit_sha\": \"39406e42cb832f683daa691dd652a8dc36ee8930\",\n    \"message\": {\n      \"text\": \"This path depends on a user-provided value.\"\n    },\n    \"location\": {\n      \"path\": \"spec-main/api-session-spec.ts\",\n      \"start_line\": 917,\n      \"end_line\": 917,\n      \"start_column\": 7,\n      \"end_column\": 18\n    },\n    \"classifications\": [\n      \"test\"\n    ]\n  },\n  \"instances_url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42/instances\"\n}\n
" + }, + { + "httpStatusCode": "403", + "httpStatusMessage": "Forbidden", + "description": "Response if github advanced security is not enabled for this repository" + }, + { + "httpStatusCode": "404", + "httpStatusMessage": "Not Found", + "description": "Resource not found" + }, + { + "httpStatusCode": "503", + "httpStatusMessage": "Service Unavailable", + "description": "Service unavailable" + } + ] + }, + { + "verb": "patch", + "requestPath": "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "alert_number", + "in": "path", + "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", + "required": true, + "schema": { + "type": "integer", + "description": "The security alert number.", + "readOnly": true, + "nullable": false + }, + "descriptionHTML": "

The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the number field in the response from the GET /repos/{owner}/{repo}/code-scanning/alerts operation.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PATCH \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42 \\\n -d '{\"state\":\"state\"}'", + "html": "
curl \\\n  -X PATCH \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42 \\\n  -d '{\"state\":\"state\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}', {\n owner: 'octocat',\n repo: 'hello-world',\n alert_number: 42,\n state: 'state'\n})", + "html": "
await octokit.request('PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  alert_number: 42,\n  state: 'state'\n})\n
" + } + ], + "summary": "Update a code scanning alert", + "description": "Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint.", + "operationId": "code-scanning/update-alert", + "tags": [ + "code-scanning" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#update-a-code-scanning-alert" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "state": { + "description": "

Required. Sets the state of the code scanning alert. Can be one of open or dismissed. You must provide dismissed_reason when you set the state to dismissed.

", + "type": "string", + "enum": [ + "open", + "dismissed" + ], + "name": "state", + "in": "body", + "rawType": "string", + "rawDescription": "Sets the state of the code scanning alert. Can be one of `open` or `dismissed`. You must provide `dismissed_reason` when you set the state to `dismissed`.", + "childParamsGroups": [] + }, + "dismissed_reason": { + "type": "string or null", + "description": "

Required when the state is dismissed. The reason for dismissing or closing the alert. Can be one of: false positive, won't fix, and used in tests.

", + "nullable": true, + "oneOf": [ + { + "enum": [ + "false positive", + "won't fix", + "used in tests" + ] + }, + { + "enum": [ + null + ] + } + ], + "name": "dismissed_reason", + "in": "body", + "rawType": "string", + "rawDescription": "**Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`.", + "childParamsGroups": [] + } + }, + "required": [ + "state" + ] + }, + "example": { + "state": "dismissed", + "dismissed_reason": "false positive" + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "code-scanning" + }, + "slug": "update-a-code-scanning-alert", + "category": "code-scanning", + "categoryLabel": "Code scanning", + "notes": [], + "descriptionHTML": "

Updates the status of a single code scanning alert. You must use an access token with the security_events scope to use this endpoint. GitHub Apps must have the security_events write permission to use this endpoint.

", + "bodyParameters": [ + { + "description": "

Required. Sets the state of the code scanning alert. Can be one of open or dismissed. You must provide dismissed_reason when you set the state to dismissed.

", + "type": "string", + "enum": [ + "open", + "dismissed" + ], + "name": "state", + "in": "body", + "rawType": "string", + "rawDescription": "Sets the state of the code scanning alert. Can be one of `open` or `dismissed`. You must provide `dismissed_reason` when you set the state to `dismissed`.", + "childParamsGroups": [] + }, + { + "type": "string or null", + "description": "

Required when the state is dismissed. The reason for dismissing or closing the alert. Can be one of: false positive, won't fix, and used in tests.

", + "nullable": true, + "oneOf": [ + { + "enum": [ + "false positive", + "won't fix", + "used in tests" + ] + }, + { + "enum": [ + null + ] + } + ], + "name": "dismissed_reason", + "in": "body", + "rawType": "string", + "rawDescription": "**Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`.", + "childParamsGroups": [] + } + ], + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"number\": 42,\n  \"created_at\": \"2020-08-25T21:28:36Z\",\n  \"url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42\",\n  \"html_url\": \"https://github.com/octocat/hello-world/code-scanning/42\",\n  \"state\": \"dismissed\",\n  \"dismissed_by\": {\n    \"login\": \"octocat\",\n    \"id\": 1,\n    \"node_id\": \"MDQ6VXNlcjE=\",\n    \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n    \"gravatar_id\": \"\",\n    \"url\": \"https://api.github.com/users/octocat\",\n    \"html_url\": \"https://github.com/octocat\",\n    \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n    \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n    \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n    \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n    \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n    \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n    \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n    \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n    \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n    \"type\": \"User\",\n    \"site_admin\": false\n  },\n  \"dismissed_at\": \"2020-09-02T22:34:56Z\",\n  \"dismissed_reason\": \"false positive\",\n  \"rule\": {\n    \"id\": \"js/zipslip\",\n    \"severity\": \"error\",\n    \"description\": \"Arbitrary file write during zip extraction (\\\"Zip Slip\\\")\",\n    \"name\": \"js/zipslip\",\n    \"full_description\": \"Extracting files from a malicious zip archive without validating that the destination file path is within the destination directory can cause files outside the destination directory to be overwritten.\",\n    \"tags\": [\n      \"security\",\n      \"external/cwe/cwe-022\"\n    ],\n    \"help\": \"# Arbitrary file write during zip extraction (\\\"Zip Slip\\\")\\\\nExtracting files from a malicious zip archive without validating that the destination file path is within the destination directory can cause files outside the destination directory to be overwritten ...\"\n  },\n  \"tool\": {\n    \"name\": \"CodeQL\",\n    \"guid\": null,\n    \"version\": \"2.4.0\"\n  },\n  \"most_recent_instance\": {\n    \"ref\": \"refs/heads/main\",\n    \"analysis_key\": \".github/workflows/codeql-analysis.yml:CodeQL-Build\",\n    \"environment\": \"{}\",\n    \"state\": \"dismissed\",\n    \"commit_sha\": \"39406e42cb832f683daa691dd652a8dc36ee8930\",\n    \"message\": {\n      \"text\": \"This path depends on a user-provided value.\"\n    },\n    \"location\": {\n      \"path\": \"spec-main/api-session-spec.ts\",\n      \"start_line\": 917,\n      \"end_line\": 917,\n      \"start_column\": 7,\n      \"end_column\": 18\n    },\n    \"classifications\": [\n      \"test\"\n    ]\n  },\n  \"instances_url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42/instances\"\n}\n
" + }, + { + "httpStatusCode": "403", + "httpStatusMessage": "Forbidden", + "description": "Response if the repository is archived or if github advanced security is not enabled for this repository" + }, + { + "httpStatusCode": "404", + "httpStatusMessage": "Not Found", + "description": "Resource not found" + }, + { + "httpStatusCode": "503", + "httpStatusMessage": "Service Unavailable", + "description": "Service unavailable" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "alert_number", + "in": "path", + "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", + "required": true, + "schema": { + "type": "integer", + "description": "The security alert number.", + "readOnly": true, + "nullable": false + }, + "descriptionHTML": "

The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the number field in the response from the GET /repos/{owner}/{repo}/code-scanning/alerts operation.

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "ref", + "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + }, + "descriptionHTML": "

The Git reference for the results you want to list. The ref for a branch can be formatted either as refs/heads/<branch name> or simply <branch name>. To reference a pull request use refs/pull/<number>/merge.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42/instances", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42/instances
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances', {\n owner: 'octocat',\n repo: 'hello-world',\n alert_number: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  alert_number: 42\n})\n
" + } + ], + "summary": "List instances of a code scanning alert", + "description": "Lists all instances of the specified code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.", + "tags": [ + "code-scanning" + ], + "operationId": "code-scanning/list-alerts-instances", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "code-scanning", + "subcategory": null + }, + "slug": "list-instances-of-a-code-scanning-alert", + "category": "code-scanning", + "categoryLabel": "Code scanning", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists all instances of the specified code scanning alert. You must use an access token with the security_events scope to use this endpoint. GitHub Apps must have the security_events read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
[\n  {\n    \"ref\": \"refs/heads/main\",\n    \"analysis_key\": \".github/workflows/codeql-analysis.yml:CodeQL-Build\",\n    \"environment\": \"\",\n    \"state\": \"open\",\n    \"commit_sha\": \"39406e42cb832f683daa691dd652a8dc36ee8930\",\n    \"message\": {\n      \"text\": \"This path depends on a user-provided value.\"\n    },\n    \"location\": {\n      \"path\": \"lib/ab12-gen.js\",\n      \"start_line\": 917,\n      \"end_line\": 917,\n      \"start_column\": 7,\n      \"end_column\": 18\n    },\n    \"classifications\": [\n      \"library\"\n    ]\n  },\n  {\n    \"ref\": \"refs/pull/3740/merge\",\n    \"analysis_key\": \".github/workflows/codeql-analysis.yml:CodeQL-Build\",\n    \"environment\": \"\",\n    \"state\": \"fixed\",\n    \"commit_sha\": \"b09da05606e27f463a2b49287684b4ae777092f2\",\n    \"message\": {\n      \"text\": \"This suffix check is missing a length comparison to correctly handle lastIndexOf returning -1.\"\n    },\n    \"location\": {\n      \"path\": \"app/script.js\",\n      \"start_line\": 2,\n      \"end_line\": 2,\n      \"start_column\": 10,\n      \"end_column\": 50\n    },\n    \"classifications\": [\n      \"source\"\n    ]\n  }\n]\n
" + }, + { + "httpStatusCode": "403", + "httpStatusMessage": "Forbidden", + "description": "Response if github advanced security is not enabled for this repository" + }, + { + "httpStatusCode": "404", + "httpStatusMessage": "Not Found", + "description": "Resource not found" + }, + { + "httpStatusCode": "503", + "httpStatusMessage": "Service Unavailable", + "description": "Service unavailable" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/code-scanning/analyses", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "tool_name", + "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "The name of the tool used to generate the code scanning analysis." + }, + "descriptionHTML": "

The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either tool_name or tool_guid, but not both.

" + }, + { + "name": "tool_guid", + "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.", + "in": "query", + "required": false, + "schema": { + "nullable": true, + "type": "string", + "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." + }, + "descriptionHTML": "

The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either tool_guid or tool_name, but not both.

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "ref", + "in": "query", + "description": "The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`.", + "required": false, + "schema": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + }, + "descriptionHTML": "

The Git reference for the analyses you want to list. The ref for a branch can be formatted either as refs/heads/<branch name> or simply <branch name>. To reference a pull request use refs/pull/<number>/merge.

" + }, + { + "name": "sarif_id", + "in": "query", + "description": "Filter analyses belonging to the same SARIF upload.", + "required": false, + "schema": { + "type": "string", + "description": "An identifier for the upload.", + "example": "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53", + "nullable": false + }, + "descriptionHTML": "

Filter analyses belonging to the same SARIF upload.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/code-scanning/analyses", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/code-scanning/analyses
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/code-scanning/analyses', {\n owner: 'octocat',\n repo: 'hello-world'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/code-scanning/analyses', {\n  owner: 'octocat',\n  repo: 'hello-world'\n})\n
" + } + ], + "summary": "List code scanning analyses for a repository", + "description": "Lists the details of all code scanning analyses for a repository,\nstarting with the most recent.\nThe response is paginated and you can use the `page` and `per_page` parameters\nto list the analyses you're interested in.\nBy default 30 analyses are listed per page.\n\nThe `rules_count` field in the response give the number of rules\nthat were run in the analysis.\nFor very old analyses this data is not available,\nand `0` is returned in this field.\n\nYou must use an access token with the `security_events` scope to use this endpoint.\nGitHub Apps must have the `security_events` read permission to use this endpoint.\n\n**Deprecation notice**:\nThe `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field.", + "operationId": "code-scanning/list-recent-analyses", + "tags": [ + "code-scanning" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository" + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "code-scanning" + }, + "slug": "list-code-scanning-analyses-for-a-repository", + "category": "code-scanning", + "categoryLabel": "Code scanning", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists the details of all code scanning analyses for a repository,\nstarting with the most recent.\nThe response is paginated and you can use the page and per_page parameters\nto list the analyses you're interested in.\nBy default 30 analyses are listed per page.

\n

The rules_count field in the response give the number of rules\nthat were run in the analysis.\nFor very old analyses this data is not available,\nand 0 is returned in this field.

\n

You must use an access token with the security_events scope to use this endpoint.\nGitHub Apps must have the security_events read permission to use this endpoint.

\n

Deprecation notice:\nThe tool_name field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the tool field.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
[\n  {\n    \"ref\": \"refs/heads/main\",\n    \"commit_sha\": \"d99612c3e1f2970085cfbaeadf8f010ef69bad83\",\n    \"analysis_key\": \".github/workflows/codeql-analysis.yml:analyze\",\n    \"environment\": \"{\\\"language\\\":\\\"python\\\"}\",\n    \"error\": \"\",\n    \"created_at\": \"2020-08-27T15:05:21Z\",\n    \"results_count\": 17,\n    \"rules_count\": 49,\n    \"id\": 201,\n    \"url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/analyses/201\",\n    \"sarif_id\": \"6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53\",\n    \"tool\": {\n      \"name\": \"CodeQL\",\n      \"guid\": null,\n      \"version\": \"2.4.0\"\n    },\n    \"deletable\": true\n  },\n  {\n    \"ref\": \"refs/heads/my-branch\",\n    \"commit_sha\": \"c8cff6510d4d084fb1b4aa13b64b97ca12b07321\",\n    \"analysis_key\": \".github/workflows/shiftleft.yml:build\",\n    \"environment\": \"{}\",\n    \"error\": \"\",\n    \"created_at\": \"2020-08-31T22:46:44Z\",\n    \"results_count\": 17,\n    \"rules_count\": 32,\n    \"id\": 200,\n    \"url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/analyses/200\",\n    \"sarif_id\": \"8981cd8e-b078-4ac3-a3be-1dad7dbd0b582\",\n    \"tool\": {\n      \"name\": \"Python Security Analysis\",\n      \"guid\": null,\n      \"version\": \"1.2.0\"\n    },\n    \"deletable\": true\n  }\n]\n
" + }, + { + "httpStatusCode": "403", + "httpStatusMessage": "Forbidden", + "description": "Response if github advanced security is not enabled for this repository" + }, + { + "httpStatusCode": "404", + "httpStatusMessage": "Not Found", + "description": "Resource not found" + }, + { + "httpStatusCode": "503", + "httpStatusMessage": "Service Unavailable", + "description": "Service unavailable" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "analysis_id", + "in": "path", + "description": "The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation.", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "

The ID of the analysis, as returned from the GET /repos/{owner}/{repo}/code-scanning/analyses operation.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/code-scanning/analyses/42", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/code-scanning/analyses/42
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}', {\n owner: 'octocat',\n repo: 'hello-world',\n analysis_id: 42\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  analysis_id: 42\n})\n
" + } + ], + "summary": "Get a code scanning analysis for a repository", + "description": "Gets a specified code scanning analysis for a repository.\nYou must use an access token with the `security_events` scope to use this endpoint.\nGitHub Apps must have the `security_events` read permission to use this endpoint.\n\nThe default JSON response contains fields that describe the analysis.\nThis includes the Git reference and commit SHA to which the analysis relates,\nthe datetime of the analysis, the name of the code scanning tool,\nand the number of alerts.\n\nThe `rules_count` field in the default response give the number of rules\nthat were run in the analysis.\nFor very old analyses this data is not available,\nand `0` is returned in this field.\n\nIf you use the Accept header `application/sarif+json`,\nthe response contains the analysis data that was uploaded.\nThis is formatted as\n[SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html).\nFor an example response, see \"[Custom media type for code scanning](#custom-media-type-for-code-scanning).\"\n\n**Deprecation notice**:\nThe `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field.", + "operationId": "code-scanning/get-analysis", + "tags": [ + "code-scanning" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository" + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "code-scanning" + }, + "slug": "get-a-code-scanning-analysis-for-a-repository", + "category": "code-scanning", + "categoryLabel": "Code scanning", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets a specified code scanning analysis for a repository.\nYou must use an access token with the security_events scope to use this endpoint.\nGitHub Apps must have the security_events read permission to use this endpoint.

\n

The default JSON response contains fields that describe the analysis.\nThis includes the Git reference and commit SHA to which the analysis relates,\nthe datetime of the analysis, the name of the code scanning tool,\nand the number of alerts.

\n

The rules_count field in the default response give the number of rules\nthat were run in the analysis.\nFor very old analyses this data is not available,\nand 0 is returned in this field.

\n

If you use the Accept header application/sarif+json,\nthe response contains the analysis data that was uploaded.\nThis is formatted as\nSARIF version 2.1.0.\nFor an example response, see \"Custom media type for code scanning.\"

\n

Deprecation notice:\nThe tool_name field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the tool field.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"ref\": \"refs/heads/main\",\n  \"commit_sha\": \"c18c69115654ff0166991962832dc2bd7756e655\",\n  \"analysis_key\": \".github/workflows/codeql-analysis.yml:analyze\",\n  \"environment\": \"{\\\"language\\\":\\\"javascript\\\"}\",\n  \"error\": \"\",\n  \"created_at\": \"2021-01-13T11:55:49Z\",\n  \"results_count\": 3,\n  \"rules_count\": 67,\n  \"id\": 3602840,\n  \"url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/analyses/201\",\n  \"sarif_id\": \"47177e22-5596-11eb-80a1-c1e54ef945c6\",\n  \"tool\": {\n    \"name\": \"CodeQL\",\n    \"guid\": null,\n    \"version\": \"2.4.0\"\n  },\n  \"deletable\": true\n}\n
" + }, + { + "httpStatusCode": "403", + "httpStatusMessage": "Forbidden", + "description": "Response if github advanced security is not enabled for this repository" + }, + { + "httpStatusCode": "404", + "httpStatusMessage": "Not Found", + "description": "Resource not found" + }, + { + "httpStatusCode": "503", + "httpStatusMessage": "Service Unavailable", + "description": "Service unavailable" + } + ] + }, + { + "verb": "post", + "requestPath": "/repos/{owner}/{repo}/code-scanning/sarifs", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X POST \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/code-scanning/sarifs \\\n -d '{\"commit_sha\":\"commit_sha\",\"ref\":\"ref\",\"sarif\":\"sarif\"}'", + "html": "
curl \\\n  -X POST \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/code-scanning/sarifs \\\n  -d '{\"commit_sha\":\"commit_sha\",\"ref\":\"ref\",\"sarif\":\"sarif\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('POST /repos/{owner}/{repo}/code-scanning/sarifs', {\n owner: 'octocat',\n repo: 'hello-world',\n commit_sha: 'commit_sha',\n ref: 'ref',\n sarif: 'sarif'\n})", + "html": "
await octokit.request('POST /repos/{owner}/{repo}/code-scanning/sarifs', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  commit_sha: 'commit_sha',\n  ref: 'ref',\n  sarif: 'sarif'\n})\n
" + } + ], + "summary": "Upload an analysis as SARIF data", + "description": "Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint.\n\nYou must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example:\n\n```\ngzip -c analysis-data.sarif | base64\n```\n\nSARIF upload supports a maximum of 1000 results per analysis run. Any results over this limit are ignored. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries.\n\nThe `202 Accepted`, response includes an `id` value.\nYou can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint.\nFor more information, see \"[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload).\"", + "operationId": "code-scanning/upload-sarif", + "tags": [ + "code-scanning" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#upload-an-analysis-as-sarif-data" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "commit_sha": { + "description": "

Required. The SHA of the commit to which the analysis you are uploading relates.

", + "type": "string", + "minLength": 40, + "maxLength": 40, + "pattern": "^[0-9a-fA-F]+$", + "name": "commit_sha", + "in": "body", + "rawType": "string", + "rawDescription": "The SHA of the commit to which the analysis you are uploading relates.", + "childParamsGroups": [] + }, + "ref": { + "type": "string", + "description": "

Required. The full Git reference, formatted as refs/heads/<branch name>.

", + "name": "ref", + "in": "body", + "rawType": "string", + "rawDescription": "The full Git reference, formatted as `refs/heads/`.", + "childParamsGroups": [] + }, + "sarif": { + "description": "

Required. A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using gzip and then translate the contents of the file into a Base64 encoding string. For more information, see \"SARIF support for code scanning.\"

", + "type": "string", + "name": "sarif", + "in": "body", + "rawType": "string", + "rawDescription": "A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see \"[SARIF support for code scanning](https://docs.github.com/github-ae@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning).\"", + "childParamsGroups": [] + }, + "checkout_uri": { + "description": "

The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.

", + "example": "file:///github/workspace/", + "type": "string", + "format": "uri", + "name": "checkout_uri", + "in": "body", + "rawType": "string", + "rawDescription": "The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.", + "childParamsGroups": [] + }, + "started_at": { + "description": "

The time that the analysis run began. This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.

", + "format": "date", + "type": "string", + "name": "started_at", + "in": "body", + "rawType": "string", + "rawDescription": "The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "childParamsGroups": [] + }, + "tool_name": { + "description": "

The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to \"API\". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the tool_guid parameter of operations such as GET /repos/{owner}/{repo}/code-scanning/alerts.

", + "type": "string", + "name": "tool_name", + "in": "body", + "rawType": "string", + "rawDescription": "The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to \"API\". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`.", + "childParamsGroups": [] + } + }, + "required": [ + "commit_sha", + "ref", + "sarif" + ] + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "code-scanning" + }, + "slug": "upload-an-analysis-as-sarif-data", + "category": "code-scanning", + "categoryLabel": "Code scanning", + "notes": [], + "descriptionHTML": "

Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the security_events scope to use this endpoint. GitHub Apps must have the security_events write permission to use this endpoint.

\n

You must compress the SARIF-formatted analysis data that you want to upload, using gzip, and then encode it as a Base64 format string. For example:

\n
gzip -c analysis-data.sarif | base64\n
\n

SARIF upload supports a maximum of 1000 results per analysis run. Any results over this limit are ignored. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries.

\n

The 202 Accepted, response includes an id value.\nYou can use this ID to check the status of the upload by using this for the /sarifs/{sarif_id} endpoint.\nFor more information, see \"Get information about a SARIF upload.\"

", + "bodyParameters": [ + { + "description": "

Required. The SHA of the commit to which the analysis you are uploading relates.

", + "type": "string", + "minLength": 40, + "maxLength": 40, + "pattern": "^[0-9a-fA-F]+$", + "name": "commit_sha", + "in": "body", + "rawType": "string", + "rawDescription": "The SHA of the commit to which the analysis you are uploading relates.", + "childParamsGroups": [] + }, + { + "type": "string", + "description": "

Required. The full Git reference, formatted as refs/heads/<branch name>.

", + "name": "ref", + "in": "body", + "rawType": "string", + "rawDescription": "The full Git reference, formatted as `refs/heads/`.", + "childParamsGroups": [] + }, + { + "description": "

Required. A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using gzip and then translate the contents of the file into a Base64 encoding string. For more information, see \"SARIF support for code scanning.\"

", + "type": "string", + "name": "sarif", + "in": "body", + "rawType": "string", + "rawDescription": "A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see \"[SARIF support for code scanning](https://docs.github.com/github-ae@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning).\"", + "childParamsGroups": [] + }, + { + "description": "

The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.

", + "example": "file:///github/workspace/", + "type": "string", + "format": "uri", + "name": "checkout_uri", + "in": "body", + "rawType": "string", + "rawDescription": "The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.", + "childParamsGroups": [] + }, + { + "description": "

The time that the analysis run began. This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.

", + "format": "date", + "type": "string", + "name": "started_at", + "in": "body", + "rawType": "string", + "rawDescription": "The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "childParamsGroups": [] + }, + { + "description": "

The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to \"API\". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the tool_guid parameter of operations such as GET /repos/{owner}/{repo}/code-scanning/alerts.

", + "type": "string", + "name": "tool_name", + "in": "body", + "rawType": "string", + "rawDescription": "The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to \"API\". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`.", + "childParamsGroups": [] + } + ], + "responses": [ + { + "httpStatusCode": "202", + "httpStatusMessage": "Accepted", + "description": "Default response", + "payload": "
{\n  \"id\": \"47177e22-5596-11eb-80a1-c1e54ef945c6\",\n  \"url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/sarifs/47177e22-5596-11eb-80a1-c1e54ef945c6\"\n}\n
" + }, + { + "httpStatusCode": "400", + "httpStatusMessage": "Bad Request", + "description": "Response if the sarif field is invalid" + }, + { + "httpStatusCode": "403", + "httpStatusMessage": "Forbidden", + "description": "Response if the repository is archived or if github advanced security is not enabled for this repository" + }, + { + "httpStatusCode": "404", + "httpStatusMessage": "Not Found", + "description": "Resource not found" + }, + { + "httpStatusCode": "413", + "httpStatusMessage": "Payload Too Large", + "description": "Response if the sarif field is too large" + }, + { + "httpStatusCode": "503", + "httpStatusMessage": "Service Unavailable", + "description": "Service unavailable" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "sarif_id", + "description": "The SARIF ID obtained after uploading.", + "in": "path", + "schema": { + "type": "string" + }, + "required": true, + "descriptionHTML": "

The SARIF ID obtained after uploading.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/code-scanning/sarifs/SARIF_ID", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/code-scanning/sarifs/SARIF_ID
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}', {\n owner: 'octocat',\n repo: 'hello-world',\n sarif_id: 'sarif_id'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  sarif_id: 'sarif_id'\n})\n
" + } + ], + "summary": "Get information about a SARIF upload", + "description": "Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see \"[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository).\" You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.", + "operationId": "code-scanning/get-sarif", + "tags": [ + "code-scanning" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#get-information-about-a-sarif-upload" + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "code-scanning" + }, + "slug": "get-information-about-a-sarif-upload", + "category": "code-scanning", + "categoryLabel": "Code scanning", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see \"Get a code scanning analysis for a repository.\" You must use an access token with the security_events scope to use this endpoint. GitHub Apps must have the security_events read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"processing_status\": \"complete\",\n  \"analyses_url\": \"https://api.github.com/repos/octocat/hello-world/code-scanning/analyses?sarif_id=47177e22-5596-11eb-80a1-c1e54ef945c6\"\n}\n
" + }, + { + "httpStatusCode": "403", + "httpStatusMessage": "Forbidden", + "description": "Response if github advanced security is not enabled for this repository" + }, + { + "httpStatusCode": "404", + "httpStatusMessage": "Not Found", + "description": "Response if the sarif id does not match any upload" + }, + { + "httpStatusCode": "503", + "httpStatusMessage": "Service Unavailable", + "description": "Service unavailable" + } + ] + }, { "verb": "get", "requestPath": "/repos/{owner}/{repo}/collaborators", @@ -36375,6 +44950,612 @@ } ] }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/environments", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/environments", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/environments
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/environments', {\n owner: 'octocat',\n repo: 'hello-world'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/environments', {\n  owner: 'octocat',\n  repo: 'hello-world'\n})\n
" + } + ], + "summary": "Get all environments", + "description": "Get all environments for a repository.\n\nAnyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "repos" + ], + "operationId": "repos/get-all-environments", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/repos#get-all-environments" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "environments" + }, + "slug": "get-all-environments", + "category": "repos", + "categoryLabel": "Repos", + "subcategory": "environments", + "subcategoryLabel": "Environments", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Get all environments for a repository.

\n

Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 1,\n  \"environments\": [\n    {\n      \"id\": 161088068,\n      \"node_id\": \"MDExOkVudmlyb25tZW50MTYxMDg4MDY4\",\n      \"name\": \"staging\",\n      \"url\": \"https://api.github.com/repos/github/hello-world/environments/staging\",\n      \"html_url\": \"https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging\",\n      \"created_at\": \"2020-11-23T22:00:40Z\",\n      \"updated_at\": \"2020-11-23T22:00:40Z\",\n      \"protection_rules\": [\n        {\n          \"id\": 3736,\n          \"node_id\": \"MDQ6R2F0ZTM3MzY=\",\n          \"type\": \"wait_timer\",\n          \"wait_timer\": 30\n        },\n        {\n          \"id\": 3755,\n          \"node_id\": \"MDQ6R2F0ZTM3NTU=\",\n          \"type\": \"required_reviewers\",\n          \"reviewers\": [\n            {\n              \"type\": \"User\",\n              \"reviewer\": {\n                \"login\": \"octocat\",\n                \"id\": 1,\n                \"node_id\": \"MDQ6VXNlcjE=\",\n                \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n                \"gravatar_id\": \"\",\n                \"url\": \"https://api.github.com/users/octocat\",\n                \"html_url\": \"https://github.com/octocat\",\n                \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n                \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n                \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n                \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n                \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n                \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n                \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n                \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n                \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n                \"type\": \"User\",\n                \"site_admin\": false\n              }\n            },\n            {\n              \"type\": \"Team\",\n              \"reviewer\": {\n                \"id\": 1,\n                \"node_id\": \"MDQ6VGVhbTE=\",\n                \"url\": \"https://api.github.com/teams/1\",\n                \"html_url\": \"https://github.com/orgs/github/teams/justice-league\",\n                \"name\": \"Justice League\",\n                \"slug\": \"justice-league\",\n                \"description\": \"A great team.\",\n                \"privacy\": \"closed\",\n                \"permission\": \"admin\",\n                \"members_url\": \"https://api.github.com/teams/1/members{/member}\",\n                \"repositories_url\": \"https://api.github.com/teams/1/repos\"\n              }\n            }\n          ]\n        },\n        {\n          \"id\": 3756,\n          \"node_id\": \"MDQ6R2F0ZTM3NTY=\",\n          \"type\": \"branch_policy\"\n        }\n      ],\n      \"deployment_branch_policy\": {\n        \"protected_branches\": false,\n        \"custom_branch_policies\": true\n      }\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repos/{owner}/{repo}/environments/{environment_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + }, + "descriptionHTML": "

The name of the environment

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/environments/ENVIRONMENT_NAME", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/environments/ENVIRONMENT_NAME
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repos/{owner}/{repo}/environments/{environment_name}', {\n owner: 'octocat',\n repo: 'hello-world',\n environment_name: 'environment_name'\n})", + "html": "
await octokit.request('GET /repos/{owner}/{repo}/environments/{environment_name}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  environment_name: 'environment_name'\n})\n
" + } + ], + "summary": "Get an environment", + "description": "Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "repos" + ], + "operationId": "repos/get-environment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/repos#get-an-environment" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "environments" + }, + "slug": "get-an-environment", + "category": "repos", + "categoryLabel": "Repos", + "subcategory": "environments", + "subcategoryLabel": "Environments", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"id\": 161088068,\n  \"node_id\": \"MDExOkVudmlyb25tZW50MTYxMDg4MDY4\",\n  \"name\": \"staging\",\n  \"url\": \"https://api.github.com/repos/github/hello-world/environments/staging\",\n  \"html_url\": \"https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging\",\n  \"created_at\": \"2020-11-23T22:00:40Z\",\n  \"updated_at\": \"2020-11-23T22:00:40Z\",\n  \"protection_rules\": [\n    {\n      \"id\": 3736,\n      \"node_id\": \"MDQ6R2F0ZTM3MzY=\",\n      \"type\": \"wait_timer\",\n      \"wait_timer\": 30\n    },\n    {\n      \"id\": 3755,\n      \"node_id\": \"MDQ6R2F0ZTM3NTU=\",\n      \"type\": \"required_reviewers\",\n      \"reviewers\": [\n        {\n          \"type\": \"User\",\n          \"reviewer\": {\n            \"login\": \"octocat\",\n            \"id\": 1,\n            \"node_id\": \"MDQ6VXNlcjE=\",\n            \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n            \"gravatar_id\": \"\",\n            \"url\": \"https://api.github.com/users/octocat\",\n            \"html_url\": \"https://github.com/octocat\",\n            \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n            \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n            \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n            \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n            \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n            \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n            \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n            \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n            \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n            \"type\": \"User\",\n            \"site_admin\": false\n          }\n        },\n        {\n          \"type\": \"Team\",\n          \"reviewer\": {\n            \"id\": 1,\n            \"node_id\": \"MDQ6VGVhbTE=\",\n            \"url\": \"https://api.github.com/teams/1\",\n            \"html_url\": \"https://github.com/orgs/github/teams/justice-league\",\n            \"name\": \"Justice League\",\n            \"slug\": \"justice-league\",\n            \"description\": \"A great team.\",\n            \"privacy\": \"closed\",\n            \"permission\": \"admin\",\n            \"members_url\": \"https://api.github.com/teams/1/members{/member}\",\n            \"repositories_url\": \"https://api.github.com/teams/1/repos\"\n          }\n        }\n      ]\n    },\n    {\n      \"id\": 3756,\n      \"node_id\": \"MDQ6R2F0ZTM3NTY=\",\n      \"type\": \"branch_policy\"\n    }\n  ],\n  \"deployment_branch_policy\": {\n    \"protected_branches\": false,\n    \"custom_branch_policies\": true\n  }\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/repos/{owner}/{repo}/environments/{environment_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + }, + "descriptionHTML": "

The name of the environment

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/environments/ENVIRONMENT_NAME \\\n -d '{\"wait_timer\":42}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/environments/ENVIRONMENT_NAME \\\n  -d '{\"wait_timer\":42}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /repos/{owner}/{repo}/environments/{environment_name}', {\n owner: 'octocat',\n repo: 'hello-world',\n environment_name: 'environment_name',\n wait_timer: 42\n})", + "html": "
await octokit.request('PUT /repos/{owner}/{repo}/environments/{environment_name}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  environment_name: 'environment_name',\n  wait_timer: 42\n})\n
" + } + ], + "summary": "Create or update an environment", + "description": "Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see \"[Environments](/actions/reference/environments#environment-protection-rules).\"\n\n**Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see \"[Environments](/actions/reference/environments#deployment-branches).\"\n\n**Note:** To create or update secrets for an environment, see \"[Secrets](/rest/reference/actions#secrets).\"\n\nYou must authenticate using an access token with the repo scope to use this endpoint.", + "tags": [ + "repos" + ], + "operationId": "repos/create-or-update-environment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/repos#create-or-update-an-environment" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "wait_timer": { + "type": "integer", + "example": 30, + "description": "

The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days).

", + "name": "wait_timer", + "in": "body", + "rawType": "integer", + "rawDescription": "The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days).", + "childParamsGroups": [] + }, + "reviewers": { + "type": "array of objects", + "description": "

The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.

", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "

The type of reviewer. Must be one of: User or Team

", + "enum": [ + "User", + "Team" + ], + "example": "User", + "name": "type", + "in": "body", + "rawType": "string", + "rawDescription": "The type of reviewer. Must be one of: `User` or `Team`", + "childParamsGroups": [] + }, + "id": { + "type": "integer", + "description": "

The id of the user or team who can review the deployment

", + "example": 4532992, + "name": "id", + "in": "body", + "rawType": "integer", + "rawDescription": "The id of the user or team who can review the deployment", + "childParamsGroups": [] + } + } + }, + "name": "reviewers", + "in": "body", + "rawType": "array", + "rawDescription": "The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.", + "childParamsGroups": [ + { + "parentName": "reviewers", + "parentType": "items", + "id": "reviewers-items", + "params": [ + { + "type": "string", + "description": "

The type of reviewer. Must be one of: User or Team

", + "enum": [ + "User", + "Team" + ], + "example": "User", + "name": "type", + "in": "body", + "rawType": "string", + "rawDescription": "The type of reviewer. Must be one of: `User` or `Team`", + "childParamsGroups": [] + }, + { + "type": "integer", + "description": "

The id of the user or team who can review the deployment

", + "example": 4532992, + "name": "id", + "in": "body", + "rawType": "integer", + "rawDescription": "The id of the user or team who can review the deployment", + "childParamsGroups": [] + } + ] + } + ] + }, + "deployment_branch_policy": { + "type": "object or null", + "description": "

The type of deployment branch policy for this environment. To allow all branches to deploy, set to null.

", + "properties": { + "protected_branches": { + "type": "boolean", + "description": "

Required. Whether only branches with branch protection rules can deploy to this environment. If protected_branches is true, custom_branch_policies must be false; if protected_branches is false, custom_branch_policies must be true.

", + "name": "protected_branches", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`.", + "childParamsGroups": [] + }, + "custom_branch_policies": { + "type": "boolean", + "description": "

Required. Whether only branches that match the specified name patterns can deploy to this environment. If custom_branch_policies is true, protected_branches must be false; if custom_branch_policies is false, protected_branches must be true.

", + "name": "custom_branch_policies", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`.", + "childParamsGroups": [] + } + }, + "nullable": true, + "required": [ + "protected_branches", + "custom_branch_policies" + ], + "name": "deployment_branch_policy", + "in": "body", + "rawType": "object", + "rawDescription": "The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`.", + "childParamsGroups": [ + { + "parentName": "deployment_branch_policy", + "parentType": "object", + "id": "deployment_branch_policy-object", + "params": [ + { + "type": "boolean", + "description": "

Required. Whether only branches with branch protection rules can deploy to this environment. If protected_branches is true, custom_branch_policies must be false; if protected_branches is false, custom_branch_policies must be true.

", + "name": "protected_branches", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`.", + "childParamsGroups": [] + }, + { + "type": "boolean", + "description": "

Required. Whether only branches that match the specified name patterns can deploy to this environment. If custom_branch_policies is true, protected_branches must be false; if custom_branch_policies is false, protected_branches must be true.

", + "name": "custom_branch_policies", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`.", + "childParamsGroups": [] + } + ] + } + ] + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "environments" + }, + "slug": "create-or-update-an-environment", + "category": "repos", + "categoryLabel": "Repos", + "subcategory": "environments", + "subcategoryLabel": "Environments", + "notes": [], + "descriptionHTML": "

Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see \"Environments.\"

\n

Note: Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see \"Environments.\"

\n

Note: To create or update secrets for an environment, see \"Secrets.\"

\n

You must authenticate using an access token with the repo scope to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"id\": 161088068,\n  \"node_id\": \"MDExOkVudmlyb25tZW50MTYxMDg4MDY4\",\n  \"name\": \"staging\",\n  \"url\": \"https://api.github.com/repos/github/hello-world/environments/staging\",\n  \"html_url\": \"https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging\",\n  \"created_at\": \"2020-11-23T22:00:40Z\",\n  \"updated_at\": \"2020-11-23T22:00:40Z\",\n  \"protection_rules\": [\n    {\n      \"id\": 3736,\n      \"node_id\": \"MDQ6R2F0ZTM3MzY=\",\n      \"type\": \"wait_timer\",\n      \"wait_timer\": 30\n    },\n    {\n      \"id\": 3755,\n      \"node_id\": \"MDQ6R2F0ZTM3NTU=\",\n      \"type\": \"required_reviewers\",\n      \"reviewers\": [\n        {\n          \"type\": \"User\",\n          \"reviewer\": {\n            \"login\": \"octocat\",\n            \"id\": 1,\n            \"node_id\": \"MDQ6VXNlcjE=\",\n            \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n            \"gravatar_id\": \"\",\n            \"url\": \"https://api.github.com/users/octocat\",\n            \"html_url\": \"https://github.com/octocat\",\n            \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n            \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n            \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n            \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n            \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n            \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n            \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n            \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n            \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n            \"type\": \"User\",\n            \"site_admin\": false\n          }\n        },\n        {\n          \"type\": \"Team\",\n          \"reviewer\": {\n            \"id\": 1,\n            \"node_id\": \"MDQ6VGVhbTE=\",\n            \"url\": \"https://api.github.com/teams/1\",\n            \"html_url\": \"https://github.com/orgs/github/teams/justice-league\",\n            \"name\": \"Justice League\",\n            \"slug\": \"justice-league\",\n            \"description\": \"A great team.\",\n            \"privacy\": \"closed\",\n            \"permission\": \"admin\",\n            \"members_url\": \"https://api.github.com/teams/1/members{/member}\",\n            \"repositories_url\": \"https://api.github.com/teams/1/repos\"\n          }\n        }\n      ]\n    },\n    {\n      \"id\": 3756,\n      \"node_id\": \"MDQ6R2F0ZTM3NTY=\",\n      \"type\": \"branch_policy\"\n    }\n  ],\n  \"deployment_branch_policy\": {\n    \"protected_branches\": false,\n    \"custom_branch_policies\": true\n  }\n}\n
" + }, + { + "httpStatusCode": "422", + "httpStatusMessage": "Unprocessable Entity", + "description": "Validation error when the environment name is invalid or when protected branches and custom branch policies in deployment branch policy are set to the same value" + } + ], + "bodyParameters": [ + { + "type": "integer", + "example": 30, + "description": "

The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days).

", + "name": "wait_timer", + "in": "body", + "rawType": "integer", + "rawDescription": "The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days).", + "childParamsGroups": [] + }, + { + "type": "array of objects", + "description": "

The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.

", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "

The type of reviewer. Must be one of: User or Team

", + "enum": [ + "User", + "Team" + ], + "example": "User", + "name": "type", + "in": "body", + "rawType": "string", + "rawDescription": "The type of reviewer. Must be one of: `User` or `Team`", + "childParamsGroups": [] + }, + "id": { + "type": "integer", + "description": "

The id of the user or team who can review the deployment

", + "example": 4532992, + "name": "id", + "in": "body", + "rawType": "integer", + "rawDescription": "The id of the user or team who can review the deployment", + "childParamsGroups": [] + } + } + }, + "name": "reviewers", + "in": "body", + "rawType": "array", + "rawDescription": "The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.", + "childParamsGroups": [ + { + "parentName": "reviewers", + "parentType": "items", + "id": "reviewers-items", + "params": [ + { + "type": "string", + "description": "

The type of reviewer. Must be one of: User or Team

", + "enum": [ + "User", + "Team" + ], + "example": "User", + "name": "type", + "in": "body", + "rawType": "string", + "rawDescription": "The type of reviewer. Must be one of: `User` or `Team`", + "childParamsGroups": [] + }, + { + "type": "integer", + "description": "

The id of the user or team who can review the deployment

", + "example": 4532992, + "name": "id", + "in": "body", + "rawType": "integer", + "rawDescription": "The id of the user or team who can review the deployment", + "childParamsGroups": [] + } + ] + } + ] + }, + { + "type": "object or null", + "description": "

The type of deployment branch policy for this environment. To allow all branches to deploy, set to null.

", + "properties": { + "protected_branches": { + "type": "boolean", + "description": "

Required. Whether only branches with branch protection rules can deploy to this environment. If protected_branches is true, custom_branch_policies must be false; if protected_branches is false, custom_branch_policies must be true.

", + "name": "protected_branches", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`.", + "childParamsGroups": [] + }, + "custom_branch_policies": { + "type": "boolean", + "description": "

Required. Whether only branches that match the specified name patterns can deploy to this environment. If custom_branch_policies is true, protected_branches must be false; if custom_branch_policies is false, protected_branches must be true.

", + "name": "custom_branch_policies", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`.", + "childParamsGroups": [] + } + }, + "nullable": true, + "required": [ + "protected_branches", + "custom_branch_policies" + ], + "name": "deployment_branch_policy", + "in": "body", + "rawType": "object", + "rawDescription": "The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`.", + "childParamsGroups": [ + { + "parentName": "deployment_branch_policy", + "parentType": "object", + "id": "deployment_branch_policy-object", + "params": [ + { + "type": "boolean", + "description": "

Required. Whether only branches with branch protection rules can deploy to this environment. If protected_branches is true, custom_branch_policies must be false; if protected_branches is false, custom_branch_policies must be true.

", + "name": "protected_branches", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`.", + "childParamsGroups": [] + }, + { + "type": "boolean", + "description": "

Required. Whether only branches that match the specified name patterns can deploy to this environment. If custom_branch_policies is true, protected_branches must be false; if custom_branch_policies is false, protected_branches must be true.

", + "name": "custom_branch_policies", + "in": "body", + "rawType": "boolean", + "rawDescription": "Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`.", + "childParamsGroups": [] + } + ] + } + ] + } + ] + }, + { + "verb": "delete", + "requestPath": "/repos/{owner}/{repo}/environments/{environment_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "" + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + }, + "descriptionHTML": "

The name of the environment

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repos/octocat/hello-world/environments/ENVIRONMENT_NAME", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repos/octocat/hello-world/environments/ENVIRONMENT_NAME
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /repos/{owner}/{repo}/environments/{environment_name}', {\n owner: 'octocat',\n repo: 'hello-world',\n environment_name: 'environment_name'\n})", + "html": "
await octokit.request('DELETE /repos/{owner}/{repo}/environments/{environment_name}', {\n  owner: 'octocat',\n  repo: 'hello-world',\n  environment_name: 'environment_name'\n})\n
" + } + ], + "summary": "Delete an environment", + "description": "You must authenticate using an access token with the repo scope to use this endpoint.", + "tags": [ + "repos" + ], + "operationId": "repos/delete-an-environment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/repos#delete-an-environment" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "environments" + }, + "slug": "delete-an-environment", + "category": "repos", + "categoryLabel": "Repos", + "subcategory": "environments", + "subcategoryLabel": "Environments", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

You must authenticate using an access token with the repo scope to use this endpoint.

" + }, { "verb": "get", "requestPath": "/repos/{owner}/{repo}/events", @@ -56491,6 +65672,466 @@ } ] }, + { + "verb": "get", + "requestPath": "/repositories/{repository_id}/environments/{environment_name}/secrets", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "" + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + }, + "descriptionHTML": "

The name of the environment

" + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + }, + "descriptionHTML": "

Results per page (max 100).

" + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + }, + "descriptionHTML": "

Page number of the results to fetch.

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repositories/42/environments/ENVIRONMENT_NAME/secrets", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repositories/42/environments/ENVIRONMENT_NAME/secrets
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repositories/{repository_id}/environments/{environment_name}/secrets', {\n repository_id: 42,\n environment_name: 'environment_name'\n})", + "html": "
await octokit.request('GET /repositories/{repository_id}/environments/{environment_name}/secrets', {\n  repository_id: 42,\n  environment_name: 'environment_name'\n})\n
" + } + ], + "summary": "List environment secrets", + "description": "Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-environment-secrets", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-environment-secrets" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "list-environment-secrets", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the secrets repository permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"total_count\": 2,\n  \"secrets\": [\n    {\n      \"name\": \"GH_TOKEN\",\n      \"created_at\": \"2019-08-10T14:59:22Z\",\n      \"updated_at\": \"2020-01-10T14:59:22Z\"\n    },\n    {\n      \"name\": \"GIST_ID\",\n      \"created_at\": \"2020-01-10T10:59:22Z\",\n      \"updated_at\": \"2020-01-11T11:59:22Z\"\n    }\n  ]\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "" + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + }, + "descriptionHTML": "

The name of the environment

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repositories/42/environments/ENVIRONMENT_NAME/secrets/public-key", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repositories/42/environments/ENVIRONMENT_NAME/secrets/public-key
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key', {\n repository_id: 42,\n environment_name: 'environment_name'\n})", + "html": "
await octokit.request('GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key', {\n  repository_id: 42,\n  environment_name: 'environment_name'\n})\n
" + } + ], + "summary": "Get an environment public key", + "description": "Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-environment-public-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-environment-public-key" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "get-an-environment-public-key", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the secrets repository permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"key_id\": \"012345678912345678\",\n  \"key\": \"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234\"\n}\n
" + } + ] + }, + { + "verb": "get", + "requestPath": "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "" + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + }, + "descriptionHTML": "

The name of the environment

" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repositories/42/environments/ENVIRONMENT_NAME/secrets/SECRET_NAME", + "html": "
curl \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repositories/42/environments/ENVIRONMENT_NAME/secrets/SECRET_NAME
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}', {\n repository_id: 42,\n environment_name: 'environment_name',\n secret_name: 'secret_name'\n})", + "html": "
await octokit.request('GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}', {\n  repository_id: 42,\n  environment_name: 'environment_name',\n  secret_name: 'secret_name'\n})\n
" + } + ], + "summary": "Get an environment secret", + "description": "Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-environment-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-environment-secret" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "get-an-environment-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "bodyParameters": [], + "descriptionHTML": "

Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the secrets repository permission to use this endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Default response", + "payload": "
{\n  \"name\": \"GH_TOKEN\",\n  \"created_at\": \"2019-08-10T14:59:22Z\",\n  \"updated_at\": \"2020-01-10T14:59:22Z\"\n}\n
" + } + ] + }, + { + "verb": "put", + "requestPath": "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "" + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + }, + "descriptionHTML": "

The name of the environment

" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X PUT \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repositories/42/environments/ENVIRONMENT_NAME/secrets/SECRET_NAME \\\n -d '{\"encrypted_value\":\"encrypted_value\"}'", + "html": "
curl \\\n  -X PUT \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repositories/42/environments/ENVIRONMENT_NAME/secrets/SECRET_NAME \\\n  -d '{\"encrypted_value\":\"encrypted_value\"}'
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}', {\n repository_id: 42,\n environment_name: 'environment_name',\n secret_name: 'secret_name',\n encrypted_value: 'encrypted_value'\n})", + "html": "
await octokit.request('PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}', {\n  repository_id: 42,\n  environment_name: 'environment_name',\n  secret_name: 'secret_name',\n  encrypted_value: 'encrypted_value'\n})\n
" + } + ], + "summary": "Create or update an environment secret", + "description": "Creates or updates an environment secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\nthis endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n\n```\nconst sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n```\n\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", + "tags": [ + "actions" + ], + "operationId": "actions/create-or-update-environment-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-an-environment-secret" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "encrypted_value": { + "type": "string", + "description": "

Value for your secret, encrypted with LibSodium using the public key retrieved from the Get an environment public key endpoint.

", + "name": "encrypted_value", + "in": "body", + "rawType": "string", + "rawDescription": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-environment-public-key) endpoint.", + "childParamsGroups": [] + }, + "key_id": { + "type": "string", + "description": "

ID of the key you used to encrypt the secret.

", + "name": "key_id", + "in": "body", + "rawType": "string", + "rawDescription": "ID of the key you used to encrypt the secret.", + "childParamsGroups": [] + } + } + }, + "example": { + "encrypted_value": "****************************************************************************************", + "key_id": "012345678912345678" + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "create-or-update-an-environment-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "responses": [ + { + "httpStatusCode": "201", + "httpStatusMessage": "Created", + "description": "Response when creating a secret" + }, + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Response when updating a secret" + } + ], + "descriptionHTML": "

Creates or updates an environment secret with an encrypted value. Encrypt your secret using\nLibSodium. You must authenticate using an access\ntoken with the repo scope to use this endpoint. GitHub Apps must have the secrets repository permission to use\nthis endpoint.

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

\n
const sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n
\n

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

\n
from base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n  \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n  public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n  sealed_box = public.SealedBox(public_key)\n  encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n  return b64encode(encrypted).decode(\"utf-8\")\n
\n

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

\n
var secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n
\n

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

\n
require \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n
", + "bodyParameters": [ + { + "type": "string", + "description": "

Value for your secret, encrypted with LibSodium using the public key retrieved from the Get an environment public key endpoint.

", + "name": "encrypted_value", + "in": "body", + "rawType": "string", + "rawDescription": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-environment-public-key) endpoint.", + "childParamsGroups": [] + }, + { + "type": "string", + "description": "

ID of the key you used to encrypt the secret.

", + "name": "key_id", + "in": "body", + "rawType": "string", + "rawDescription": "ID of the key you used to encrypt the secret.", + "childParamsGroups": [] + } + ] + }, + { + "verb": "delete", + "requestPath": "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", + "serverUrl": "https://api.github.com", + "parameters": [ + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + }, + "descriptionHTML": "" + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + }, + "descriptionHTML": "

The name of the environment

" + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "descriptionHTML": "

secret_name parameter

" + } + ], + "x-codeSamples": [ + { + "lang": "Shell", + "source": "curl \\\n -X DELETE \\\n -H \"Accept: application/vnd.github.v3+json\" \\\n https://api.github.com/repositories/42/environments/ENVIRONMENT_NAME/secrets/SECRET_NAME", + "html": "
curl \\\n  -X DELETE \\\n  -H \"Accept: application/vnd.github.v3+json\" \\\n  https://api.github.com/repositories/42/environments/ENVIRONMENT_NAME/secrets/SECRET_NAME
" + }, + { + "lang": "JavaScript", + "source": "await octokit.request('DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}', {\n repository_id: 42,\n environment_name: 'environment_name',\n secret_name: 'secret_name'\n})", + "html": "
await octokit.request('DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}', {\n  repository_id: 42,\n  environment_name: 'environment_name',\n  secret_name: 'secret_name'\n})\n
" + } + ], + "summary": "Delete an environment secret", + "description": "Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-environment-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-an-environment-secret" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "slug": "delete-an-environment-secret", + "category": "actions", + "categoryLabel": "Actions", + "subcategory": "secrets", + "subcategoryLabel": "Secrets", + "notes": [], + "responses": [ + { + "httpStatusCode": "204", + "httpStatusMessage": "No Content", + "description": "Default Response" + } + ], + "bodyParameters": [], + "descriptionHTML": "

Deletes a secret in an environment using the secret name. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the secrets repository permission to use this endpoint.

" + }, { "verb": "get", "requestPath": "/search/code", diff --git a/lib/rest/static/dereferenced/api.github.com.deref.json b/lib/rest/static/dereferenced/api.github.com.deref.json index c9cbdd3661..daceeb2720 100644 --- a/lib/rest/static/dereferenced/api.github.com.deref.json +++ b/lib/rest/static/dereferenced/api.github.com.deref.json @@ -6877,7 +6877,7 @@ "type": "integer" }, "repositories": { - "description": "The list of repository IDs to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", + "description": "The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", "type": "array", "items": { "type": "string", @@ -6885,7 +6885,7 @@ } }, "repository_ids": { - "description": "The list of repository names to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", + "description": "The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", "example": [ 1 ], diff --git a/lib/rest/static/dereferenced/ghes-3.0.deref.json b/lib/rest/static/dereferenced/ghes-3.0.deref.json index 5eb7269244..73908fe3f9 100644 --- a/lib/rest/static/dereferenced/ghes-3.0.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.0.deref.json @@ -11862,7 +11862,7 @@ "type": "integer" }, "repositories": { - "description": "The list of repository IDs to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", + "description": "The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", "type": "array", "items": { "type": "string", @@ -11870,7 +11870,7 @@ } }, "repository_ids": { - "description": "The list of repository names to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", + "description": "The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", "example": [ 1 ], diff --git a/lib/rest/static/dereferenced/github.ae.deref.json b/lib/rest/static/dereferenced/github.ae.deref.json index 51aea78fb5..e5f7910638 100644 --- a/lib/rest/static/dereferenced/github.ae.deref.json +++ b/lib/rest/static/dereferenced/github.ae.deref.json @@ -12890,6 +12890,2013 @@ } } }, + "/enterprises/{enterprise}/actions/permissions": { + "get": { + "summary": "Get GitHub Actions permissions for an enterprise", + "description": "Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-github-actions-permissions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#get-github-actions-permissions-for-an-enterprise" + }, + "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" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled_organizations": { + "type": "string", + "description": "The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", + "enum": [ + "all", + "none", + "selected" + ] + }, + "selected_organizations_url": { + "type": "string", + "description": "The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`." + }, + "allowed_actions": { + "type": "string", + "description": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "enum": [ + "all", + "local_only", + "selected" + ] + }, + "selected_actions_url": { + "type": "string", + "description": "The API URL to use to get or set the actions that are allowed to run, when `allowed_actions` is set to `selected`." + } + }, + "required": [ + "enabled_organizations", + "allowed_actions" + ] + }, + "examples": { + "default": { + "value": { + "enabled_organizations": "all", + "allowed_actions": "selected", + "selected_actions_url": "https://api.github.com/enterprises/2/actions/permissions/selected-actions" + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + }, + "put": { + "summary": "Set GitHub Actions permissions for an enterprise", + "description": "Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-github-actions-permissions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#set-github-actions-permissions-for-an-enterprise" + }, + "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" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled_organizations": { + "type": "string", + "description": "The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", + "enum": [ + "all", + "none", + "selected" + ] + }, + "allowed_actions": { + "type": "string", + "description": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "enum": [ + "all", + "local_only", + "selected" + ] + } + }, + "required": [ + "enabled_organizations" + ] + }, + "example": { + "enabled_organizations": "all", + "allowed_actions": "selected" + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + } + }, + "/enterprises/{enterprise}/actions/permissions/organizations": { + "get": { + "summary": "List selected organizations enabled for GitHub Actions in an enterprise", + "description": "Lists the organizations that are selected to have GitHub Actions enabled 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](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#list-selected-organizations-enabled-for-github-actions-in-an-enterprise" + }, + "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": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { + "type": "number" + }, + "organizations": { + "type": "array", + "items": { + "title": "Organization Simple", + "description": "Organization Simple", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "github" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDEyOk9yZ2FuaXphdGlvbjE=" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/github" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/github/repos" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/github/events" + }, + "hooks_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/hooks" + }, + "issues_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/issues" + }, + "members_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/members{/member}" + }, + "public_members_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/public_members{/member}" + }, + "avatar_url": { + "type": "string", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "description": { + "type": "string", + "example": "A great organization", + "nullable": true + } + }, + "required": [ + "login", + "url", + "id", + "node_id", + "repos_url", + "events_url", + "hooks_url", + "issues_url", + "members_url", + "public_members_url", + "avatar_url", + "description" + ] + } + } + }, + "required": [ + "total_count", + "organizations" + ] + }, + "examples": { + "default": { + "value": { + "total_count": 1, + "organizations": [ + { + "login": "octocat", + "id": 161335, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "url": "https://api.github.com/orgs/octo-org", + "repos_url": "https://api.github.com/orgs/octo-org/repos", + "events_url": "https://api.github.com/orgs/octo-org/events", + "hooks_url": "https://api.github.com/orgs/octo-org/hooks", + "issues_url": "https://api.github.com/orgs/octo-org/issues", + "members_url": "https://api.github.com/orgs/octo-org/members{/member}", + "public_members_url": "https://api.github.com/orgs/octo-org/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + } + ] + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + }, + "put": { + "summary": "Set selected organizations enabled for GitHub Actions in an enterprise", + "description": "Replaces 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](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#set-selected-organizations-enabled-for-github-actions-in-an-enterprise" + }, + "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" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_organization_ids": { + "description": "List of organization IDs to enable for GitHub Actions.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the organization." + } + } + }, + "required": [ + "selected_organization_ids" + ] + }, + "example": { + "selected_organization_ids": [ + 32, + 91 + ] + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + } + }, + "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}": { + "put": { + "summary": "Enable a selected organization for GitHub Actions in an enterprise", + "description": "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](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/enable-selected-organization-github-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#enable-a-selected-organization-for-github-actions-in-an-enterprise" + }, + "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_id", + "description": "Unique identifier of an organization.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + }, + "delete": { + "summary": "Disable a selected organization for GitHub Actions in an enterprise", + "description": "Removes an organization from 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](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/disable-selected-organization-github-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#disable-a-selected-organization-for-github-actions-in-an-enterprise" + }, + "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_id", + "description": "Unique identifier of an organization.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + } + }, + "/enterprises/{enterprise}/actions/permissions/selected-actions": { + "get": { + "summary": "Get allowed actions for an enterprise", + "description": "Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-allowed-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#get-allowed-actions-for-an-enterprise" + }, + "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" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "github_owned_allowed": { + "type": "boolean", + "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." + }, + "verified_allowed": { + "type": "boolean", + "description": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators." + }, + "patterns_allowed": { + "type": "array", + "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "items": { + "type": "string" + } + } + }, + "required": [ + "github_owned_allowed", + "patterns_allowed", + "verified_allowed" + ] + }, + "examples": { + "default": { + "value": { + "github_owned_allowed": true, + "verified_allowed": false, + "patterns_allowed": [ + "monalisa/octocat@*", + "docker/*" + ] + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + }, + "put": { + "summary": "Set allowed actions for an enterprise", + "description": "Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-allowed-actions-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#set-allowed-actions-for-an-enterprise" + }, + "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" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "github_owned_allowed": { + "type": "boolean", + "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." + }, + "verified_allowed": { + "type": "boolean", + "description": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators." + }, + "patterns_allowed": { + "type": "array", + "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "items": { + "type": "string" + } + } + }, + "required": [ + "github_owned_allowed", + "patterns_allowed", + "verified_allowed" + ] + }, + "examples": { + "selected_actions": { + "value": { + "github_owned_allowed": true, + "verified_allowed": false, + "patterns_allowed": [ + "monalisa/octocat@*", + "docker/*" + ] + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + } + }, + "/enterprises/{enterprise}/actions/runner-groups": { + "get": { + "summary": "List self-hosted runner groups for an enterprise", + "description": "Lists all self-hosted runner groups for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-self-hosted-runner-groups-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise" + }, + "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": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { + "type": "number" + }, + "runner_groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "visibility": { + "type": "string" + }, + "default": { + "type": "boolean" + }, + "selected_organizations_url": { + "type": "string" + }, + "runners_url": { + "type": "string" + }, + "allows_public_repositories": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "visibility", + "allows_public_repositories", + "default", + "runners_url" + ] + } + } + }, + "required": [ + "total_count", + "runner_groups" + ] + }, + "examples": { + "default": { + "value": { + "total_count": 3, + "runner_groups": [ + { + "id": 1, + "name": "Default", + "visibility": "all", + "default": true, + "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/1/runners", + "allows_public_repositories": false + }, + { + "id": 2, + "name": "octo-runner-group", + "visibility": "selected", + "default": false, + "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/organizations", + "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/runners", + "allows_public_repositories": true + }, + { + "id": 3, + "name": "expensive-hardware", + "visibility": "private", + "default": false, + "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/3/runners", + "allows_public_repositories": true + } + ] + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + }, + "post": { + "summary": "Create a self-hosted runner group for an enterprise", + "description": "Creates a new self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/create-self-hosted-runner-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#create-self-hosted-runner-group-for-an-enterprise" + }, + "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" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "Name of the runner group.", + "type": "string" + }, + "visibility": { + "description": "Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: `all` or `selected`", + "type": "string", + "enum": [ + "selected", + "all" + ] + }, + "selected_organization_ids": { + "description": "List of organization IDs that can access the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the organization." + } + }, + "runners": { + "description": "List of runner IDs to add to the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + } + } + }, + "required": [ + "name" + ] + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected", + "selected_organization_ids": [ + 32, + 91 + ], + "runners": [ + 9, + 2 + ] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "visibility": { + "type": "string" + }, + "default": { + "type": "boolean" + }, + "selected_organizations_url": { + "type": "string" + }, + "runners_url": { + "type": "string" + }, + "allows_public_repositories": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "visibility", + "allows_public_repositories", + "default", + "runners_url" + ] + }, + "examples": { + "default": { + "value": { + "id": 2, + "name": "octo-runner-group", + "visibility": "selected", + "default": false, + "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations", + "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners", + "allows_public_repositories": false + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + } + }, + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": { + "get": { + "summary": "Get a self-hosted runner group for an enterprise", + "description": "Gets a specific self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-self-hosted-runner-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#get-a-self-hosted-runner-group-for-an-enterprise" + }, + "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": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "visibility": { + "type": "string" + }, + "default": { + "type": "boolean" + }, + "selected_organizations_url": { + "type": "string" + }, + "runners_url": { + "type": "string" + }, + "allows_public_repositories": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "visibility", + "allows_public_repositories", + "default", + "runners_url" + ] + }, + "examples": { + "default": { + "value": { + "id": 2, + "name": "octo-runner-group", + "visibility": "selected", + "default": false, + "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations", + "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners", + "allows_public_repositories": false + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + }, + "patch": { + "summary": "Update a self-hosted runner group for an enterprise", + "description": "Updates the `name` and `visibility` of a self-hosted runner group in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/update-self-hosted-runner-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#update-a-self-hosted-runner-group-for-an-enterprise" + }, + "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": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "Name of the runner group.", + "type": "string" + }, + "visibility": { + "description": "Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: `all` or `selected`", + "type": "string", + "enum": [ + "selected", + "all" + ], + "default": "all" + } + } + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "visibility": { + "type": "string" + }, + "default": { + "type": "boolean" + }, + "selected_organizations_url": { + "type": "string" + }, + "runners_url": { + "type": "string" + }, + "allows_public_repositories": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "visibility", + "allows_public_repositories", + "default", + "runners_url" + ] + }, + "examples": { + "default": { + "value": { + "id": 2, + "name": "Expensive hardware runners", + "visibility": "selected", + "default": false, + "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations", + "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners", + "allows_public_repositories": true + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + }, + "delete": { + "summary": "Delete a self-hosted runner group from an enterprise", + "description": "Deletes a self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/delete-self-hosted-runner-group-from-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#delete-a-self-hosted-runner-group-from-an-enterprise" + }, + "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": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + } + }, + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": { + "get": { + "summary": "List self-hosted runners in a group for an enterprise", + "description": "Lists the self-hosted runners that are in a specific enterprise group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#list-self-hosted-runners-in-a-group-for-an-enterprise" + }, + "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": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { + "type": "number" + }, + "runners": { + "type": "array", + "items": { + "title": "Self hosted runners", + "description": "A self hosted runner", + "type": "object", + "properties": { + "id": { + "description": "The id of the runner.", + "type": "integer", + "example": 5 + }, + "name": { + "description": "The name of the runner.", + "type": "string", + "example": "iMac" + }, + "os": { + "description": "The Operating System of the runner.", + "type": "string", + "example": "macos" + }, + "status": { + "description": "The status of the runner.", + "type": "string", + "example": "online" + }, + "busy": { + "type": "boolean" + }, + "labels": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Unique identifier of the label." + }, + "name": { + "type": "string", + "description": "Name of the label." + }, + "type": { + "type": "string", + "description": "The type of label. Read-only labels are applied automatically when the runner is configured.", + "enum": [ + "read-only", + "custom" + ] + } + } + } + } + }, + "required": [ + "id", + "name", + "os", + "status", + "busy", + "labels" + ] + } + } + }, + "required": [ + "total_count", + "runners" + ] + }, + "examples": { + "default": { + "value": { + "total_count": 2, + "runners": [ + { + "id": 23, + "name": "linux_runner", + "os": "linux", + "status": "online", + "busy": true, + "labels": [ + { + "id": 5, + "name": "self-hosted", + "type": "read-only" + }, + { + "id": 7, + "name": "X64", + "type": "read-only" + }, + { + "id": 11, + "name": "Linux", + "type": "read-only" + } + ] + }, + { + "id": 24, + "name": "mac_runner", + "os": "macos", + "status": "offline", + "busy": false, + "labels": [ + { + "id": 5, + "name": "self-hosted", + "type": "read-only" + }, + { + "id": 7, + "name": "X64", + "type": "read-only" + }, + { + "id": 20, + "name": "macOS", + "type": "read-only" + }, + { + "id": 21, + "name": "no-gpu", + "type": "custom" + } + ] + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + }, + "put": { + "summary": "Set self-hosted runners in a group for an enterprise", + "description": "Replaces the list of self-hosted runners that are part of an enterprise runner group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#set-self-hosted-runners-in-a-group-for-an-enterprise" + }, + "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": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "runners": { + "description": "List of runner IDs to add to the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + } + } + }, + "required": [ + "runners" + ] + }, + "example": { + "runners": [ + 9, + 2 + ] + } + } + } + }, + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + } + }, + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + "put": { + "summary": "Add a self-hosted runner to a group for an enterprise", + "description": "Adds a self-hosted runner to a runner group configured in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise`\nscope to use this endpoint.", + "operationId": "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#add-a-self-hosted-runner-to-a-group-for-an-enterprise" + }, + "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": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + }, + "delete": { + "summary": "Remove a self-hosted runner from a group for an enterprise", + "description": "Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#remove-a-self-hosted-runner-from-a-group-for-an-enterprise" + }, + "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": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + } + }, + "/enterprises/{enterprise}/actions/runners": { + "get": { + "summary": "List self-hosted runners for an enterprise", + "description": "Lists all self-hosted runners configured for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-self-hosted-runners-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#list-self-hosted-runners-for-an-enterprise" + }, + "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": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { + "type": "number" + }, + "runners": { + "type": "array", + "items": { + "title": "Self hosted runners", + "description": "A self hosted runner", + "type": "object", + "properties": { + "id": { + "description": "The id of the runner.", + "type": "integer", + "example": 5 + }, + "name": { + "description": "The name of the runner.", + "type": "string", + "example": "iMac" + }, + "os": { + "description": "The Operating System of the runner.", + "type": "string", + "example": "macos" + }, + "status": { + "description": "The status of the runner.", + "type": "string", + "example": "online" + }, + "busy": { + "type": "boolean" + }, + "labels": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Unique identifier of the label." + }, + "name": { + "type": "string", + "description": "Name of the label." + }, + "type": { + "type": "string", + "description": "The type of label. Read-only labels are applied automatically when the runner is configured.", + "enum": [ + "read-only", + "custom" + ] + } + } + } + } + }, + "required": [ + "id", + "name", + "os", + "status", + "busy", + "labels" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 2, + "runners": [ + { + "id": 23, + "name": "linux_runner", + "os": "linux", + "status": "online", + "busy": true, + "labels": [ + { + "id": 5, + "name": "self-hosted", + "type": "read-only" + }, + { + "id": 7, + "name": "X64", + "type": "read-only" + }, + { + "id": 11, + "name": "Linux", + "type": "read-only" + } + ] + }, + { + "id": 24, + "name": "mac_runner", + "os": "macos", + "status": "offline", + "busy": false, + "labels": [ + { + "id": 5, + "name": "self-hosted", + "type": "read-only" + }, + { + "id": 7, + "name": "X64", + "type": "read-only" + }, + { + "id": 20, + "name": "macOS", + "type": "read-only" + }, + { + "id": 21, + "name": "no-gpu", + "type": "custom" + } + ] + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + } + }, + "/enterprises/{enterprise}/actions/runners/{runner_id}": { + "get": { + "summary": "Get a self-hosted runner for an enterprise", + "description": "Gets a specific self-hosted runner configured in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-self-hosted-runner-for-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#get-a-self-hosted-runner-for-an-enterprise" + }, + "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": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Self hosted runners", + "description": "A self hosted runner", + "type": "object", + "properties": { + "id": { + "description": "The id of the runner.", + "type": "integer", + "example": 5 + }, + "name": { + "description": "The name of the runner.", + "type": "string", + "example": "iMac" + }, + "os": { + "description": "The Operating System of the runner.", + "type": "string", + "example": "macos" + }, + "status": { + "description": "The status of the runner.", + "type": "string", + "example": "online" + }, + "busy": { + "type": "boolean" + }, + "labels": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Unique identifier of the label." + }, + "name": { + "type": "string", + "description": "Name of the label." + }, + "type": { + "type": "string", + "description": "The type of label. Read-only labels are applied automatically when the runner is configured.", + "enum": [ + "read-only", + "custom" + ] + } + } + } + } + }, + "required": [ + "id", + "name", + "os", + "status", + "busy", + "labels" + ] + }, + "examples": { + "default": { + "value": { + "id": 23, + "name": "MBP", + "os": "macos", + "status": "online", + "busy": true, + "labels": [ + { + "id": 5, + "name": "self-hosted", + "type": "read-only" + }, + { + "id": 7, + "name": "X64", + "type": "read-only" + }, + { + "id": 20, + "name": "macOS", + "type": "read-only" + }, + { + "id": 21, + "name": "no-gpu", + "type": "custom" + } + ] + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + }, + "delete": { + "summary": "Delete a self-hosted runner from an enterprise", + "description": "Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/delete-self-hosted-runner-from-enterprise", + "tags": [ + "enterprise-admin" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/enterprise-admin#delete-self-hosted-runner-from-an-enterprise" + }, + "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": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "enterprise-admin", + "subcategory": "actions" + } + } + }, "/events": { "get": { "summary": "List public events", @@ -34819,6 +36826,4315 @@ } } }, + "/orgs/{org}/actions/permissions": { + "get": { + "summary": "Get GitHub Actions permissions for an organization", + "description": "Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/get-github-actions-permissions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-github-actions-permissions-for-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled_repositories": { + "type": "string", + "description": "The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", + "enum": [ + "all", + "none", + "selected" + ] + }, + "selected_repositories_url": { + "type": "string", + "description": "The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`." + }, + "allowed_actions": { + "type": "string", + "description": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "enum": [ + "all", + "local_only", + "selected" + ] + }, + "selected_actions_url": { + "type": "string", + "description": "The API URL to use to get or set the actions that are allowed to run, when `allowed_actions` is set to `selected`." + } + }, + "required": [ + "enabled_repositories", + "allowed_actions" + ] + }, + "examples": { + "default": { + "value": { + "enabled_repositories": "all", + "allowed_actions": "selected", + "selected_actions_url": "https://api.github.com/organizations/42/actions/permissions/selected-actions" + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + }, + "put": { + "summary": "Set GitHub Actions permissions for an organization", + "description": "Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n\nIf the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/set-github-actions-permissions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-github-actions-permissions-for-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled_repositories": { + "type": "string", + "description": "The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", + "enum": [ + "all", + "none", + "selected" + ] + }, + "allowed_actions": { + "type": "string", + "description": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "enum": [ + "all", + "local_only", + "selected" + ] + } + }, + "required": [ + "enabled_repositories" + ] + }, + "example": { + "enabled_repositories": "all", + "allowed_actions": "selected" + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + } + }, + "/orgs/{org}/actions/permissions/repositories": { + "get": { + "summary": "List selected repositories enabled for GitHub Actions in an organization", + "description": "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](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/list-selected-repositories-enabled-github-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "repositories" + ], + "properties": { + "total_count": { + "type": "number" + }, + "repositories": { + "type": "array", + "items": { + "title": "Repository", + "description": "A git repository", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "example": "Team Environment" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "license": { + "nullable": true, + "allOf": [ + { + "title": "License Simple", + "description": "License Simple", + "type": "object", + "properties": { + "key": { + "type": "string", + "example": "mit" + }, + "name": { + "type": "string", + "example": "MIT License" + }, + "url": { + "type": "string", + "nullable": true, + "format": "uri", + "example": "https://api.github.com/licenses/mit" + }, + "spdx_id": { + "type": "string", + "nullable": true, + "example": "MIT" + }, + "node_id": { + "type": "string", + "example": "MDc6TGljZW5zZW1pdA==" + }, + "html_url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "key", + "name", + "url", + "spdx_id", + "node_id" + ] + } + ] + }, + "forks": { + "type": "integer" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + } + }, + "required": [ + "admin", + "pull", + "push" + ] + }, + "owner": { + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "description": "Whether the repository is private or public.", + "default": false, + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string", + "example": "git:github.com/octocat/Hello-World.git" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string", + "example": "git@github.com:octocat/Hello-World.git" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World.git" + }, + "mirror_url": { + "type": "string", + "format": "uri", + "example": "git:git.example.com/octocat/Hello-World", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string", + "format": "uri", + "example": "https://svn.github.com/octocat/Hello-World" + }, + "homepage": { + "type": "string", + "format": "uri", + "example": "https://github.com", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer", + "example": 9 + }, + "stargazers_count": { + "type": "integer", + "example": 80 + }, + "watchers_count": { + "type": "integer", + "example": 80 + }, + "size": { + "type": "integer", + "example": 108 + }, + "default_branch": { + "description": "The default branch of the repository.", + "type": "string", + "example": "master" + }, + "open_issues_count": { + "type": "integer", + "example": 0 + }, + "is_template": { + "description": "Whether this repository acts as a template that can be used to generate new repositories.", + "default": false, + "type": "boolean", + "example": true + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "description": "Whether issues are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_projects": { + "description": "Whether projects are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_wiki": { + "description": "Whether the wiki is enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "description": "Whether downloads are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "archived": { + "description": "Whether the repository is archived.", + "default": false, + "type": "boolean" + }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "visibility": { + "description": "The repository visibility: public, private, or internal.", + "default": "public", + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "allow_rebase_merge": { + "description": "Whether to allow rebase merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "template_repository": { + "nullable": true, + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "full_name": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "archive_url": { + "type": "string" + }, + "assignees_url": { + "type": "string" + }, + "blobs_url": { + "type": "string" + }, + "branches_url": { + "type": "string" + }, + "collaborators_url": { + "type": "string" + }, + "comments_url": { + "type": "string" + }, + "commits_url": { + "type": "string" + }, + "compare_url": { + "type": "string" + }, + "contents_url": { + "type": "string" + }, + "contributors_url": { + "type": "string" + }, + "deployments_url": { + "type": "string" + }, + "downloads_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "forks_url": { + "type": "string" + }, + "git_commits_url": { + "type": "string" + }, + "git_refs_url": { + "type": "string" + }, + "git_tags_url": { + "type": "string" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string" + }, + "issue_events_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "keys_url": { + "type": "string" + }, + "labels_url": { + "type": "string" + }, + "languages_url": { + "type": "string" + }, + "merges_url": { + "type": "string" + }, + "milestones_url": { + "type": "string" + }, + "notifications_url": { + "type": "string" + }, + "pulls_url": { + "type": "string" + }, + "releases_url": { + "type": "string" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string" + }, + "statuses_url": { + "type": "string" + }, + "subscribers_url": { + "type": "string" + }, + "subscription_url": { + "type": "string" + }, + "tags_url": { + "type": "string" + }, + "teams_url": { + "type": "string" + }, + "trees_url": { + "type": "string" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string" + }, + "language": { + "type": "string" + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "allow_rebase_merge": { + "type": "boolean" + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "type": "boolean" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "allow_merge_commit": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + } + } + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "description": "Whether to allow squash merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "delete_branch_on_merge": { + "description": "Whether to delete head branches when pull requests are merged", + "default": false, + "type": "boolean", + "example": false + }, + "allow_merge_commit": { + "description": "Whether to allow merge commits for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "open_issues": { + "type": "integer" + }, + "watchers": { + "type": "integer" + }, + "master_branch": { + "type": "string" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:42Z\"" + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 1, + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "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 + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": [ + "octocat", + "atom", + "electron", + "api" + ], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { + "admin": false, + "push": false, + "pull": true + }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + ] + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + }, + "put": { + "summary": "Set selected repositories enabled for GitHub Actions in an organization", + "description": "Replaces 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 configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/set-selected-repositories-enabled-github-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_repository_ids": { + "description": "List of repository IDs to enable for GitHub Actions.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the repository." + } + } + }, + "required": [ + "selected_repository_ids" + ] + }, + "example": { + "selected_repository_ids": [ + 32, + 42 + ] + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + } + }, + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + "put": { + "summary": "Enable a selected repository for GitHub Actions in an organization", + "description": "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](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/enable-selected-repository-github-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#enable-a-selected-repository-for-github-actions-in-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + }, + "delete": { + "summary": "Disable a selected repository for GitHub Actions in an organization", + "description": "Removes a repository from 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 configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/disable-selected-repository-github-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#disable-a-selected-repository-for-github-actions-in-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + } + }, + "/orgs/{org}/actions/permissions/selected-actions": { + "get": { + "summary": "Get allowed actions for an organization", + "description": "Gets the selected 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](#set-github-actions-permissions-for-an-organization).\"\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/get-allowed-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-allowed-actions-for-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "github_owned_allowed": { + "type": "boolean", + "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." + }, + "verified_allowed": { + "type": "boolean", + "description": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators." + }, + "patterns_allowed": { + "type": "array", + "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "items": { + "type": "string" + } + } + }, + "required": [ + "github_owned_allowed", + "patterns_allowed", + "verified_allowed" + ] + }, + "examples": { + "default": { + "value": { + "github_owned_allowed": true, + "verified_allowed": false, + "patterns_allowed": [ + "monalisa/octocat@*", + "docker/*" + ] + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + }, + "put": { + "summary": "Set allowed actions for an organization", + "description": "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](#set-github-actions-permissions-for-an-organization).\"\n\nIf 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.\n\nTo 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.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/set-allowed-actions-organization", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-allowed-actions-for-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "github_owned_allowed": { + "type": "boolean", + "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." + }, + "verified_allowed": { + "type": "boolean", + "description": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators." + }, + "patterns_allowed": { + "type": "array", + "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "items": { + "type": "string" + } + } + }, + "required": [ + "github_owned_allowed", + "patterns_allowed", + "verified_allowed" + ] + }, + "examples": { + "selected_actions": { + "value": { + "github_owned_allowed": true, + "verified_allowed": false, + "patterns_allowed": [ + "monalisa/octocat@*", + "docker/*" + ] + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + } + }, + "/orgs/{org}/actions/runner-groups": { + "post": { + "summary": "Create a self-hosted runner group for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nCreates a new self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/create-self-hosted-runner-group-for-org", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#create-a-self-hosted-runner-group-for-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "Name of the runner group.", + "type": "string" + }, + "visibility": { + "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: `all`, `selected`, or `private`.", + "type": "string", + "enum": [ + "selected", + "all", + "private" + ], + "default": "all" + }, + "selected_repository_ids": { + "description": "List of repository IDs that can access the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the repository." + } + }, + "runners": { + "description": "List of runner IDs to add to the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + } + } + }, + "required": [ + "name" + ] + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected", + "selected_repository_ids": [ + 32, + 91 + ], + "runners": [ + 9, + 2 + ] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "visibility": { + "type": "string" + }, + "default": { + "type": "boolean" + }, + "selected_repositories_url": { + "description": "Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected`", + "type": "string" + }, + "runners_url": { + "type": "string" + }, + "inherited": { + "type": "boolean" + }, + "inherited_allows_public_repositories": { + "type": "boolean" + }, + "allows_public_repositories": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "visibility", + "default", + "runners_url", + "inherited", + "allows_public_repositories" + ] + }, + "examples": { + "default": { + "value": { + "id": 2, + "name": "octo-runner-group", + "visibility": "selected", + "default": false, + "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner-groups/2/repositories", + "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", + "inherited": false, + "allows_public_repositories": true + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + } + } + }, + "/orgs/{org}/actions/runner-groups/{runner_group_id}": { + "patch": { + "summary": "Update a self-hosted runner group for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nUpdates the `name` and `visibility` of a self-hosted runner group in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/update-self-hosted-runner-group-for-org", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "Name of the runner group.", + "type": "string" + }, + "visibility": { + "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: `all`, `selected`, or `private`.", + "type": "string", + "enum": [ + "selected", + "all", + "private" + ] + } + } + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "visibility": { + "type": "string" + }, + "default": { + "type": "boolean" + }, + "selected_repositories_url": { + "description": "Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected`", + "type": "string" + }, + "runners_url": { + "type": "string" + }, + "inherited": { + "type": "boolean" + }, + "inherited_allows_public_repositories": { + "type": "boolean" + }, + "allows_public_repositories": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "visibility", + "default", + "runners_url", + "inherited", + "allows_public_repositories" + ] + }, + "examples": { + "default": { + "value": { + "id": 2, + "name": "octo-runner-group", + "visibility": "selected", + "default": false, + "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner-groups/2/repositories", + "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", + "inherited": false, + "allows_public_repositories": true + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + } + }, + "delete": { + "summary": "Delete a self-hosted runner group from an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nDeletes a self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/delete-self-hosted-runner-group-from-org", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + } + } + }, + "/orgs/{org}/actions/runners/{runner_id}": { + "delete": { + "summary": "Delete a self-hosted runner from an organization", + "description": "Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-self-hosted-runner-from-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "self-hosted-runners" + } + } + }, + "/orgs/{org}/actions/secrets": { + "get": { + "summary": "List organization secrets", + "description": "Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-org-secrets", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-organization-secrets" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "secrets" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "secrets": { + "type": "array", + "items": { + "title": "Actions Secret for an Organization", + "description": "Secrets for GitHub Actions for an organization.", + "type": "object", + "properties": { + "name": { + "description": "The name of the secret.", + "example": "SECRET_TOKEN", + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "visibility": { + "description": "Visibility of a secret", + "enum": [ + "all", + "private", + "selected" + ], + "type": "string" + }, + "selected_repositories_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/org/secrets/my_secret/repositories" + } + }, + "required": [ + "name", + "created_at", + "updated_at", + "visibility" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 3, + "secrets": [ + { + "name": "GIST_ID", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z", + "visibility": "private" + }, + { + "name": "DEPLOY_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z", + "visibility": "all" + }, + { + "name": "GH_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z", + "visibility": "selected", + "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/secrets/SUPER_SECRET/repositories" + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + } + }, + "/orgs/{org}/actions/secrets/public-key": { + "get": { + "summary": "Get an organization public key", + "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-org-public-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-organization-public-key" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "ActionsPublicKey", + "description": "The public key used for setting Actions Secrets.", + "type": "object", + "properties": { + "key_id": { + "description": "The identifier for the key.", + "type": "string", + "example": "1234567" + }, + "key": { + "description": "The Base64 encoded public key.", + "type": "string", + "example": "hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs=" + }, + "id": { + "type": "integer", + "example": 2 + }, + "url": { + "type": "string", + "example": "https://api.github.com/user/keys/2" + }, + "title": { + "type": "string", + "example": "ssh-rsa AAAAB3NzaC1yc2EAAA" + }, + "created_at": { + "type": "string", + "example": "2011-01-26T19:01:12Z" + } + }, + "required": [ + "key_id", + "key" + ] + }, + "examples": { + "default": { + "value": { + "key_id": "012345678912345678", + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + } + }, + "/orgs/{org}/actions/secrets/{secret_name}": { + "get": { + "summary": "Get an organization secret", + "description": "Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-organization-secret" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Actions Secret for an Organization", + "description": "Secrets for GitHub Actions for an organization.", + "type": "object", + "properties": { + "name": { + "description": "The name of the secret.", + "example": "SECRET_TOKEN", + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "visibility": { + "description": "Visibility of a secret", + "enum": [ + "all", + "private", + "selected" + ], + "type": "string" + }, + "selected_repositories_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/org/secrets/my_secret/repositories" + } + }, + "required": [ + "name", + "created_at", + "updated_at", + "visibility" + ] + }, + "examples": { + "default": { + "value": { + "name": "GH_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z", + "visibility": "selected", + "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/secrets/SUPER_SECRET/repositories" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + }, + "put": { + "summary": "Create or update an organization secret", + "description": "Creates or updates an organization secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to\nuse this endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n\n```\nconst sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n```\n\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", + "tags": [ + "actions" + ], + "operationId": "actions/create-or-update-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-an-organization-secret" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "encrypted_value": { + "type": "string", + "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-organization-public-key) endpoint." + }, + "key_id": { + "type": "string", + "description": "ID of the key you used to encrypt the secret." + }, + "visibility": { + "type": "string", + "description": "Configures the access that repositories have to the organization secret. Can be one of: \n\\- `all` - All repositories in an organization can access the secret. \n\\- `private` - Private repositories in an organization can access the secret. \n\\- `selected` - Only specific repositories can access the secret.", + "enum": [ + "all", + "private", + "selected" + ] + }, + "selected_repository_ids": { + "type": "array", + "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", + "items": { + "type": "string" + } + } + } + }, + "example": { + "encrypted_value": "****************************************************************************************", + "key_id": "012345678912345678", + "visibility": "selected", + "selected_repository_ids": [ + "1296269", + "1296280" + ] + } + } + } + }, + "responses": { + "201": { + "description": "Response when creating a secret" + }, + "204": { + "description": "Response when updating a secret" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + }, + "delete": { + "summary": "Delete an organization secret", + "description": "Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-an-organization-secret" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + } + }, + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + "get": { + "summary": "List selected repositories for an organization secret", + "description": "Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-selected-repos-for-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-selected-repositories-for-an-organization-secret" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "repositories" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "repositories": { + "type": "array", + "items": { + "title": "Minimal Repository", + "description": "Minimal Repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1296269 + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "type": "string", + "example": "Hello-World" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "owner": { + "type": "object", + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "template_repository": { + "nullable": true, + "type": "object", + "allOf": [ + { + "title": "Repository", + "description": "A git repository", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "example": "Team Environment" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "license": { + "nullable": true, + "allOf": [ + { + "title": "License Simple", + "description": "License Simple", + "type": "object", + "properties": { + "key": { + "type": "string", + "example": "mit" + }, + "name": { + "type": "string", + "example": "MIT License" + }, + "url": { + "type": "string", + "nullable": true, + "format": "uri", + "example": "https://api.github.com/licenses/mit" + }, + "spdx_id": { + "type": "string", + "nullable": true, + "example": "MIT" + }, + "node_id": { + "type": "string", + "example": "MDc6TGljZW5zZW1pdA==" + }, + "html_url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "key", + "name", + "url", + "spdx_id", + "node_id" + ] + } + ] + }, + "forks": { + "type": "integer" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + } + }, + "required": [ + "admin", + "pull", + "push" + ] + }, + "owner": { + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "description": "Whether the repository is private or public.", + "default": false, + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string", + "example": "git:github.com/octocat/Hello-World.git" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string", + "example": "git@github.com:octocat/Hello-World.git" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World.git" + }, + "mirror_url": { + "type": "string", + "format": "uri", + "example": "git:git.example.com/octocat/Hello-World", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string", + "format": "uri", + "example": "https://svn.github.com/octocat/Hello-World" + }, + "homepage": { + "type": "string", + "format": "uri", + "example": "https://github.com", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer", + "example": 9 + }, + "stargazers_count": { + "type": "integer", + "example": 80 + }, + "watchers_count": { + "type": "integer", + "example": 80 + }, + "size": { + "type": "integer", + "example": 108 + }, + "default_branch": { + "description": "The default branch of the repository.", + "type": "string", + "example": "master" + }, + "open_issues_count": { + "type": "integer", + "example": 0 + }, + "is_template": { + "description": "Whether this repository acts as a template that can be used to generate new repositories.", + "default": false, + "type": "boolean", + "example": true + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "description": "Whether issues are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_projects": { + "description": "Whether projects are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_wiki": { + "description": "Whether the wiki is enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "description": "Whether downloads are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "archived": { + "description": "Whether the repository is archived.", + "default": false, + "type": "boolean" + }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "visibility": { + "description": "The repository visibility: public, private, or internal.", + "default": "public", + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "allow_rebase_merge": { + "description": "Whether to allow rebase merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "template_repository": { + "nullable": true, + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "full_name": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "archive_url": { + "type": "string" + }, + "assignees_url": { + "type": "string" + }, + "blobs_url": { + "type": "string" + }, + "branches_url": { + "type": "string" + }, + "collaborators_url": { + "type": "string" + }, + "comments_url": { + "type": "string" + }, + "commits_url": { + "type": "string" + }, + "compare_url": { + "type": "string" + }, + "contents_url": { + "type": "string" + }, + "contributors_url": { + "type": "string" + }, + "deployments_url": { + "type": "string" + }, + "downloads_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "forks_url": { + "type": "string" + }, + "git_commits_url": { + "type": "string" + }, + "git_refs_url": { + "type": "string" + }, + "git_tags_url": { + "type": "string" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string" + }, + "issue_events_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "keys_url": { + "type": "string" + }, + "labels_url": { + "type": "string" + }, + "languages_url": { + "type": "string" + }, + "merges_url": { + "type": "string" + }, + "milestones_url": { + "type": "string" + }, + "notifications_url": { + "type": "string" + }, + "pulls_url": { + "type": "string" + }, + "releases_url": { + "type": "string" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string" + }, + "statuses_url": { + "type": "string" + }, + "subscribers_url": { + "type": "string" + }, + "subscription_url": { + "type": "string" + }, + "tags_url": { + "type": "string" + }, + "teams_url": { + "type": "string" + }, + "trees_url": { + "type": "string" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string" + }, + "language": { + "type": "string" + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "allow_rebase_merge": { + "type": "boolean" + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "type": "boolean" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "allow_merge_commit": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + } + } + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "description": "Whether to allow squash merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "delete_branch_on_merge": { + "description": "Whether to delete head branches when pull requests are merged", + "default": false, + "type": "boolean", + "example": false + }, + "allow_merge_commit": { + "description": "Whether to allow merge commits for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "open_issues": { + "type": "integer" + }, + "watchers": { + "type": "integer" + }, + "master_branch": { + "type": "string" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:42Z\"" + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + } + ] + }, + "temp_clone_token": { + "type": "string" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "license": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "name": { + "type": "string" + }, + "spdx_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "node_id": { + "type": "string" + } + }, + "nullable": true + }, + "forks": { + "type": "integer", + "example": 0 + }, + "open_issues": { + "type": "integer", + "example": 0 + }, + "watchers": { + "type": "integer", + "example": 0 + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 1, + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "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 + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + } + ] + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + }, + "put": { + "summary": "Set selected repositories for an organization secret", + "description": "Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/set-selected-repos-for-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-selected-repositories-for-an-organization-secret" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_repository_ids": { + "type": "array", + "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", + "items": { + "type": "integer" + } + } + } + }, + "example": { + "selected_repository_ids": [ + 64780797 + ] + } + } + } + }, + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + } + }, + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + "put": { + "summary": "Add selected repository to an organization secret", + "description": "Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/add-selected-repo-to-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#add-selected-repository-to-an-organization-secret" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Response when repository was added to the selected list" + }, + "409": { + "description": "Response when visibility type is not set to selected" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + }, + "delete": { + "summary": "Remove selected repository from an organization secret", + "description": "Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/remove-selected-repo-from-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#remove-selected-repository-from-an-organization-secret" + }, + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Response when repository was removed from the selected list" + }, + "409": { + "description": "Response when visibility type not set to selected" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + } + }, "/orgs/{org}/events": { "get": { "summary": "List public organization events", @@ -75679,6 +81995,15553 @@ } } }, + "/repos/{owner}/{repo}/actions/artifacts": { + "get": { + "summary": "List artifacts for a repository", + "description": "Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-artifacts-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-artifacts-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "artifacts" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "artifacts": { + "type": "array", + "items": { + "title": "Artifact", + "description": "An artifact", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 5 + }, + "node_id": { + "type": "string", + "example": "MDEwOkNoZWNrU3VpdGU1" + }, + "name": { + "description": "The name of the artifact.", + "type": "string", + "example": "AdventureWorks.Framework" + }, + "size_in_bytes": { + "description": "The size in bytes of the artifact.", + "type": "integer", + "example": 12345 + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5" + }, + "archive_download_url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip" + }, + "expired": { + "description": "Whether or not the artifact has expired.", + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "expires_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": [ + "id", + "node_id", + "name", + "size_in_bytes", + "url", + "archive_download_url", + "expired", + "created_at", + "expires_at", + "updated_at" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 2, + "artifacts": [ + { + "id": 11, + "node_id": "MDg6QXJ0aWZhY3QxMQ==", + "name": "Rails", + "size_in_bytes": 556, + "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11", + "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip", + "expired": false, + "created_at": "2020-01-10T14:59:22Z", + "expires_at": "2020-03-21T14:59:22Z", + "updated_at": "2020-02-21T14:59:22Z" + }, + { + "id": 13, + "node_id": "MDg6QXJ0aWZhY3QxMw==", + "name": "", + "size_in_bytes": 453, + "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13", + "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13/zip", + "expired": false, + "created_at": "2020-01-10T14:59:22Z", + "expires_at": "2020-03-21T14:59:22Z", + "updated_at": "2020-02-21T14:59:22Z" + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "artifacts" + } + } + }, + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + "get": { + "summary": "Get an artifact", + "description": "Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-artifact", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-artifact" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "artifact_id", + "description": "artifact_id parameter", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Artifact", + "description": "An artifact", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 5 + }, + "node_id": { + "type": "string", + "example": "MDEwOkNoZWNrU3VpdGU1" + }, + "name": { + "description": "The name of the artifact.", + "type": "string", + "example": "AdventureWorks.Framework" + }, + "size_in_bytes": { + "description": "The size in bytes of the artifact.", + "type": "integer", + "example": 12345 + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5" + }, + "archive_download_url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip" + }, + "expired": { + "description": "Whether or not the artifact has expired.", + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "expires_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": [ + "id", + "node_id", + "name", + "size_in_bytes", + "url", + "archive_download_url", + "expired", + "created_at", + "expires_at", + "updated_at" + ] + }, + "examples": { + "default": { + "value": { + "id": 11, + "node_id": "MDg6QXJ0aWZhY3QxMQ==", + "name": "Rails", + "size_in_bytes": 556, + "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11", + "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip", + "expired": false, + "created_at": "2020-01-10T14:59:22Z", + "expires_at": "2020-01-21T14:59:22Z", + "updated_at": "2020-01-21T14:59:22Z" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "artifacts" + } + }, + "delete": { + "summary": "Delete an artifact", + "description": "Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-artifact", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-an-artifact" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "artifact_id", + "description": "artifact_id parameter", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "artifacts" + } + } + }, + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + "get": { + "summary": "Download an artifact", + "description": "Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in\nthe response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to\nthe repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.\nGitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/download-artifact", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#download-an-artifact" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "artifact_id", + "description": "artifact_id parameter", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "archive_format", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "302": { + "description": "response", + "headers": { + "Location": { + "example": "https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "artifacts" + } + } + }, + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + "get": { + "summary": "Get a job for a workflow run", + "description": "Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-job-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-job-for-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "job_id", + "description": "job_id parameter", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "202": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Job", + "description": "Information of a job execution in a workflow run", + "type": "object", + "properties": { + "id": { + "description": "The id of the job.", + "example": 21, + "type": "integer" + }, + "run_id": { + "description": "The id of the associated workflow run.", + "example": 5, + "type": "integer" + }, + "run_url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5" + }, + "node_id": { + "type": "string", + "example": "MDg6Q2hlY2tSdW40" + }, + "head_sha": { + "description": "The SHA of the commit that is being run.", + "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", + "type": "string" + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/jobs/21" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/runs/4", + "nullable": true + }, + "status": { + "description": "The phase of the lifecycle that the job is currently in.", + "example": "queued", + "type": "string", + "enum": [ + "queued", + "in_progress", + "completed" + ] + }, + "conclusion": { + "description": "The outcome of the job.", + "example": "success", + "type": "string", + "nullable": true + }, + "started_at": { + "description": "The time that the job started, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string" + }, + "completed_at": { + "description": "The time that the job finished, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string", + "nullable": true + }, + "name": { + "description": "The name of the job.", + "example": "test-coverage", + "type": "string" + }, + "steps": { + "description": "Steps in this job.", + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "status", + "conclusion", + "number" + ], + "properties": { + "status": { + "description": "The phase of the lifecycle that the job is currently in.", + "example": "queued", + "type": "string", + "enum": [ + "queued", + "in_progress", + "completed" + ] + }, + "conclusion": { + "description": "The outcome of the job.", + "example": "success", + "type": "string", + "nullable": true + }, + "name": { + "description": "The name of the job.", + "example": "test-coverage", + "type": "string" + }, + "number": { + "type": "integer", + "example": 1 + }, + "started_at": { + "description": "The time that the step started, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string", + "nullable": true + }, + "completed_at": { + "description": "The time that the job finished, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string", + "nullable": true + } + } + } + }, + "check_run_url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/check-runs/4" + } + }, + "required": [ + "id", + "node_id", + "run_id", + "run_url", + "head_sha", + "name", + "url", + "html_url", + "status", + "conclusion", + "started_at", + "completed_at", + "check_run_url" + ] + }, + "examples": { + "default": { + "value": { + "id": 399444496, + "run_id": 29679449, + "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", + "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", + "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496", + "html_url": "https://github.com/octo-org/octo-repo/runs/399444496", + "status": "completed", + "conclusion": "success", + "started_at": "2020-01-20T17:42:40Z", + "completed_at": "2020-01-20T17:44:39Z", + "name": "build", + "steps": [ + { + "name": "Set up job", + "status": "completed", + "conclusion": "success", + "number": 1, + "started_at": "2020-01-20T09:42:40.000-08:00", + "completed_at": "2020-01-20T09:42:41.000-08:00" + }, + { + "name": "Run actions/checkout@v2", + "status": "completed", + "conclusion": "success", + "number": 2, + "started_at": "2020-01-20T09:42:41.000-08:00", + "completed_at": "2020-01-20T09:42:45.000-08:00" + }, + { + "name": "Set up Ruby", + "status": "completed", + "conclusion": "success", + "number": 3, + "started_at": "2020-01-20T09:42:45.000-08:00", + "completed_at": "2020-01-20T09:42:45.000-08:00" + }, + { + "name": "Run actions/cache@v2", + "status": "completed", + "conclusion": "success", + "number": 4, + "started_at": "2020-01-20T09:42:45.000-08:00", + "completed_at": "2020-01-20T09:42:48.000-08:00" + }, + { + "name": "Install Bundler", + "status": "completed", + "conclusion": "success", + "number": 5, + "started_at": "2020-01-20T09:42:48.000-08:00", + "completed_at": "2020-01-20T09:42:52.000-08:00" + }, + { + "name": "Install Gems", + "status": "completed", + "conclusion": "success", + "number": 6, + "started_at": "2020-01-20T09:42:52.000-08:00", + "completed_at": "2020-01-20T09:42:53.000-08:00" + }, + { + "name": "Run Tests", + "status": "completed", + "conclusion": "success", + "number": 7, + "started_at": "2020-01-20T09:42:53.000-08:00", + "completed_at": "2020-01-20T09:42:59.000-08:00" + }, + { + "name": "Deploy to Heroku", + "status": "completed", + "conclusion": "success", + "number": 8, + "started_at": "2020-01-20T09:42:59.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + }, + { + "name": "Post actions/cache@v2", + "status": "completed", + "conclusion": "success", + "number": 16, + "started_at": "2020-01-20T09:44:39.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + }, + { + "name": "Complete job", + "status": "completed", + "conclusion": "success", + "number": 17, + "started_at": "2020-01-20T09:44:39.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + } + ], + "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-jobs" + } + } + }, + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + "get": { + "summary": "Download job logs for a workflow run", + "description": "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\nuse this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must\nhave the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/download-job-logs-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#download-job-logs-for-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "job_id", + "description": "job_id parameter", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "302": { + "description": "response", + "headers": { + "Location": { + "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/jobs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-jobs" + } + } + }, + "/repos/{owner}/{repo}/actions/permissions": { + "get": { + "summary": "Get GitHub Actions permissions for a repository", + "description": "Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint. GitHub Apps must have the `administration` repository permission to use this API.", + "operationId": "actions/get-github-actions-permissions-repository", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-github-actions-permissions-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether GitHub Actions is enabled on the repository." + }, + "allowed_actions": { + "type": "string", + "description": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "enum": [ + "all", + "local_only", + "selected" + ] + }, + "selected_actions_url": { + "type": "string", + "description": "The API URL to use to get or set the actions that are allowed to run, when `allowed_actions` is set to `selected`." + } + }, + "required": [ + "enabled", + "allowed_actions" + ] + }, + "examples": { + "default": { + "value": { + "enabled": true, + "allowed_actions": "selected", + "selected_actions_url": "https://api.github.com/repositories/42/actions/permissions/selected-actions" + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + }, + "put": { + "summary": "Set GitHub Actions permissions for a repository", + "description": "Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository.\n\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.\n\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.", + "operationId": "actions/set-github-actions-permissions-repository", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-github-actions-permissions-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether GitHub Actions is enabled on the repository." + }, + "allowed_actions": { + "type": "string", + "description": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "enum": [ + "all", + "local_only", + "selected" + ] + } + }, + "required": [ + "enabled" + ] + }, + "example": { + "enabled": true, + "allowed_actions": "selected" + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + } + }, + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + "get": { + "summary": "Get allowed actions for a repository", + "description": "Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n\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.", + "operationId": "actions/get-allowed-actions-repository", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-allowed-actions-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "github_owned_allowed": { + "type": "boolean", + "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." + }, + "verified_allowed": { + "type": "boolean", + "description": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators." + }, + "patterns_allowed": { + "type": "array", + "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "items": { + "type": "string" + } + } + }, + "required": [ + "github_owned_allowed", + "patterns_allowed", + "verified_allowed" + ] + }, + "examples": { + "default": { + "value": { + "github_owned_allowed": true, + "verified_allowed": false, + "patterns_allowed": [ + "monalisa/octocat@*", + "docker/*" + ] + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + }, + "put": { + "summary": "Set allowed actions for a repository", + "description": "Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n\nIf the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings.\n\nTo use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories.\n\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.", + "operationId": "actions/set-allowed-actions-repository", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#set-allowed-actions-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "github_owned_allowed": { + "type": "boolean", + "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." + }, + "verified_allowed": { + "type": "boolean", + "description": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators." + }, + "patterns_allowed": { + "type": "array", + "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "items": { + "type": "string" + } + } + }, + "required": [ + "github_owned_allowed", + "patterns_allowed", + "verified_allowed" + ] + }, + "examples": { + "selected_actions": { + "value": { + "github_owned_allowed": true, + "verified_allowed": false, + "patterns_allowed": [ + "monalisa/octocat@*", + "docker/*" + ] + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "permissions" + } + } + }, + "/repos/{owner}/{repo}/actions/runners": { + "get": { + "summary": "List self-hosted runners for a repository", + "description": "Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-self-hosted-runners-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-self-hosted-runners-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "runners" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "runners": { + "type": "array", + "items": { + "title": "Self hosted runners", + "description": "A self hosted runner", + "type": "object", + "properties": { + "id": { + "description": "The id of the runner.", + "type": "integer", + "example": 5 + }, + "name": { + "description": "The name of the runner.", + "type": "string", + "example": "iMac" + }, + "os": { + "description": "The Operating System of the runner.", + "type": "string", + "example": "macos" + }, + "status": { + "description": "The status of the runner.", + "type": "string", + "example": "online" + }, + "busy": { + "type": "boolean" + }, + "labels": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Unique identifier of the label." + }, + "name": { + "type": "string", + "description": "Name of the label." + }, + "type": { + "type": "string", + "description": "The type of label. Read-only labels are applied automatically when the runner is configured.", + "enum": [ + "read-only", + "custom" + ] + } + } + } + } + }, + "required": [ + "id", + "name", + "os", + "status", + "busy", + "labels" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 2, + "runners": [ + { + "id": 23, + "name": "linux_runner", + "os": "linux", + "status": "online", + "busy": true, + "labels": [ + { + "id": 5, + "name": "self-hosted", + "type": "read-only" + }, + { + "id": 7, + "name": "X64", + "type": "read-only" + }, + { + "id": 11, + "name": "Linux", + "type": "read-only" + } + ] + }, + { + "id": 24, + "name": "mac_runner", + "os": "macos", + "status": "offline", + "busy": false, + "labels": [ + { + "id": 5, + "name": "self-hosted", + "type": "read-only" + }, + { + "id": 7, + "name": "X64", + "type": "read-only" + }, + { + "id": 20, + "name": "macOS", + "type": "read-only" + }, + { + "id": 21, + "name": "no-gpu", + "type": "custom" + } + ] + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "self-hosted-runners" + } + } + }, + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + "delete": { + "summary": "Delete a self-hosted runner from a repository", + "description": "Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `repo`\nscope to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-self-hosted-runner-from-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "self-hosted-runners" + } + } + }, + "/repos/{owner}/{repo}/actions/runs": { + "get": { + "summary": "List workflow runs for a repository", + "description": "Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/github-ae@latest/rest/overview/resources-in-the-rest-api#parameters).\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-workflow-runs-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-workflow-runs-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "actor", + "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "branch", + "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`.", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "event", + "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "status", + "description": "Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see \"[Create a check run](https://docs.github.com/github-ae@latest/rest/reference/checks#create-a-check-run).\"", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "completed", + "action_required", + "cancelled", + "failure", + "neutral", + "skipped", + "stale", + "success", + "timed_out", + "in_progress", + "queued", + "requested", + "waiting" + ] + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "workflow_runs" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "workflow_runs": { + "type": "array", + "items": { + "title": "Workflow Run", + "description": "An invocation of a workflow", + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "The ID of the workflow run.", + "example": 5 + }, + "name": { + "type": "string", + "description": "The name of the workflow run.", + "example": "Build" + }, + "node_id": { + "type": "string", + "example": "MDEwOkNoZWNrU3VpdGU1" + }, + "head_branch": { + "type": "string", + "nullable": true, + "example": "master" + }, + "head_sha": { + "description": "The SHA of the head commit that points to the version of the worflow being run.", + "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", + "type": "string" + }, + "run_number": { + "type": "integer", + "description": "The auto incrementing run number for the workflow run.", + "example": 106 + }, + "event": { + "type": "string", + "example": "push" + }, + "status": { + "type": "string", + "nullable": true, + "example": "completed" + }, + "conclusion": { + "type": "string", + "nullable": true, + "example": "neutral" + }, + "workflow_id": { + "type": "integer", + "description": "The ID of the parent workflow.", + "example": 5 + }, + "url": { + "type": "string", + "description": "The URL to the workflow run.", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/suites/4" + }, + "pull_requests": { + "type": "array", + "nullable": true, + "items": { + "title": "Pull Request Minimal", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "number": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "head": { + "type": "object", + "properties": { + "ref": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "repo": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "name" + ] + } + }, + "required": [ + "ref", + "sha", + "repo" + ] + }, + "base": { + "type": "object", + "properties": { + "ref": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "repo": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "name" + ] + } + }, + "required": [ + "ref", + "sha", + "repo" + ] + } + }, + "required": [ + "id", + "number", + "url", + "head", + "base" + ] + } + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "jobs_url": { + "description": "The URL to the jobs for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/jobs" + }, + "logs_url": { + "description": "The URL to download the logs for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/logs" + }, + "check_suite_url": { + "description": "The URL to the associated check suite.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/check-suites/12" + }, + "artifacts_url": { + "description": "The URL to the artifacts for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts" + }, + "cancel_url": { + "description": "The URL to cancel the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/cancel" + }, + "rerun_url": { + "description": "The URL to rerun the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun" + }, + "workflow_url": { + "description": "The URL to the workflow.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml" + }, + "head_commit": { + "title": "Simple Commit", + "description": "Simple Commit", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tree_id": { + "type": "string" + }, + "message": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "author": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + } + }, + "required": [ + "name", + "email" + ], + "nullable": true + }, + "committer": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + } + }, + "required": [ + "name", + "email" + ], + "nullable": true + } + }, + "required": [ + "id", + "tree_id", + "message", + "timestamp", + "author", + "committer" + ] + }, + "repository": { + "title": "Minimal Repository", + "description": "Minimal Repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1296269 + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "type": "string", + "example": "Hello-World" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "owner": { + "type": "object", + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "template_repository": { + "nullable": true, + "type": "object", + "allOf": [ + { + "title": "Repository", + "description": "A git repository", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "example": "Team Environment" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "license": { + "nullable": true, + "allOf": [ + { + "title": "License Simple", + "description": "License Simple", + "type": "object", + "properties": { + "key": { + "type": "string", + "example": "mit" + }, + "name": { + "type": "string", + "example": "MIT License" + }, + "url": { + "type": "string", + "nullable": true, + "format": "uri", + "example": "https://api.github.com/licenses/mit" + }, + "spdx_id": { + "type": "string", + "nullable": true, + "example": "MIT" + }, + "node_id": { + "type": "string", + "example": "MDc6TGljZW5zZW1pdA==" + }, + "html_url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "key", + "name", + "url", + "spdx_id", + "node_id" + ] + } + ] + }, + "forks": { + "type": "integer" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + } + }, + "required": [ + "admin", + "pull", + "push" + ] + }, + "owner": { + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "description": "Whether the repository is private or public.", + "default": false, + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string", + "example": "git:github.com/octocat/Hello-World.git" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string", + "example": "git@github.com:octocat/Hello-World.git" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World.git" + }, + "mirror_url": { + "type": "string", + "format": "uri", + "example": "git:git.example.com/octocat/Hello-World", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string", + "format": "uri", + "example": "https://svn.github.com/octocat/Hello-World" + }, + "homepage": { + "type": "string", + "format": "uri", + "example": "https://github.com", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer", + "example": 9 + }, + "stargazers_count": { + "type": "integer", + "example": 80 + }, + "watchers_count": { + "type": "integer", + "example": 80 + }, + "size": { + "type": "integer", + "example": 108 + }, + "default_branch": { + "description": "The default branch of the repository.", + "type": "string", + "example": "master" + }, + "open_issues_count": { + "type": "integer", + "example": 0 + }, + "is_template": { + "description": "Whether this repository acts as a template that can be used to generate new repositories.", + "default": false, + "type": "boolean", + "example": true + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "description": "Whether issues are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_projects": { + "description": "Whether projects are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_wiki": { + "description": "Whether the wiki is enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "description": "Whether downloads are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "archived": { + "description": "Whether the repository is archived.", + "default": false, + "type": "boolean" + }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "visibility": { + "description": "The repository visibility: public, private, or internal.", + "default": "public", + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "allow_rebase_merge": { + "description": "Whether to allow rebase merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "template_repository": { + "nullable": true, + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "full_name": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "archive_url": { + "type": "string" + }, + "assignees_url": { + "type": "string" + }, + "blobs_url": { + "type": "string" + }, + "branches_url": { + "type": "string" + }, + "collaborators_url": { + "type": "string" + }, + "comments_url": { + "type": "string" + }, + "commits_url": { + "type": "string" + }, + "compare_url": { + "type": "string" + }, + "contents_url": { + "type": "string" + }, + "contributors_url": { + "type": "string" + }, + "deployments_url": { + "type": "string" + }, + "downloads_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "forks_url": { + "type": "string" + }, + "git_commits_url": { + "type": "string" + }, + "git_refs_url": { + "type": "string" + }, + "git_tags_url": { + "type": "string" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string" + }, + "issue_events_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "keys_url": { + "type": "string" + }, + "labels_url": { + "type": "string" + }, + "languages_url": { + "type": "string" + }, + "merges_url": { + "type": "string" + }, + "milestones_url": { + "type": "string" + }, + "notifications_url": { + "type": "string" + }, + "pulls_url": { + "type": "string" + }, + "releases_url": { + "type": "string" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string" + }, + "statuses_url": { + "type": "string" + }, + "subscribers_url": { + "type": "string" + }, + "subscription_url": { + "type": "string" + }, + "tags_url": { + "type": "string" + }, + "teams_url": { + "type": "string" + }, + "trees_url": { + "type": "string" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string" + }, + "language": { + "type": "string" + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "allow_rebase_merge": { + "type": "boolean" + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "type": "boolean" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "allow_merge_commit": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + } + } + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "description": "Whether to allow squash merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "delete_branch_on_merge": { + "description": "Whether to delete head branches when pull requests are merged", + "default": false, + "type": "boolean", + "example": false + }, + "allow_merge_commit": { + "description": "Whether to allow merge commits for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "open_issues": { + "type": "integer" + }, + "watchers": { + "type": "integer" + }, + "master_branch": { + "type": "string" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:42Z\"" + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + } + ] + }, + "temp_clone_token": { + "type": "string" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "license": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "name": { + "type": "string" + }, + "spdx_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "node_id": { + "type": "string" + } + }, + "nullable": true + }, + "forks": { + "type": "integer", + "example": 0 + }, + "open_issues": { + "type": "integer", + "example": 0 + }, + "watchers": { + "type": "integer", + "example": 0 + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url" + ] + }, + "head_repository": { + "title": "Minimal Repository", + "description": "Minimal Repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1296269 + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "type": "string", + "example": "Hello-World" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "owner": { + "type": "object", + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "template_repository": { + "nullable": true, + "type": "object", + "allOf": [ + { + "title": "Repository", + "description": "A git repository", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "example": "Team Environment" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "license": { + "nullable": true, + "allOf": [ + { + "title": "License Simple", + "description": "License Simple", + "type": "object", + "properties": { + "key": { + "type": "string", + "example": "mit" + }, + "name": { + "type": "string", + "example": "MIT License" + }, + "url": { + "type": "string", + "nullable": true, + "format": "uri", + "example": "https://api.github.com/licenses/mit" + }, + "spdx_id": { + "type": "string", + "nullable": true, + "example": "MIT" + }, + "node_id": { + "type": "string", + "example": "MDc6TGljZW5zZW1pdA==" + }, + "html_url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "key", + "name", + "url", + "spdx_id", + "node_id" + ] + } + ] + }, + "forks": { + "type": "integer" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + } + }, + "required": [ + "admin", + "pull", + "push" + ] + }, + "owner": { + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "description": "Whether the repository is private or public.", + "default": false, + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string", + "example": "git:github.com/octocat/Hello-World.git" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string", + "example": "git@github.com:octocat/Hello-World.git" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World.git" + }, + "mirror_url": { + "type": "string", + "format": "uri", + "example": "git:git.example.com/octocat/Hello-World", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string", + "format": "uri", + "example": "https://svn.github.com/octocat/Hello-World" + }, + "homepage": { + "type": "string", + "format": "uri", + "example": "https://github.com", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer", + "example": 9 + }, + "stargazers_count": { + "type": "integer", + "example": 80 + }, + "watchers_count": { + "type": "integer", + "example": 80 + }, + "size": { + "type": "integer", + "example": 108 + }, + "default_branch": { + "description": "The default branch of the repository.", + "type": "string", + "example": "master" + }, + "open_issues_count": { + "type": "integer", + "example": 0 + }, + "is_template": { + "description": "Whether this repository acts as a template that can be used to generate new repositories.", + "default": false, + "type": "boolean", + "example": true + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "description": "Whether issues are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_projects": { + "description": "Whether projects are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_wiki": { + "description": "Whether the wiki is enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "description": "Whether downloads are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "archived": { + "description": "Whether the repository is archived.", + "default": false, + "type": "boolean" + }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "visibility": { + "description": "The repository visibility: public, private, or internal.", + "default": "public", + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "allow_rebase_merge": { + "description": "Whether to allow rebase merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "template_repository": { + "nullable": true, + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "full_name": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "archive_url": { + "type": "string" + }, + "assignees_url": { + "type": "string" + }, + "blobs_url": { + "type": "string" + }, + "branches_url": { + "type": "string" + }, + "collaborators_url": { + "type": "string" + }, + "comments_url": { + "type": "string" + }, + "commits_url": { + "type": "string" + }, + "compare_url": { + "type": "string" + }, + "contents_url": { + "type": "string" + }, + "contributors_url": { + "type": "string" + }, + "deployments_url": { + "type": "string" + }, + "downloads_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "forks_url": { + "type": "string" + }, + "git_commits_url": { + "type": "string" + }, + "git_refs_url": { + "type": "string" + }, + "git_tags_url": { + "type": "string" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string" + }, + "issue_events_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "keys_url": { + "type": "string" + }, + "labels_url": { + "type": "string" + }, + "languages_url": { + "type": "string" + }, + "merges_url": { + "type": "string" + }, + "milestones_url": { + "type": "string" + }, + "notifications_url": { + "type": "string" + }, + "pulls_url": { + "type": "string" + }, + "releases_url": { + "type": "string" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string" + }, + "statuses_url": { + "type": "string" + }, + "subscribers_url": { + "type": "string" + }, + "subscription_url": { + "type": "string" + }, + "tags_url": { + "type": "string" + }, + "teams_url": { + "type": "string" + }, + "trees_url": { + "type": "string" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string" + }, + "language": { + "type": "string" + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "allow_rebase_merge": { + "type": "boolean" + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "type": "boolean" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "allow_merge_commit": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + } + } + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "description": "Whether to allow squash merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "delete_branch_on_merge": { + "description": "Whether to delete head branches when pull requests are merged", + "default": false, + "type": "boolean", + "example": false + }, + "allow_merge_commit": { + "description": "Whether to allow merge commits for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "open_issues": { + "type": "integer" + }, + "watchers": { + "type": "integer" + }, + "master_branch": { + "type": "string" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:42Z\"" + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + } + ] + }, + "temp_clone_token": { + "type": "string" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "license": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "name": { + "type": "string" + }, + "spdx_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "node_id": { + "type": "string" + } + }, + "nullable": true + }, + "forks": { + "type": "integer", + "example": 0 + }, + "open_issues": { + "type": "integer", + "example": 0 + }, + "watchers": { + "type": "integer", + "example": 0 + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url" + ] + }, + "head_repository_id": { + "type": "integer", + "example": 5 + } + }, + "required": [ + "id", + "node_id", + "head_branch", + "run_number", + "event", + "status", + "conclusion", + "head_sha", + "workflow_id", + "url", + "html_url", + "created_at", + "updated_at", + "head_commit", + "head_repository", + "repository", + "jobs_url", + "logs_url", + "check_suite_url", + "cancel_url", + "rerun_url", + "artifacts_url", + "workflow_url", + "pull_requests" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 1, + "workflow_runs": [ + { + "id": 30433642, + "name": "Build", + "node_id": "MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==", + "head_branch": "master", + "head_sha": "acb5820ced9479c074f688cc328bf03f341a511d", + "run_number": 562, + "event": "push", + "status": "queued", + "conclusion": null, + "workflow_id": 159038, + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642", + "html_url": "https://github.com/octo-org/octo-repo/actions/runs/30433642", + "pull_requests": [ + + ], + "created_at": "2020-01-22T19:33:08Z", + "updated_at": "2020-01-22T19:33:08Z", + "jobs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs", + "logs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs", + "check_suite_url": "https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374", + "artifacts_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts", + "cancel_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel", + "rerun_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun", + "workflow_url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038", + "head_commit": { + "id": "acb5820ced9479c074f688cc328bf03f341a511d", + "tree_id": "d23f6eedb1e1b9610bbc754ddb5197bfe7271223", + "message": "Create linter.yaml", + "timestamp": "2020-01-22T19:33:05Z", + "author": { + "name": "Octo Cat", + "email": "octocat@github.com" + }, + "committer": { + "name": "GitHub", + "email": "noreply@github.com" + } + }, + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "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 + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "head_repository": { + "id": 217723378, + "node_id": "MDEwOlJlcG9zaXRvcnkyMTc3MjMzNzg=", + "name": "octo-repo", + "full_name": "octo-org/octo-repo", + "private": true, + "owner": { + "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 + }, + "html_url": "https://github.com/octo-org/octo-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/octo-org/octo-repo", + "forks_url": "https://api.github.com/repos/octo-org/octo-repo/forks", + "keys_url": "https://api.github.com/repos/octo-org/octo-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/octo-org/octo-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/octo-org/octo-repo/teams", + "hooks_url": "https://api.github.com/repos/octo-org/octo-repo/hooks", + "issue_events_url": "https://api.github.com/repos/octo-org/octo-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/octo-org/octo-repo/events", + "assignees_url": "https://api.github.com/repos/octo-org/octo-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/octo-org/octo-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/octo-org/octo-repo/tags", + "blobs_url": "https://api.github.com/repos/octo-org/octo-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/octo-org/octo-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/octo-org/octo-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/octo-org/octo-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/octo-org/octo-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/octo-org/octo-repo/languages", + "stargazers_url": "https://api.github.com/repos/octo-org/octo-repo/stargazers", + "contributors_url": "https://api.github.com/repos/octo-org/octo-repo/contributors", + "subscribers_url": "https://api.github.com/repos/octo-org/octo-repo/subscribers", + "subscription_url": "https://api.github.com/repos/octo-org/octo-repo/subscription", + "commits_url": "https://api.github.com/repos/octo-org/octo-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/octo-org/octo-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/octo-org/octo-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/octo-org/octo-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/octo-org/octo-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/octo-org/octo-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/octo-org/octo-repo/merges", + "archive_url": "https://api.github.com/repos/octo-org/octo-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/octo-org/octo-repo/downloads", + "issues_url": "https://api.github.com/repos/octo-org/octo-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/octo-org/octo-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/octo-org/octo-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octo-org/octo-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/octo-org/octo-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/octo-org/octo-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/octo-org/octo-repo/deployments" + } + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + "get": { + "summary": "Get a workflow run", + "description": "Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Workflow Run", + "description": "An invocation of a workflow", + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "The ID of the workflow run.", + "example": 5 + }, + "name": { + "type": "string", + "description": "The name of the workflow run.", + "example": "Build" + }, + "node_id": { + "type": "string", + "example": "MDEwOkNoZWNrU3VpdGU1" + }, + "head_branch": { + "type": "string", + "nullable": true, + "example": "master" + }, + "head_sha": { + "description": "The SHA of the head commit that points to the version of the worflow being run.", + "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", + "type": "string" + }, + "run_number": { + "type": "integer", + "description": "The auto incrementing run number for the workflow run.", + "example": 106 + }, + "event": { + "type": "string", + "example": "push" + }, + "status": { + "type": "string", + "nullable": true, + "example": "completed" + }, + "conclusion": { + "type": "string", + "nullable": true, + "example": "neutral" + }, + "workflow_id": { + "type": "integer", + "description": "The ID of the parent workflow.", + "example": 5 + }, + "url": { + "type": "string", + "description": "The URL to the workflow run.", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/suites/4" + }, + "pull_requests": { + "type": "array", + "nullable": true, + "items": { + "title": "Pull Request Minimal", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "number": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "head": { + "type": "object", + "properties": { + "ref": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "repo": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "name" + ] + } + }, + "required": [ + "ref", + "sha", + "repo" + ] + }, + "base": { + "type": "object", + "properties": { + "ref": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "repo": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "name" + ] + } + }, + "required": [ + "ref", + "sha", + "repo" + ] + } + }, + "required": [ + "id", + "number", + "url", + "head", + "base" + ] + } + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "jobs_url": { + "description": "The URL to the jobs for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/jobs" + }, + "logs_url": { + "description": "The URL to download the logs for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/logs" + }, + "check_suite_url": { + "description": "The URL to the associated check suite.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/check-suites/12" + }, + "artifacts_url": { + "description": "The URL to the artifacts for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts" + }, + "cancel_url": { + "description": "The URL to cancel the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/cancel" + }, + "rerun_url": { + "description": "The URL to rerun the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun" + }, + "workflow_url": { + "description": "The URL to the workflow.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml" + }, + "head_commit": { + "title": "Simple Commit", + "description": "Simple Commit", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tree_id": { + "type": "string" + }, + "message": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "author": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + } + }, + "required": [ + "name", + "email" + ], + "nullable": true + }, + "committer": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + } + }, + "required": [ + "name", + "email" + ], + "nullable": true + } + }, + "required": [ + "id", + "tree_id", + "message", + "timestamp", + "author", + "committer" + ] + }, + "repository": { + "title": "Minimal Repository", + "description": "Minimal Repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1296269 + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "type": "string", + "example": "Hello-World" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "owner": { + "type": "object", + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "template_repository": { + "nullable": true, + "type": "object", + "allOf": [ + { + "title": "Repository", + "description": "A git repository", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "example": "Team Environment" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "license": { + "nullable": true, + "allOf": [ + { + "title": "License Simple", + "description": "License Simple", + "type": "object", + "properties": { + "key": { + "type": "string", + "example": "mit" + }, + "name": { + "type": "string", + "example": "MIT License" + }, + "url": { + "type": "string", + "nullable": true, + "format": "uri", + "example": "https://api.github.com/licenses/mit" + }, + "spdx_id": { + "type": "string", + "nullable": true, + "example": "MIT" + }, + "node_id": { + "type": "string", + "example": "MDc6TGljZW5zZW1pdA==" + }, + "html_url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "key", + "name", + "url", + "spdx_id", + "node_id" + ] + } + ] + }, + "forks": { + "type": "integer" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + } + }, + "required": [ + "admin", + "pull", + "push" + ] + }, + "owner": { + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "description": "Whether the repository is private or public.", + "default": false, + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string", + "example": "git:github.com/octocat/Hello-World.git" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string", + "example": "git@github.com:octocat/Hello-World.git" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World.git" + }, + "mirror_url": { + "type": "string", + "format": "uri", + "example": "git:git.example.com/octocat/Hello-World", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string", + "format": "uri", + "example": "https://svn.github.com/octocat/Hello-World" + }, + "homepage": { + "type": "string", + "format": "uri", + "example": "https://github.com", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer", + "example": 9 + }, + "stargazers_count": { + "type": "integer", + "example": 80 + }, + "watchers_count": { + "type": "integer", + "example": 80 + }, + "size": { + "type": "integer", + "example": 108 + }, + "default_branch": { + "description": "The default branch of the repository.", + "type": "string", + "example": "master" + }, + "open_issues_count": { + "type": "integer", + "example": 0 + }, + "is_template": { + "description": "Whether this repository acts as a template that can be used to generate new repositories.", + "default": false, + "type": "boolean", + "example": true + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "description": "Whether issues are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_projects": { + "description": "Whether projects are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_wiki": { + "description": "Whether the wiki is enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "description": "Whether downloads are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "archived": { + "description": "Whether the repository is archived.", + "default": false, + "type": "boolean" + }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "visibility": { + "description": "The repository visibility: public, private, or internal.", + "default": "public", + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "allow_rebase_merge": { + "description": "Whether to allow rebase merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "template_repository": { + "nullable": true, + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "full_name": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "archive_url": { + "type": "string" + }, + "assignees_url": { + "type": "string" + }, + "blobs_url": { + "type": "string" + }, + "branches_url": { + "type": "string" + }, + "collaborators_url": { + "type": "string" + }, + "comments_url": { + "type": "string" + }, + "commits_url": { + "type": "string" + }, + "compare_url": { + "type": "string" + }, + "contents_url": { + "type": "string" + }, + "contributors_url": { + "type": "string" + }, + "deployments_url": { + "type": "string" + }, + "downloads_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "forks_url": { + "type": "string" + }, + "git_commits_url": { + "type": "string" + }, + "git_refs_url": { + "type": "string" + }, + "git_tags_url": { + "type": "string" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string" + }, + "issue_events_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "keys_url": { + "type": "string" + }, + "labels_url": { + "type": "string" + }, + "languages_url": { + "type": "string" + }, + "merges_url": { + "type": "string" + }, + "milestones_url": { + "type": "string" + }, + "notifications_url": { + "type": "string" + }, + "pulls_url": { + "type": "string" + }, + "releases_url": { + "type": "string" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string" + }, + "statuses_url": { + "type": "string" + }, + "subscribers_url": { + "type": "string" + }, + "subscription_url": { + "type": "string" + }, + "tags_url": { + "type": "string" + }, + "teams_url": { + "type": "string" + }, + "trees_url": { + "type": "string" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string" + }, + "language": { + "type": "string" + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "allow_rebase_merge": { + "type": "boolean" + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "type": "boolean" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "allow_merge_commit": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + } + } + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "description": "Whether to allow squash merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "delete_branch_on_merge": { + "description": "Whether to delete head branches when pull requests are merged", + "default": false, + "type": "boolean", + "example": false + }, + "allow_merge_commit": { + "description": "Whether to allow merge commits for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "open_issues": { + "type": "integer" + }, + "watchers": { + "type": "integer" + }, + "master_branch": { + "type": "string" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:42Z\"" + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + } + ] + }, + "temp_clone_token": { + "type": "string" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "license": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "name": { + "type": "string" + }, + "spdx_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "node_id": { + "type": "string" + } + }, + "nullable": true + }, + "forks": { + "type": "integer", + "example": 0 + }, + "open_issues": { + "type": "integer", + "example": 0 + }, + "watchers": { + "type": "integer", + "example": 0 + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url" + ] + }, + "head_repository": { + "title": "Minimal Repository", + "description": "Minimal Repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1296269 + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "type": "string", + "example": "Hello-World" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "owner": { + "type": "object", + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "template_repository": { + "nullable": true, + "type": "object", + "allOf": [ + { + "title": "Repository", + "description": "A git repository", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "example": "Team Environment" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "license": { + "nullable": true, + "allOf": [ + { + "title": "License Simple", + "description": "License Simple", + "type": "object", + "properties": { + "key": { + "type": "string", + "example": "mit" + }, + "name": { + "type": "string", + "example": "MIT License" + }, + "url": { + "type": "string", + "nullable": true, + "format": "uri", + "example": "https://api.github.com/licenses/mit" + }, + "spdx_id": { + "type": "string", + "nullable": true, + "example": "MIT" + }, + "node_id": { + "type": "string", + "example": "MDc6TGljZW5zZW1pdA==" + }, + "html_url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "key", + "name", + "url", + "spdx_id", + "node_id" + ] + } + ] + }, + "forks": { + "type": "integer" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + } + }, + "required": [ + "admin", + "pull", + "push" + ] + }, + "owner": { + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "description": "Whether the repository is private or public.", + "default": false, + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string", + "example": "git:github.com/octocat/Hello-World.git" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string", + "example": "git@github.com:octocat/Hello-World.git" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World.git" + }, + "mirror_url": { + "type": "string", + "format": "uri", + "example": "git:git.example.com/octocat/Hello-World", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string", + "format": "uri", + "example": "https://svn.github.com/octocat/Hello-World" + }, + "homepage": { + "type": "string", + "format": "uri", + "example": "https://github.com", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer", + "example": 9 + }, + "stargazers_count": { + "type": "integer", + "example": 80 + }, + "watchers_count": { + "type": "integer", + "example": 80 + }, + "size": { + "type": "integer", + "example": 108 + }, + "default_branch": { + "description": "The default branch of the repository.", + "type": "string", + "example": "master" + }, + "open_issues_count": { + "type": "integer", + "example": 0 + }, + "is_template": { + "description": "Whether this repository acts as a template that can be used to generate new repositories.", + "default": false, + "type": "boolean", + "example": true + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "description": "Whether issues are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_projects": { + "description": "Whether projects are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_wiki": { + "description": "Whether the wiki is enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "description": "Whether downloads are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "archived": { + "description": "Whether the repository is archived.", + "default": false, + "type": "boolean" + }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "visibility": { + "description": "The repository visibility: public, private, or internal.", + "default": "public", + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "allow_rebase_merge": { + "description": "Whether to allow rebase merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "template_repository": { + "nullable": true, + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "full_name": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "archive_url": { + "type": "string" + }, + "assignees_url": { + "type": "string" + }, + "blobs_url": { + "type": "string" + }, + "branches_url": { + "type": "string" + }, + "collaborators_url": { + "type": "string" + }, + "comments_url": { + "type": "string" + }, + "commits_url": { + "type": "string" + }, + "compare_url": { + "type": "string" + }, + "contents_url": { + "type": "string" + }, + "contributors_url": { + "type": "string" + }, + "deployments_url": { + "type": "string" + }, + "downloads_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "forks_url": { + "type": "string" + }, + "git_commits_url": { + "type": "string" + }, + "git_refs_url": { + "type": "string" + }, + "git_tags_url": { + "type": "string" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string" + }, + "issue_events_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "keys_url": { + "type": "string" + }, + "labels_url": { + "type": "string" + }, + "languages_url": { + "type": "string" + }, + "merges_url": { + "type": "string" + }, + "milestones_url": { + "type": "string" + }, + "notifications_url": { + "type": "string" + }, + "pulls_url": { + "type": "string" + }, + "releases_url": { + "type": "string" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string" + }, + "statuses_url": { + "type": "string" + }, + "subscribers_url": { + "type": "string" + }, + "subscription_url": { + "type": "string" + }, + "tags_url": { + "type": "string" + }, + "teams_url": { + "type": "string" + }, + "trees_url": { + "type": "string" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string" + }, + "language": { + "type": "string" + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "allow_rebase_merge": { + "type": "boolean" + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "type": "boolean" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "allow_merge_commit": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + } + } + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "description": "Whether to allow squash merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "delete_branch_on_merge": { + "description": "Whether to delete head branches when pull requests are merged", + "default": false, + "type": "boolean", + "example": false + }, + "allow_merge_commit": { + "description": "Whether to allow merge commits for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "open_issues": { + "type": "integer" + }, + "watchers": { + "type": "integer" + }, + "master_branch": { + "type": "string" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:42Z\"" + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + } + ] + }, + "temp_clone_token": { + "type": "string" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "license": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "name": { + "type": "string" + }, + "spdx_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "node_id": { + "type": "string" + } + }, + "nullable": true + }, + "forks": { + "type": "integer", + "example": 0 + }, + "open_issues": { + "type": "integer", + "example": 0 + }, + "watchers": { + "type": "integer", + "example": 0 + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url" + ] + }, + "head_repository_id": { + "type": "integer", + "example": 5 + } + }, + "required": [ + "id", + "node_id", + "head_branch", + "run_number", + "event", + "status", + "conclusion", + "head_sha", + "workflow_id", + "url", + "html_url", + "created_at", + "updated_at", + "head_commit", + "head_repository", + "repository", + "jobs_url", + "logs_url", + "check_suite_url", + "cancel_url", + "rerun_url", + "artifacts_url", + "workflow_url", + "pull_requests" + ] + }, + "examples": { + "default": { + "value": { + "id": 30433642, + "name": "Build", + "node_id": "MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==", + "head_branch": "master", + "head_sha": "acb5820ced9479c074f688cc328bf03f341a511d", + "run_number": 562, + "event": "push", + "status": "queued", + "conclusion": null, + "workflow_id": 159038, + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642", + "html_url": "https://github.com/octo-org/octo-repo/actions/runs/30433642", + "pull_requests": [ + + ], + "created_at": "2020-01-22T19:33:08Z", + "updated_at": "2020-01-22T19:33:08Z", + "jobs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs", + "logs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs", + "check_suite_url": "https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374", + "artifacts_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts", + "cancel_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel", + "rerun_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun", + "workflow_url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038", + "head_commit": { + "id": "acb5820ced9479c074f688cc328bf03f341a511d", + "tree_id": "d23f6eedb1e1b9610bbc754ddb5197bfe7271223", + "message": "Create linter.yaml", + "timestamp": "2020-01-22T19:33:05Z", + "author": { + "name": "Octo Cat", + "email": "octocat@github.com" + }, + "committer": { + "name": "GitHub", + "email": "noreply@github.com" + } + }, + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "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 + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "head_repository": { + "id": 217723378, + "node_id": "MDEwOlJlcG9zaXRvcnkyMTc3MjMzNzg=", + "name": "octo-repo", + "full_name": "octo-org/octo-repo", + "private": true, + "owner": { + "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 + }, + "html_url": "https://github.com/octo-org/octo-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/octo-org/octo-repo", + "forks_url": "https://api.github.com/repos/octo-org/octo-repo/forks", + "keys_url": "https://api.github.com/repos/octo-org/octo-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/octo-org/octo-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/octo-org/octo-repo/teams", + "hooks_url": "https://api.github.com/repos/octo-org/octo-repo/hooks", + "issue_events_url": "https://api.github.com/repos/octo-org/octo-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/octo-org/octo-repo/events", + "assignees_url": "https://api.github.com/repos/octo-org/octo-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/octo-org/octo-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/octo-org/octo-repo/tags", + "blobs_url": "https://api.github.com/repos/octo-org/octo-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/octo-org/octo-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/octo-org/octo-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/octo-org/octo-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/octo-org/octo-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/octo-org/octo-repo/languages", + "stargazers_url": "https://api.github.com/repos/octo-org/octo-repo/stargazers", + "contributors_url": "https://api.github.com/repos/octo-org/octo-repo/contributors", + "subscribers_url": "https://api.github.com/repos/octo-org/octo-repo/subscribers", + "subscription_url": "https://api.github.com/repos/octo-org/octo-repo/subscription", + "commits_url": "https://api.github.com/repos/octo-org/octo-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/octo-org/octo-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/octo-org/octo-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/octo-org/octo-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/octo-org/octo-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/octo-org/octo-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/octo-org/octo-repo/merges", + "archive_url": "https://api.github.com/repos/octo-org/octo-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/octo-org/octo-repo/downloads", + "issues_url": "https://api.github.com/repos/octo-org/octo-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/octo-org/octo-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/octo-org/octo-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octo-org/octo-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/octo-org/octo-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/octo-org/octo-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/octo-org/octo-repo/deployments" + } + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + }, + "delete": { + "summary": "Delete a workflow run", + "description": "Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is\nprivate you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use\nthis endpoint.", + "operationId": "actions/delete-workflow-run", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { + "get": { + "summary": "Get the review history for a workflow run", + "description": "Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-reviews-for-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-the-review-history-for-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "title": "Environment Approval", + "description": "An entry in the reviews log for environment deployments", + "type": "object", + "properties": { + "environments": { + "description": "The list of environments that were approved or rejected", + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "description": "The id of the environment.", + "example": 56780428, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDExOkVudmlyb25tZW50NTY3ODA0Mjg=" + }, + "name": { + "description": "The name of the environment.", + "example": "staging", + "type": "string" + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/environments/staging" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging" + }, + "created_at": { + "description": "The time that the environment was created, in ISO 8601 format.", + "example": "2020-11-23T22:00:40Z", + "format": "date-time", + "type": "string" + }, + "updated_at": { + "description": "The time that the environment was last updated, in ISO 8601 format.", + "example": "2020-11-23T22:00:40Z", + "format": "date-time", + "type": "string" + } + } + } + }, + "state": { + "description": "Whether deployment to the environment(s) was approved or rejected", + "enum": [ + "approved", + "rejected" + ], + "example": "approved", + "type": "string" + }, + "user": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + }, + "comment": { + "type": "string", + "description": "The comment submitted with the deployment review", + "example": "Ship it!" + } + }, + "required": [ + "environments", + "state", + "user", + "comment" + ] + } + }, + "examples": { + "default": { + "value": [ + { + "state": "approved", + "comment": "Ship it!", + "environments": [ + { + "id": 161088068, + "node_id": "MDExOkVudmlyb25tZW50MTYxMDg4MDY4", + "name": "staging", + "url": "https://api.github.com/repos/github/hello-world/environments/staging", + "html_url": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging", + "created_at": "2020-11-23T22:00:40Z", + "updated_at": "2020-11-23T22:00:40Z" + } + ], + "user": { + "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 + } + } + ] + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + "get": { + "summary": "List workflow run artifacts", + "description": "Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-workflow-run-artifacts", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-workflow-run-artifacts" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "artifacts" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "artifacts": { + "type": "array", + "items": { + "title": "Artifact", + "description": "An artifact", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 5 + }, + "node_id": { + "type": "string", + "example": "MDEwOkNoZWNrU3VpdGU1" + }, + "name": { + "description": "The name of the artifact.", + "type": "string", + "example": "AdventureWorks.Framework" + }, + "size_in_bytes": { + "description": "The size in bytes of the artifact.", + "type": "integer", + "example": 12345 + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5" + }, + "archive_download_url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip" + }, + "expired": { + "description": "Whether or not the artifact has expired.", + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "expires_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": [ + "id", + "node_id", + "name", + "size_in_bytes", + "url", + "archive_download_url", + "expired", + "created_at", + "expires_at", + "updated_at" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 2, + "artifacts": [ + { + "id": 11, + "node_id": "MDg6QXJ0aWZhY3QxMQ==", + "name": "Rails", + "size_in_bytes": 556, + "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11", + "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip", + "expired": false, + "created_at": "2020-01-10T14:59:22Z", + "expires_at": "2020-03-21T14:59:22Z", + "updated_at": "2020-02-21T14:59:22Z" + }, + { + "id": 13, + "node_id": "MDg6QXJ0aWZhY3QxMw==", + "name": "", + "size_in_bytes": 453, + "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13", + "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13/zip", + "expired": false, + "created_at": "2020-01-10T14:59:22Z", + "expires_at": "2020-03-21T14:59:22Z", + "updated_at": "2020-02-21T14:59:22Z" + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "artifacts" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + "post": { + "summary": "Cancel a workflow run", + "description": "Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/cancel-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#cancel-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "202": { + "description": "response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + "get": { + "summary": "List jobs for a workflow run", + "description": "Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/github-ae@latest/rest/overview/resources-in-the-rest-api#parameters).", + "tags": [ + "actions" + ], + "operationId": "actions/list-jobs-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-jobs-for-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "filter", + "description": "Filters jobs by their `completed_at` timestamp. Can be one of: \n\\* `latest`: Returns jobs from the most recent execution of the workflow run. \n\\* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "latest", + "all" + ], + "default": "latest" + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "jobs" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "jobs": { + "type": "array", + "items": { + "title": "Job", + "description": "Information of a job execution in a workflow run", + "type": "object", + "properties": { + "id": { + "description": "The id of the job.", + "example": 21, + "type": "integer" + }, + "run_id": { + "description": "The id of the associated workflow run.", + "example": 5, + "type": "integer" + }, + "run_url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5" + }, + "node_id": { + "type": "string", + "example": "MDg6Q2hlY2tSdW40" + }, + "head_sha": { + "description": "The SHA of the commit that is being run.", + "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", + "type": "string" + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/jobs/21" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/runs/4", + "nullable": true + }, + "status": { + "description": "The phase of the lifecycle that the job is currently in.", + "example": "queued", + "type": "string", + "enum": [ + "queued", + "in_progress", + "completed" + ] + }, + "conclusion": { + "description": "The outcome of the job.", + "example": "success", + "type": "string", + "nullable": true + }, + "started_at": { + "description": "The time that the job started, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string" + }, + "completed_at": { + "description": "The time that the job finished, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string", + "nullable": true + }, + "name": { + "description": "The name of the job.", + "example": "test-coverage", + "type": "string" + }, + "steps": { + "description": "Steps in this job.", + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "status", + "conclusion", + "number" + ], + "properties": { + "status": { + "description": "The phase of the lifecycle that the job is currently in.", + "example": "queued", + "type": "string", + "enum": [ + "queued", + "in_progress", + "completed" + ] + }, + "conclusion": { + "description": "The outcome of the job.", + "example": "success", + "type": "string", + "nullable": true + }, + "name": { + "description": "The name of the job.", + "example": "test-coverage", + "type": "string" + }, + "number": { + "type": "integer", + "example": 1 + }, + "started_at": { + "description": "The time that the step started, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string", + "nullable": true + }, + "completed_at": { + "description": "The time that the job finished, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string", + "nullable": true + } + } + } + }, + "check_run_url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/check-runs/4" + } + }, + "required": [ + "id", + "node_id", + "run_id", + "run_url", + "head_sha", + "name", + "url", + "html_url", + "status", + "conclusion", + "started_at", + "completed_at", + "check_run_url" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 1, + "jobs": [ + { + "id": 399444496, + "run_id": 29679449, + "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", + "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", + "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496", + "html_url": "https://github.com/octo-org/octo-repo/runs/399444496", + "status": "completed", + "conclusion": "success", + "started_at": "2020-01-20T17:42:40Z", + "completed_at": "2020-01-20T17:44:39Z", + "name": "build", + "steps": [ + { + "name": "Set up job", + "status": "completed", + "conclusion": "success", + "number": 1, + "started_at": "2020-01-20T09:42:40.000-08:00", + "completed_at": "2020-01-20T09:42:41.000-08:00" + }, + { + "name": "Run actions/checkout@v2", + "status": "completed", + "conclusion": "success", + "number": 2, + "started_at": "2020-01-20T09:42:41.000-08:00", + "completed_at": "2020-01-20T09:42:45.000-08:00" + }, + { + "name": "Set up Ruby", + "status": "completed", + "conclusion": "success", + "number": 3, + "started_at": "2020-01-20T09:42:45.000-08:00", + "completed_at": "2020-01-20T09:42:45.000-08:00" + }, + { + "name": "Run actions/cache@v2", + "status": "completed", + "conclusion": "success", + "number": 4, + "started_at": "2020-01-20T09:42:45.000-08:00", + "completed_at": "2020-01-20T09:42:48.000-08:00" + }, + { + "name": "Install Bundler", + "status": "completed", + "conclusion": "success", + "number": 5, + "started_at": "2020-01-20T09:42:48.000-08:00", + "completed_at": "2020-01-20T09:42:52.000-08:00" + }, + { + "name": "Install Gems", + "status": "completed", + "conclusion": "success", + "number": 6, + "started_at": "2020-01-20T09:42:52.000-08:00", + "completed_at": "2020-01-20T09:42:53.000-08:00" + }, + { + "name": "Run Tests", + "status": "completed", + "conclusion": "success", + "number": 7, + "started_at": "2020-01-20T09:42:53.000-08:00", + "completed_at": "2020-01-20T09:42:59.000-08:00" + }, + { + "name": "Deploy to Heroku", + "status": "completed", + "conclusion": "success", + "number": 8, + "started_at": "2020-01-20T09:42:59.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + }, + { + "name": "Post actions/cache@v2", + "status": "completed", + "conclusion": "success", + "number": 16, + "started_at": "2020-01-20T09:44:39.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + }, + { + "name": "Complete job", + "status": "completed", + "conclusion": "success", + "number": 17, + "started_at": "2020-01-20T09:44:39.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + } + ], + "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496" + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-jobs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + "get": { + "summary": "Download workflow run logs", + "description": "Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for\n`Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use\nthis endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have\nthe `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/download-workflow-run-logs", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#download-workflow-run-logs" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "302": { + "description": "response", + "headers": { + "Location": { + "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + }, + "delete": { + "summary": "Delete workflow run logs", + "description": "Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-workflow-run-logs", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-workflow-run-logs" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { + "get": { + "summary": "Get pending deployments for a workflow run", + "description": "Get all deployment environments for a workflow run that are waiting for protection rules to pass.\n\nAnyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-pending-deployments-for-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-pending-deployments-for-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "title": "Pending Deployment", + "description": "Details of a deployment that is waiting for protection rules to pass", + "type": "object", + "properties": { + "environment": { + "type": "object", + "properties": { + "id": { + "description": "The id of the environment.", + "example": 56780428, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDExOkVudmlyb25tZW50NTY3ODA0Mjg=" + }, + "name": { + "description": "The name of the environment.", + "example": "staging", + "type": "string" + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/environments/staging" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging" + } + } + }, + "wait_timer": { + "type": "integer", + "description": "The set duration of the wait timer", + "example": 30 + }, + "wait_timer_started_at": { + "description": "The time that the wait timer began.", + "example": "2020-11-23T22:00:40Z", + "format": "date-time", + "type": "string", + "nullable": true + }, + "current_user_can_approve": { + "description": "Whether the currently authenticated user can approve the deployment", + "type": "boolean", + "example": true + }, + "reviewers": { + "type": "array", + "description": "The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of reviewer. Must be one of: `User` or `Team`", + "enum": [ + "User", + "Team" + ], + "example": "User" + }, + "reviewer": { + "anyOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VGVhbTE=" + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/1" + }, + "members_url": { + "type": "string", + "example": "https://api.github.com/organizations/1/team/1/members{/member}" + }, + "name": { + "description": "Name of the team", + "type": "string", + "example": "Justice League" + }, + "description": { + "description": "Description of the team", + "type": "string", + "nullable": true, + "example": "A great team." + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "example": "admin" + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "example": "closed" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/orgs/rails/teams/core" + }, + "repositories_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/1/repos" + }, + "slug": { + "type": "string", + "example": "justice-league" + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "example": "uid=example,ou=users,dc=github,dc=com", + "type": "string" + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ], + "nullable": true + } + ] + } + } + } + } + }, + "required": [ + "environment", + "wait_timer", + "wait_timer_started_at", + "current_user_can_approve", + "reviewers" + ] + } + }, + "examples": { + "default": { + "value": [ + { + "environment": { + "id": 161088068, + "node_id": "MDExOkVudmlyb25tZW50MTYxMDg4MDY4", + "name": "staging", + "url": "https://api.github.com/repos/github/hello-world/environments/staging", + "html_url": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging" + }, + "wait_timer": 30, + "wait_timer_started_at": "2020-11-23T22:00:40Z", + "current_user_can_approve": true, + "reviewers": [ + { + "type": "User", + "reviewer": { + "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 + } + }, + { + "type": "Team", + "reviewer": { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://github.com/orgs/github/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos" + } + } + ] + } + ] + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + }, + "post": { + "summary": "Review pending deployments for a workflow run", + "description": "Approve or reject pending deployments that are waiting on approval by a required reviewer.\n\nAnyone with read access to the repository contents and deployments can use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/review-pending-deployments-for-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#review-pending-deployments-for-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "environment_ids": { + "type": "array", + "description": "The list of environment ids to approve or reject", + "example": [ + 161171787, + 161171795 + ], + "items": { + "type": "integer", + "example": 161171787 + } + }, + "state": { + "type": "string", + "description": "Whether to approve or reject deployment to the specified environments. Must be one of: `approved` or `rejected`", + "enum": [ + "approved", + "rejected" + ], + "example": "approved" + }, + "comment": { + "type": "string", + "description": "A comment to accompany the deployment review", + "example": "Ship it!" + } + }, + "required": [ + "environment_ids", + "state", + "comment" + ] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "title": "Deployment", + "description": "A request for a specific ref(branch,sha,tag) to be deployed", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/example/deployments/1" + }, + "id": { + "description": "Unique identifier of the deployment", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOkRlcGxveW1lbnQx" + }, + "sha": { + "type": "string", + "example": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d" + }, + "ref": { + "description": "The ref to deploy. This can be a branch, tag, or sha.", + "example": "topic-branch", + "type": "string" + }, + "task": { + "description": "Parameter to specify a task to execute", + "example": "deploy", + "type": "string" + }, + "payload": { + "type": "object", + "properties": { + } + }, + "original_environment": { + "type": "string", + "example": "staging" + }, + "environment": { + "description": "Name for the target deployment environment.", + "example": "production", + "type": "string" + }, + "description": { + "type": "string", + "example": "Deploy request from hubot", + "nullable": true + }, + "creator": { + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2012-07-20T01:19:13Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2012-07-20T01:19:13Z" + }, + "statuses_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/example/deployments/1/statuses" + }, + "repository_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/example" + }, + "transient_environment": { + "description": "Specifies if the given environment is will no longer exist at some point in the future. Default: false.", + "example": true, + "type": "boolean" + }, + "production_environment": { + "description": "Specifies if the given environment is one that end-users directly interact with. Default: false.", + "example": true, + "type": "boolean" + }, + "performed_via_github_app": { + "nullable": true, + "allOf": [ + { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "example": 37, + "type": "integer" + }, + "slug": { + "description": "The slug name of the GitHub app", + "example": "probot-owners", + "type": "string" + }, + "node_id": { + "type": "string", + "example": "MDExOkludGVncmF0aW9uMQ==" + }, + "owner": { + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "example": "Probot Owners", + "type": "string" + }, + "description": { + "type": "string", + "example": "The description of the app.", + "nullable": true + }, + "external_url": { + "type": "string", + "format": "uri", + "example": "https://example.com" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/apps/super-ci" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2017-07-08T16:18:44-04:00" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2017-07-08T16:18:44-04:00" + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "example": [ + "label", + "deployment" + ], + "type": "array", + "items": { + "type": "string" + } + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "example": 5, + "type": "integer" + }, + "client_id": { + "type": "string", + "example": "\"Iv1.25b5d1e65ffc4022\"" + }, + "client_secret": { + "type": "string", + "example": "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + }, + "webhook_secret": { + "type": "string", + "example": "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + }, + "pem": { + "type": "string", + "example": "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ], + "additionalProperties": true + } + ] + } + }, + "required": [ + "id", + "node_id", + "sha", + "ref", + "task", + "environment", + "creator", + "payload", + "description", + "statuses_url", + "repository_url", + "url", + "created_at", + "updated_at" + ] + } + }, + "examples": { + "default": { + "value": [ + { + "url": "https://api.github.com/repos/octocat/example/deployments/1", + "id": 1, + "node_id": "MDEwOkRlcGxveW1lbnQx", + "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", + "ref": "topic-branch", + "task": "deploy", + "payload": { + }, + "original_environment": "staging", + "environment": "production", + "description": "Deploy request from hubot", + "creator": { + "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 + }, + "created_at": "2012-07-20T01:19:13Z", + "updated_at": "2012-07-20T01:19:13Z", + "statuses_url": "https://api.github.com/repos/octocat/example/deployments/1/statuses", + "repository_url": "https://api.github.com/repos/octocat/example", + "transient_environment": false, + "production_environment": true + } + ] + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + "post": { + "summary": "Re-run a workflow", + "description": "Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/re-run-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#re-run-a-workflow" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "201": { + "description": "response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + "get": { + "summary": "Get workflow run usage", + "description": "Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub AE-hosted runners. Usage is listed for each GitHub AE-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-workflow-run-usage", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-workflow-run-usage" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The id of the workflow run", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Workflow Run Usage", + "description": "Workflow Run Usage", + "type": "object", + "properties": { + "billable": { + "type": "object", + "properties": { + "UBUNTU": { + "type": "object", + "required": [ + "total_ms", + "jobs" + ], + "properties": { + "total_ms": { + "type": "integer" + }, + "jobs": { + "type": "integer" + } + } + }, + "MACOS": { + "type": "object", + "required": [ + "total_ms", + "jobs" + ], + "properties": { + "total_ms": { + "type": "integer" + }, + "jobs": { + "type": "integer" + } + } + }, + "WINDOWS": { + "type": "object", + "required": [ + "total_ms", + "jobs" + ], + "properties": { + "total_ms": { + "type": "integer" + }, + "jobs": { + "type": "integer" + } + } + } + } + }, + "run_duration_ms": { + "type": "integer" + } + }, + "required": [ + "billable", + "run_duration_ms" + ] + }, + "examples": { + "default": { + "value": { + "billable": { + "UBUNTU": { + "total_ms": 180000, + "jobs": 1 + }, + "MACOS": { + "total_ms": 240000, + "jobs": 4 + }, + "WINDOWS": { + "total_ms": 300000, + "jobs": 2 + } + }, + "run_duration_ms": 500000 + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/secrets": { + "get": { + "summary": "List repository secrets", + "description": "Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-repo-secrets", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-repository-secrets" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "secrets" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "secrets": { + "type": "array", + "items": { + "title": "Actions Secret", + "description": "Set secrets for GitHub Actions.", + "type": "object", + "properties": { + "name": { + "description": "The name of the secret.", + "example": "SECRET_TOKEN", + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "name", + "created_at", + "updated_at" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 2, + "secrets": [ + { + "name": "GH_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z" + }, + { + "name": "GIST_ID", + "created_at": "2020-01-10T10:59:22Z", + "updated_at": "2020-01-11T11:59:22Z" + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + } + }, + "/repos/{owner}/{repo}/actions/secrets/public-key": { + "get": { + "summary": "Get a repository public key", + "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-repo-public-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-repository-public-key" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "ActionsPublicKey", + "description": "The public key used for setting Actions Secrets.", + "type": "object", + "properties": { + "key_id": { + "description": "The identifier for the key.", + "type": "string", + "example": "1234567" + }, + "key": { + "description": "The Base64 encoded public key.", + "type": "string", + "example": "hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs=" + }, + "id": { + "type": "integer", + "example": 2 + }, + "url": { + "type": "string", + "example": "https://api.github.com/user/keys/2" + }, + "title": { + "type": "string", + "example": "ssh-rsa AAAAB3NzaC1yc2EAAA" + }, + "created_at": { + "type": "string", + "example": "2011-01-26T19:01:12Z" + } + }, + "required": [ + "key_id", + "key" + ] + }, + "examples": { + "default": { + "value": { + "key_id": "012345678912345678", + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + } + }, + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + "get": { + "summary": "Get a repository secret", + "description": "Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-repo-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-repository-secret" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Actions Secret", + "description": "Set secrets for GitHub Actions.", + "type": "object", + "properties": { + "name": { + "description": "The name of the secret.", + "example": "SECRET_TOKEN", + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "name", + "created_at", + "updated_at" + ] + }, + "examples": { + "default": { + "value": { + "name": "GH_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + }, + "put": { + "summary": "Create or update a repository secret", + "description": "Creates or updates a repository secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\nthis endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n\n```\nconst sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n```\n\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", + "tags": [ + "actions" + ], + "operationId": "actions/create-or-update-repo-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-a-repository-secret" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "encrypted_value": { + "type": "string", + "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-repository-public-key) endpoint." + }, + "key_id": { + "type": "string", + "description": "ID of the key you used to encrypt the secret." + } + } + }, + "example": { + "encrypted_value": "****************************************************************************************", + "key_id": "012345678912345678" + } + } + } + }, + "responses": { + "201": { + "description": "Response when creating a secret" + }, + "204": { + "description": "Response when updating a secret" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + }, + "delete": { + "summary": "Delete a repository secret", + "description": "Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-repo-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-a-repository-secret" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + } + }, + "/repos/{owner}/{repo}/actions/workflows": { + "get": { + "summary": "List repository workflows", + "description": "Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-repo-workflows", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-repository-workflows" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "workflows" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "workflows": { + "type": "array", + "items": { + "title": "Workflow", + "description": "A GitHub Actions workflow", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 5 + }, + "node_id": { + "type": "string", + "example": "MDg6V29ya2Zsb3cxMg==" + }, + "name": { + "type": "string", + "example": "CI" + }, + "path": { + "type": "string", + "example": "ruby.yaml" + }, + "state": { + "type": "string", + "example": "active", + "enum": [ + "active", + "deleted" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2019-12-06T14:20:20.000Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2019-12-06T14:20:20.000Z" + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/actions/setup-ruby/workflows/5" + }, + "html_url": { + "type": "string", + "example": "https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml" + }, + "badge_url": { + "type": "string", + "example": "https://github.com/actions/setup-ruby/workflows/CI/badge.svg" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "example": "2019-12-06T14:20:20.000Z" + } + }, + "required": [ + "id", + "node_id", + "name", + "path", + "state", + "url", + "html_url", + "badge_url", + "created_at", + "updated_at" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 2, + "workflows": [ + { + "id": 161335, + "node_id": "MDg6V29ya2Zsb3cxNjEzMzU=", + "name": "CI", + "path": ".github/workflows/blank.yaml", + "state": "active", + "created_at": "2020-01-08T23:48:37.000-08:00", + "updated_at": "2020-01-08T23:50:21.000-08:00", + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/161335", + "html_url": "https://github.com/octo-org/octo-repo/blob/master/.github/workflows/161335", + "badge_url": "https://github.com/octo-org/octo-repo/workflows/CI/badge.svg" + }, + { + "id": 269289, + "node_id": "MDE4OldvcmtmbG93IFNlY29uZGFyeTI2OTI4OQ==", + "name": "Linter", + "path": ".github/workflows/linter.yaml", + "state": "active", + "created_at": "2020-01-08T23:48:37.000-08:00", + "updated_at": "2020-01-08T23:50:21.000-08:00", + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/269289", + "html_url": "https://github.com/octo-org/octo-repo/blob/master/.github/workflows/269289", + "badge_url": "https://github.com/octo-org/octo-repo/workflows/Linter/badge.svg" + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflows" + } + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + "get": { + "summary": "Get a workflow", + "description": "Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-a-workflow" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Workflow", + "description": "A GitHub Actions workflow", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 5 + }, + "node_id": { + "type": "string", + "example": "MDg6V29ya2Zsb3cxMg==" + }, + "name": { + "type": "string", + "example": "CI" + }, + "path": { + "type": "string", + "example": "ruby.yaml" + }, + "state": { + "type": "string", + "example": "active", + "enum": [ + "active", + "deleted" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2019-12-06T14:20:20.000Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2019-12-06T14:20:20.000Z" + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/actions/setup-ruby/workflows/5" + }, + "html_url": { + "type": "string", + "example": "https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml" + }, + "badge_url": { + "type": "string", + "example": "https://github.com/actions/setup-ruby/workflows/CI/badge.svg" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "example": "2019-12-06T14:20:20.000Z" + } + }, + "required": [ + "id", + "node_id", + "name", + "path", + "state", + "url", + "html_url", + "badge_url", + "created_at", + "updated_at" + ] + }, + "examples": { + "default": { + "value": { + "id": 161335, + "node_id": "MDg6V29ya2Zsb3cxNjEzMzU=", + "name": "CI", + "path": ".github/workflows/blank.yaml", + "state": "active", + "created_at": "2020-01-08T23:48:37.000-08:00", + "updated_at": "2020-01-08T23:50:21.000-08:00", + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/161335", + "html_url": "https://github.com/octo-org/octo-repo/blob/master/.github/workflows/161335", + "badge_url": "https://github.com/octo-org/octo-repo/workflows/CI/badge.svg" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflows" + } + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + "put": { + "summary": "Disable a workflow", + "description": "Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/disable-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#disable-a-workflow" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflows" + } + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + "post": { + "summary": "Create a workflow dispatch event", + "description": "You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see \"[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see \"[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line).\"", + "operationId": "actions/create-workflow-dispatch", + "tags": [ + "actions" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#create-a-workflow-dispatch-event" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "The git reference for the workflow. The reference can be a branch or tag name." + }, + "inputs": { + "type": "object", + "description": "Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted.", + "additionalProperties": { + "type": "string" + }, + "maxProperties": 10 + } + }, + "required": [ + "ref" + ] + }, + "example": { + "ref": "topic-branch", + "inputs": { + "name": "Mona the Octocat", + "home": "San Francisco, CA" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflows" + } + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + "put": { + "summary": "Enable a workflow", + "description": "Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/enable-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#enable-a-workflow" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflows" + } + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + "get": { + "summary": "List workflow runs", + "description": "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](https://docs.github.com/github-ae@latest/rest/overview/resources-in-the-rest-api#parameters).\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.", + "tags": [ + "actions" + ], + "operationId": "actions/list-workflow-runs", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-workflow-runs" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + } + }, + { + "name": "actor", + "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "branch", + "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`.", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "event", + "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "status", + "description": "Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see \"[Create a check run](https://docs.github.com/github-ae@latest/rest/reference/checks#create-a-check-run).\"", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "completed", + "action_required", + "cancelled", + "failure", + "neutral", + "skipped", + "stale", + "success", + "timed_out", + "in_progress", + "queued", + "requested", + "waiting" + ] + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "workflow_runs" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "workflow_runs": { + "type": "array", + "items": { + "title": "Workflow Run", + "description": "An invocation of a workflow", + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "The ID of the workflow run.", + "example": 5 + }, + "name": { + "type": "string", + "description": "The name of the workflow run.", + "example": "Build" + }, + "node_id": { + "type": "string", + "example": "MDEwOkNoZWNrU3VpdGU1" + }, + "head_branch": { + "type": "string", + "nullable": true, + "example": "master" + }, + "head_sha": { + "description": "The SHA of the head commit that points to the version of the worflow being run.", + "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", + "type": "string" + }, + "run_number": { + "type": "integer", + "description": "The auto incrementing run number for the workflow run.", + "example": 106 + }, + "event": { + "type": "string", + "example": "push" + }, + "status": { + "type": "string", + "nullable": true, + "example": "completed" + }, + "conclusion": { + "type": "string", + "nullable": true, + "example": "neutral" + }, + "workflow_id": { + "type": "integer", + "description": "The ID of the parent workflow.", + "example": 5 + }, + "url": { + "type": "string", + "description": "The URL to the workflow run.", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/suites/4" + }, + "pull_requests": { + "type": "array", + "nullable": true, + "items": { + "title": "Pull Request Minimal", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "number": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "head": { + "type": "object", + "properties": { + "ref": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "repo": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "name" + ] + } + }, + "required": [ + "ref", + "sha", + "repo" + ] + }, + "base": { + "type": "object", + "properties": { + "ref": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "repo": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "name" + ] + } + }, + "required": [ + "ref", + "sha", + "repo" + ] + } + }, + "required": [ + "id", + "number", + "url", + "head", + "base" + ] + } + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "jobs_url": { + "description": "The URL to the jobs for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/jobs" + }, + "logs_url": { + "description": "The URL to download the logs for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/logs" + }, + "check_suite_url": { + "description": "The URL to the associated check suite.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/check-suites/12" + }, + "artifacts_url": { + "description": "The URL to the artifacts for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts" + }, + "cancel_url": { + "description": "The URL to cancel the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/cancel" + }, + "rerun_url": { + "description": "The URL to rerun the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun" + }, + "workflow_url": { + "description": "The URL to the workflow.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml" + }, + "head_commit": { + "title": "Simple Commit", + "description": "Simple Commit", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tree_id": { + "type": "string" + }, + "message": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "author": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + } + }, + "required": [ + "name", + "email" + ], + "nullable": true + }, + "committer": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + } + }, + "required": [ + "name", + "email" + ], + "nullable": true + } + }, + "required": [ + "id", + "tree_id", + "message", + "timestamp", + "author", + "committer" + ] + }, + "repository": { + "title": "Minimal Repository", + "description": "Minimal Repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1296269 + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "type": "string", + "example": "Hello-World" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "owner": { + "type": "object", + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "template_repository": { + "nullable": true, + "type": "object", + "allOf": [ + { + "title": "Repository", + "description": "A git repository", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "example": "Team Environment" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "license": { + "nullable": true, + "allOf": [ + { + "title": "License Simple", + "description": "License Simple", + "type": "object", + "properties": { + "key": { + "type": "string", + "example": "mit" + }, + "name": { + "type": "string", + "example": "MIT License" + }, + "url": { + "type": "string", + "nullable": true, + "format": "uri", + "example": "https://api.github.com/licenses/mit" + }, + "spdx_id": { + "type": "string", + "nullable": true, + "example": "MIT" + }, + "node_id": { + "type": "string", + "example": "MDc6TGljZW5zZW1pdA==" + }, + "html_url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "key", + "name", + "url", + "spdx_id", + "node_id" + ] + } + ] + }, + "forks": { + "type": "integer" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + } + }, + "required": [ + "admin", + "pull", + "push" + ] + }, + "owner": { + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "description": "Whether the repository is private or public.", + "default": false, + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string", + "example": "git:github.com/octocat/Hello-World.git" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string", + "example": "git@github.com:octocat/Hello-World.git" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World.git" + }, + "mirror_url": { + "type": "string", + "format": "uri", + "example": "git:git.example.com/octocat/Hello-World", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string", + "format": "uri", + "example": "https://svn.github.com/octocat/Hello-World" + }, + "homepage": { + "type": "string", + "format": "uri", + "example": "https://github.com", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer", + "example": 9 + }, + "stargazers_count": { + "type": "integer", + "example": 80 + }, + "watchers_count": { + "type": "integer", + "example": 80 + }, + "size": { + "type": "integer", + "example": 108 + }, + "default_branch": { + "description": "The default branch of the repository.", + "type": "string", + "example": "master" + }, + "open_issues_count": { + "type": "integer", + "example": 0 + }, + "is_template": { + "description": "Whether this repository acts as a template that can be used to generate new repositories.", + "default": false, + "type": "boolean", + "example": true + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "description": "Whether issues are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_projects": { + "description": "Whether projects are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_wiki": { + "description": "Whether the wiki is enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "description": "Whether downloads are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "archived": { + "description": "Whether the repository is archived.", + "default": false, + "type": "boolean" + }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "visibility": { + "description": "The repository visibility: public, private, or internal.", + "default": "public", + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "allow_rebase_merge": { + "description": "Whether to allow rebase merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "template_repository": { + "nullable": true, + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "full_name": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "archive_url": { + "type": "string" + }, + "assignees_url": { + "type": "string" + }, + "blobs_url": { + "type": "string" + }, + "branches_url": { + "type": "string" + }, + "collaborators_url": { + "type": "string" + }, + "comments_url": { + "type": "string" + }, + "commits_url": { + "type": "string" + }, + "compare_url": { + "type": "string" + }, + "contents_url": { + "type": "string" + }, + "contributors_url": { + "type": "string" + }, + "deployments_url": { + "type": "string" + }, + "downloads_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "forks_url": { + "type": "string" + }, + "git_commits_url": { + "type": "string" + }, + "git_refs_url": { + "type": "string" + }, + "git_tags_url": { + "type": "string" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string" + }, + "issue_events_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "keys_url": { + "type": "string" + }, + "labels_url": { + "type": "string" + }, + "languages_url": { + "type": "string" + }, + "merges_url": { + "type": "string" + }, + "milestones_url": { + "type": "string" + }, + "notifications_url": { + "type": "string" + }, + "pulls_url": { + "type": "string" + }, + "releases_url": { + "type": "string" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string" + }, + "statuses_url": { + "type": "string" + }, + "subscribers_url": { + "type": "string" + }, + "subscription_url": { + "type": "string" + }, + "tags_url": { + "type": "string" + }, + "teams_url": { + "type": "string" + }, + "trees_url": { + "type": "string" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string" + }, + "language": { + "type": "string" + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "allow_rebase_merge": { + "type": "boolean" + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "type": "boolean" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "allow_merge_commit": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + } + } + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "description": "Whether to allow squash merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "delete_branch_on_merge": { + "description": "Whether to delete head branches when pull requests are merged", + "default": false, + "type": "boolean", + "example": false + }, + "allow_merge_commit": { + "description": "Whether to allow merge commits for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "open_issues": { + "type": "integer" + }, + "watchers": { + "type": "integer" + }, + "master_branch": { + "type": "string" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:42Z\"" + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + } + ] + }, + "temp_clone_token": { + "type": "string" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "license": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "name": { + "type": "string" + }, + "spdx_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "node_id": { + "type": "string" + } + }, + "nullable": true + }, + "forks": { + "type": "integer", + "example": 0 + }, + "open_issues": { + "type": "integer", + "example": 0 + }, + "watchers": { + "type": "integer", + "example": 0 + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url" + ] + }, + "head_repository": { + "title": "Minimal Repository", + "description": "Minimal Repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1296269 + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "type": "string", + "example": "Hello-World" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "owner": { + "type": "object", + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "template_repository": { + "nullable": true, + "type": "object", + "allOf": [ + { + "title": "Repository", + "description": "A git repository", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "example": "Team Environment" + }, + "full_name": { + "type": "string", + "example": "octocat/Hello-World" + }, + "license": { + "nullable": true, + "allOf": [ + { + "title": "License Simple", + "description": "License Simple", + "type": "object", + "properties": { + "key": { + "type": "string", + "example": "mit" + }, + "name": { + "type": "string", + "example": "MIT License" + }, + "url": { + "type": "string", + "nullable": true, + "format": "uri", + "example": "https://api.github.com/licenses/mit" + }, + "spdx_id": { + "type": "string", + "nullable": true, + "example": "MIT" + }, + "node_id": { + "type": "string", + "example": "MDc6TGljZW5zZW1pdA==" + }, + "html_url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "key", + "name", + "url", + "spdx_id", + "node_id" + ] + } + ] + }, + "forks": { + "type": "integer" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + } + }, + "required": [ + "admin", + "pull", + "push" + ] + }, + "owner": { + "nullable": true, + "allOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + } + ] + }, + "private": { + "description": "Whether the repository is private or public.", + "default": false, + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string", + "example": "git:github.com/octocat/Hello-World.git" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string", + "example": "git@github.com:octocat/Hello-World.git" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World.git" + }, + "mirror_url": { + "type": "string", + "format": "uri", + "example": "git:git.example.com/octocat/Hello-World", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string", + "format": "uri", + "example": "https://svn.github.com/octocat/Hello-World" + }, + "homepage": { + "type": "string", + "format": "uri", + "example": "https://github.com", + "nullable": true + }, + "language": { + "type": "string", + "nullable": true + }, + "forks_count": { + "type": "integer", + "example": 9 + }, + "stargazers_count": { + "type": "integer", + "example": 80 + }, + "watchers_count": { + "type": "integer", + "example": 80 + }, + "size": { + "type": "integer", + "example": 108 + }, + "default_branch": { + "description": "The default branch of the repository.", + "type": "string", + "example": "master" + }, + "open_issues_count": { + "type": "integer", + "example": 0 + }, + "is_template": { + "description": "Whether this repository acts as a template that can be used to generate new repositories.", + "default": false, + "type": "boolean", + "example": true + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "description": "Whether issues are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_projects": { + "description": "Whether projects are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_wiki": { + "description": "Whether the wiki is enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "description": "Whether downloads are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "archived": { + "description": "Whether the repository is archived.", + "default": false, + "type": "boolean" + }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "visibility": { + "description": "The repository visibility: public, private, or internal.", + "default": "public", + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "allow_rebase_merge": { + "description": "Whether to allow rebase merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "template_repository": { + "nullable": true, + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "full_name": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + }, + "private": { + "type": "boolean" + }, + "html_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "fork": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "archive_url": { + "type": "string" + }, + "assignees_url": { + "type": "string" + }, + "blobs_url": { + "type": "string" + }, + "branches_url": { + "type": "string" + }, + "collaborators_url": { + "type": "string" + }, + "comments_url": { + "type": "string" + }, + "commits_url": { + "type": "string" + }, + "compare_url": { + "type": "string" + }, + "contents_url": { + "type": "string" + }, + "contributors_url": { + "type": "string" + }, + "deployments_url": { + "type": "string" + }, + "downloads_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "forks_url": { + "type": "string" + }, + "git_commits_url": { + "type": "string" + }, + "git_refs_url": { + "type": "string" + }, + "git_tags_url": { + "type": "string" + }, + "git_url": { + "type": "string" + }, + "issue_comment_url": { + "type": "string" + }, + "issue_events_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "keys_url": { + "type": "string" + }, + "labels_url": { + "type": "string" + }, + "languages_url": { + "type": "string" + }, + "merges_url": { + "type": "string" + }, + "milestones_url": { + "type": "string" + }, + "notifications_url": { + "type": "string" + }, + "pulls_url": { + "type": "string" + }, + "releases_url": { + "type": "string" + }, + "ssh_url": { + "type": "string" + }, + "stargazers_url": { + "type": "string" + }, + "statuses_url": { + "type": "string" + }, + "subscribers_url": { + "type": "string" + }, + "subscription_url": { + "type": "string" + }, + "tags_url": { + "type": "string" + }, + "teams_url": { + "type": "string" + }, + "trees_url": { + "type": "string" + }, + "clone_url": { + "type": "string" + }, + "mirror_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "svn_url": { + "type": "string" + }, + "homepage": { + "type": "string" + }, + "language": { + "type": "string" + }, + "forks_count": { + "type": "integer" + }, + "stargazers_count": { + "type": "integer" + }, + "watchers_count": { + "type": "integer" + }, + "size": { + "type": "integer" + }, + "default_branch": { + "type": "string" + }, + "open_issues_count": { + "type": "integer" + }, + "is_template": { + "type": "boolean" + }, + "topics": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_issues": { + "type": "boolean" + }, + "has_projects": { + "type": "boolean" + }, + "has_wiki": { + "type": "boolean" + }, + "has_pages": { + "type": "boolean" + }, + "has_downloads": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "disabled": { + "type": "boolean" + }, + "visibility": { + "type": "string" + }, + "pushed_at": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + } + } + }, + "allow_rebase_merge": { + "type": "boolean" + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "type": "boolean" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "allow_merge_commit": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + } + } + }, + "temp_clone_token": { + "type": "string" + }, + "allow_squash_merge": { + "description": "Whether to allow squash merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "delete_branch_on_merge": { + "description": "Whether to delete head branches when pull requests are merged", + "default": false, + "type": "boolean", + "example": false + }, + "allow_merge_commit": { + "description": "Whether to allow merge commits for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "open_issues": { + "type": "integer" + }, + "watchers": { + "type": "integer" + }, + "master_branch": { + "type": "string" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:42Z\"" + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + } + ] + }, + "temp_clone_token": { + "type": "string" + }, + "delete_branch_on_merge": { + "type": "boolean" + }, + "subscribers_count": { + "type": "integer" + }, + "network_count": { + "type": "integer" + }, + "license": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "name": { + "type": "string" + }, + "spdx_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "node_id": { + "type": "string" + } + }, + "nullable": true + }, + "forks": { + "type": "integer", + "example": 0 + }, + "open_issues": { + "type": "integer", + "example": 0 + }, + "watchers": { + "type": "integer", + "example": 0 + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url" + ] + }, + "head_repository_id": { + "type": "integer", + "example": 5 + } + }, + "required": [ + "id", + "node_id", + "head_branch", + "run_number", + "event", + "status", + "conclusion", + "head_sha", + "workflow_id", + "url", + "html_url", + "created_at", + "updated_at", + "head_commit", + "head_repository", + "repository", + "jobs_url", + "logs_url", + "check_suite_url", + "cancel_url", + "rerun_url", + "artifacts_url", + "workflow_url", + "pull_requests" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 1, + "workflow_runs": [ + { + "id": 30433642, + "name": "Build", + "node_id": "MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==", + "head_branch": "master", + "head_sha": "acb5820ced9479c074f688cc328bf03f341a511d", + "run_number": 562, + "event": "push", + "status": "queued", + "conclusion": null, + "workflow_id": 159038, + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642", + "html_url": "https://github.com/octo-org/octo-repo/actions/runs/30433642", + "pull_requests": [ + + ], + "created_at": "2020-01-22T19:33:08Z", + "updated_at": "2020-01-22T19:33:08Z", + "jobs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs", + "logs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs", + "check_suite_url": "https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374", + "artifacts_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts", + "cancel_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel", + "rerun_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun", + "workflow_url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038", + "head_commit": { + "id": "acb5820ced9479c074f688cc328bf03f341a511d", + "tree_id": "d23f6eedb1e1b9610bbc754ddb5197bfe7271223", + "message": "Create linter.yaml", + "timestamp": "2020-01-22T19:33:05Z", + "author": { + "name": "Octo Cat", + "email": "octocat@github.com" + }, + "committer": { + "name": "GitHub", + "email": "noreply@github.com" + } + }, + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "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 + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "head_repository": { + "id": 217723378, + "node_id": "MDEwOlJlcG9zaXRvcnkyMTc3MjMzNzg=", + "name": "octo-repo", + "full_name": "octo-org/octo-repo", + "private": true, + "owner": { + "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 + }, + "html_url": "https://github.com/octo-org/octo-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/octo-org/octo-repo", + "forks_url": "https://api.github.com/repos/octo-org/octo-repo/forks", + "keys_url": "https://api.github.com/repos/octo-org/octo-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/octo-org/octo-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/octo-org/octo-repo/teams", + "hooks_url": "https://api.github.com/repos/octo-org/octo-repo/hooks", + "issue_events_url": "https://api.github.com/repos/octo-org/octo-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/octo-org/octo-repo/events", + "assignees_url": "https://api.github.com/repos/octo-org/octo-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/octo-org/octo-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/octo-org/octo-repo/tags", + "blobs_url": "https://api.github.com/repos/octo-org/octo-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/octo-org/octo-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/octo-org/octo-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/octo-org/octo-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/octo-org/octo-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/octo-org/octo-repo/languages", + "stargazers_url": "https://api.github.com/repos/octo-org/octo-repo/stargazers", + "contributors_url": "https://api.github.com/repos/octo-org/octo-repo/contributors", + "subscribers_url": "https://api.github.com/repos/octo-org/octo-repo/subscribers", + "subscription_url": "https://api.github.com/repos/octo-org/octo-repo/subscription", + "commits_url": "https://api.github.com/repos/octo-org/octo-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/octo-org/octo-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/octo-org/octo-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/octo-org/octo-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/octo-org/octo-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/octo-org/octo-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/octo-org/octo-repo/merges", + "archive_url": "https://api.github.com/repos/octo-org/octo-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/octo-org/octo-repo/downloads", + "issues_url": "https://api.github.com/repos/octo-org/octo-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/octo-org/octo-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/octo-org/octo-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octo-org/octo-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/octo-org/octo-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/octo-org/octo-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/octo-org/octo-repo/deployments" + } + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + "get": { + "summary": "Get workflow usage", + "description": "Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub AE-hosted runners. Usage is listed for each GitHub AE-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nYou can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-workflow-usage", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-workflow-usage" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Workflow Usage", + "description": "Workflow Usage", + "type": "object", + "properties": { + "billable": { + "type": "object", + "properties": { + "UBUNTU": { + "type": "object", + "properties": { + "total_ms": { + "type": "integer" + } + } + }, + "MACOS": { + "type": "object", + "properties": { + "total_ms": { + "type": "integer" + } + } + }, + "WINDOWS": { + "type": "object", + "properties": { + "total_ms": { + "type": "integer" + } + } + } + } + } + }, + "required": [ + "billable" + ] + }, + "examples": { + "default": { + "value": { + "billable": { + "UBUNTU": { + "total_ms": 180000 + }, + "MACOS": { + "total_ms": 240000 + }, + "WINDOWS": { + "total_ms": 300000 + } + } + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + + ], + "category": "actions", + "subcategory": "workflows" + } + } + }, "/repos/{owner}/{repo}/assignees": { "get": { "summary": "List assignees", @@ -98198,6 +120061,2876 @@ } } }, + "/repos/{owner}/{repo}/code-scanning/alerts": { + "get": { + "summary": "List code scanning alerts for a repository", + "description": "Lists all open code scanning alerts for the default branch (usually `main`\nor `master`). You must use an access token with the `security_events` scope to use\nthis endpoint. GitHub Apps must have the `security_events` read permission to use\nthis endpoint.\n\nThe response includes a `most_recent_instance` object.\nThis provides details of the most recent instance of this alert\nfor the the default branch or for the specified Git reference\n(if you used `ref` in the request).", + "tags": [ + "code-scanning" + ], + "operationId": "code-scanning/list-alerts-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tool_name", + "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "The name of the tool used to generate the code scanning analysis." + } + }, + { + "name": "tool_guid", + "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.", + "in": "query", + "required": false, + "schema": { + "nullable": true, + "type": "string", + "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "ref", + "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + } + }, + { + "name": "state", + "description": "Set to `open`, `fixed`, or `dismissed` to list code scanning alerts in a specific state.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "State of a code scanning alert.", + "enum": [ + "open", + "dismissed", + "fixed" + ] + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "number": { + "type": "integer", + "description": "The security alert number.", + "readOnly": true, + "nullable": false + }, + "created_at": { + "type": "string", + "description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date-time", + "readOnly": true, + "nullable": false + }, + "url": { + "type": "string", + "description": "The REST API URL of the alert resource.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "html_url": { + "type": "string", + "description": "The GitHub URL of the alert resource.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "instances_url": { + "type": "string", + "description": "The REST API URL for fetching the list of instances for an alert.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "state": { + "type": "string", + "description": "State of a code scanning alert.", + "enum": [ + "open", + "dismissed", + "fixed" + ] + }, + "dismissed_by": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + }, + "dismissed_at": { + "type": "string", + "description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date-time", + "readOnly": true, + "nullable": true + }, + "dismissed_reason": { + "type": "string", + "description": "**Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`.", + "nullable": true, + "oneOf": [ + { + "enum": [ + "false positive", + "won't fix", + "used in tests" + ] + }, + { + "enum": [ + null + ] + } + ] + }, + "rule": { + "type": "object", + "properties": { + "id": { + "nullable": true, + "type": "string", + "description": "A unique identifier for the rule used to detect the alert." + }, + "name": { + "type": "string", + "description": "The name of the rule used to detect the alert." + }, + "severity": { + "nullable": true, + "type": "string", + "description": "The severity of the alert.", + "enum": [ + "none", + "note", + "warning", + "error" + ] + }, + "description": { + "type": "string", + "description": "A short description of the rule used to detect the alert." + } + } + }, + "tool": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the tool used to generate the code scanning analysis." + }, + "version": { + "nullable": true, + "type": "string", + "description": "The version of the tool used to generate the code scanning analysis." + }, + "guid": { + "nullable": true, + "type": "string", + "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." + } + } + }, + "most_recent_instance": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + }, + "analysis_key": { + "type": "string", + "description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name." + }, + "environment": { + "type": "string", + "description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed." + }, + "state": { + "type": "string", + "description": "State of a code scanning alert.", + "enum": [ + "open", + "dismissed", + "fixed" + ] + }, + "commit_sha": { + "type": "string" + }, + "message": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + } + }, + "location": { + "type": "object", + "description": "Describe a region within a file for the alert.", + "properties": { + "path": { + "type": "string" + }, + "start_line": { + "type": "integer" + }, + "end_line": { + "type": "integer" + }, + "start_column": { + "type": "integer" + }, + "end_column": { + "type": "integer" + } + } + }, + "html_url": { + "type": "string" + }, + "classifications": { + "type": "array", + "description": "Classifications that have been applied to the file that triggered the alert.\nFor example identifying it as documentation, or a generated file.", + "items": { + "type": "string", + "description": "A classification of the file. For example to identify it as generated.", + "nullable": true, + "enum": [ + "source", + "generated", + "test", + "library" + ] + } + } + } + } + }, + "required": [ + "number", + "created_at", + "url", + "html_url", + "instances_url", + "state", + "dismissed_by", + "dismissed_at", + "dismissed_reason", + "rule", + "tool", + "most_recent_instance" + ] + } + }, + "examples": { + "default": { + "value": [ + { + "number": 4, + "created_at": "2020-02-13T12:29:18Z", + "url": "https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/4", + "html_url": "https://github.com/octocat/hello-world/code-scanning/4", + "state": "open", + "dismissed_by": null, + "dismissed_at": null, + "dismissed_reason": null, + "rule": { + "id": "js/zipslip", + "severity": "error", + "description": "Arbitrary file write during zip extraction", + "name": "js/zipslip" + }, + "tool": { + "name": "CodeQL", + "guid": null, + "version": "2.4.0" + }, + "most_recent_instance": { + "ref": "refs/heads/main", + "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", + "environment": "{}", + "state": "open", + "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", + "message": { + "text": "This path depends on a user-provided value." + }, + "location": { + "path": "spec-main/api-session-spec.ts", + "start_line": 917, + "end_line": 917, + "start_column": 7, + "end_column": 18 + }, + "classifications": [ + "test" + ] + }, + "instances_url": "https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/4/instances" + }, + { + "number": 3, + "created_at": "2020-02-13T12:29:18Z", + "url": "https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/3", + "html_url": "https://github.com/octocat/hello-world/code-scanning/3", + "state": "dismissed", + "dismissed_by": { + "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 + }, + "dismissed_at": "2020-02-14T12:29:18Z", + "dismissed_reason": "false positive", + "rule": { + "id": "js/zipslip", + "severity": "error", + "description": "Arbitrary file write during zip extraction", + "name": "js/zipslip" + }, + "tool": { + "name": "CodeQL", + "guid": null, + "version": "2.4.0" + }, + "most_recent_instance": { + "ref": "refs/heads/main", + "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", + "environment": "{}", + "state": "open", + "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", + "message": { + "text": "This path depends on a user-provided value." + }, + "location": { + "path": "lib/ab12-gen.js", + "start_line": 917, + "end_line": 917, + "start_column": 7, + "end_column": 18 + }, + "classifications": [ + + ] + }, + "instances_url": "https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/3/instances" + } + ] + } + } + } + } + }, + "403": { + "description": "Response if github advanced security is not enabled for this repository", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "404": { + "description": "Resource Not Found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "code-scanning", + "subcategory": null + } + } + }, + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + "get": { + "summary": "Get a code scanning alert", + "description": "Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.\n\n**Deprecation notice**:\nThe instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`.", + "tags": [ + "code-scanning" + ], + "operationId": "code-scanning/get-alert", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#get-a-code-scanning-alert" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alert_number", + "in": "path", + "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", + "required": true, + "schema": { + "type": "integer", + "description": "The security alert number.", + "readOnly": true, + "nullable": false + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "number": { + "type": "integer", + "description": "The security alert number.", + "readOnly": true, + "nullable": false + }, + "created_at": { + "type": "string", + "description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date-time", + "readOnly": true, + "nullable": false + }, + "url": { + "type": "string", + "description": "The REST API URL of the alert resource.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "html_url": { + "type": "string", + "description": "The GitHub URL of the alert resource.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "instances_url": { + "type": "string", + "description": "The REST API URL for fetching the list of instances for an alert.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "state": { + "type": "string", + "description": "State of a code scanning alert.", + "enum": [ + "open", + "dismissed", + "fixed" + ] + }, + "dismissed_by": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + }, + "dismissed_at": { + "type": "string", + "description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date-time", + "readOnly": true, + "nullable": true + }, + "dismissed_reason": { + "type": "string", + "description": "**Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`.", + "nullable": true, + "oneOf": [ + { + "enum": [ + "false positive", + "won't fix", + "used in tests" + ] + }, + { + "enum": [ + null + ] + } + ] + }, + "rule": { + "type": "object", + "properties": { + "id": { + "nullable": true, + "type": "string", + "description": "A unique identifier for the rule used to detect the alert." + }, + "name": { + "type": "string", + "description": "The name of the rule used to detect the alert." + }, + "severity": { + "nullable": true, + "type": "string", + "description": "The severity of the alert.", + "enum": [ + "none", + "note", + "warning", + "error" + ] + }, + "description": { + "type": "string", + "description": "A short description of the rule used to detect the alert." + }, + "full_description": { + "type": "string", + "description": "description of the rule used to detect the alert." + }, + "tags": { + "type": "array", + "description": "A set of tags applicable for the rule.", + "items": { + "type": "string" + } + }, + "help": { + "type": "string", + "description": "Detailed documentation for the rule as GitHub Flavored Markdown." + } + } + }, + "tool": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the tool used to generate the code scanning analysis." + }, + "version": { + "nullable": true, + "type": "string", + "description": "The version of the tool used to generate the code scanning analysis." + }, + "guid": { + "nullable": true, + "type": "string", + "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." + } + } + }, + "most_recent_instance": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + }, + "analysis_key": { + "type": "string", + "description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name." + }, + "environment": { + "type": "string", + "description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed." + }, + "state": { + "type": "string", + "description": "State of a code scanning alert.", + "enum": [ + "open", + "dismissed", + "fixed" + ] + }, + "commit_sha": { + "type": "string" + }, + "message": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + } + }, + "location": { + "type": "object", + "description": "Describe a region within a file for the alert.", + "properties": { + "path": { + "type": "string" + }, + "start_line": { + "type": "integer" + }, + "end_line": { + "type": "integer" + }, + "start_column": { + "type": "integer" + }, + "end_column": { + "type": "integer" + } + } + }, + "html_url": { + "type": "string" + }, + "classifications": { + "type": "array", + "description": "Classifications that have been applied to the file that triggered the alert.\nFor example identifying it as documentation, or a generated file.", + "items": { + "type": "string", + "description": "A classification of the file. For example to identify it as generated.", + "nullable": true, + "enum": [ + "source", + "generated", + "test", + "library" + ] + } + } + } + } + }, + "required": [ + "number", + "created_at", + "url", + "html_url", + "instances_url", + "state", + "dismissed_by", + "dismissed_at", + "dismissed_reason", + "rule", + "tool", + "most_recent_instance" + ] + }, + "examples": { + "default": { + "value": { + "number": 42, + "created_at": "2020-06-19T11:21:34Z", + "url": "https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42", + "html_url": "https://github.com/octocat/hello-world/code-scanning/42", + "state": "dismissed", + "dismissed_by": { + "login": "octocat", + "id": 54933897, + "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 + }, + "dismissed_at": "2020-02-14T12:29:18Z", + "dismissed_reason": "false positive", + "rule": { + "id": "js/zipslip", + "severity": "error", + "description": "Arbitrary file write during zip extraction (\"Zip Slip\")", + "name": "js/zipslip", + "full_description": "Extracting files from a malicious zip archive without validating that the destination file path is within the destination directory can cause files outside the destination directory to be overwritten.", + "tags": [ + "security", + "external/cwe/cwe-022" + ], + "help": "# Arbitrary file write during zip extraction (\"Zip Slip\")\\nExtracting files from a malicious zip archive without validating that the destination file path is within the destination directory can cause files outside the destination directory to be overwritten ..." + }, + "tool": { + "name": "CodeQL", + "guid": null, + "version": "2.4.0" + }, + "most_recent_instance": { + "ref": "refs/heads/main", + "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", + "environment": "{}", + "state": "dismissed", + "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", + "message": { + "text": "This path depends on a user-provided value." + }, + "location": { + "path": "spec-main/api-session-spec.ts", + "start_line": 917, + "end_line": 917, + "start_column": 7, + "end_column": 18 + }, + "classifications": [ + "test" + ] + }, + "instances_url": "https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42/instances" + } + } + } + } + } + }, + "403": { + "description": "Response if github advanced security is not enabled for this repository", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "404": { + "description": "Resource Not Found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "code-scanning", + "subcategory": null + } + }, + "patch": { + "summary": "Update a code scanning alert", + "description": "Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint.", + "operationId": "code-scanning/update-alert", + "tags": [ + "code-scanning" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#update-a-code-scanning-alert" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alert_number", + "in": "path", + "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", + "required": true, + "schema": { + "type": "integer", + "description": "The security alert number.", + "readOnly": true, + "nullable": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "state": { + "description": "Sets the state of the code scanning alert. Can be one of `open` or `dismissed`. You must provide `dismissed_reason` when you set the state to `dismissed`.", + "type": "string", + "enum": [ + "open", + "dismissed" + ] + }, + "dismissed_reason": { + "type": "string", + "description": "**Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`.", + "nullable": true, + "oneOf": [ + { + "enum": [ + "false positive", + "won't fix", + "used in tests" + ] + }, + { + "enum": [ + null + ] + } + ] + } + }, + "required": [ + "state" + ] + }, + "example": { + "state": "dismissed", + "dismissed_reason": "false positive" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "number": { + "type": "integer", + "description": "The security alert number.", + "readOnly": true, + "nullable": false + }, + "created_at": { + "type": "string", + "description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date-time", + "readOnly": true, + "nullable": false + }, + "url": { + "type": "string", + "description": "The REST API URL of the alert resource.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "html_url": { + "type": "string", + "description": "The GitHub URL of the alert resource.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "instances_url": { + "type": "string", + "description": "The REST API URL for fetching the list of instances for an alert.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "state": { + "type": "string", + "description": "State of a code scanning alert.", + "enum": [ + "open", + "dismissed", + "fixed" + ] + }, + "dismissed_by": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + }, + "dismissed_at": { + "type": "string", + "description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date-time", + "readOnly": true, + "nullable": true + }, + "dismissed_reason": { + "type": "string", + "description": "**Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`.", + "nullable": true, + "oneOf": [ + { + "enum": [ + "false positive", + "won't fix", + "used in tests" + ] + }, + { + "enum": [ + null + ] + } + ] + }, + "rule": { + "type": "object", + "properties": { + "id": { + "nullable": true, + "type": "string", + "description": "A unique identifier for the rule used to detect the alert." + }, + "name": { + "type": "string", + "description": "The name of the rule used to detect the alert." + }, + "severity": { + "nullable": true, + "type": "string", + "description": "The severity of the alert.", + "enum": [ + "none", + "note", + "warning", + "error" + ] + }, + "description": { + "type": "string", + "description": "A short description of the rule used to detect the alert." + }, + "full_description": { + "type": "string", + "description": "description of the rule used to detect the alert." + }, + "tags": { + "type": "array", + "description": "A set of tags applicable for the rule.", + "items": { + "type": "string" + } + }, + "help": { + "type": "string", + "description": "Detailed documentation for the rule as GitHub Flavored Markdown." + } + } + }, + "tool": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the tool used to generate the code scanning analysis." + }, + "version": { + "nullable": true, + "type": "string", + "description": "The version of the tool used to generate the code scanning analysis." + }, + "guid": { + "nullable": true, + "type": "string", + "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." + } + } + }, + "most_recent_instance": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + }, + "analysis_key": { + "type": "string", + "description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name." + }, + "environment": { + "type": "string", + "description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed." + }, + "state": { + "type": "string", + "description": "State of a code scanning alert.", + "enum": [ + "open", + "dismissed", + "fixed" + ] + }, + "commit_sha": { + "type": "string" + }, + "message": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + } + }, + "location": { + "type": "object", + "description": "Describe a region within a file for the alert.", + "properties": { + "path": { + "type": "string" + }, + "start_line": { + "type": "integer" + }, + "end_line": { + "type": "integer" + }, + "start_column": { + "type": "integer" + }, + "end_column": { + "type": "integer" + } + } + }, + "html_url": { + "type": "string" + }, + "classifications": { + "type": "array", + "description": "Classifications that have been applied to the file that triggered the alert.\nFor example identifying it as documentation, or a generated file.", + "items": { + "type": "string", + "description": "A classification of the file. For example to identify it as generated.", + "nullable": true, + "enum": [ + "source", + "generated", + "test", + "library" + ] + } + } + } + } + }, + "required": [ + "number", + "created_at", + "url", + "html_url", + "instances_url", + "state", + "dismissed_by", + "dismissed_at", + "dismissed_reason", + "rule", + "tool", + "most_recent_instance" + ] + }, + "examples": { + "default": { + "value": { + "number": 42, + "created_at": "2020-08-25T21:28:36Z", + "url": "https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42", + "html_url": "https://github.com/octocat/hello-world/code-scanning/42", + "state": "dismissed", + "dismissed_by": { + "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 + }, + "dismissed_at": "2020-09-02T22:34:56Z", + "dismissed_reason": "false positive", + "rule": { + "id": "js/zipslip", + "severity": "error", + "description": "Arbitrary file write during zip extraction (\"Zip Slip\")", + "name": "js/zipslip", + "full_description": "Extracting files from a malicious zip archive without validating that the destination file path is within the destination directory can cause files outside the destination directory to be overwritten.", + "tags": [ + "security", + "external/cwe/cwe-022" + ], + "help": "# Arbitrary file write during zip extraction (\"Zip Slip\")\\nExtracting files from a malicious zip archive without validating that the destination file path is within the destination directory can cause files outside the destination directory to be overwritten ..." + }, + "tool": { + "name": "CodeQL", + "guid": null, + "version": "2.4.0" + }, + "most_recent_instance": { + "ref": "refs/heads/main", + "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", + "environment": "{}", + "state": "dismissed", + "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", + "message": { + "text": "This path depends on a user-provided value." + }, + "location": { + "path": "spec-main/api-session-spec.ts", + "start_line": 917, + "end_line": 917, + "start_column": 7, + "end_column": 18 + }, + "classifications": [ + "test" + ] + }, + "instances_url": "https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/42/instances" + } + } + } + } + } + }, + "403": { + "description": "Response if the repository is archived or if github advanced security is not enabled for this repository", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "404": { + "description": "Resource Not Found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "code-scanning" + } + } + }, + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + "get": { + "summary": "List instances of a code scanning alert", + "description": "Lists all instances of the specified code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.", + "tags": [ + "code-scanning" + ], + "operationId": "code-scanning/list-alerts-instances", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alert_number", + "in": "path", + "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", + "required": true, + "schema": { + "type": "integer", + "description": "The security alert number.", + "readOnly": true, + "nullable": false + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "ref", + "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + }, + "analysis_key": { + "type": "string", + "description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name." + }, + "environment": { + "type": "string", + "description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed." + }, + "state": { + "type": "string", + "description": "State of a code scanning alert.", + "enum": [ + "open", + "dismissed", + "fixed" + ] + }, + "commit_sha": { + "type": "string" + }, + "message": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + } + }, + "location": { + "type": "object", + "description": "Describe a region within a file for the alert.", + "properties": { + "path": { + "type": "string" + }, + "start_line": { + "type": "integer" + }, + "end_line": { + "type": "integer" + }, + "start_column": { + "type": "integer" + }, + "end_column": { + "type": "integer" + } + } + }, + "html_url": { + "type": "string" + }, + "classifications": { + "type": "array", + "description": "Classifications that have been applied to the file that triggered the alert.\nFor example identifying it as documentation, or a generated file.", + "items": { + "type": "string", + "description": "A classification of the file. For example to identify it as generated.", + "nullable": true, + "enum": [ + "source", + "generated", + "test", + "library" + ] + } + } + } + } + }, + "examples": { + "default": { + "value": [ + { + "ref": "refs/heads/main", + "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", + "environment": "", + "state": "open", + "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", + "message": { + "text": "This path depends on a user-provided value." + }, + "location": { + "path": "lib/ab12-gen.js", + "start_line": 917, + "end_line": 917, + "start_column": 7, + "end_column": 18 + }, + "classifications": [ + "library" + ] + }, + { + "ref": "refs/pull/3740/merge", + "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", + "environment": "", + "state": "fixed", + "commit_sha": "b09da05606e27f463a2b49287684b4ae777092f2", + "message": { + "text": "This suffix check is missing a length comparison to correctly handle lastIndexOf returning -1." + }, + "location": { + "path": "app/script.js", + "start_line": 2, + "end_line": 2, + "start_column": 10, + "end_column": 50 + }, + "classifications": [ + "source" + ] + } + ] + } + } + } + } + }, + "403": { + "description": "Response if github advanced security is not enabled for this repository", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "404": { + "description": "Resource Not Found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "code-scanning", + "subcategory": null + } + } + }, + "/repos/{owner}/{repo}/code-scanning/analyses": { + "get": { + "summary": "List code scanning analyses for a repository", + "description": "Lists the details of all code scanning analyses for a repository,\nstarting with the most recent.\nThe response is paginated and you can use the `page` and `per_page` parameters\nto list the analyses you're interested in.\nBy default 30 analyses are listed per page.\n\nThe `rules_count` field in the response give the number of rules\nthat were run in the analysis.\nFor very old analyses this data is not available,\nand `0` is returned in this field.\n\nYou must use an access token with the `security_events` scope to use this endpoint.\nGitHub Apps must have the `security_events` read permission to use this endpoint.\n\n**Deprecation notice**:\nThe `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field.", + "operationId": "code-scanning/list-recent-analyses", + "tags": [ + "code-scanning" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tool_name", + "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "The name of the tool used to generate the code scanning analysis." + } + }, + { + "name": "tool_guid", + "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.", + "in": "query", + "required": false, + "schema": { + "nullable": true, + "type": "string", + "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "ref", + "in": "query", + "description": "The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`.", + "required": false, + "schema": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + } + }, + { + "name": "sarif_id", + "in": "query", + "description": "Filter analyses belonging to the same SARIF upload.", + "required": false, + "schema": { + "type": "string", + "description": "An identifier for the upload.", + "example": "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53", + "nullable": false + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + }, + "commit_sha": { + "description": "The SHA of the commit to which the analysis you are uploading relates.", + "type": "string", + "minLength": 40, + "maxLength": 40, + "pattern": "^[0-9a-fA-F]+$" + }, + "analysis_key": { + "type": "string", + "description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name." + }, + "environment": { + "type": "string", + "description": "Identifies the variable values associated with the environment in which this analysis was performed." + }, + "error": { + "type": "string", + "example": "error reading field xyz" + }, + "created_at": { + "type": "string", + "description": "The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date-time", + "readOnly": true, + "nullable": false + }, + "results_count": { + "type": "integer", + "description": "The total number of results in the analysis." + }, + "rules_count": { + "type": "integer", + "description": "The total number of rules used in the analysis." + }, + "id": { + "type": "integer", + "description": "Unique identifier for this analysis." + }, + "url": { + "type": "string", + "description": "The REST API URL of the analysis resource.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "sarif_id": { + "type": "string", + "description": "An identifier for the upload.", + "example": "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53", + "nullable": false + }, + "tool": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the tool used to generate the code scanning analysis." + }, + "version": { + "nullable": true, + "type": "string", + "description": "The version of the tool used to generate the code scanning analysis." + }, + "guid": { + "nullable": true, + "type": "string", + "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." + } + } + }, + "deletable": { + "type": "boolean" + } + }, + "required": [ + "ref", + "commit_sha", + "analysis_key", + "environment", + "error", + "created_at", + "results_count", + "rules_count", + "id", + "url", + "sarif_id", + "tool", + "deletable" + ] + } + }, + "examples": { + "default": { + "value": [ + { + "ref": "refs/heads/main", + "commit_sha": "d99612c3e1f2970085cfbaeadf8f010ef69bad83", + "analysis_key": ".github/workflows/codeql-analysis.yml:analyze", + "environment": "{\"language\":\"python\"}", + "error": "", + "created_at": "2020-08-27T15:05:21Z", + "results_count": 17, + "rules_count": 49, + "id": 201, + "url": "https://api.github.com/repos/octocat/hello-world/code-scanning/analyses/201", + "sarif_id": "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53", + "tool": { + "name": "CodeQL", + "guid": null, + "version": "2.4.0" + }, + "deletable": true + }, + { + "ref": "refs/heads/my-branch", + "commit_sha": "c8cff6510d4d084fb1b4aa13b64b97ca12b07321", + "analysis_key": ".github/workflows/shiftleft.yml:build", + "environment": "{}", + "error": "", + "created_at": "2020-08-31T22:46:44Z", + "results_count": 17, + "rules_count": 32, + "id": 200, + "url": "https://api.github.com/repos/octocat/hello-world/code-scanning/analyses/200", + "sarif_id": "8981cd8e-b078-4ac3-a3be-1dad7dbd0b582", + "tool": { + "name": "Python Security Analysis", + "guid": null, + "version": "1.2.0" + }, + "deletable": true + } + ] + } + } + } + } + }, + "403": { + "description": "Response if github advanced security is not enabled for this repository", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "404": { + "description": "Resource Not Found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "code-scanning" + } + } + }, + "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { + "get": { + "summary": "Get a code scanning analysis for a repository", + "description": "Gets a specified code scanning analysis for a repository.\nYou must use an access token with the `security_events` scope to use this endpoint.\nGitHub Apps must have the `security_events` read permission to use this endpoint.\n\nThe default JSON response contains fields that describe the analysis.\nThis includes the Git reference and commit SHA to which the analysis relates,\nthe datetime of the analysis, the name of the code scanning tool,\nand the number of alerts.\n\nThe `rules_count` field in the default response give the number of rules\nthat were run in the analysis.\nFor very old analyses this data is not available,\nand `0` is returned in this field.\n\nIf you use the Accept header `application/sarif+json`,\nthe response contains the analysis data that was uploaded.\nThis is formatted as\n[SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html).\nFor an example response, see \"[Custom media type for code scanning](#custom-media-type-for-code-scanning).\"\n\n**Deprecation notice**:\nThe `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field.", + "operationId": "code-scanning/get-analysis", + "tags": [ + "code-scanning" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "analysis_id", + "in": "path", + "description": "The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation.", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + }, + "commit_sha": { + "description": "The SHA of the commit to which the analysis you are uploading relates.", + "type": "string", + "minLength": 40, + "maxLength": 40, + "pattern": "^[0-9a-fA-F]+$" + }, + "analysis_key": { + "type": "string", + "description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name." + }, + "environment": { + "type": "string", + "description": "Identifies the variable values associated with the environment in which this analysis was performed." + }, + "error": { + "type": "string", + "example": "error reading field xyz" + }, + "created_at": { + "type": "string", + "description": "The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date-time", + "readOnly": true, + "nullable": false + }, + "results_count": { + "type": "integer", + "description": "The total number of results in the analysis." + }, + "rules_count": { + "type": "integer", + "description": "The total number of rules used in the analysis." + }, + "id": { + "type": "integer", + "description": "Unique identifier for this analysis." + }, + "url": { + "type": "string", + "description": "The REST API URL of the analysis resource.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "sarif_id": { + "type": "string", + "description": "An identifier for the upload.", + "example": "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53", + "nullable": false + }, + "tool": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the tool used to generate the code scanning analysis." + }, + "version": { + "nullable": true, + "type": "string", + "description": "The version of the tool used to generate the code scanning analysis." + }, + "guid": { + "nullable": true, + "type": "string", + "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." + } + } + }, + "deletable": { + "type": "boolean" + } + }, + "required": [ + "ref", + "commit_sha", + "analysis_key", + "environment", + "error", + "created_at", + "results_count", + "rules_count", + "id", + "url", + "sarif_id", + "tool", + "deletable" + ] + }, + "examples": { + "response": { + "summary": "Default response", + "value": { + "ref": "refs/heads/main", + "commit_sha": "c18c69115654ff0166991962832dc2bd7756e655", + "analysis_key": ".github/workflows/codeql-analysis.yml:analyze", + "environment": "{\"language\":\"javascript\"}", + "error": "", + "created_at": "2021-01-13T11:55:49Z", + "results_count": 3, + "rules_count": 67, + "id": 3602840, + "url": "https://api.github.com/repos/octocat/hello-world/code-scanning/analyses/201", + "sarif_id": "47177e22-5596-11eb-80a1-c1e54ef945c6", + "tool": { + "name": "CodeQL", + "guid": null, + "version": "2.4.0" + }, + "deletable": true + } + } + } + } + } + }, + "403": { + "description": "Response if github advanced security is not enabled for this repository", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "404": { + "description": "Resource Not Found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "code-scanning" + } + } + }, + "/repos/{owner}/{repo}/code-scanning/sarifs": { + "post": { + "summary": "Upload an analysis as SARIF data", + "description": "Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint.\n\nYou must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example:\n\n```\ngzip -c analysis-data.sarif | base64\n```\n\nSARIF upload supports a maximum of 1000 results per analysis run. Any results over this limit are ignored. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries.\n\nThe `202 Accepted`, response includes an `id` value.\nYou can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint.\nFor more information, see \"[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload).\"", + "operationId": "code-scanning/upload-sarif", + "tags": [ + "code-scanning" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#upload-an-analysis-as-sarif-data" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "commit_sha": { + "description": "The SHA of the commit to which the analysis you are uploading relates.", + "type": "string", + "minLength": 40, + "maxLength": 40, + "pattern": "^[0-9a-fA-F]+$" + }, + "ref": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + }, + "sarif": { + "description": "A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see \"[SARIF support for code scanning](https://docs.github.com/github-ae@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning).\"", + "type": "string" + }, + "checkout_uri": { + "description": "The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.", + "example": "file:///github/workspace/", + "type": "string", + "format": "uri" + }, + "started_at": { + "description": "The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date", + "type": "string" + }, + "tool_name": { + "description": "The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to \"API\". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`.", + "type": "string" + } + }, + "required": [ + "commit_sha", + "ref", + "sarif" + ] + } + } + } + }, + "responses": { + "202": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "An identifier for the upload.", + "example": "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53", + "nullable": false + }, + "url": { + "type": "string", + "description": "The REST API URL for checking the status of the upload.", + "format": "uri", + "readOnly": true, + "nullable": false + } + } + }, + "examples": { + "default": { + "summary": "Default response", + "value": { + "id": "47177e22-5596-11eb-80a1-c1e54ef945c6", + "url": "https://api.github.com/repos/octocat/hello-world/code-scanning/sarifs/47177e22-5596-11eb-80a1-c1e54ef945c6" + } + } + } + } + } + }, + "400": { + "description": "Response if the sarif field is invalid" + }, + "403": { + "description": "Response if the repository is archived or if github advanced security is not enabled for this repository", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "404": { + "description": "Resource Not Found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "413": { + "description": "Response if the sarif field is too large" + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "code-scanning" + } + } + }, + "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { + "get": { + "summary": "Get information about a SARIF upload", + "description": "Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see \"[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository).\" You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.", + "operationId": "code-scanning/get-sarif", + "tags": [ + "code-scanning" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/code-scanning#get-information-about-a-sarif-upload" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "sarif_id", + "description": "The SARIF ID obtained after uploading.", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "processing_status": { + "type": "string", + "enum": [ + "pending", + "complete" + ], + "description": "`pending` files have not yet been processed, while `complete` means all results in the SARIF have been stored." + }, + "analyses_url": { + "type": "string", + "description": "The REST API URL for getting the analyses associated with the upload.", + "format": "uri", + "readOnly": true, + "nullable": true + } + } + }, + "examples": { + "default": { + "summary": "Default response", + "value": { + "processing_status": "complete", + "analyses_url": "https://api.github.com/repos/octocat/hello-world/code-scanning/analyses?sarif_id=47177e22-5596-11eb-80a1-c1e54ef945c6" + } + } + } + } + } + }, + "403": { + "description": "Response if github advanced security is not enabled for this repository", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + }, + "404": { + "description": "Response if the sarif id does not match any upload" + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [ + + ], + "category": "code-scanning" + } + } + }, "/repos/{owner}/{repo}/collaborators": { "get": { "summary": "List repository collaborators", @@ -123271,6 +148004,1629 @@ } } }, + "/repos/{owner}/{repo}/environments": { + "get": { + "summary": "Get all environments", + "description": "Get all environments for a repository.\n\nAnyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "repos" + ], + "operationId": "repos/get-all-environments", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/repos#get-all-environments" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { + "description": "The number of environments in this repository", + "example": 5, + "type": "integer" + }, + "environments": { + "type": "array", + "items": { + "title": "Environment", + "description": "Details of a deployment environment", + "type": "object", + "properties": { + "id": { + "description": "The id of the environment.", + "example": 56780428, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDExOkVudmlyb25tZW50NTY3ODA0Mjg=" + }, + "name": { + "description": "The name of the environment.", + "example": "staging", + "type": "string" + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/environments/staging" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging" + }, + "created_at": { + "description": "The time that the environment was created, in ISO 8601 format.", + "example": "2020-11-23T22:00:40Z", + "format": "date-time", + "type": "string" + }, + "updated_at": { + "description": "The time that the environment was last updated, in ISO 8601 format.", + "example": "2020-11-23T22:00:40Z", + "format": "date-time", + "type": "string" + }, + "protection_rules": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 3515 + }, + "node_id": { + "type": "string", + "example": "MDQ6R2F0ZTM1MTU=" + }, + "type": { + "type": "string", + "example": "wait_timer" + }, + "wait_timer": { + "type": "integer", + "example": 30, + "description": "The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days)." + } + }, + "required": [ + "id", + "node_id", + "type" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 3755 + }, + "node_id": { + "type": "string", + "example": "MDQ6R2F0ZTM3NTU=" + }, + "type": { + "type": "string", + "example": "required_reviewers" + }, + "reviewers": { + "type": "array", + "description": "The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of reviewer. Must be one of: `User` or `Team`", + "enum": [ + "User", + "Team" + ], + "example": "User" + }, + "reviewer": { + "anyOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VGVhbTE=" + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/1" + }, + "members_url": { + "type": "string", + "example": "https://api.github.com/organizations/1/team/1/members{/member}" + }, + "name": { + "description": "Name of the team", + "type": "string", + "example": "Justice League" + }, + "description": { + "description": "Description of the team", + "type": "string", + "nullable": true, + "example": "A great team." + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "example": "admin" + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "example": "closed" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/orgs/rails/teams/core" + }, + "repositories_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/1/repos" + }, + "slug": { + "type": "string", + "example": "justice-league" + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "example": "uid=example,ou=users,dc=github,dc=com", + "type": "string" + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ], + "nullable": true + } + ] + } + } + } + } + }, + "required": [ + "id", + "node_id", + "type" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 3515 + }, + "node_id": { + "type": "string", + "example": "MDQ6R2F0ZTM1MTU=" + }, + "type": { + "type": "string", + "example": "branch_policy" + } + }, + "required": [ + "id", + "node_id", + "type" + ] + } + ] + } + }, + "deployment_branch_policy": { + "type": "object", + "description": "The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`.", + "properties": { + "protected_branches": { + "type": "boolean", + "description": "Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`." + }, + "custom_branch_policies": { + "type": "boolean", + "description": "Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`." + } + }, + "nullable": true, + "required": [ + "protected_branches", + "custom_branch_policies" + ] + } + }, + "required": [ + "id", + "node_id", + "name", + "url", + "html_url", + "created_at", + "updated_at" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 1, + "environments": [ + { + "id": 161088068, + "node_id": "MDExOkVudmlyb25tZW50MTYxMDg4MDY4", + "name": "staging", + "url": "https://api.github.com/repos/github/hello-world/environments/staging", + "html_url": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging", + "created_at": "2020-11-23T22:00:40Z", + "updated_at": "2020-11-23T22:00:40Z", + "protection_rules": [ + { + "id": 3736, + "node_id": "MDQ6R2F0ZTM3MzY=", + "type": "wait_timer", + "wait_timer": 30 + }, + { + "id": 3755, + "node_id": "MDQ6R2F0ZTM3NTU=", + "type": "required_reviewers", + "reviewers": [ + { + "type": "User", + "reviewer": { + "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 + } + }, + { + "type": "Team", + "reviewer": { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://github.com/orgs/github/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos" + } + } + ] + }, + { + "id": 3756, + "node_id": "MDQ6R2F0ZTM3NTY=", + "type": "branch_policy" + } + ], + "deployment_branch_policy": { + "protected_branches": false, + "custom_branch_policies": true + } + } + ] + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "repos", + "subcategory": "environments" + } + } + }, + "/repos/{owner}/{repo}/environments/{environment_name}": { + "get": { + "summary": "Get an environment", + "description": "Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": [ + "repos" + ], + "operationId": "repos/get-environment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/repos#get-an-environment" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Environment", + "description": "Details of a deployment environment", + "type": "object", + "properties": { + "id": { + "description": "The id of the environment.", + "example": 56780428, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDExOkVudmlyb25tZW50NTY3ODA0Mjg=" + }, + "name": { + "description": "The name of the environment.", + "example": "staging", + "type": "string" + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/environments/staging" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging" + }, + "created_at": { + "description": "The time that the environment was created, in ISO 8601 format.", + "example": "2020-11-23T22:00:40Z", + "format": "date-time", + "type": "string" + }, + "updated_at": { + "description": "The time that the environment was last updated, in ISO 8601 format.", + "example": "2020-11-23T22:00:40Z", + "format": "date-time", + "type": "string" + }, + "protection_rules": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 3515 + }, + "node_id": { + "type": "string", + "example": "MDQ6R2F0ZTM1MTU=" + }, + "type": { + "type": "string", + "example": "wait_timer" + }, + "wait_timer": { + "type": "integer", + "example": 30, + "description": "The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days)." + } + }, + "required": [ + "id", + "node_id", + "type" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 3755 + }, + "node_id": { + "type": "string", + "example": "MDQ6R2F0ZTM3NTU=" + }, + "type": { + "type": "string", + "example": "required_reviewers" + }, + "reviewers": { + "type": "array", + "description": "The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of reviewer. Must be one of: `User` or `Team`", + "enum": [ + "User", + "Team" + ], + "example": "User" + }, + "reviewer": { + "anyOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VGVhbTE=" + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/1" + }, + "members_url": { + "type": "string", + "example": "https://api.github.com/organizations/1/team/1/members{/member}" + }, + "name": { + "description": "Name of the team", + "type": "string", + "example": "Justice League" + }, + "description": { + "description": "Description of the team", + "type": "string", + "nullable": true, + "example": "A great team." + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "example": "admin" + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "example": "closed" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/orgs/rails/teams/core" + }, + "repositories_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/1/repos" + }, + "slug": { + "type": "string", + "example": "justice-league" + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "example": "uid=example,ou=users,dc=github,dc=com", + "type": "string" + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ], + "nullable": true + } + ] + } + } + } + } + }, + "required": [ + "id", + "node_id", + "type" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 3515 + }, + "node_id": { + "type": "string", + "example": "MDQ6R2F0ZTM1MTU=" + }, + "type": { + "type": "string", + "example": "branch_policy" + } + }, + "required": [ + "id", + "node_id", + "type" + ] + } + ] + } + }, + "deployment_branch_policy": { + "type": "object", + "description": "The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`.", + "properties": { + "protected_branches": { + "type": "boolean", + "description": "Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`." + }, + "custom_branch_policies": { + "type": "boolean", + "description": "Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`." + } + }, + "nullable": true, + "required": [ + "protected_branches", + "custom_branch_policies" + ] + } + }, + "required": [ + "id", + "node_id", + "name", + "url", + "html_url", + "created_at", + "updated_at" + ] + }, + "examples": { + "default": { + "value": { + "id": 161088068, + "node_id": "MDExOkVudmlyb25tZW50MTYxMDg4MDY4", + "name": "staging", + "url": "https://api.github.com/repos/github/hello-world/environments/staging", + "html_url": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging", + "created_at": "2020-11-23T22:00:40Z", + "updated_at": "2020-11-23T22:00:40Z", + "protection_rules": [ + { + "id": 3736, + "node_id": "MDQ6R2F0ZTM3MzY=", + "type": "wait_timer", + "wait_timer": 30 + }, + { + "id": 3755, + "node_id": "MDQ6R2F0ZTM3NTU=", + "type": "required_reviewers", + "reviewers": [ + { + "type": "User", + "reviewer": { + "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 + } + }, + { + "type": "Team", + "reviewer": { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://github.com/orgs/github/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos" + } + } + ] + }, + { + "id": 3756, + "node_id": "MDQ6R2F0ZTM3NTY=", + "type": "branch_policy" + } + ], + "deployment_branch_policy": { + "protected_branches": false, + "custom_branch_policies": true + } + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "repos", + "subcategory": "environments" + } + }, + "put": { + "summary": "Create or update an environment", + "description": "Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see \"[Environments](/actions/reference/environments#environment-protection-rules).\"\n\n**Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see \"[Environments](/actions/reference/environments#deployment-branches).\"\n\n**Note:** To create or update secrets for an environment, see \"[Secrets](/rest/reference/actions#secrets).\"\n\nYou must authenticate using an access token with the repo scope to use this endpoint.", + "tags": [ + "repos" + ], + "operationId": "repos/create-or-update-environment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/repos#create-or-update-an-environment" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "wait_timer": { + "type": "integer", + "example": 30, + "description": "The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days)." + }, + "reviewers": { + "type": "array", + "description": "The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of reviewer. Must be one of: `User` or `Team`", + "enum": [ + "User", + "Team" + ], + "example": "User" + }, + "id": { + "type": "integer", + "description": "The id of the user or team who can review the deployment", + "example": 4532992 + } + } + } + }, + "deployment_branch_policy": { + "type": "object", + "description": "The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`.", + "properties": { + "protected_branches": { + "type": "boolean", + "description": "Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`." + }, + "custom_branch_policies": { + "type": "boolean", + "description": "Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`." + } + }, + "nullable": true, + "required": [ + "protected_branches", + "custom_branch_policies" + ] + } + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Environment", + "description": "Details of a deployment environment", + "type": "object", + "properties": { + "id": { + "description": "The id of the environment.", + "example": 56780428, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDExOkVudmlyb25tZW50NTY3ODA0Mjg=" + }, + "name": { + "description": "The name of the environment.", + "example": "staging", + "type": "string" + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/environments/staging" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging" + }, + "created_at": { + "description": "The time that the environment was created, in ISO 8601 format.", + "example": "2020-11-23T22:00:40Z", + "format": "date-time", + "type": "string" + }, + "updated_at": { + "description": "The time that the environment was last updated, in ISO 8601 format.", + "example": "2020-11-23T22:00:40Z", + "format": "date-time", + "type": "string" + }, + "protection_rules": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 3515 + }, + "node_id": { + "type": "string", + "example": "MDQ6R2F0ZTM1MTU=" + }, + "type": { + "type": "string", + "example": "wait_timer" + }, + "wait_timer": { + "type": "integer", + "example": 30, + "description": "The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days)." + } + }, + "required": [ + "id", + "node_id", + "type" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 3755 + }, + "node_id": { + "type": "string", + "example": "MDQ6R2F0ZTM3NTU=" + }, + "type": { + "type": "string", + "example": "required_reviewers" + }, + "reviewers": { + "type": "array", + "description": "The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of reviewer. Must be one of: `User` or `Team`", + "enum": [ + "User", + "Team" + ], + "example": "User" + }, + "reviewer": { + "anyOf": [ + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "octocat" + }, + "id": { + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VXNlcjE=" + }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { + "type": "string", + "example": "41d064eb2195891e12d0413f63227ea7", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { + "type": "string", + "example": "User" + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "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" + ], + "nullable": true + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "example": 1 + }, + "node_id": { + "type": "string", + "example": "MDQ6VGVhbTE=" + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/1" + }, + "members_url": { + "type": "string", + "example": "https://api.github.com/organizations/1/team/1/members{/member}" + }, + "name": { + "description": "Name of the team", + "type": "string", + "example": "Justice League" + }, + "description": { + "description": "Description of the team", + "type": "string", + "nullable": true, + "example": "A great team." + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "example": "admin" + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "example": "closed" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/orgs/rails/teams/core" + }, + "repositories_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/1/repos" + }, + "slug": { + "type": "string", + "example": "justice-league" + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "example": "uid=example,ou=users,dc=github,dc=com", + "type": "string" + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ], + "nullable": true + } + ] + } + } + } + } + }, + "required": [ + "id", + "node_id", + "type" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 3515 + }, + "node_id": { + "type": "string", + "example": "MDQ6R2F0ZTM1MTU=" + }, + "type": { + "type": "string", + "example": "branch_policy" + } + }, + "required": [ + "id", + "node_id", + "type" + ] + } + ] + } + }, + "deployment_branch_policy": { + "type": "object", + "description": "The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`.", + "properties": { + "protected_branches": { + "type": "boolean", + "description": "Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`." + }, + "custom_branch_policies": { + "type": "boolean", + "description": "Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`." + } + }, + "nullable": true, + "required": [ + "protected_branches", + "custom_branch_policies" + ] + } + }, + "required": [ + "id", + "node_id", + "name", + "url", + "html_url", + "created_at", + "updated_at" + ] + }, + "examples": { + "default": { + "value": { + "id": 161088068, + "node_id": "MDExOkVudmlyb25tZW50MTYxMDg4MDY4", + "name": "staging", + "url": "https://api.github.com/repos/github/hello-world/environments/staging", + "html_url": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging", + "created_at": "2020-11-23T22:00:40Z", + "updated_at": "2020-11-23T22:00:40Z", + "protection_rules": [ + { + "id": 3736, + "node_id": "MDQ6R2F0ZTM3MzY=", + "type": "wait_timer", + "wait_timer": 30 + }, + { + "id": 3755, + "node_id": "MDQ6R2F0ZTM3NTU=", + "type": "required_reviewers", + "reviewers": [ + { + "type": "User", + "reviewer": { + "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 + } + }, + { + "type": "Team", + "reviewer": { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://github.com/orgs/github/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos" + } + } + ] + }, + { + "id": 3756, + "node_id": "MDQ6R2F0ZTM3NTY=", + "type": "branch_policy" + } + ], + "deployment_branch_policy": { + "protected_branches": false, + "custom_branch_policies": true + } + } + } + } + } + } + }, + "422": { + "description": "Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "repos", + "subcategory": "environments" + } + }, + "delete": { + "summary": "Delete an environment", + "description": "You must authenticate using an access token with the repo scope to use this endpoint.", + "tags": [ + "repos" + ], + "operationId": "repos/delete-an-environment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/repos#delete-an-environment" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "repos", + "subcategory": "environments" + } + } + }, "/repos/{owner}/{repo}/events": { "get": { "summary": "List repository events", @@ -215545,6 +241901,466 @@ } } }, + "/repositories/{repository_id}/environments/{environment_name}/secrets": { + "get": { + "summary": "List environment secrets", + "description": "Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/list-environment-secrets", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#list-environment-secrets" + }, + "parameters": [ + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "Results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "total_count", + "secrets" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "secrets": { + "type": "array", + "items": { + "title": "Actions Secret", + "description": "Set secrets for GitHub Actions.", + "type": "object", + "properties": { + "name": { + "description": "The name of the secret.", + "example": "SECRET_TOKEN", + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "name", + "created_at", + "updated_at" + ] + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 2, + "secrets": [ + { + "name": "GH_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z" + }, + { + "name": "GIST_ID", + "created_at": "2020-01-10T10:59:22Z", + "updated_at": "2020-01-11T11:59:22Z" + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + } + }, + "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { + "get": { + "summary": "Get an environment public key", + "description": "Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-environment-public-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-environment-public-key" + }, + "parameters": [ + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "ActionsPublicKey", + "description": "The public key used for setting Actions Secrets.", + "type": "object", + "properties": { + "key_id": { + "description": "The identifier for the key.", + "type": "string", + "example": "1234567" + }, + "key": { + "description": "The Base64 encoded public key.", + "type": "string", + "example": "hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs=" + }, + "id": { + "type": "integer", + "example": 2 + }, + "url": { + "type": "string", + "example": "https://api.github.com/user/keys/2" + }, + "title": { + "type": "string", + "example": "ssh-rsa AAAAB3NzaC1yc2EAAA" + }, + "created_at": { + "type": "string", + "example": "2011-01-26T19:01:12Z" + } + }, + "required": [ + "key_id", + "key" + ] + }, + "examples": { + "default": { + "value": { + "key_id": "012345678912345678", + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + } + }, + "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { + "get": { + "summary": "Get an environment secret", + "description": "Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/get-environment-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-environment-secret" + }, + "parameters": [ + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "title": "Actions Secret", + "description": "Set secrets for GitHub Actions.", + "type": "object", + "properties": { + "name": { + "description": "The name of the secret.", + "example": "SECRET_TOKEN", + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "name", + "created_at", + "updated_at" + ] + }, + "examples": { + "default": { + "value": { + "name": "GH_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + }, + "put": { + "summary": "Create or update an environment secret", + "description": "Creates or updates an environment secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\nthis endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n\n```\nconst sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n```\n\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", + "tags": [ + "actions" + ], + "operationId": "actions/create-or-update-environment-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#create-or-update-an-environment-secret" + }, + "parameters": [ + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "encrypted_value": { + "type": "string", + "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/github-ae@latest/rest/reference/actions#get-an-environment-public-key) endpoint." + }, + "key_id": { + "type": "string", + "description": "ID of the key you used to encrypt the secret." + } + } + }, + "example": { + "encrypted_value": "****************************************************************************************", + "key_id": "012345678912345678" + } + } + } + }, + "responses": { + "201": { + "description": "Response when creating a secret" + }, + "204": { + "description": "Response when updating a secret" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + }, + "delete": { + "summary": "Delete an environment secret", + "description": "Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/delete-environment-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/github-ae@latest/rest/reference/actions#delete-an-environment-secret" + }, + "parameters": [ + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "environment_name", + "in": "path", + "required": true, + "description": "The name of the environment", + "schema": { + "type": "string" + } + }, + { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Empty response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "actions", + "subcategory": "secrets" + } + } + }, "/search/code": { "get": { "summary": "Search code", diff --git a/lib/webhooks/static/ghae/check_run.completed.payload.json b/lib/webhooks/static/ghae/check_run.completed.payload.json index cbab42def2..ed6b34b672 100644 --- a/lib/webhooks/static/ghae/check_run.completed.payload.json +++ b/lib/webhooks/static/ghae/check_run.completed.payload.json @@ -250,7 +250,20 @@ } } } - ] + ], + "deployment": { + "url": "https://api.github.com/repos/Codertocat/Hello-World/deployments/326191728", + "id": 326191728, + "node_id": "MDEwOkRlcGxveW1lbnQzMjYxOTE3Mjg=", + "task": "deploy", + "original_environment": "lab", + "environment": "lab", + "description": null, + "created_at": "2021-02-18T08:22:48Z", + "updated_at": "2021-02-18T09:47:16Z", + "statuses_url": "https://api.github.com/repos/Codertocat/Hello-World/deployments/326191728/statuses", + "repository_url": "https://api.github.com/repos/Codertocat/Hello-World" + } }, "repository": { "id": 118, diff --git a/lib/webhooks/static/ghae/check_run.created.payload.json b/lib/webhooks/static/ghae/check_run.created.payload.json index a85f42c207..f6d24e30d9 100644 --- a/lib/webhooks/static/ghae/check_run.created.payload.json +++ b/lib/webhooks/static/ghae/check_run.created.payload.json @@ -250,7 +250,20 @@ } } } - ] + ], + "deployment": { + "url": "https://api.github.com/repos/Codertocat/Hello-World/deployments/326191728", + "id": 326191728, + "node_id": "MDEwOkRlcGxveW1lbnQzMjYxOTE3Mjg=", + "task": "deploy", + "original_environment": "lab", + "environment": "lab", + "description": null, + "created_at": "2021-02-18T08:22:48Z", + "updated_at": "2021-02-18T09:47:16Z", + "statuses_url": "https://api.github.com/repos/Codertocat/Hello-World/deployments/326191728/statuses", + "repository_url": "https://api.github.com/repos/Codertocat/Hello-World" + } }, "repository": { "id": 118, diff --git a/script/enterprise-server-releases/ghes-to-ghae-versioning.js b/script/enterprise-server-releases/ghes-to-ghae-versioning.js index 0813f03962..c497890d9d 100755 --- a/script/enterprise-server-releases/ghes-to-ghae-versioning.js +++ b/script/enterprise-server-releases/ghes-to-ghae-versioning.js @@ -14,7 +14,7 @@ const versionSatisfiesRange = require('../../lib/version-satisfies-range') // [start-readme] // // Run this script to add versions frontmatter and Liquid conditionals for -// GitHub AE, based on anything currently versioned for the provided release +// GitHub AE, based on anything currently versioned for the specified release // of Enterprise Server. This script should be run as part of the Enterprise // Server release process. // @@ -23,28 +23,23 @@ const versionSatisfiesRange = require('../../lib/version-satisfies-range') program .description('Add versions frontmatter and Liquid conditionals for GitHub AE based on a given Enterprise Server release. Runs on all content by default.') .option('-r, --ghes-release ', 'The Enterprise Server release to base AE versioning on. Example: 2.23') - .option('-p, --products [PRODUCT_IDS...]', 'List of space-separated product IDs. Example: admin github developers') - .option('-c, --currentServerReleases', 'Also add AE versioning to conditionals for current Enterprise Server releases.') - .option('-t, --translations', 'Run the script on content and data in translations, too.') + .option('-p, --products [OPTIONAL PRODUCT_IDS...]', 'Optional list of space-separated product IDs. Example: admin github developers') + .option('-t, --translations', 'Run the script on content and data in translations too.') .parse(process.argv) if (!program.ghesRelease) { - console.log('Must provide an Enterprise Server release number!') - process.exit() + console.error('Must provide an Enterprise Server release number!') + process.exit(1) } +console.log(`✅ Adding AE versioning based on GHES ${program.ghesRelease} versioning`) + if (program.products) { console.log(`✅ Running on the following products: ${program.products}`) } else { console.log('✅ Running on all products') } -if (program.currentServerReleases) { - console.log(`✅ Adding AE versioning based on GHES ${program.ghesRelease} versioning and all currently supported GHES versions`) -} else { - console.log(`✅ Adding AE versioning based only on GHES ${program.ghesRelease} versioning`) -} - if (program.translations) { console.log('✅ Running on both English and translated content and data\n') } else { @@ -54,17 +49,14 @@ if (program.translations) { // The new conditional to add const githubAEConditional = 'currentVersion == "github-ae@latest"' -// Existing conditionals to hook on (if program.currentServerReleases is true) -const notDotcomConditional = /currentVersion != "free-pro-team@latest" (or)?(?!and)/ -const allGHESVersionsConditional = /enterpriseServerVersions contains currentVersion (or)?/ - // Match: currentVersion "enterprise-server@(\d+\.\d+)" -const getEnterpriseServerConditional = new RegExp(`currentVersion (\\S+?) "${getEnterpriseServerNumber.source}"`) +// Example: currentVersion ver_gt "enterprise-server@2.21" +const enterpriseServerConditionalRegex = new RegExp(`currentVersion (\\S+?) "${getEnterpriseServerNumber.source}"`) console.log('Working...\n') const englishContentFiles = walkContent(contentPath) -const englishDataFiles = walkData(dataPath, englishContentFiles) +const englishDataFiles = walkData(dataPath) function walkContent (dirPath) { const products = program.products || [''] @@ -77,7 +69,7 @@ function walkContent (dirPath) { }).flat() } -function walkData (dirPath, contentFiles) { +function walkData (dirPath) { return walk(dirPath, { includeBasePath: true, directories: false }) .filter(file => file.includes('/data/reusables') || file.includes('/data/variables')) .filter(file => !file.endsWith('README.md')) @@ -86,7 +78,7 @@ function walkData (dirPath, contentFiles) { let allContentFiles, allDataFiles if (program.translations) { const translatedContentFiles = walkContent(translationsPath) - const translatedDataFiles = walkData(translationsPath, translatedContentFiles) + const translatedDataFiles = walkData(translationsPath) allContentFiles = englishContentFiles.concat(translatedContentFiles) allDataFiles = englishDataFiles.concat(translatedDataFiles) } else { @@ -101,16 +93,21 @@ const operators = { '==': '=' } +// Update the data files allDataFiles .forEach(file => { const dataContent = fs.readFileSync(file, 'utf8') + const conditionalsToUpdate = getConditionalsToUpdate(dataContent) + if (!conditionalsToUpdate.length) return + // Update Liquid in data files - const newDataContent = updateLiquid(dataContent, file) + const newDataContent = updateLiquid(conditionalsToUpdate, dataContent) fs.writeFileSync(file, newDataContent) }) +// Update the content files allContentFiles .forEach(file => { const { data, content } = frontmatter(fs.readFileSync(file, 'utf8')) @@ -118,63 +115,42 @@ allContentFiles // Return early if the current page frontmatter does not apply to either GHAE or the given GHES release if (!(data.versions['github-ae'] || versionSatisfiesRange(program.ghesRelease, data.versions['enterprise-server']))) return - // Add frontmatter version - data.versions['github-ae'] = '*' + const conditionalsToUpdate = getConditionalsToUpdate(content) + if (!conditionalsToUpdate.length) return // Update Liquid in content files - const newContent = updateLiquid(content, file) + const newContent = updateLiquid(conditionalsToUpdate, content) + + // Add frontmatter version + data.versions['github-ae'] = '*' // Update Liquid in frontmatter props Object.keys(data) .filter(key => typeof data[key] === 'string') .forEach(key => { - data[key] = updateLiquid(data[key], file) + const conditionalsToUpdate = getConditionalsToUpdate(data[key]) + if (!conditionalsToUpdate.length) return + data[key] = updateLiquid(conditionalsToUpdate, data[key]) }) fs.writeFileSync(file, frontmatter.stringify(newContent, data, { lineWidth: 10000 })) }) -function updateLiquid (content, file) { - // We need to match on all conditionals first because we have to do replacements _within_ conditionals +function getConditionalsToUpdate (content) { const allConditionals = content.match(/{% if .+?%}/g) - if (!allConditionals) return content + return (allConditionals || []) + .filter(conditional => !conditional.includes('github-ae')) + .filter(conditional => doesReleaseSatisfyConditional(conditional.match(enterpriseServerConditionalRegex))) +} + +function updateLiquid (conditionalsToUpdate, content) { let newContent = content - allConditionals.forEach(conditional => { - // Do not process a conditional that already includes github-ae - if (conditional.includes('github-ae')) return - + conditionalsToUpdate.forEach(conditional => { let newConditional = conditional - // Example match: currentVersion ver_gt "enterprise-server@2.21" - const enterpriseServerMatch = newConditional.match(getEnterpriseServerConditional) - - // Add AE conditional to any `currentVersion != "free-pro-team@latest"` - if (program.currentServerReleases && newConditional.match(notDotcomConditional)) { - if (enterpriseServerMatch && !doesReleaseSatisfyConditional(enterpriseServerMatch)) return - - newConditional = newConditional.replace(/( ?)%}/, `$1or ${githubAEConditional} %}`) - newContent = newContent.replace(conditional, newConditional) - return - } - - // Add AE conditional to any `enterpriseServerVersions contains currentVersion` - if (program.currentServerReleases && newConditional.match(allGHESVersionsConditional)) { - if (enterpriseServerMatch && !doesReleaseSatisfyConditional(enterpriseServerMatch)) return - - newConditional = newConditional.replace(/( ?)%}/, `$1or ${githubAEConditional} %}`) - newContent = newContent.replace(conditional, newConditional) - return - } - - // Add AE conditional to any conditional that applies to enterprise-server@ - if (!enterpriseServerMatch) return - - const releaseSatisfiesConditional = doesReleaseSatisfyConditional(enterpriseServerMatch) - - // Return early if the conditional does not apply to the given GHES release - if (!releaseSatisfiesConditional) return + const enterpriseServerMatch = conditional.match(enterpriseServerConditionalRegex) // First do the replacement within the conditional // Old: {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} @@ -191,6 +167,8 @@ function updateLiquid (content, file) { console.log('Done!') function doesReleaseSatisfyConditional (enterpriseServerMatch) { + if (!enterpriseServerMatch) return + // Example liquid operator: ver_gt const liquidOperator = enterpriseServerMatch[1] diff --git a/tests/meta/repository-references.js b/tests/meta/repository-references.js index e9ffef4a84..a33c93e3d2 100644 --- a/tests/meta/repository-references.js +++ b/tests/meta/repository-references.js @@ -31,10 +31,16 @@ const ALLOW_LIST = new Set([ 'rest-api-description', 'smimesign', 'tweetsodium', - 'choosealicense.com' + 'choosealicense.com', + 'renaming' ]) describe('check for repository references', () => { + // This tests exists to make sure we don't reference private GitHub owned repositories + // in our open-soure repository. If this is failing, and the repo is public, + // feel free to add it to the list above. Or if the feature requires referencing an + // internal repo, add the feature to the ignore list below. + const filenames = walkSync(process.cwd(), { directories: false, ignore: [