From 87e3802629ee999dafdf02e4d6221bb835b703e3 Mon Sep 17 00:00:00 2001 From: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Date: Mon, 8 Sep 2025 16:43:50 +0100 Subject: [PATCH 1/5] Fix some linter errors (#57437) --- .../security-harden-deployments/oidc-in-azure.md | 2 +- .../about-github-certifications.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-azure.md b/content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-azure.md index 87801dc74ccc..28c625b7ef44 100644 --- a/content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-azure.md +++ b/content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-azure.md @@ -91,7 +91,7 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Az CLI login' - uses: azure/login@v2 + uses: azure/login@8c334a195cbb38e46038007b304988d888bf676a with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} diff --git a/content/get-started/showcase-your-expertise-with-github-certifications/about-github-certifications.md b/content/get-started/showcase-your-expertise-with-github-certifications/about-github-certifications.md index ee8e7cc330b7..470e1ebab7e4 100644 --- a/content/get-started/showcase-your-expertise-with-github-certifications/about-github-certifications.md +++ b/content/get-started/showcase-your-expertise-with-github-certifications/about-github-certifications.md @@ -46,7 +46,7 @@ You can highlight your knowledge with the {% data variables.product.prodname_GHA You can certify your ability to optimize and manage a healthy {% data variables.product.prodname_dotcom %} environment with the {% data variables.product.prodname_dotcom %} Admin exam. This exam covers: -* Repository management +* Repository management * Workflow optimization * Efficient collaboration From e21e1e054433975e4d8a2ae311ffdc5786d99d6a Mon Sep 17 00:00:00 2001 From: Stacy Carter Date: Mon, 8 Sep 2025 12:36:32 -0400 Subject: [PATCH 2/5] Fix issue with SAML IdP cert expiration note (#57438) --- .../configuring-saml-single-sign-on-for-your-enterprise.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/admin/managing-iam/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md b/content/admin/managing-iam/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md index 70b2a105921d..909197f39f8d 100644 --- a/content/admin/managing-iam/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md +++ b/content/admin/managing-iam/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md @@ -99,6 +99,9 @@ For more detailed information about how to enable SAML using Okta, see [AUTOTITL 1. Optionally, in the **Issuer** field, type your SAML issuer URL to verify the authenticity of sent messages. 1. Under **Public Certificate**, paste a certificate to verify SAML responses. This is the public key corresponding to the private key used to sign SAML responses. + > [!NOTE] + > {% data variables.product.github %} does not enforce the expiration of this SAML IdP certificate. This means that even if this certificate expires, your SAML authentication will continue to work. However, if your IdP administrator regenerates the SAML certificate, and you don't update it on the {% data variables.product.github %} side, users will encounter a `digest mismatch` error during SAML authentication attempts due to the certificate mismatch. See [Error: Digest mismatch](/admin/managing-iam/using-saml-for-enterprise-iam/troubleshooting-saml-authentication#error-digest-mismatch). + To find the certificate, refer to the documentation for your IdP. Some IdPs call this an X.509 certificate. {% data reusables.saml.edit-signature-and-digest-methods %} From bd24cfd3289d2a35c883713ef6bc90f81d11b59f Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Mon, 8 Sep 2025 09:56:48 -0700 Subject: [PATCH 3/5] Update OpenAPI Description (#57441) Co-authored-by: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Co-authored-by: Kevin Heis --- content/rest/orgs/artifact-metadata.md | 14 + content/rest/orgs/index.md | 1 + content/rest/projects-classic/cards.md | 7 +- src/fixtures/fixtures/rest-redirects.json | 4 +- .../fine-grained-pat-permissions.json | 18 + .../data/fpt-2022-11-28/fine-grained-pat.json | 12 + .../server-to-server-permissions.json | 22 + .../fpt-2022-11-28/server-to-server-rest.json | 12 + .../fpt-2022-11-28/user-to-server-rest.json | 12 + .../fine-grained-pat-permissions.json | 18 + .../ghec-2022-11-28/fine-grained-pat.json | 12 + .../server-to-server-permissions.json | 22 + .../server-to-server-rest.json | 12 + .../ghec-2022-11-28/user-to-server-rest.json | 12 + src/github-apps/lib/config.json | 2 +- src/rest/data/fpt-2022-11-28/schema.json | 2135 +++-------------- src/rest/data/ghec-2022-11-28/schema.json | 870 ++++++- .../data/ghes-3.14-2022-11-28/schema.json | 207 +- .../data/ghes-3.15-2022-11-28/schema.json | 267 +-- .../data/ghes-3.16-2022-11-28/schema.json | 347 ++- .../data/ghes-3.17-2022-11-28/schema.json | 1718 +------------ src/rest/lib/config.json | 2 +- src/webhooks/data/fpt/schema.json | 44 +- src/webhooks/data/ghec/schema.json | 44 +- src/webhooks/data/ghes-3.14/schema.json | 28 + src/webhooks/data/ghes-3.15/schema.json | 28 + src/webhooks/data/ghes-3.16/schema.json | 28 + src/webhooks/data/ghes-3.17/schema.json | 28 + src/webhooks/lib/config.json | 2 +- 29 files changed, 1884 insertions(+), 4044 deletions(-) create mode 100644 content/rest/orgs/artifact-metadata.md diff --git a/content/rest/orgs/artifact-metadata.md b/content/rest/orgs/artifact-metadata.md new file mode 100644 index 000000000000..4c220cd48020 --- /dev/null +++ b/content/rest/orgs/artifact-metadata.md @@ -0,0 +1,14 @@ +--- +title: Artifact metadata +shortTitle: Artifact metadata +intro: "Use these endpoints to retrieve and manage metadata for artifacts in your organization. Artifact metadata provides information about build artifacts, their provenance, and related details." +versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 + fpt: '*' + ghec: '*' +topics: + - API +autogenerated: rest +allowTitleToDifferFromFilename: true +--- + + diff --git a/content/rest/orgs/index.md b/content/rest/orgs/index.md index 0dd5984c737a..9d770e98a69c 100644 --- a/content/rest/orgs/index.md +++ b/content/rest/orgs/index.md @@ -16,6 +16,7 @@ topics: - API children: - /api-insights + - /artifact-metadata - /attestations - /blocking - /bypass-requests diff --git a/content/rest/projects-classic/cards.md b/content/rest/projects-classic/cards.md index 5d1e60c7c168..5aead9540e68 100644 --- a/content/rest/projects-classic/cards.md +++ b/content/rest/projects-classic/cards.md @@ -1,14 +1,15 @@ --- -title: 'REST API endpoints for {% data variables.product.prodname_project_v1_caps %} cards' +title: >- + REST API endpoints for {% data variables.product.prodname_project_v1_caps %} + cards shortTitle: Cards allowTitleToDifferFromFilename: true intro: >- Use the REST API to create and manage cards on a {% data variables.projects.projects_v1_board %}. versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 - fpt: '*' ghec: '*' - ghes: '*' + ghes: <=3.16 topics: - API autogenerated: rest diff --git a/src/fixtures/fixtures/rest-redirects.json b/src/fixtures/fixtures/rest-redirects.json index b9eb9cb5f4ca..5198eea4c07f 100644 --- a/src/fixtures/fixtures/rest-redirects.json +++ b/src/fixtures/fixtures/rest-redirects.json @@ -95,7 +95,7 @@ "/en/enterprise/2.18/v3/users/gpg_keys": "/en/enterprise/2.18/user/rest/reference/users#gpg-keys", "/en/enterprise/2.18/v3/users": "/en/enterprise/2.18/user/rest/reference/users", "/en/enterprise/2.18/v3/users/keys": "/en/enterprise/2.18/user/rest/reference/users#keys", - "/en/enterprise/2.19/v3/activity/event_types": "/en/enterprise-server@2.19/developers/webhooks-and-events/github-event-types", + "/en/enterprise/2.19/v3/activity/event_types": "/en/enterprise-server@2.19/developers/webhooks-and-events/github-event-types", "/en/enterprise/2.19/v3/activity/events/types": "/en/enterprise-server@2.19/developers/webhooks-and-events/webhook-events-and-payloads", "/en/enterprise/2.19/v3/activity/events": "/en/enterprise-server@2.19/rest/reference/activity#events", "/en/enterprise/2.19/v3/activity/feeds": "/en/enterprise-server@2.19/rest/reference/activity#feeds", @@ -460,7 +460,7 @@ "/v3/orgs/outside_collaborators": "/en/rest/orgs/outside-collaborators", "/v3/orgs/pre_receive_hooks": "/en/enterprise-server/rest/enterprise-admin/org-pre-receive-hooks", "/v3/orgs/teams": "/en/rest/teams/teams", - "/v3/projects/cards": "/en/rest/projects-classic/cards", + "/v3/projects/cards": "/en/enterprise-cloud@latest/rest/projects-classic/cards", "/v3/projects/collaborators": "/en/rest/projects-classic/collaborators", "/v3/projects/columns": "/en/rest/projects-classic/columns", "/v3/projects": "/en/rest/projects-classic", diff --git a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json index 4dfbc6070977..67ef873a6024 100644 --- a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json +++ b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json @@ -5139,6 +5139,24 @@ "additional-permissions": false, "access": "read" }, + { + "category": "orgs", + "slug": "create-artifact-metadata-storage-record", + "subcategory": "artifact-metadata", + "verb": "post", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record", + "additional-permissions": false, + "access": "write" + }, + { + "category": "orgs", + "slug": "list-artifact-storage-records", + "subcategory": "artifact-metadata", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records", + "additional-permissions": false, + "access": "read" + }, { "category": "repos", "slug": "list-repository-activities", diff --git a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json index 45c34f2bdcef..fd07b76c10dd 100644 --- a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json @@ -3000,6 +3000,18 @@ "verb": "delete", "requestPath": "/orgs/{org}" }, + { + "slug": "create-artifact-metadata-storage-record", + "subcategory": "artifact-metadata", + "verb": "post", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record" + }, + { + "slug": "list-artifact-storage-records", + "subcategory": "artifact-metadata", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records" + }, { "slug": "delete-attestations-in-bulk", "subcategory": "attestations", diff --git a/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json b/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json index 2fa1e52d21e6..cf48a73f15cb 100644 --- a/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json +++ b/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json @@ -6477,6 +6477,28 @@ "server-to-server": true, "additional-permissions": false }, + { + "category": "orgs", + "slug": "create-artifact-metadata-storage-record", + "subcategory": "artifact-metadata", + "verb": "post", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record", + "access": "write", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": false + }, + { + "category": "orgs", + "slug": "list-artifact-storage-records", + "subcategory": "artifact-metadata", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records", + "access": "read", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": false + }, { "category": "repos", "slug": "list-repository-activities", diff --git a/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json b/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json index 2fc8084a1222..12c04c998361 100644 --- a/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json @@ -2894,6 +2894,18 @@ "verb": "delete", "requestPath": "/orgs/{org}" }, + { + "slug": "create-artifact-metadata-storage-record", + "subcategory": "artifact-metadata", + "verb": "post", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record" + }, + { + "slug": "list-artifact-storage-records", + "subcategory": "artifact-metadata", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records" + }, { "slug": "list-attestations-by-bulk-subject-digests", "subcategory": "orgs", diff --git a/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json b/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json index 672d261672d2..4b66034c86fe 100644 --- a/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json @@ -3374,6 +3374,18 @@ "verb": "delete", "requestPath": "/orgs/{org}" }, + { + "slug": "create-artifact-metadata-storage-record", + "subcategory": "artifact-metadata", + "verb": "post", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record" + }, + { + "slug": "list-artifact-storage-records", + "subcategory": "artifact-metadata", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records" + }, { "slug": "list-attestations-by-bulk-subject-digests", "subcategory": "orgs", diff --git a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json index 3bd70dba2085..7bf97e0ba1cd 100644 --- a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json +++ b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json @@ -5892,6 +5892,24 @@ "additional-permissions": false, "access": "read" }, + { + "category": "orgs", + "slug": "create-artifact-metadata-storage-record", + "subcategory": "artifact-metadata", + "verb": "post", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record", + "additional-permissions": false, + "access": "write" + }, + { + "category": "orgs", + "slug": "list-artifact-storage-records", + "subcategory": "artifact-metadata", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records", + "additional-permissions": false, + "access": "read" + }, { "category": "repos", "slug": "list-repository-activities", diff --git a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json index 307c0bbe5722..e494d9aa6d3a 100644 --- a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json @@ -3250,6 +3250,18 @@ "verb": "delete", "requestPath": "/orgs/{org}" }, + { + "slug": "create-artifact-metadata-storage-record", + "subcategory": "artifact-metadata", + "verb": "post", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record" + }, + { + "slug": "list-artifact-storage-records", + "subcategory": "artifact-metadata", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records" + }, { "slug": "delete-attestations-in-bulk", "subcategory": "attestations", diff --git a/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json b/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json index a1d305897343..bb347dc962c4 100644 --- a/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json +++ b/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json @@ -7554,6 +7554,28 @@ "server-to-server": true, "additional-permissions": false }, + { + "category": "orgs", + "slug": "create-artifact-metadata-storage-record", + "subcategory": "artifact-metadata", + "verb": "post", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record", + "access": "write", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": false + }, + { + "category": "orgs", + "slug": "list-artifact-storage-records", + "subcategory": "artifact-metadata", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records", + "access": "read", + "user-to-server": true, + "server-to-server": true, + "additional-permissions": false + }, { "category": "repos", "slug": "list-repository-activities", diff --git a/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json index 5b4bbdefca04..a678682e7c2f 100644 --- a/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json @@ -3198,6 +3198,18 @@ "verb": "delete", "requestPath": "/orgs/{org}" }, + { + "slug": "create-artifact-metadata-storage-record", + "subcategory": "artifact-metadata", + "verb": "post", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record" + }, + { + "slug": "list-artifact-storage-records", + "subcategory": "artifact-metadata", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records" + }, { "slug": "list-attestations-by-bulk-subject-digests", "subcategory": "orgs", diff --git a/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json index 43c890300638..86ed1f2592d9 100644 --- a/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json @@ -3678,6 +3678,18 @@ "verb": "delete", "requestPath": "/orgs/{org}" }, + { + "slug": "create-artifact-metadata-storage-record", + "subcategory": "artifact-metadata", + "verb": "post", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record" + }, + { + "slug": "list-artifact-storage-records", + "subcategory": "artifact-metadata", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records" + }, { "slug": "list-attestations-by-bulk-subject-digests", "subcategory": "orgs", diff --git a/src/github-apps/lib/config.json b/src/github-apps/lib/config.json index 33664b1bc974..929bb1253b57 100644 --- a/src/github-apps/lib/config.json +++ b/src/github-apps/lib/config.json @@ -60,5 +60,5 @@ "2022-11-28" ] }, - "sha": "d96c183530ab37939c58cb29459b7b5be50ddcb2" + "sha": "f0dc156505ef3ea9ae0fd2f227aca5642c465e4f" } \ No newline at end of file diff --git a/src/rest/data/fpt-2022-11-28/schema.json b/src/rest/data/fpt-2022-11-28/schema.json index db29d8563123..d3bfe3457022 100644 --- a/src/rest/data/fpt-2022-11-28/schema.json +++ b/src/rest/data/fpt-2022-11-28/schema.json @@ -46720,7 +46720,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -50684,7 +50683,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -54642,7 +54640,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -58598,7 +58595,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -62540,7 +62536,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -66506,7 +66501,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -70448,7 +70442,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -74401,7 +74394,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -78354,7 +78346,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -292450,7 +292441,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -295805,7 +295795,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -299082,7 +299071,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -302292,7 +302280,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -305468,7 +305455,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -308717,7 +308703,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -312257,7 +312242,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -315802,7 +315786,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -318970,7 +318953,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -326860,7 +326842,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -331777,7 +331758,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -347890,7 +347870,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -351067,7 +351046,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -354249,7 +354227,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -357447,7 +357424,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -364398,7 +364374,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -367573,7 +367548,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -370755,7 +370729,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -373933,7 +373906,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -377125,7 +377097,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -390804,7 +390775,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -417789,14 +417759,14 @@ ] } ], - "attestations": [ + "artifact-metadata": [ { "serverUrl": "https://api.github.com", "verb": "post", - "requestPath": "/orgs/{org}/attestations/delete-request", - "title": "Delete attestations in bulk", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record", + "title": "Create artifact metadata storage record", "category": "orgs", - "subcategory": "attestations", + "subcategory": "artifact-metadata", "parameters": [ { "name": "org", @@ -417810,11 +417780,55 @@ ], "bodyParameters": [ { - "type": "array of strings", - "name": "subject_digests", + "type": "string", + "name": "name", "in": "body", - "description": "

List of subject digests associated with the artifact attestations to delete.

", + "description": "

The name of the artifact.

", "isRequired": true + }, + { + "type": "string", + "name": "digest", + "in": "body", + "description": "

The digest of the artifact (algorithm:hex-encoded-digest).

", + "isRequired": true + }, + { + "type": "string", + "name": "artifact_url", + "in": "body", + "description": "

The URL where the artifact is stored.

" + }, + { + "type": "string", + "name": "path", + "in": "body", + "description": "

The path of the artifact.

" + }, + { + "type": "string", + "name": "registry_url", + "in": "body", + "description": "

The base URL of the artifact registry.

", + "isRequired": true + }, + { + "type": "string", + "name": "repository", + "in": "body", + "description": "

The repository name within the registry.

" + }, + { + "type": "string", + "name": "status", + "in": "body", + "description": "

The status of the artifact (e.g., active, inactive).

", + "enum": [ + "active", + "eol", + "deleted" + ], + "default": "active" } ], "progAccess": { @@ -417823,31 +417837,113 @@ "fineGrainedPat": true, "permissions": [ { - "\"Attestations\" repository permissions": "write" + "\"Contents\" repository permissions": "write" } ] }, - "codeExamples": [], + "codeExamples": [ + { + "key": "default", + "request": { + "contentType": "application/json", + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "libfoo-1.2.3", + "digest": "sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72", + "artifact_url": "https://reg.example.com/artifactory/bar/libfoo-1.2.3", + "registry_url": "https://reg.example.com/artifactory/", + "repository": "bar", + "status": "active" + }, + "parameters": { + "org": "ORG" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Artifact metadata storage record stored successfully.

", + "example": { + "total_count": 1, + "storage_records": [ + { + "name": "libfoo-1.2.3", + "digest": "sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72", + "artifact_url": "https://reg.example.com/artifactory/bar/libfoo-1.2.3", + "registry_url": "https://reg.example.com/artifactory/", + "repository": "bar", + "status": "active", + "created_at": "2023-10-01T12:00:00Z", + "updated_at": "2023-10-01T12:00:00Z" + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_count": { + "type": "integer", + "examples": [ + 1 + ] + }, + "storage_records": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "digest": { + "type": "string" + }, + "artifact_url": { + "type": "string" + }, + "registry_url": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "status": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + } + } + } + } + } + } + } + } + ], "previews": [], - "descriptionHTML": "

Delete artifact attestations in bulk by either subject digests or unique ID.

", + "descriptionHTML": "

Create metadata storage records for artifacts associated with an organization.\nThis endpoint will create a new artifact storage record on behalf of any artifact matching the provided digest and\nassociated with a repository owned by the organization.

", "statusCodes": [ { "httpStatusCode": "200", - "description": "

OK

" - }, - { - "httpStatusCode": "404", - "description": "

Resource not found

" + "description": "

Artifact metadata storage record stored successfully.

" } ] }, { "serverUrl": "https://api.github.com", - "verb": "delete", - "requestPath": "/orgs/{org}/attestations/digest/{subject_digest}", - "title": "Delete attestations by subject digest", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records", + "title": "List artifact storage records", "category": "orgs", - "subcategory": "attestations", + "subcategory": "artifact-metadata", "parameters": [ { "name": "org", @@ -417860,11 +417956,15 @@ }, { "name": "subject_digest", - "description": "

Subject Digest

", + "description": "

The parameter should be set to the attestation's subject's SHA256 digest, in the form sha256:HEX_DIGEST.

", "in": "path", "required": true, + "example": "sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72", "schema": { - "type": "string" + "type": "string", + "minLength": 71, + "maxLength": 71, + "pattern": "^sha256:[a-f0-9]{64}$" }, "x-multi-segment": true } @@ -417876,15 +417976,15 @@ "fineGrainedPat": true, "permissions": [ { - "\"Attestations\" repository permissions": "write" + "\"Contents\" repository permissions": "read" } ] }, "codeExamples": [ { - "key": "200", + "key": "default", "request": { - "description": "Example 1: Status Code 200", + "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { "org": "ORG", @@ -417893,35 +417993,127 @@ }, "response": { "statusCode": "200", - "description": "

Response

" - } - }, - { - "key": "204", - "request": { - "description": "Example 2: Status Code 204", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "org": "ORG", - "subject_digest": "SUBJECT_DIGEST" + "contentType": "application/json", + "description": "

Response

", + "example": { + "storage_records": [ + { + "name": "libfoo-1.2.3", + "digest": "sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72", + "artifact_url": "https://reg.example.com/artifactory/bar/libfoo-1.2.3", + "registry_url": "https://reg.example.com/artifactory/", + "repository": "bar", + "status": "active", + "created_at": "2023-10-01T12:00:00Z", + "updated_at": "2023-10-01T12:00:00Z" + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_count": { + "description": "The number of storage records for this digest and organization", + "type": "integer", + "examples": [ + 3 + ] + }, + "storage_records": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "digest": { + "type": "string" + }, + "artifact_url": { + "type": "string" + }, + "registry_url": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "status": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + } + } + } + } + } } - }, - "response": { - "statusCode": "204", - "description": "

Response

" } } ], "previews": [], - "descriptionHTML": "

Delete an artifact attestation by subject digest.

", + "descriptionHTML": "

List a collection of artifact storage records with a given subject digest that are associated with repositories owned by an organization.

\n

The collection of storage records returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the content:read permission is required.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" - }, + } + ] + } + ], + "attestations": [ + { + "serverUrl": "https://api.github.com", + "verb": "post", + "requestPath": "/orgs/{org}/attestations/delete-request", + "title": "Delete attestations in bulk", + "category": "orgs", + "subcategory": "attestations", + "parameters": [ { - "httpStatusCode": "204", - "description": "

No Content

" + "name": "org", + "description": "

The organization name. The name is not case sensitive.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "subject_digests", + "in": "body", + "description": "

List of subject digests associated with the artifact attestations to delete.

", + "isRequired": true + } + ], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Attestations\" repository permissions": "write" + } + ] + }, + "codeExamples": [], + "previews": [], + "descriptionHTML": "

Delete artifact attestations in bulk by either subject digests or unique ID.

", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

OK

" }, { "httpStatusCode": "404", @@ -417932,8 +418124,8 @@ { "serverUrl": "https://api.github.com", "verb": "delete", - "requestPath": "/orgs/{org}/attestations/{attestation_id}", - "title": "Delete attestations by ID", + "requestPath": "/orgs/{org}/attestations/digest/{subject_digest}", + "title": "Delete attestations by subject digest", "category": "orgs", "subcategory": "attestations", "parameters": [ @@ -417947,13 +418139,101 @@ } }, { - "name": "attestation_id", - "description": "

Attestation ID

", + "name": "subject_digest", + "description": "

Subject Digest

", "in": "path", "required": true, "schema": { - "type": "integer" - } + "type": "string" + }, + "x-multi-segment": true + } + ], + "bodyParameters": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Attestations\" repository permissions": "write" + } + ] + }, + "codeExamples": [ + { + "key": "200", + "request": { + "description": "Example 1: Status Code 200", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "org": "ORG", + "subject_digest": "SUBJECT_DIGEST" + } + }, + "response": { + "statusCode": "200", + "description": "

Response

" + } + }, + { + "key": "204", + "request": { + "description": "Example 2: Status Code 204", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "org": "ORG", + "subject_digest": "SUBJECT_DIGEST" + } + }, + "response": { + "statusCode": "204", + "description": "

Response

" + } + } + ], + "previews": [], + "descriptionHTML": "

Delete an artifact attestation by subject digest.

", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

OK

" + }, + { + "httpStatusCode": "204", + "description": "

No Content

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "delete", + "requestPath": "/orgs/{org}/attestations/{attestation_id}", + "title": "Delete attestations by ID", + "category": "orgs", + "subcategory": "attestations", + "parameters": [ + { + "name": "org", + "description": "

The organization name. The name is not case sensitive.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "attestation_id", + "description": "

Attestation ID

", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } } ], "bodyParameters": [], @@ -460741,1699 +461021,6 @@ ] }, "projects-classic": { - "cards": [ - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/projects/columns/cards/{card_id}", - "title": "Get a project card", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "card_id", - "description": "

The unique identifier of the card.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [], - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "card_id": "CARD_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "url": "https://api.github.com/projects/columns/cards/1478", - "id": 1478, - "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", - "note": "Add payload for delete Project column", - "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": "2016-09-05T14:21:06Z", - "updated_at": "2016-09-05T14:20:22Z", - "archived": false, - "column_url": "https://api.github.com/projects/columns/367", - "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", - "project_url": "https://api.github.com/projects/120" - }, - "schema": { - "title": "Project Card", - "description": "Project cards represent a scope of work.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/cards/1478" - ] - }, - "id": { - "description": "The project card's ID", - "type": "integer", - "format": "int64", - "examples": [ - 42 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDExOlByb2plY3RDYXJkMTQ3OA==" - ] - }, - "note": { - "type": [ - "string", - "null" - ], - "examples": [ - "Add payload for delete Project column" - ] - }, - "creator": { - "anyOf": [ - { - "type": "null" - }, - { - "title": "Simple User", - "description": "A GitHub user.", - "type": "object", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "email": { - "type": [ - "string", - "null" - ] - }, - "login": { - "type": "string", - "examples": [ - "octocat" - ] - }, - "id": { - "type": "integer", - "format": "int64", - "examples": [ - 1 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDQ6VXNlcjE=" - ] - }, - "avatar_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/images/error/octocat_happy.gif" - ] - }, - "gravatar_id": { - "type": [ - "string", - "null" - ], - "examples": [ - "41d064eb2195891e12d0413f63227ea7" - ] - }, - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat" - ] - }, - "html_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/octocat" - ] - }, - "followers_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/followers" - ] - }, - "following_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/following{/other_user}" - ] - }, - "gists_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/gists{/gist_id}" - ] - }, - "starred_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/starred{/owner}{/repo}" - ] - }, - "subscriptions_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/subscriptions" - ] - }, - "organizations_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/orgs" - ] - }, - "repos_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/repos" - ] - }, - "events_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/events{/privacy}" - ] - }, - "received_events_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/received_events" - ] - }, - "type": { - "type": "string", - "examples": [ - "User" - ] - }, - "site_admin": { - "type": "boolean" - }, - "starred_at": { - "type": "string", - "examples": [ - "\"2020-07-09T00:17:55Z\"" - ] - }, - "user_view_type": { - "type": "string", - "examples": [ - "public" - ] - } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:21:06Z" - ] - }, - "updated_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:20:22Z" - ] - }, - "archived": { - "description": "Whether or not the card is archived", - "type": "boolean", - "examples": [ - false - ] - }, - "column_name": { - "type": "string" - }, - "project_id": { - "type": "string" - }, - "column_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/367" - ] - }, - "content_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/repos/api-playground/projects-test/issues/3" - ] - }, - "project_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/120" - ] - } - }, - "required": [ - "id", - "node_id", - "note", - "url", - "column_url", - "project_url", - "creator", - "created_at", - "updated_at" - ] - } - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "404", - "description": "

Resource not found

" - } - ] - }, - { - "serverUrl": "https://api.github.com", - "verb": "patch", - "requestPath": "/projects/columns/cards/{card_id}", - "title": "Update an existing project card", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "card_id", - "description": "

The unique identifier of the card.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [ - { - "type": "string or null", - "name": "note", - "in": "body", - "description": "

The project card's note

" - }, - { - "type": "boolean", - "name": "archived", - "in": "body", - "description": "

Whether or not the card is archived

" - } - ], - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Change the note on the card", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "note": "Add payload for delete Project column" - }, - "parameters": { - "card_id": "CARD_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "url": "https://api.github.com/projects/columns/cards/1478", - "id": 1478, - "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", - "note": "Add payload for delete Project column", - "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": "2016-09-05T14:21:06Z", - "updated_at": "2016-09-05T14:20:22Z", - "archived": false, - "column_url": "https://api.github.com/projects/columns/367", - "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", - "project_url": "https://api.github.com/projects/120" - }, - "schema": { - "title": "Project Card", - "description": "Project cards represent a scope of work.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/cards/1478" - ] - }, - "id": { - "description": "The project card's ID", - "type": "integer", - "format": "int64", - "examples": [ - 42 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDExOlByb2plY3RDYXJkMTQ3OA==" - ] - }, - "note": { - "type": [ - "string", - "null" - ], - "examples": [ - "Add payload for delete Project column" - ] - }, - "creator": { - "anyOf": [ - { - "type": "null" - }, - { - "title": "Simple User", - "description": "A GitHub user.", - "type": "object", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "email": { - "type": [ - "string", - "null" - ] - }, - "login": { - "type": "string", - "examples": [ - "octocat" - ] - }, - "id": { - "type": "integer", - "format": "int64", - "examples": [ - 1 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDQ6VXNlcjE=" - ] - }, - "avatar_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/images/error/octocat_happy.gif" - ] - }, - "gravatar_id": { - "type": [ - "string", - "null" - ], - "examples": [ - "41d064eb2195891e12d0413f63227ea7" - ] - }, - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat" - ] - }, - "html_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/octocat" - ] - }, - "followers_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/followers" - ] - }, - "following_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/following{/other_user}" - ] - }, - "gists_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/gists{/gist_id}" - ] - }, - "starred_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/starred{/owner}{/repo}" - ] - }, - "subscriptions_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/subscriptions" - ] - }, - "organizations_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/orgs" - ] - }, - "repos_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/repos" - ] - }, - "events_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/events{/privacy}" - ] - }, - "received_events_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/received_events" - ] - }, - "type": { - "type": "string", - "examples": [ - "User" - ] - }, - "site_admin": { - "type": "boolean" - }, - "starred_at": { - "type": "string", - "examples": [ - "\"2020-07-09T00:17:55Z\"" - ] - }, - "user_view_type": { - "type": "string", - "examples": [ - "public" - ] - } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:21:06Z" - ] - }, - "updated_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:20:22Z" - ] - }, - "archived": { - "description": "Whether or not the card is archived", - "type": "boolean", - "examples": [ - false - ] - }, - "column_name": { - "type": "string" - }, - "project_id": { - "type": "string" - }, - "column_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/367" - ] - }, - "content_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/repos/api-playground/projects-test/issues/3" - ] - }, - "project_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/120" - ] - } - }, - "required": [ - "id", - "node_id", - "note", - "url", - "column_url", - "project_url", - "creator", - "created_at", - "updated_at" - ] - } - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "404", - "description": "

Resource not found

" - }, - { - "httpStatusCode": "422", - "description": "

Validation failed, or the endpoint has been spammed.

" - } - ] - }, - { - "serverUrl": "https://api.github.com", - "verb": "delete", - "requestPath": "/projects/columns/cards/{card_id}", - "title": "Delete a project card", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "card_id", - "description": "

The unique identifier of the card.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [], - "codeExamples": [ - { - "key": "204", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "card_id": "CARD_ID" - } - }, - "response": { - "statusCode": "204", - "description": "

Response

" - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "204", - "description": "

No Content

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "404", - "description": "

Resource not found

" - } - ] - }, - { - "serverUrl": "https://api.github.com", - "verb": "post", - "requestPath": "/projects/columns/cards/{card_id}/moves", - "title": "Move a project card", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "card_id", - "description": "

The unique identifier of the card.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [ - { - "type": "string", - "name": "position", - "in": "body", - "description": "

The position of the card in a column. Can be one of: top, bottom, or after:<card_id> to place after the specified card.

", - "isRequired": true - }, - { - "type": "integer", - "name": "column_id", - "in": "body", - "description": "

The unique identifier of the column the card should be moved to

" - } - ], - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Move the card to the bottom of the column", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "column_id": 42, - "position": "bottom" - }, - "parameters": { - "card_id": "CARD_ID" - } - }, - "response": { - "statusCode": "201", - "contentType": "application/json", - "description": "

Response

", - "example": null, - "schema": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "201", - "description": "

Created

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "422", - "description": "

Validation failed, or the endpoint has been spammed.

" - }, - { - "httpStatusCode": "503", - "description": "

Service Unavailable

" - } - ] - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/projects/columns/{column_id}/cards", - "title": "List project cards", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "column_id", - "description": "

The unique identifier of the column.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "archived_state", - "description": "

Filters the project cards that are returned by the card's state.

", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "all", - "archived", - "not_archived" - ], - "default": "not_archived" - } - }, - { - "name": "per_page", - "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "column_id": "COLUMN_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": [ - { - "url": "https://api.github.com/projects/columns/cards/1478", - "id": 1478, - "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", - "note": "Add payload for delete Project column", - "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": "2016-09-05T14:21:06Z", - "updated_at": "2016-09-05T14:20:22Z", - "archived": false, - "column_url": "https://api.github.com/projects/columns/367", - "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", - "project_url": "https://api.github.com/projects/120" - } - ], - "schema": { - "type": "array", - "items": { - "title": "Project Card", - "description": "Project cards represent a scope of work.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/cards/1478" - ] - }, - "id": { - "description": "The project card's ID", - "type": "integer", - "format": "int64", - "examples": [ - 42 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDExOlByb2plY3RDYXJkMTQ3OA==" - ] - }, - "note": { - "type": [ - "string", - "null" - ], - "examples": [ - "Add payload for delete Project column" - ] - }, - "creator": { - "anyOf": [ - { - "type": "null" - }, - { - "title": "Simple User", - "description": "A GitHub user.", - "type": "object", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "email": { - "type": [ - "string", - "null" - ] - }, - "login": { - "type": "string", - "examples": [ - "octocat" - ] - }, - "id": { - "type": "integer", - "format": "int64", - "examples": [ - 1 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDQ6VXNlcjE=" - ] - }, - "avatar_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/images/error/octocat_happy.gif" - ] - }, - "gravatar_id": { - "type": [ - "string", - "null" - ], - "examples": [ - "41d064eb2195891e12d0413f63227ea7" - ] - }, - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat" - ] - }, - "html_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/octocat" - ] - }, - "followers_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/followers" - ] - }, - "following_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/following{/other_user}" - ] - }, - "gists_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/gists{/gist_id}" - ] - }, - "starred_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/starred{/owner}{/repo}" - ] - }, - "subscriptions_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/subscriptions" - ] - }, - "organizations_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/orgs" - ] - }, - "repos_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/repos" - ] - }, - "events_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/events{/privacy}" - ] - }, - "received_events_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/received_events" - ] - }, - "type": { - "type": "string", - "examples": [ - "User" - ] - }, - "site_admin": { - "type": "boolean" - }, - "starred_at": { - "type": "string", - "examples": [ - "\"2020-07-09T00:17:55Z\"" - ] - }, - "user_view_type": { - "type": "string", - "examples": [ - "public" - ] - } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:21:06Z" - ] - }, - "updated_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:20:22Z" - ] - }, - "archived": { - "description": "Whether or not the card is archived", - "type": "boolean", - "examples": [ - false - ] - }, - "column_name": { - "type": "string" - }, - "project_id": { - "type": "string" - }, - "column_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/367" - ] - }, - "content_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/repos/api-playground/projects-test/issues/3" - ] - }, - "project_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/120" - ] - } - }, - "required": [ - "id", - "node_id", - "note", - "url", - "column_url", - "project_url", - "creator", - "created_at", - "updated_at" - ] - } - } - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - } - ] - }, - { - "serverUrl": "https://api.github.com", - "verb": "post", - "requestPath": "/projects/columns/{column_id}/cards", - "title": "Create a project card", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "column_id", - "description": "

The unique identifier of the column.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [ - { - "type": "string or null", - "name": "note", - "in": "body", - "description": "

The project card's note

", - "isRequired": true - }, - { - "type": "integer", - "name": "content_id", - "in": "body", - "description": "

The unique identifier of the content associated with the card

", - "isRequired": true - }, - { - "type": "string", - "name": "content_type", - "in": "body", - "description": "

The piece of content associated with the card

", - "isRequired": true - } - ], - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Create a new card", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "note": "Add payload for delete Project column" - }, - "parameters": { - "column_id": "COLUMN_ID" - } - }, - "response": { - "statusCode": "201", - "contentType": "application/json", - "description": "

Response

", - "example": { - "url": "https://api.github.com/projects/columns/cards/1478", - "id": 1478, - "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", - "note": "Add payload for delete Project column", - "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": "2016-09-05T14:21:06Z", - "updated_at": "2016-09-05T14:20:22Z", - "archived": false, - "column_url": "https://api.github.com/projects/columns/367", - "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", - "project_url": "https://api.github.com/projects/120" - }, - "schema": { - "title": "Project Card", - "description": "Project cards represent a scope of work.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/cards/1478" - ] - }, - "id": { - "description": "The project card's ID", - "type": "integer", - "format": "int64", - "examples": [ - 42 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDExOlByb2plY3RDYXJkMTQ3OA==" - ] - }, - "note": { - "type": [ - "string", - "null" - ], - "examples": [ - "Add payload for delete Project column" - ] - }, - "creator": { - "anyOf": [ - { - "type": "null" - }, - { - "title": "Simple User", - "description": "A GitHub user.", - "type": "object", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "email": { - "type": [ - "string", - "null" - ] - }, - "login": { - "type": "string", - "examples": [ - "octocat" - ] - }, - "id": { - "type": "integer", - "format": "int64", - "examples": [ - 1 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDQ6VXNlcjE=" - ] - }, - "avatar_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/images/error/octocat_happy.gif" - ] - }, - "gravatar_id": { - "type": [ - "string", - "null" - ], - "examples": [ - "41d064eb2195891e12d0413f63227ea7" - ] - }, - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat" - ] - }, - "html_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/octocat" - ] - }, - "followers_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/followers" - ] - }, - "following_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/following{/other_user}" - ] - }, - "gists_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/gists{/gist_id}" - ] - }, - "starred_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/starred{/owner}{/repo}" - ] - }, - "subscriptions_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/subscriptions" - ] - }, - "organizations_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/orgs" - ] - }, - "repos_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/repos" - ] - }, - "events_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/events{/privacy}" - ] - }, - "received_events_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/received_events" - ] - }, - "type": { - "type": "string", - "examples": [ - "User" - ] - }, - "site_admin": { - "type": "boolean" - }, - "starred_at": { - "type": "string", - "examples": [ - "\"2020-07-09T00:17:55Z\"" - ] - }, - "user_view_type": { - "type": "string", - "examples": [ - "public" - ] - } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:21:06Z" - ] - }, - "updated_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:20:22Z" - ] - }, - "archived": { - "description": "Whether or not the card is archived", - "type": "boolean", - "examples": [ - false - ] - }, - "column_name": { - "type": "string" - }, - "project_id": { - "type": "string" - }, - "column_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/367" - ] - }, - "content_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/repos/api-playground/projects-test/issues/3" - ] - }, - "project_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/120" - ] - } - }, - "required": [ - "id", - "node_id", - "note", - "url", - "column_url", - "project_url", - "creator", - "created_at", - "updated_at" - ] - } - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "201", - "description": "

Created

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "422", - "description": "

Validation failed

" - }, - { - "httpStatusCode": "503", - "description": "

Service Unavailable

" - } - ] - } - ], "collaborators": [ { "serverUrl": "https://api.github.com", @@ -533345,7 +531932,7 @@ } ], "previews": [], - "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\nIn order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n
", + "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\n
    \n
  • In order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"
  • \n
  • To view merge-related settings, you must have the contents:read and contents:write permissions.
  • \n
\n
", "statusCodes": [ { "httpStatusCode": "200", @@ -584129,7 +582716,7 @@ } ], "previews": [], - "descriptionHTML": "

Warning

\n

\nNotice: Search for issues and pull requests will be overridden by advanced search on September 4, 2025.\nYou can read more about this change on the GitHub blog.

\n
", + "descriptionHTML": "

Warning

\n

\nNotice: Search for issues and pull requests will be overridden by advanced search on November 4, 2025.\nYou can read more about this change on the GitHub blog.

\n
", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghec-2022-11-28/schema.json b/src/rest/data/ghec-2022-11-28/schema.json index da22914f272b..e7234d7b58ea 100644 --- a/src/rest/data/ghec-2022-11-28/schema.json +++ b/src/rest/data/ghec-2022-11-28/schema.json @@ -957,13 +957,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists artifacts for a workflow run.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists artifacts for a workflow run.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

" } ], "cache": [ @@ -1809,13 +1809,13 @@ } ], "previews": [], - "descriptionHTML": "

Deletes a GitHub Actions cache for a repository, using a cache ID.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Deletes a GitHub Actions cache for a repository, using a cache ID.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" } ], "hosted-runners": [ @@ -11800,7 +11800,6 @@ } ], "previews": [], - "descriptionHTML": "

Adds a repository to the list of repositories that are allowed to use self-hosted runners in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope or the \"Actions policies\" fine-grained permission to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", @@ -11822,7 +11821,8 @@ "httpStatusCode": "422", "description": "

Validation failed, or the endpoint has been spammed.

" } - ] + ], + "descriptionHTML": "

Adds a repository to the list of repositories that are allowed to use self-hosted runners in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope or the \"Actions policies\" fine-grained permission to use this endpoint.

" }, { "serverUrl": "https://api.github.com", @@ -15718,13 +15718,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets a single repository secret without revealing its encrypted value.

\n

The authenticated user must have collaborator access to the repository to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets a single repository secret without revealing its encrypted value.

\n

The authenticated user must have collaborator access to the repository to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "https://api.github.com", @@ -25209,13 +25209,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all self-hosted runners configured in an organization.

\n

Authenticated users must have admin access to the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists all self-hosted runners configured in an organization.

\n

Authenticated users must have admin access to the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

" }, { "serverUrl": "https://api.github.com", @@ -55950,7 +55950,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -59914,7 +59913,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -63872,7 +63870,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -67828,7 +67825,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -71770,7 +71766,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -75736,7 +75731,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -79678,7 +79672,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -83631,7 +83624,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -87584,7 +87576,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -92605,13 +92596,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all notifications for the current user in the specified repository.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists all notifications for the current user in the specified repository.

" }, { "serverUrl": "https://api.github.com", @@ -143831,7 +143822,6 @@ } ], "previews": [], - "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

", "statusCodes": [ { "httpStatusCode": "200", @@ -143845,7 +143835,8 @@ "httpStatusCode": "422", "description": "

Validation failed, or the endpoint has been spammed.

" } - ] + ], + "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

" }, { "serverUrl": "https://api.github.com", @@ -157617,13 +157608,13 @@ } ], "previews": [], - "descriptionHTML": "

Updates a check run for a specific commit in a repository.

\n

Note

\n

\nThe endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array.

\n
\n

OAuth apps and personal access tokens (classic) cannot use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Updates a check run for a specific commit in a repository.

\n

Note

\n

\nThe endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array.

\n
\n

OAuth apps and personal access tokens (classic) cannot use this endpoint.

" }, { "serverUrl": "https://api.github.com", @@ -249627,7 +249618,6 @@ } ], "previews": [], - "descriptionHTML": "

Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, it will return merged and open pull requests associated with the commit.

\n

To list the open or merged pull requests associated with a branch, you can set the commit_sha parameter to the branch name.

", "statusCodes": [ { "httpStatusCode": "200", @@ -249637,7 +249627,8 @@ "httpStatusCode": "409", "description": "

Conflict

" } - ] + ], + "descriptionHTML": "

Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, it will return merged and open pull requests associated with the commit.

\n

To list the open or merged pull requests associated with a branch, you can set the commit_sha parameter to the branch name.

" }, { "serverUrl": "https://api.github.com", @@ -260640,6 +260631,452 @@ } ] }, + { + "serverUrl": "https://api.github.com", + "verb": "post", + "requestPath": "/enterprises/{enterprise}/copilot/billing/selected_enterprise_teams", + "title": "Add enterprise teams to the Copilot subscription for an enterprise", + "category": "copilot", + "subcategory": "copilot-user-management", + "parameters": [ + { + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "selected_enterprise_teams", + "in": "body", + "description": "

List of enterprise team names within the enterprise to which to grant access to GitHub Copilot.

", + "isRequired": true + } + ], + "progAccess": { + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "contentType": "application/json", + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "selected_enterprise_teams": [ + "engteam1", + "engteam2", + "engteam3" + ] + }, + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "201", + "contentType": "application/json", + "description": "

OK

", + "example": { + "seats_created": 5 + }, + "schema": { + "type": "object", + "description": "The total number of seats created for the members of the specified enterprise team(s).", + "properties": { + "seats_created": { + "type": "integer" + } + }, + "required": [ + "seats_created" + ] + } + } + } + ], + "previews": [], + "descriptionHTML": "

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Purchases a GitHub Copilot seat for all users within each specified enterprise team. The enterprise will be billed accordingly.

\n

Only enterprise owners can purchase Copilot seats for their enterprise members.

\n

The response contains the total number of new seats that were created and existing seats that were refreshed.

\n

OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot or admin:enterprise scopes to use this endpoint.

", + "statusCodes": [ + { + "httpStatusCode": "201", + "description": "

OK

" + }, + { + "httpStatusCode": "401", + "description": "

Requires authentication

" + }, + { + "httpStatusCode": "403", + "description": "

Forbidden

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "422", + "description": "

Copilot Business is not enabled for this enterprise, billing has not been set up for this enterprise or a public code suggestions policy has not been set for this enterprise.

" + }, + { + "httpStatusCode": "500", + "description": "

Internal Error

" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/copilot/billing/selected_enterprise_teams", + "title": "Remove enterprise teams from the Copilot subscription for an enterprise", + "category": "copilot", + "subcategory": "copilot-user-management", + "parameters": [ + { + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "selected_enterprise_teams", + "in": "body", + "description": "

List of enterprise team names within the enterprise to which to grant access to GitHub Copilot.

", + "isRequired": true + } + ], + "progAccess": { + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "contentType": "application/json", + "description": "Example 1: Status Code 200", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "selected_enterprise_teams": [ + "engteam1", + "engteam2", + "engteam3" + ] + }, + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

OK

", + "example": { + "seats_cancelled": 5 + }, + "schema": { + "type": "object", + "description": "The total number of seats set to \"pending cancellation\" for the members of the specified enterprise team(s).", + "properties": { + "seats_cancelled": { + "type": "integer" + } + }, + "required": [ + "seats_cancelled" + ] + } + } + }, + { + "key": "response", + "request": { + "contentType": "application/json", + "description": "Example 2: Status Code 202", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "selected_enterprise_teams": [ + "engteam1", + "engteam2", + "engteam3" + ] + }, + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "202", + "contentType": "application/json", + "description": "

Response

", + "example": { + "message": "Status for delete command" + }, + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + } + } + } + } + ], + "previews": [], + "descriptionHTML": "

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Sets seats for all members of each enterprise team specified to \"pending cancellation\".\nThis will cause the members of the specified enterprise team(s) to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through another enterprise team.

\n

Only enterprise owners can cancel Copilot seats for their enterprise members.

\n

The response contains the total number of seats set to \"pending cancellation\".

\n

OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot or admin:enterprise scopes to use this endpoint.

", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

OK

" + }, + { + "httpStatusCode": "202", + "description": "

Accepted

" + }, + { + "httpStatusCode": "401", + "description": "

Requires authentication

" + }, + { + "httpStatusCode": "403", + "description": "

Forbidden

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "422", + "description": "

Copilot Business is not enabled for this enterprise, billing has not been set up for this enterprise or a public code suggestions policy has not been set for this enterprise.

" + }, + { + "httpStatusCode": "500", + "description": "

Internal Error

" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "post", + "requestPath": "/enterprises/{enterprise}/copilot/billing/selected_users", + "title": "Add users to the Copilot subscription for an enterprise", + "category": "copilot", + "subcategory": "copilot-user-management", + "parameters": [ + { + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "selected_usernames", + "in": "body", + "description": "

The usernames of the enterprise members to be granted access to GitHub Copilot.

", + "isRequired": true + } + ], + "progAccess": { + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "contentType": "application/json", + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "selected_usernames": [ + "cooluser1", + "hacker2", + "octocat" + ] + }, + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "201", + "contentType": "application/json", + "description": "

OK

", + "example": { + "seats_created": 5 + }, + "schema": { + "type": "object", + "description": "The total number of seats created for the specified user(s).", + "properties": { + "seats_created": { + "type": "integer" + } + }, + "required": [ + "seats_created" + ] + } + } + } + ], + "previews": [], + "descriptionHTML": "

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Purchases a GitHub Copilot seat for each user specified.\nThe enterprise will be billed accordingly.

\n

Only enterprise owners can purchase Copilot seats for their enterprise members.

\n

The response contains the total number of new seats that were created and existing seats that were refreshed.

\n

OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot or admin:enterprise scopes to use this endpoint.

", + "statusCodes": [ + { + "httpStatusCode": "201", + "description": "

OK

" + }, + { + "httpStatusCode": "401", + "description": "

Requires authentication

" + }, + { + "httpStatusCode": "403", + "description": "

Forbidden

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "422", + "description": "

Copilot is not enabled for this enterprise, billing has not been set up for this enterprise, a public code suggestions policy has not been set for this enterprise, or the enterprise's Copilot access setting is set to enable Copilot for all users or is unconfigured.

" + }, + { + "httpStatusCode": "500", + "description": "

Internal Error

" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/copilot/billing/selected_users", + "title": "Remove users from the Copilot subscription for an enterprise", + "category": "copilot", + "subcategory": "copilot-user-management", + "parameters": [ + { + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "selected_usernames", + "in": "body", + "description": "

The usernames of the enterprise members for which to revoke access to GitHub Copilot.

", + "isRequired": true + } + ], + "progAccess": { + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "contentType": "application/json", + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "selected_usernames": [ + "cooluser1", + "hacker2", + "octocat" + ] + }, + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

OK

", + "example": { + "seats_cancelled": 5 + }, + "schema": { + "type": "object", + "description": "The total number of seats set to \"pending cancellation\" for the specified users.", + "properties": { + "seats_cancelled": { + "type": "integer" + } + }, + "required": [ + "seats_cancelled" + ] + } + } + } + ], + "previews": [], + "descriptionHTML": "

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Sets seats for all users specified to \"pending cancellation\".\nThis will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through team or organization membership.

\n

Only enterprise owners can cancel Copilot seats for their enterprise members.

\n

The response contains the total number of seats set to \"pending cancellation\".

\n

OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot or admin:enterprise scopes to use this endpoint.

", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

OK

" + }, + { + "httpStatusCode": "401", + "description": "

Requires authentication

" + }, + { + "httpStatusCode": "403", + "description": "

Forbidden

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "422", + "description": "

Copilot is not enabled for this enterprise, billing has not been set up for this enterprise, a public code suggestions policy has not been set for this enterprise, or the enterprise's Copilot access setting is set to enable Copilot for all users or is unconfigured.

" + }, + { + "httpStatusCode": "500", + "description": "

Internal Error

" + } + ] + }, { "serverUrl": "https://api.github.com", "verb": "get", @@ -273819,13 +274256,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all secrets available in a repository without revealing their encrypted\nvalues.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists all secrets available in a repository without revealing their encrypted\nvalues.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "https://api.github.com", @@ -275160,7 +275597,6 @@ } ], "previews": [], - "descriptionHTML": "

Exports the software bill of materials (SBOM) for a repository in SPDX JSON format.

", "statusCodes": [ { "httpStatusCode": "200", @@ -275174,7 +275610,8 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ] + ], + "descriptionHTML": "

Exports the software bill of materials (SBOM) for a repository in SPDX JSON format.

" } ] }, @@ -279001,13 +279438,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets a deployment branch or tag policy for an environment.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets a deployment branch or tag policy for an environment.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

" }, { "serverUrl": "https://api.github.com", @@ -331847,7 +332284,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -335202,7 +335638,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -338479,7 +338914,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -341689,7 +342123,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -344865,7 +345298,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -348114,7 +348546,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -351654,7 +352085,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -355199,7 +355629,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -358367,7 +358796,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -366257,7 +366685,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -367739,7 +368166,6 @@ } ], "previews": [], - "descriptionHTML": "

Lists events for a repository.

", "statusCodes": [ { "httpStatusCode": "200", @@ -367749,7 +368175,8 @@ "httpStatusCode": "422", "description": "

Validation failed, or the endpoint has been spammed.

" } - ] + ], + "descriptionHTML": "

Lists events for a repository.

" }, { "serverUrl": "https://api.github.com", @@ -371174,7 +371601,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -387287,7 +387713,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -390464,7 +390889,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -393646,7 +394070,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -396844,7 +397267,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -403795,7 +404217,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -406970,7 +407391,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -410152,7 +410572,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -413330,7 +413749,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -416522,7 +416940,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -430201,7 +430618,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -456651,6 +457067,316 @@ ] } ], + "artifact-metadata": [ + { + "serverUrl": "https://api.github.com", + "verb": "post", + "requestPath": "/orgs/{org}/artifacts/metadata/storage-record", + "title": "Create artifact metadata storage record", + "category": "orgs", + "subcategory": "artifact-metadata", + "parameters": [ + { + "name": "org", + "description": "

The organization name. The name is not case sensitive.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "bodyParameters": [ + { + "type": "string", + "name": "name", + "in": "body", + "description": "

The name of the artifact.

", + "isRequired": true + }, + { + "type": "string", + "name": "digest", + "in": "body", + "description": "

The digest of the artifact (algorithm:hex-encoded-digest).

", + "isRequired": true + }, + { + "type": "string", + "name": "artifact_url", + "in": "body", + "description": "

The URL where the artifact is stored.

" + }, + { + "type": "string", + "name": "path", + "in": "body", + "description": "

The path of the artifact.

" + }, + { + "type": "string", + "name": "registry_url", + "in": "body", + "description": "

The base URL of the artifact registry.

", + "isRequired": true + }, + { + "type": "string", + "name": "repository", + "in": "body", + "description": "

The repository name within the registry.

" + }, + { + "type": "string", + "name": "status", + "in": "body", + "description": "

The status of the artifact (e.g., active, inactive).

", + "enum": [ + "active", + "eol", + "deleted" + ], + "default": "active" + } + ], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Contents\" repository permissions": "write" + } + ] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "contentType": "application/json", + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "libfoo-1.2.3", + "digest": "sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72", + "artifact_url": "https://reg.example.com/artifactory/bar/libfoo-1.2.3", + "registry_url": "https://reg.example.com/artifactory/", + "repository": "bar", + "status": "active" + }, + "parameters": { + "org": "ORG" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Artifact metadata storage record stored successfully.

", + "example": { + "total_count": 1, + "storage_records": [ + { + "name": "libfoo-1.2.3", + "digest": "sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72", + "artifact_url": "https://reg.example.com/artifactory/bar/libfoo-1.2.3", + "registry_url": "https://reg.example.com/artifactory/", + "repository": "bar", + "status": "active", + "created_at": "2023-10-01T12:00:00Z", + "updated_at": "2023-10-01T12:00:00Z" + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_count": { + "type": "integer", + "examples": [ + 1 + ] + }, + "storage_records": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "digest": { + "type": "string" + }, + "artifact_url": { + "type": "string" + }, + "registry_url": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "status": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + } + } + } + } + } + } + } + } + ], + "previews": [], + "descriptionHTML": "

Create metadata storage records for artifacts associated with an organization.\nThis endpoint will create a new artifact storage record on behalf of any artifact matching the provided digest and\nassociated with a repository owned by the organization.

", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

Artifact metadata storage record stored successfully.

" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records", + "title": "List artifact storage records", + "category": "orgs", + "subcategory": "artifact-metadata", + "parameters": [ + { + "name": "org", + "description": "

The organization name. The name is not case sensitive.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "subject_digest", + "description": "

The parameter should be set to the attestation's subject's SHA256 digest, in the form sha256:HEX_DIGEST.

", + "in": "path", + "required": true, + "example": "sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72", + "schema": { + "type": "string", + "minLength": 71, + "maxLength": 71, + "pattern": "^sha256:[a-f0-9]{64}$" + }, + "x-multi-segment": true + } + ], + "bodyParameters": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Contents\" repository permissions": "read" + } + ] + }, + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "org": "ORG", + "subject_digest": "SUBJECT_DIGEST" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Response

", + "example": { + "storage_records": [ + { + "name": "libfoo-1.2.3", + "digest": "sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72", + "artifact_url": "https://reg.example.com/artifactory/bar/libfoo-1.2.3", + "registry_url": "https://reg.example.com/artifactory/", + "repository": "bar", + "status": "active", + "created_at": "2023-10-01T12:00:00Z", + "updated_at": "2023-10-01T12:00:00Z" + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_count": { + "description": "The number of storage records for this digest and organization", + "type": "integer", + "examples": [ + 3 + ] + }, + "storage_records": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "digest": { + "type": "string" + }, + "artifact_url": { + "type": "string" + }, + "registry_url": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "status": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + } + } + } + } + } + } + } + } + ], + "previews": [], + "descriptionHTML": "

List a collection of artifact storage records with a given subject digest that are associated with repositories owned by an organization.

\n

The collection of storage records returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the content:read permission is required.

", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

OK

" + } + ] + } + ], "attestations": [ { "serverUrl": "https://api.github.com", @@ -490135,13 +490861,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets a specific package in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets a specific package in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"

" }, { "serverUrl": "https://api.github.com", @@ -546681,13 +547407,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all reviews for a specified pull request. The list of reviews returns in chronological order.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n", "statusCodes": [ { "httpStatusCode": "200", "description": "

The list of reviews returns in chronological order.

" } - ] + ], + "descriptionHTML": "

Lists all reviews for a specified pull request. The list of reviews returns in chronological order.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n" }, { "serverUrl": "https://api.github.com", @@ -557084,13 +557810,13 @@ } ], "previews": [], - "descriptionHTML": "

Note

\n

\nYou can also specify a repository by repository_id using the route DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.

\n
\n

Delete a reaction to a pull request review comment.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Note

\n

\nYou can also specify a repository by repository_id using the route DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.

\n
\n

Delete a reaction to a pull request review comment.

" }, { "serverUrl": "https://api.github.com", @@ -564545,13 +565271,13 @@ } ], "previews": [], - "descriptionHTML": "

Users with push access to the repository can delete a release.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Users with push access to the repository can delete a release.

" } ], "assets": [ @@ -576859,7 +577585,7 @@ } ], "previews": [], - "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\nIn order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n
", + "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\n
    \n
  • In order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"
  • \n
  • To view merge-related settings, you must have the contents:read and contents:write permissions.
  • \n
\n
", "statusCodes": [ { "httpStatusCode": "200", @@ -631248,7 +631974,7 @@ } ], "previews": [], - "descriptionHTML": "

Warning

\n

\nNotice: Search for issues and pull requests will be overridden by advanced search on September 4, 2025.\nYou can read more about this change on the GitHub blog.

\n
", + "descriptionHTML": "

Warning

\n

\nNotice: Search for issues and pull requests will be overridden by advanced search on November 4, 2025.\nYou can read more about this change on the GitHub blog.

\n
", "statusCodes": [ { "httpStatusCode": "200", @@ -674056,13 +674782,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists a team's repositories visible to the authenticated user.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/repos.

\n
", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists a team's repositories visible to the authenticated user.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/repos.

\n
" }, { "serverUrl": "https://api.github.com", @@ -686152,13 +686878,13 @@ } ], "previews": [], - "descriptionHTML": "

Warning

\n

\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new Delete a discussion comment endpoint.

\n
\n

Deletes a comment on a team discussion.

\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Warning

\n

\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new Delete a discussion comment endpoint.

\n
\n

Deletes a comment on a team discussion.

\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

" } ], "discussions": [ @@ -693547,13 +694273,13 @@ } ], "previews": [], - "descriptionHTML": "

List IdP groups connected to a team on GitHub Enterprise Cloud.

\n

Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see GitHub's products in the GitHub Help documentation.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings.

\n
", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

List IdP groups connected to a team on GitHub Enterprise Cloud.

\n

Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see GitHub's products in the GitHub Help documentation.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings.

\n
" }, { "serverUrl": "https://api.github.com", diff --git a/src/rest/data/ghes-3.14-2022-11-28/schema.json b/src/rest/data/ghes-3.14-2022-11-28/schema.json index f6039470e962..daf609d0d660 100644 --- a/src/rest/data/ghes-3.14-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.14-2022-11-28/schema.json @@ -1080,13 +1080,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets the GitHub Actions cache usage policy for an enterprise.

\n

OAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets the GitHub Actions cache usage policy for an enterprise.

\n

OAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -2014,13 +2014,13 @@ } ], "previews": [], - "descriptionHTML": "

Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -2555,13 +2555,13 @@ } ], "previews": [], - "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -2901,13 +2901,13 @@ } ], "previews": [], - "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

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "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

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -3100,13 +3100,13 @@ } ], "previews": [], - "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

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "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

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -4668,13 +4668,13 @@ } ], "previews": [], - "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

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -5375,13 +5375,13 @@ } ], "previews": [], - "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

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "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

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -6499,13 +6499,13 @@ } ], "previews": [], - "descriptionHTML": "

Deletes a secret in an organization using the secret name.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Deletes a secret in an organization using the secret name.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -9421,13 +9421,13 @@ } ], "previews": [], - "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -10871,13 +10871,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all self-hosted runner groups configured in an organization and inherited from an enterprise.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists all self-hosted runner groups configured in an organization and inherited from an enterprise.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -11399,13 +11399,13 @@ } ], "previews": [], - "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -19901,13 +19901,13 @@ } ], "previews": [], - "descriptionHTML": "

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

\n

Authenticated users must have admin access to the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

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

\n

Authenticated users must have admin access to the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -26089,7 +26089,6 @@ } ], "previews": [], - "descriptionHTML": "

Lists all repositories that can access an organization variable\nthat is available to selected repositories.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

", "statusCodes": [ { "httpStatusCode": "200", @@ -26099,7 +26098,8 @@ "httpStatusCode": "409", "description": "

Response when the visibility of the variable is not set to selected

" } - ] + ], + "descriptionHTML": "

Lists all repositories that can access an organization variable\nthat is available to selected repositories.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -28183,13 +28183,13 @@ } ], "previews": [], - "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.

\n

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

\n

If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "302", "description": "

Found

" } - ] + ], + "descriptionHTML": "

Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look\nfor Location: in the response header to find the URL for the download.

\n

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

\n

If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -29263,13 +29263,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information\nabout using parameters, see Parameters.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information\nabout using parameters, see Parameters.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

" } ], "workflow-runs": [ @@ -32207,13 +32207,13 @@ } ], "previews": [], - "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.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

\n

This endpoint will return up to 1,000 results for each search when using the following parameters: actor, branch, check_suite_id, created, event, head_sha, status.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "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.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

\n

This endpoint will return up to 1,000 results for each search when using the following parameters: actor, branch, check_suite_id, created, event, head_sha, status.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -43881,13 +43881,13 @@ } ], "previews": [], - "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

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "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

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" } ] }, @@ -47025,7 +47025,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -50977,7 +50976,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -54923,7 +54921,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -58867,7 +58864,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -62797,7 +62793,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -66751,7 +66746,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -70681,7 +70675,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -74622,7 +74615,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -78563,7 +78555,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -79341,13 +79332,13 @@ } ], "previews": [], - "descriptionHTML": "

Note

\n

\nThis API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.

\n
", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Note

\n

\nThis API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.

\n
" } ], "feeds": [ @@ -89073,13 +89064,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists repositories a user has starred.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists repositories a user has starred.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n" } ], "watching": [ @@ -91804,13 +91795,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets the announcement banner currently set for the organization. Only returns the announcement banner set at the\norganization level. Organization members may also see an enterprise-level announcement banner. To get an\nannouncement banner displayed at the enterprise level, use the enterprise-level endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets the announcement banner currently set for the organization. Only returns the announcement banner set at the\norganization level. Organization members may also see an enterprise-level announcement banner. To get an\nannouncement banner displayed at the enterprise level, use the enterprise-level endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -91989,13 +91980,13 @@ } ], "previews": [], - "descriptionHTML": "

Removes the announcement banner currently set for the organization.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Removes the announcement banner currently set for the organization.

" } ] }, @@ -176051,13 +176042,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists the commit comments for a specified repository. Comments are ordered by ascending ID.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists the commit comments for a specified repository. Comments are ordered by ascending ID.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -188285,13 +188276,13 @@ } ], "previews": [], - "descriptionHTML": "

Replaces all repositories for an organization secret when the visibility\nfor repository access is set to selected. The visibility is set when you Create\nor update an organization secret.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Replaces all repositories for an organization secret when the visibility\nfor repository access is set to selected. The visibility is set when you Create\nor update an organization secret.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -188906,7 +188897,6 @@ } ], "previews": [], - "descriptionHTML": "

Creates or updates a repository secret with an encrypted value. Encrypt your secret using\nLibSodium. For more information, see \"Encrypting secrets for the REST API.\"

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", @@ -188916,7 +188906,8 @@ "httpStatusCode": "204", "description": "

Response when updating a secret

" } - ] + ], + "descriptionHTML": "

Creates or updates a repository secret with an encrypted value. Encrypt your secret using\nLibSodium. For more information, see \"Encrypting secrets for the REST API.\"

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -202055,13 +202046,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -204624,13 +204615,13 @@ } ], "previews": [], - "descriptionHTML": "

This will trigger a ping event to be sent to the webhook.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

This will trigger a ping event to be sent to the webhook.

" } ], "ldap": [ @@ -204757,13 +204748,13 @@ } ], "previews": [], - "descriptionHTML": "

Updates the distinguished name (DN) of the LDAP entry to map to a team. LDAP synchronization must be enabled to map LDAP entries to a team. Use the Create a team endpoint to create a team with LDAP mapping.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Updates the distinguished name (DN) of the LDAP entry to map to a team. LDAP synchronization must be enabled to map LDAP entries to a team. Use the Create a team endpoint to create a team with LDAP mapping.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -205275,13 +205266,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -209965,13 +209956,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -210348,13 +210339,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -210828,13 +210819,13 @@ } ], "previews": [], - "descriptionHTML": "

In addition to seeing the download status at the \"Get a pre-receive environment\" endpoint, there is also this separate endpoint for just the download status.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

In addition to seeing the download status at the \"Get a pre-receive environment\" endpoint, there is also this separate endpoint for just the download status.

" } ], "pre-receive-hooks": [ @@ -211421,13 +211412,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -211926,13 +211917,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -217878,13 +217869,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -238902,7 +238893,6 @@ } ], "previews": [], - "descriptionHTML": "

List all templates available to pass as an option when creating a repository.

", "statusCodes": [ { "httpStatusCode": "200", @@ -238912,7 +238902,8 @@ "httpStatusCode": "304", "description": "

Not modified

" } - ] + ], + "descriptionHTML": "

List all templates available to pass as an option when creating a repository.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -242336,7 +242327,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -245685,7 +245675,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -248956,7 +248945,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -252160,7 +252148,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -255330,7 +255317,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -258573,7 +258559,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -262107,7 +262092,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -265646,7 +265630,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -268808,7 +268791,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -268817,13 +268799,13 @@ } ], "previews": [], - "descriptionHTML": "

Removes one or more assignees from an issue.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Removes one or more assignees from an issue.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -276662,7 +276644,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -281567,7 +281548,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -311765,7 +311745,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -339408,13 +339387,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all GitHub Apps in an organization. The installation count includes\nall GitHub Apps installed on repositories in the organization.

\n

The authenticated user must be an organization owner to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:read scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists all GitHub Apps in an organization. The installation count includes\nall GitHub Apps installed on repositories in the organization.

\n

The authenticated user must be an organization owner to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:read scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -345011,13 +344990,13 @@ } ], "previews": [], - "descriptionHTML": "

Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -376233,13 +376212,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets a specific package version for a public package owned by a specified user.

\n

OAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets a specific package version for a public package owned by a specified user.

\n

OAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -379064,7 +379043,7 @@ } ], "previews": [], - "descriptionHTML": "

Gets information about a project card.

", + "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", "statusCodes": [ { "httpStatusCode": "200", @@ -379445,7 +379424,7 @@ } ], "previews": [], - "descriptionHTML": "

Update an existing project card

", + "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", "statusCodes": [ { "httpStatusCode": "200", @@ -379509,7 +379488,7 @@ } ], "previews": [], - "descriptionHTML": "

Deletes a project card

", + "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", "statusCodes": [ { "httpStatusCode": "204", @@ -379595,7 +379574,7 @@ } ], "previews": [], - "descriptionHTML": "

Move a project card

", + "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", "statusCodes": [ { "httpStatusCode": "201", @@ -380001,7 +379980,7 @@ } ], "previews": [], - "descriptionHTML": "

Lists the project cards in a project.

", + "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", "statusCodes": [ { "httpStatusCode": "200", @@ -380387,7 +380366,7 @@ } ], "previews": [], - "descriptionHTML": "

Create a project card

", + "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", "statusCodes": [ { "httpStatusCode": "201", @@ -431561,13 +431540,13 @@ } ], "previews": [], - "descriptionHTML": "

Note

\n

\nYou can also specify a repository by repository_id using the route DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.

\n
\n

Delete a reaction to a pull request review comment.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Note

\n

\nYou can also specify a repository by repository_id using the route DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.

\n
\n

Delete a reaction to a pull request review comment.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -451127,7 +451106,7 @@ } ], "previews": [], - "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\nIn order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n
", + "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\n
    \n
  • In order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"
  • \n
  • To view merge-related settings, you must have the contents:read and contents:write permissions.
  • \n
\n
", "statusCodes": [ { "httpStatusCode": "200", @@ -528552,13 +528531,13 @@ } ], "previews": [], - "descriptionHTML": "

Warning

\n

\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new Create a discussion endpoint.

\n
\n

Creates a new discussion post on a team's page.

\n

This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\" and \"Best practices for using the REST API.\"

\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "descriptionHTML": "

Warning

\n

\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new Create a discussion endpoint.

\n
\n

Creates a new discussion post on a team's page.

\n

This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\" and \"Best practices for using the REST API.\"

\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -529971,13 +529950,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists external groups available in an organization. You can query the groups using the display_name parameter, only groups with a group_name containing the text provided in the display_name parameter will be returned. You can also limit your page results using the per_page parameter. GitHub Enterprise Server generates a url-encoded page token using a cursor value for where the next page begins. For more information on cursor pagination, see \"Offset and Cursor Pagination explained.\"

\n

You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"GitHub's products\" in the GitHub Help documentation.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists external groups available in an organization. You can query the groups using the display_name parameter, only groups with a group_name containing the text provided in the display_name parameter will be returned. You can also limit your page results using the per_page parameter. GitHub Enterprise Server generates a url-encoded page token using a cursor value for where the next page begins. For more information on cursor pagination, see \"Offset and Cursor Pagination explained.\"

\n

You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"GitHub's products\" in the GitHub Help documentation.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -538471,13 +538450,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists the people who the specified user follows.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists the people who the specified user follows.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", diff --git a/src/rest/data/ghes-3.15-2022-11-28/schema.json b/src/rest/data/ghes-3.15-2022-11-28/schema.json index faa8e5e40f40..59e81284674c 100644 --- a/src/rest/data/ghes-3.15-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.15-2022-11-28/schema.json @@ -1468,13 +1468,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets GitHub Actions cache usage for a repository.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

\n

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

\n

If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets GitHub Actions cache usage for a repository.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

\n

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

\n

If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -2555,13 +2555,13 @@ } ], "previews": [], - "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -2836,13 +2836,13 @@ } ], "previews": [], - "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

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "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

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -4668,13 +4668,13 @@ } ], "previews": [], - "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

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -4802,13 +4802,13 @@ } ], "previews": [], - "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

OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories must be must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"

\n

OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -5461,13 +5461,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.\nThis endpoint only applies to internal and private repositories.\nFor more information, see \"Allowing access to components in a private repository\" and\n\"Allowing access to components in an internal repository.\"

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.\nThis endpoint only applies to internal and private repositories.\nFor more information, see \"Allowing access to components in a private repository\" and\n\"Allowing access to components in an internal repository.\"

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -5543,13 +5543,13 @@ } ], "previews": [], - "descriptionHTML": "

Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.\nThis endpoint only applies to internal and private repositories.\nFor more information, see \"Allowing access to components in a private repository\" and\n\"Allowing access to components in an internal repository.\"

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.\nThis endpoint only applies to internal and private repositories.\nFor more information, see \"Allowing access to components in a private repository\" and\n\"Allowing access to components in an internal repository.\"

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -8012,13 +8012,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all secrets available in a repository without revealing their encrypted\nvalues.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists all secrets available in a repository without revealing their encrypted\nvalues.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -8834,13 +8834,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets a single environment secret without revealing its encrypted value.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets a single environment secret without revealing its encrypted value.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -9250,13 +9250,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all self-hosted runner groups for an enterprise.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists all self-hosted runner groups for an enterprise.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -9563,13 +9563,13 @@ } ], "previews": [], - "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -10537,13 +10537,13 @@ } ], "previews": [], - "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -16236,13 +16236,13 @@ } ], "previews": [], - "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -22430,13 +22430,13 @@ } ], "previews": [], - "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour.

\n

For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to configure your self-hosted runner:

\n
./config.sh --url https://github.com/octo-org --token TOKEN\n
\n

Authenticated users must have admin access to the repository to use this endpoint.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour.

\n

For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to configure your self-hosted runner:

\n
./config.sh --url https://github.com/octo-org --token TOKEN\n
\n

Authenticated users must have admin access to the repository to use this endpoint.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -26991,13 +26991,13 @@ } ], "previews": [], - "descriptionHTML": "

Updates a repository variable that you can reference in a GitHub Actions workflow.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Updates a repository variable that you can reference in a GitHub Actions workflow.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -28144,13 +28144,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets a specific job in a workflow run.

\n

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

\n

If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets a specific job in a workflow run.

\n

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

\n

If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -40360,13 +40360,13 @@ } ], "previews": [], - "descriptionHTML": "

Re-runs your workflow run using its id.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "descriptionHTML": "

Re-runs your workflow run using its id.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -40453,13 +40453,13 @@ } ], "previews": [], - "descriptionHTML": "

Re-run all of the failed jobs and their dependent jobs in a workflow run using the id of the workflow run.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "descriptionHTML": "

Re-run all of the failed jobs and their dependent jobs in a workflow run using the id of the workflow run.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -47169,7 +47169,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -51133,7 +51132,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -55091,7 +55089,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -59047,7 +59044,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -62989,7 +62985,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -66955,7 +66950,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -70897,7 +70891,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -74850,7 +74843,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -78803,7 +78795,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -101515,13 +101506,13 @@ } ], "previews": [], - "descriptionHTML": "

Enables an authenticated GitHub App to find the organization's installation information.

\n

You must use a JWT to access this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Enables an authenticated GitHub App to find the organization's installation information.

\n

You must use a JWT to access this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -110621,13 +110612,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an organization per repository.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of advanced_security_committers for each repository.

\n

If this organization defers to an enterprise for billing, the total_advanced_security_committers returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level.

\n

The total number of repositories with committer information is tracked by the total_count field.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

Success

" } - ] + ], + "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an organization per repository.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of advanced_security_committers for each repository.

\n

If this organization defers to an enterprise for billing, the total_advanced_security_committers returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level.

\n

The total number of repositories with committer information is tracked by the total_count field.

" } ] }, @@ -129850,7 +129841,6 @@ } ], "previews": [], - "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

", "statusCodes": [ { "httpStatusCode": "200", @@ -129860,7 +129850,8 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ] + ], + "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -131105,13 +131096,13 @@ } ], "previews": [], - "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

\n

Disables the ability to restrict who can push to this branch.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

\n

Disables the ability to restrict who can push to this branch.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -133561,7 +133552,6 @@ } ], "previews": [], - "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

\n

Lists the teams who have push access to this branch. The list includes child teams.

", "statusCodes": [ { "httpStatusCode": "200", @@ -133571,7 +133561,8 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ] + ], + "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

\n

Lists the teams who have push access to this branch. The list includes child teams.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -143391,13 +143382,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists check runs for a check suite using its id.

\n

Note

\n

\nThe endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array.

\n
\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint on a private repository.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists check runs for a check suite using its id.

\n

Note

\n

\nThe endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array.

\n
\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint on a private repository.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -151951,13 +151942,13 @@ } ], "previews": [], - "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.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "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.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -157041,7 +157032,6 @@ } ], "previews": [], - "descriptionHTML": "

Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see \"Managing security managers in your organization.\"

\n

The authenticated user must be an owner or security manager for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the security_events or repos cope to use this endpoint with private or public repositories, or the public_repo scope to use this endpoint with only public repositories.

", "statusCodes": [ { "httpStatusCode": "200", @@ -157055,7 +157045,8 @@ "httpStatusCode": "503", "description": "

Service unavailable

" } - ] + ], + "descriptionHTML": "

Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see \"Managing security managers in your organization.\"

\n

The authenticated user must be an owner or security manager for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the security_events or repos cope to use this endpoint with private or public repositories, or the public_repo scope to use this endpoint with only public repositories.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -192394,13 +192385,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all repositories that have been selected when the visibility\nfor repository access to a secret is set to selected.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists all repositories that have been selected when the visibility\nfor repository access to a secret is set to selected.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -195518,13 +195509,13 @@ } ], "previews": [], - "descriptionHTML": "

Simple filtering of deployments is available via query parameters:

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Simple filtering of deployments is available via query parameters:

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -199662,13 +199653,13 @@ } ], "previews": [], - "descriptionHTML": "

Note

\n

\nTo get information about name patterns that branches must match in order to deploy to this environment, see \"Get a deployment branch policy.\"

\n
\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Note

\n

\nTo get information about name patterns that branches must match in order to deploy to this environment, see \"Get a deployment branch policy.\"

\n
\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -206341,13 +206332,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -206530,13 +206521,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -206651,13 +206642,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -206719,13 +206710,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -206797,13 +206788,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -207164,13 +207155,13 @@ } ], "previews": [], - "descriptionHTML": "

Sets the message and expiration time for the global announcement banner in your enterprise.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Sets the message and expiration time for the global announcement banner in your enterprise.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -212480,13 +212471,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -213365,13 +213356,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -214823,13 +214814,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -221834,13 +221825,13 @@ } ], "previews": [], - "descriptionHTML": "

Deletes a personal access token. Returns a 403 - Forbidden status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Deletes a personal access token. Returns a 403 - Forbidden status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -233396,7 +233387,6 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", @@ -233414,7 +233404,8 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -238933,7 +238924,6 @@ } ], "previews": [], - "descriptionHTML": "

Updates a comment on a gist.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n", "statusCodes": [ { "httpStatusCode": "200", @@ -238943,7 +238933,8 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ] + ], + "descriptionHTML": "

Updates a comment on a gist.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -245263,7 +245254,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -248618,7 +248608,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -251895,7 +251884,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -255105,7 +255093,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -258281,7 +258268,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -261530,7 +261516,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -265070,7 +265055,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -268615,7 +268599,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -271783,7 +271766,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -279673,7 +279655,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -284590,7 +284571,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -299193,13 +299173,13 @@ } ], "previews": [], - "descriptionHTML": "

Deletes a label using the given label name.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Deletes a label using the given label name.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -314974,7 +314954,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -319629,13 +319608,13 @@ } ], "previews": [], - "descriptionHTML": "

Get Hypermedia links to resources accessible in GitHub's REST API

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Get Hypermedia links to resources accessible in GitHub's REST API

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -319872,13 +319851,13 @@ } ], "previews": [], - "descriptionHTML": "

Get the octocat as ASCII art

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Get the octocat as ASCII art

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -344838,13 +344817,13 @@ } ], "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: This operation is closing down and will be removed in the future. Use the \"List custom repository roles\" endpoint instead.

\n
\n

List the custom repository roles available in this organization. For more information on custom repository roles, see \"About custom repository roles.\"

\n

The authenticated user must be administrator of the organization or of a repository of the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

Response - list of custom role names

" } - ] + ], + "descriptionHTML": "

Warning

\n

\nClosing down notice: This operation is closing down and will be removed in the future. Use the \"List custom repository roles\" endpoint instead.

\n
\n

List the custom repository roles available in this organization. For more information on custom repository roles, see \"About custom repository roles.\"

\n

The authenticated user must be administrator of the organization or of a repository of the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -346310,13 +346289,13 @@ } ], "previews": [], - "descriptionHTML": "

Deletes a custom role from an organization. Once the custom role has been deleted, any\nuser, team, or invitation with the deleted custom role will be reassigned the inherited role. For more information about custom repository roles, see \"About custom repository roles.\"

\n

The authenticated user must be an administrator for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Deletes a custom role from an organization. Once the custom role has been deleted, any\nuser, team, or invitation with the deleted custom role will be reassigned the inherited role. For more information about custom repository roles, see \"About custom repository roles.\"

\n

The authenticated user must be an administrator for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -346402,13 +346381,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists the fine-grained permissions that can be used in custom repository roles for an organization. For more information, see \"About custom repository roles.\"

\n

The authenticated user must be an administrator of the organization or of a repository of the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists the fine-grained permissions that can be used in custom repository roles for an organization. For more information, see \"About custom repository roles.\"

\n

The authenticated user must be an administrator of the organization or of a repository of the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.

" } ], "members": [ @@ -364299,13 +364278,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists teams that are security managers for an organization. For more information, see \"Managing security managers in your organization.\"

\n

The authenticated user must be an administrator or security manager for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists teams that are security managers for an organization. For more information, see \"Managing security managers in your organization.\"

\n

The authenticated user must be an administrator or security manager for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -364363,13 +364342,13 @@ } ], "previews": [], - "descriptionHTML": "

Adds a team as a security manager for an organization. For more information, see \"Managing security for an organization for an organization.\"

\n

The authenticated user must be an administrator for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Adds a team as a security manager for an organization. For more information, see \"Managing security for an organization for an organization.\"

\n

The authenticated user must be an administrator for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -364427,13 +364406,13 @@ } ], "previews": [], - "descriptionHTML": "

Removes the security manager role from a team for an organization. For more information, see \"Managing security managers in your organization team from an organization.\"

\n

The authenticated user must be an administrator for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Removes the security manager role from a team for an organization. For more information, see \"Managing security managers in your organization team from an organization.\"

\n

The authenticated user must be an administrator for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" } ], "webhooks": [ @@ -365565,13 +365544,13 @@ } ], "previews": [], - "descriptionHTML": "

Returns the webhook configuration for an organization. To get more information about the webhook, including the active state and events, use \"Get an organization webhook .\"

\n

You must be an organization owner to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need admin:org_hook scope. OAuth apps cannot list, view, or edit\nwebhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Returns the webhook configuration for an organization. To get more information about the webhook, including the active state and events, use \"Get an organization webhook .\"

\n

You must be an organization owner to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need admin:org_hook scope. OAuth apps cannot list, view, or edit\nwebhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -381492,13 +381471,13 @@ } ], "previews": [], - "descriptionHTML": "

You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.

\n

Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "descriptionHTML": "

You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.

\n

Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -412320,13 +412299,13 @@ } ], "previews": [], - "descriptionHTML": "

Edits the content of a specified review comment.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Edits the content of a specified review comment.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -431380,7 +431359,6 @@ } ], "previews": [], - "descriptionHTML": "

List the reactions to a commit comment.

", "statusCodes": [ { "httpStatusCode": "200", @@ -431390,7 +431368,8 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ] + ], + "descriptionHTML": "

List the reactions to a commit comment.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -434275,13 +434254,13 @@ } ], "previews": [], - "descriptionHTML": "

Note

\n

\nYou can also specify a repository by repository_id using the route DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id.

\n
\n

Delete a reaction to an issue.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Note

\n

\nYou can also specify a repository by repository_id using the route DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id.

\n
\n

Delete a reaction to an issue.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -454971,7 +454950,7 @@ } ], "previews": [], - "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\nIn order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n
", + "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\n
    \n
  • In order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"
  • \n
  • To view merge-related settings, you must have the contents:read and contents:write permissions.
  • \n
\n
", "statusCodes": [ { "httpStatusCode": "200", @@ -463087,13 +463066,13 @@ } ], "previews": [], - "descriptionHTML": "

A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original owner, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see about repository transfers.

", "statusCodes": [ { "httpStatusCode": "202", "description": "

Accepted

" } - ] + ], + "descriptionHTML": "

A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original owner, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see about repository transfers.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -480702,7 +480681,6 @@ } ], "previews": [], - "descriptionHTML": "

Create new or update existing custom property values for a repository.\nUsing a value of null for a custom property will remove or 'unset' the property value from the repository.

\n

Repository admins and other users with the repository-level \"edit custom property values\" fine-grained permission can use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", @@ -480720,7 +480698,8 @@ "httpStatusCode": "422", "description": "

Validation failed, or the endpoint has been spammed.

" } - ] + ], + "descriptionHTML": "

Create new or update existing custom property values for a repository.\nUsing a value of null for a custom property will remove or 'unset' the property value from the repository.

\n

Repository admins and other users with the repository-level \"edit custom property values\" fine-grained permission can use this endpoint.

" } ], "forks": [ @@ -486590,13 +486569,13 @@ } ], "previews": [], - "descriptionHTML": "

Disables Git LFS for a repository.

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Disables Git LFS for a repository.

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" } ], "rule-suites": [ @@ -497104,13 +497083,13 @@ } ], "previews": [], - "descriptionHTML": "

Updates the webhook configuration for a repository. To update more information about the webhook, including the active state and events, use \"Update a repository webhook.\"

\n

OAuth app tokens and personal access tokens (classic) need the write:repo_hook or repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Updates the webhook configuration for a repository. To update more information about the webhook, including the active state and events, use \"Update a repository webhook.\"

\n

OAuth app tokens and personal access tokens (classic) need the write:repo_hook or repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -519767,13 +519746,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists the child teams of the team specified by {team_slug}.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/teams.

\n
", "statusCodes": [ { "httpStatusCode": "200", "description": "

if child teams exist

" } - ] + ], + "descriptionHTML": "

Lists the child teams of the team specified by {team_slug}.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/teams.

\n
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -531218,13 +531197,13 @@ } ], "previews": [], - "descriptionHTML": "

Creates a new discussion post on a team's page.

\n

This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\" and \"Best practices for using the REST API.\"

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route POST /organizations/{org_id}/team/{team_id}/discussions.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "descriptionHTML": "

Creates a new discussion post on a team's page.

\n

This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\" and \"Best practices for using the REST API.\"

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route POST /organizations/{org_id}/team/{team_id}/discussions.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", diff --git a/src/rest/data/ghes-3.16-2022-11-28/schema.json b/src/rest/data/ghes-3.16-2022-11-28/schema.json index 16940ba4f522..8a1b49e53afe 100644 --- a/src/rest/data/ghes-3.16-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.16-2022-11-28/schema.json @@ -479,13 +479,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets a specific artifact for a workflow run.

\n

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

\n

If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets a specific artifact for a workflow run.

\n

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

\n

If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -922,13 +922,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists artifacts for a workflow run.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists artifacts for a workflow run.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

" + ] } ], "cache": [ @@ -1080,13 +1080,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets the GitHub Actions cache usage policy for an enterprise.

\n

OAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets the GitHub Actions cache usage policy for an enterprise.

\n

OAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -1152,13 +1152,13 @@ } ], "previews": [], + "descriptionHTML": "

Sets the GitHub Actions cache usage policy for an enterprise.

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Sets the GitHub Actions cache usage policy for an enterprise.

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -1364,13 +1364,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists repositories and their GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

\n

OAuth tokens and personal access tokens (classic) need the read:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists repositories and their GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

\n

OAuth tokens and personal access tokens (classic) need the read:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -1554,13 +1554,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets GitHub Actions cache usage policy for a repository.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets GitHub Actions cache usage policy for a repository.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -3100,13 +3100,13 @@ } ], "previews": [], + "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

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "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

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -3420,13 +3420,13 @@ } ], "previews": [], + "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.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "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.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -4802,13 +4802,13 @@ } ], "previews": [], + "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

OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories must be must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"

\n

OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -4950,13 +4950,13 @@ } ], "previews": [], + "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.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "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.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -6066,13 +6066,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists all secrets available in an organization without revealing their\nencrypted values.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists all secrets available in an organization without revealing their\nencrypted values.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -6174,13 +6174,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets your public key, which you need to encrypt secrets. You need to\nencrypt a secret before you can create or update secrets.

\n

The authenticated user must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets your public key, which you need to encrypt secrets. You need to\nencrypt a secret before you can create or update secrets.

\n

The authenticated user must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -7496,13 +7496,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists all repositories that have been selected when the visibility\nfor repository access to a secret is set to selected.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists all repositories that have been selected when the visibility\nfor repository access to a secret is set to selected.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -8834,13 +8834,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets a single environment secret without revealing its encrypted value.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets a single environment secret without revealing its encrypted value.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -9057,13 +9057,13 @@ } ], "previews": [], + "descriptionHTML": "

Deletes a secret in an environment using the secret name.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

Default response

" } - ], - "descriptionHTML": "

Deletes a secret in an environment using the secret name.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] } ], "self-hosted-runner-groups": [ @@ -9736,13 +9736,13 @@ } ], "previews": [], + "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -10008,13 +10008,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists the organizations with access to a self-hosted runner group.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists the organizations with access to a self-hosted runner group.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -10083,13 +10083,13 @@ } ], "previews": [], + "descriptionHTML": "

Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -10153,13 +10153,13 @@ } ], "previews": [], + "descriptionHTML": "

Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see \"Create a self-hosted runner group for an enterprise.\"

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see \"Create a self-hosted runner group for an enterprise.\"

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -10677,13 +10677,13 @@ } ], "previews": [], + "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -12723,13 +12723,13 @@ } ], "previews": [], + "descriptionHTML": "

Replaces the list of repositories that have access to a self-hosted runner group configured in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Replaces the list of repositories that have access to a self-hosted runner group configured in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -13116,13 +13116,13 @@ } ], "previews": [], + "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

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

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -13269,13 +13269,13 @@ } ], "previews": [], + "descriptionHTML": "

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

\n

OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

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

\n

OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -16296,6 +16296,7 @@ } ], "previews": [], + "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

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", @@ -16305,8 +16306,7 @@ "httpStatusCode": "422", "description": "

Validation failed, or the endpoint has been spammed.

" } - ], - "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

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -17379,13 +17379,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists binaries for the runner application that you can download and run.

\n

Authenticated users must have admin access to the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists binaries for the runner application that you can download and run.

\n

Authenticated users must have admin access to the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -18681,13 +18681,13 @@ } ], "previews": [], + "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour.

\n

For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to configure your self-hosted runner:

\n
./config.sh --url https://github.com/octo-org --token TOKEN\n
\n

Authenticated users must have admin access to the organization to use this endpoint.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ], - "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour.

\n

For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to configure your self-hosted runner:

\n
./config.sh --url https://github.com/octo-org --token TOKEN\n
\n

Authenticated users must have admin access to the organization to use this endpoint.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -23504,13 +23504,13 @@ } ], "previews": [], + "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an repository. The token expires after one hour.

\n

For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization:

\n
./config.sh remove --token TOKEN\n
\n

Authenticated users must have admin access to the repository to use this endpoint.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ], - "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an repository. The token expires after one hour.

\n

For example, you can replace TOKEN in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization:

\n
./config.sh remove --token TOKEN\n
\n

Authenticated users must have admin access to the repository to use this endpoint.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -24827,13 +24827,13 @@ } ], "previews": [], + "descriptionHTML": "

Creates an organization variable that you can reference in a GitHub Actions workflow.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Response when creating a variable

" } - ], - "descriptionHTML": "

Creates an organization variable that you can reference in a GitHub Actions workflow.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -27065,13 +27065,13 @@ } ], "previews": [], + "descriptionHTML": "

Deletes a repository variable using the variable name.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Deletes a repository variable using the variable name.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -27335,13 +27335,13 @@ } ], "previews": [], + "descriptionHTML": "

Create an environment variable that you can reference in a GitHub Actions workflow.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ], - "descriptionHTML": "

Create an environment variable that you can reference in a GitHub Actions workflow.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -27654,13 +27654,13 @@ } ], "previews": [], + "descriptionHTML": "

Deletes an environment variable using the variable name.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Deletes an environment variable using the variable name.

\n

Authenticated users must have collaborator access to a repository to create, update, or read variables.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] } ], "workflow-jobs": [ @@ -28755,6 +28755,7 @@ } ], "previews": [], + "descriptionHTML": "

Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information\nabout using parameters, see Parameters.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

", "statusCodes": [ { "httpStatusCode": "200", @@ -28764,8 +28765,7 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ], - "descriptionHTML": "

Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information\nabout using parameters, see Parameters.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -32267,13 +32267,13 @@ } ], "previews": [], + "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.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

\n

This endpoint will return up to 1,000 results for each search when using the following parameters: actor, branch, check_suite_id, created, event, head_sha, status.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "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.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

\n

This endpoint will return up to 1,000 results for each search when using the following parameters: actor, branch, check_suite_id, created, event, head_sha, status.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -35046,13 +35046,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets a specific workflow run.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets a specific workflow run.

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -38534,13 +38534,13 @@ } ], "previews": [], + "descriptionHTML": "

Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see \"Using environments for deployment.\"

\n

Note

\n

\nGitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments.

\n
\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see \"Using environments for deployment.\"

\n

Note

\n

\nGitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments.

\n
\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -40267,13 +40267,13 @@ } ], "previews": [], + "descriptionHTML": "

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

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

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

\n

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

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -47169,7 +47169,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -51133,7 +51132,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -55091,7 +55089,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -59047,7 +59044,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -62989,7 +62985,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -66955,7 +66950,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -70897,7 +70891,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -74850,7 +74843,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -78803,7 +78795,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -109746,6 +109737,7 @@ } ], "previews": [], + "descriptionHTML": "

OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization.

", "statusCodes": [ { "httpStatusCode": "204", @@ -109755,8 +109747,7 @@ "httpStatusCode": "422", "description": "

Validation failed, or the endpoint has been spammed.

" } - ], - "descriptionHTML": "

OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization.

" + ] } ], "webhooks": [ @@ -122748,6 +122739,7 @@ } ], "previews": [], + "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

", "statusCodes": [ { "httpStatusCode": "200", @@ -122757,8 +122749,7 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ], - "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -127497,13 +127488,13 @@ } ], "previews": [], + "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -138733,13 +138724,13 @@ } ], "previews": [], + "descriptionHTML": "

Creates a new check run for a specific commit in a repository.

\n

To create a check run, you must use a GitHub App. OAuth apps and authenticated users are not able to create a check suite.

\n

In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs.

\n

Note

\n

\nThe Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array.

\n
", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ], - "descriptionHTML": "

Creates a new check run for a specific commit in a repository.

\n

To create a check run, you must use a GitHub App. OAuth apps and authenticated users are not able to create a check suite.

\n

In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs.

\n

Note

\n

\nThe Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array.

\n
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -140115,13 +140106,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets a single check run using its id.

\n

Note

\n

\nThe Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array.

\n
\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint on a private repository.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets a single check run using its id.

\n

Note

\n

\nThe Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array.

\n
\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint on a private repository.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -141937,13 +141928,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists annotations for a check run using the annotation id.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint on a private repository.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists annotations for a check run using the annotation id.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint on a private repository.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -153940,13 +153931,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists check suites for a commit ref. The ref can be a SHA, branch name, or a tag name.

\n

Note

\n

\nThe endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array and a null value for head_branch.

\n
\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint on a private repository.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists check suites for a commit ref. The ref can be a SHA, branch name, or a tag name.

\n

Note

\n

\nThe endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array and a null value for head_branch.

\n
\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint on a private repository.

" + ] } ] }, @@ -155544,6 +155535,7 @@ } ], "previews": [], + "descriptionHTML": "

Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see \"Managing security managers in your organization.\"

\n

The authenticated user must be a member of the enterprise to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the security_events or repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -155557,8 +155549,7 @@ "httpStatusCode": "503", "description": "

Service unavailable

" } - ], - "descriptionHTML": "

Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see \"Managing security managers in your organization.\"

\n

The authenticated user must be a member of the enterprise to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the security_events or repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -167203,6 +167194,7 @@ } ], "previews": [], + "descriptionHTML": "

Sets a code security configuration as a default to be applied to new repositories in your organization.

\n

This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created.

\n

The authenticated user must be an administrator or security manager for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.

\n

Note

\n

\nThe enablement status will only be returned for installed security products.

\n
", "statusCodes": [ { "httpStatusCode": "200", @@ -167216,8 +167208,7 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ], - "descriptionHTML": "

Sets a code security configuration as a default to be applied to new repositories in your organization.

\n

This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created.

\n

The authenticated user must be an administrator or security manager for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.

\n

Note

\n

\nThe enablement status will only be returned for installed security products.

\n
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -179825,6 +179816,7 @@ } ], "previews": [], + "descriptionHTML": "

Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, it will return merged and open pull requests associated with the commit.

\n

To list the open or merged pull requests associated with a branch, you can set the commit_sha parameter to the branch name.

", "statusCodes": [ { "httpStatusCode": "200", @@ -179834,8 +179826,7 @@ "httpStatusCode": "409", "description": "

Conflict

" } - ], - "descriptionHTML": "

Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, it will return merged and open pull requests associated with the commit.

\n

To list the open or merged pull requests associated with a branch, you can set the commit_sha parameter to the branch name.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -184800,6 +184791,7 @@ } ], "previews": [], + "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "204", @@ -184809,8 +184801,7 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -194958,13 +194949,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets your public key, which you need to encrypt secrets. You need to\nencrypt a secret before you can create or update secrets.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets your public key, which you need to encrypt secrets. You need to\nencrypt a secret before you can create or update secrets.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -196356,13 +196347,13 @@ } ], "previews": [], + "descriptionHTML": "

Replaces all repositories for an organization secret when the visibility\nfor repository access is set to selected. The visibility is set when you Create\nor update an organization secret.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Replaces all repositories for an organization secret when the visibility\nfor repository access is set to selected. The visibility is set when you Create\nor update an organization secret.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -196855,13 +196846,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets a single repository secret without revealing its encrypted value.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets a single repository secret without revealing its encrypted value.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -198138,13 +198129,13 @@ } ], "previews": [], + "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -210235,13 +210226,13 @@ } ], "previews": [], + "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -210361,13 +210352,13 @@ } ], "previews": [], + "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -210797,13 +210788,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets the statistics about security products for a GitHub Enterprise Server instance.

\n

To use this endpoint, you must be a site admin.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets the statistics about security products for a GitHub Enterprise Server instance.

\n

To use this endpoint, you must be a site admin.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -212834,13 +212825,13 @@ } ], "previews": [], + "descriptionHTML": "

Deletes an existing audit log stream configuration for an enterprise.

\n

When using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"

", "statusCodes": [ { "httpStatusCode": "204", "description": "

The audit log stream configuration was deleted successfully.

" } - ], - "descriptionHTML": "

Deletes an existing audit log stream configuration for an enterprise.

\n

When using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"

" + ] } ], "billing": [ @@ -213031,13 +213022,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

Success

" } - ], - "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

" + ] } ], "code-security-and-analysis": [ @@ -217694,13 +217685,13 @@ } ], "previews": [], + "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -217804,13 +217795,13 @@ } ], "previews": [], + "descriptionHTML": "

For pre-receive hooks which are allowed to be configured at the org level, you can set enforcement and allow_downstream_configuration

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

For pre-receive hooks which are allowed to be configured at the org level, you can set enforcement and allow_downstream_configuration

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -250524,7 +250515,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -253879,7 +253869,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -257156,7 +257145,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -260366,7 +260354,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -263542,7 +263529,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -266791,7 +266777,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -270331,7 +270316,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -273876,7 +273860,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -277044,7 +277027,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -284934,7 +284916,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -289851,7 +289832,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -304377,13 +304357,13 @@ } ], "previews": [], + "descriptionHTML": "

Updates a label using the given label name.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Updates a label using the given label name.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -304454,13 +304434,13 @@ } ], "previews": [], + "descriptionHTML": "

Deletes a label using the given label name.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Deletes a label using the given label name.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -320235,7 +320215,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -325177,13 +325156,13 @@ } ], "previews": [], + "descriptionHTML": "

Get a random sentence from the Zen of GitHub

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Get a random sentence from the Zen of GitHub

" + ] } ] }, @@ -348092,13 +348071,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists all GitHub Apps in an organization. The installation count includes\nall GitHub Apps installed on repositories in the organization.

\n

The authenticated user must be an organization owner to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:read scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists all GitHub Apps in an organization. The installation count includes\nall GitHub Apps installed on repositories in the organization.

\n

The authenticated user must be an organization owner to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:read scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -351234,6 +351213,7 @@ } ], "previews": [], + "descriptionHTML": "

Gets a custom repository role that is available to all repositories owned by the organization. For more information on custom repository roles, see \"About custom repository roles.\"

\n

The authenticated user must be an administrator of the organization or of a repository of the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -351243,8 +351223,7 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ], - "descriptionHTML": "

Gets a custom repository role that is available to all repositories owned by the organization. For more information on custom repository roles, see \"About custom repository roles.\"

\n

The authenticated user must be an administrator of the organization or of a repository of the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -353494,13 +353473,13 @@ } ], "previews": [], + "descriptionHTML": "

Members of an organization can choose to have their membership publicized or not.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Members of an organization can choose to have their membership publicized or not.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -356480,13 +356459,13 @@ } ], "previews": [], + "descriptionHTML": "

Remove an organization role from a user. For more information on organization roles, see \"Using organization roles.\"

\n

The authenticated user must be an administrator for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Remove an organization role from a user. For more information on organization roles, see \"Using organization roles.\"

\n

The authenticated user must be an administrator for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -372993,6 +372972,7 @@ } ], "previews": [], + "descriptionHTML": "

Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration.

\n

OAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -373006,8 +372986,7 @@ "httpStatusCode": "403", "description": "

Forbidden

" } - ], - "descriptionHTML": "

Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration.

\n

OAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -376183,13 +376162,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets a specific package version in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets a specific package version in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -418313,13 +418292,13 @@ } ], "previews": [], + "descriptionHTML": "

Edits the content of a specified review comment.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Edits the content of a specified review comment.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -421012,13 +420991,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the List reviews for a pull request operation.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the List reviews for a pull request operation.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -430977,13 +430956,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists all reviews for a specified pull request. The list of reviews returns in chronological order.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n", "statusCodes": [ { "httpStatusCode": "200", "description": "

The list of reviews returns in chronological order.

" } - ], - "descriptionHTML": "

Lists all reviews for a specified pull request. The list of reviews returns in chronological order.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -460964,7 +460943,7 @@ } ], "previews": [], - "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\nIn order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n
", + "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\n
    \n
  • In order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"
  • \n
  • To view merge-related settings, you must have the contents:read and contents:write permissions.
  • \n
\n
", "statusCodes": [ { "httpStatusCode": "200", @@ -467081,13 +467060,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -469080,13 +469059,13 @@ } ], "previews": [], + "descriptionHTML": "

A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original owner, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see about repository transfers.

", "statusCodes": [ { "httpStatusCode": "202", "description": "

Accepted

" } - ], - "descriptionHTML": "

A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original owner, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see about repository transfers.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -482221,13 +482200,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets all autolinks that are configured for a repository.

\n

Information about autolinks are only available to repository administrators.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets all autolinks that are configured for a repository.

\n

Information about autolinks are only available to repository administrators.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -492583,13 +492562,13 @@ } ], "previews": [], + "descriptionHTML": "

Disables Git LFS for a repository.

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Disables Git LFS for a repository.

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" + ] } ], "rule-suites": [ @@ -502952,13 +502931,13 @@ } ], "previews": [], + "descriptionHTML": "

Returns the webhook configuration for a repository. To get more information about the webhook, including the active state and events, use \"Get a repository webhook.\"

\n

OAuth app tokens and personal access tokens (classic) need the read:repo_hook or repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Returns the webhook configuration for a repository. To get more information about the webhook, including the active state and events, use \"Get a repository webhook.\"

\n

OAuth app tokens and personal access tokens (classic) need the read:repo_hook or repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -523999,13 +523978,13 @@ } ], "previews": [], + "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -526873,13 +526852,13 @@ } ], "previews": [], + "descriptionHTML": "

If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}.

\n
", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}.

\n
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -535206,13 +535185,13 @@ } ], "previews": [], + "descriptionHTML": "

Get a specific comment on a team discussion.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}.

\n
\n

OAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Get a specific comment on a team discussion.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}.

\n
\n

OAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -539635,13 +539614,13 @@ } ], "previews": [], + "descriptionHTML": "

Edits the title and body text of a discussion post. Only the parameters you provide are updated.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Edits the title and body text of a discussion post. Only the parameters you provide are updated.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -539709,13 +539688,13 @@ } ], "previews": [], + "descriptionHTML": "

Delete a discussion from a team's page.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Delete a discussion from a team's page.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -542487,13 +542466,13 @@ } ], "previews": [], + "descriptionHTML": "

Creates a connection between a team and an external group. Only one external group can be linked to a team.

\n

You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"GitHub's products\" in the GitHub Help documentation.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Creates a connection between a team and an external group. Only one external group can be linked to a team.

\n

You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"GitHub's products\" in the GitHub Help documentation.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", diff --git a/src/rest/data/ghes-3.17-2022-11-28/schema.json b/src/rest/data/ghes-3.17-2022-11-28/schema.json index bd95c26abd9e..87e7efa52638 100644 --- a/src/rest/data/ghes-3.17-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.17-2022-11-28/schema.json @@ -47301,7 +47301,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -51265,7 +51264,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -55223,7 +55221,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -59179,7 +59176,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -63121,7 +63117,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -67087,7 +67082,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -71029,7 +71023,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -74982,7 +74975,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -78935,7 +78927,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -251431,7 +251422,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -254786,7 +254776,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -258063,7 +258052,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -261273,7 +261261,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -264449,7 +264436,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -267698,7 +267684,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -271238,7 +271223,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -274783,7 +274767,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -277951,7 +277934,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -285841,7 +285823,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -290758,7 +290739,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -321142,7 +321122,6 @@ "title", "url", "user", - "author_association", "created_at", "updated_at" ] @@ -390835,1699 +390814,6 @@ ] }, "projects-classic": { - "cards": [ - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/projects/columns/cards/{card_id}", - "title": "Get a project card", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "card_id", - "description": "

The unique identifier of the card.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [], - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "card_id": "CARD_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "url": "https://api.github.com/projects/columns/cards/1478", - "id": 1478, - "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", - "note": "Add payload for delete Project column", - "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": "2016-09-05T14:21:06Z", - "updated_at": "2016-09-05T14:20:22Z", - "archived": false, - "column_url": "https://api.github.com/projects/columns/367", - "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", - "project_url": "https://api.github.com/projects/120" - }, - "schema": { - "title": "Project Card", - "description": "Project cards represent a scope of work.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/cards/1478" - ] - }, - "id": { - "description": "The project card's ID", - "type": "integer", - "format": "int64", - "examples": [ - 42 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDExOlByb2plY3RDYXJkMTQ3OA==" - ] - }, - "note": { - "type": [ - "string", - "null" - ], - "examples": [ - "Add payload for delete Project column" - ] - }, - "creator": { - "anyOf": [ - { - "type": "null" - }, - { - "title": "Simple User", - "description": "A GitHub user.", - "type": "object", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "email": { - "type": [ - "string", - "null" - ] - }, - "login": { - "type": "string", - "examples": [ - "octocat" - ] - }, - "id": { - "type": "integer", - "format": "int64", - "examples": [ - 1 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDQ6VXNlcjE=" - ] - }, - "avatar_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/images/error/octocat_happy.gif" - ] - }, - "gravatar_id": { - "type": [ - "string", - "null" - ], - "examples": [ - "41d064eb2195891e12d0413f63227ea7" - ] - }, - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat" - ] - }, - "html_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/octocat" - ] - }, - "followers_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/followers" - ] - }, - "following_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/following{/other_user}" - ] - }, - "gists_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/gists{/gist_id}" - ] - }, - "starred_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/starred{/owner}{/repo}" - ] - }, - "subscriptions_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/subscriptions" - ] - }, - "organizations_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/orgs" - ] - }, - "repos_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/repos" - ] - }, - "events_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/events{/privacy}" - ] - }, - "received_events_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/received_events" - ] - }, - "type": { - "type": "string", - "examples": [ - "User" - ] - }, - "site_admin": { - "type": "boolean" - }, - "starred_at": { - "type": "string", - "examples": [ - "\"2020-07-09T00:17:55Z\"" - ] - }, - "user_view_type": { - "type": "string", - "examples": [ - "public" - ] - } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:21:06Z" - ] - }, - "updated_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:20:22Z" - ] - }, - "archived": { - "description": "Whether or not the card is archived", - "type": "boolean", - "examples": [ - false - ] - }, - "column_name": { - "type": "string" - }, - "project_id": { - "type": "string" - }, - "column_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/367" - ] - }, - "content_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/repos/api-playground/projects-test/issues/3" - ] - }, - "project_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/120" - ] - } - }, - "required": [ - "id", - "node_id", - "note", - "url", - "column_url", - "project_url", - "creator", - "created_at", - "updated_at" - ] - } - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "404", - "description": "

Resource not found

" - } - ] - }, - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "patch", - "requestPath": "/projects/columns/cards/{card_id}", - "title": "Update an existing project card", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "card_id", - "description": "

The unique identifier of the card.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [ - { - "type": "string or null", - "name": "note", - "in": "body", - "description": "

The project card's note

" - }, - { - "type": "boolean", - "name": "archived", - "in": "body", - "description": "

Whether or not the card is archived

" - } - ], - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Change the note on the card", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "note": "Add payload for delete Project column" - }, - "parameters": { - "card_id": "CARD_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "url": "https://api.github.com/projects/columns/cards/1478", - "id": 1478, - "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", - "note": "Add payload for delete Project column", - "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": "2016-09-05T14:21:06Z", - "updated_at": "2016-09-05T14:20:22Z", - "archived": false, - "column_url": "https://api.github.com/projects/columns/367", - "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", - "project_url": "https://api.github.com/projects/120" - }, - "schema": { - "title": "Project Card", - "description": "Project cards represent a scope of work.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/cards/1478" - ] - }, - "id": { - "description": "The project card's ID", - "type": "integer", - "format": "int64", - "examples": [ - 42 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDExOlByb2plY3RDYXJkMTQ3OA==" - ] - }, - "note": { - "type": [ - "string", - "null" - ], - "examples": [ - "Add payload for delete Project column" - ] - }, - "creator": { - "anyOf": [ - { - "type": "null" - }, - { - "title": "Simple User", - "description": "A GitHub user.", - "type": "object", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "email": { - "type": [ - "string", - "null" - ] - }, - "login": { - "type": "string", - "examples": [ - "octocat" - ] - }, - "id": { - "type": "integer", - "format": "int64", - "examples": [ - 1 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDQ6VXNlcjE=" - ] - }, - "avatar_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/images/error/octocat_happy.gif" - ] - }, - "gravatar_id": { - "type": [ - "string", - "null" - ], - "examples": [ - "41d064eb2195891e12d0413f63227ea7" - ] - }, - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat" - ] - }, - "html_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/octocat" - ] - }, - "followers_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/followers" - ] - }, - "following_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/following{/other_user}" - ] - }, - "gists_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/gists{/gist_id}" - ] - }, - "starred_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/starred{/owner}{/repo}" - ] - }, - "subscriptions_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/subscriptions" - ] - }, - "organizations_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/orgs" - ] - }, - "repos_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/repos" - ] - }, - "events_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/events{/privacy}" - ] - }, - "received_events_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/received_events" - ] - }, - "type": { - "type": "string", - "examples": [ - "User" - ] - }, - "site_admin": { - "type": "boolean" - }, - "starred_at": { - "type": "string", - "examples": [ - "\"2020-07-09T00:17:55Z\"" - ] - }, - "user_view_type": { - "type": "string", - "examples": [ - "public" - ] - } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:21:06Z" - ] - }, - "updated_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:20:22Z" - ] - }, - "archived": { - "description": "Whether or not the card is archived", - "type": "boolean", - "examples": [ - false - ] - }, - "column_name": { - "type": "string" - }, - "project_id": { - "type": "string" - }, - "column_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/367" - ] - }, - "content_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/repos/api-playground/projects-test/issues/3" - ] - }, - "project_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/120" - ] - } - }, - "required": [ - "id", - "node_id", - "note", - "url", - "column_url", - "project_url", - "creator", - "created_at", - "updated_at" - ] - } - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "404", - "description": "

Resource not found

" - }, - { - "httpStatusCode": "422", - "description": "

Validation failed, or the endpoint has been spammed.

" - } - ] - }, - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "delete", - "requestPath": "/projects/columns/cards/{card_id}", - "title": "Delete a project card", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "card_id", - "description": "

The unique identifier of the card.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [], - "codeExamples": [ - { - "key": "204", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "card_id": "CARD_ID" - } - }, - "response": { - "statusCode": "204", - "description": "

Response

" - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "204", - "description": "

No Content

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "404", - "description": "

Resource not found

" - } - ] - }, - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "post", - "requestPath": "/projects/columns/cards/{card_id}/moves", - "title": "Move a project card", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "card_id", - "description": "

The unique identifier of the card.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [ - { - "type": "string", - "name": "position", - "in": "body", - "description": "

The position of the card in a column. Can be one of: top, bottom, or after:<card_id> to place after the specified card.

", - "isRequired": true - }, - { - "type": "integer", - "name": "column_id", - "in": "body", - "description": "

The unique identifier of the column the card should be moved to

" - } - ], - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Move the card to the bottom of the column", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "column_id": 42, - "position": "bottom" - }, - "parameters": { - "card_id": "CARD_ID" - } - }, - "response": { - "statusCode": "201", - "contentType": "application/json", - "description": "

Response

", - "example": null, - "schema": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "201", - "description": "

Created

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "422", - "description": "

Validation failed, or the endpoint has been spammed.

" - }, - { - "httpStatusCode": "503", - "description": "

Service Unavailable

" - } - ] - }, - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/projects/columns/{column_id}/cards", - "title": "List project cards", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "column_id", - "description": "

The unique identifier of the column.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "archived_state", - "description": "

Filters the project cards that are returned by the card's state.

", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "all", - "archived", - "not_archived" - ], - "default": "not_archived" - } - }, - { - "name": "per_page", - "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "column_id": "COLUMN_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": [ - { - "url": "https://api.github.com/projects/columns/cards/1478", - "id": 1478, - "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", - "note": "Add payload for delete Project column", - "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": "2016-09-05T14:21:06Z", - "updated_at": "2016-09-05T14:20:22Z", - "archived": false, - "column_url": "https://api.github.com/projects/columns/367", - "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", - "project_url": "https://api.github.com/projects/120" - } - ], - "schema": { - "type": "array", - "items": { - "title": "Project Card", - "description": "Project cards represent a scope of work.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/cards/1478" - ] - }, - "id": { - "description": "The project card's ID", - "type": "integer", - "format": "int64", - "examples": [ - 42 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDExOlByb2plY3RDYXJkMTQ3OA==" - ] - }, - "note": { - "type": [ - "string", - "null" - ], - "examples": [ - "Add payload for delete Project column" - ] - }, - "creator": { - "anyOf": [ - { - "type": "null" - }, - { - "title": "Simple User", - "description": "A GitHub user.", - "type": "object", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "email": { - "type": [ - "string", - "null" - ] - }, - "login": { - "type": "string", - "examples": [ - "octocat" - ] - }, - "id": { - "type": "integer", - "format": "int64", - "examples": [ - 1 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDQ6VXNlcjE=" - ] - }, - "avatar_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/images/error/octocat_happy.gif" - ] - }, - "gravatar_id": { - "type": [ - "string", - "null" - ], - "examples": [ - "41d064eb2195891e12d0413f63227ea7" - ] - }, - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat" - ] - }, - "html_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/octocat" - ] - }, - "followers_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/followers" - ] - }, - "following_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/following{/other_user}" - ] - }, - "gists_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/gists{/gist_id}" - ] - }, - "starred_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/starred{/owner}{/repo}" - ] - }, - "subscriptions_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/subscriptions" - ] - }, - "organizations_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/orgs" - ] - }, - "repos_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/repos" - ] - }, - "events_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/events{/privacy}" - ] - }, - "received_events_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/received_events" - ] - }, - "type": { - "type": "string", - "examples": [ - "User" - ] - }, - "site_admin": { - "type": "boolean" - }, - "starred_at": { - "type": "string", - "examples": [ - "\"2020-07-09T00:17:55Z\"" - ] - }, - "user_view_type": { - "type": "string", - "examples": [ - "public" - ] - } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:21:06Z" - ] - }, - "updated_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:20:22Z" - ] - }, - "archived": { - "description": "Whether or not the card is archived", - "type": "boolean", - "examples": [ - false - ] - }, - "column_name": { - "type": "string" - }, - "project_id": { - "type": "string" - }, - "column_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/367" - ] - }, - "content_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/repos/api-playground/projects-test/issues/3" - ] - }, - "project_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/120" - ] - } - }, - "required": [ - "id", - "node_id", - "note", - "url", - "column_url", - "project_url", - "creator", - "created_at", - "updated_at" - ] - } - } - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - } - ] - }, - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "post", - "requestPath": "/projects/columns/{column_id}/cards", - "title": "Create a project card", - "category": "projects-classic", - "subcategory": "cards", - "parameters": [ - { - "name": "column_id", - "description": "

The unique identifier of the column.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [ - { - "type": "string or null", - "name": "note", - "in": "body", - "description": "

The project card's note

", - "isRequired": true - }, - { - "type": "integer", - "name": "content_id", - "in": "body", - "description": "

The unique identifier of the content associated with the card

", - "isRequired": true - }, - { - "type": "string", - "name": "content_type", - "in": "body", - "description": "

The piece of content associated with the card

", - "isRequired": true - } - ], - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Create a new card", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "note": "Add payload for delete Project column" - }, - "parameters": { - "column_id": "COLUMN_ID" - } - }, - "response": { - "statusCode": "201", - "contentType": "application/json", - "description": "

Response

", - "example": { - "url": "https://api.github.com/projects/columns/cards/1478", - "id": 1478, - "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", - "note": "Add payload for delete Project column", - "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": "2016-09-05T14:21:06Z", - "updated_at": "2016-09-05T14:20:22Z", - "archived": false, - "column_url": "https://api.github.com/projects/columns/367", - "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", - "project_url": "https://api.github.com/projects/120" - }, - "schema": { - "title": "Project Card", - "description": "Project cards represent a scope of work.", - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/cards/1478" - ] - }, - "id": { - "description": "The project card's ID", - "type": "integer", - "format": "int64", - "examples": [ - 42 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDExOlByb2plY3RDYXJkMTQ3OA==" - ] - }, - "note": { - "type": [ - "string", - "null" - ], - "examples": [ - "Add payload for delete Project column" - ] - }, - "creator": { - "anyOf": [ - { - "type": "null" - }, - { - "title": "Simple User", - "description": "A GitHub user.", - "type": "object", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "email": { - "type": [ - "string", - "null" - ] - }, - "login": { - "type": "string", - "examples": [ - "octocat" - ] - }, - "id": { - "type": "integer", - "format": "int64", - "examples": [ - 1 - ] - }, - "node_id": { - "type": "string", - "examples": [ - "MDQ6VXNlcjE=" - ] - }, - "avatar_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/images/error/octocat_happy.gif" - ] - }, - "gravatar_id": { - "type": [ - "string", - "null" - ], - "examples": [ - "41d064eb2195891e12d0413f63227ea7" - ] - }, - "url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat" - ] - }, - "html_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://github.com/octocat" - ] - }, - "followers_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/followers" - ] - }, - "following_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/following{/other_user}" - ] - }, - "gists_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/gists{/gist_id}" - ] - }, - "starred_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/starred{/owner}{/repo}" - ] - }, - "subscriptions_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/subscriptions" - ] - }, - "organizations_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/orgs" - ] - }, - "repos_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/repos" - ] - }, - "events_url": { - "type": "string", - "examples": [ - "https://api.github.com/users/octocat/events{/privacy}" - ] - }, - "received_events_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/users/octocat/received_events" - ] - }, - "type": { - "type": "string", - "examples": [ - "User" - ] - }, - "site_admin": { - "type": "boolean" - }, - "starred_at": { - "type": "string", - "examples": [ - "\"2020-07-09T00:17:55Z\"" - ] - }, - "user_view_type": { - "type": "string", - "examples": [ - "public" - ] - } - }, - "required": [ - "avatar_url", - "events_url", - "followers_url", - "following_url", - "gists_url", - "gravatar_id", - "html_url", - "id", - "node_id", - "login", - "organizations_url", - "received_events_url", - "repos_url", - "site_admin", - "starred_url", - "subscriptions_url", - "type", - "url" - ] - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:21:06Z" - ] - }, - "updated_at": { - "type": "string", - "format": "date-time", - "examples": [ - "2016-09-05T14:20:22Z" - ] - }, - "archived": { - "description": "Whether or not the card is archived", - "type": "boolean", - "examples": [ - false - ] - }, - "column_name": { - "type": "string" - }, - "project_id": { - "type": "string" - }, - "column_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/columns/367" - ] - }, - "content_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/repos/api-playground/projects-test/issues/3" - ] - }, - "project_url": { - "type": "string", - "format": "uri", - "examples": [ - "https://api.github.com/projects/120" - ] - } - }, - "required": [ - "id", - "node_id", - "note", - "url", - "column_url", - "project_url", - "creator", - "created_at", - "updated_at" - ] - } - } - } - ], - "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", - "statusCodes": [ - { - "httpStatusCode": "201", - "description": "

Created

" - }, - { - "httpStatusCode": "304", - "description": "

Not modified

" - }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "422", - "description": "

Validation failed

" - }, - { - "httpStatusCode": "503", - "description": "

Service Unavailable

" - } - ] - } - ], "collaborators": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -463325,7 +461611,7 @@ } ], "previews": [], - "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\nIn order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n
", + "descriptionHTML": "

The parent and source objects are present when the repository is a fork. parent is the repository this repository was forked from, source is the ultimate source for the network.

\n

Note

\n

\n
    \n
  • In order to see the security_and_analysis block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"
  • \n
  • To view merge-related settings, you must have the contents:read and contents:write permissions.
  • \n
\n
", "statusCodes": [ { "httpStatusCode": "200", @@ -513884,7 +512170,7 @@ } ], "previews": [], - "descriptionHTML": "

Warning

\n

\nNotice: Search for issues and pull requests will be overridden by advanced search on September 4, 2025.\nYou can read more about this change on the GitHub blog.

\n
", + "descriptionHTML": "

Warning

\n

\nNotice: Search for issues and pull requests will be overridden by advanced search on November 4, 2025.\nYou can read more about this change on the GitHub blog.

\n
", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/lib/config.json b/src/rest/lib/config.json index c2265d8220e0..203b8aa5b5d4 100644 --- a/src/rest/lib/config.json +++ b/src/rest/lib/config.json @@ -44,5 +44,5 @@ ] } }, - "sha": "d96c183530ab37939c58cb29459b7b5be50ddcb2" + "sha": "f0dc156505ef3ea9ae0fd2f227aca5642c465e4f" } \ No newline at end of file diff --git a/src/webhooks/data/fpt/schema.json b/src/webhooks/data/fpt/schema.json index c15b6f054f3b..9fa708ae3448 100644 --- a/src/webhooks/data/fpt/schema.json +++ b/src/webhooks/data/fpt/schema.json @@ -3235,6 +3235,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -5350,6 +5357,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -7466,6 +7480,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -9594,6 +9615,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -55835,7 +55863,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -57889,7 +57916,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -60804,7 +60830,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -62858,7 +62883,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -65773,7 +65797,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -68633,7 +68656,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -70742,7 +70764,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -73602,7 +73623,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -253344,7 +253364,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -256204,7 +256223,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -258310,7 +258328,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -261170,7 +261187,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -263276,7 +263292,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -266136,7 +266151,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -268242,7 +268256,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -271102,7 +271115,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", diff --git a/src/webhooks/data/ghec/schema.json b/src/webhooks/data/ghec/schema.json index 12d1de1d45b6..8322be140619 100644 --- a/src/webhooks/data/ghec/schema.json +++ b/src/webhooks/data/ghec/schema.json @@ -7001,6 +7001,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -9132,6 +9139,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -11264,6 +11278,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -13408,6 +13429,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -62284,7 +62312,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -64338,7 +64365,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -67253,7 +67279,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -69307,7 +69332,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -72222,7 +72246,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -75082,7 +75105,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -77191,7 +77213,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -80051,7 +80072,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -259812,7 +259832,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -262672,7 +262691,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -264778,7 +264796,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -267638,7 +267655,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -269744,7 +269760,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -272604,7 +272619,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -274710,7 +274724,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", @@ -277570,7 +277583,6 @@ "type": "string", "name": "author_association", "description": "

How the author is associated with the repository.

", - "isRequired": true, "enum": [ "COLLABORATOR", "CONTRIBUTOR", diff --git a/src/webhooks/data/ghes-3.14/schema.json b/src/webhooks/data/ghes-3.14/schema.json index 68e318695043..24dd7514c94b 100644 --- a/src/webhooks/data/ghes-3.14/schema.json +++ b/src/webhooks/data/ghes-3.14/schema.json @@ -5046,6 +5046,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -7098,6 +7105,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -9151,6 +9165,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -11216,6 +11237,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", diff --git a/src/webhooks/data/ghes-3.15/schema.json b/src/webhooks/data/ghes-3.15/schema.json index d56809aa5025..60f3bc8a336f 100644 --- a/src/webhooks/data/ghes-3.15/schema.json +++ b/src/webhooks/data/ghes-3.15/schema.json @@ -5151,6 +5151,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -7229,6 +7236,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -9308,6 +9322,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -11399,6 +11420,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", diff --git a/src/webhooks/data/ghes-3.16/schema.json b/src/webhooks/data/ghes-3.16/schema.json index 1103d9d00909..c97d72bd3573 100644 --- a/src/webhooks/data/ghes-3.16/schema.json +++ b/src/webhooks/data/ghes-3.16/schema.json @@ -7026,6 +7026,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -9104,6 +9111,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -11183,6 +11197,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -13274,6 +13295,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", diff --git a/src/webhooks/data/ghes-3.17/schema.json b/src/webhooks/data/ghes-3.17/schema.json index 403130a30b4d..8f6c4c5125ea 100644 --- a/src/webhooks/data/ghes-3.17/schema.json +++ b/src/webhooks/data/ghes-3.17/schema.json @@ -7042,6 +7042,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -9136,6 +9143,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -11231,6 +11245,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", @@ -13338,6 +13359,13 @@ "description": "

The GitHub App installation. Webhook payloads contain the installation property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"Using webhooks with GitHub Apps.\"

", "childParamsGroups": [] }, + { + "type": "object", + "name": "enterprise", + "in": "body", + "description": "

An enterprise on GitHub. Webhook payloads contain the enterprise property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"About enterprise accounts.\"

", + "childParamsGroups": [] + }, { "type": "object", "name": "organization", diff --git a/src/webhooks/lib/config.json b/src/webhooks/lib/config.json index 7338b8d6f8f9..cadb08b243fa 100644 --- a/src/webhooks/lib/config.json +++ b/src/webhooks/lib/config.json @@ -1,3 +1,3 @@ { - "sha": "d96c183530ab37939c58cb29459b7b5be50ddcb2" + "sha": "f0dc156505ef3ea9ae0fd2f227aca5642c465e4f" } \ No newline at end of file From 4de720c55d2a6b2e8780133510c1283d4043bf89 Mon Sep 17 00:00:00 2001 From: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com> Date: Mon, 8 Sep 2025 10:14:37 -0700 Subject: [PATCH 4/5] Tutorial for Copilot Creates issues [2025-08-06] (#56965) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Ellie Bennett <34038869+elliebennett@users.noreply.github.com> --- .../copilot-creates-sub-issues-workbench.png | Bin 0 -> 111112 bytes .../copilot/copilot-creates-sub-issues.png | Bin 0 -> 91784 bytes .../use-copilot-to-create-issues.md | 39 ++++++ content/copilot/tutorials/index.md | 1 + content/copilot/tutorials/plan-a-project.md | 116 ++++++++++++++++++ 5 files changed, 156 insertions(+) create mode 100644 assets/images/help/copilot/copilot-creates-sub-issues-workbench.png create mode 100644 assets/images/help/copilot/copilot-creates-sub-issues.png create mode 100644 content/copilot/tutorials/plan-a-project.md diff --git a/assets/images/help/copilot/copilot-creates-sub-issues-workbench.png b/assets/images/help/copilot/copilot-creates-sub-issues-workbench.png new file mode 100644 index 0000000000000000000000000000000000000000..97829156af9dd4323e0c81f0100881b4e0e8997a GIT binary patch literal 111112 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 X$>g#9i=;a!;E$}7qGXx4k^lb!Tp;Yu literal 0 HcmV?d00001 diff --git a/assets/images/help/copilot/copilot-creates-sub-issues.png b/assets/images/help/copilot/copilot-creates-sub-issues.png new file mode 100644 index 0000000000000000000000000000000000000000..051befcb6b3de42fa98a3ef17b5459434e22e71c GIT binary patch literal 91784 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 literal 0 HcmV?d00001 diff --git a/content/copilot/how-tos/use-copilot-for-common-tasks/use-copilot-to-create-issues.md b/content/copilot/how-tos/use-copilot-for-common-tasks/use-copilot-to-create-issues.md index 23cac6b42635..897ae1fbe4dd 100644 --- a/content/copilot/how-tos/use-copilot-for-common-tasks/use-copilot-to-create-issues.md +++ b/content/copilot/how-tos/use-copilot-for-common-tasks/use-copilot-to-create-issues.md @@ -76,6 +76,44 @@ For example: Each draft appears separately, and you can review and edit them individually. To publish the issues, click **Create** on each one you want to submit. +## Creating sub-issues + +You can use {% data variables.product.prodname_copilot_short %} to draft multiple sub-issues. + +For example: + +`In octo-org/octo-repo, plan a new user dashboard. Break it down into an epic, and create sub-issues for each main feature and task.` + +{% data variables.product.prodname_copilot_short %} generates a draft issue tree, with a parent issue at the top level and sub-issues beneath it. + +You can review the issue tree, expand or collapse sub-issues, and edit the details of each issue. + +Click the parent issue to view its details in the workbench. The parent issue displays a list of sub-issues, and you can click each one to view and edit its details in the workbench. From a sub-issue, use the "Parent" dropdown to navigate through the issue tree. You can also click **Review and create** at the top of the workbench to see the full issue tree and navigate directly to any issue. + +{% data variables.product.prodname_copilot_short %} can modify the tree, by unlinking issues or by attaching new drafts. + +For example, you can: +* Remove a sub-issue from the issue tree: + `Remove sub-issue NAME_OF_ISSUE from the issue tree` +* Add an additional sub-issue to the issue tree: + `Add an additional sub-issue with ISSUE_DETAILS to the issue tree` + +Once you've finished editing the drafts and are ready to publish the issues, click **Review and create** then click **Create issues**. + +## Working with existing issues + +You can use {% data variables.product.prodname_copilot_short %} to connect new issues with issues that already exist in your repository. + +For example, you can: +* Add a sub-issue to an existing parent issue: + `Create a sub-issue for octo-org/octo-repo issue #456.` +* Add a parent issue to an existing issue: + `Create a parent issue for octo-org/octo-repo issue #456.` +* Add a parent issue to multiple existing issues: + `Create a parent issue for octo-org/octo-repo issues #456, #457, and #458.` + +The draft appears in the workbench, where you can review and edit it. To publish the issue, click **Review and create**, then click **Create issues**. + ## Assigning issues to {% data variables.product.prodname_copilot_short %} To assign an issue to {% data variables.product.prodname_copilot_short %}, you need to have {% data variables.copilot.copilot_coding_agent %} enabled. See [AUTOTITLE](/copilot/concepts/coding-agent/about-enabling-coding-agent). @@ -90,3 +128,4 @@ Once the issue is assigned and created, {% data variables.product.prodname_copil ## Further reading * [AUTOTITLE](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository) +* [AUTOTITLE](/copilot/tutorials/plan-a-project) diff --git a/content/copilot/tutorials/index.md b/content/copilot/tutorials/index.md index 23637892aa11..3263b8e075d2 100644 --- a/content/copilot/tutorials/index.md +++ b/content/copilot/tutorials/index.md @@ -24,6 +24,7 @@ children: - /build-apps-with-spark - /modernize-legacy-code - /migrate-a-project + - /plan-a-project - /upgrade-projects - /roll-out-at-scale redirect_from: diff --git a/content/copilot/tutorials/plan-a-project.md b/content/copilot/tutorials/plan-a-project.md new file mode 100644 index 000000000000..9d5786254456 --- /dev/null +++ b/content/copilot/tutorials/plan-a-project.md @@ -0,0 +1,116 @@ +--- +title: Planning a project with GitHub Copilot +shortTitle: Plan a project +intro: 'Plan your next project by using {% data variables.product.prodname_copilot %} to turn your ideas into issues.' +permissions: 'Anyone with a {% data variables.product.prodname_copilot_short %} license can use {% data variables.product.prodname_copilot_short %} to create issues.' +topics: + - Copilot + - Issues + - Project management +versions: + feature: copilot + +contentType: tutorials +--- + +> [!NOTE] +> * This feature is in {% data variables.release-phases.public_preview %} and subject to change. +> * The responses shown in this article are examples. {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here. + +Manage your project with {% data variables.product.prodname_github_issues %} using {% data variables.product.prodname_copilot_short %}. In this tutorial, you’ll use {% data variables.product.prodname_copilot_short %}’s agentic issue creation features to turn your product idea into epics, features, and tasks. Epics represent large bodies of work, while features and tasks break the work into smaller, actionable pieces. By the end, you’ll have a structured backlog ready to share with your team. + +## Project overview + +It’s important to define what you want your product to do. In the planning phase of the software development lifecycle (SDLC), you turn ideas into actionable tasks by breaking down your project into epics, features, and smaller pieces of work. This helps you organize your thoughts, set priorities, and prepare your team for development. + +When you use {% data variables.product.prodname_copilot_short %}, you drive this process. {% data variables.product.prodname_copilot_short %} can suggest a structure and fill in details, but the best results come when you have a sense of how you want the work to be organized. {% data variables.product.prodname_copilot_short %} works with your input to help you refine, expand, and document your plan. + +In this scenario you’ll plan a new shopping website that will allow users to: +* Browse a product catalog with categories and search +* Add items to a shopping cart +* Complete secure checkouts + +Your goal is to use {% data variables.product.prodname_copilot_short %} to quickly turn this vision into a structured project plan, creating epics and detailed issues that capture each part of your site. + +## Set up repository + +Set up a repository with {% data variables.product.prodname_github_issues %} enabled. See [AUTOTITLE](/repositories/creating-and-managing-repositories/creating-a-new-repository). + +By default, issues are enabled for new repositories. If you would like to use an existing repository but don’t see the **Issues** tab, follow these steps to enable issues: +1. From the repository, select **Settings**. +1. Under "Features", check the **Issues** box. + +## Generate project issues + +With the repository set up, you can use {% data variables.product.prodname_copilot_short %} to turn your project vision into a set of actionable issues. + +### Start in the {% data variables.product.prodname_copilot_short %} immersive view + +{% data reusables.copilot.immersive-mode-instructions %} +1. Using the chat panel, attach the repository for the shopping website. This allows {% data variables.product.prodname_copilot_short %} to access the repository and create issues directly within it. + +### Create an epic issue + +1. Enter a detailed project description as your prompt. For example: + ```I’m planning to create a shopping website in React and Node.js. The site should allow users to browse products by category, search for items, add products to a cart, and complete checkout. Please help me plan the project by creating issues and breaking it down into epics, features, and tasks.``` +1. Submit your prompt. {% data variables.product.prodname_copilot_short %} will generate an issue tree, typically with an epic at the top and sub-issues for each main feature or task + +![Screenshot of Copilot Chat in immersive mode. Copilot chat displays a list of issues with an epic at the top and several sub-issues beneath it.](/assets/images/help/copilot/copilot-creates-sub-issues.png) + +## Navigate the issue tree + +1. Click the epic to view its details in the workbench. Navigate through the workbench to explore the issue tree. +1. Each issue typically includes a title and description. Additional metadata such as labels or assignees, can be edited directly in the workbench. +1. You can expand or collapse sub-issues to focus on specific parts of the project. + + The issue tree provides a clear overview of your project structure, making it easy to navigate between epics, features, and tasks. + +1. In this first iteration of the draft, {% data variables.product.prodname_copilot_short %} may generate only high-level issues. You can refine these issues further by breaking them down into smaller tasks or features. Let's refine the issue "Feature: UI Skeleton and Navigation". + + Prompt {% data variables.product.prodname_copilot_short %} with: + ```Can you break down the issue "Feature: UI Skeleton and Navigation" into smaller tasks?``` + + {% data variables.product.prodname_copilot_short %} will generate multiple new sub-issues such as: + * Task: Set up React project structure and initial files + * Task: Create placeholder pages for main routes + * Task: Implement site-wide navigation bar component + * Task: Integrate navigation with routing + * Task: Add basic responsive layout + +1. Repeat this process for the remaining feature issues in the epic. + +![Screenshot of the Copilot Chat workbench. The workbench displays an issue tree with an epic at the top and several sub-issues beneath it.](/assets/images/help/copilot/copilot-creates-sub-issues-workbench.png) + +### Improve issue descriptions + +After you finish generating the issue tree you may notice that {% data variables.product.prodname_copilot_short %}’s issue descriptions may be brief or unclear. To make them actionable, refine each issue as needed. + +1. Start with the newly generated issue such as "Task: Create placeholder pages for main routes". + + Prompt {% data variables.product.prodname_copilot_short %} with: + ```Can you improve the description for “Task: Create placeholder pages for main routes”? Please provide a detailed technical summary, list the main routes to be included, outline the steps for implementation, and specify what should be delivered for this task.``` + +1. {% data variables.product.prodname_copilot_short %} will generate a new version of the draft issue "Task: Create placeholder pages for main routes." + + At the top-left of the issue, click the versioning drop-down and select **Version 2** to review the new changes. +1. Review and decide whether to keep {% data variables.product.prodname_copilot_short %}’s revised version, edit further, or prompt again for more detail. +1. Repeat this process for other issues in the epic, refining descriptions and breaking down tasks as needed. +1. Once you’re satisfied with the issue descriptions, click **Create all** to create the issues in your repository. + +## Unlink issues + +If {% data variables.product.prodname_copilot_short %} generates a sub-issue that doesn't belong to the issue tree, you can unlink it from the issue tree. + +1. In the workbench issue tree, click {% octicon "kebab-horizontal" aria-label="More options" %} next to the sub-issue, then click **Unlink sub-issue**. +1. The issue will be unlinked from its parent and will no longer appear under that epic in the tree. + +## Next steps + +Now that you’ve generated and refined your project issues, you can assign them to the right team members or even to {% data variables.product.prodname_copilot_short %} itself for further assistance. To learn more about how to assign {% data variables.product.prodname_copilot_short %} or contributors to issues, and how to continue planning and implementing your project with {% data variables.product.prodname_copilot_short %}’s agentic features, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/assign-copilot-to-an-issue). + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/use-copilot-for-common-tasks/use-copilot-to-create-issues) +* [AUTOTITLE](/copilot/tutorials/coding-agent/pilot-coding-agent) +* [AUTOTITLE](/copilot/tutorials/coding-agent/get-the-best-results) +* [AUTOTITLE](/copilot/tutorials/speed-up-development-work) From 70547176ea9289a800324bd7cbd91d532d2f2ea2 Mon Sep 17 00:00:00 2001 From: Tina Heidinger Date: Mon, 8 Sep 2025 19:45:33 +0200 Subject: [PATCH 5/5] Artifact Storage Record API in partnership with JFrog [public preview] #18694 (#57404) Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com> Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> Co-authored-by: Meredith Lancaster --- .../index.md | 1 + ...endabot-alerts-using-production-context.md | 60 +++++++++++++++++++ .../dependabot/dependabot-alerts-filters.md | 4 ++ 3 files changed, 65 insertions(+) create mode 100644 content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context.md diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md index cdedac8638b0..154742c0fb69 100644 --- a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md +++ b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md @@ -12,6 +12,7 @@ topics: children: - /about-your-exposure-to-vulnerable-dependencies - /prioritizing-dependabot-alerts-using-metrics + - /prioritizing-dependabot-alerts-using-production-context redirect_from: - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilites --- diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context.md new file mode 100644 index 000000000000..1acda852c6a5 --- /dev/null +++ b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context.md @@ -0,0 +1,60 @@ +--- +title: Prioritizing Dependabot alerts using production context +shortTitle: Dependabot production context +intro: 'You can focus remediation on real risk by prioritizing {% data variables.product.prodname_dependabot_alerts %} for artifacts actually present in production, using metadata from external registries like JFrog Artifactory or your own CI/CD workflows.' +product: '{% data reusables.gated-features.dependabot-alerts %}' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Code Security + - Dependabot + - Organizations + - Security +--- + +> [!NOTE] Production context is in {% data variables.release-phases.public_preview %} and subject to change. + +## Prioritizing {% data variables.product.prodname_dependabot_alerts %} using production context + +Application Security (AppSec) managers are often overwhelmed by a high volume of {% data variables.product.prodname_dependabot_alerts %}, many of which may not represent real risk because the affected code never makes it to production. By associating production context with your alerts, you can filter and prioritize vulnerabilities that impact artifacts actually approved for production environments. This enables your team to focus remediation efforts on the vulnerabilities that matter most, reducing noise and improving your security posture. + +## Associating production context with {% data variables.product.prodname_dependabot_alerts %} + +{% data variables.product.github %} enables production context for your {% data variables.product.prodname_dependabot_alerts %} by providing a Storage Record API. This API allows package registries or GitOps workflows to send artifact lifecycle data to {% data variables.product.github %}. The API should be called whenever an artifact is promoted to a production-approved package repository. + +{% data variables.product.github %} processes this metadata and uses it to power new alert filters, such as `artifact-registry-url` and `artifact-registry`. For more information, see [Create artifact metadata storage record](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record) in the REST API documentation. + +## Steps to prioritize alerts + +Follow these steps to enable and use production context for alert prioritization: + +### Step 1: Detect and report production artifact promotions + +In your CI/CD or GitOps workflow, whenever an artifact is promoted to a production-approved package repository, call the Storage Record API to to send the artifact's metadata to {% data variables.product.github %}. This includes information such as the artifact's registry, repository, and version. See [AUTOTITLE](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record). + +If you use JFrog Artifactory, you do not need to perform any custom integration. Artifactory natively integrates with the Storage Record API. You only need to enable the integration in your Artifactory settings, and Artifactory will automatically emit production promotion events to {% data variables.product.github %}. + +The `artifact-registry:jfrog-artifactory` filter will work out of the box with no further setup in {% data variables.product.github %}. For setup instructions, see [JFrog and GitHub Integration: JFrog for [{% data variables.product.github %} {% data variables.product.prodname_dependabot %}]](https://jfrog.com/help/r/jfrog-and-github-integration-guide/jfrog-for-github-dependabot) in the JFrog documentation. + +### Step 2: Use production context filters + +{% data reusables.dependabot.where-to-view-dependabot-alerts %}. For information about accessing this tab, see [Viewing {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-dependabot-alerts). + +Once the alert list is displayed, use the `artifact-registry-url` or `artifact-registry` filters to focus on vulnerabilities affecting artifacts present in production. For example: + +```text +artifact-registry-url:my-registry.example.com +artifact-registry:jfrog-artifactory +``` + +You can also combine these with other filters, such as EPSS. + +```text +epss > 0.5 AND artifact-registry-url:my-registry.example.com +``` + +## Further reading + +* [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics) diff --git a/data/reusables/dependabot/dependabot-alerts-filters.md b/data/reusables/dependabot/dependabot-alerts-filters.md index 56f4aad78843..2e612515fcd5 100644 --- a/data/reusables/dependabot/dependabot-alerts-filters.md +++ b/data/reusables/dependabot/dependabot-alerts-filters.md @@ -2,6 +2,10 @@ You can sort and filter {% data variables.product.prodname_dependabot_alerts %} | Option | Description | Example | |:---|:---|:---| +| {% ifversion fpt or ghec %} | +| `artifact-registry` | Displays alerts only for dependencies that have been promoted to production in the specified repository manager.| `artifact-registry:jfrog-artifactory` will show any alerts alerts for dependencies that have been promoted to production in JFrog Artifactory. | +| `artifact-registry-url` | Displays alerts related to artifacts present in a production-approved registry URL. | `artifact-registry-url:my-registry.example.com` will show any alerts for vulnerabilities affecting artifacts stored in the `my-registry.example.com` registry URL. | +| {% endif %} | | `CVE-ID`| Displays alerts associated with this `CVE-ID` | `CVE-2020-28482` will show any alerts whose underlying advisory has this CVE ID number. | | `ecosystem` | Displays alerts for the selected ecosystem | Use `ecosystem:npm` to show {% data variables.product.prodname_dependabot_alerts %} for npm | | `GHSA-ID`| Displays alerts associated with this `GHSA-ID` | `GHSA-49wp-qq6x-g2rf` will show any alerts whose underlying advisory has this {% data variables.product.prodname_advisory_database %} ID. |