From 05de0f758274d9faf2a7579df4df227984776965 Mon Sep 17 00:00:00 2001 From: Ben Drucker Date: Thu, 16 Sep 2021 11:04:15 -0700 Subject: [PATCH 01/14] reviews: mention relationship with busy status --- .../managing-code-review-assignment-for-your-team.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md b/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md index 553cbb5cc3..ff9deabd7d 100644 --- a/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md +++ b/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md @@ -33,6 +33,8 @@ The round robin algorithm chooses reviewers based on who's received the least re The load balance algorithm chooses reviewers based on each member's total number of recent review requests and considers the number of outstanding reviews for each member. The load balance algorithm tries to ensure that each team member reviews an equal number of pull requests in any 30 day period. +Any team members that have set their status to "Busy" will not be selected for review. If all team members are busy, the pull request will remain assigned to the team itself. For more information, see "[Setting a status](/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status)." + ## Configuring code review assignment {% data reusables.profile.access_org %} {% data reusables.user_settings.access_org %} From d1e85e30b6003c54c87ea598b70fdf3bbf16a2f1 Mon Sep 17 00:00:00 2001 From: Ben Drucker Date: Thu, 16 Sep 2021 11:11:47 -0700 Subject: [PATCH 02/14] profile: mention busy impact on team assignment --- .../customizing-your-profile/personalizing-your-profile.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md b/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md index 9a80ad57d2..628632f4e9 100644 --- a/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md +++ b/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md @@ -100,7 +100,7 @@ When you set your status, you can also let people know that you have limited ava ![Requested reviewer shows "busy" note next to username](/assets/images/help/profile/request-a-review-limited-availability-status.png) -If you select the "Busy" option, when people @mention your username, assign you an issue or pull request, or request a pull request review from you, a note next to your username will show that you're busy. +If you select the "Busy" option, when people @mention your username, assign you an issue or pull request, or request a pull request review from you, a note next to your username will show that you're busy. You will also be excluded from automatic review assignment for any pull requests assigned to any teams you belong to. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)." 1. In the top right corner of {% data variables.product.product_name %}, click your profile photo, then click **Set your status** or, if you already have a status set, click your current status. ![Button on profile to set your status](/assets/images/help/profile/set-status-on-profile.png) From f00f0be1d3d19692fd68e6fe04870be8ac55ad92 Mon Sep 17 00:00:00 2001 From: Laura Coursen Date: Tue, 21 Sep 2021 13:31:43 -0500 Subject: [PATCH 03/14] Add :nail_care: --- .../customizing-your-profile/personalizing-your-profile.md | 2 +- .../managing-code-review-assignment-for-your-team.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md b/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md index 628632f4e9..84cf61d183 100644 --- a/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md +++ b/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md @@ -100,7 +100,7 @@ When you set your status, you can also let people know that you have limited ava ![Requested reviewer shows "busy" note next to username](/assets/images/help/profile/request-a-review-limited-availability-status.png) -If you select the "Busy" option, when people @mention your username, assign you an issue or pull request, or request a pull request review from you, a note next to your username will show that you're busy. You will also be excluded from automatic review assignment for any pull requests assigned to any teams you belong to. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)." +If you select the "Busy" option, when people @mention your username, assign you an issue or pull request, or request a pull request review from you, a note next to your username will show that you're busy. You will also be excluded from automatic review assignment for pull requests assigned to any teams you belong to. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)." 1. In the top right corner of {% data variables.product.product_name %}, click your profile photo, then click **Set your status** or, if you already have a status set, click your current status. ![Button on profile to set your status](/assets/images/help/profile/set-status-on-profile.png) diff --git a/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md b/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md index ff9deabd7d..58ecaf0aba 100644 --- a/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md +++ b/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md @@ -33,7 +33,7 @@ The round robin algorithm chooses reviewers based on who's received the least re The load balance algorithm chooses reviewers based on each member's total number of recent review requests and considers the number of outstanding reviews for each member. The load balance algorithm tries to ensure that each team member reviews an equal number of pull requests in any 30 day period. -Any team members that have set their status to "Busy" will not be selected for review. If all team members are busy, the pull request will remain assigned to the team itself. For more information, see "[Setting a status](/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status)." +Any team members that have set their status to "Busy" will not be selected for review. If all team members are busy, the pull request will remain assigned to the team itself. For more information about user statuses, see "[Setting a status](/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status)." ## Configuring code review assignment {% data reusables.profile.access_org %} From b8429d824812f2937b43ee40be78f3a1715598e5 Mon Sep 17 00:00:00 2001 From: Laura Coursen Date: Tue, 21 Sep 2021 14:27:08 -0500 Subject: [PATCH 04/14] "Authentication" top-level doc set (#21531) --- ...authentication-with-saml-single-sign-on.md | 1 + ...-token-for-use-with-saml-single-sign-on.md | 1 + ...sh-key-for-use-with-saml-single-sign-on.md | 1 + .../index.md | 1 + ...-and-managing-your-active-saml-sessions.md | 1 + .../about-ssh.md | 1 + ...ng-a-new-ssh-key-to-your-github-account.md | 1 + .../checking-for-existing-ssh-keys.md | 1 + ...-ssh-key-and-adding-it-to-the-ssh-agent.md | 1 + .../connecting-to-github-with-ssh/index.md | 1 + .../testing-your-ssh-connection.md | 1 + .../working-with-ssh-key-passphrases.md | 1 + .../index.md | 4 +- .../about-anonymized-urls.md | 1 + .../about-authentication-to-github.md | 1 + .../about-githubs-ip-addresses.md | 1 + .../authorizing-github-apps.md | 2 + .../authorizing-oauth-apps.md | 1 + ...onnecting-with-third-party-applications.md | 1 + .../creating-a-personal-access-token.md | 1 + .../creating-a-strong-password.md | 1 + .../githubs-ssh-key-fingerprints.md | 1 + .../index.md | 1 + .../preventing-unauthorized-access.md | 1 + ...moving-sensitive-data-from-a-repository.md | 1 + ...wing-your-authorized-applications-oauth.md | 1 + .../reviewing-your-authorized-integrations.md | 1 + .../reviewing-your-deploy-keys.md | 1 + .../reviewing-your-security-log.md | 1 + .../reviewing-your-ssh-keys.md | 1 + .../sudo-mode.md | 1 + .../token-expiration-and-revocation.md | 4 +- ...updating-your-github-access-credentials.md | 1 + .../about-commit-signature-verification.md | 1 + ...ng-a-new-gpg-key-to-your-github-account.md | 1 + .../associating-an-email-with-your-gpg-key.md | 1 + .../checking-for-existing-gpg-keys.md | 1 + ...cation-statuses-for-all-of-your-commits.md | 1 + .../generating-a-new-gpg-key.md | 1 + .../index.md | 1 + .../signing-commits.md | 1 + .../signing-tags.md | 1 + .../telling-git-about-your-signing-key.md | 1 + .../about-two-factor-authentication.md | 1 + ...-github-using-two-factor-authentication.md | 1 + ...delivery-methods-for-your-mobile-device.md | 1 + ...-factor-authentication-recovery-methods.md | 1 + .../configuring-two-factor-authentication.md | 1 + ...s-where-sms-authentication-is-supported.md | 1 + ...uthentication-for-your-personal-account.md | 1 + .../index.md | 1 + ...ccount-if-you-lose-your-2fa-credentials.md | 1 + ...t-and-tag-signature-verification-status.md | 1 + .../index.md | 1 + .../updating-an-expired-gpg-key.md | 1 + ...-verified-email-address-in-your-gpg-key.md | 1 + .../deleted-or-missing-ssh-keys.md | 1 + .../error-agent-admitted-failure-to-sign.md | 1 + .../error-bad-file-number.md | 1 + .../error-key-already-in-use.md | 1 + .../error-permission-denied-publickey.md | 1 + ...ission-to-userrepo-denied-to-other-user.md | 1 + ...on-to-userrepo-denied-to-userother-repo.md | 1 + .../error-ssh-add-illegal-option----k.md | 1 + ...e-problem-verify-that-the-ca-cert-is-ok.md | 1 + .../error-unknown-key-type.md | 1 + .../error-were-doing-an-ssh-key-audit.md | 1 + .../troubleshooting-ssh/index.md | 1 + .../recovering-your-ssh-key-passphrase.md | 1 + .../using-ssh-over-the-https-port.md | 1 + content/github/index.md | 1 - content/index.md | 1 + tests/rendering/breadcrumbs.js | 71 ++++++++++--------- tests/rendering/server.js | 12 ++-- tests/routing/redirects.js | 14 ++-- tests/unit/page.js | 6 +- 76 files changed, 128 insertions(+), 54 deletions(-) rename content/{github/authenticating-to-github => authentication}/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md (97%) rename content/{github/authenticating-to-github => authentication}/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md (91%) rename content/{github/authenticating-to-github => authentication}/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md (93%) rename content/{github/authenticating-to-github => authentication}/authenticating-with-saml-single-sign-on/index.md (91%) rename content/{github/authenticating-to-github => authentication}/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md (92%) rename content/{github/authenticating-to-github => authentication}/connecting-to-github-with-ssh/about-ssh.md (97%) rename content/{github/authenticating-to-github => authentication}/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md (98%) rename content/{github/authenticating-to-github => authentication}/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md (94%) rename content/{github/authenticating-to-github => authentication}/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md (98%) rename content/{github/authenticating-to-github => authentication}/connecting-to-github-with-ssh/index.md (92%) rename content/{github/authenticating-to-github => authentication}/connecting-to-github-with-ssh/testing-your-ssh-connection.md (96%) rename content/{github/authenticating-to-github => authentication}/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md (97%) rename content/{github/authenticating-to-github => authentication}/index.md (93%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/about-anonymized-urls.md (98%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/about-authentication-to-github.md (98%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md (94%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/authorizing-github-apps.md (97%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/authorizing-oauth-apps.md (98%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md (97%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/creating-a-personal-access-token.md (98%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/creating-a-strong-password.md (96%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md (89%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/index.md (93%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/preventing-unauthorized-access.md (95%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md (99%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md (88%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md (93%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md (91%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/reviewing-your-security-log.md (99%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md (98%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/sudo-mode.md (89%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/token-expiration-and-revocation.md (93%) rename content/{github/authenticating-to-github => authentication}/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md (97%) rename content/{github/authenticating-to-github => authentication}/managing-commit-signature-verification/about-commit-signature-verification.md (98%) rename content/{github/authenticating-to-github => authentication}/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md (94%) rename content/{github/authenticating-to-github => authentication}/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md (95%) rename content/{github/authenticating-to-github => authentication}/managing-commit-signature-verification/checking-for-existing-gpg-keys.md (93%) rename content/{github/authenticating-to-github => authentication}/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md (95%) rename content/{github/authenticating-to-github => authentication}/managing-commit-signature-verification/generating-a-new-gpg-key.md (97%) rename content/{github/authenticating-to-github => authentication}/managing-commit-signature-verification/index.md (93%) rename content/{github/authenticating-to-github => authentication}/managing-commit-signature-verification/signing-commits.md (96%) rename content/{github/authenticating-to-github => authentication}/managing-commit-signature-verification/signing-tags.md (93%) rename content/{github/authenticating-to-github => authentication}/managing-commit-signature-verification/telling-git-about-your-signing-key.md (97%) rename content/{github/authenticating-to-github => authentication}/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md (95%) rename content/{github/authenticating-to-github => authentication}/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md (97%) rename content/{github/authenticating-to-github => authentication}/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md (91%) rename content/{github/authenticating-to-github => authentication}/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md (98%) rename content/{github/authenticating-to-github => authentication}/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md (98%) rename content/{github/authenticating-to-github => authentication}/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md (95%) rename content/{github/authenticating-to-github => authentication}/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md (94%) rename content/{github/authenticating-to-github => authentication}/securing-your-account-with-two-factor-authentication-2fa/index.md (90%) rename content/{github/authenticating-to-github => authentication}/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md (98%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md (94%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-commit-signature-verification/index.md (88%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md (92%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md (92%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/deleted-or-missing-ssh-keys.md (92%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md (95%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/error-bad-file-number.md (96%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/error-key-already-in-use.md (96%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/error-permission-denied-publickey.md (99%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md (86%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md (88%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/error-ssh-add-illegal-option----k.md (93%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md (93%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/error-unknown-key-type.md (96%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md (92%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/index.md (93%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md (95%) rename content/{github/authenticating-to-github => authentication}/troubleshooting-ssh/using-ssh-over-the-https-port.md (95%) diff --git a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md b/content/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md similarity index 97% rename from content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md rename to content/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md index a04d3e62f0..a26e9cf98d 100644 --- a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md +++ b/content/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.saml-sso %}' redirect_from: - /articles/about-authentication-with-saml-single-sign-on - /github/authenticating-to-github/about-authentication-with-saml-single-sign-on + - /github/authenticating-to-github/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on versions: fpt: '*' ghae: '*' diff --git a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md b/content/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md similarity index 91% rename from content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md rename to content/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md index abc7a1b4d8..d70ff40dd0 100644 --- a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md +++ b/content/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md @@ -5,6 +5,7 @@ redirect_from: - /articles/authorizing-a-personal-access-token-for-use-with-a-saml-single-sign-on-organization/ - /articles/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on - /github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on + - /github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on versions: fpt: '*' topics: diff --git a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md b/content/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md similarity index 93% rename from content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md rename to content/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md index 4748e1b828..89e1906fe6 100644 --- a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md +++ b/content/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md @@ -5,6 +5,7 @@ redirect_from: - /articles/authorizing-an-ssh-key-for-use-with-a-saml-single-sign-on-organization/ - /articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on - /github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on + - /github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on versions: fpt: '*' topics: diff --git a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/index.md b/content/authentication/authenticating-with-saml-single-sign-on/index.md similarity index 91% rename from content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/index.md rename to content/authentication/authenticating-with-saml-single-sign-on/index.md index 93112de580..bf70138401 100644 --- a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/index.md +++ b/content/authentication/authenticating-with-saml-single-sign-on/index.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.saml-sso %}' redirect_from: - /articles/authenticating-to-a-github-organization-with-saml-single-sign-on/ - /articles/authenticating-with-saml-single-sign-on + - /github/authenticating-to-github/authenticating-with-saml-single-sign-on/ versions: fpt: '*' ghae: '*' diff --git a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md b/content/authentication/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md similarity index 92% rename from content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md rename to content/authentication/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md index e417040b94..f55acbf246 100644 --- a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md +++ b/content/authentication/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md @@ -4,6 +4,7 @@ intro: You can view and revoke your active SAML sessions in your security settin redirect_from: - /articles/viewing-and-managing-your-active-saml-sessions - /github/authenticating-to-github/viewing-and-managing-your-active-saml-sessions + - /github/authenticating-to-github/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions versions: fpt: '*' topics: diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/about-ssh.md b/content/authentication/connecting-to-github-with-ssh/about-ssh.md similarity index 97% rename from content/github/authenticating-to-github/connecting-to-github-with-ssh/about-ssh.md rename to content/authentication/connecting-to-github-with-ssh/about-ssh.md index ee62b62294..602d606b2a 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/about-ssh.md +++ b/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -4,6 +4,7 @@ intro: 'Using the SSH protocol, you can connect and authenticate to remote serve redirect_from: - /articles/about-ssh - /github/authenticating-to-github/about-ssh + - /github/authenticating-to-github/connecting-to-github-with-ssh/about-ssh versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md b/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md similarity index 98% rename from content/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md rename to content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md index 3bd7f9aae4..657c775071 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md +++ b/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md @@ -4,6 +4,7 @@ intro: 'To configure your {% data variables.product.product_name %} account to u redirect_from: - /articles/adding-a-new-ssh-key-to-your-github-account - /github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account + - /github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md b/content/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md similarity index 94% rename from content/github/authenticating-to-github/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md rename to content/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md index bd70338782..a61e325339 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md +++ b/content/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md @@ -4,6 +4,7 @@ intro: 'Before you generate an SSH key, you can check to see if you have any exi redirect_from: - /articles/checking-for-existing-ssh-keys - /github/authenticating-to-github/checking-for-existing-ssh-keys + - /github/authenticating-to-github/connecting-to-github-with-ssh/checking-for-existing-ssh-keys versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md b/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md similarity index 98% rename from content/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md rename to content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md index 2778a7c1a1..4685032418 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md +++ b/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md @@ -6,6 +6,7 @@ redirect_from: - /articles/generating-a-new-ssh-key/ - /articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent - /github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent + - /github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/index.md b/content/authentication/connecting-to-github-with-ssh/index.md similarity index 92% rename from content/github/authenticating-to-github/connecting-to-github-with-ssh/index.md rename to content/authentication/connecting-to-github-with-ssh/index.md index e33e8a3c70..6a417cdf7f 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/index.md +++ b/content/authentication/connecting-to-github-with-ssh/index.md @@ -10,6 +10,7 @@ redirect_from: - /articles/generating-ssh-keys/ - /articles/generating-an-ssh-key/ - /articles/connecting-to-github-with-ssh + - /github/authenticating-to-github/connecting-to-github-with-ssh/ versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/testing-your-ssh-connection.md b/content/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection.md similarity index 96% rename from content/github/authenticating-to-github/connecting-to-github-with-ssh/testing-your-ssh-connection.md rename to content/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection.md index c7eff2e6d2..be4b733452 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/testing-your-ssh-connection.md +++ b/content/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection.md @@ -4,6 +4,7 @@ intro: 'After you''ve set up your SSH key and added it to your {% data variables redirect_from: - /articles/testing-your-ssh-connection - /github/authenticating-to-github/testing-your-ssh-connection + - /github/authenticating-to-github/connecting-to-github-with-ssh/testing-your-ssh-connection versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md b/content/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md similarity index 97% rename from content/github/authenticating-to-github/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md rename to content/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md index 4502dfa75a..240eaa3c3a 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md +++ b/content/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md @@ -6,6 +6,7 @@ redirect_from: - /working-with-key-passphrases/ - /articles/working-with-ssh-key-passphrases - /github/authenticating-to-github/working-with-ssh-key-passphrases + - /github/authenticating-to-github/connecting-to-github-with-ssh/working-with-ssh-key-passphrases versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/index.md b/content/authentication/index.md similarity index 93% rename from content/github/authenticating-to-github/index.md rename to content/authentication/index.md index 095328d7ce..253a1dc4f5 100644 --- a/content/github/authenticating-to-github/index.md +++ b/content/authentication/index.md @@ -1,6 +1,5 @@ --- -title: Authenticating to GitHub -shortTitle: Authentication +title: Authentication intro: 'Keep your account and data secure with features like {% ifversion not ghae %}two-factor authentication, {% endif %}SSH{% ifversion not ghae %},{% endif %} and commit signature verification.' redirect_from: - /categories/56/articles/ @@ -13,6 +12,7 @@ redirect_from: - /categories/gpg/ - /categories/security/ - /categories/authenticating-to-github + - /github/authenticating-to-github/ versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-anonymized-urls.md b/content/authentication/keeping-your-account-and-data-secure/about-anonymized-urls.md similarity index 98% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-anonymized-urls.md rename to content/authentication/keeping-your-account-and-data-secure/about-anonymized-urls.md index b7dfe173cd..4fdb07fb1c 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-anonymized-urls.md +++ b/content/authentication/keeping-your-account-and-data-secure/about-anonymized-urls.md @@ -6,6 +6,7 @@ redirect_from: - /articles/about-anonymized-image-urls - /authenticating-to-github/about-anonymized-image-urls - /github/authenticating-to-github/about-anonymized-urls + - /github/authenticating-to-github/keeping-your-account-and-data-secure/about-anonymized-urls versions: fpt: '*' topics: diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-authentication-to-github.md b/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md similarity index 98% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-authentication-to-github.md rename to content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md index 87d2b7eb4d..5e27d6033c 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-authentication-to-github.md +++ b/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md @@ -10,6 +10,7 @@ topics: - Access management redirect_from: - /github/authenticating-to-github/about-authentication-to-github + - /github/authenticating-to-github/keeping-your-account-and-data-secure/about-authentication-to-github shortTitle: Authentication to GitHub --- ## About authentication to {% data variables.product.prodname_dotcom %} diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md b/content/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md similarity index 94% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md rename to content/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md index cec36cff80..41eb363234 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md +++ b/content/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md @@ -9,6 +9,7 @@ redirect_from: - /articles/about-github-s-ip-addresses - /articles/about-githubs-ip-addresses - /github/authenticating-to-github/about-githubs-ip-addresses + - /github/authenticating-to-github/keeping-your-account-and-data-secure/about-githubs-ip-addresses versions: fpt: '*' topics: diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-github-apps.md b/content/authentication/keeping-your-account-and-data-secure/authorizing-github-apps.md similarity index 97% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-github-apps.md rename to content/authentication/keeping-your-account-and-data-secure/authorizing-github-apps.md index 447fb90a2d..0b1095c39d 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-github-apps.md +++ b/content/authentication/keeping-your-account-and-data-secure/authorizing-github-apps.md @@ -8,6 +8,8 @@ versions: topics: - Identity - Access management +redirect_from: + - /github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-github-apps --- Third-party applications that need to verify your {% data variables.product.prodname_dotcom %} identity, or interact with the data on {% data variables.product.prodname_dotcom %} on your behalf, can ask you to authorize the {% data variables.product.prodname_github_app %} to do so. diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps.md b/content/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps.md similarity index 98% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps.md rename to content/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps.md index 51bcade5b4..e57d61c34b 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps.md +++ b/content/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps.md @@ -4,6 +4,7 @@ intro: 'You can connect your {% data variables.product.product_name %} identity redirect_from: - /articles/authorizing-oauth-apps - /github/authenticating-to-github/authorizing-oauth-apps + - /github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md b/content/authentication/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md similarity index 97% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md rename to content/authentication/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md index fd968c3355..4671118a25 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md +++ b/content/authentication/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md @@ -4,6 +4,7 @@ intro: 'You can connect your {% data variables.product.product_name %} identity redirect_from: - /articles/connecting-with-third-party-applications - /github/authenticating-to-github/connecting-with-third-party-applications + - /github/authenticating-to-github/keeping-your-account-and-data-secure/connecting-with-third-party-applications versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token.md b/content/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token.md similarity index 98% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token.md rename to content/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token.md index 3ab8b5dbdc..78505d60bc 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token.md +++ b/content/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token.md @@ -7,6 +7,7 @@ redirect_from: - /articles/creating-a-personal-access-token-for-the-command-line - /github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line - /github/authenticating-to-github/creating-a-personal-access-token + - /github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password.md b/content/authentication/keeping-your-account-and-data-secure/creating-a-strong-password.md similarity index 96% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password.md rename to content/authentication/keeping-your-account-and-data-secure/creating-a-strong-password.md index b173a431b7..26517c7b03 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password.md +++ b/content/authentication/keeping-your-account-and-data-secure/creating-a-strong-password.md @@ -5,6 +5,7 @@ redirect_from: - /articles/what-is-a-strong-password/ - /articles/creating-a-strong-password - /github/authenticating-to-github/creating-a-strong-password + - /github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md b/content/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md similarity index 89% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md rename to content/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md index f3341f067f..f8cb70f029 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md +++ b/content/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md @@ -6,6 +6,7 @@ redirect_from: - /articles/github-s-ssh-key-fingerprints - /articles/githubs-ssh-key-fingerprints - /github/authenticating-to-github/githubs-ssh-key-fingerprints + - /github/authenticating-to-github/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints versions: fpt: '*' topics: diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/index.md b/content/authentication/keeping-your-account-and-data-secure/index.md similarity index 93% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/index.md rename to content/authentication/keeping-your-account-and-data-secure/index.md index 9de4bcc41d..387873e159 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/index.md +++ b/content/authentication/keeping-your-account-and-data-secure/index.md @@ -3,6 +3,7 @@ title: Keeping your account and data secure intro: 'To protect your personal information, you should keep both your {% data variables.product.product_name %} account and any associated data secure.' redirect_from: - /articles/keeping-your-account-and-data-secure + - /github/authenticating-to-github/keeping-your-account-and-data-secure/ versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/preventing-unauthorized-access.md b/content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md similarity index 95% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/preventing-unauthorized-access.md rename to content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md index bfaf99e837..01ba659369 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/preventing-unauthorized-access.md +++ b/content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md @@ -4,6 +4,7 @@ intro: 'You may be alerted to a security incident in the media, such as the disc redirect_from: - /articles/preventing-unauthorized-access - /github/authenticating-to-github/preventing-unauthorized-access + - /github/authenticating-to-github/keeping-your-account-and-data-secure/preventing-unauthorized-access versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md similarity index 99% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md rename to content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md index e2e65ab0a5..070e336197 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md +++ b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md @@ -7,6 +7,7 @@ redirect_from: - /articles/remove-sensitive-data/ - /articles/removing-sensitive-data-from-a-repository - /github/authenticating-to-github/removing-sensitive-data-from-a-repository + - /github/authenticating-to-github/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md similarity index 88% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md rename to content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md index 0c67e8d0e3..84c3611f94 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md +++ b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md @@ -4,6 +4,7 @@ intro: 'You should review your authorized applications to verify that no new app redirect_from: - /articles/reviewing-your-authorized-applications-oauth - /github/authenticating-to-github/reviewing-your-authorized-applications-oauth + - /github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md similarity index 93% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md rename to content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md index ffd1579605..bd4cf2252c 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md +++ b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md @@ -4,6 +4,7 @@ intro: You can review your authorized integrations to audit the access that each redirect_from: - /articles/reviewing-your-authorized-integrations - /github/authenticating-to-github/reviewing-your-authorized-integrations + - /github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md similarity index 91% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md rename to content/authentication/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md index 0161fcfcc8..04956652a7 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md +++ b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md @@ -4,6 +4,7 @@ intro: You should review deploy keys to ensure that there aren't any unauthorize redirect_from: - /articles/reviewing-your-deploy-keys - /github/authenticating-to-github/reviewing-your-deploy-keys + - /github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-deploy-keys versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log.md b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log.md similarity index 99% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log.md rename to content/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log.md index 0207d51eea..740cc668af 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log.md +++ b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log.md @@ -5,6 +5,7 @@ miniTocMaxHeadingLevel: 3 redirect_from: - /articles/reviewing-your-security-log - /github/authenticating-to-github/reviewing-your-security-log + - /github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md similarity index 98% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md rename to content/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md index dcd73c85d2..1ec368af64 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md +++ b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md @@ -6,6 +6,7 @@ redirect_from: - /articles/keeping-your-ssh-keys-and-application-access-tokens-safe/ - /articles/reviewing-your-ssh-keys - /github/authenticating-to-github/reviewing-your-ssh-keys + - /github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/sudo-mode.md b/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md similarity index 89% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/sudo-mode.md rename to content/authentication/keeping-your-account-and-data-secure/sudo-mode.md index 293633e3fa..8d60809715 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/sudo-mode.md +++ b/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md @@ -4,6 +4,7 @@ intro: '{% data variables.product.product_name %} asks you for your password bef redirect_from: - /articles/sudo-mode - /github/authenticating-to-github/sudo-mode + - /github/authenticating-to-github/keeping-your-account-and-data-secure/sudo-mode versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/token-expiration-and-revocation.md b/content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md similarity index 93% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/token-expiration-and-revocation.md rename to content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md index 50e2ec4f6b..001498e111 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/token-expiration-and-revocation.md +++ b/content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md @@ -1,6 +1,6 @@ --- title: Token expiration and revocation -intro: Your tokens can expire and can also be revoked by you, applications you have authorized, and {% data variables.product.product_name %} itself. +intro: 'Your tokens can expire and can also be revoked by you, applications you have authorized, and {% data variables.product.product_name %} itself.' versions: fpt: '*' ghes: '*' @@ -9,6 +9,8 @@ topics: - Identity - Access management shortTitle: Token expiration +redirect_from: + - /github/authenticating-to-github/keeping-your-account-and-data-secure/token-expiration-and-revocation --- When a token {% ifversion fpt or ghae-issue-4374 or ghes > 3.2 %}has expired or {% endif %} has been revoked, it can no longer be used to authenticate Git and API requests. It is not possible to restore an expired or revoked token, you or the application will need to create a new token. diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md b/content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md similarity index 97% rename from content/github/authenticating-to-github/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md rename to content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md index ef5b28cbd2..21bc55877a 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md +++ b/content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md @@ -6,6 +6,7 @@ redirect_from: - /articles/how-can-i-reset-my-password/ - /articles/updating-your-github-access-credentials - /github/authenticating-to-github/updating-your-github-access-credentials + - /github/authenticating-to-github/keeping-your-account-and-data-secure/updating-your-github-access-credentials versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification.md b/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md similarity index 98% rename from content/github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification.md rename to content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md index 159650fd3d..64c7dc6a7c 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification.md +++ b/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md @@ -6,6 +6,7 @@ redirect_from: - /articles/about-gpg/ - /articles/about-commit-signature-verification - /github/authenticating-to-github/about-commit-signature-verification + - /github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md b/content/authentication/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md similarity index 94% rename from content/github/authenticating-to-github/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md rename to content/authentication/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md index e1c591edd7..c8e40c140c 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md +++ b/content/authentication/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md @@ -4,6 +4,7 @@ intro: 'To configure your {% data variables.product.product_name %} account to u redirect_from: - /articles/adding-a-new-gpg-key-to-your-github-account - /github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account + - /github/authenticating-to-github/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md b/content/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md similarity index 95% rename from content/github/authenticating-to-github/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md rename to content/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md index 47b178aca4..4b5cc780ea 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md +++ b/content/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md @@ -4,6 +4,7 @@ intro: 'Your GPG key must be associated with a {% data variables.product.product redirect_from: - /articles/associating-an-email-with-your-gpg-key - /github/authenticating-to-github/associating-an-email-with-your-gpg-key + - /github/authenticating-to-github/managing-commit-signature-verification/associating-an-email-with-your-gpg-key versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/checking-for-existing-gpg-keys.md b/content/authentication/managing-commit-signature-verification/checking-for-existing-gpg-keys.md similarity index 93% rename from content/github/authenticating-to-github/managing-commit-signature-verification/checking-for-existing-gpg-keys.md rename to content/authentication/managing-commit-signature-verification/checking-for-existing-gpg-keys.md index 7f12a6d9f2..509ce7a874 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/checking-for-existing-gpg-keys.md +++ b/content/authentication/managing-commit-signature-verification/checking-for-existing-gpg-keys.md @@ -4,6 +4,7 @@ intro: 'Before you generate a GPG key, you can check to see if you have any exis redirect_from: - /articles/checking-for-existing-gpg-keys - /github/authenticating-to-github/checking-for-existing-gpg-keys + - /github/authenticating-to-github/managing-commit-signature-verification/checking-for-existing-gpg-keys versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md b/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md similarity index 95% rename from content/github/authenticating-to-github/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md rename to content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md index e509f58f9a..640147d949 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md +++ b/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md @@ -9,6 +9,7 @@ topics: - Access management redirect_from: - /github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits + - /github/authenticating-to-github/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits --- {% data reusables.identity-and-permissions.vigilant-mode-beta-note %} diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/generating-a-new-gpg-key.md b/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md similarity index 97% rename from content/github/authenticating-to-github/managing-commit-signature-verification/generating-a-new-gpg-key.md rename to content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md index 66ad53eca9..a2e70513ca 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/generating-a-new-gpg-key.md +++ b/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md @@ -4,6 +4,7 @@ intro: 'If you don''t have an existing GPG key, you can generate a new GPG key t redirect_from: - /articles/generating-a-new-gpg-key - /github/authenticating-to-github/generating-a-new-gpg-key + - /github/authenticating-to-github/managing-commit-signature-verification/generating-a-new-gpg-key versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/index.md b/content/authentication/managing-commit-signature-verification/index.md similarity index 93% rename from content/github/authenticating-to-github/managing-commit-signature-verification/index.md rename to content/authentication/managing-commit-signature-verification/index.md index ac80dd0ab5..1faf980e66 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/index.md +++ b/content/authentication/managing-commit-signature-verification/index.md @@ -5,6 +5,7 @@ redirect_from: - /articles/generating-a-gpg-key/ - /articles/signing-commits-with-gpg/ - /articles/managing-commit-signature-verification + - /github/authenticating-to-github/managing-commit-signature-verification/ versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/signing-commits.md b/content/authentication/managing-commit-signature-verification/signing-commits.md similarity index 96% rename from content/github/authenticating-to-github/managing-commit-signature-verification/signing-commits.md rename to content/authentication/managing-commit-signature-verification/signing-commits.md index 76275fb9f1..05d878b79e 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/signing-commits.md +++ b/content/authentication/managing-commit-signature-verification/signing-commits.md @@ -6,6 +6,7 @@ redirect_from: - /articles/signing-commits-using-gpg/ - /articles/signing-commits - /github/authenticating-to-github/signing-commits + - /github/authenticating-to-github/managing-commit-signature-verification/signing-commits versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/signing-tags.md b/content/authentication/managing-commit-signature-verification/signing-tags.md similarity index 93% rename from content/github/authenticating-to-github/managing-commit-signature-verification/signing-tags.md rename to content/authentication/managing-commit-signature-verification/signing-tags.md index ad9d72c22b..cb8401561c 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/signing-tags.md +++ b/content/authentication/managing-commit-signature-verification/signing-tags.md @@ -5,6 +5,7 @@ redirect_from: - /articles/signing-tags-using-gpg/ - /articles/signing-tags - /github/authenticating-to-github/signing-tags + - /github/authenticating-to-github/managing-commit-signature-verification/signing-tags versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md similarity index 97% rename from content/github/authenticating-to-github/managing-commit-signature-verification/telling-git-about-your-signing-key.md rename to content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index 1679ba4f2e..a21ee55a9b 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -5,6 +5,7 @@ redirect_from: - /articles/telling-git-about-your-gpg-key/ - /articles/telling-git-about-your-signing-key - /github/authenticating-to-github/telling-git-about-your-signing-key + - /github/authenticating-to-github/managing-commit-signature-verification/telling-git-about-your-signing-key versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md similarity index 95% rename from content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md rename to content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md index bd05c0e83f..6ca535e099 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md @@ -4,6 +4,7 @@ intro: '{% data reusables.two_fa.about-2fa %} With 2FA, you have to log in with redirect_from: - /articles/about-two-factor-authentication - /github/authenticating-to-github/about-two-factor-authentication + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md similarity index 97% rename from content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md rename to content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md index d3f9836578..c7c8279150 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md @@ -7,6 +7,7 @@ redirect_from: - /articles/authenticating-to-github-using-fido-u2f-via-nfc/ - /articles/accessing-github-using-two-factor-authentication - /github/authenticating-to-github/accessing-github-using-two-factor-authentication + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md similarity index 91% rename from content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md rename to content/authentication/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md index 336207b696..c0a27c23ae 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md @@ -5,6 +5,7 @@ redirect_from: - /articles/changing-two-factor-authentication-delivery-methods/ - /articles/changing-two-factor-authentication-delivery-methods-for-your-mobile-device - /github/authenticating-to-github/changing-two-factor-authentication-delivery-methods-for-your-mobile-device + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device versions: fpt: '*' topics: diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md similarity index 98% rename from content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md rename to content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md index e6a646751d..756ddf3aa3 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md @@ -9,6 +9,7 @@ redirect_from: - /articles/generating-and-storing-an-account-recovery-token/ - /articles/configuring-two-factor-authentication-recovery-methods - /github/authenticating-to-github/configuring-two-factor-authentication-recovery-methods + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md similarity index 98% rename from content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md rename to content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md index 41fa8c8c23..416acd1f1c 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md @@ -7,6 +7,7 @@ redirect_from: - /articles/configuring-two-factor-authentication-via-fido-u2f/ - /articles/configuring-two-factor-authentication - /github/authenticating-to-github/configuring-two-factor-authentication + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md similarity index 95% rename from content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md rename to content/authentication/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md index f59768fe8b..4e7a013414 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md @@ -4,6 +4,7 @@ intro: 'Because of delivery success rates, {% data variables.product.product_nam redirect_from: - /articles/countries-where-sms-authentication-is-supported - /github/authenticating-to-github/countries-where-sms-authentication-is-supported + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported versions: fpt: '*' topics: diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md similarity index 94% rename from content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md rename to content/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md index d74cc72603..5e93dabe45 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md @@ -4,6 +4,7 @@ intro: 'If you disable two-factor authentication for your personal account, you redirect_from: - /articles/disabling-two-factor-authentication-for-your-personal-account - /github/authenticating-to-github/disabling-two-factor-authentication-for-your-personal-account + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/index.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/index.md similarity index 90% rename from content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/index.md rename to content/authentication/securing-your-account-with-two-factor-authentication-2fa/index.md index aa057cbf28..b77bd0a04e 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/index.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/index.md @@ -5,6 +5,7 @@ redirect_from: - /categories/84/articles/ - /categories/two-factor-authentication-2fa/ - /articles/securing-your-account-with-two-factor-authentication-2fa + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/ versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md similarity index 98% rename from content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md rename to content/authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md index e2383faa7a..969148a262 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md @@ -6,6 +6,7 @@ redirect_from: - /articles/authenticating-with-an-account-recovery-token/ - /articles/recovering-your-account-if-you-lose-your-2fa-credentials - /github/authenticating-to-github/recovering-your-account-if-you-lose-your-2fa-credentials + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md b/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md similarity index 94% rename from content/github/authenticating-to-github/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md rename to content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md index 5fa279ef6b..9b2d39cd2d 100644 --- a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md +++ b/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md @@ -5,6 +5,7 @@ redirect_from: - /articles/checking-your-gpg-commit-and-tag-signature-verification-status/ - /articles/checking-your-commit-and-tag-signature-verification-status - /github/authenticating-to-github/checking-your-commit-and-tag-signature-verification-status + - /github/authenticating-to-github/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/index.md b/content/authentication/troubleshooting-commit-signature-verification/index.md similarity index 88% rename from content/github/authenticating-to-github/troubleshooting-commit-signature-verification/index.md rename to content/authentication/troubleshooting-commit-signature-verification/index.md index 6cc0eeb2c2..72958651db 100644 --- a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/index.md +++ b/content/authentication/troubleshooting-commit-signature-verification/index.md @@ -4,6 +4,7 @@ intro: 'You may need to troubleshoot unexpected issues that arise when signing c redirect_from: - /articles/troubleshooting-gpg/ - /articles/troubleshooting-commit-signature-verification + - /github/authenticating-to-github/troubleshooting-commit-signature-verification/ versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md b/content/authentication/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md similarity index 92% rename from content/github/authenticating-to-github/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md rename to content/authentication/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md index a55929886d..8bb851b96a 100644 --- a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md +++ b/content/authentication/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md @@ -4,6 +4,7 @@ intro: 'When verifying a signature, {% data variables.product.product_name %} ch redirect_from: - /articles/updating-an-expired-gpg-key - /github/authenticating-to-github/updating-an-expired-gpg-key + - /github/authenticating-to-github/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md b/content/authentication/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md similarity index 92% rename from content/github/authenticating-to-github/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md rename to content/authentication/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md index a4cb5c9f1c..7e62270da4 100644 --- a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md +++ b/content/authentication/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md @@ -4,6 +4,7 @@ intro: 'When verifying a signature, {% data variables.product.product_name %} ch redirect_from: - /articles/using-a-verified-email-address-in-your-gpg-key - /github/authenticating-to-github/using-a-verified-email-address-in-your-gpg-key + - /github/authenticating-to-github/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/deleted-or-missing-ssh-keys.md b/content/authentication/troubleshooting-ssh/deleted-or-missing-ssh-keys.md similarity index 92% rename from content/github/authenticating-to-github/troubleshooting-ssh/deleted-or-missing-ssh-keys.md rename to content/authentication/troubleshooting-ssh/deleted-or-missing-ssh-keys.md index 72c8e7108e..93ba91d79f 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/deleted-or-missing-ssh-keys.md +++ b/content/authentication/troubleshooting-ssh/deleted-or-missing-ssh-keys.md @@ -4,6 +4,7 @@ intro: 'As a security precaution, {% data variables.product.prodname_dotcom %} a redirect_from: - /articles/deleted-or-missing-ssh-keys - /github/authenticating-to-github/deleted-or-missing-ssh-keys + - /github/authenticating-to-github/troubleshooting-ssh/deleted-or-missing-ssh-keys versions: fpt: '*' topics: diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md b/content/authentication/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md similarity index 95% rename from content/github/authenticating-to-github/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md rename to content/authentication/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md index afd93b2ad9..ff2a5f952e 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md +++ b/content/authentication/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md @@ -5,6 +5,7 @@ redirect_from: - /articles/error-agent-admitted-failure-to-sign-using-the-key/ - /articles/error-agent-admitted-failure-to-sign - /github/authenticating-to-github/error-agent-admitted-failure-to-sign + - /github/authenticating-to-github/troubleshooting-ssh/error-agent-admitted-failure-to-sign versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-bad-file-number.md b/content/authentication/troubleshooting-ssh/error-bad-file-number.md similarity index 96% rename from content/github/authenticating-to-github/troubleshooting-ssh/error-bad-file-number.md rename to content/authentication/troubleshooting-ssh/error-bad-file-number.md index 0db50a2d11..301d6f5706 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-bad-file-number.md +++ b/content/authentication/troubleshooting-ssh/error-bad-file-number.md @@ -4,6 +4,7 @@ intro: This error usually means you were unable to connect to the server. Often redirect_from: - /articles/error-bad-file-number - /github/authenticating-to-github/error-bad-file-number + - /github/authenticating-to-github/troubleshooting-ssh/error-bad-file-number versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-key-already-in-use.md b/content/authentication/troubleshooting-ssh/error-key-already-in-use.md similarity index 96% rename from content/github/authenticating-to-github/troubleshooting-ssh/error-key-already-in-use.md rename to content/authentication/troubleshooting-ssh/error-key-already-in-use.md index 608a41c179..d70c8cffb4 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-key-already-in-use.md +++ b/content/authentication/troubleshooting-ssh/error-key-already-in-use.md @@ -4,6 +4,7 @@ intro: 'This error occurs when you try to [add a key](/articles/adding-a-new-ssh redirect_from: - /articles/error-key-already-in-use - /github/authenticating-to-github/error-key-already-in-use + - /github/authenticating-to-github/troubleshooting-ssh/error-key-already-in-use versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-denied-publickey.md b/content/authentication/troubleshooting-ssh/error-permission-denied-publickey.md similarity index 99% rename from content/github/authenticating-to-github/troubleshooting-ssh/error-permission-denied-publickey.md rename to content/authentication/troubleshooting-ssh/error-permission-denied-publickey.md index ff61f063ae..d3c3416dfe 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-denied-publickey.md +++ b/content/authentication/troubleshooting-ssh/error-permission-denied-publickey.md @@ -4,6 +4,7 @@ intro: 'A "Permission denied" error means that the server rejected your connecti redirect_from: - /articles/error-permission-denied-publickey - /github/authenticating-to-github/error-permission-denied-publickey + - /github/authenticating-to-github/troubleshooting-ssh/error-permission-denied-publickey versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md b/content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md similarity index 86% rename from content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md rename to content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md index f80b0252f6..a8445fa12c 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md +++ b/content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md @@ -5,6 +5,7 @@ redirect_from: - /articles/error-permission-to-user-repo-denied-to-other-user - /articles/error-permission-to-userrepo-denied-to-other-user - /github/authenticating-to-github/error-permission-to-userrepo-denied-to-other-user + - /github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md b/content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md similarity index 88% rename from content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md rename to content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md index ddb5e9a8d1..29951d3d3d 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md +++ b/content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md @@ -5,6 +5,7 @@ redirect_from: - /articles/error-permission-to-user-repo-denied-to-user-other-repo - /articles/error-permission-to-userrepo-denied-to-userother-repo - /github/authenticating-to-github/error-permission-to-userrepo-denied-to-userother-repo + - /github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-ssh-add-illegal-option----k.md b/content/authentication/troubleshooting-ssh/error-ssh-add-illegal-option----k.md similarity index 93% rename from content/github/authenticating-to-github/troubleshooting-ssh/error-ssh-add-illegal-option----k.md rename to content/authentication/troubleshooting-ssh/error-ssh-add-illegal-option----k.md index f7acf61a5d..a1e3f0c9bd 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-ssh-add-illegal-option----k.md +++ b/content/authentication/troubleshooting-ssh/error-ssh-add-illegal-option----k.md @@ -5,6 +5,7 @@ redirect_from: - /articles/error-ssh-add-illegal-option-k - /articles/error-ssh-add-illegal-option----k - /github/authenticating-to-github/error-ssh-add-illegal-option----k + - /github/authenticating-to-github/troubleshooting-ssh/error-ssh-add-illegal-option----k versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md b/content/authentication/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md similarity index 93% rename from content/github/authenticating-to-github/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md rename to content/authentication/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md index 4bf128586b..21fcf28e2e 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md +++ b/content/authentication/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md @@ -4,6 +4,7 @@ intro: 'This error means your CA root certificate is out of date. If your CA roo redirect_from: - /articles/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok - /github/authenticating-to-github/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok + - /github/authenticating-to-github/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok versions: fpt: '*' topics: diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-unknown-key-type.md b/content/authentication/troubleshooting-ssh/error-unknown-key-type.md similarity index 96% rename from content/github/authenticating-to-github/troubleshooting-ssh/error-unknown-key-type.md rename to content/authentication/troubleshooting-ssh/error-unknown-key-type.md index 7df952c642..84756d6077 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-unknown-key-type.md +++ b/content/authentication/troubleshooting-ssh/error-unknown-key-type.md @@ -9,6 +9,7 @@ topics: - SSH redirect_from: - /github/authenticating-to-github/error-unknown-key-type + - /github/authenticating-to-github/troubleshooting-ssh/error-unknown-key-type --- ## About the `unknown key type` error diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md b/content/authentication/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md similarity index 92% rename from content/github/authenticating-to-github/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md rename to content/authentication/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md index 9d57144f86..28d01ee3a5 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md +++ b/content/authentication/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md @@ -5,6 +5,7 @@ redirect_from: - /articles/error-we-re-doing-an-ssh-key-audit - /articles/error-were-doing-an-ssh-key-audit - /github/authenticating-to-github/error-were-doing-an-ssh-key-audit + - /github/authenticating-to-github/troubleshooting-ssh/error-were-doing-an-ssh-key-audit versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/index.md b/content/authentication/troubleshooting-ssh/index.md similarity index 93% rename from content/github/authenticating-to-github/troubleshooting-ssh/index.md rename to content/authentication/troubleshooting-ssh/index.md index d36ebae604..3bcc42bcae 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/index.md +++ b/content/authentication/troubleshooting-ssh/index.md @@ -3,6 +3,7 @@ title: Troubleshooting SSH intro: 'When using SSH to connect and authenticate to {% data variables.product.product_name %}, you may need to troubleshoot unexpected issues that may arise.' redirect_from: - /articles/troubleshooting-ssh + - /github/authenticating-to-github/troubleshooting-ssh/ versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md b/content/authentication/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md similarity index 95% rename from content/github/authenticating-to-github/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md rename to content/authentication/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md index 117950449e..a85fde28f4 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md +++ b/content/authentication/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md @@ -6,6 +6,7 @@ redirect_from: - /articles/how-do-i-recover-my-ssh-key-passphrase/ - /articles/recovering-your-ssh-key-passphrase - /github/authenticating-to-github/recovering-your-ssh-key-passphrase + - /github/authenticating-to-github/troubleshooting-ssh/recovering-your-ssh-key-passphrase versions: fpt: '*' ghes: '*' diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port.md b/content/authentication/troubleshooting-ssh/using-ssh-over-the-https-port.md similarity index 95% rename from content/github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port.md rename to content/authentication/troubleshooting-ssh/using-ssh-over-the-https-port.md index 1eb68c6cce..7b09299a85 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port.md +++ b/content/authentication/troubleshooting-ssh/using-ssh-over-the-https-port.md @@ -4,6 +4,7 @@ intro: 'Sometimes, firewalls refuse to allow SSH connections entirely. If using redirect_from: - /articles/using-ssh-over-the-https-port - /github/authenticating-to-github/using-ssh-over-the-https-port + - /github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port versions: fpt: '*' topics: diff --git a/content/github/index.md b/content/github/index.md index fdfeb64ed6..151b7b550b 100644 --- a/content/github/index.md +++ b/content/github/index.md @@ -10,7 +10,6 @@ versions: ghes: '*' ghae: '*' children: - - /authenticating-to-github - /copilot - /setting-up-and-managing-your-enterprise - /writing-on-github diff --git a/content/index.md b/content/index.md index 53e57e2b80..12ab7e6cd6 100644 --- a/content/index.md +++ b/content/index.md @@ -16,6 +16,7 @@ versions: '*' children: - get-started - account-and-profile + - authentication - repositories - github - admin diff --git a/tests/rendering/breadcrumbs.js b/tests/rendering/breadcrumbs.js index aea5b62115..6253dd6e17 100644 --- a/tests/rendering/breadcrumbs.js +++ b/tests/rendering/breadcrumbs.js @@ -15,37 +15,37 @@ describe('breadcrumbs', () => { test('article pages have breadcrumbs with product, category, maptopic, and article', async () => { const $ = await getDOM( - '/github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port' + '/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/adding-an-email-address-to-your-github-account' ) const $breadcrumbs = $('[data-testid=breadcrumbs] a') expect($breadcrumbs).toHaveLength(4) - expect($breadcrumbs[0].attribs.title).toBe('product: GitHub') - expect($breadcrumbs[1].attribs.title).toBe('category: Authentication') - expect($breadcrumbs[2].attribs.title).toBe('mapTopic: Troubleshooting SSH') - expect($breadcrumbs[3].attribs.title).toBe('article: Use SSH over HTTPS port') + expect($breadcrumbs[0].attribs.title).toBe('product: Account and profile') + expect($breadcrumbs[1].attribs.title).toBe('category: User accounts') + expect($breadcrumbs[2].attribs.title).toBe('mapTopic: Manage email preferences') + expect($breadcrumbs[3].attribs.title).toBe('article: Add an email address') }) test('maptopic pages include their own grayed-out breadcrumb', async () => { const $ = await getDOM( - '/github/authenticating-to-github/keeping-your-account-and-data-secure' + '/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences' ) const $breadcrumbs = $('[data-testid=breadcrumbs] a') expect($breadcrumbs).toHaveLength(3) - expect($breadcrumbs[0].attribs.title).toBe('product: GitHub') - expect($breadcrumbs[1].attribs.title).toBe('category: Authentication') - expect($breadcrumbs[2].attribs.title).toBe('mapTopic: Account security') + expect($breadcrumbs[0].attribs.title).toBe('product: Account and profile') + expect($breadcrumbs[1].attribs.title).toBe('category: User accounts') + expect($breadcrumbs[2].attribs.title).toBe('mapTopic: Manage email preferences') expect($breadcrumbs[2].attribs.class.includes('color-text-tertiary')).toBe(true) }) test('works for enterprise user pages', async () => { const $ = await getDOM( - '/en/enterprise-server/github/authenticating-to-github/troubleshooting-ssh/recovering-your-ssh-key-passphrase' + '/en/enterprise-server/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/adding-an-email-address-to-your-github-account' ) const $breadcrumbs = $('[data-testid=breadcrumbs] a') expect($breadcrumbs).toHaveLength(4) - expect($breadcrumbs[0].attribs.title).toBe('product: GitHub') + expect($breadcrumbs[0].attribs.title).toBe('product: Account and profile') }) test('parses Liquid variables inside titles', async () => { @@ -107,17 +107,24 @@ describe('breadcrumbs', () => { }) test('works on category index pages', async () => { - const breadcrumbs = await getJSON('/en/github/authenticating-to-github?json=breadcrumbs') + const breadcrumbs = await getJSON( + '/en/issues/tracking-your-work-with-issues/quickstart?json=breadcrumbs' + ) const expected = [ { documentType: 'product', - href: '/en/github', - title: 'GitHub', + href: '/en/issues', + title: 'GitHub Issues', }, { documentType: 'category', - href: '/en/github/authenticating-to-github', - title: 'Authentication', + href: '/en/issues/tracking-your-work-with-issues', + title: 'Issues', + }, + { + documentType: 'article', + href: '/en/issues/tracking-your-work-with-issues/quickstart', + title: 'Quickstart for GitHub Issues', }, ] expect(breadcrumbs).toEqual(expected) @@ -125,23 +132,23 @@ describe('breadcrumbs', () => { test('works on maptopic pages', async () => { const breadcrumbs = await getJSON( - '/en/github/authenticating-to-github/keeping-your-account-and-data-secure?json=breadcrumbs' + '/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings?json=breadcrumbs' ) const expected = [ { documentType: 'product', - href: '/en/github', - title: 'GitHub', + href: '/en/account-and-profile', + title: 'Account and profile', }, { documentType: 'category', - href: '/en/github/authenticating-to-github', - title: 'Authentication', + href: '/en/account-and-profile/setting-up-and-managing-your-github-user-account', + title: 'User accounts', }, { documentType: 'mapTopic', - href: '/en/github/authenticating-to-github/keeping-your-account-and-data-secure', - title: 'Account security', + href: '/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings', + title: 'User account settings', }, ] expect(breadcrumbs).toEqual(expected) @@ -149,28 +156,28 @@ describe('breadcrumbs', () => { test('works on articles that DO have maptopics ', async () => { const breadcrumbs = await getJSON( - '/en/github/authenticating-to-github/creating-a-strong-password?json=breadcrumbs' + '/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/about-your-personal-dashboard?json=breadcrumbs' ) const expected = [ { documentType: 'product', - href: '/en/github', - title: 'GitHub', + href: '/en/account-and-profile', + title: 'Account and profile', }, { documentType: 'category', - href: '/en/github/authenticating-to-github', - title: 'Authentication', + href: '/en/account-and-profile/setting-up-and-managing-your-github-user-account', + title: 'User accounts', }, { documentType: 'mapTopic', - href: '/en/github/authenticating-to-github/keeping-your-account-and-data-secure', - title: 'Account security', + href: '/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings', + title: 'User account settings', }, { documentType: 'article', - href: '/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password', - title: 'Create a strong password', + href: '/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/about-your-personal-dashboard', + title: 'Your personal dashboard', }, ] expect(breadcrumbs).toEqual(expected) diff --git a/tests/rendering/server.js b/tests/rendering/server.js index 605f764845..87ee797902 100644 --- a/tests/rendering/server.js +++ b/tests/rendering/server.js @@ -337,8 +337,8 @@ describe('server', () => { }) test('displays links to categories on product TOCs', async () => { - const $ = await getDOM('/en/github') - expect($('a[href="/en/github/authenticating-to-github"]')).toHaveLength(1) + const $ = await getDOM('/en/authentication') + expect($('a[href="/en/authentication/keeping-your-account-and-data-secure"]')).toHaveLength(1) }) describe('autogenerated mini TOCs', () => { @@ -608,7 +608,7 @@ describe('server', () => { test('redirects old articles to their slugified URL', async () => { const res = await get('/articles/about-github-s-ip-addresses') expect(res.text).toBe( - 'Moved Permanently. Redirecting to /en/github/authenticating-to-github/keeping-your-account-and-data-secure/about-githubs-ip-addresses' + 'Moved Permanently. Redirecting to /en/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses' ) }) @@ -695,9 +695,7 @@ describe('server', () => { describe('URLs by language', () => { // TODO re-enable this test once TOCs are auto-generated (after PR 11731 has landed) test('heading IDs and links on translated pages are in English', async () => { - const $ = await getDOM( - '/ja/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password' - ) + const $ = await getDOM('/ja/actions/using-github-hosted-runners/about-github-hosted-runners') expect($.res.statusCode).toBe(200) expect($('h3[id="further-reading"]').length).toBe(1) expect($('h3[id="参考リンク"]').length).toBe(0) @@ -710,7 +708,7 @@ describe('GitHub Enterprise URLs', () => { const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/user/github`) expect( $( - `a[href="/en/enterprise-server@${enterpriseServerReleases.latest}/github/authenticating-to-github"]` + `a[href="/en/enterprise-server@${enterpriseServerReleases.latest}/github/writing-on-github"]` ).length ).toBe(1) }) diff --git a/tests/routing/redirects.js b/tests/routing/redirects.js index 3acdd51304..6ebe28b189 100644 --- a/tests/routing/redirects.js +++ b/tests/routing/redirects.js @@ -335,12 +335,12 @@ describe('redirects', () => { }) describe('enterprise user article', () => { - const userArticle = `/en/enterprise-server@${enterpriseServerReleases.latest}/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password` + const userArticle = `/en/enterprise-server@${enterpriseServerReleases.latest}/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github` const japaneseUserArticle = userArticle.replace('/en/', '/ja/') test('no product redirects to GitHub.com product on the latest version', async () => { const res = await get( - `/en/enterprise/${enterpriseServerReleases.latest}/user/articles/creating-a-strong-password` + `/en/enterprise/${enterpriseServerReleases.latest}/user/articles/about-writing-and-formatting-on-github` ) expect(res.statusCode).toBe(301) expect(res.headers.location).toBe(userArticle) @@ -354,28 +354,28 @@ describe('redirects', () => { test('no language code redirects to english', async () => { const res = await get( - `/enterprise/${enterpriseServerReleases.latest}/user/articles/creating-a-strong-password` + `/enterprise/${enterpriseServerReleases.latest}/user/articles/about-writing-and-formatting-on-github` ) expect(res.statusCode).toBe(301) expect(res.headers.location).toBe(userArticle) }) test('no version redirects to latest version', async () => { - const res = await get('/en/enterprise/user/articles/creating-a-strong-password') + const res = await get('/en/enterprise/user/articles/about-writing-and-formatting-on-github') expect(res.statusCode).toBe(301) expect(res.headers.location).toBe(userArticle) }) test('no version redirects to latest version (japanese)', async () => { - const res = await get('/ja/enterprise/user/articles/creating-a-strong-password') + const res = await get('/ja/enterprise/user/articles/about-writing-and-formatting-on-github') expect(res.statusCode).toBe(301) expect(res.headers.location).toBe(japaneseUserArticle) }) }) describe('enterprise user article with frontmatter redirect', () => { - const userArticle = `/en/enterprise-server@${enterpriseServerReleases.latest}/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys` - const redirectFromPath = '/articles/reviewing-your-ssh-keys' + const userArticle = `/en/enterprise-server@${enterpriseServerReleases.latest}/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github` + const redirectFromPath = '/articles/about-writing-and-formatting-on-github' const japaneseUserArticle = userArticle.replace('/en/', '/ja/') test('redirects to expected article', async () => { diff --git a/tests/unit/page.js b/tests/unit/page.js index de73bb46b1..094be7df90 100644 --- a/tests/unit/page.js +++ b/tests/unit/page.js @@ -337,13 +337,11 @@ describe('Page class', () => { test('permalinks for dotcom-only pages', async () => { const page = await Page.init({ - relativePath: - 'github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port.md', + relativePath: 'authentication/troubleshooting-ssh/using-ssh-over-the-https-port.md', basePath: path.join(__dirname, '../../content'), languageCode: 'en', }) - const expectedPath = - '/en/github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port' + const expectedPath = '/en/authentication/troubleshooting-ssh/using-ssh-over-the-https-port' expect( page.permalinks.find((permalink) => permalink.pageVersion === nonEnterpriseDefaultVersion) .href From 5f01af06ecbf7b0bb95dd7b354ac6d47a78ad4c8 Mon Sep 17 00:00:00 2001 From: AlonaHlobina <54394529+AlonaHlobina@users.noreply.github.com> Date: Tue, 21 Sep 2021 22:12:11 +0200 Subject: [PATCH 05/14] Update beta-codeql-runner.md (#21605) * Update beta-codeql-runner.md * Rename beta-codeql-runner.md to deprecation-codeql-runner.md * update reusable name * Update about-codeql-code-scanning-in-your-ci-system.md * Update running-codeql-code-scanning-in-a-container.md * Update uploading-a-sarif-file-to-github.md * Update sarif-support-for-code-scanning.md * Update running-codeql-runner-in-your-ci-system.md * Update configuring-codeql-cli-in-your-ci-system.md * Update configuring-codeql-runner-in-your-ci-system.md * Update running-codeql-runner-in-your-ci-system.md * Update content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md * Update configuring-codeql-cli-in-your-ci-system.md * Apply suggestions from code review Co-authored-by: Steve Guntrip <12534592+stevecat@users.noreply.github.com> * update codeql runner reusable * add new article about runner to cli migration * fix typo in new article title * Update deprecation-codeql-runner.md * Update deprecation-codeql-runner.md * Apply suggestions from code review * fix failing test * fix failing test * Update versioning to fix failing test * add `codeql-cli-binaries` to allow list Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com> Co-authored-by: Felicity Chapman Co-authored-by: Steve Guntrip <12534592+stevecat@users.noreply.github.com> Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> --- ...ing-codeql-code-scanning-in-a-container.md | 1 + .../sarif-support-for-code-scanning.md | 1 + .../uploading-a-sarif-file-to-github.md | 1 + ...-codeql-code-scanning-in-your-ci-system.md | 4 +- ...onfiguring-codeql-cli-in-your-ci-system.md | 4 - ...iguring-codeql-runner-in-your-ci-system.md | 2 +- .../index.md | 2 + ...ng-from-the-codeql-runner-to-codeql-cli.md | 412 ++++++++++++++++++ ...running-codeql-runner-in-your-ci-system.md | 4 +- ...hooting-codeql-runner-in-your-ci-system.md | 2 +- ...-codeql-code-scanning-in-your-ci-system.md | 2 +- ...-codeql-code-scanning-in-your-ci-system.md | 2 +- ...-codeql-code-scanning-in-your-ci-system.md | 2 +- .../code-scanning/beta-codeql-runner.md | 9 - .../deprecation-codeql-runner.md | 7 + tests/meta/repository-references.js | 1 + 16 files changed, 434 insertions(+), 22 deletions(-) create mode 100644 content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli.md delete mode 100644 data/reusables/code-scanning/beta-codeql-runner.md create mode 100644 data/reusables/code-scanning/deprecation-codeql-runner.md diff --git a/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md b/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md index f2fd461fd1..011e3f179a 100644 --- a/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md +++ b/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md @@ -24,6 +24,7 @@ topics: {% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.deprecation-codeql-runner %} ## About {% data variables.product.prodname_code_scanning %} with a containerized build diff --git a/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md b/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md index f144567d9c..7c06caa660 100644 --- a/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md +++ b/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md @@ -23,6 +23,7 @@ topics: {% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.deprecation-codeql-runner %} ## About SARIF support diff --git a/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md b/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md index a19f1080de..d7e4d62b25 100644 --- a/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md +++ b/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md @@ -27,6 +27,7 @@ topics: {% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning %} +{% data reusables.code-scanning.deprecation-codeql-runner %} ## About SARIF file uploads for {% data variables.product.prodname_code_scanning %} diff --git a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md index afd223ad07..e08769d6d1 100644 --- a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md +++ b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md @@ -77,7 +77,7 @@ For more information, see "[Installing {% data variables.product.prodname_codeql {% data reusables.code-scanning.use-codeql-runner-not-cli %} -{% data reusables.code-scanning.beta-codeql-runner %} +{% data reusables.code-scanning.deprecation-codeql-runner %} For more information, see "[Running {% data variables.product.prodname_codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)." @@ -89,7 +89,7 @@ For more information, see "[Running {% data variables.product.prodname_codeql_ru You add the {% data variables.product.prodname_codeql_runner %} to your third-party system, then call the tool to analyze code and upload the SARIF results to {% data variables.product.product_name %}. The resulting {% data variables.product.prodname_code_scanning %} alerts are shown alongside any alerts generated within {% data variables.product.product_name %}. -{% data reusables.code-scanning.beta-codeql-runner %} +{% data reusables.code-scanning.deprecation-codeql-runner %} To set up code scanning in your CI system, see "[Running {% data variables.product.prodname_codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)." {% endif %} diff --git a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md index 427e89ca1c..1e1c5a2a57 100644 --- a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md +++ b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md @@ -325,10 +325,6 @@ By default, {% data variables.product.prodname_code_scanning %} expects one SARI If you want to upload more than one set of results to the {% data variables.product.prodname_code_scanning %} API for a commit in a repository, you must identify each set of results as a unique set. For repositories where you create more than one {% data variables.product.prodname_codeql %} database to analyze for each commit, use the `--sarif-category` option to specify a language or other unique category for each SARIF file that you generate for that repository. -### Alternative if your CI system cannot trigger the {% data variables.product.prodname_codeql_cli %} - -{% data reusables.code-scanning.use-codeql-runner-not-cli %} - {% endif %} ## Further reading diff --git a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system.md b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system.md index dbd2ecd093..d947fa7357 100644 --- a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system.md +++ b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system.md @@ -29,7 +29,7 @@ topics: --- -{% data reusables.code-scanning.beta-codeql-runner %} +{% data reusables.code-scanning.deprecation-codeql-runner %} {% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning %} diff --git a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/index.md b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/index.md index 27ecc089c8..a67fbe7c1a 100644 --- a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/index.md +++ b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/index.md @@ -24,5 +24,7 @@ children: - /running-codeql-runner-in-your-ci-system - /configuring-codeql-runner-in-your-ci-system - /troubleshooting-codeql-runner-in-your-ci-system + - /migrating-from-the-codeql-runner-to-codeql-cli + --- diff --git a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli.md b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli.md new file mode 100644 index 0000000000..11af057ab4 --- /dev/null +++ b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli.md @@ -0,0 +1,412 @@ +--- +title: Migrating from the CodeQL runner to CodeQL CLI +shortTitle: Migrating from the CodeQL runner +intro: 'You can use the {% data variables.product.prodname_codeql_cli %} to complete the same tasks as with the {% data variables.product.prodname_codeql_runner %}.' +product: '{% data reusables.gated-features.code-scanning %}' +versions: + fpt: '*' + ghes: '>=3.1' + ghae: 'next' +topics: + - Advanced Security + - Code scanning + - CodeQL +--- + +# Migrating from the {% data variables.product.prodname_codeql_runner %} to the {% data variables.product.prodname_codeql_cli %} + +The {% data variables.product.prodname_codeql_runner %} is being deprecated. You can use the {% data variables.product.prodname_codeql_cli %} version 2.6.2 and greater instead. +This document describes how to migrate common workflows from the {% data variables.product.prodname_codeql_runner %} to the {% data variables.product.prodname_codeql_cli %}. + +## Installation + +Download the **{% data variables.product.prodname_codeql %} bundle** from the [`github/codeql-action` repository](https://github.com/github/codeql-action/releases). This bundle contains the {% data variables.product.prodname_codeql_cli %} and the standard {% data variables.product.prodname_codeql %} queries and libraries. + +For more information on setting up the {% data variables.product.prodname_codeql_cli %}, see "[Installing {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system)." + +## Overview of workflow changes + +A typical workflow that uses the {% data variables.product.prodname_codeql_runner %} to analyze a codebase has the following steps. +- `codeql-runner- init` to start creating {% data variables.product.prodname_codeql %} databases and read the configuration. +- For compiled languages: set environment variables produced by the `init` step. +- For compiled languages: run autobuild or manual build steps. +- `codeql-runner- analyze` to finish creating {% data variables.product.prodname_codeql %} databases, run queries to analyze each {% data variables.product.prodname_codeql %} database, summarize the results in a SARIF file, and upload the results to {% data variables.product.prodname_dotcom %}. + +A typical workflow that uses the {% data variables.product.prodname_codeql_cli %} to analyze a codebase has the following steps. +- `codeql database create` to create {% data variables.product.prodname_codeql %} databases. + - For compiled languages: Optionally provide a build command. +- `codeql database analyze` to run queries to analyze each {% data variables.product.prodname_codeql %} database and summarize the results in a SARIF file. This command must be run once for each language or database. +- `codeql github upload-results` to upload the resulting SARIF files to {% data variables.product.prodname_dotcom %}, to be displayed as code scanning alerts. This command must be run once for each language or SARIF file. + +For more information, see "[Configuring {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system)." + +## Examples of common uses for the {% data variables.product.prodname_codeql_cli %} + +### About the examples + +These examples assume that the source code has been checked out to the current working directory. If you use a different directory, change the `--source-root` argument and the build steps accordingly. + +These examples also assume that the {% data variables.product.prodname_codeql_cli %} is placed on the current PATH. + +In these examples, a {% data variables.product.prodname_dotcom %} token with suitable scopes is stored in the `$TOKEN` environment variable and passed to the example commands via stdin, or is stored in the `$GITHUB_TOKEN` environment variable. + +The ref name and commit SHA being checked out and analyzed in these examples are known during the workflow. For a branch, use `refs/heads/BRANCH-NAME` as the ref. For the head commit of a pull request, use `refs/pulls/NUMBER/head`. For a {% data variables.product.prodname_dotcom %}-generated merge commit of a pull request, use `refs/pulls/NUMBER/merge`. The examples below all use `refs/heads/main`. If you use a different branch name, you must modify the sample code. + +### Single non-compiled language (JavaScript) + +Runner: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages javascript \ + --github-url https://github.com --github-auth-stdin + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo + --github-url https://github.com --github-auth-stdin + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` +CLI: +```bash +codeql database create /codeql-dbs/example-repo --language=javascript \ + --source-root=. + +# The default query suite is called `-code-scanning.qls`. +codeql database analyze /codeql-dbs/example-repo \ + javascript-code-scanning.qls --sarif-category=javascript \ + --format=sarif-latest --output=/temp/example-repo-js.sarif + +echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-js.sarif --github-auth-stdin +``` + +### Single non-compiled language (JavaScript) using a different query suite (security-and-quality) + +A similar approach can be taken for compiled languages, or multiple languages. + +Runner: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages javascript \ + --github-url https://github.com --github-auth-stdin + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo \ + --queries security-and-quality \ + --github-url https://github.com --github-auth-stdin \ + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` +CLI: +```bash +codeql database create /codeql-dbs/example-repo --language=javascript \ + --source-root=. + +# Use `-.qls` +codeql database analyze /codeql-dbs/example-repo \ + javascript-security-and-quality.qls --sarif-category=javascript + --format=sarif-latest --output=/temp/example-repo-js.sarif + +echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-js.sarif --github-auth-stdin +``` + +### Single non-compiled language (JavaScript) using a custom configuration file + +A similar approach can be taken for compiled languages, or multiple languages. + +Runner: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages javascript \ + --config-file .github/codeql/codeql-config.yml \ + --github-url https://github.com --github-auth-stdin + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo \ + --github-url https://github.com --github-auth-stdin \ + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` +CLI: +```bash +# Use `--codescanning-config` with the path to the YAML configuration file. +codeql database create /codeql-dbs/example-repo --language=javascript \ + --codescanning-config=.github/codeql/codeql-config.yml \ + --source-root=. + +codeql database analyze /codeql-dbs/example-repo \ + --sarif-category=javascript + --format=sarif-latest --output=/temp/example-repo-js.sarif + +echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-js.sarif --github-auth-stdin +``` + +### Single compiled language using autobuild (Java) + +Runner: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages java \ + --github-url https://github.com --github-auth-stdin + +# Source the script generated by the init step to set up the environment to monitor the build. +. codeql-runner/codeql-env.sh + +# Run the autobuilder for the given language. +codeql-runner-linux autobuild --language java + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo + --github-url https://github.com --github-auth-stdin + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` +CLI: +```bash +# Run `codeql database create` without `--command`. +# This will run the autobuilder for the given language. +codeql database create /codeql-dbs/example-repo --language=java \ + --source-root=. + +codeql database analyze /codeql-dbs/example-repo \ + javascript-code-scanning.qls --sarif-category=java + --format=sarif-latest --output=/temp/example-repo-java.sarif + +echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-java.sarif --github-auth-stdin +``` + +### Single compiled language using a custom build command (Java) + +Runner: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages java \ + --github-url https://github.com --github-auth-stdin + +# Source the script generated by the init step to set up the environment to monitor the build. +. codeql-runner/codeql-env.sh + +# Run a custom build command. +mvn compile -DskipTests + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo + --github-url https://github.com --github-auth-stdin + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` +CLI: +```bash +# Provide an explicit build command using `--command`. +codeql database create /codeql-dbs/example-repo --language=java \ + --command="mvn compile -DskipTests" --source-root=. + +codeql database analyze /codeql-dbs/example-repo \ + java-code-scanning.qls --sarif-category=java + --format=sarif-latest --output=/temp/example-repo-java.sarif + +echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-java.sarif --github-auth-stdin +``` + +### Single compiled language using indirect build tracing (C# on Windows within Azure DevOps) + +Indirect build tracing for a compiled language enables {% data variables.product.prodname_codeql %} to detect all build steps between the `init` and `analyze` steps, when the code cannot be built using the autobuilder or an explicit build command line. This is useful when using preconfigured build steps from your CI system, such as the `VSBuild` and `MSBuild` tasks in Azure DevOps. + +Runner: +```yaml +- task: CmdLine@1 + displayName: CodeQL Initialization + inputs: + script: "%CodeQLRunner%\\codeql-runner-win.exe init --repository my-org/example-repo --languages csharp --github-url https://github.com --github-auth $(Token)" +# Set the generated environment variables so they are available for subsequent commands, in the format required by Azure Pipelines. +- task: PowerShell@1 + displayName: Set CodeQL Environment Variables + inputs: + targetType: inline + script: > + $json = Get-Content $(System.DefaultWorkingDirectory)/codeql-runner/codeql-env.json | ConvertFrom-Json + $json.PSObject.Properties | ForEach-Object { + $template = "##vso[task.setvariable variable=" + $template += $_.Name + $template += "]" + $template += $_.Value + echo "$template" + } + +# Execute a clean build using the VSBuild task. +- task: VSBuild@1 + inputs: + solution: '**/*.sln' + msbuildArgs: '/p:OutDir=$(Build.ArtifactStagingDirectory) /p:UseSharedCompilation=false' + platform: Any CPU + configuration: Release + clean: True + displayName: Visual Studio Build + +# Analyze the database created as part of the build, by running the selected queries against it, and upload results to GitHub. +- task: CmdLine@2 + displayName: CodeQL Analyze + inputs: + script: '%CodeQLRunner%\codeql-runner-win.exe analyze --repository my-org/example-repo --commit $(Build.SourceVersion) --ref $(Build.SourceBranch) --github-url https://github.com --github-auth $(Token)' +``` + +CLI: +```yaml +# Run any pre-build tasks, for example, restore NuGet dependencies... + +# Initialize the CodeQL database using `codeql database init --begin tracing`. +- task: CmdLine@1 + displayName: Initialize CodeQL database + inputs: + # Assumes the source code is checked out to the current working directory. + # Creates a database at `/codeql-dbs/example-repo`. + # Running on Windows, so specifies a trace process level. + script: "codeql database init --language csharp --trace-process-name Agent.Worker.exe --source-root . --begin-tracing /codeql-dbs/example-repo" + +# For CodeQL to trace future build steps without knowing the explicit build commands, +# it requires certain environment variables to be set during the build. +# Read these generated environment variables and values, and set them so they are available for subsequent commands +# in the build pipeline. This is done in PowerShell in this example. +- task: PowerShell@1 + displayName: Set CodeQL environment variables + inputs: + targetType: inline + script: > + $json = Get-Content /codeql-dbs/example-repo/temp/tracingEnvironment/start-tracing.json | ConvertFrom-Json + $json.PSObject.Properties | ForEach-Object { + $template = "##vso[task.setvariable variable=" + $template += $_.Name + $template += "]" + $template += $_.Value + echo "$template" + } + +# Execute the pre-defined build step. Note the `msbuildArgs` variable. +- task: VSBuild@1 + inputs: + solution: '**/*.sln' + # Disable MSBuild shared compilation for C# builds. + msbuildArgs: /p:OutDir=$(Build.ArtifactStagingDirectory) /p:UseSharedCompilation=false + platform: Any CPU + configuration: Release + # Execute a clean build, in order to remove any existing build artifacts prior to the build. + clean: True + displayName: Visual Studio Build + +# Read and set the generated environment variables to end build tracing. This is done in PowerShell in this example. +- task: PowerShell@1 + displayName: Clear CodeQL environment variables + inputs: + targetType: inline + script: > + $json = Get-Content $(System.DefaultWorkingDirectory)/db/temp/tracingEnvironment/end-tracing.json | ConvertFrom-Json + $json.PSObject.Properties | ForEach-Object { + $template = "##vso[task.setvariable variable=" + $template += $_.Name + $template += "]" + $template += $_.Value + echo "$template" + } + +# Use `codeql database finalize` to complete database creation after the build is done. +- task: CmdLine@2 + displayName: Finalize CodeQL database + inputs: + script: 'codeql database finalize /codeql-dbs/example-repo' + + +# Analyze the database and upload the results. +- task: CmdLine@2 + displayName: Analyze CodeQL database + inputs: + script: 'codeql database analyze /codeql-dbs/example-repo csharp-code-scanning.qls --sarif-category=csharp --format=sarif-latest --output=/temp/example-repo-csharp.sarif' + +- task: CmdLine@2 + displayName: Upload CodeQL results + inputs: + script: 'echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-csharp.sarif --github-auth-stdin' + +``` + +### Multiple languages using autobuild (C++, Python) + +This example is not strictly possible with the {% data variables.product.prodname_codeql_runner %}. +Only one language (the compiled language with the most files) will be analyzed. + +Runner: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages cpp,python \ + --github-url https://github.com --github-auth-stdin + +# Source the script generated by the init step to set up the environment to monitor the build. +. codeql-runner/codeql-env.sh + +# Run the autobuilder for the language with the most files. +codeql-runner-linux autobuild + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo + --github-url https://github.com --github-auth-stdin + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` + +CLI: +```bash +# Create multiple databases using `--db-cluster`. +# Run autobuild by omitting `--command`. +codeql database create /codeql-dbs/example-repo-multi \ + --db-cluster --language cpp,python \ + --no-run-unnecessary-builds \ + --source-root . + +# Analyze each database in turn and upload the results. +for language in cpp python; do + codeql database analyze "/codeql-dbs/example-repo-multi/$language" \ + "$language-code-scanning.qls" --sarif-category="$language" + --format=sarif-latest --output="/temp/example-repo-$language.sarif" + + echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif="/temp/example-repo-$language.sarif" --github-auth-stdin +done +``` + +### Multiple languages using a custom build command (C++, Python) + +Runner: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages cpp,python \ + --github-url https://github.com --github-auth-stdin + +# Source the script generated by the init step to set up the environment to monitor the build. +. codeql-runner/codeql-env.sh + +# Run a custom build command. +make + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo + --github-url https://github.com --github-auth-stdin + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` + +CLI: +```bash +# Create multiple databases using `--db-cluster`. +codeql database create /codeql-dbs/example-repo-multi \ + --db-cluster --language cpp,python \ + --command make --no-run-unnecessary-builds \ + --source-root . + +# Analyze each database in turn and upload the results. +for language in cpp python; do + codeql database analyze "/codeql-dbs/example-repo-multi/$language" \ + "$language-code-scanning.qls" --sarif-category="$language" + --format=sarif-latest --output="/temp/example-repo-$language.sarif" + + echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif="/temp/example-repo-$language.sarif" --github-auth-stdin +done +``` diff --git a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system.md b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system.md index 6f98a64a0c..991e714857 100644 --- a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system.md +++ b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system.md @@ -27,7 +27,7 @@ topics: -{% data reusables.code-scanning.beta-codeql-runner %} +{% data reusables.code-scanning.deprecation-codeql-runner %} {% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning %} @@ -36,7 +36,7 @@ topics: The {% data variables.product.prodname_codeql_runner %} is a tool you can use to run {% data variables.product.prodname_code_scanning %} on code that you're processing in a third-party continuous integration (CI) system. {% data reusables.code-scanning.about-code-scanning %} For information, see "[About {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)." {% ifversion fpt or ghes > 3.0 or ghae-next %} -In many cases it is easier to set up {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} using the {% data variables.product.prodname_codeql_cli %} directly in your CI system. The runner is more complex and less forgiving to set up than the CLI, and is recommended only if you need its capability to analyze multiple compiled languages with a single build, or to integrate with complex build processes. For more information, see "[About CodeQL code scanning in your CI system](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)". +In many cases it is easier to set up {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} using the {% data variables.product.prodname_codeql_cli %} directly in your CI system. {% endif %} Alternatively, you can use {% data variables.product.prodname_actions %} to run {% data variables.product.prodname_code_scanning %} within {% data variables.product.product_name %}. For information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)." diff --git a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system.md b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system.md index 13dafa64d7..294c91db52 100644 --- a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system.md +++ b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system.md @@ -24,7 +24,7 @@ topics: --- -{% data reusables.code-scanning.beta-codeql-runner %} +{% data reusables.code-scanning.deprecation-codeql-runner %} {% data reusables.code-scanning.beta %} {% data reusables.code-scanning.not-available %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md index 0cfca29234..1a043e5f75 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md @@ -13,7 +13,7 @@ redirect_from: --- -{% data reusables.code-scanning.beta-codeql-runner %} +{% data reusables.code-scanning.deprecation-codeql-runner %} {% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md index b674fdcb68..6708acd132 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md @@ -13,7 +13,7 @@ redirect_from: -{% data reusables.code-scanning.beta-codeql-runner %} +{% data reusables.code-scanning.deprecation-codeql-runner %} {% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md index 9aaa429f76..68228a47f8 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md @@ -12,7 +12,7 @@ redirect_from: --- -{% data reusables.code-scanning.beta-codeql-runner %} +{% data reusables.code-scanning.deprecation-codeql-runner %} {% data reusables.code-scanning.beta %} {% data reusables.code-scanning.not-available %} diff --git a/data/reusables/code-scanning/beta-codeql-runner.md b/data/reusables/code-scanning/beta-codeql-runner.md deleted file mode 100644 index f9aeedaa02..0000000000 --- a/data/reusables/code-scanning/beta-codeql-runner.md +++ /dev/null @@ -1,9 +0,0 @@ -{% ifversion fpt %} - -{% note %} - -**Note:** The {% data variables.product.prodname_codeql_runner %} is currently in beta and subject to change. - -{% endnote %} - -{% endif %} diff --git a/data/reusables/code-scanning/deprecation-codeql-runner.md b/data/reusables/code-scanning/deprecation-codeql-runner.md new file mode 100644 index 0000000000..2583a9304c --- /dev/null +++ b/data/reusables/code-scanning/deprecation-codeql-runner.md @@ -0,0 +1,7 @@ +{% note %} + +**Note:** The {% data variables.product.prodname_codeql_runner %} is being deprecated. Please use the [{% data variables.product.prodname_codeql_cli %}](https://github.com/github/codeql-cli-binaries/releases) version 2.6.2 or greater instead. +{% data variables.product.prodname_ghe_server %} 3.3 will be the final release series that supports the {% data variables.product.prodname_codeql_runner %}. On {% data variables.product.prodname_ghe_cloud %}, the {% data variables.product.prodname_codeql_runner %} will be supported until March 2022. +For more information, see [the CodeQL runner deprecation](https://github.blog/changelog/2021-09-21-codeql-runner-deprecation/). + +{% endnote %} diff --git a/tests/meta/repository-references.js b/tests/meta/repository-references.js index ba33364d9f..c1e75e11d2 100644 --- a/tests/meta/repository-references.js +++ b/tests/meta/repository-references.js @@ -12,6 +12,7 @@ const ALLOW_LIST = new Set([ 'backup-utils', 'codeql-action-sync-tool', 'codeql-action', + 'codeql-cli-binaries', 'platform-samples', 'github-services', 'explore', From 9ba2e1dd41970fb0915a6b41c3313c68dc02a850 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Tue, 21 Sep 2021 14:20:15 -0700 Subject: [PATCH 06/14] Refactor repo ref tests (#21631) * Refactor repo ref tests * Update repository-references.js * Update repository-references.js * Update repository-references.js * Update repository-references.js --- package-lock.json | 7 ++- package.json | 1 + tests/meta/repository-references.js | 93 ++++++++++++++++++----------- 3 files changed, 64 insertions(+), 37 deletions(-) diff --git a/package-lock.json b/package-lock.json index 371d2f072b..6ae5728a7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -82,7 +82,6 @@ "remark-rehype": "^9.0.0", "revalidator": "^0.3.1", "rss-parser": "^3.12.0", - "run-script-os": "^1.1.6", "scroll-anchoring": "^0.1.0", "semver": "^7.3.5", "slash": "^4.0.0", @@ -153,6 +152,7 @@ "linkinator": "^2.14.0", "lint-staged": "^11.1.2", "make-promises-safe": "^5.1.0", + "minimatch": "^3.0.4", "mkdirp": "^1.0.4", "mock-express-response": "^0.3.0", "mockdate": "^3.0.5", @@ -165,6 +165,7 @@ "replace": "^1.2.1", "rimraf": "^3.0.2", "robots-parser": "^2.3.0", + "run-script-os": "^1.1.6", "sass": "^1.39.2", "start-server-and-test": "^1.14.0", "strip-ansi": "^7.0.1", @@ -21072,6 +21073,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz", "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==", + "dev": true, "bin": { "run-os": "index.js", "run-script-os": "index.js" @@ -41657,7 +41659,8 @@ "run-script-os": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz", - "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==" + "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==", + "dev": true }, "rxjs": { "version": "6.6.7", diff --git a/package.json b/package.json index 8d8213e6bd..b9e5f9aef1 100644 --- a/package.json +++ b/package.json @@ -154,6 +154,7 @@ "linkinator": "^2.14.0", "lint-staged": "^11.1.2", "make-promises-safe": "^5.1.0", + "minimatch": "^3.0.4", "mkdirp": "^1.0.4", "mock-express-response": "^0.3.0", "mockdate": "^3.0.5", diff --git a/tests/meta/repository-references.js b/tests/meta/repository-references.js index c1e75e11d2..0c83d37e4c 100644 --- a/tests/meta/repository-references.js +++ b/tests/meta/repository-references.js @@ -1,10 +1,21 @@ import walkSync from 'walk-sync' import readFileAsync from '../../lib/readfile-async.js' +import minimatch from 'minimatch' -const REPO_REGEXP = /\/\/github\.com\/github\/(?!docs[/'"\n])([\w-.]+)/gi +/* +This test exists to make sure we don't reference private GitHub owned repositories +in our open-source repository. + +If this test is failing... +(1) edit the file to remove the reference; or +(2) the repository is public, + add the repository name to PUBLIC_REPOS; or +(3) the feature references a docs repository, + add the file name to ALLOW_DOCS_PATHS. +*/ // These are a list of known public repositories in the GitHub organization -const ALLOW_LIST = new Set([ +const PUBLIC_REPOS = new Set([ 'site-policy', 'roadmap', 'linguist', @@ -37,49 +48,61 @@ const ALLOW_LIST = new Set([ 'localization-support', 'docs', 'securitylab', + 'hello-world', + 'hello-world.git', + 'insights-releases', + 'help-docs-archived-enterprise-versions', ]) -describe('check if a GitHub-owned private repository is referenced', () => { - // This tests exists to make sure we don't reference private GitHub owned repositories - // in our open-source repository. If this is failing, and the repo is public, - // feel free to add it to the list above. Or if the feature requires referencing an - // internal repo, add the feature to the ignore list below. +const ALLOW_DOCS_PATHS = [ + '.github/actions-scripts/enterprise-server-issue-templates/*.md', + '.github/review-template.md', + '.github/workflows/sync-search-indices.yml', + 'contributing/search.md', + 'lib/rest/**/*.json', + 'lib/webhooks/**/*.json', + 'ownership.yaml', + 'docs/index.yaml', + 'lib/excluded-links.js', + 'script/deploy.js', + 'script/README.md', +] +const REPO_REGEXP = /\/\/github\.com\/github\/(?!docs[/'"\n])([\w-.]+)/gi + +const IGNORE_PATHS = [ + '.git', + '.next', + 'node_modules', + 'translations', + '**/*.png', // Do not check images or font files. + '**/*.jpg', // We could just put all of assets/* here, but that would prevent any + '**/*.gif', // READMEs or other text-based files from being checked. + '**/*.pdf', + '**/*.ico', + '**/*.woff', + + 'content/early-access', // Not committed to public repository. + 'data/early-access', // Not committed to public repository. + 'data/release-notes', // These include links to many internal issues in Liquid comments. +] + +describe('check if a GitHub-owned private repository is referenced', () => { const filenames = walkSync(process.cwd(), { directories: false, - ignore: [ - '.git', - '.github/actions-scripts/enterprise-server-issue-templates/*.md', - '.github/review-template.md', - '.github/workflows/sync-search-indices.yml', - '.next', - 'contributing/search.md', - 'node_modules', - 'translations', - 'lib/rest/**/*.json', - 'lib/webhooks/**/*.json', - 'ownership.yaml', - 'docs/index.yaml', - 'lib/excluded-links.js', - 'content/early-access', - 'data/early-access', - 'data/release-notes', // These include links to internal issues in Liquid comments. - '**/*.png', // Do not check images or font files. - '**/*.jpg', // We could just put all of assets/* here, but that would prevent any - '**/*.gif', // READMEs or other text-based files from being checked. - '**/*.pdf', - '**/*.ico', - '**/*.woff', - 'script/deploy.js', - 'script/README.md', - ], + ignore: IGNORE_PATHS, }) test.each(filenames)('in file %s', async (filename) => { const file = await readFileAsync(filename, 'utf8') + const allowDocs = ALLOW_DOCS_PATHS.some((path) => minimatch(filename, path)) const matches = Array.from(file.matchAll(REPO_REGEXP)) .map(([, repoName]) => repoName) - .filter((repoName) => !ALLOW_LIST.has(repoName)) - expect(matches).toHaveLength(0) + .filter((repoName) => !PUBLIC_REPOS.has(repoName)) + .filter((repoName) => !(allowDocs && repoName.startsWith('docs'))) + expect( + matches, + `Please edit ${filename} to remove references to ${matches.join(', ')}` + ).toHaveLength(0) }) }) From d2199e3deb847e27da9b9d3ffab79bfb5eed7b73 Mon Sep 17 00:00:00 2001 From: Mike Surowiec Date: Tue, 21 Sep 2021 18:14:38 -0400 Subject: [PATCH 07/14] Use Doctocat link header style (#21615) * update autolinkHeadings to use Doctocat link header style * fix header link test * update graphql/rest rendering to use doctocat header link * fix: miniToc issue with stray anchor Co-authored-by: Rachael Sewell --- .../MarkdownContent.module.scss | 22 ++ content/rest/reference/pulls.md | 2 - includes/doctocat-link-icon.html | 15 + includes/graphql-enum.html | 20 +- includes/graphql-input-object.html | 15 +- includes/graphql-interface.html | 47 +-- includes/graphql-mutation.html | 19 +- includes/graphql-object.html | 41 +-- includes/graphql-query.html | 24 +- includes/graphql-scalar.html | 11 +- includes/graphql-union.html | 26 +- includes/rest_operation.html | 270 +++++++++--------- lib/get-mini-toc-items.js | 11 +- lib/render-content/create-processor.js | 7 +- lib/render-content/doctocat-link-icon.js | 21 ++ tests/unit/render-content.js | 41 +-- 16 files changed, 324 insertions(+), 268 deletions(-) create mode 100644 includes/doctocat-link-icon.html create mode 100644 lib/render-content/doctocat-link-icon.js diff --git a/components/ui/MarkdownContent/MarkdownContent.module.scss b/components/ui/MarkdownContent/MarkdownContent.module.scss index f4627de704..5e59f41242 100644 --- a/components/ui/MarkdownContent/MarkdownContent.module.scss +++ b/components/ui/MarkdownContent/MarkdownContent.module.scss @@ -24,6 +24,28 @@ } } + h1, + h2, + h3, + h4, + h5, + h6 { + &:hover { + [class~="octicon-link"] { + visibility: visible !important; + } + } + & > a[class~="doctocat-link"] { + padding: 8px; + margin-left: -32px; + color: var(--color-text-secondary); + &:active, + &:focus { + outline: none; + } + } + } + [class~="note"], [class~="tip"], [class~="warning"], diff --git a/content/rest/reference/pulls.md b/content/rest/reference/pulls.md index 269a46e146..fd4f1b9b0a 100644 --- a/content/rest/reference/pulls.md +++ b/content/rest/reference/pulls.md @@ -29,8 +29,6 @@ These are the supported media types for pull requests. For more information, see "[Custom media types](/rest/overview/media-types)." - - If a diff is corrupt, contact {% data variables.contact.contact_support %}. Include the repository name and pull request ID in your message. ### Link Relations diff --git a/includes/doctocat-link-icon.html b/includes/doctocat-link-icon.html new file mode 100644 index 0000000000..4d02844269 --- /dev/null +++ b/includes/doctocat-link-icon.html @@ -0,0 +1,15 @@ + + + \ No newline at end of file diff --git a/includes/graphql-enum.html b/includes/graphql-enum.html index cfc1628b68..2d8c0e93a8 100644 --- a/includes/graphql-enum.html +++ b/includes/graphql-enum.html @@ -1,20 +1,20 @@

- {{item.name}} + {% include doctocat-link-icon %} + {{- item.name -}}

- {{ item.description }} + {{ item.description }}
- {% include graphql-preview %} - {% include graphql-deprecation %} + {% include graphql-preview %} {% include graphql-deprecation %} -

{% data ui.products.graphql.reference.values %}

- {% for value in item.values %} -

{{ value.name }}

-

{{ value.description }}

- {% endfor %} +

{% data ui.products.graphql.reference.values %}

+ {% for value in item.values %} +

{{ value.name }}

+

{{ value.description }}

+ {% endfor %}
-
+
diff --git a/includes/graphql-input-object.html b/includes/graphql-input-object.html index 8bc2b6b6f3..3e6f16225e 100644 --- a/includes/graphql-input-object.html +++ b/includes/graphql-input-object.html @@ -1,18 +1,17 @@

- {{item.name}} + {% include doctocat-link-icon %} + {{- item.name -}}

- {{ item.description }} + {{ item.description }}
- {% include graphql-preview %} - {% include graphql-deprecation %} + {% include graphql-preview %} {% include graphql-deprecation %} -

{% data ui.products.graphql.reference.input_fields %}

- {% assign fields = item.inputFields %} - {% include graphql-fields %} +

{% data ui.products.graphql.reference.input_fields %}

+ {% assign fields = item.inputFields %} {% include graphql-fields %}
-
+
diff --git a/includes/graphql-interface.html b/includes/graphql-interface.html index 2f22f00643..e997e0f896 100644 --- a/includes/graphql-interface.html +++ b/includes/graphql-interface.html @@ -1,34 +1,35 @@

- {{item.name}} + {% include doctocat-link-icon %} + {{- item.name -}}

- {{ item.description }} + {{ item.description }}
- {% include graphql-preview %} - {% include graphql-deprecation %} + {% include graphql-preview %} {% include graphql-deprecation %} - - -

{% data ui.products.graphql.reference.implemented_by %}

-
    - - {% for object in graphql.schemaForCurrentVersion.objects %} - {% for interface in object.implements %} - {% if interface.name == item.name %} -
  • {{ object.name }}
  • - {% endif %} - {% endfor %} - {% endfor %} -
+ + +

{% data ui.products.graphql.reference.implemented_by %}

+
    + + {% for object in graphql.schemaForCurrentVersion.objects %} {% for + interface in object.implements %} {% if interface.name == item.name %} +
  • + {{ object.name }} +
  • + {% endif %} {% endfor %} {% endfor %} +
- {% if item.fields %} -

{% data ui.products.graphql.reference.fields %}

- {% assign fields = item.fields %} - {% include graphql-fields %} - {% endif %} + {% if item.fields %} +

{% data ui.products.graphql.reference.fields %}

+ {% assign fields = item.fields %} {% include graphql-fields %} {% endif %}
-
+
diff --git a/includes/graphql-mutation.html b/includes/graphql-mutation.html index 82b058a608..6824f56685 100644 --- a/includes/graphql-mutation.html +++ b/includes/graphql-mutation.html @@ -1,21 +1,16 @@

- {{item.name}} + {% include doctocat-link-icon %} + {{- item.name -}}

- {{ item.description }} + {{ item.description }}
- {% include graphql-preview %} - {% include graphql-deprecation %} - - {% assign inputFields = item.inputFields %} - {% assign returnFields = item.returnFields %} - - {% include graphql-input-fields %} - - {% include graphql-return-fields %} + {% include graphql-preview %} {% include graphql-deprecation %} {% assign + inputFields = item.inputFields %} {% assign returnFields = item.returnFields + %} {% include graphql-input-fields %} {% include graphql-return-fields %}
-
+
diff --git a/includes/graphql-object.html b/includes/graphql-object.html index bcd5dbed3a..99701a43c4 100644 --- a/includes/graphql-object.html +++ b/includes/graphql-object.html @@ -1,29 +1,30 @@

- {{ item.name }} + {% include doctocat-link-icon %} + {{- item.name -}}

- {{ item.description }} + {{ item.description }}
- {% include graphql-preview %} - {% include graphql-deprecation %} - - {% if item.implements %} -

{% data ui.products.graphql.reference.implements %}

- - {% endif %} - - {% if item.fields %} -

{% data ui.products.graphql.reference.fields %}

- {% assign fields = item.fields %} - {% include graphql-fields %} - {% endif %} + {% include graphql-preview %} {% include graphql-deprecation %} {% if + item.implements %} +

{% data ui.products.graphql.reference.implements %}

+ + {% endif %} {% if item.fields %} +

{% data ui.products.graphql.reference.fields %}

+ {% assign fields = item.fields %} {% include graphql-fields %} {% endif %}
-
+
diff --git a/includes/graphql-query.html b/includes/graphql-query.html index b09e35f243..cf7cf64675 100644 --- a/includes/graphql-query.html +++ b/includes/graphql-query.html @@ -1,21 +1,21 @@

- {{item.name}} + {% include doctocat-link-icon %} + {{- item.name -}}

-

{% data ui.products.graphql.reference.type %}: {{ item.type }}

- {{ item.description }} +

+ {% data ui.products.graphql.reference.type %}: + {{ item.type }} +

+ {{ item.description }}
- {% include graphql-preview %} - {% include graphql-deprecation %} - - {% if item.args.size %} -

{% data ui.products.graphql.reference.arguments %}

- {% assign fields = item.args %} - {% include graphql-fields %} - {% endif %} + {% include graphql-preview %} {% include graphql-deprecation %} {% if + item.args.size %} +

{% data ui.products.graphql.reference.arguments %}

+ {% assign fields = item.args %} {% include graphql-fields %} {% endif %}
-
+
diff --git a/includes/graphql-scalar.html b/includes/graphql-scalar.html index c17bfcc819..4516d9195d 100644 --- a/includes/graphql-scalar.html +++ b/includes/graphql-scalar.html @@ -1,13 +1,12 @@

- {{item.name}} + {% include doctocat-link-icon %} + {{- item.name -}}

- {{ item.description }} - - {% include graphql-preview %} - {% include graphql-deprecation %} + {{ item.description }} {% include graphql-preview %} {% include + graphql-deprecation %}
-
+
diff --git a/includes/graphql-union.html b/includes/graphql-union.html index 3e6b6602c1..c2d740885d 100644 --- a/includes/graphql-union.html +++ b/includes/graphql-union.html @@ -1,21 +1,25 @@

- {{item.name}} + {% include doctocat-link-icon %} + {{- item.name -}}

- {{ item.description }} + {{ item.description }}
- {% include graphql-preview %} - {% include graphql-deprecation %} + {% include graphql-preview %} {% include graphql-deprecation %} -

{% data ui.products.graphql.reference.possible_types %}

- +

{% data ui.products.graphql.reference.possible_types %}

+
-
+
diff --git a/includes/rest_operation.html b/includes/rest_operation.html index 50a5a079a3..8a5e13c2ca 100644 --- a/includes/rest_operation.html +++ b/includes/rest_operation.html @@ -1,151 +1,161 @@
-

- {{operation.summary}} +

+ {% include doctocat-link-icon %} + {{ operation.summary }}

{{operation.descriptionHTML}}
{{operation.verb}} {{operation.requestPath}}
- {%- if operation.parameters.size > 0 or operation.bodyParameters.size > 0 -%} -

- {%- data ui.products.rest.reference.parameters -%} -

- - - - - - - - - - - - - - - - - - {%- for param in operation.parameters -%} - - - - - - - {%- endfor -%} - {%- for bodyParam in operation.bodyParameters -%} - - - - - + + + + - - {%- if bodyParam.childParamsGroups.size > 0 -%} - - + + {%- for param in operation.parameters -%} + + + + + + + {%- endfor -%} {%- for bodyParam in operation.bodyParameters -%} + + + + + + + {%- if bodyParam.childParamsGroups.size > 0 -%} + + +
NameTypeInDescription
acceptstringheader -

- {%- if operation.hasRequiredPreviews -%} - This API is under preview and subject to change. - {%- else -%} - Setting to application/vnd.github.v3+json is recommended. - {%- endif -%} - {%- if operation.x-github.previews.size > 0 -%} - - {%- if operation.x-github.previews.size > 1 -%} - {%- data ui.products.rest.reference.see_preview_notices -%} - {%- else -%} - {%- data ui.products.rest.reference.see_preview_notice -%} - {%- endif -%} - - {%- endif -%} -

-
{{ param.name }}{{ param.schema.type }}{{ param.in }} - {{ param.descriptionHTML }} - {%- if param.schema.default != nil -%} - Default: {{ param.schema.default }} - {%- endif -%} -
{{ bodyParam.name }}{{ bodyParam.type }}{{ bodyParam.in }} - {{ bodyParam.description }} - {%- if bodyParam.default != nil -%} - Default: {{ bodyParam.default }} +
acceptstringheader +

+ {%- if operation.hasRequiredPreviews -%} This API is under preview + and subject to change. {%- else -%} Setting to + application/vnd.github.v3+json is recommended. {%- + endif -%} {%- if operation.x-github.previews.size > 0 -%} + + {%- if operation.x-github.previews.size > 1 -%} {%- data + ui.products.rest.reference.see_preview_notices -%} {%- else -%} + {%- data ui.products.rest.reference.see_preview_notice -%} {%- + endif -%} + {%- endif -%} -

+

+
{{ param.name }}{{ param.schema.type }}{{ param.in }} + {{ param.descriptionHTML }} {%- if param.schema.default != nil -%} + Default: {{ param.schema.default }} + {%- endif -%} +
{{ bodyParam.name }}{{ bodyParam.type }}{{ bodyParam.in }} + {{ bodyParam.description }} {%- if bodyParam.default != nil -%} + Default: {{ bodyParam.default }} + {%- endif -%} +
{%- for childParamsGroup in bodyParam.childParamsGroups -%}
- Properties of the {{ childParamsGroup.parentName }} {{ childParamsGroup.parentType }} - - - {%- for childParam in childParamsGroup.params -%} + + Properties of the + {{ childParamsGroup.parentName }} {{ + childParamsGroup.parentType }} + +
+ + {%- for childParam in childParamsGroup.params -%} - + - {%- endfor -%} - -
{{ childParam.name }} ({{ childParam.type }}) + {{ childParam.name }} ({{ childParam.type }}) + {{ childParam.description }}
+ {%- endfor -%} +
{%- endfor -%} - - - {%- endif -%} - {%- endfor -%} - - - {%- endif -%} - {%- if operation.x-codeSamples.size > 0 -%} -

- {%- data ui.products.rest.reference.code_samples -%} -

- {%- for sample in operation.x-codeSamples -%} - {%- unless sample.lang == "Ruby" -%} -
- {%- if sample.lang == "JavaScript" -%} - {{sample.lang}} (@octokit/core.js) - {%- else -%} - {{sample.lang}} - {%- endif -%} -
- {{sample.html}} - {%- endunless -%} + + + {%- endif -%} {%- endfor -%} + + + {%- endif -%} {%- if operation.x-codeSamples.size > 0 -%} +

+ {%- data ui.products.rest.reference.code_samples -%} +

+ {%- for sample in operation.x-codeSamples -%} {%- unless sample.lang == + "Ruby" -%} +
+ {%- if sample.lang == "JavaScript" -%} {{sample.lang}} (@octokit/core.js) {%- else -%} {{sample.lang}} {%- endif -%} +
+ {{sample.html}} {%- endunless -%} {%- endfor -%} {%- endif -%} {%- for + response in operation.responses -%} +

{{ response.description }}

+
Status: {{ response.httpStatusCode }} {{ response.httpStatusMessage }}
+
{{ response.payload }}
+ {%- endfor -%} {%- if operation.notes.size > 0 or + operation.x-github.enabledForGitHubApps -%} +

Notes

+
    + {%- if operation.x-github.enabledForGitHubApps -%} +
  • Works with GitHub Apps
  • + {%- endif -%} {%- for note in operation.notes -%} +
  • {{ note }}
  • {%- endfor -%} - {%- endif -%} - {%- for response in operation.responses -%} -

    {{ response.description }}

    -
    Status: {{ response.httpStatusCode }} {{ response.httpStatusMessage }}
    -
    {{ response.payload }}
    - {%- endfor -%} - {%- if operation.notes.size > 0 or operation.x-github.enabledForGitHubApps -%} -

    Notes

    -
      - {%- if operation.x-github.enabledForGitHubApps -%} -
    • Works with GitHub Apps
    • - {%- endif -%} - {%- for note in operation.notes -%} -
    • {{ note }}
    • - {%- endfor -%} -
    - {%- endif -%} - {%- if operation.x-github.previews.size > 0 -%} -

    - {%- if operation.x-github.previews.size > 1 -%} - {%- data ui.products.rest.reference.preview_notices -%} - {%- else -%} - {%- data ui.products.rest.reference.preview_notice -%} - {%- endif -%} -

    - {%- for preview in operation.x-github.previews -%} -
    - {{ preview.html }} - {%- if preview.required -%}☝️ {%- data ui.products.rest.reference.preview_header_is_required -%}.{%- endif -%} -
    - {%- endfor -%} - {%- endif -%} +
+ {%- endif -%} {%- if operation.x-github.previews.size > 0 -%} +

+ {%- if operation.x-github.previews.size > 1 -%} {%- data + ui.products.rest.reference.preview_notices -%} {%- else -%} {%- data + ui.products.rest.reference.preview_notice -%} {%- endif -%} +

+ {%- for preview in operation.x-github.previews -%} +
+ {{ preview.html }} {%- if preview.required -%}☝️ {%- data + ui.products.rest.reference.preview_header_is_required -%}.{%- endif -%} +
+ {%- endfor -%} {%- endif -%}
-
+
diff --git a/lib/get-mini-toc-items.js b/lib/get-mini-toc-items.js index e45652f1dd..6dadf742ba 100644 --- a/lib/get-mini-toc-items.js +++ b/lib/get-mini-toc-items.js @@ -25,12 +25,17 @@ export default function getMiniTocItems(html, maxHeadingLevel = 2, headingScope }) .map((item) => { // remove any tags including their content - $('span').remove() + $('span', item).remove() + + // Capture the anchor tag nested within the header, get its href and remove it + const anchor = $('a.doctocat-link', item) + const href = anchor.attr('href') + anchor.remove() // remove any tags but leave content - $('strong').map((i, el) => $(el).replaceWith($(el).contents())) + $('strong', item).map((i, el) => $(el).replaceWith($(el).contents())) - const contents = $(item).html() + const contents = `${$(item).html()}` const headingLevel = Number($(item)[0].name.replace(/^h/, '')) // the `2` from `h2` const platform = $(item).parent('.extended-markdown').attr('class') return { contents, headingLevel, platform } diff --git a/lib/render-content/create-processor.js b/lib/render-content/create-processor.js index c09a9fe1a2..c010e0bae3 100644 --- a/lib/render-content/create-processor.js +++ b/lib/render-content/create-processor.js @@ -21,6 +21,7 @@ import rewriteLocalLinks from './plugins/rewrite-local-links.js' import useEnglishHeadings from './plugins/use-english-headings.js' import rewriteLegacyAssetPaths from './plugins/rewrite-legacy-asset-paths.js' import wrapInElement from './plugins/wrap-in-element.js' +import doctocatLinkIcon from './doctocat-link-icon.js' const graphql = HighlightjsGraphql.definer export default function createProcessor(context) { @@ -32,7 +33,11 @@ export default function createProcessor(context) { .use(remark2rehype, { allowDangerousHtml: true }) .use(slug) .use(useEnglishHeadings, context) - .use(autolinkHeadings, { behavior: 'wrap' }) + .use(autolinkHeadings, { + behavior: 'prepend', + properties: { ariaHidden: true, tabIndex: -1, class: 'doctocat-link' }, + content: doctocatLinkIcon, + }) .use(highlight, { languages: { graphql, dockerfile, http, groovy, erb, powershell }, subset: false, diff --git a/lib/render-content/doctocat-link-icon.js b/lib/render-content/doctocat-link-icon.js new file mode 100644 index 0000000000..2f48d141df --- /dev/null +++ b/lib/render-content/doctocat-link-icon.js @@ -0,0 +1,21 @@ +import { h } from 'hastscript' + +export default h( + 'svg', + { + ariaHidden: true, + role: 'img', + class: 'octicon-link', + viewBox: '0 0 16 16', + width: '16', + height: '16', + fill: 'currentColor', + style: 'display:inline-block;user-select:none;vertical-align:middle', + }, + [ + h('path', { + fillRule: 'evenodd', + d: 'M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z', + }), + ] +) diff --git a/tests/unit/render-content.js b/tests/unit/render-content.js index 10b6a5cf42..8d560771b7 100644 --- a/tests/unit/render-content.js +++ b/tests/unit/render-content.js @@ -165,43 +165,24 @@ describe('renderContent', () => { test('renders headings at the right level', async () => { const template = nl(` -# This is a level one +# This is a level 1 -## This is a level two +## This is a level 2 -### This is a level three +### This is a level 3 -#### This is a level four +#### This is a level 4 -##### This is a level five +##### This is a level 5 `) const html = await renderContent(template) const $ = cheerio.load(html, { xmlMode: true }) - expect( - $.html().includes( - '

This is a level one

' - ) - ).toBeTruthy() - expect( - $.html().includes( - '

This is a level two

' - ) - ).toBeTruthy() - expect( - $.html().includes( - '

This is a level three

' - ) - ).toBeTruthy() - expect( - $.html().includes( - '

This is a level four

' - ) - ).toBeTruthy() - expect( - $.html().includes( - '
This is a level five
' - ) - ).toBeTruthy() + + ;[1, 2, 3, 4, 5].forEach((level) => { + expect( + $(`h${level}#this-is-a-level-${level} a[href="#this-is-a-level-${level}"]`).length + ).toBe(1) + }) }) test('does syntax highlighting', async () => { From 1b151696f03cdf00047d5d0fc271ed54a52da1d6 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Tue, 21 Sep 2021 16:14:34 -0700 Subject: [PATCH 08/14] Indirect build tracing for CodeQL CLI (#21442) * Add information about using indirect build tracing * Version info for recommending CodeQL CLI vs Runner * Add reviewer feedback * Remove extraneous liquid tag * update note with info about CodeQL runner deprecation * re-add info removed by merging in `main` and fixing merge conflicts * add deprecation note for GHES 3.2 versioned content --- ...out-codeql-code-scanning-in-your-ci-system.md | 9 ++++++++- .../configuring-codeql-cli-in-your-ci-system.md | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md index e08769d6d1..598983cded 100644 --- a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md +++ b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md @@ -31,8 +31,8 @@ redirect_from: You can run {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} within {% data variables.product.product_name %} using {% data variables.product.prodname_actions %}. Alternatively, if you use a third-party continuous integration or continuous delivery/deployment (CI/CD) system, you can run {% data variables.product.prodname_codeql %} analysis in your existing system and upload the results to {% data variables.product.product_location %}. - {% ifversion fpt or ghes > 3.1 or ghae-next %} + You add the {% data variables.product.prodname_codeql_cli %} to your third-party system, then call the tool to analyze code and upload the SARIF results to {% data variables.product.product_name %}. The resulting {% data variables.product.prodname_code_scanning %} alerts are shown alongside any alerts generated within {% data variables.product.product_name %}. @@ -52,8 +52,15 @@ For more information, see "[Installing {% data variables.product.prodname_codeql {% data reusables.code-scanning.licensing-note %} +{% ifversion ghes = 3.2 %} + + {% data reusables.code-scanning.use-codeql-runner-not-cli %} +{% data reusables.code-scanning.deprecation-codeql-runner %} + +{% endif %} + {% endif %} diff --git a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md index 1e1c5a2a57..ec25071d75 100644 --- a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md +++ b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md @@ -325,6 +325,22 @@ By default, {% data variables.product.prodname_code_scanning %} expects one SARI If you want to upload more than one set of results to the {% data variables.product.prodname_code_scanning %} API for a commit in a repository, you must identify each set of results as a unique set. For repositories where you create more than one {% data variables.product.prodname_codeql %} database to analyze for each commit, use the `--sarif-category` option to specify a language or other unique category for each SARIF file that you generate for that repository. +### Alternative if your CI system cannot trigger the {% data variables.product.prodname_codeql_cli %} + +{% ifversion fpt or ghes > 3.2 or ghae-next %} + +If your CI system cannot trigger the {% data variables.product.prodname_codeql_cli %} autobuild and you cannot specify a command line for the build, you can use indirect build tracing to create {% data variables.product.prodname_codeql %} databases for compiled languages. For more information, see [Using indirect build tracing](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/#using-indirect-build-tracing) in the documentation for the {% data variables.product.prodname_codeql_cli %}. + +{% endif %} + +{% ifversion ghes < 3.3 %} + +{% data reusables.code-scanning.use-codeql-runner-not-cli %} + +{% data reusables.code-scanning.deprecation-codeql-runner %} + +{% endif %} + {% endif %} ## Further reading From e0bd3c8a53e84382b8571304533f7845b36ab621 Mon Sep 17 00:00:00 2001 From: chiph Date: Tue, 21 Sep 2021 18:57:49 -0500 Subject: [PATCH 09/14] Add link to Importer tool to top of page (#21545) * Add link to Importer tool to top of page A lot of customers find themselves on this doc when wanting to import/move their repositories from bitbucket/gitlab * Update duplicating-a-repository.md * style new content as a note Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> --- .../duplicating-a-repository.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md b/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md index ac5642672d..c8d45105d6 100644 --- a/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md +++ b/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md @@ -13,6 +13,16 @@ versions: topics: - Repositories --- +{% ifversion fpt %} + +{% note %} + +**Note:** If you have a project hosted on another version control system, you can automatically import your project to {% data variables.product.prodname_dotcom %} using the {% data variables.product.prodname_dotcom %} Importer tool. For more information, see "[About {% data variables.product.prodname_dotcom %} Importer](/github/importing-your-projects-to-github/importing-source-code-to-github/about-github-importer)." + +{% endnote %} + +{% endif %} + Before you can push the original repository to your new copy, or _mirror_, of the repository, you must [create the new repository](/articles/creating-a-new-repository) on {% data variables.product.product_location %}. In these examples, `exampleuser/new-repository` or `exampleuser/mirrored` are the mirrors. ## Mirroring a repository From 51aab28175368227cd9cb31e94f8abb1418015b7 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 22 Sep 2021 02:08:45 +0000 Subject: [PATCH 10/14] update search indexes --- lib/search/indexes/github-docs-2.22-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-cn.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-de.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-en.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-es.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-ja.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-pt.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-cn.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-de.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-en.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-es.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-ja.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-pt.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-cn.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-de.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-en.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-es.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-ja.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-pt.json.br | 4 ++-- 72 files changed, 144 insertions(+), 144 deletions(-) diff --git a/lib/search/indexes/github-docs-2.22-cn-records.json.br b/lib/search/indexes/github-docs-2.22-cn-records.json.br index 1695d1e642..acf382b415 100644 --- a/lib/search/indexes/github-docs-2.22-cn-records.json.br +++ b/lib/search/indexes/github-docs-2.22-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:36deee399098c03a057c1ca7c67eaa1373cea3543b4a95cd72d0bef30c3f979f -size 506520 +oid sha256:ff01fa0cd648fb70b511227980227e0422d022da63a35d1b4592451418a97718 +size 506682 diff --git a/lib/search/indexes/github-docs-2.22-cn.json.br b/lib/search/indexes/github-docs-2.22-cn.json.br index 819ed0ebb6..852cc90e29 100644 --- a/lib/search/indexes/github-docs-2.22-cn.json.br +++ b/lib/search/indexes/github-docs-2.22-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e5e7dc58318b401b786ceee4100193aa312a150e8e2f621450ac7248a9e3318 -size 801860 +oid sha256:fb12a7f044973896f22c05f414a2f898cdc3924f3ff4473bd4518229990e42db +size 803393 diff --git a/lib/search/indexes/github-docs-2.22-de-records.json.br b/lib/search/indexes/github-docs-2.22-de-records.json.br index a243d89ba2..e3042ee7a5 100644 --- a/lib/search/indexes/github-docs-2.22-de-records.json.br +++ b/lib/search/indexes/github-docs-2.22-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0131f266a88e178218fec6217e4772d1ba9c60271fecd24f53620c865304767e -size 469272 +oid sha256:4c50f51f42d446a3225a82bde587715d82e1e7423b069aa4906527bfba7009a5 +size 469319 diff --git a/lib/search/indexes/github-docs-2.22-de.json.br b/lib/search/indexes/github-docs-2.22-de.json.br index 10071756fe..55d83c54aa 100644 --- a/lib/search/indexes/github-docs-2.22-de.json.br +++ b/lib/search/indexes/github-docs-2.22-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:20a1333c6eec041c12d287c4f2b03206f57a2ec401d03dfc9333fa2320710df3 -size 2076380 +oid sha256:214bf5c2106ad637cd1dee0defbe3c09baba454788e74d47eb7d379061dcc797 +size 2080756 diff --git a/lib/search/indexes/github-docs-2.22-en-records.json.br b/lib/search/indexes/github-docs-2.22-en-records.json.br index 20b8ec5c3d..2717904c74 100644 --- a/lib/search/indexes/github-docs-2.22-en-records.json.br +++ b/lib/search/indexes/github-docs-2.22-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fcc1f5acc403d9b722ea31be58dd8bb479fdc9a27244fb8d7c2633b77cc13a3b -size 430898 +oid sha256:969f16516f3eec2f66612ffe3e06a635a8b2b99bc2198fc1b0ebfa87646753bd +size 430208 diff --git a/lib/search/indexes/github-docs-2.22-en.json.br b/lib/search/indexes/github-docs-2.22-en.json.br index 079361cd60..65f27263a5 100644 --- a/lib/search/indexes/github-docs-2.22-en.json.br +++ b/lib/search/indexes/github-docs-2.22-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b06b28026aa9647d28a3abc8f6b067f85adeaf770e99dd324d800e5ca06de271 -size 1681809 +oid sha256:b2302defb4649e5a849c9ee01c1a366524bdcf1c4286862a1b9678ba7872a236 +size 1681903 diff --git a/lib/search/indexes/github-docs-2.22-es-records.json.br b/lib/search/indexes/github-docs-2.22-es-records.json.br index d98b596625..d5e1e35fdf 100644 --- a/lib/search/indexes/github-docs-2.22-es-records.json.br +++ b/lib/search/indexes/github-docs-2.22-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad95828602433af95d23ff0b50890404595c8028e7ba611e2996a385ac682659 -size 280241 +oid sha256:09fe50393bc15e09238928edcfda1b366a60082342ebd1ac92f06276294ea44e +size 280255 diff --git a/lib/search/indexes/github-docs-2.22-es.json.br b/lib/search/indexes/github-docs-2.22-es.json.br index 7b1406bd85..dfdfadd27d 100644 --- a/lib/search/indexes/github-docs-2.22-es.json.br +++ b/lib/search/indexes/github-docs-2.22-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6788932c0bbd1efc91dbda2d999599f58dc82f2f829e791d7696b1f82f3446da -size 1066440 +oid sha256:8faa5ace9e06ecff3cc72e523b80e91713ad0efb6fba31a55281961a589b7a16 +size 1069643 diff --git a/lib/search/indexes/github-docs-2.22-ja-records.json.br b/lib/search/indexes/github-docs-2.22-ja-records.json.br index 183f450990..75e1e8980b 100644 --- a/lib/search/indexes/github-docs-2.22-ja-records.json.br +++ b/lib/search/indexes/github-docs-2.22-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:94a4a17280a44940609b26730a4b63587250b60f12849f7e370826d25f847f28 -size 528583 +oid sha256:a73cc0fc6dab22d14a321f6744779e31fc4398c55551effe531cba2471ffff85 +size 528792 diff --git a/lib/search/indexes/github-docs-2.22-ja.json.br b/lib/search/indexes/github-docs-2.22-ja.json.br index e372936c9a..af0b3e784a 100644 --- a/lib/search/indexes/github-docs-2.22-ja.json.br +++ b/lib/search/indexes/github-docs-2.22-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ffb1e7c474a89fb7792e08d1a872ac7b562096f8873e725a7a08693429200f3 -size 2794946 +oid sha256:5b766f4d1328c995af637fed5a06417decd204826be014a0c6f076feacfd9535 +size 2799432 diff --git a/lib/search/indexes/github-docs-2.22-pt-records.json.br b/lib/search/indexes/github-docs-2.22-pt-records.json.br index ef412f2939..959e496c6e 100644 --- a/lib/search/indexes/github-docs-2.22-pt-records.json.br +++ b/lib/search/indexes/github-docs-2.22-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ebba289354cae342c1d9a9890b22397f4d38cc6d1f47da31587bca88136705c4 -size 443248 +oid sha256:e0ebb84bf546bca64009c34bcf8a962d6205a6b8a627adf1510bf5ef75c0c81b +size 443186 diff --git a/lib/search/indexes/github-docs-2.22-pt.json.br b/lib/search/indexes/github-docs-2.22-pt.json.br index 7a24e0223e..3ef5293db7 100644 --- a/lib/search/indexes/github-docs-2.22-pt.json.br +++ b/lib/search/indexes/github-docs-2.22-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c33afe1b8ab9963c207551c30f4b243aa5f362a04611b6eb2cc6bcb0bcad783e -size 1850962 +oid sha256:acbc10fe22236e8af820372a8bd63bd3145047aaa1ae75c9df6cf2ed22d4bcbf +size 1853007 diff --git a/lib/search/indexes/github-docs-3.0-cn-records.json.br b/lib/search/indexes/github-docs-3.0-cn-records.json.br index 34a5d5e935..ecf271f95a 100644 --- a/lib/search/indexes/github-docs-3.0-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.0-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c21d31068ee129c1dc0291581c17f7ecee633a6b26463cedd25974b4a136ac53 -size 524392 +oid sha256:b4e8603f0c727231f26a767d319736d7cc7378d0f0ef83ff6fb51aad38041e63 +size 524806 diff --git a/lib/search/indexes/github-docs-3.0-cn.json.br b/lib/search/indexes/github-docs-3.0-cn.json.br index ea1b616cb0..1a0f66cdcd 100644 --- a/lib/search/indexes/github-docs-3.0-cn.json.br +++ b/lib/search/indexes/github-docs-3.0-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a518b6134a01df421294e0fa2f6eca3d5a0cfd96c9b08fc73bb1749afd74e55 -size 833101 +oid sha256:cc92a98cd0227972bc18a77626fba7beaa559fc83d909b8b87c01ce5925cf8bd +size 834402 diff --git a/lib/search/indexes/github-docs-3.0-de-records.json.br b/lib/search/indexes/github-docs-3.0-de-records.json.br index fd7eb4d6d5..cb5dae26bd 100644 --- a/lib/search/indexes/github-docs-3.0-de-records.json.br +++ b/lib/search/indexes/github-docs-3.0-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1b70c8b3c6509c8f967f46710e076d1924e2175a756cc759af9e68442664879b -size 489909 +oid sha256:1468878bc15c50df45fc8e208bb53b5287e350ddc545e36739ed97ce3989d8df +size 490094 diff --git a/lib/search/indexes/github-docs-3.0-de.json.br b/lib/search/indexes/github-docs-3.0-de.json.br index bec9232d07..3f60517db7 100644 --- a/lib/search/indexes/github-docs-3.0-de.json.br +++ b/lib/search/indexes/github-docs-3.0-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f0bff5955836399f6d18493cb34b958cf0dcd06c764eef026099f68cf589c76 -size 2177421 +oid sha256:5b25d5a530cc76936fb0eebec65c7836afe8147995386a8fe33f646522786e54 +size 2179403 diff --git a/lib/search/indexes/github-docs-3.0-en-records.json.br b/lib/search/indexes/github-docs-3.0-en-records.json.br index 3e7badb396..350f488124 100644 --- a/lib/search/indexes/github-docs-3.0-en-records.json.br +++ b/lib/search/indexes/github-docs-3.0-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33124402f659eaf8a41942e3c3396726550450bfc36a6e8733f3a83fb40f6078 -size 450015 +oid sha256:055f307fdbabbbe7feb11165744703163d5025f34f98e4d7b1d80a63e13dca42 +size 450546 diff --git a/lib/search/indexes/github-docs-3.0-en.json.br b/lib/search/indexes/github-docs-3.0-en.json.br index 7576cc7179..b1e2afceca 100644 --- a/lib/search/indexes/github-docs-3.0-en.json.br +++ b/lib/search/indexes/github-docs-3.0-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e665b5c197e04f00990718c3e56ada6c9f2fe922b134446617919c5c1bb2d15 -size 1755391 +oid sha256:70f81ba3b11cba1f724c077c70e7adc833bff98ccb6fbea2a67893366822296c +size 1755769 diff --git a/lib/search/indexes/github-docs-3.0-es-records.json.br b/lib/search/indexes/github-docs-3.0-es-records.json.br index 3d1d24eab5..417d3154e2 100644 --- a/lib/search/indexes/github-docs-3.0-es-records.json.br +++ b/lib/search/indexes/github-docs-3.0-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:afadfb6e0ac8e9445bd1ba9fb55b2657ec1615492fe7af21a8eaa26d94d0b3d5 -size 278228 +oid sha256:f73981ced329bd2bbe62bb87f2b7561361194e8006509e60cb2869b5628de1a0 +size 277805 diff --git a/lib/search/indexes/github-docs-3.0-es.json.br b/lib/search/indexes/github-docs-3.0-es.json.br index b0dd5dd30e..ed6e4c7d38 100644 --- a/lib/search/indexes/github-docs-3.0-es.json.br +++ b/lib/search/indexes/github-docs-3.0-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f44d5ee602009782ac51319e0e506e9ed709a162faed882e6991bb1b7b7e5c85 -size 1054796 +oid sha256:88eabb53d4c0ed3e5742f0af8bac49df76ba659e4e35aefecf54191d4a0c77cc +size 1057315 diff --git a/lib/search/indexes/github-docs-3.0-ja-records.json.br b/lib/search/indexes/github-docs-3.0-ja-records.json.br index 96ad6b68ad..1163de3c52 100644 --- a/lib/search/indexes/github-docs-3.0-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.0-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4a4cd7a06523d9c6f3d52e681586f5646a6d3890d705fbfed125e903d3157fc2 -size 550202 +oid sha256:1c72ff5c1a9ce603d1c11ea54084e1d2f6a55d032ecc24e66df29a5e282c3525 +size 550303 diff --git a/lib/search/indexes/github-docs-3.0-ja.json.br b/lib/search/indexes/github-docs-3.0-ja.json.br index d9499bf8dd..8a1b1690e1 100644 --- a/lib/search/indexes/github-docs-3.0-ja.json.br +++ b/lib/search/indexes/github-docs-3.0-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eafcb323045b3f0ce6263d0d8063e3d7ea5dfa3eb73976853eacc42748ac4dc0 -size 2910113 +oid sha256:cd79457ed2e1d507c9adeb9233ce245545d47cab8c7ad5e351f8feb4d149e882 +size 2914720 diff --git a/lib/search/indexes/github-docs-3.0-pt-records.json.br b/lib/search/indexes/github-docs-3.0-pt-records.json.br index 3adda581c8..7f78104630 100644 --- a/lib/search/indexes/github-docs-3.0-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.0-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9849035aab7eaeb4cf5a6ff38d5565d985f7d732bc80ee129c7d4df48fab8da4 -size 464492 +oid sha256:958dbdfc8665a987c3757773ced983c11706c0752c3a632e994c3298147d2bcc +size 464433 diff --git a/lib/search/indexes/github-docs-3.0-pt.json.br b/lib/search/indexes/github-docs-3.0-pt.json.br index 6a8170a0ce..366def42f2 100644 --- a/lib/search/indexes/github-docs-3.0-pt.json.br +++ b/lib/search/indexes/github-docs-3.0-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f849f17ae9f45ef18ac6495664854904b70138f47b5913612e7c4373782a95c0 -size 1936021 +oid sha256:7b834bdc410b5bbfb57ff4804c1615852a2af8f2144531ee19c16f91f2ef6dac +size 1938283 diff --git a/lib/search/indexes/github-docs-3.1-cn-records.json.br b/lib/search/indexes/github-docs-3.1-cn-records.json.br index 7566a2817f..15257a671a 100644 --- a/lib/search/indexes/github-docs-3.1-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.1-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99a62425e194304412e8adc38d2ddd1c094669b5cc34a7c4447e8511d7499253 -size 533755 +oid sha256:1856d81eba56c66c7ae66b015a2fb58644e9675128975ba7118032995c20122d +size 534106 diff --git a/lib/search/indexes/github-docs-3.1-cn.json.br b/lib/search/indexes/github-docs-3.1-cn.json.br index 0f32fe3330..de9c752143 100644 --- a/lib/search/indexes/github-docs-3.1-cn.json.br +++ b/lib/search/indexes/github-docs-3.1-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e25a3c324481181cde63880869b24c4e28a08c7152679b3e135b2d3a7f5f4ecc -size 845812 +oid sha256:6f1a43dd82fa9e3d6aee8719c2cf5399dd140411b994618d223fed6c1f890833 +size 847015 diff --git a/lib/search/indexes/github-docs-3.1-de-records.json.br b/lib/search/indexes/github-docs-3.1-de-records.json.br index 033a602969..21e362e633 100644 --- a/lib/search/indexes/github-docs-3.1-de-records.json.br +++ b/lib/search/indexes/github-docs-3.1-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:78ddd39e13a567030021c07e569d8a4c04d8c38e67d3115b40551a17547749f6 -size 497056 +oid sha256:3ae3156e745595db339bb8bed4ac32034f4303b8553f0ddcb287254990f9a485 +size 497012 diff --git a/lib/search/indexes/github-docs-3.1-de.json.br b/lib/search/indexes/github-docs-3.1-de.json.br index 76f45b2150..91de720a68 100644 --- a/lib/search/indexes/github-docs-3.1-de.json.br +++ b/lib/search/indexes/github-docs-3.1-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:960cbb31c3207eeebd79dee35dd0f9cd31784df11e019a5fd1d569f5ea12ffc2 -size 2220623 +oid sha256:c910c31918d5a02a196544319559bfa4a625704d2f4c6d7211620906ef8688ef +size 2221830 diff --git a/lib/search/indexes/github-docs-3.1-en-records.json.br b/lib/search/indexes/github-docs-3.1-en-records.json.br index 546d5c1476..1a627a4abf 100644 --- a/lib/search/indexes/github-docs-3.1-en-records.json.br +++ b/lib/search/indexes/github-docs-3.1-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be3f405e5f43e9ad7ab1814ed45e5bd2c4ba639f6d18cef44f7a4a5a8d207fa6 -size 459227 +oid sha256:a7bd227215d5fdd768d3732041452c2e428a3b1b1facaa0d8dd132ba44abb755 +size 459694 diff --git a/lib/search/indexes/github-docs-3.1-en.json.br b/lib/search/indexes/github-docs-3.1-en.json.br index e70b31f1cd..f34733e3d4 100644 --- a/lib/search/indexes/github-docs-3.1-en.json.br +++ b/lib/search/indexes/github-docs-3.1-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:373087e90ce9445bdfe939a063b1258bd67aae9d244eda32bed7f2d6cd3365df -size 1791766 +oid sha256:182269c13bec3ad8bfebe1164471c4036ba9d0e8aa8e54ce374e7ef14f537de6 +size 1793967 diff --git a/lib/search/indexes/github-docs-3.1-es-records.json.br b/lib/search/indexes/github-docs-3.1-es-records.json.br index 17c097d4e7..fc801caf73 100644 --- a/lib/search/indexes/github-docs-3.1-es-records.json.br +++ b/lib/search/indexes/github-docs-3.1-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5797732cc88ada6d62a458d338c0a054dadbc4195c8af198d1b46e78d9398ddd -size 278521 +oid sha256:c9f8f1ab638167db04e0a52df1d1bd24ca60579d4a5947fffb09524231a08063 +size 278464 diff --git a/lib/search/indexes/github-docs-3.1-es.json.br b/lib/search/indexes/github-docs-3.1-es.json.br index 115589f2cf..b526b86836 100644 --- a/lib/search/indexes/github-docs-3.1-es.json.br +++ b/lib/search/indexes/github-docs-3.1-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:53e7874acde60f2c5283e749b69211ed7504795afa845a38f2f8581c97c14a1e -size 1056034 +oid sha256:a79f0e91dfa1dd055fc34f153cac91934eaaa6528f990edb0ccf43d912e40cd2 +size 1059194 diff --git a/lib/search/indexes/github-docs-3.1-ja-records.json.br b/lib/search/indexes/github-docs-3.1-ja-records.json.br index e221cdb771..6f1aac470c 100644 --- a/lib/search/indexes/github-docs-3.1-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.1-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:361be31fb2d95485012e3ed7c34ef8e2e5e29fbf6b44f50511dd68f88aaea6ad -size 558627 +oid sha256:5ddfac46fb129438a11ea977bf01858adc13715f99bd307f53dd8c0ff8f1bc86 +size 558782 diff --git a/lib/search/indexes/github-docs-3.1-ja.json.br b/lib/search/indexes/github-docs-3.1-ja.json.br index b4ce6381bb..80dad2ab7a 100644 --- a/lib/search/indexes/github-docs-3.1-ja.json.br +++ b/lib/search/indexes/github-docs-3.1-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3cb9015991f496c98a8fb4a7890cad648f7f160a148547ef5d6ce1f896882f37 -size 2964047 +oid sha256:70c3d50c1d19fe092b191ccf5ca960234dcfa895d11bd4e085eea4f7610e001d +size 2967444 diff --git a/lib/search/indexes/github-docs-3.1-pt-records.json.br b/lib/search/indexes/github-docs-3.1-pt-records.json.br index 514811baf5..5f0351c167 100644 --- a/lib/search/indexes/github-docs-3.1-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.1-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:473a8d97c5232a625f6fa2e2c55ff85958e7f6277aea0b23f5621a443079172d -size 472080 +oid sha256:01241da0103258d93d238fcb0b7d22578a439fca6f009f7ae05df3ed86f709fb +size 472068 diff --git a/lib/search/indexes/github-docs-3.1-pt.json.br b/lib/search/indexes/github-docs-3.1-pt.json.br index 5d3534bf5a..0e9b2fcf6e 100644 --- a/lib/search/indexes/github-docs-3.1-pt.json.br +++ b/lib/search/indexes/github-docs-3.1-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:988f363d80ccb245b860a6db2ab132c7535d3df6b7c43fd4f39bf9639d52d98d -size 1971408 +oid sha256:913bc7b170d6a6ab7b5901b93bc88b2be4b1f07a849dbddc084c79963e4a98ce +size 1972135 diff --git a/lib/search/indexes/github-docs-3.2-cn-records.json.br b/lib/search/indexes/github-docs-3.2-cn-records.json.br index 44d20bc92a..d0284382d2 100644 --- a/lib/search/indexes/github-docs-3.2-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.2-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d84d6d02bb653dc430eddb9fbf246691bd63f7edbaede0b30930b9f676c79707 -size 539440 +oid sha256:e05ee1ec0b3976d65de63f4270383bc43f8b11f459488e3d7d4bf5a755be4882 +size 539634 diff --git a/lib/search/indexes/github-docs-3.2-cn.json.br b/lib/search/indexes/github-docs-3.2-cn.json.br index b7a51e7d68..165e233217 100644 --- a/lib/search/indexes/github-docs-3.2-cn.json.br +++ b/lib/search/indexes/github-docs-3.2-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3a1d232d1f3a4eb63beb513223619100e9358a65b80e752fa0a6ce04d3cb7eec -size 852819 +oid sha256:cf756057c4dc7db9ac5fa53d6ce7770904b05cf269380298ca5f3533be773956 +size 853386 diff --git a/lib/search/indexes/github-docs-3.2-de-records.json.br b/lib/search/indexes/github-docs-3.2-de-records.json.br index 1e431b7a71..6c1b0c8eaf 100644 --- a/lib/search/indexes/github-docs-3.2-de-records.json.br +++ b/lib/search/indexes/github-docs-3.2-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee5a4fe28adfcb556587c634722d340fb1acc7a01ec08ec3bdfaab084bfe5e3a -size 501504 +oid sha256:6bdc04a6e1d8e3ce0604b83e2bc91ab9c2506919617c17edde1f3b070a9144c4 +size 501408 diff --git a/lib/search/indexes/github-docs-3.2-de.json.br b/lib/search/indexes/github-docs-3.2-de.json.br index 73240dab6b..1ae48eb42b 100644 --- a/lib/search/indexes/github-docs-3.2-de.json.br +++ b/lib/search/indexes/github-docs-3.2-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:118151bd826fef0ccde31f62a5bc1094aeff3ea87397f10d43e149dd85693683 -size 2243517 +oid sha256:5e522eda031210783e55fc89ce2b861447b9868c08c56ed46f0ed1bbbe5e4c55 +size 2244459 diff --git a/lib/search/indexes/github-docs-3.2-en-records.json.br b/lib/search/indexes/github-docs-3.2-en-records.json.br index 39fae71d44..046e807460 100644 --- a/lib/search/indexes/github-docs-3.2-en-records.json.br +++ b/lib/search/indexes/github-docs-3.2-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f8a17b72eaeab758401fa057f118560d998b6a7691bb9d31bb2cd7c8995bd2ef -size 467797 +oid sha256:9f30eeca4e41ab479165b46e8d93f64b51dcf385a16153bd3b8c8775829e4490 +size 467087 diff --git a/lib/search/indexes/github-docs-3.2-en.json.br b/lib/search/indexes/github-docs-3.2-en.json.br index d54ccead7d..7e50510d6c 100644 --- a/lib/search/indexes/github-docs-3.2-en.json.br +++ b/lib/search/indexes/github-docs-3.2-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6fcacd2c4ce8067df96e721c2893346e6131294577941e1eb8bcf288991cfba7 -size 1823603 +oid sha256:659bae3d331f05f00a26bb6988b4bf12242bd78df126b3fd6c7d25821026298c +size 1826664 diff --git a/lib/search/indexes/github-docs-3.2-es-records.json.br b/lib/search/indexes/github-docs-3.2-es-records.json.br index 94b50ba48a..ea8d8ead95 100644 --- a/lib/search/indexes/github-docs-3.2-es-records.json.br +++ b/lib/search/indexes/github-docs-3.2-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ba239830403b37b09f024d4428e6f7dfa1ad8ab95899b35e2cc0d39d767e9fb -size 278495 +oid sha256:296ba12e26a11071b41d5ea3f857c28c27dfb5a2d272e480166e0c0c238d35d6 +size 278437 diff --git a/lib/search/indexes/github-docs-3.2-es.json.br b/lib/search/indexes/github-docs-3.2-es.json.br index 92a60961fe..3b39ae9497 100644 --- a/lib/search/indexes/github-docs-3.2-es.json.br +++ b/lib/search/indexes/github-docs-3.2-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b8bda67b99d08bf12ee6e98a820f2d1a18ecca4524a2c85a0ff0c6f4e989782 -size 1056323 +oid sha256:870cdc862699aa9ad97e1196a21c2681402f3e87ef904c06ee80cc6385cd3154 +size 1059253 diff --git a/lib/search/indexes/github-docs-3.2-ja-records.json.br b/lib/search/indexes/github-docs-3.2-ja-records.json.br index 2c26c6bade..141684f95e 100644 --- a/lib/search/indexes/github-docs-3.2-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.2-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5ceaf8a9c296f95269cda7369af87f284657fc9dad3533b7cb7f8802805c8d7 -size 564842 +oid sha256:fcbc17ff5c1a28a223584985d264f995fddde4a43ce99d23ff09b71c93e0913c +size 564651 diff --git a/lib/search/indexes/github-docs-3.2-ja.json.br b/lib/search/indexes/github-docs-3.2-ja.json.br index 1019412410..4c9005167a 100644 --- a/lib/search/indexes/github-docs-3.2-ja.json.br +++ b/lib/search/indexes/github-docs-3.2-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4fe47d56b5c080ad35b805eca90605e7f8ded58497e46420b536197c357a94de -size 2995801 +oid sha256:f1495ca25e02999808be263eaf2eb0fbc0e43ad1af3240041f56cca2f65936d7 +size 2999101 diff --git a/lib/search/indexes/github-docs-3.2-pt-records.json.br b/lib/search/indexes/github-docs-3.2-pt-records.json.br index 47ce5c2e41..da34695919 100644 --- a/lib/search/indexes/github-docs-3.2-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.2-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f95ea7a6cc115de9222c268a1b7cc8d6e0fd60601cae8dd7b059d0000572840 -size 476836 +oid sha256:c8316e38f0286efb09e57c2ea74b9a47b12e659199b643c0f5104d9b3cbe4cf2 +size 476642 diff --git a/lib/search/indexes/github-docs-3.2-pt.json.br b/lib/search/indexes/github-docs-3.2-pt.json.br index 594dfac1ca..8616e14d75 100644 --- a/lib/search/indexes/github-docs-3.2-pt.json.br +++ b/lib/search/indexes/github-docs-3.2-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8724888d25f5ef2cd69d7f617adf6947760eecf429b1dbe6e69def69c0673784 -size 1993689 +oid sha256:aa3779c547e8b2df6f41568aeba3875b95864be0cd586b4c307b6f3ae5a52f28 +size 1995455 diff --git a/lib/search/indexes/github-docs-dotcom-cn-records.json.br b/lib/search/indexes/github-docs-dotcom-cn-records.json.br index 792d05e184..8c12fec741 100644 --- a/lib/search/indexes/github-docs-dotcom-cn-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aacce6c5ccb642ad182e2d437680ac8b2234216638dc68509953d13efc509150 -size 695253 +oid sha256:0465d6c3bf00e9cd19d1e1ca9fe0c93dcb9a95c543f3608430f0a06b1465d927 +size 695323 diff --git a/lib/search/indexes/github-docs-dotcom-cn.json.br b/lib/search/indexes/github-docs-dotcom-cn.json.br index c5397fbb80..a971f30555 100644 --- a/lib/search/indexes/github-docs-dotcom-cn.json.br +++ b/lib/search/indexes/github-docs-dotcom-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:192bb83158b6c25503dc15e3e0a9975c6e2bd356048ab0c2508d6a90dd2056e3 -size 947034 +oid sha256:8ff56fce0a6f6f14f2801945fedc19e53995c0535876c2d602f10ab010ac318a +size 948264 diff --git a/lib/search/indexes/github-docs-dotcom-de-records.json.br b/lib/search/indexes/github-docs-dotcom-de-records.json.br index 842b8b5d68..60809be65e 100644 --- a/lib/search/indexes/github-docs-dotcom-de-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ec1231577f5f65e6d77d3db3d9a0e9b931fd6c0b0f7b4a3a744c80330bed0e7 -size 633744 +oid sha256:91f11eb398efa01c8abb694625df8325f926412856628eab224f7b70e6990412 +size 633668 diff --git a/lib/search/indexes/github-docs-dotcom-de.json.br b/lib/search/indexes/github-docs-dotcom-de.json.br index 2cd592a08a..f9fa02bddb 100644 --- a/lib/search/indexes/github-docs-dotcom-de.json.br +++ b/lib/search/indexes/github-docs-dotcom-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b6ed8d270e058613e4f82e63d1231abfcddf99a5a11d165e73e35841856c02d6 -size 2819328 +oid sha256:ddda81c8c80bf3491739b680b6516dc2d42b54a6a26432a86da3e69d3d66ea6c +size 2821208 diff --git a/lib/search/indexes/github-docs-dotcom-en-records.json.br b/lib/search/indexes/github-docs-dotcom-en-records.json.br index 19ce778c6b..c7baa66976 100644 --- a/lib/search/indexes/github-docs-dotcom-en-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5ad35ec6ceeca986a5e4b715fefa39136cc7053e31bc235de1046ee0931c29b5 -size 625806 +oid sha256:8733cb523046cfcbfefeeaf2801c94688784a294208a76412ab6e2f54205d02c +size 626232 diff --git a/lib/search/indexes/github-docs-dotcom-en.json.br b/lib/search/indexes/github-docs-dotcom-en.json.br index 35fda60d12..0d89f22348 100644 --- a/lib/search/indexes/github-docs-dotcom-en.json.br +++ b/lib/search/indexes/github-docs-dotcom-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e71e53b47e1bbc03287df98509d54a2fb0a8426725a88d02e27a0b0aaf11ca89 -size 2378319 +oid sha256:7fbd2577d09ac862b17d22ef24e88428b989d01e852c48de9922812c1fd82124 +size 2381146 diff --git a/lib/search/indexes/github-docs-dotcom-es-records.json.br b/lib/search/indexes/github-docs-dotcom-es-records.json.br index e986fad6c7..3fde5f28f5 100644 --- a/lib/search/indexes/github-docs-dotcom-es-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:66e0d0d64785c6614ce56d4559bea3a8828b27e5a68dc7270b419717dbe60d64 -size 306464 +oid sha256:545c673e61bbc6dd5f87c9f241a8744daa4eeda14eeb85e14801a5b25dde334f +size 306445 diff --git a/lib/search/indexes/github-docs-dotcom-es.json.br b/lib/search/indexes/github-docs-dotcom-es.json.br index 155455eb93..2c155a2a2b 100644 --- a/lib/search/indexes/github-docs-dotcom-es.json.br +++ b/lib/search/indexes/github-docs-dotcom-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:343ff0fe13a90a19a1d8731b67bb278582e650820da4a097afb1712951b999dd -size 1088422 +oid sha256:c61cdaa5ab70fd87ec819ea2d81fd5ac05ea2f48cdff7a4de9122f350c3cb192 +size 1090136 diff --git a/lib/search/indexes/github-docs-dotcom-ja-records.json.br b/lib/search/indexes/github-docs-dotcom-ja-records.json.br index a88b56cdde..6577e456e2 100644 --- a/lib/search/indexes/github-docs-dotcom-ja-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:70e80c2eb6db22a51f23a43c295762d84c51d6412ac1840f4410b1e8120333c4 -size 723584 +oid sha256:58955d4352925ff4237bf0a8a15e86e1dfb65271c6df247c16fc4fe70af6c5e0 +size 723115 diff --git a/lib/search/indexes/github-docs-dotcom-ja.json.br b/lib/search/indexes/github-docs-dotcom-ja.json.br index 9c7f836930..a051bae064 100644 --- a/lib/search/indexes/github-docs-dotcom-ja.json.br +++ b/lib/search/indexes/github-docs-dotcom-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e4af19da0474c5756ee81a3de17036e5d4ca9214fd241c330f28bbb6cfbbb0a1 -size 3756947 +oid sha256:0c221f09ab0bb4a6afa4013d6a83c970096f8bccbf7b0c91a1a3bdd76f12d946 +size 3758796 diff --git a/lib/search/indexes/github-docs-dotcom-pt-records.json.br b/lib/search/indexes/github-docs-dotcom-pt-records.json.br index e59a68c39b..01e1728d12 100644 --- a/lib/search/indexes/github-docs-dotcom-pt-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba235466c94138eab630673d0dac7d30e8ce6484524128306a7037aad609b98c -size 607258 +oid sha256:b193ea1add44fa02e3b001b2bcef361d32f4b15d1e29fc27cdb1105eb3e06555 +size 607499 diff --git a/lib/search/indexes/github-docs-dotcom-pt.json.br b/lib/search/indexes/github-docs-dotcom-pt.json.br index 50daba73a6..b5f73c62dd 100644 --- a/lib/search/indexes/github-docs-dotcom-pt.json.br +++ b/lib/search/indexes/github-docs-dotcom-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e0f6e57792d93b4614055296cbbbcd8069d1fe26686f323b35c0e99cfc9c388c -size 2487216 +oid sha256:fe3cbbe8f4b3240b2ce6962b1c943d71ba79b75dab09105ed2f1b3a51f1858ba +size 2491475 diff --git a/lib/search/indexes/github-docs-ghae-cn-records.json.br b/lib/search/indexes/github-docs-ghae-cn-records.json.br index f9b7475002..d90749e151 100644 --- a/lib/search/indexes/github-docs-ghae-cn-records.json.br +++ b/lib/search/indexes/github-docs-ghae-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3cf1ff8532cb4a14aeb6f666b6910f95884fde40386118cba83cb8ba45b8ef0d -size 413837 +oid sha256:0bc47e9d4fab19c86ed5db841349efa68f539e3d353a9d4d80a105691a421480 +size 414301 diff --git a/lib/search/indexes/github-docs-ghae-cn.json.br b/lib/search/indexes/github-docs-ghae-cn.json.br index 7b28b22bb1..f54cffb3b1 100644 --- a/lib/search/indexes/github-docs-ghae-cn.json.br +++ b/lib/search/indexes/github-docs-ghae-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e00c9bb0755e40f214b3298a1df8fcd6ede474ab5bf3bacabe9f3af12caa434b -size 630025 +oid sha256:bfa8167e4669d27d04f31950e856301480c84a79e8815e0d3c15abc29d729c47 +size 631423 diff --git a/lib/search/indexes/github-docs-ghae-de-records.json.br b/lib/search/indexes/github-docs-ghae-de-records.json.br index 4fa0453e5c..2f25cf0dad 100644 --- a/lib/search/indexes/github-docs-ghae-de-records.json.br +++ b/lib/search/indexes/github-docs-ghae-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b6407ef653db02facddcdca923f0e08e33335e8790b71462a990dd907dec1038 -size 390565 +oid sha256:7505876f442d5391ac5778e470badfaa177d9250db26eff7c2ad892c366683df +size 390602 diff --git a/lib/search/indexes/github-docs-ghae-de.json.br b/lib/search/indexes/github-docs-ghae-de.json.br index bfa0df7075..992fc3a234 100644 --- a/lib/search/indexes/github-docs-ghae-de.json.br +++ b/lib/search/indexes/github-docs-ghae-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e877b8049abf0dbef90f678957023bb39d965df1fa7fe195818c7ccc20abba2d -size 1697233 +oid sha256:9ec5517c37785ea7459cabc1c94b6c03e019de9a1bc43627a25337e0d303c702 +size 1700673 diff --git a/lib/search/indexes/github-docs-ghae-en-records.json.br b/lib/search/indexes/github-docs-ghae-en-records.json.br index 3da167285d..64cf3a33b5 100644 --- a/lib/search/indexes/github-docs-ghae-en-records.json.br +++ b/lib/search/indexes/github-docs-ghae-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61e872d432225b80eb6cfc05d14b40dc2e66ad13018dcf6076d7ea7716b64e3f -size 360233 +oid sha256:74235a7c4fa97b7ab2afa6097d07b4f28785b42b3614c16e5463ebd6eb8651d6 +size 360179 diff --git a/lib/search/indexes/github-docs-ghae-en.json.br b/lib/search/indexes/github-docs-ghae-en.json.br index af3e36a008..d44f747672 100644 --- a/lib/search/indexes/github-docs-ghae-en.json.br +++ b/lib/search/indexes/github-docs-ghae-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2026799a7d5d329e91b8c55735470de119738b66e5549e82d585f6b0280637cb -size 1343611 +oid sha256:10e86f641b6df55f5bc2ed036de10cf997a701bf1bc0423b1b1402eb81fffb41 +size 1343620 diff --git a/lib/search/indexes/github-docs-ghae-es-records.json.br b/lib/search/indexes/github-docs-ghae-es-records.json.br index 42c0469a8f..e7f9188547 100644 --- a/lib/search/indexes/github-docs-ghae-es-records.json.br +++ b/lib/search/indexes/github-docs-ghae-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9394f663d070344a75adc1f96c0f575d59e9647655ae5d9f9a474e0f4bafb816 -size 200584 +oid sha256:8db782b9288c0b7ffaa8e7fbdf146fe3fb4fa810e7f9ac04cd2b0e526069852e +size 200548 diff --git a/lib/search/indexes/github-docs-ghae-es.json.br b/lib/search/indexes/github-docs-ghae-es.json.br index 3989899b08..7f57b1bb4b 100644 --- a/lib/search/indexes/github-docs-ghae-es.json.br +++ b/lib/search/indexes/github-docs-ghae-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c779b98e86b8391abe0ad559e6449c211a3dcbfe450e5a0a5ae73f6ee6806b71 -size 718094 +oid sha256:1bdb9a4b2fc3a81c8f35ae3f2543f1966f7d0545f3b3483ddfb4d6a19fbff76d +size 719958 diff --git a/lib/search/indexes/github-docs-ghae-ja-records.json.br b/lib/search/indexes/github-docs-ghae-ja-records.json.br index c36da9bfc2..ccc7cf8c49 100644 --- a/lib/search/indexes/github-docs-ghae-ja-records.json.br +++ b/lib/search/indexes/github-docs-ghae-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fef3241b9c2eb79aa67bca82670d8b30f52ebe1d2e139ca739061fa9a1c613b0 -size 435094 +oid sha256:8c137cfa90b928b5ef8f22be5dd4267f37c2d5c1be95442c814c0a95d0ebdc6d +size 435056 diff --git a/lib/search/indexes/github-docs-ghae-ja.json.br b/lib/search/indexes/github-docs-ghae-ja.json.br index d87ecd70d7..110be9aa14 100644 --- a/lib/search/indexes/github-docs-ghae-ja.json.br +++ b/lib/search/indexes/github-docs-ghae-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:501e4524a12712d02e8919238425891793332e0f499942c090ae12be6c6246ea -size 2215738 +oid sha256:c95b4889cd7c250d5054a1ce82a0d55c51938a2d397ce8316aa499ce345b94b5 +size 2218856 diff --git a/lib/search/indexes/github-docs-ghae-pt-records.json.br b/lib/search/indexes/github-docs-ghae-pt-records.json.br index 2404084920..2525ecaea6 100644 --- a/lib/search/indexes/github-docs-ghae-pt-records.json.br +++ b/lib/search/indexes/github-docs-ghae-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5b9c08ee3dfe84097ac5d363e9b3d671caaa1dc5f61754f3636292b20218b2ac -size 371562 +oid sha256:615542044d60aefa86f019d5b2f4fbce568199c54d34e864eb9824c69a395651 +size 371591 diff --git a/lib/search/indexes/github-docs-ghae-pt.json.br b/lib/search/indexes/github-docs-ghae-pt.json.br index 157905fd26..4a6ce9df42 100644 --- a/lib/search/indexes/github-docs-ghae-pt.json.br +++ b/lib/search/indexes/github-docs-ghae-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:871062328c10431e80b35fc5e7edb0ec868bfac16cbd29b7d9d9b7f76abcd92e -size 1496250 +oid sha256:b90a7a5ccf275a664149ce3c730cead0d8ec67f78c1b3f47c3c7f3d792b7946b +size 1499650 From 2f6af3fe20cd4e0382222a9824ec5bc63b96922f Mon Sep 17 00:00:00 2001 From: Robert Sese Date: Wed, 22 Sep 2021 01:02:29 -0500 Subject: [PATCH 11/14] Render learning track banner on ToC landing page (#21634) * Add learning track info to ToC landing page context * Render learning track banner on ToC landing page --- components/context/TocLandingContext.tsx | 8 ++++++++ components/landing/TocLanding.tsx | 19 +++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/components/context/TocLandingContext.tsx b/components/context/TocLandingContext.tsx index b3c1559a36..b325bc935d 100644 --- a/components/context/TocLandingContext.tsx +++ b/components/context/TocLandingContext.tsx @@ -2,6 +2,12 @@ import pick from 'lodash/pick' import { createContext, useContext } from 'react' import { FeaturedLink, getFeaturedLinksFromReq } from './ProductLandingContext' +export type LearningTrack = { + trackName?: string + prevGuide?: { href: string; title: string } + nextGuide?: { href: string; title: string } +} + export type TocItem = { fullPath: string title: string @@ -16,6 +22,7 @@ export type TocLandingContextT = { variant?: 'compact' | 'expanded' featuredLinks: Record> renderedPage: string + currentLearningTrack?: LearningTrack } export const TocLandingContext = createContext(null) @@ -43,5 +50,6 @@ export const getTocLandingContextFromRequest = (req: any): TocLandingContextT => featuredLinks: getFeaturedLinksFromReq(req), renderedPage: isEarlyAccess ? req.context.renderedPage : '', + currentLearningTrack: req.context.currentLearningTrack, } } diff --git a/components/landing/TocLanding.tsx b/components/landing/TocLanding.tsx index 9437ebf09c..780bd60668 100644 --- a/components/landing/TocLanding.tsx +++ b/components/landing/TocLanding.tsx @@ -9,10 +9,19 @@ import { useTranslation } from 'components/hooks/useTranslation' import { ArticleGridLayout } from 'components/article/ArticleGridLayout' import { Callout } from 'components/ui/Callout' import { Lead } from 'components/ui/Lead' +import { LearningTrackNav } from '../article/LearningTrackNav' export const TocLanding = () => { - const { title, introPlainText, tocItems, productCallout, variant, featuredLinks, renderedPage } = - useTocLandingContext() + const { + title, + introPlainText, + tocItems, + productCallout, + variant, + featuredLinks, + renderedPage, + currentLearningTrack, + } = useTocLandingContext() const { t } = useTranslation('toc') return ( @@ -58,6 +67,12 @@ export const TocLanding = () => { + + {currentLearningTrack?.trackName ? ( +
+ +
+ ) : null} ) From 83dc407ada1543d22d6283b35c02c058c8dd4815 Mon Sep 17 00:00:00 2001 From: Martin Lopes Date: Wed, 22 Sep 2021 16:49:41 +1000 Subject: [PATCH 12/14] Restructure Actions guides (#21577) Co-authored-by: Sarah Edwards Co-authored-by: Mike Surowiec --- components/article/ArticlePage.tsx | 8 +- .../content/building-and-testing/nodejs.tsx | 2 +- .../content/building-and-testing/python.tsx | 2 +- ...hing-dependencies-to-speed-up-workflows.md | 3 +- content/actions/advanced-guides/index.md | 15 + .../storing-workflow-data-as-artifacts.md | 1 + .../using-github-cli-in-workflows.md | 2 + .../about-continuous-integration.md | 1 + .../building-and-testing-java-with-ant.md | 1 + .../building-and-testing-java-with-gradle.md | 1 + .../building-and-testing-java-with-maven.md | 1 + .../building-and-testing-net.md | 2 + .../building-and-testing-nodejs-or-python.md | 2 + .../building-and-testing-nodejs.md | 4 +- .../building-and-testing-powershell.md | 2 + .../building-and-testing-python.md | 2 + .../building-and-testing-ruby.md | 4 +- .../building-and-testing-swift.md | 2 + ...ilding-and-testing-xamarin-applications.md | 2 + .../automating-builds-and-tests/index.md | 30 ++ ...out-actions.md => about-custom-actions.md} | 5 +- .../dockerfile-support-for-github-actions.md | 2 +- content/actions/creating-actions/index.md | 2 +- .../metadata-syntax-for-github-actions.md | 4 +- ...ing-to-amazon-elastic-container-service.md | 2 + .../deploying-to-azure-app-service.md | 2 + .../deploying-to-google-kubernetes-engine.md | 2 + .../{reference => deployment}/environments.md | 2 + content/actions/deployment/index.md | 16 + ...-on-macos-runners-for-xcode-development.md | 2 + content/actions/guides/index.md | 114 ------ content/actions/index.md | 27 +- .../contexts.md} | 328 +---------------- .../environment-variables.md | 1 + .../events-that-trigger-workflows.md | 3 +- .../learn-github-actions/expressions.md | 334 ++++++++++++++++++ content/actions/learn-github-actions/index.md | 16 +- ...usage-limits-billing-and-administration.md | 1 + .../using-workflow-templates.md} | 7 +- .../workflow-commands-for-github-actions.md | 1 + .../workflow-syntax-for-github-actions.md | 25 +- .../adding-labels-to-issues.md | 2 + .../closing-inactive-issues.md | 2 + ...nting-on-an-issue-when-a-label-is-added.md | 2 + .../index.md | 17 + ...oving-assigned-issues-on-project-boards.md | 2 + ...card-is-added-to-a-project-board-column.md | 2 + .../scheduling-issue-creation.md | 2 + ...g-github-actions-for-project-management.md | 2 + .../migrating-to-github-actions/index.md | 18 + ...-from-azure-pipelines-to-github-actions.md | 3 +- ...grating-from-circleci-to-github-actions.md | 1 + ...ting-from-gitlab-cicd-to-github-actions.md | 4 +- ...igrating-from-jenkins-to-github-actions.md | 1 + ...rating-from-travis-ci-to-github-actions.md | 3 +- .../about-packaging-with-github-actions.md | 1 + content/actions/publishing-packages/index.md | 18 + .../publishing-docker-images.md | 3 +- .../publishing-java-packages-with-gradle.md | 1 + .../publishing-java-packages-with-maven.md | 1 + .../publishing-nodejs-packages.md | 1 + content/actions/quickstart.md | 1 - content/actions/reference/index.md | 43 --- .../automatic-token-authentication.md} | 7 +- .../encrypted-secrets.md | 4 +- content/actions/security-guides/index.md | 14 + .../security-hardening-for-github-actions.md | 3 +- .../about-service-containers.md | 3 +- .../creating-postgresql-service-containers.md | 1 + .../creating-redis-service-containers.md | 1 + .../using-containerized-services/index.md | 18 + lib/frontmatter.js | 4 + .../building-and-testing-nodejs-or-python.tsx | 0 tests/browser/browser.js | 4 +- tests/content/crowdin-config.js | 3 +- tests/helpers/is-experimental.js | 8 - tests/linting/lint-files.js | 8 +- tests/rendering/learning-tracks.js | 4 +- 78 files changed, 637 insertions(+), 558 deletions(-) rename content/actions/{guides => advanced-guides}/caching-dependencies-to-speed-up-workflows.md (98%) create mode 100644 content/actions/advanced-guides/index.md rename content/actions/{guides => advanced-guides}/storing-workflow-data-as-artifacts.md (99%) rename content/actions/{guides => advanced-guides}/using-github-cli-in-workflows.md (97%) rename content/actions/{guides => automating-builds-and-tests}/about-continuous-integration.md (99%) rename content/actions/{guides => automating-builds-and-tests}/building-and-testing-java-with-ant.md (99%) rename content/actions/{guides => automating-builds-and-tests}/building-and-testing-java-with-gradle.md (99%) rename content/actions/{guides => automating-builds-and-tests}/building-and-testing-java-with-maven.md (99%) rename content/actions/{guides => automating-builds-and-tests}/building-and-testing-net.md (99%) rename content/actions/{guides => automating-builds-and-tests}/building-and-testing-nodejs-or-python.md (86%) rename content/actions/{guides => automating-builds-and-tests}/building-and-testing-nodejs.md (98%) rename content/actions/{guides => automating-builds-and-tests}/building-and-testing-powershell.md (99%) rename content/actions/{guides => automating-builds-and-tests}/building-and-testing-python.md (99%) rename content/actions/{guides => automating-builds-and-tests}/building-and-testing-ruby.md (97%) rename content/actions/{guides => automating-builds-and-tests}/building-and-testing-swift.md (98%) rename content/actions/{guides => automating-builds-and-tests}/building-and-testing-xamarin-applications.md (98%) create mode 100644 content/actions/automating-builds-and-tests/index.md rename content/actions/creating-actions/{about-actions.md => about-custom-actions.md} (99%) rename content/actions/{guides => deployment}/deploying-to-amazon-elastic-container-service.md (98%) rename content/actions/{guides => deployment}/deploying-to-azure-app-service.md (98%) rename content/actions/{guides => deployment}/deploying-to-google-kubernetes-engine.md (98%) rename content/actions/{reference => deployment}/environments.md (99%) create mode 100644 content/actions/deployment/index.md rename content/actions/{guides => deployment}/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md (98%) delete mode 100644 content/actions/guides/index.md rename content/actions/{reference/context-and-expression-syntax-for-github-actions.md => learn-github-actions/contexts.md} (62%) rename content/actions/{reference => learn-github-actions}/environment-variables.md (99%) rename content/actions/{reference => learn-github-actions}/events-that-trigger-workflows.md (99%) create mode 100644 content/actions/learn-github-actions/expressions.md rename content/actions/{reference => learn-github-actions}/usage-limits-billing-and-administration.md (98%) rename content/actions/{guides/setting-up-continuous-integration-using-workflow-templates.md => learn-github-actions/using-workflow-templates.md} (90%) rename content/actions/{reference => learn-github-actions}/workflow-commands-for-github-actions.md (99%) rename content/actions/{reference => learn-github-actions}/workflow-syntax-for-github-actions.md (96%) rename content/actions/{guides => managing-issues-and-pull-requests}/adding-labels-to-issues.md (98%) rename content/actions/{guides => managing-issues-and-pull-requests}/closing-inactive-issues.md (98%) rename content/actions/{guides => managing-issues-and-pull-requests}/commenting-on-an-issue-when-a-label-is-added.md (98%) create mode 100644 content/actions/managing-issues-and-pull-requests/index.md rename content/actions/{guides => managing-issues-and-pull-requests}/moving-assigned-issues-on-project-boards.md (98%) rename content/actions/{guides => managing-issues-and-pull-requests}/removing-a-label-when-a-card-is-added-to-a-project-board-column.md (98%) rename content/actions/{guides => managing-issues-and-pull-requests}/scheduling-issue-creation.md (98%) rename content/actions/{guides => managing-issues-and-pull-requests}/using-github-actions-for-project-management.md (96%) create mode 100644 content/actions/migrating-to-github-actions/index.md rename content/actions/{learn-github-actions => migrating-to-github-actions}/migrating-from-azure-pipelines-to-github-actions.md (98%) rename content/actions/{learn-github-actions => migrating-to-github-actions}/migrating-from-circleci-to-github-actions.md (99%) rename content/actions/{learn-github-actions => migrating-to-github-actions}/migrating-from-gitlab-cicd-to-github-actions.md (98%) rename content/actions/{learn-github-actions => migrating-to-github-actions}/migrating-from-jenkins-to-github-actions.md (99%) rename content/actions/{learn-github-actions => migrating-to-github-actions}/migrating-from-travis-ci-to-github-actions.md (98%) rename content/actions/{guides => publishing-packages}/about-packaging-with-github-actions.md (94%) create mode 100644 content/actions/publishing-packages/index.md rename content/actions/{guides => publishing-packages}/publishing-docker-images.md (98%) rename content/actions/{guides => publishing-packages}/publishing-java-packages-with-gradle.md (99%) rename content/actions/{guides => publishing-packages}/publishing-java-packages-with-maven.md (99%) rename content/actions/{guides => publishing-packages}/publishing-nodejs-packages.md (99%) delete mode 100644 content/actions/reference/index.md rename content/actions/{reference/authentication-in-a-workflow.md => security-guides/automatic-token-authentication.md} (97%) rename content/actions/{reference => security-guides}/encrypted-secrets.md (97%) create mode 100644 content/actions/security-guides/index.md rename content/actions/{learn-github-actions => security-guides}/security-hardening-for-github-actions.md (98%) rename content/actions/{guides => using-containerized-services}/about-service-containers.md (97%) rename content/actions/{guides => using-containerized-services}/creating-postgresql-service-containers.md (99%) rename content/actions/{guides => using-containerized-services}/creating-redis-service-containers.md (99%) create mode 100644 content/actions/using-containerized-services/index.md rename pages/[versionId]/actions/{guides => automating-builds-and-tests}/building-and-testing-nodejs-or-python.tsx (100%) delete mode 100644 tests/helpers/is-experimental.js diff --git a/components/article/ArticlePage.tsx b/components/article/ArticlePage.tsx index 5a53908480..d0aa5ef02d 100644 --- a/components/article/ArticlePage.tsx +++ b/components/article/ArticlePage.tsx @@ -17,11 +17,11 @@ import { ArticleGridLayout } from './ArticleGridLayout' // Mapping of a "normal" article to it's interactive counterpart const interactiveAlternatives: Record = { - '/actions/guides/building-and-testing-nodejs': { - href: '/actions/guides/building-and-testing-nodejs-or-python?langId=nodejs', + '/actions/automating-builds-and-tests/building-and-testing-nodejs': { + href: '/actions/automating-builds-and-tests/building-and-testing-nodejs-or-python?langId=nodejs', }, - '/actions/guides/building-and-testing-python': { - href: '/actions/guides/building-and-testing-nodejs-or-python?langId=python', + '/actions/automating-builds-and-tests/building-and-testing-python': { + href: '/actions/automating-builds-and-tests/building-and-testing-nodejs-or-python?langId=python', }, } diff --git a/components/playground/content/building-and-testing/nodejs.tsx b/components/playground/content/building-and-testing/nodejs.tsx index 387727b77d..88cd2ec794 100644 --- a/components/playground/content/building-and-testing/nodejs.tsx +++ b/components/playground/content/building-and-testing/nodejs.tsx @@ -7,7 +7,7 @@ const article: PlaygroundArticleT = { topics: ['CI', 'Node', 'JavaScript'], type: 'tutorial', slug: 'building-and-testing-nodejs', - originalArticle: '/actions/guides/building-and-testing-nodejs', + originalArticle: '/actions/automating-builds-and-tests/building-and-testing-nodejs', codeLanguageId: 'nodejs', intro: dedent` This guide shows you how to create a continuous integration (CI) workflow that builds and tests Node.js code. If your CI tests pass, you may want to deploy your code or publish a package. diff --git a/components/playground/content/building-and-testing/python.tsx b/components/playground/content/building-and-testing/python.tsx index 9c3c2f5972..9406bf5b84 100644 --- a/components/playground/content/building-and-testing/python.tsx +++ b/components/playground/content/building-and-testing/python.tsx @@ -7,7 +7,7 @@ const article: PlaygroundArticleT = { topics: ['CI', 'Python'], type: 'tutorial', slug: 'building-and-testing-python', - originalArticle: '/actions/guides/building-and-testing-python', + originalArticle: '/actions/automating-builds-and-tests/building-and-testing-python', codeLanguageId: 'py', intro: dedent` This guide shows you how to build, test, and publish a Python package. diff --git a/content/actions/guides/caching-dependencies-to-speed-up-workflows.md b/content/actions/advanced-guides/caching-dependencies-to-speed-up-workflows.md similarity index 98% rename from content/actions/guides/caching-dependencies-to-speed-up-workflows.md rename to content/actions/advanced-guides/caching-dependencies-to-speed-up-workflows.md index 802c0784e7..2435fb3836 100644 --- a/content/actions/guides/caching-dependencies-to-speed-up-workflows.md +++ b/content/actions/advanced-guides/caching-dependencies-to-speed-up-workflows.md @@ -7,6 +7,7 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows - /actions/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows - /actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows + - /actions/guides/caching-dependencies-to-speed-up-workflows versions: fpt: '*' type: tutorial @@ -139,7 +140,7 @@ To cache files in more than one directory, you will need a step that uses the [` ### Using contexts to create cache keys -A cache key can include any of the contexts, functions, literals, and operators supported by {% data variables.product.prodname_actions %}. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +A cache key can include any of the contexts, functions, literals, and operators supported by {% data variables.product.prodname_actions %}. For more information, see "[Expressions](/actions/learn-github-actions/expressions)." Using expressions to create a `key` allows you to automatically create a new cache when dependencies have changed. For example, you can create a `key` using an expression that calculates the hash of an npm `package-lock.json` file. diff --git a/content/actions/advanced-guides/index.md b/content/actions/advanced-guides/index.md new file mode 100644 index 0000000000..3a92147d3a --- /dev/null +++ b/content/actions/advanced-guides/index.md @@ -0,0 +1,15 @@ +--- +title: Advanced guides +shortTitle: Advanced guides +intro: 'How to cache dependencies, store output as artifacts, and use the GitHub CLI in workflows.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' +redirect_from: + - /actions/guides/caching-and-storing-workflow-data +children: + - /caching-dependencies-to-speed-up-workflows + - /storing-workflow-data-as-artifacts + - /using-github-cli-in-workflows +--- diff --git a/content/actions/guides/storing-workflow-data-as-artifacts.md b/content/actions/advanced-guides/storing-workflow-data-as-artifacts.md similarity index 99% rename from content/actions/guides/storing-workflow-data-as-artifacts.md rename to content/actions/advanced-guides/storing-workflow-data-as-artifacts.md index 5872d3c57e..fc3bc50885 100644 --- a/content/actions/guides/storing-workflow-data-as-artifacts.md +++ b/content/actions/advanced-guides/storing-workflow-data-as-artifacts.md @@ -8,6 +8,7 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts - /actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts - /actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts + - /actions/guides/storing-workflow-data-as-artifacts versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/using-github-cli-in-workflows.md b/content/actions/advanced-guides/using-github-cli-in-workflows.md similarity index 97% rename from content/actions/guides/using-github-cli-in-workflows.md rename to content/actions/advanced-guides/using-github-cli-in-workflows.md index 225097ac65..f39d711c1d 100644 --- a/content/actions/guides/using-github-cli-in-workflows.md +++ b/content/actions/advanced-guides/using-github-cli-in-workflows.md @@ -2,6 +2,8 @@ title: Using GitHub CLI in workflows shortTitle: GitHub CLI in workflows intro: 'You can script with {% data variables.product.prodname_cli %} in {% data variables.product.prodname_actions %} workflows.' +redirect_from: + - /actions/guides/using-github-cli-in-workflows versions: fpt: '*' ghes: '>=2.22' diff --git a/content/actions/guides/about-continuous-integration.md b/content/actions/automating-builds-and-tests/about-continuous-integration.md similarity index 99% rename from content/actions/guides/about-continuous-integration.md rename to content/actions/automating-builds-and-tests/about-continuous-integration.md index bbb8938017..fb7ac94dfd 100644 --- a/content/actions/guides/about-continuous-integration.md +++ b/content/actions/automating-builds-and-tests/about-continuous-integration.md @@ -7,6 +7,7 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/about-continuous-integration - /actions/automating-your-workflow-with-github-actions/about-continuous-integration - /actions/building-and-testing-code-with-continuous-integration/about-continuous-integration + - /actions/guides/about-continuous-integration versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/building-and-testing-java-with-ant.md b/content/actions/automating-builds-and-tests/building-and-testing-java-with-ant.md similarity index 99% rename from content/actions/guides/building-and-testing-java-with-ant.md rename to content/actions/automating-builds-and-tests/building-and-testing-java-with-ant.md index 93bcc5386e..d727d74490 100644 --- a/content/actions/guides/building-and-testing-java-with-ant.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-java-with-ant.md @@ -4,6 +4,7 @@ intro: You can create a continuous integration (CI) workflow in GitHub Actions t product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/building-and-testing-java-with-ant + - /actions/guides/building-and-testing-java-with-ant versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/building-and-testing-java-with-gradle.md b/content/actions/automating-builds-and-tests/building-and-testing-java-with-gradle.md similarity index 99% rename from content/actions/guides/building-and-testing-java-with-gradle.md rename to content/actions/automating-builds-and-tests/building-and-testing-java-with-gradle.md index 9dc1b19d7c..834516e0ba 100644 --- a/content/actions/guides/building-and-testing-java-with-gradle.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-java-with-gradle.md @@ -4,6 +4,7 @@ intro: You can create a continuous integration (CI) workflow in GitHub Actions t product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/building-and-testing-java-with-gradle + - /actions/guides/building-and-testing-java-with-gradle versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/building-and-testing-java-with-maven.md b/content/actions/automating-builds-and-tests/building-and-testing-java-with-maven.md similarity index 99% rename from content/actions/guides/building-and-testing-java-with-maven.md rename to content/actions/automating-builds-and-tests/building-and-testing-java-with-maven.md index 4af4ea5ba6..0ee11553bd 100644 --- a/content/actions/guides/building-and-testing-java-with-maven.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-java-with-maven.md @@ -4,6 +4,7 @@ intro: You can create a continuous integration (CI) workflow in GitHub Actions t product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/building-and-testing-java-with-maven + - /actions/guides/building-and-testing-java-with-maven versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/building-and-testing-net.md b/content/actions/automating-builds-and-tests/building-and-testing-net.md similarity index 99% rename from content/actions/guides/building-and-testing-net.md rename to content/actions/automating-builds-and-tests/building-and-testing-net.md index b7b13a95e1..7a7f6ccda0 100644 --- a/content/actions/guides/building-and-testing-net.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-net.md @@ -2,6 +2,8 @@ title: Building and testing .NET intro: You can create a continuous integration (CI) workflow to build and test your .NET project. product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/building-and-testing-net versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/building-and-testing-nodejs-or-python.md b/content/actions/automating-builds-and-tests/building-and-testing-nodejs-or-python.md similarity index 86% rename from content/actions/guides/building-and-testing-nodejs-or-python.md rename to content/actions/automating-builds-and-tests/building-and-testing-nodejs-or-python.md index b0d2524e8f..27f1d53006 100644 --- a/content/actions/guides/building-and-testing-nodejs-or-python.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-nodejs-or-python.md @@ -3,6 +3,8 @@ title: Building and testing Node.js or Python shortTitle: Build & test Node.js or Python intro: You can create a continuous integration (CI) workflow to build and test your project. Use the language selector to show examples for your language of choice. product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/building-and-testing-nodejs-or-python versions: fpt: '*' ghes: '>=2.22' diff --git a/content/actions/guides/building-and-testing-nodejs.md b/content/actions/automating-builds-and-tests/building-and-testing-nodejs.md similarity index 98% rename from content/actions/guides/building-and-testing-nodejs.md rename to content/actions/automating-builds-and-tests/building-and-testing-nodejs.md index 4bbec78b08..4c1170443b 100644 --- a/content/actions/guides/building-and-testing-nodejs.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-nodejs.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/automating-your-workflow-with-github-actions/using-nodejs-with-github-actions - /actions/language-and-framework-guides/using-nodejs-with-github-actions + - /actions/guides/building-and-testing-nodejs versions: fpt: '*' ghes: '*' @@ -16,6 +17,7 @@ topics: - Node - JavaScript shortTitle: Build & test Node.js +hasExperimentalAlternative: true --- {% data reusables.actions.enterprise-beta %} @@ -82,7 +84,7 @@ The `setup-node` action takes a Node.js version as an input and configures that The template includes a matrix strategy that builds and tests your code with four Node.js versions: 10.x, 12.x, 14.x, and 15.x. The 'x' is a wildcard character that matches the latest minor and patch release available for a version. Each version of Node.js specified in the `node-version` array creates a job that runs the same steps. -Each job can access the value defined in the matrix `node-version` array using the `matrix` context. The `setup-node` action uses the context as the `node-version` input. The `setup-node` action configures each job with a different Node.js version before building and testing code. For more information about matrix strategies and contexts, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix)" and "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +Each job can access the value defined in the matrix `node-version` array using the `matrix` context. The `setup-node` action uses the context as the `node-version` input. The `setup-node` action configures each job with a different Node.js version before building and testing code. For more information about matrix strategies and contexts, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix)" and "[Contexts](/actions/learn-github-actions/contexts)." {% raw %} ```yaml{:copy} diff --git a/content/actions/guides/building-and-testing-powershell.md b/content/actions/automating-builds-and-tests/building-and-testing-powershell.md similarity index 99% rename from content/actions/guides/building-and-testing-powershell.md rename to content/actions/automating-builds-and-tests/building-and-testing-powershell.md index ed0d7b5a78..e810f79f75 100644 --- a/content/actions/guides/building-and-testing-powershell.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-powershell.md @@ -2,6 +2,8 @@ title: Building and testing PowerShell intro: You can create a continuous integration (CI) workflow to build and test your PowerShell project. product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/building-and-testing-powershell versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/automating-builds-and-tests/building-and-testing-python.md similarity index 99% rename from content/actions/guides/building-and-testing-python.md rename to content/actions/automating-builds-and-tests/building-and-testing-python.md index 57a627a6f5..8e7649dd9b 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-python.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/automating-your-workflow-with-github-actions/using-python-with-github-actions - /actions/language-and-framework-guides/using-python-with-github-actions + - /actions/guides/building-and-testing-python versions: fpt: '*' ghes: '*' @@ -15,6 +16,7 @@ topics: - CI - Python shortTitle: Build & test Python +hasExperimentalAlternative: true --- {% data reusables.actions.enterprise-beta %} diff --git a/content/actions/guides/building-and-testing-ruby.md b/content/actions/automating-builds-and-tests/building-and-testing-ruby.md similarity index 97% rename from content/actions/guides/building-and-testing-ruby.md rename to content/actions/automating-builds-and-tests/building-and-testing-ruby.md index 5cdb2bf75c..70339ed67c 100644 --- a/content/actions/guides/building-and-testing-ruby.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-ruby.md @@ -2,6 +2,8 @@ title: Building and testing Ruby intro: You can create a continuous integration (CI) workflow to build and test your Ruby project. product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/building-and-testing-ruby versions: fpt: '*' ghes: '*' @@ -96,7 +98,7 @@ strategy: ``` {% endraw %} -Each version of Ruby specified in the `ruby-version` array creates a job that runs the same steps. The {% raw %}`${{ matrix.ruby-version }}`{% endraw %} context is used to access the current job's version. For more information about matrix strategies and contexts, see "Workflow syntax for GitHub Actions" and "Context and expression syntax for GitHub Actions." +Each version of Ruby specified in the `ruby-version` array creates a job that runs the same steps. The {% raw %}`${{ matrix.ruby-version }}`{% endraw %} context is used to access the current job's version. For more information about matrix strategies and contexts, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions)" and "[Contexts](/actions/learn-github-actions/contexts)." The full updated workflow with a matrix strategy could look like this: diff --git a/content/actions/guides/building-and-testing-swift.md b/content/actions/automating-builds-and-tests/building-and-testing-swift.md similarity index 98% rename from content/actions/guides/building-and-testing-swift.md rename to content/actions/automating-builds-and-tests/building-and-testing-swift.md index 5ffce951ae..6c21b41a22 100644 --- a/content/actions/guides/building-and-testing-swift.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-swift.md @@ -2,6 +2,8 @@ title: Building and testing Swift intro: You can create a continuous integration (CI) workflow to build and test your Swift project. product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/building-and-testing-swift versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/building-and-testing-xamarin-applications.md b/content/actions/automating-builds-and-tests/building-and-testing-xamarin-applications.md similarity index 98% rename from content/actions/guides/building-and-testing-xamarin-applications.md rename to content/actions/automating-builds-and-tests/building-and-testing-xamarin-applications.md index b240acbe66..ff0776243b 100644 --- a/content/actions/guides/building-and-testing-xamarin-applications.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-xamarin-applications.md @@ -2,6 +2,8 @@ title: Building and testing Xamarin applications intro: You can create a continuous integration (CI) workflow in GitHub Actions to build and test your Xamarin application. product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/building-and-testing-xamarin-applications versions: fpt: '*' ghes: '*' diff --git a/content/actions/automating-builds-and-tests/index.md b/content/actions/automating-builds-and-tests/index.md new file mode 100644 index 0000000000..c133dce634 --- /dev/null +++ b/content/actions/automating-builds-and-tests/index.md @@ -0,0 +1,30 @@ +--- +title: Automating builds and tests +shortTitle: Build and test +intro: 'You can automatically build and test your projects with {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' +redirect_from: + - /actions/building-and-testing-code-with-continuous-integration + - /actions/language-and-framework-guides + - /actions/language-and-framework-guides/github-actions-for-docker + - /actions/language-and-framework-guides/github-actions-for-java + - /actions/language-and-framework-guides/github-actions-for-javascript-and-typescript + - /actions/language-and-framework-guides/github-actions-for-python +children: + - /about-continuous-integration + - /building-and-testing-java-with-ant + - /building-and-testing-java-with-gradle + - /building-and-testing-java-with-maven + - /building-and-testing-net + - /building-and-testing-nodejs-or-python + - /building-and-testing-nodejs + - /building-and-testing-powershell + - /building-and-testing-python + - /building-and-testing-ruby + - /building-and-testing-swift + - /building-and-testing-xamarin-applications +--- + diff --git a/content/actions/creating-actions/about-actions.md b/content/actions/creating-actions/about-custom-actions.md similarity index 99% rename from content/actions/creating-actions/about-actions.md rename to content/actions/creating-actions/about-custom-actions.md index 3be88f6555..3f141b6e51 100644 --- a/content/actions/creating-actions/about-actions.md +++ b/content/actions/creating-actions/about-custom-actions.md @@ -1,5 +1,5 @@ --- -title: About actions +title: About custom actions intro: 'Actions are individual tasks that you can combine to create jobs and customize your workflow. You can create your own actions, or use and customize actions shared by the {% data variables.product.prodname_dotcom %} community.' product: '{% data reusables.gated-features.actions %}' redirect_from: @@ -7,6 +7,7 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/about-actions - /actions/automating-your-workflow-with-github-actions/about-actions - /actions/building-actions/about-actions + - /actions/creating-actions/about-actions versions: fpt: '*' ghes: '*' @@ -21,7 +22,7 @@ topics: {% data reusables.actions.enterprise-github-hosted-runners %} {% data reusables.actions.ae-beta %} -## About actions +## About custom actions You can create actions by writing custom code that interacts with your repository in any way you'd like, including integrating with {% data variables.product.prodname_dotcom %}'s APIs and any publicly available third-party API. For example, an action can publish npm modules, send SMS alerts when urgent issues are created, or deploy production-ready code. diff --git a/content/actions/creating-actions/dockerfile-support-for-github-actions.md b/content/actions/creating-actions/dockerfile-support-for-github-actions.md index e15821f486..749bf9ab45 100644 --- a/content/actions/creating-actions/dockerfile-support-for-github-actions.md +++ b/content/actions/creating-actions/dockerfile-support-for-github-actions.md @@ -1,6 +1,6 @@ --- title: Dockerfile support for GitHub Actions -shortTitle: Docker +shortTitle: Dockerfile support intro: 'When creating a `Dockerfile` for a Docker container action, you should be aware of how some Docker instructions interact with GitHub Actions and an action''s metadata file.' product: '{% data reusables.gated-features.actions %}' redirect_from: diff --git a/content/actions/creating-actions/index.md b/content/actions/creating-actions/index.md index b5af50ed7f..5cf9f4e773 100644 --- a/content/actions/creating-actions/index.md +++ b/content/actions/creating-actions/index.md @@ -12,7 +12,7 @@ versions: ghes: '*' ghae: '*' children: - - /about-actions + - /about-custom-actions - /creating-a-docker-container-action - /creating-a-javascript-action - /creating-a-composite-action diff --git a/content/actions/creating-actions/metadata-syntax-for-github-actions.md b/content/actions/creating-actions/metadata-syntax-for-github-actions.md index f4f1ee27cc..3155c98d42 100644 --- a/content/actions/creating-actions/metadata-syntax-for-github-actions.md +++ b/content/actions/creating-actions/metadata-syntax-for-github-actions.md @@ -131,7 +131,7 @@ runs: **Required** The value that the output parameter will be mapped to. You can set this to a `string` or an expression with context. For example, you can use the `steps` context to set the `value` of an output to the output value of a step. -For more information on how to use context and expression syntax, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)". +For more information on how to use context syntax, see "[Contexts](/actions/learn-github-actions/contexts)." ## `runs` for JavaScript actions @@ -265,7 +265,7 @@ For more information, see "[`github context`](/actions/reference/context-and-exp #### `runs.steps[*].id` -**Optional** A unique identifier for the step. You can use the `id` to reference the step in contexts. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)". +**Optional** A unique identifier for the step. You can use the `id` to reference the step in contexts. For more information, see "[Contexts](/actions/learn-github-actions/contexts)." #### `runs.steps[*].env` diff --git a/content/actions/guides/deploying-to-amazon-elastic-container-service.md b/content/actions/deployment/deploying-to-amazon-elastic-container-service.md similarity index 98% rename from content/actions/guides/deploying-to-amazon-elastic-container-service.md rename to content/actions/deployment/deploying-to-amazon-elastic-container-service.md index 856e256e9a..52e1f8153a 100644 --- a/content/actions/guides/deploying-to-amazon-elastic-container-service.md +++ b/content/actions/deployment/deploying-to-amazon-elastic-container-service.md @@ -2,6 +2,8 @@ title: Deploying to Amazon Elastic Container Service intro: You can deploy to Amazon Elastic Container Service (ECS) as part of your continuous deployment (CD) workflows. product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/deploying-to-amazon-elastic-container-service versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/deploying-to-azure-app-service.md b/content/actions/deployment/deploying-to-azure-app-service.md similarity index 98% rename from content/actions/guides/deploying-to-azure-app-service.md rename to content/actions/deployment/deploying-to-azure-app-service.md index 9eb32a1eec..797fb38d25 100644 --- a/content/actions/guides/deploying-to-azure-app-service.md +++ b/content/actions/deployment/deploying-to-azure-app-service.md @@ -2,6 +2,8 @@ title: Deploying to Azure App Service intro: You can deploy to Azure App Service as part of your continuous deployment (CD) workflows. product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/deploying-to-azure-app-service versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/deploying-to-google-kubernetes-engine.md b/content/actions/deployment/deploying-to-google-kubernetes-engine.md similarity index 98% rename from content/actions/guides/deploying-to-google-kubernetes-engine.md rename to content/actions/deployment/deploying-to-google-kubernetes-engine.md index 58f34185c4..5063089ba5 100644 --- a/content/actions/guides/deploying-to-google-kubernetes-engine.md +++ b/content/actions/deployment/deploying-to-google-kubernetes-engine.md @@ -2,6 +2,8 @@ title: Deploying to Google Kubernetes Engine intro: You can deploy to Google Kubernetes Engine as part of your continuous deployment (CD) workflows. product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/deploying-to-google-kubernetes-engine versions: fpt: '*' ghes: '*' diff --git a/content/actions/reference/environments.md b/content/actions/deployment/environments.md similarity index 99% rename from content/actions/reference/environments.md rename to content/actions/deployment/environments.md index 56a187083b..c900e5554b 100644 --- a/content/actions/reference/environments.md +++ b/content/actions/deployment/environments.md @@ -2,6 +2,8 @@ title: Environments intro: You can configure environments with protection rules and secrets. A workflow job can reference an environment to use the environment's protection rules and secrets. product: '{% data reusables.gated-features.environments %}' +redirect_from: + - /actions/reference/environments versions: fpt: '*' ghes: '>=3.1' diff --git a/content/actions/deployment/index.md b/content/actions/deployment/index.md new file mode 100644 index 0000000000..2ae385cc62 --- /dev/null +++ b/content/actions/deployment/index.md @@ -0,0 +1,16 @@ +--- +title: Deployment +shortTitle: Deployment +intro: 'Automatically deploy projects with {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' +children: + - /deploying-to-amazon-elastic-container-service + - /deploying-to-azure-app-service + - /deploying-to-google-kubernetes-engine + - /installing-an-apple-certificate-on-macos-runners-for-xcode-development + - /environments +--- + diff --git a/content/actions/guides/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md b/content/actions/deployment/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md similarity index 98% rename from content/actions/guides/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md rename to content/actions/deployment/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md index f31adfcbd2..bf2d15646f 100644 --- a/content/actions/guides/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md +++ b/content/actions/deployment/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md @@ -2,6 +2,8 @@ title: Installing an Apple certificate on macOS runners for Xcode development intro: 'You can sign Xcode apps within your continuous integration (CI) workflow by installing an Apple code signing certificate on {% data variables.product.prodname_actions %} runners.' product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/installing-an-apple-certificate-on-macos-runners-for-xcode-development versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/index.md b/content/actions/guides/index.md deleted file mode 100644 index 95f141516d..0000000000 --- a/content/actions/guides/index.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: Guides -shortTitle: Guides -intro: 'These guides for {% data variables.product.prodname_actions %} include specific use cases and examples to help you configure workflows.' -redirect_from: - - /actions/guides/caching-and-storing-workflow-data - - /actions/automating-your-workflow-with-github-actions/using-databases-and-services - - /actions/configuring-and-managing-workflows/using-databases-and-service-containers - - /actions/guides/using-databases-and-service-containers - - /actions/language-and-framework-guides - - /actions/language-and-framework-guides/github-actions-for-docker - - /actions/language-and-framework-guides/github-actions-for-java - - /actions/language-and-framework-guides/github-actions-for-javascript-and-typescript - - /actions/language-and-framework-guides/github-actions-for-python - - /actions/publishing-packages-with-github-actions - - /actions/building-and-testing-code-with-continuous-integration -versions: - fpt: '*' - ghes: '*' - ghae: '*' -learningTracks: - - getting_started - - continuous_integration - - continuous_deployment - - deploy_to_the_cloud - - hosting_your_own_runners - - create_actions -layout: product-sublanding -includeGuides: - - /actions/quickstart - - /actions/learn-github-actions/introduction-to-github-actions - - /actions/creating-actions/creating-a-docker-container-action - - /actions/guides/setting-up-continuous-integration-using-workflow-templates - - /actions/guides/building-and-testing-python - - /actions/guides/building-and-testing-nodejs - - /actions/guides/about-packaging-with-github-actions - - /actions/guides/publishing-docker-images - - /actions/guides/caching-dependencies-to-speed-up-workflows - - /actions/guides/about-continuous-integration - - /actions/guides/building-and-testing-powershell - - /actions/guides/building-and-testing-ruby - - /actions/guides/building-and-testing-java-with-maven - - /actions/guides/building-and-testing-java-with-gradle - - /actions/guides/building-and-testing-java-with-ant - - /actions/guide/building-and-testing-swift - - /actions/guides/installing-an-apple-certificate-on-macos-runners-for-xcode-development - - /actions/guides/building-and-testing-xamarin-applications - - /actions/guides/publishing-nodejs-packages - - /actions/guides/publishing-java-packages-with-maven - - /actions/guides/publishing-java-packages-with-gradle - - /actions/guides/storing-workflow-data-as-artifacts - - /actions/guides/about-service-containers - - /actions/guides/creating-redis-service-containers - - /actions/guides/creating-postgresql-service-containers - - /actions/guides/deploying-to-amazon-elastic-container-service - - /actions/guides/deploying-to-azure-app-service - - /actions/guides/deploying-to-google-kubernetes-engine - - /actions/learn-github-actions/essential-features-of-github-actions - - /actions/learn-github-actions/security-hardening-for-github-actions - - /actions/creating-actions/about-actions - - /actions/creating-actions/creating-a-javascript-action - - /actions/creating-actions/creating-a-composite-action - - /actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions - - /actions/learn-github-actions/migrating-from-circleci-to-github-actions - - /actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions - - /actions/learn-github-actions/migrating-from-jenkins-to-github-actions - - /actions/learn-github-actions/migrating-from-travis-ci-to-github-actions - - /actions/guides/using-github-actions-for-project-management - - /actions/guides/closing-inactive-issues - - /actions/guides/scheduling-issue-creation - - /actions/guides/adding-labels-to-issues - - /actions/guides/commenting-on-an-issue-when-a-label-is-added - - /actions/guides/moving-assigned-issues-on-project-boards - - /actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column - - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions - - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot -children: - - /about-continuous-integration - - /setting-up-continuous-integration-using-workflow-templates - - /building-and-testing-nodejs-or-python - - /building-and-testing-nodejs - - /building-and-testing-net - - /building-and-testing-powershell - - /building-and-testing-python - - /building-and-testing-ruby - - /building-and-testing-java-with-maven - - /building-and-testing-java-with-gradle - - /building-and-testing-java-with-ant - - /building-and-testing-swift - - /installing-an-apple-certificate-on-macos-runners-for-xcode-development - - /building-and-testing-xamarin-applications - - /about-packaging-with-github-actions - - /publishing-nodejs-packages - - /publishing-java-packages-with-maven - - /publishing-java-packages-with-gradle - - /publishing-docker-images - - /storing-workflow-data-as-artifacts - - /caching-dependencies-to-speed-up-workflows - - /about-service-containers - - /creating-redis-service-containers - - /creating-postgresql-service-containers - - /deploying-to-amazon-elastic-container-service - - /deploying-to-azure-app-service - - /deploying-to-google-kubernetes-engine - - /using-github-actions-for-project-management - - /closing-inactive-issues - - /scheduling-issue-creation - - /adding-labels-to-issues - - /commenting-on-an-issue-when-a-label-is-added - - /moving-assigned-issues-on-project-boards - - /removing-a-label-when-a-card-is-added-to-a-project-board-column - - /using-github-cli-in-workflows ---- - diff --git a/content/actions/index.md b/content/actions/index.md index dbe0c9a0ed..3d4b6b62aa 100644 --- a/content/actions/index.md +++ b/content/actions/index.md @@ -5,7 +5,6 @@ intro: 'Automate, customize, and execute your software development workflows rig introLinks: overview: /actions/learn-github-actions/understanding-github-actions quickstart: /actions/quickstart - reference: /actions/reference featuredLinks: guides: - /actions/learn-github-actions @@ -17,12 +16,13 @@ featuredLinks: - /actions/guides/publishing-nodejs-packages - /actions/guides/building-and-testing-powershell popular: - - /actions/reference/workflow-syntax-for-github-actions + - /actions/learn-github-actions/workflow-syntax-for-github-actions - /actions/learn-github-actions - - /actions/reference/events-that-trigger-workflows - - /actions/reference/context-and-expression-syntax-for-github-actions - - /actions/reference/environment-variables - - /actions/reference/encrypted-secrets + - /actions/learn-github-actions/events-that-trigger-workflows + - /actions/learn-github-actions/contexts + - /actions/learn-github-actions/expressions + - /actions/learn-github-actions/environment-variables + - /actions/security-guides/encrypted-secrets changelog: label: actions prefix: 'GitHub Actions: ' @@ -35,6 +35,8 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/ - /categories/automating-your-workflow-with-github-actions - /marketplace/actions + - /actions/guides + - /actions/reference layout: product-landing versions: fpt: '*' @@ -42,13 +44,18 @@ versions: ghae: '*' children: - /quickstart - - /guides - /learn-github-actions - - /managing-workflow-runs - /creating-actions + - /security-guides + - /automating-builds-and-tests + - /deployment + - /managing-issues-and-pull-requests + - /publishing-packages + - /using-containerized-services + - /advanced-guides + - /managing-workflow-runs - /monitoring-and-troubleshooting-workflows - /using-github-hosted-runners - /hosting-your-own-runners - - /reference + - /migrating-to-github-actions --- - diff --git a/content/actions/reference/context-and-expression-syntax-for-github-actions.md b/content/actions/learn-github-actions/contexts.md similarity index 62% rename from content/actions/reference/context-and-expression-syntax-for-github-actions.md rename to content/actions/learn-github-actions/contexts.md index 1463f03c75..9c74e0674f 100644 --- a/content/actions/reference/context-and-expression-syntax-for-github-actions.md +++ b/content/actions/learn-github-actions/contexts.md @@ -1,13 +1,14 @@ --- -title: Context and expression syntax for GitHub Actions -shortTitle: Context and expression syntax -intro: You can access context information and evaluate expressions in workflows and actions. +title: Contexts +shortTitle: Contexts +intro: You can access context information in workflows and actions. product: '{% data reusables.gated-features.actions %}' redirect_from: - /articles/contexts-and-expression-syntax-for-github-actions - /github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions - /actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions - /actions/reference/contexts-and-expression-syntax-for-github-actions + - /actions/reference/context-and-expression-syntax-for-github-actions versions: fpt: '*' ghes: '*' @@ -19,42 +20,11 @@ miniTocMaxHeadingLevel: 3 {% data reusables.actions.enterprise-github-hosted-runners %} {% data reusables.actions.ae-beta %} -## About contexts and expressions - -You can use expressions to programmatically set variables in workflow files and access contexts. An expression can be any combination of literal values, references to a context, or functions. You can combine literals, context references, and functions using operators. - -Expressions are commonly used with the conditional `if` keyword in a workflow file to determine whether a step should run. When an `if` conditional is `true`, the step will run. - -You need to use specific syntax to tell {% data variables.product.prodname_dotcom %} to evaluate an expression rather than treat it as a string. - -{% raw %} -`${{ }}` -{% endraw %} - -{% data reusables.github-actions.expression-syntax-if %} For more information about `if` conditionals, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions/#jobsjob_idif)." +## About contexts {% data reusables.github-actions.context-injection-warning %} -#### Example expression in an `if` conditional - -```yaml -steps: - - uses: actions/hello-world-javascript-action@v1.1 - if: {% raw %}${{ }}{% endraw %} -``` - -#### Example setting an environment variable - -{% raw %} -```yaml -env: - MY_ENV_VAR: ${{ }} -``` -{% endraw %} - -## Contexts - -Contexts are a way to access information about workflow runs, runner environments, jobs, and steps. Contexts use the expression syntax. +Contexts are a way to access information about workflow runs, runner environments, jobs, and steps. Contexts use the expression syntax. For more information, see "[Expressions](/actions/learn-github-actions/expressions)." {% raw %} `${{ }}` @@ -217,292 +187,6 @@ jobs: ``` {% endraw %} -## Literals - -As part of an expression, you can use `boolean`, `null`, `number`, or `string` data types. - -| Data type | Literal value | -|-----------|---------------| -| `boolean` | `true` or `false` | -| `null` | `null` | -| `number` | Any number format supported by JSON. | -| `string` | You must use single quotes. Escape literal single-quotes with a single quote. | - -#### Example - -{% raw %} -```yaml -env: - myNull: ${{ null }} - myBoolean: ${{ false }} - myIntegerNumber: ${{ 711 }} - myFloatNumber: ${{ -9.2 }} - myHexNumber: ${{ 0xff }} - myExponentialNumber: ${{ -2.99-e2 }} - myString: ${{ 'Mona the Octocat' }} - myEscapedString: ${{ 'It''s open source!' }} -``` -{% endraw %} - -## Operators - -| Operator | Description | -| --- | --- | -| `( )` | Logical grouping | -| `[ ]` | Index -| `.` | Property dereference | -| `!` | Not | -| `<` | Less than | -| `<=` | Less than or equal | -| `>` | Greater than | -| `>=` | Greater than or equal | -| `==` | Equal | -| `!=` | Not equal | -| `&&` | And | -| \|\| | Or | - -{% data variables.product.prodname_dotcom %} performs loose equality comparisons. - -* If the types do not match, {% data variables.product.prodname_dotcom %} coerces the type to a number. {% data variables.product.prodname_dotcom %} casts data types to a number using these conversions: - - | Type | Result | - | --- | --- | - | Null | `0` | - | Boolean | `true` returns `1`
`false` returns `0` | - | String | Parsed from any legal JSON number format, otherwise `NaN`.
Note: empty string returns `0`. | - | Array | `NaN` | - | Object | `NaN` | -* A comparison of one `NaN` to another `NaN` does not result in `true`. For more information, see the "[NaN Mozilla docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN)." -* {% data variables.product.prodname_dotcom %} ignores case when comparing strings. -* Objects and arrays are only considered equal when they are the same instance. - -## Functions - -{% data variables.product.prodname_dotcom %} offers a set of built-in functions that you can use in expressions. Some functions cast values to a string to perform comparisons. {% data variables.product.prodname_dotcom %} casts data types to a string using these conversions: - -| Type | Result | -| --- | --- | -| Null | `''` | -| Boolean | `'true'` or `'false'` | -| Number | Decimal format, exponential for large numbers | -| Array | Arrays are not converted to a string | -| Object | Objects are not converted to a string | - -### contains - -`contains( search, item )` - -Returns `true` if `search` contains `item`. If `search` is an array, this function returns `true` if the `item` is an element in the array. If `search` is a string, this function returns `true` if the `item` is a substring of `search`. This function is not case sensitive. Casts values to a string. - -#### Example using an array - -`contains(github.event.issue.labels.*.name, 'bug')` - -#### Example using a string - -`contains('Hello world', 'llo')` returns `true` - -### startsWith - -`startsWith( searchString, searchValue )` - -Returns `true` when `searchString` starts with `searchValue`. This function is not case sensitive. Casts values to a string. - -#### Example - -`startsWith('Hello world', 'He')` returns `true` - -### endsWith - -`endsWith( searchString, searchValue )` - -Returns `true` if `searchString` ends with `searchValue`. This function is not case sensitive. Casts values to a string. - -#### Example - -`endsWith('Hello world', 'ld')` returns `true` - -### format - -`format( string, replaceValue0, replaceValue1, ..., replaceValueN)` - -Replaces values in the `string`, with the variable `replaceValueN`. Variables in the `string` are specified using the `{N}` syntax, where `N` is an integer. You must specify at least one `replaceValue` and `string`. There is no maximum for the number of variables (`replaceValueN`) you can use. Escape curly braces using double braces. - -#### Example - -Returns 'Hello Mona the Octocat' - -`format('Hello {0} {1} {2}', 'Mona', 'the', 'Octocat')` - -#### Example escaping braces - -Returns '{Hello Mona the Octocat!}' - -{% raw %} -```js -format('{{Hello {0} {1} {2}!}}', 'Mona', 'the', 'Octocat') -``` -{% endraw %} - -### join - -`join( array, optionalSeparator )` - -The value for `array` can be an array or a string. All values in `array` are concatenated into a string. If you provide `optionalSeparator`, it is inserted between the concatenated values. Otherwise, the default separator `,` is used. Casts values to a string. - -#### Example - -`join(github.event.issue.labels.*.name, ', ')` may return 'bug, help wanted' - -### toJSON - -`toJSON(value)` - -Returns a pretty-print JSON representation of `value`. You can use this function to debug the information provided in contexts. - -#### Example - -`toJSON(job)` might return `{ "status": "Success" }` - -### fromJSON - -`fromJSON(value)` - -Returns a JSON object or JSON data type for `value`. You can use this function to provide a JSON object as an evaluated expression or to convert environment variables from a string. - -#### Example returning a JSON object - -This workflow sets a JSON matrix in one job, and passes it to the next job using an output and `fromJSON`. - -{% raw %} -```yaml -name: build -on: push -jobs: - job1: - runs-on: ubuntu-latest - outputs: - matrix: ${{ steps.set-matrix.outputs.matrix }} - steps: - - id: set-matrix - run: echo "::set-output name=matrix::{\"include\":[{\"project\":\"foo\",\"config\":\"Debug\"},{\"project\":\"bar\",\"config\":\"Release\"}]}" - job2: - needs: job1 - runs-on: ubuntu-latest - strategy: - matrix: ${{fromJSON(needs.job1.outputs.matrix)}} - steps: - - run: build -``` -{% endraw %} - -#### Example returning a JSON data type - -This workflow uses `fromJSON` to convert environment variables from a string to a Boolean or integer. - -{% raw %} -```yaml -name: print -on: push -env: - continue: true - time: 3 -jobs: - job1: - runs-on: ubuntu-latest - steps: - - continue-on-error: ${{ fromJSON(env.continue) }} - timeout-minutes: ${{ fromJSON(env.time) }} - run: echo ... -``` -{% endraw %} - -### hashFiles - -`hashFiles(path)` - -Returns a single hash for the set of files that matches the `path` pattern. You can provide a single `path` pattern or multiple `path` patterns separated by commas. The `path` is relative to the `GITHUB_WORKSPACE` directory and can only include files inside of the `GITHUB_WORKSPACE`. This function calculates an individual SHA-256 hash for each matched file, and then uses those hashes to calculate a final SHA-256 hash for the set of files. For more information about SHA-256, see "[SHA-2](https://en.wikipedia.org/wiki/SHA-2)." - -You can use pattern matching characters to match file names. Pattern matching is case-insensitive on Windows. For more information about supported pattern matching characters, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions/#filter-pattern-cheat-sheet)." - -#### Example with a single pattern - -Matches any `package-lock.json` file in the repository. - -`hashFiles('**/package-lock.json')` - -#### Example with multiple patterns - -Creates a hash for any `package-lock.json` and `Gemfile.lock` files in the repository. - -`hashFiles('**/package-lock.json', '**/Gemfile.lock')` - -## Job status check functions - -You can use the following status check functions as expressions in `if` conditionals. A default status check of `success()` is applied unless you include one of these functions. For more information about `if` conditionals, see "[Workflow syntax for GitHub Actions](/articles/workflow-syntax-for-github-actions/#jobsjob_idif)." - -### success - -Returns `true` when none of the previous steps have failed or been canceled. - -#### Example - -```yaml -steps: - ... - - name: The job has succeeded - if: {% raw %}${{ success() }}{% endraw %} -``` - -### always - -Causes the step to always execute, and returns `true`, even when canceled. A job or step will not run when a critical failure prevents the task from running. For example, if getting sources failed. - -#### Example - -```yaml -if: {% raw %}${{ always() }}{% endraw %} -``` - -### cancelled - -Returns `true` if the workflow was canceled. - -#### Example - -```yaml -if: {% raw %}${{ cancelled() }}{% endraw %} -``` - -### failure - -Returns `true` when any previous step of a job fails. - -#### Example - -```yaml -steps: - ... - - name: The job has failed - if: {% raw %}${{ failure() }}{% endraw %} -``` - -## Object filters - -You can use the `*` syntax to apply a filter and select matching items in a collection. - -For example, consider an array of objects named `fruits`. - -```json -[ - { "name": "apple", "quantity": 1 }, - { "name": "orange", "quantity": 2 }, - { "name": "pear", "quantity": 1 } -] -``` - -The filter `fruits.*.name` returns the array `[ "apple", "orange", "pear" ]` - ## Context availability Different contexts are available throughout a workflow run. For example, the `secrets` context may only be used at certain places within a job. diff --git a/content/actions/reference/environment-variables.md b/content/actions/learn-github-actions/environment-variables.md similarity index 99% rename from content/actions/reference/environment-variables.md rename to content/actions/learn-github-actions/environment-variables.md index baf73f3de1..33bb592aea 100644 --- a/content/actions/reference/environment-variables.md +++ b/content/actions/learn-github-actions/environment-variables.md @@ -6,6 +6,7 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/using-environment-variables - /actions/automating-your-workflow-with-github-actions/using-environment-variables - /actions/configuring-and-managing-workflows/using-environment-variables + - /actions/reference/environment-variables versions: fpt: '*' ghes: '*' diff --git a/content/actions/reference/events-that-trigger-workflows.md b/content/actions/learn-github-actions/events-that-trigger-workflows.md similarity index 99% rename from content/actions/reference/events-that-trigger-workflows.md rename to content/actions/learn-github-actions/events-that-trigger-workflows.md index c15239ddb7..0af1f3de5f 100644 --- a/content/actions/reference/events-that-trigger-workflows.md +++ b/content/actions/learn-github-actions/events-that-trigger-workflows.md @@ -7,6 +7,7 @@ redirect_from: - /articles/events-that-trigger-workflows - /github/automating-your-workflow-with-github-actions/events-that-trigger-workflows - /actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows + - /actions/reference/events-that-trigger-workflows versions: fpt: '*' ghes: '*' @@ -97,7 +98,7 @@ You can manually trigger workflow runs. To trigger specific workflows in a repos | ------------------ | ------------ | ------------ | ------------------| | [workflow_dispatch](/webhooks/event-payloads/#workflow_dispatch) | n/a | Last commit on the `GITHUB_REF` branch | Branch that received dispatch | -You can configure custom-defined input properties, default input values, and required inputs for the event directly in your workflow. When the workflow runs, you can access the input values in the `github.event.inputs` context. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions#github-context)." +You can configure custom-defined input properties, default input values, and required inputs for the event directly in your workflow. When the workflow runs, you can access the input values in the `github.event.inputs` context. For more information, see "[Contexts](/actions/learn-github-actions/contexts)." You can manually trigger a workflow run using the {% data variables.product.product_name %} API and from {% data variables.product.product_name %}. For more information, see "[Manually running a workflow](/actions/managing-workflow-runs/manually-running-a-workflow)." diff --git a/content/actions/learn-github-actions/expressions.md b/content/actions/learn-github-actions/expressions.md new file mode 100644 index 0000000000..43d3901619 --- /dev/null +++ b/content/actions/learn-github-actions/expressions.md @@ -0,0 +1,334 @@ +--- +title: Expressions +shortTitle: Expressions +intro: You can evaluate expressions in workflows and actions. +product: '{% data reusables.gated-features.actions %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} +{% data reusables.actions.ae-beta %} + +## About expressions + +You can use expressions to programmatically set variables in workflow files and access contexts. An expression can be any combination of literal values, references to a context, or functions. You can combine literals, context references, and functions using operators. For more information about contexts, see "[Contexts](/actions/learn-github-actions/contexts)." + +Expressions are commonly used with the conditional `if` keyword in a workflow file to determine whether a step should run. When an `if` conditional is `true`, the step will run. + +You need to use specific syntax to tell {% data variables.product.prodname_dotcom %} to evaluate an expression rather than treat it as a string. + +{% raw %} +`${{ }}` +{% endraw %} + +{% data reusables.github-actions.expression-syntax-if %} For more information about `if` conditionals, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions/#jobsjob_idif)." + +{% data reusables.github-actions.context-injection-warning %} + +#### Example expression in an `if` conditional + +```yaml +steps: + - uses: actions/hello-world-javascript-action@v1.1 + if: {% raw %}${{ }}{% endraw %} +``` + +#### Example setting an environment variable + +{% raw %} +```yaml +env: + MY_ENV_VAR: ${{ }} +``` +{% endraw %} + +## Literals + +As part of an expression, you can use `boolean`, `null`, `number`, or `string` data types. + +| Data type | Literal value | +|-----------|---------------| +| `boolean` | `true` or `false` | +| `null` | `null` | +| `number` | Any number format supported by JSON. | +| `string` | You must use single quotes. Escape literal single-quotes with a single quote. | + +#### Example + +{% raw %} +```yaml +env: + myNull: ${{ null }} + myBoolean: ${{ false }} + myIntegerNumber: ${{ 711 }} + myFloatNumber: ${{ -9.2 }} + myHexNumber: ${{ 0xff }} + myExponentialNumber: ${{ -2.99-e2 }} + myString: ${{ 'Mona the Octocat' }} + myEscapedString: ${{ 'It''s open source!' }} +``` +{% endraw %} + +## Operators + +| Operator | Description | +| --- | --- | +| `( )` | Logical grouping | +| `[ ]` | Index +| `.` | Property dereference | +| `!` | Not | +| `<` | Less than | +| `<=` | Less than or equal | +| `>` | Greater than | +| `>=` | Greater than or equal | +| `==` | Equal | +| `!=` | Not equal | +| `&&` | And | +| \|\| | Or | + +{% data variables.product.prodname_dotcom %} performs loose equality comparisons. + +* If the types do not match, {% data variables.product.prodname_dotcom %} coerces the type to a number. {% data variables.product.prodname_dotcom %} casts data types to a number using these conversions: + + | Type | Result | + | --- | --- | + | Null | `0` | + | Boolean | `true` returns `1`
`false` returns `0` | + | String | Parsed from any legal JSON number format, otherwise `NaN`.
Note: empty string returns `0`. | + | Array | `NaN` | + | Object | `NaN` | +* A comparison of one `NaN` to another `NaN` does not result in `true`. For more information, see the "[NaN Mozilla docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN)." +* {% data variables.product.prodname_dotcom %} ignores case when comparing strings. +* Objects and arrays are only considered equal when they are the same instance. + +## Functions + +{% data variables.product.prodname_dotcom %} offers a set of built-in functions that you can use in expressions. Some functions cast values to a string to perform comparisons. {% data variables.product.prodname_dotcom %} casts data types to a string using these conversions: + +| Type | Result | +| --- | --- | +| Null | `''` | +| Boolean | `'true'` or `'false'` | +| Number | Decimal format, exponential for large numbers | +| Array | Arrays are not converted to a string | +| Object | Objects are not converted to a string | + +### contains + +`contains( search, item )` + +Returns `true` if `search` contains `item`. If `search` is an array, this function returns `true` if the `item` is an element in the array. If `search` is a string, this function returns `true` if the `item` is a substring of `search`. This function is not case sensitive. Casts values to a string. + +#### Example using an array + +`contains(github.event.issue.labels.*.name, 'bug')` + +#### Example using a string + +`contains('Hello world', 'llo')` returns `true` + +### startsWith + +`startsWith( searchString, searchValue )` + +Returns `true` when `searchString` starts with `searchValue`. This function is not case sensitive. Casts values to a string. + +#### Example + +`startsWith('Hello world', 'He')` returns `true` + +### endsWith + +`endsWith( searchString, searchValue )` + +Returns `true` if `searchString` ends with `searchValue`. This function is not case sensitive. Casts values to a string. + +#### Example + +`endsWith('Hello world', 'ld')` returns `true` + +### format + +`format( string, replaceValue0, replaceValue1, ..., replaceValueN)` + +Replaces values in the `string`, with the variable `replaceValueN`. Variables in the `string` are specified using the `{N}` syntax, where `N` is an integer. You must specify at least one `replaceValue` and `string`. There is no maximum for the number of variables (`replaceValueN`) you can use. Escape curly braces using double braces. + +#### Example + +Returns 'Hello Mona the Octocat' + +`format('Hello {0} {1} {2}', 'Mona', 'the', 'Octocat')` + +#### Example escaping braces + +Returns '{Hello Mona the Octocat!}' + +{% raw %} +```js +format('{{Hello {0} {1} {2}!}}', 'Mona', 'the', 'Octocat') +``` +{% endraw %} + +### join + +`join( array, optionalSeparator )` + +The value for `array` can be an array or a string. All values in `array` are concatenated into a string. If you provide `optionalSeparator`, it is inserted between the concatenated values. Otherwise, the default separator `,` is used. Casts values to a string. + +#### Example + +`join(github.event.issue.labels.*.name, ', ')` may return 'bug, help wanted' + +### toJSON + +`toJSON(value)` + +Returns a pretty-print JSON representation of `value`. You can use this function to debug the information provided in contexts. + +#### Example + +`toJSON(job)` might return `{ "status": "Success" }` + +### fromJSON + +`fromJSON(value)` + +Returns a JSON object or JSON data type for `value`. You can use this function to provide a JSON object as an evaluated expression or to convert environment variables from a string. + +#### Example returning a JSON object + +This workflow sets a JSON matrix in one job, and passes it to the next job using an output and `fromJSON`. + +{% raw %} +```yaml +name: build +on: push +jobs: + job1: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - id: set-matrix + run: echo "::set-output name=matrix::{\"include\":[{\"project\":\"foo\",\"config\":\"Debug\"},{\"project\":\"bar\",\"config\":\"Release\"}]}" + job2: + needs: job1 + runs-on: ubuntu-latest + strategy: + matrix: ${{fromJSON(needs.job1.outputs.matrix)}} + steps: + - run: build +``` +{% endraw %} + +#### Example returning a JSON data type + +This workflow uses `fromJSON` to convert environment variables from a string to a Boolean or integer. + +{% raw %} +```yaml +name: print +on: push +env: + continue: true + time: 3 +jobs: + job1: + runs-on: ubuntu-latest + steps: + - continue-on-error: ${{ fromJSON(env.continue) }} + timeout-minutes: ${{ fromJSON(env.time) }} + run: echo ... +``` +{% endraw %} + +### hashFiles + +`hashFiles(path)` + +Returns a single hash for the set of files that matches the `path` pattern. You can provide a single `path` pattern or multiple `path` patterns separated by commas. The `path` is relative to the `GITHUB_WORKSPACE` directory and can only include files inside of the `GITHUB_WORKSPACE`. This function calculates an individual SHA-256 hash for each matched file, and then uses those hashes to calculate a final SHA-256 hash for the set of files. For more information about SHA-256, see "[SHA-2](https://en.wikipedia.org/wiki/SHA-2)." + +You can use pattern matching characters to match file names. Pattern matching is case-insensitive on Windows. For more information about supported pattern matching characters, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions/#filter-pattern-cheat-sheet)." + +#### Example with a single pattern + +Matches any `package-lock.json` file in the repository. + +`hashFiles('**/package-lock.json')` + +#### Example with multiple patterns + +Creates a hash for any `package-lock.json` and `Gemfile.lock` files in the repository. + +`hashFiles('**/package-lock.json', '**/Gemfile.lock')` + +## Job status check functions + +You can use the following status check functions as expressions in `if` conditionals. A default status check of `success()` is applied unless you include one of these functions. For more information about `if` conditionals, see "[Workflow syntax for GitHub Actions](/articles/workflow-syntax-for-github-actions/#jobsjob_idif)." + +### success + +Returns `true` when none of the previous steps have failed or been canceled. + +#### Example + +```yaml +steps: + ... + - name: The job has succeeded + if: {% raw %}${{ success() }}{% endraw %} +``` + +### always + +Causes the step to always execute, and returns `true`, even when canceled. A job or step will not run when a critical failure prevents the task from running. For example, if getting sources failed. + +#### Example + +```yaml +if: {% raw %}${{ always() }}{% endraw %} +``` + +### cancelled + +Returns `true` if the workflow was canceled. + +#### Example + +```yaml +if: {% raw %}${{ cancelled() }}{% endraw %} +``` + +### failure + +Returns `true` when any previous step of a job fails. + +#### Example + +```yaml +steps: + ... + - name: The job has failed + if: {% raw %}${{ failure() }}{% endraw %} +``` + +## Object filters + +You can use the `*` syntax to apply a filter and select matching items in a collection. + +For example, consider an array of objects named `fruits`. + +```json +[ + { "name": "apple", "quantity": 1 }, + { "name": "orange", "quantity": 2 }, + { "name": "pear", "quantity": 1 } +] +``` + +The filter `fruits.*.name` returns the array `[ "apple", "orange", "pear" ]` diff --git a/content/actions/learn-github-actions/index.md b/content/actions/learn-github-actions/index.md index b8af500b2f..0c382694b3 100644 --- a/content/actions/learn-github-actions/index.md +++ b/content/actions/learn-github-actions/index.md @@ -10,7 +10,6 @@ redirect_from: - /actions/getting-started-with-github-actions/about-github-actions - /actions/getting-started-with-github-actions/overview - /actions/getting-started-with-github-actions/getting-started-with-github-actions - - /articles/migrating-github-actions-from-hcl-syntax-to-yaml-syntax/ - /actions/configuring-and-managing-workflows/configuring-a-workflow - /articles/creating-a-workflow-with-github-actions/ - /articles/configuring-a-workflow @@ -24,7 +23,6 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/getting-started-with-github-actions - /actions/configuring-and-managing-workflows - /articles/getting-started-with-github-actions - - /actions/migrating-to-github-actions versions: fpt: '*' ghes: '*' @@ -35,11 +33,13 @@ children: - /essential-features-of-github-actions - /managing-complex-workflows - /sharing-workflows-with-your-organization - - /security-hardening-for-github-actions - - /migrating-from-azure-pipelines-to-github-actions - - /migrating-from-circleci-to-github-actions - - /migrating-from-gitlab-cicd-to-github-actions - - /migrating-from-jenkins-to-github-actions - - /migrating-from-travis-ci-to-github-actions + - /using-workflow-templates + - /events-that-trigger-workflows + - /expressions + - /contexts + - /workflow-syntax-for-github-actions + - /workflow-commands-for-github-actions + - /environment-variables + - /usage-limits-billing-and-administration --- diff --git a/content/actions/reference/usage-limits-billing-and-administration.md b/content/actions/learn-github-actions/usage-limits-billing-and-administration.md similarity index 98% rename from content/actions/reference/usage-limits-billing-and-administration.md rename to content/actions/learn-github-actions/usage-limits-billing-and-administration.md index c0f7a0439b..a6ea1cfbd8 100644 --- a/content/actions/reference/usage-limits-billing-and-administration.md +++ b/content/actions/learn-github-actions/usage-limits-billing-and-administration.md @@ -4,6 +4,7 @@ intro: 'There are usage limits for {% data variables.product.prodname_actions %} product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/getting-started-with-github-actions/usage-and-billing-information-for-github-actions + - /actions/reference/usage-limits-billing-and-administration versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md b/content/actions/learn-github-actions/using-workflow-templates.md similarity index 90% rename from content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md rename to content/actions/learn-github-actions/using-workflow-templates.md index a442f6970d..f5c9cbe15c 100644 --- a/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md +++ b/content/actions/learn-github-actions/using-workflow-templates.md @@ -1,13 +1,14 @@ --- -title: Setting up continuous integration using workflow templates -shortTitle: Setting up CI using templates -intro: You can set up continuous integration for your project using a workflow template that matches the language and tooling you want to use. +title: Using workflow templates +shortTitle: Using templates +intro: You can set up CI using a workflow template that matches the language and tooling you want to use. product: '{% data reusables.gated-features.actions %}' redirect_from: - /articles/setting-up-continuous-integration-using-github-actions - /github/automating-your-workflow-with-github-actions/setting-up-continuous-integration-using-github-actions - /actions/automating-your-workflow-with-github-actions/setting-up-continuous-integration-using-github-actions - /actions/building-and-testing-code-with-continuous-integration/setting-up-continuous-integration-using-github-actions + - /actions/guides/setting-up-continuous-integration-using-workflow-templates versions: fpt: '*' ghes: '*' diff --git a/content/actions/reference/workflow-commands-for-github-actions.md b/content/actions/learn-github-actions/workflow-commands-for-github-actions.md similarity index 99% rename from content/actions/reference/workflow-commands-for-github-actions.md rename to content/actions/learn-github-actions/workflow-commands-for-github-actions.md index 211a0407ac..f6a6e9f43f 100644 --- a/content/actions/reference/workflow-commands-for-github-actions.md +++ b/content/actions/learn-github-actions/workflow-commands-for-github-actions.md @@ -9,6 +9,7 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions - /actions/reference/development-tools-for-github-actions - /actions/reference/logging-commands-for-github-actions + - /actions/reference/workflow-commands-for-github-actions versions: fpt: '*' ghes: '*' diff --git a/content/actions/reference/workflow-syntax-for-github-actions.md b/content/actions/learn-github-actions/workflow-syntax-for-github-actions.md similarity index 96% rename from content/actions/reference/workflow-syntax-for-github-actions.md rename to content/actions/learn-github-actions/workflow-syntax-for-github-actions.md index 12a99d6f59..be2e0d22c6 100644 --- a/content/actions/reference/workflow-syntax-for-github-actions.md +++ b/content/actions/learn-github-actions/workflow-syntax-for-github-actions.md @@ -7,6 +7,7 @@ redirect_from: - /articles/workflow-syntax-for-github-actions - /github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions - /actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions + - /actions/reference/workflow-syntax-for-github-actions versions: fpt: '*' ghes: '*' @@ -200,7 +201,7 @@ on: required: false ``` -The triggered workflow receives the inputs in the `github.event.inputs` context. For more information, see "[Context and expression syntax for GitHub Actions](/actions/reference/context-and-expression-syntax-for-github-actions#github-context)." +The triggered workflow receives the inputs in the `github.event.inputs` context. For more information, see "[Contexts](/actions/learn-github-actions/contexts#github-context)." ## `on.schedule` @@ -273,7 +274,7 @@ defaults: {% data reusables.actions.concurrency-beta %} -Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. A concurrency group can be any string or expression. The expression can only use the `github` context. For more information about expressions, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. A concurrency group can be any string or expression. The expression can only use the [`github` context](/actions/learn-github-actions/contexts#github-context). For more information about expressions, see "[Expressions](/actions/learn-github-actions/expressions)." You can also specify `concurrency` at the job level. For more information, see [`jobs..concurrency`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idconcurrency). @@ -343,7 +344,7 @@ jobs: needs: [job1, job2] ``` -In this example, `job3` uses the `always()` conditional expression so that it always runs after `job1` and `job2` have completed, regardless of whether they were successful. For more information, see "[Context and expression syntax](/actions/reference/context-and-expression-syntax-for-github-actions#job-status-check-functions)." +In this example, `job3` uses the `always()` conditional expression so that it always runs after `job1` and `job2` have completed, regardless of whether they were successful. For more information, see "[Expressions](/actions/learn-github-actions/expressions#job-status-check-functions)." ## `jobs..runs-on` @@ -446,7 +447,7 @@ environment: url: https://github.com ``` -The URL can be an expression and can use any context except for the `secrets` context. For more information about expressions, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +The URL can be an expression and can use any context except for the [`secrets` context](/actions/learn-github-actions/contexts#contexts). For more information about expressions, see "[Expressions](/actions/learn-github-actions/expressions)." ### Example {% raw %} @@ -470,7 +471,7 @@ environment: {% endnote %} -Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. A concurrency group can be any string or expression. The expression can use any context except for the `secrets` context. For more information about expressions, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. A concurrency group can be any string or expression. The expression can use any context except for the `secrets` context. For more information about expressions, see "[Expressions](/actions/learn-github-actions/expressions)." You can also specify `concurrency` at the workflow level. For more information, see [`concurrency`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#concurrency). @@ -483,7 +484,7 @@ A `map` of outputs for a job. Job outputs are available to all downstream jobs t Job outputs are strings, and job outputs containing expressions are evaluated on the runner at the end of each job. Outputs containing secrets are redacted on the runner and not sent to {% data variables.product.prodname_actions %}. -To use job outputs in a dependent job, you can use the `needs` context. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions#needs-context)." +To use job outputs in a dependent job, you can use the `needs` context. For more information, see "[Contexts](/actions/learn-github-actions/contexts#needs-context)." ### Example @@ -554,7 +555,7 @@ jobs: You can use the `if` conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional. -{% data reusables.github-actions.expression-syntax-if %} For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +{% data reusables.github-actions.expression-syntax-if %} For more information, see "[Expressions](/actions/learn-github-actions/expressions)." ## `jobs..steps` @@ -588,13 +589,13 @@ jobs: ## `jobs..steps[*].id` -A unique identifier for the step. You can use the `id` to reference the step in contexts. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +A unique identifier for the step. You can use the `id` to reference the step in contexts. For more information, see "[Contexts](/actions/learn-github-actions/contexts)." ## `jobs..steps[*].if` You can use the `if` conditional to prevent a step from running unless a condition is met. You can use any supported context and expression to create a conditional. -{% data reusables.github-actions.expression-syntax-if %} For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +{% data reusables.github-actions.expression-syntax-if %} For more information, see "[Expressions](/actions/learn-github-actions/expressions)." ### Example: Using contexts @@ -609,7 +610,7 @@ steps: ### Example: Using status check functions -The `my backup step` only runs when the previous step of a job fails. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions#job-status-check-functions)." +The `my backup step` only runs when the previous step of a job fails. For more information, see "[Expressions](/actions/learn-github-actions/expressions#job-status-check-functions)." ```yaml steps: @@ -963,7 +964,7 @@ Sets environment variables for steps to use in the runner environment. You can a {% data reusables.repositories.actions-env-var-note %} -Public actions may specify expected environment variables in the README file. If you are setting a secret in an environment variable, you must set secrets using the `secrets` context. For more information, see "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)" and "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +Public actions may specify expected environment variables in the README file. If you are setting a secret in an environment variable, you must set secrets using the `secrets` context. For more information, see "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)" and "[Contexts](/actions/learn-github-actions/contexts)." ### Example @@ -1002,7 +1003,7 @@ You can define a matrix of different job configurations. A matrix allows you to {% data reusables.github-actions.usage-matrix-limits %} -Each option you define in the `matrix` has a key and value. The keys you define become properties in the `matrix` context and you can reference the property in other areas of your workflow file. For example, if you define the key `os` that contains an array of operating systems, you can use the `matrix.os` property as the value of the `runs-on` keyword to create a job for each operating system. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +Each option you define in the `matrix` has a key and value. The keys you define become properties in the `matrix` context and you can reference the property in other areas of your workflow file. For example, if you define the key `os` that contains an array of operating systems, you can use the `matrix.os` property as the value of the `runs-on` keyword to create a job for each operating system. For more information, see "[Contexts](/actions/learn-github-actions/contexts)." The order that you define a `matrix` matters. The first option you define will be the first job that runs in your workflow. diff --git a/content/actions/guides/adding-labels-to-issues.md b/content/actions/managing-issues-and-pull-requests/adding-labels-to-issues.md similarity index 98% rename from content/actions/guides/adding-labels-to-issues.md rename to content/actions/managing-issues-and-pull-requests/adding-labels-to-issues.md index 7596a69233..f08127793e 100644 --- a/content/actions/guides/adding-labels-to-issues.md +++ b/content/actions/managing-issues-and-pull-requests/adding-labels-to-issues.md @@ -2,6 +2,8 @@ title: Adding labels to issues intro: 'You can use {% data variables.product.prodname_actions %} to automatically label issues.' product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/adding-labels-to-issues versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/closing-inactive-issues.md b/content/actions/managing-issues-and-pull-requests/closing-inactive-issues.md similarity index 98% rename from content/actions/guides/closing-inactive-issues.md rename to content/actions/managing-issues-and-pull-requests/closing-inactive-issues.md index 78f80bb854..1645e1510d 100644 --- a/content/actions/guides/closing-inactive-issues.md +++ b/content/actions/managing-issues-and-pull-requests/closing-inactive-issues.md @@ -2,6 +2,8 @@ title: Closing inactive issues intro: 'You can use {% data variables.product.prodname_actions %} to comment on or close issues that have been inactive for a certain period of time.' product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/closing-inactive-issues versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/commenting-on-an-issue-when-a-label-is-added.md b/content/actions/managing-issues-and-pull-requests/commenting-on-an-issue-when-a-label-is-added.md similarity index 98% rename from content/actions/guides/commenting-on-an-issue-when-a-label-is-added.md rename to content/actions/managing-issues-and-pull-requests/commenting-on-an-issue-when-a-label-is-added.md index 639e977465..ccee558b41 100644 --- a/content/actions/guides/commenting-on-an-issue-when-a-label-is-added.md +++ b/content/actions/managing-issues-and-pull-requests/commenting-on-an-issue-when-a-label-is-added.md @@ -2,6 +2,8 @@ title: Commenting on an issue when a label is added intro: 'You can use {% data variables.product.prodname_actions %} to automatically comment on issues when a specific label is applied.' product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/commenting-on-an-issue-when-a-label-is-added versions: fpt: '*' ghes: '*' diff --git a/content/actions/managing-issues-and-pull-requests/index.md b/content/actions/managing-issues-and-pull-requests/index.md new file mode 100644 index 0000000000..78dbecb9cf --- /dev/null +++ b/content/actions/managing-issues-and-pull-requests/index.md @@ -0,0 +1,17 @@ +--- +title: Managing issues and pull requests +shortTitle: Managing issues and pull requests +intro: 'You can automatically manage your issues and pull requests using {% data variables.product.prodname_actions %} workflows.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' +children: + - /using-github-actions-for-project-management + - /adding-labels-to-issues + - /closing-inactive-issues + - /commenting-on-an-issue-when-a-label-is-added + - /moving-assigned-issues-on-project-boards + - /removing-a-label-when-a-card-is-added-to-a-project-board-column + - /scheduling-issue-creation +--- diff --git a/content/actions/guides/moving-assigned-issues-on-project-boards.md b/content/actions/managing-issues-and-pull-requests/moving-assigned-issues-on-project-boards.md similarity index 98% rename from content/actions/guides/moving-assigned-issues-on-project-boards.md rename to content/actions/managing-issues-and-pull-requests/moving-assigned-issues-on-project-boards.md index 3f5a8e6d84..6b6740ac45 100644 --- a/content/actions/guides/moving-assigned-issues-on-project-boards.md +++ b/content/actions/managing-issues-and-pull-requests/moving-assigned-issues-on-project-boards.md @@ -2,6 +2,8 @@ title: Moving assigned issues on project boards intro: 'You can use {% data variables.product.prodname_actions %} to automatically move an issue to a specific column on a project board when the issue is assigned.' product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/moving-assigned-issues-on-project-boards versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column.md b/content/actions/managing-issues-and-pull-requests/removing-a-label-when-a-card-is-added-to-a-project-board-column.md similarity index 98% rename from content/actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column.md rename to content/actions/managing-issues-and-pull-requests/removing-a-label-when-a-card-is-added-to-a-project-board-column.md index 4be4d7a649..4f2c4bc31e 100644 --- a/content/actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column.md +++ b/content/actions/managing-issues-and-pull-requests/removing-a-label-when-a-card-is-added-to-a-project-board-column.md @@ -2,6 +2,8 @@ title: Removing a label when a card is added to a project board column intro: 'You can use {% data variables.product.prodname_actions %} to automatically remove a label when an issue or pull request is added to a specific column on a project board.' product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/scheduling-issue-creation.md b/content/actions/managing-issues-and-pull-requests/scheduling-issue-creation.md similarity index 98% rename from content/actions/guides/scheduling-issue-creation.md rename to content/actions/managing-issues-and-pull-requests/scheduling-issue-creation.md index 5ce74b997f..25f18e6e3e 100644 --- a/content/actions/guides/scheduling-issue-creation.md +++ b/content/actions/managing-issues-and-pull-requests/scheduling-issue-creation.md @@ -2,6 +2,8 @@ title: Scheduling issue creation intro: 'You can use {% data variables.product.prodname_actions %} to create an issue on a regular basis for things like daily meetings or quarterly reviews.' product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/scheduling-issue-creation versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/using-github-actions-for-project-management.md b/content/actions/managing-issues-and-pull-requests/using-github-actions-for-project-management.md similarity index 96% rename from content/actions/guides/using-github-actions-for-project-management.md rename to content/actions/managing-issues-and-pull-requests/using-github-actions-for-project-management.md index 2c42619213..7d9dcea57e 100644 --- a/content/actions/guides/using-github-actions-for-project-management.md +++ b/content/actions/managing-issues-and-pull-requests/using-github-actions-for-project-management.md @@ -2,6 +2,8 @@ title: Using GitHub Actions for project management intro: 'You can use {% data variables.product.prodname_actions %} to automate many of your project management tasks.' product: '{% data reusables.gated-features.actions %}' +redirect_from: + - /actions/guides/using-github-actions-for-project-management versions: fpt: '*' ghes: '*' diff --git a/content/actions/migrating-to-github-actions/index.md b/content/actions/migrating-to-github-actions/index.md new file mode 100644 index 0000000000..894bc2b463 --- /dev/null +++ b/content/actions/migrating-to-github-actions/index.md @@ -0,0 +1,18 @@ +--- +title: Migrating to GitHub Actions +shortTitle: Migrating to GitHub Actions +intro: 'Learn how to migrate your existing CI/CD workflows to {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' +redirect_from: + - /actions/migrating-to-github-actions + - /articles/migrating-github-actions-from-hcl-syntax-to-yaml-syntax/ +children: + - /migrating-from-azure-pipelines-to-github-actions + - /migrating-from-circleci-to-github-actions + - /migrating-from-gitlab-cicd-to-github-actions + - /migrating-from-jenkins-to-github-actions + - /migrating-from-travis-ci-to-github-actions +--- diff --git a/content/actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions.md b/content/actions/migrating-to-github-actions/migrating-from-azure-pipelines-to-github-actions.md similarity index 98% rename from content/actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions.md rename to content/actions/migrating-to-github-actions/migrating-from-azure-pipelines-to-github-actions.md index 141d3af150..e7d75e2786 100644 --- a/content/actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions.md +++ b/content/actions/migrating-to-github-actions/migrating-from-azure-pipelines-to-github-actions.md @@ -3,6 +3,7 @@ title: Migrating from Azure Pipelines to GitHub Actions intro: '{% data variables.product.prodname_actions %} and Azure Pipelines share several configuration similarities, which makes migrating to {% data variables.product.prodname_actions %} relatively straightforward.' redirect_from: - /actions/migrating-to-github-actions/migrating-from-azure-pipelines-to-github-actions + - /actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions versions: fpt: '*' ghes: '*' @@ -203,7 +204,7 @@ jobs: -For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +For more information, see "[Expressions](/actions/learn-github-actions/expressions)." ## Dependencies between jobs diff --git a/content/actions/learn-github-actions/migrating-from-circleci-to-github-actions.md b/content/actions/migrating-to-github-actions/migrating-from-circleci-to-github-actions.md similarity index 99% rename from content/actions/learn-github-actions/migrating-from-circleci-to-github-actions.md rename to content/actions/migrating-to-github-actions/migrating-from-circleci-to-github-actions.md index 91e10f2335..bd117f5c88 100644 --- a/content/actions/learn-github-actions/migrating-from-circleci-to-github-actions.md +++ b/content/actions/migrating-to-github-actions/migrating-from-circleci-to-github-actions.md @@ -3,6 +3,7 @@ title: Migrating from CircleCI to GitHub Actions intro: 'GitHub Actions and CircleCI share several similarities in configuration, which makes migration to GitHub Actions relatively straightforward.' redirect_from: - /actions/migrating-to-github-actions/migrating-from-circleci-to-github-actions + - /actions/learn-github-actions/migrating-from-circleci-to-github-actions versions: fpt: '*' ghes: '*' diff --git a/content/actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions.md b/content/actions/migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions.md similarity index 98% rename from content/actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions.md rename to content/actions/migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions.md index 63e9e4227d..de26c22604 100644 --- a/content/actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions.md +++ b/content/actions/migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions.md @@ -1,6 +1,8 @@ --- title: Migrating from GitLab CI/CD to GitHub Actions intro: '{% data variables.product.prodname_actions %} and GitLab CI/CD share several configuration similarities, which makes migrating to {% data variables.product.prodname_actions %} relatively straightforward.' +redirect_from: + - /actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions versions: fpt: '*' ghes: '*' @@ -210,7 +212,7 @@ jobs: -For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +For more information, see "[Expressions](/actions/learn-github-actions/expressions)." ## Dependencies between Jobs diff --git a/content/actions/learn-github-actions/migrating-from-jenkins-to-github-actions.md b/content/actions/migrating-to-github-actions/migrating-from-jenkins-to-github-actions.md similarity index 99% rename from content/actions/learn-github-actions/migrating-from-jenkins-to-github-actions.md rename to content/actions/migrating-to-github-actions/migrating-from-jenkins-to-github-actions.md index 09ce07ec4a..a84d687111 100644 --- a/content/actions/learn-github-actions/migrating-from-jenkins-to-github-actions.md +++ b/content/actions/migrating-to-github-actions/migrating-from-jenkins-to-github-actions.md @@ -3,6 +3,7 @@ title: Migrating from Jenkins to GitHub Actions intro: '{% data variables.product.prodname_actions %} and Jenkins share multiple similarities, which makes migration to {% data variables.product.prodname_actions %} relatively straightforward.' redirect_from: - /actions/migrating-to-github-actions/migrating-from-jenkins-to-github-actions + - /actions/learn-github-actions/migrating-from-jenkins-to-github-actions versions: fpt: '*' ghes: '*' diff --git a/content/actions/learn-github-actions/migrating-from-travis-ci-to-github-actions.md b/content/actions/migrating-to-github-actions/migrating-from-travis-ci-to-github-actions.md similarity index 98% rename from content/actions/learn-github-actions/migrating-from-travis-ci-to-github-actions.md rename to content/actions/migrating-to-github-actions/migrating-from-travis-ci-to-github-actions.md index 35a852be0f..9f290779e9 100644 --- a/content/actions/learn-github-actions/migrating-from-travis-ci-to-github-actions.md +++ b/content/actions/migrating-to-github-actions/migrating-from-travis-ci-to-github-actions.md @@ -3,6 +3,7 @@ title: Migrating from Travis CI to GitHub Actions intro: '{% data variables.product.prodname_actions %} and Travis CI share multiple similarities, which helps make it relatively straightforward to migrate to {% data variables.product.prodname_actions %}.' redirect_from: - /actions/migrating-to-github-actions/migrating-from-travis-ci-to-github-actions + - /actions/learn-github-actions/migrating-from-travis-ci-to-github-actions versions: fpt: '*' ghes: '*' @@ -238,7 +239,7 @@ When migrating to {% data variables.product.prodname_actions %}, there are diffe ## Migrating syntax for conditionals and expressions -To run jobs under conditional expressions, Travis CI and {% data variables.product.prodname_actions %} share a similar `if` condition syntax. {% data variables.product.prodname_actions %} lets you use the `if` conditional to prevent a job or step from running unless a condition is met. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)." +To run jobs under conditional expressions, Travis CI and {% data variables.product.prodname_actions %} share a similar `if` condition syntax. {% data variables.product.prodname_actions %} lets you use the `if` conditional to prevent a job or step from running unless a condition is met. For more information, see "[Expressions](/actions/learn-github-actions/expressions)." This example demonstrates how an `if` conditional can control whether a step is executed: diff --git a/content/actions/guides/about-packaging-with-github-actions.md b/content/actions/publishing-packages/about-packaging-with-github-actions.md similarity index 94% rename from content/actions/guides/about-packaging-with-github-actions.md rename to content/actions/publishing-packages/about-packaging-with-github-actions.md index c25d833e05..8d64b46b24 100644 --- a/content/actions/guides/about-packaging-with-github-actions.md +++ b/content/actions/publishing-packages/about-packaging-with-github-actions.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/automating-your-workflow-with-github-actions/about-packaging-with-github-actions - /actions/publishing-packages-with-github-actions/about-packaging-with-github-actions + - /actions/guides/about-packaging-with-github-actions versions: fpt: '*' ghes: '*' diff --git a/content/actions/publishing-packages/index.md b/content/actions/publishing-packages/index.md new file mode 100644 index 0000000000..fae1f2b9ce --- /dev/null +++ b/content/actions/publishing-packages/index.md @@ -0,0 +1,18 @@ +--- +title: Publishing packages +shortTitle: Publishing packages +intro: 'You can automatically publish packages using {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' +redirect_from: + - /actions/publishing-packages-with-github-actions +children: + - /about-packaging-with-github-actions + - /publishing-docker-images + - /publishing-java-packages-with-gradle + - /publishing-java-packages-with-maven + - /publishing-nodejs-packages +--- + diff --git a/content/actions/guides/publishing-docker-images.md b/content/actions/publishing-packages/publishing-docker-images.md similarity index 98% rename from content/actions/guides/publishing-docker-images.md rename to content/actions/publishing-packages/publishing-docker-images.md index d2a483a4c5..3abd97f8fc 100644 --- a/content/actions/guides/publishing-docker-images.md +++ b/content/actions/publishing-packages/publishing-docker-images.md @@ -4,6 +4,7 @@ intro: 'You can publish Docker images to a registry, such as Docker Hub or {% da product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/publishing-docker-images + - /actions/guides/publishing-docker-images versions: fpt: '*' ghes: '*' @@ -114,7 +115,7 @@ In the example workflow below, we use the Docker `login-action`{% ifversion fpt The `login-action` options required for {% data variables.product.prodname_registry %} are: * `registry`: Must be set to {% ifversion fpt %}`ghcr.io`{% else %}`docker.pkg.github.com`{% endif %}. -* `username`: You can use the {% raw %}`${{ github.actor }}`{% endraw %} context to automatically use the username of the user that triggered the workflow run. For more information, see "[Context and expression syntax for GitHub Actions](/actions/reference/context-and-expression-syntax-for-github-actions#github-context)." +* `username`: You can use the {% raw %}`${{ github.actor }}`{% endraw %} context to automatically use the username of the user that triggered the workflow run. For more information, see "[Contexts](/actions/learn-github-actions/contexts#github-context)." * `password`: You can use the automatically-generated `GITHUB_TOKEN` secret for the password. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token)." {% ifversion fpt %} diff --git a/content/actions/guides/publishing-java-packages-with-gradle.md b/content/actions/publishing-packages/publishing-java-packages-with-gradle.md similarity index 99% rename from content/actions/guides/publishing-java-packages-with-gradle.md rename to content/actions/publishing-packages/publishing-java-packages-with-gradle.md index 9d87260a9f..c485a9c6e5 100644 --- a/content/actions/guides/publishing-java-packages-with-gradle.md +++ b/content/actions/publishing-packages/publishing-java-packages-with-gradle.md @@ -4,6 +4,7 @@ intro: You can use Gradle to publish Java packages to a registry as part of your product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/publishing-java-packages-with-gradle + - /actions/guides/publishing-java-packages-with-gradle versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/publishing-java-packages-with-maven.md b/content/actions/publishing-packages/publishing-java-packages-with-maven.md similarity index 99% rename from content/actions/guides/publishing-java-packages-with-maven.md rename to content/actions/publishing-packages/publishing-java-packages-with-maven.md index d45d940dd6..676827a596 100644 --- a/content/actions/guides/publishing-java-packages-with-maven.md +++ b/content/actions/publishing-packages/publishing-java-packages-with-maven.md @@ -4,6 +4,7 @@ intro: You can use Maven to publish Java packages to a registry as part of your product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/publishing-java-packages-with-maven + - /actions/guides/publishing-java-packages-with-maven versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/publishing-nodejs-packages.md b/content/actions/publishing-packages/publishing-nodejs-packages.md similarity index 99% rename from content/actions/guides/publishing-nodejs-packages.md rename to content/actions/publishing-packages/publishing-nodejs-packages.md index ddb8303a4c..2f7c1aad96 100644 --- a/content/actions/guides/publishing-nodejs-packages.md +++ b/content/actions/publishing-packages/publishing-nodejs-packages.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/automating-your-workflow-with-github-actions/publishing-nodejs-packages - /actions/language-and-framework-guides/publishing-nodejs-packages + - /actions/guides/publishing-nodejs-packages versions: fpt: '*' ghes: '*' diff --git a/content/actions/quickstart.md b/content/actions/quickstart.md index ada4f288c6..a4d14d7da9 100644 --- a/content/actions/quickstart.md +++ b/content/actions/quickstart.md @@ -90,4 +90,3 @@ The example workflow you just added runs each time code is pushed to the branch, {% data variables.product.prodname_actions %} can help you automate nearly every aspect of your application development processes. Ready to get started? Here are some helpful resources for taking your next steps with {% data variables.product.prodname_actions %}: - "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)" for an in-depth tutorial. -- "[Guides](/actions/guides)" for specific uses cases and examples. diff --git a/content/actions/reference/index.md b/content/actions/reference/index.md deleted file mode 100644 index cf20654963..0000000000 --- a/content/actions/reference/index.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Reference -intro: 'Reference documentation for creating workflows, using GitHub-hosted runners, and authentication.' -redirect_from: - - /actions/configuring-and-managing-workflows/using-variables-and-secrets-in-a-workflow -versions: - fpt: '*' - ghes: '*' - ghae: '*' -children: - - /workflow-syntax-for-github-actions - - /context-and-expression-syntax-for-github-actions - - /workflow-commands-for-github-actions - - /events-that-trigger-workflows - - /authentication-in-a-workflow - - /encrypted-secrets - - /environments - - /environment-variables - - /usage-limits-billing-and-administration ---- -{% data reusables.actions.enterprise-beta %} -{% data reusables.actions.enterprise-github-hosted-runners %} -{% data reusables.actions.ae-beta %} -## Workflow syntax -The workflow file is written in YAML. In the YAML workflow file, you can use expression syntax to evaluate contextual information, literals, operators, and functions. Contextual information includes workflow, environment variables, secrets, and the events that triggered the workflow. When you use [`run`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun) in a workflow step to run shell commands, you can use specific workflow command syntax to set environment variables, set output parameters for subsequent steps, and set error or debug messages. -## Events - -You can configure workflows to run when specific GitHub events occur, at a scheduled time, manually, or when events outside of GitHub occur. - -## Authentication and secrets - -{% data variables.product.prodname_dotcom %} provides a token that you can use to authenticate on behalf of {% data variables.product.prodname_actions %}. You can also store sensitive information as a secret in your organization{% ifversion fpt or ghes > 3.0 or ghae %}, repository, or environments{% else %} or repository{% endif %}. {% data variables.product.prodname_dotcom %} encrypts all secrets. - -{% ifversion fpt or ghes > 3.0 or ghae %} -## Environments -Workflow jobs can reference environments that have protection rules or environment-specific secrets. -{% endif %} -## Environment variables -{% data variables.product.prodname_dotcom %} sets default environment variables for each {% data variables.product.prodname_actions %} workflow run. You can also set custom environment variables in your workflow file. -{% ifversion fpt %} -## Administration -When you run workflows on {% data variables.product.prodname_dotcom %}-hosted runners, there are usage limits and potential usage charges. You can also disable or restrict the usage of {% data variables.product.prodname_actions %} in a repository and organization. -{% endif %} diff --git a/content/actions/reference/authentication-in-a-workflow.md b/content/actions/security-guides/automatic-token-authentication.md similarity index 97% rename from content/actions/reference/authentication-in-a-workflow.md rename to content/actions/security-guides/automatic-token-authentication.md index 2bb391abf4..e8249b6177 100644 --- a/content/actions/reference/authentication-in-a-workflow.md +++ b/content/actions/security-guides/automatic-token-authentication.md @@ -1,16 +1,17 @@ --- -title: Authentication in a workflow +title: Automatic token authentication intro: '{% data variables.product.prodname_dotcom %} provides a token that you can use to authenticate on behalf of {% data variables.product.prodname_actions %}.' product: '{% data reusables.gated-features.actions %}' redirect_from: - /github/automating-your-workflow-with-github-actions/authenticating-with-the-github_token - /actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token - /actions/configuring-and-managing-workflows/authenticating-with-the-github_token + - /actions/reference/authentication-in-a-workflow versions: fpt: '*' ghes: '*' ghae: '*' -shortTitle: Authentication in a workflow +shortTitle: Automatic token authentication --- {% data reusables.actions.enterprise-beta %} @@ -25,7 +26,7 @@ When you enable {% data variables.product.prodname_actions %}, {% data variables Before each job begins, {% data variables.product.prodname_dotcom %} fetches an installation access token for the job. The token expires when the job is finished. -The token is also available in the `github.token` context. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions#github-context)." +The token is also available in the `github.token` context. For more information, see "[Contexts](/actions/learn-github-actions/contexts#github-context)." ## Using the `GITHUB_TOKEN` in a workflow diff --git a/content/actions/reference/encrypted-secrets.md b/content/actions/security-guides/encrypted-secrets.md similarity index 97% rename from content/actions/reference/encrypted-secrets.md rename to content/actions/security-guides/encrypted-secrets.md index 0b0d1fae48..f7976ed0d9 100644 --- a/content/actions/reference/encrypted-secrets.md +++ b/content/actions/security-guides/encrypted-secrets.md @@ -6,6 +6,8 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets - /actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets - /actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets + - /actions/configuring-and-managing-workflows/using-variables-and-secrets-in-a-workflow + - /actions/reference/encrypted-secrets versions: fpt: '*' ghes: '*' @@ -221,7 +223,7 @@ You can check which access policies are being applied to a secret in your organi {% endnote %} -To provide an action with a secret as an input or environment variable, you can use the `secrets` context to access secrets you've created in your repository. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)" and "[Workflow syntax for {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions)." +To provide an action with a secret as an input or environment variable, you can use the `secrets` context to access secrets you've created in your repository. For more information, see "[Contexts](/actions/learn-github-actions/contexts)" and "[Workflow syntax for {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions)." {% raw %} ```yaml diff --git a/content/actions/security-guides/index.md b/content/actions/security-guides/index.md new file mode 100644 index 0000000000..370de92095 --- /dev/null +++ b/content/actions/security-guides/index.md @@ -0,0 +1,14 @@ +--- +title: Security guides +shortTitle: Security guides +intro: 'Security hardening and good practices for {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' +children: + - /security-hardening-for-github-actions + - /encrypted-secrets + - /automatic-token-authentication +--- + diff --git a/content/actions/learn-github-actions/security-hardening-for-github-actions.md b/content/actions/security-guides/security-hardening-for-github-actions.md similarity index 98% rename from content/actions/learn-github-actions/security-hardening-for-github-actions.md rename to content/actions/security-guides/security-hardening-for-github-actions.md index 8575fdca8b..2fa7596d08 100644 --- a/content/actions/learn-github-actions/security-hardening-for-github-actions.md +++ b/content/actions/security-guides/security-hardening-for-github-actions.md @@ -5,6 +5,7 @@ intro: 'Good security practices for using {% data variables.product.prodname_act product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/getting-started-with-github-actions/security-hardening-for-github-actions + - /actions/learn-github-actions/security-hardening-for-github-actions versions: fpt: '*' ghes: '*' @@ -41,7 +42,7 @@ To help prevent accidental disclosure, {% data variables.product.product_name %} - View the run logs for your workflow after testing valid/invalid inputs, and check that secrets are properly redacted, or not shown. It's not always obvious how a command or tool you’re invoking will send errors to `STDOUT` and `STDERR`, and secrets might subsequently end up in error logs. As a result, it is good practice to manually review the workflow logs after testing valid and invalid inputs. - **Use credentials that are minimally scoped** - Make sure the credentials being used within workflows have the least privileges required, and be mindful that any user with write access to your repository has read access to all secrets configured in your repository. {% ifversion fpt or ghes > 3.1 or ghae-next %} - - Actions can use the `GITHUB_TOKEN` by accessing it from the `github.token` context. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions#github-context)." You should therefore make sure that the `GITHUB_TOKEN` is granted the minimum required permissions. It's good security practice to set the default permission for the `GITHUB_TOKEN` to read access only for repository contents. The permissions can then be increased, as required, for individual jobs within the workflow file. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)." {% endif %} + - Actions can use the `GITHUB_TOKEN` by accessing it from the `github.token` context. For more information, see "[Contexts](/actions/learn-github-actions/contexts#github-context)." You should therefore make sure that the `GITHUB_TOKEN` is granted the minimum required permissions. It's good security practice to set the default permission for the `GITHUB_TOKEN` to read access only for repository contents. The permissions can then be increased, as required, for individual jobs within the workflow file. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)." {% endif %} - **Audit and rotate registered secrets** - Periodically review the registered secrets to confirm they are still required. Remove those that are no longer needed. - Rotate secrets periodically to reduce the window of time during which a compromised secret is valid. diff --git a/content/actions/guides/about-service-containers.md b/content/actions/using-containerized-services/about-service-containers.md similarity index 97% rename from content/actions/guides/about-service-containers.md rename to content/actions/using-containerized-services/about-service-containers.md index 786dfc017e..6520b2687a 100644 --- a/content/actions/guides/about-service-containers.md +++ b/content/actions/using-containerized-services/about-service-containers.md @@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/automating-your-workflow-with-github-actions/about-service-containers - /actions/configuring-and-managing-workflows/about-service-containers + - /actions/guides/about-service-containers versions: fpt: '*' ghes: '*' @@ -87,7 +88,7 @@ You can map service containers ports to the Docker host using the `ports` keywor When you map ports using the `ports` keyword, {% data variables.product.prodname_dotcom %} uses the `--publish` command to publish the container’s ports to the Docker host. For more information, see "[Docker container networking](https://docs.docker.com/config/containers/container-networking/)" in the Docker documentation. -When you specify the Docker host port but not the container port, the container port is randomly assigned to a free port. {% data variables.product.prodname_dotcom %} sets the assigned container port in the service container context. For example, for a `redis` service container, if you configured the Docker host port 5432, you can access the corresponding container port using the `job.services.redis.ports[5432]` context. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions#job-context)." +When you specify the Docker host port but not the container port, the container port is randomly assigned to a free port. {% data variables.product.prodname_dotcom %} sets the assigned container port in the service container context. For example, for a `redis` service container, if you configured the Docker host port 5432, you can access the corresponding container port using the `job.services.redis.ports[5432]` context. For more information, see "[Contexts](/actions/learn-github-actions/contexts#job-context)." ### Example mapping Redis ports diff --git a/content/actions/guides/creating-postgresql-service-containers.md b/content/actions/using-containerized-services/creating-postgresql-service-containers.md similarity index 99% rename from content/actions/guides/creating-postgresql-service-containers.md rename to content/actions/using-containerized-services/creating-postgresql-service-containers.md index 6f508d7b68..96cc9d677a 100644 --- a/content/actions/guides/creating-postgresql-service-containers.md +++ b/content/actions/using-containerized-services/creating-postgresql-service-containers.md @@ -6,6 +6,7 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/automating-your-workflow-with-github-actions/creating-postgresql-service-containers - /actions/configuring-and-managing-workflows/creating-postgresql-service-containers + - /actions/guides/creating-postgresql-service-containers versions: fpt: '*' ghes: '*' diff --git a/content/actions/guides/creating-redis-service-containers.md b/content/actions/using-containerized-services/creating-redis-service-containers.md similarity index 99% rename from content/actions/guides/creating-redis-service-containers.md rename to content/actions/using-containerized-services/creating-redis-service-containers.md index eccd79cf03..88426c3f74 100644 --- a/content/actions/guides/creating-redis-service-containers.md +++ b/content/actions/using-containerized-services/creating-redis-service-containers.md @@ -6,6 +6,7 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/automating-your-workflow-with-github-actions/creating-redis-service-containers - /actions/configuring-and-managing-workflows/creating-redis-service-containers + - /actions/guides/creating-redis-service-containers versions: fpt: '*' ghes: '*' diff --git a/content/actions/using-containerized-services/index.md b/content/actions/using-containerized-services/index.md new file mode 100644 index 0000000000..e18f2fb667 --- /dev/null +++ b/content/actions/using-containerized-services/index.md @@ -0,0 +1,18 @@ +--- +title: Using containerized services +shortTitle: Containerized services +intro: 'You can use containerized services in your {% data variables.product.prodname_actions %} workflows.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' +redirect_from: + - /actions/automating-your-workflow-with-github-actions/using-databases-and-services + - /actions/configuring-and-managing-workflows/using-databases-and-service-containers + - /actions/guides/using-databases-and-service-containers +children: + - /about-service-containers + - /creating-postgresql-service-containers + - /creating-redis-service-containers +--- + diff --git a/lib/frontmatter.js b/lib/frontmatter.js index 76463481cf..5442b62d0c 100644 --- a/lib/frontmatter.js +++ b/lib/frontmatter.js @@ -205,6 +205,10 @@ export const schema = { }, }, }, + // whether or not the page is mirrored by an experimental page + hasExperimentalAlternative: { + type: 'boolean', + }, }, } diff --git a/pages/[versionId]/actions/guides/building-and-testing-nodejs-or-python.tsx b/pages/[versionId]/actions/automating-builds-and-tests/building-and-testing-nodejs-or-python.tsx similarity index 100% rename from pages/[versionId]/actions/guides/building-and-testing-nodejs-or-python.tsx rename to pages/[versionId]/actions/automating-builds-and-tests/building-and-testing-nodejs-or-python.tsx diff --git a/tests/browser/browser.js b/tests/browser/browser.js index 22aca81995..7979b8ae99 100644 --- a/tests/browser/browser.js +++ b/tests/browser/browser.js @@ -399,7 +399,7 @@ describe('code examples', () => { describe('filter cards', () => { it('works with select input', async () => { - await page.goto('http://localhost:4001/en/actions/guides') + await page.goto('http://localhost:4001/en/code-security/guides') await page.select('[data-testid=card-filter-dropdown][name="type"]', 'overview') const shownCards = await page.$$('[data-testid=article-card]') const shownCardTypes = await page.$$eval('[data-testid=article-card-type]', (cardTypes) => @@ -410,7 +410,7 @@ describe('filter cards', () => { }) it('works with select input on an Enterprise version', async () => { - await page.goto(`http://localhost:4001/en/enterprise-server@${latest}/actions/guides`) + await page.goto(`http://localhost:4001/en/enterprise-server@${latest}/code-security/guides`) await page.select('[data-testid=card-filter-dropdown][name="type"]', 'overview') const shownCards = await page.$$('[data-testid=article-card]') const shownCardTypes = await page.$$eval('[data-testid=article-card-type]', (cardTypes) => diff --git a/tests/content/crowdin-config.js b/tests/content/crowdin-config.js index 535cff42e7..fb216e545d 100644 --- a/tests/content/crowdin-config.js +++ b/tests/content/crowdin-config.js @@ -1,6 +1,5 @@ import CrowdinConfig from '../helpers/crowdin-config.js' import { loadPages } from '../../lib/page-data.js' -import { isExperimental } from '../helpers/is-experimental.js' import { jest } from '@jest/globals' const config = CrowdinConfig.read() @@ -29,7 +28,7 @@ describe('crowdin.yml config file', () => { test('ignores all hidden pages', async () => { const hiddenPages = pages .filter( - (page) => page.hidden && page.languageCode === 'en' && !isExperimental(page.relativePath) + (page) => page.hidden && page.languageCode === 'en' && !page.hasExperimentalAlternative ) .map((page) => `/content/${page.relativePath}`) const overlooked = hiddenPages.filter((page) => !isIgnored(page, ignoredPagePaths)) diff --git a/tests/helpers/is-experimental.js b/tests/helpers/is-experimental.js deleted file mode 100644 index 0db4b8b1b1..0000000000 --- a/tests/helpers/is-experimental.js +++ /dev/null @@ -1,8 +0,0 @@ -const experimentalFiles = [ - 'actions/guides/building-and-testing-nodejs.md', - 'actions/guides/building-and-testing-python.md', -] - -export const isExperimental = (path) => { - return experimentalFiles.includes(path) -} diff --git a/tests/linting/lint-files.js b/tests/linting/lint-files.js index 4b70d61ce5..6dc1bcab6f 100644 --- a/tests/linting/lint-files.js +++ b/tests/linting/lint-files.js @@ -22,7 +22,6 @@ import { allVersions } from '../../lib/all-versions.js' import { supported, next, nextNext, deprecated } from '../../lib/enterprise-server-releases.js' import { getLiquidConditionals } from '../../script/helpers/get-liquid-conditionals.js' import allowedVersionOperators from '../../lib/liquid-tags/ifversion-supported-operators.js' -import { isExperimental } from '../helpers/is-experimental.js' import semver from 'semver' const __dirname = path.dirname(fileURLToPath(import.meta.url)) @@ -367,7 +366,7 @@ describe('lint markdown content', () => { isHidden, isEarlyAccess, isSitePolicy, - isExperimentalPage, + hasExperimentalAlternative, frontmatterErrors, frontmatterData, ifversionConditionals, @@ -384,8 +383,7 @@ describe('lint markdown content', () => { isHidden = data.hidden === true isEarlyAccess = markdownRelPath.split('/').includes('early-access') isSitePolicy = markdownRelPath.split('/').includes('site-policy-deprecated') - // remove leading `content/` from markdownRelpath - isExperimentalPage = isExperimental(markdownRelPath.split('/').slice(1).join('/')) + hasExperimentalAlternative = data.hasExperimentalAlternative === true links = [] visit(ast, ['link', 'definition'], (node) => { @@ -429,7 +427,7 @@ describe('lint markdown content', () => { // We need to support some non-Early Access hidden docs in Site Policy test('hidden docs must be Early Access, Site Policy, or Experimental', async () => { if (isHidden) { - expect(isEarlyAccess || isSitePolicy || isExperimentalPage).toBe(true) + expect(isEarlyAccess || isSitePolicy || hasExperimentalAlternative).toBe(true) } }) diff --git a/tests/rendering/learning-tracks.js b/tests/rendering/learning-tracks.js index 2c61292283..2120bf61a1 100644 --- a/tests/rendering/learning-tracks.js +++ b/tests/rendering/learning-tracks.js @@ -3,7 +3,7 @@ import { jest } from '@jest/globals' jest.setTimeout(3 * 60 * 1000) -describe('learning tracks', () => { +describe.skip('learning tracks', () => { test('render first track as feature track', async () => { const $ = await getDOM('/en/actions/guides') expect($('[data-testid=feature-track]')).toHaveLength(1) @@ -37,7 +37,7 @@ describe('learning tracks', () => { }) }) -describe('navigation banner', () => { +describe.skip('navigation banner', () => { test('render navigation banner when url includes correct learning track name', async () => { const $ = await getDOM( '/en/actions/guides/setting-up-continuous-integration-using-workflow-templates?learn=continuous_integration' From 9c8d65967544416620f46dae2d0ded48e316c428 Mon Sep 17 00:00:00 2001 From: github-openapi-bot <69533958+github-openapi-bot@users.noreply.github.com> Date: Wed, 22 Sep 2021 04:58:21 -0400 Subject: [PATCH 13/14] Update OpenAPI Descriptions (#21636) --- lib/rest/static/decorated/api.github.com.json | 32 +++++++++---------- lib/rest/static/decorated/ghes-2.18.json | 14 ++++---- lib/rest/static/decorated/ghes-2.19.json | 14 ++++---- lib/rest/static/decorated/ghes-2.20.json | 14 ++++---- lib/rest/static/decorated/ghes-2.21.json | 14 ++++---- lib/rest/static/decorated/ghes-2.22.json | 30 ++++++++--------- lib/rest/static/decorated/ghes-3.0.json | 30 ++++++++--------- lib/rest/static/decorated/ghes-3.1.json | 30 ++++++++--------- lib/rest/static/decorated/ghes-3.2.json | 32 +++++++++---------- lib/rest/static/decorated/github.ae.json | 18 +++++------ .../dereferenced/api.github.com.deref.json | 2 +- .../static/dereferenced/ghes-2.18.deref.json | 2 +- .../static/dereferenced/ghes-2.19.deref.json | 2 +- .../static/dereferenced/ghes-2.20.deref.json | 2 +- .../static/dereferenced/ghes-2.21.deref.json | 2 +- .../static/dereferenced/ghes-2.22.deref.json | 2 +- .../static/dereferenced/ghes-3.0.deref.json | 2 +- .../static/dereferenced/ghes-3.1.deref.json | 2 +- .../static/dereferenced/ghes-3.2.deref.json | 2 +- .../static/dereferenced/github.ae.deref.json | 2 +- 20 files changed, 124 insertions(+), 124 deletions(-) diff --git a/lib/rest/static/decorated/api.github.com.json b/lib/rest/static/decorated/api.github.com.json index 82dbf7301f..57308d38b3 100644 --- a/lib/rest/static/decorated/api.github.com.json +++ b/lib/rest/static/decorated/api.github.com.json @@ -8913,7 +8913,7 @@ "subcategoryLabel": "Actions", "notes": [], "bodyParameters": [], - "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
", + "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -8975,7 +8975,7 @@ "subcategoryLabel": "Actions", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -16627,7 +16627,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

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

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -16688,7 +16688,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an organization, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an organization, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -17194,7 +17194,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

\n
require \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n
", "bodyParameters": [ { "type": "string", @@ -34140,7 +34140,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour. You must authenticate\nusing an access token with the repo scope to use this endpoint.

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour. You must authenticate\nusing an access token with the repo scope to use this endpoint.

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -34210,7 +34210,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the repo scope to use this endpoint.

\n

Example using remove token

\n

To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the repo scope to use this endpoint.

\n

Example using remove token

\n

To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -36172,7 +36172,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -49298,7 +49298,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, "permissions": { @@ -49334,7 +49334,7 @@ "bodyParameters": [ { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -49346,7 +49346,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, { @@ -52112,7 +52112,7 @@ "subcategoryLabel": "Contents", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", + "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", "responses": [ { "httpStatusCode": "200", @@ -53540,7 +53540,7 @@ "subcategoryLabel": "Deployments", "contentType": "application/json", "notes": [], - "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", + "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", "responses": [ { "httpStatusCode": "201", @@ -78983,7 +78983,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", + "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", "responses": [ { "httpStatusCode": "200", diff --git a/lib/rest/static/decorated/ghes-2.18.json b/lib/rest/static/decorated/ghes-2.18.json index 2bc2ec6835..934b468f56 100644 --- a/lib/rest/static/decorated/ghes-2.18.json +++ b/lib/rest/static/decorated/ghes-2.18.json @@ -29972,7 +29972,7 @@ "properties": { "permission": { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -29984,7 +29984,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, "permissions": { @@ -30020,7 +30020,7 @@ "bodyParameters": [ { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -30032,7 +30032,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, { @@ -32555,7 +32555,7 @@ "subcategoryLabel": "Contents", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", + "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", "responses": [ { "httpStatusCode": "200", @@ -33983,7 +33983,7 @@ "subcategoryLabel": "Deployments", "contentType": "application/json", "notes": [], - "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", + "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", "responses": [ { "httpStatusCode": "201", @@ -54850,7 +54850,7 @@ "categoryLabel": "Search", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", + "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", "responses": [ { "httpStatusCode": "200", diff --git a/lib/rest/static/decorated/ghes-2.19.json b/lib/rest/static/decorated/ghes-2.19.json index 41122ffc6a..ceb7b2e2cf 100644 --- a/lib/rest/static/decorated/ghes-2.19.json +++ b/lib/rest/static/decorated/ghes-2.19.json @@ -30572,7 +30572,7 @@ "properties": { "permission": { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -30584,7 +30584,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, "permissions": { @@ -30620,7 +30620,7 @@ "bodyParameters": [ { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -30632,7 +30632,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, { @@ -33155,7 +33155,7 @@ "subcategoryLabel": "Contents", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", + "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", "responses": [ { "httpStatusCode": "200", @@ -34583,7 +34583,7 @@ "subcategoryLabel": "Deployments", "contentType": "application/json", "notes": [], - "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", + "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", "responses": [ { "httpStatusCode": "201", @@ -55686,7 +55686,7 @@ "categoryLabel": "Search", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", + "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", "responses": [ { "httpStatusCode": "200", diff --git a/lib/rest/static/decorated/ghes-2.20.json b/lib/rest/static/decorated/ghes-2.20.json index b348d9440e..1293aa1951 100644 --- a/lib/rest/static/decorated/ghes-2.20.json +++ b/lib/rest/static/decorated/ghes-2.20.json @@ -31053,7 +31053,7 @@ "properties": { "permission": { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -31065,7 +31065,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, "permissions": { @@ -31101,7 +31101,7 @@ "bodyParameters": [ { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -31113,7 +31113,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, { @@ -33636,7 +33636,7 @@ "subcategoryLabel": "Contents", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", + "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", "responses": [ { "httpStatusCode": "200", @@ -35064,7 +35064,7 @@ "subcategoryLabel": "Deployments", "contentType": "application/json", "notes": [], - "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", + "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", "responses": [ { "httpStatusCode": "201", @@ -56349,7 +56349,7 @@ "categoryLabel": "Search", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", + "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", "responses": [ { "httpStatusCode": "200", diff --git a/lib/rest/static/decorated/ghes-2.21.json b/lib/rest/static/decorated/ghes-2.21.json index 68af53855e..400a13b63e 100644 --- a/lib/rest/static/decorated/ghes-2.21.json +++ b/lib/rest/static/decorated/ghes-2.21.json @@ -34539,7 +34539,7 @@ "properties": { "permission": { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -34551,7 +34551,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, "permissions": { @@ -34587,7 +34587,7 @@ "bodyParameters": [ { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -34599,7 +34599,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, { @@ -37215,7 +37215,7 @@ "subcategoryLabel": "Contents", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", + "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", "responses": [ { "httpStatusCode": "200", @@ -38643,7 +38643,7 @@ "subcategoryLabel": "Deployments", "contentType": "application/json", "notes": [], - "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", + "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", "responses": [ { "httpStatusCode": "201", @@ -60420,7 +60420,7 @@ "categoryLabel": "Search", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", + "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", "responses": [ { "httpStatusCode": "200", diff --git a/lib/rest/static/decorated/ghes-2.22.json b/lib/rest/static/decorated/ghes-2.22.json index f4393c3cb8..ab374d0b32 100644 --- a/lib/rest/static/decorated/ghes-2.22.json +++ b/lib/rest/static/decorated/ghes-2.22.json @@ -10325,7 +10325,7 @@ "subcategoryLabel": "Actions", "notes": [], "bodyParameters": [], - "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
", + "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -10387,7 +10387,7 @@ "subcategoryLabel": "Actions", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -16375,7 +16375,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

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

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -16436,7 +16436,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an organization, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an organization, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -16942,7 +16942,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

\n
require \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n
", "bodyParameters": [ { "type": "string", @@ -29094,7 +29094,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour. You must authenticate\nusing an access token with the repo scope to use this endpoint.

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour. You must authenticate\nusing an access token with the repo scope to use this endpoint.

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -29164,7 +29164,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the repo scope to use this endpoint.

\n

Example using remove token

\n

To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the repo scope to use this endpoint.

\n

Example using remove token

\n

To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -30537,7 +30537,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -42385,7 +42385,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, "permissions": { @@ -42421,7 +42421,7 @@ "bodyParameters": [ { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -42433,7 +42433,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, { @@ -45049,7 +45049,7 @@ "subcategoryLabel": "Contents", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", + "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", "responses": [ { "httpStatusCode": "200", @@ -46477,7 +46477,7 @@ "subcategoryLabel": "Deployments", "contentType": "application/json", "notes": [], - "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", + "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", "responses": [ { "httpStatusCode": "201", @@ -68172,7 +68172,7 @@ "categoryLabel": "Search", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", + "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", "responses": [ { "httpStatusCode": "200", diff --git a/lib/rest/static/decorated/ghes-3.0.json b/lib/rest/static/decorated/ghes-3.0.json index 1b66801546..1967754d29 100644 --- a/lib/rest/static/decorated/ghes-3.0.json +++ b/lib/rest/static/decorated/ghes-3.0.json @@ -13347,7 +13347,7 @@ "subcategoryLabel": "Actions", "notes": [], "bodyParameters": [], - "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
", + "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -13409,7 +13409,7 @@ "subcategoryLabel": "Actions", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -20135,7 +20135,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

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

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -20196,7 +20196,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an organization, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an organization, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -20702,7 +20702,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

\n
require \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n
", "bodyParameters": [ { "type": "string", @@ -33526,7 +33526,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour. You must authenticate\nusing an access token with the repo scope to use this endpoint.

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour. You must authenticate\nusing an access token with the repo scope to use this endpoint.

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -33596,7 +33596,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the repo scope to use this endpoint.

\n

Example using remove token

\n

To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the repo scope to use this endpoint.

\n

Example using remove token

\n

To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -34969,7 +34969,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -46926,7 +46926,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, "permissions": { @@ -46962,7 +46962,7 @@ "bodyParameters": [ { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -46974,7 +46974,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, { @@ -49576,7 +49576,7 @@ "subcategoryLabel": "Contents", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", + "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", "responses": [ { "httpStatusCode": "200", @@ -51004,7 +51004,7 @@ "subcategoryLabel": "Deployments", "contentType": "application/json", "notes": [], - "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", + "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", "responses": [ { "httpStatusCode": "201", @@ -72973,7 +72973,7 @@ "categoryLabel": "Search", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", + "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", "responses": [ { "httpStatusCode": "200", diff --git a/lib/rest/static/decorated/ghes-3.1.json b/lib/rest/static/decorated/ghes-3.1.json index 4d81902af7..7b0866b63e 100644 --- a/lib/rest/static/decorated/ghes-3.1.json +++ b/lib/rest/static/decorated/ghes-3.1.json @@ -13347,7 +13347,7 @@ "subcategoryLabel": "Actions", "notes": [], "bodyParameters": [], - "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
", + "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -13409,7 +13409,7 @@ "subcategoryLabel": "Actions", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -20135,7 +20135,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

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

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -20196,7 +20196,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an organization, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an organization, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -20702,7 +20702,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

\n
require \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n
", "bodyParameters": [ { "type": "string", @@ -33664,7 +33664,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour. You must authenticate\nusing an access token with the repo scope to use this endpoint.

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour. You must authenticate\nusing an access token with the repo scope to use this endpoint.

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -33734,7 +33734,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the repo scope to use this endpoint.

\n

Example using remove token

\n

To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the repo scope to use this endpoint.

\n

Example using remove token

\n

To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -35107,7 +35107,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -47616,7 +47616,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, "permissions": { @@ -47652,7 +47652,7 @@ "bodyParameters": [ { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -47664,7 +47664,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, { @@ -50266,7 +50266,7 @@ "subcategoryLabel": "Contents", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", + "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", "responses": [ { "httpStatusCode": "200", @@ -51694,7 +51694,7 @@ "subcategoryLabel": "Deployments", "contentType": "application/json", "notes": [], - "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", + "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", "responses": [ { "httpStatusCode": "201", @@ -73876,7 +73876,7 @@ "categoryLabel": "Search", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", + "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", "responses": [ { "httpStatusCode": "200", diff --git a/lib/rest/static/decorated/ghes-3.2.json b/lib/rest/static/decorated/ghes-3.2.json index 6a3152b3df..b00193df2c 100644 --- a/lib/rest/static/decorated/ghes-3.2.json +++ b/lib/rest/static/decorated/ghes-3.2.json @@ -13570,7 +13570,7 @@ "subcategoryLabel": "Actions", "notes": [], "bodyParameters": [], - "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
", + "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -13632,7 +13632,7 @@ "subcategoryLabel": "Actions", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -20358,7 +20358,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

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

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

\n

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

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -20419,7 +20419,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an organization, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

\n

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

\n

Example using remove token

\n

To remove your self-hosted runner from an organization, replace TOKEN with the remove token provided by this\nendpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -20925,7 +20925,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

\n
require \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n
", "bodyParameters": [ { "type": "string", @@ -34604,7 +34604,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour. You must authenticate\nusing an access token with the repo scope to use this endpoint.

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to the config script. The token expires after one hour. You must authenticate\nusing an access token with the repo scope to use this endpoint.

\n

Example using registration token

\n

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

\n
./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -34674,7 +34674,7 @@ "subcategoryLabel": "Self hosted runners", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the repo scope to use this endpoint.

\n

Example using remove token

\n

To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.

\n
./config.sh remove --token TOKEN\n
", + "descriptionHTML": "

Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the repo scope to use this endpoint.

\n

Example using remove token

\n

To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.

\n
./config.sh remove --token TOKEN\n
", "responses": [ { "httpStatusCode": "201", @@ -36388,7 +36388,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -48897,7 +48897,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, "permissions": { @@ -48933,7 +48933,7 @@ "bodyParameters": [ { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -48945,7 +48945,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, { @@ -51567,7 +51567,7 @@ "subcategoryLabel": "Contents", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", + "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", "responses": [ { "httpStatusCode": "200", @@ -52995,7 +52995,7 @@ "subcategoryLabel": "Deployments", "contentType": "application/json", "notes": [], - "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", + "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", "responses": [ { "httpStatusCode": "201", @@ -76509,7 +76509,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", + "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", "responses": [ { "httpStatusCode": "200", diff --git a/lib/rest/static/decorated/github.ae.json b/lib/rest/static/decorated/github.ae.json index fd59de9059..be37a1fa42 100644 --- a/lib/rest/static/decorated/github.ae.json +++ b/lib/rest/static/decorated/github.ae.json @@ -14591,7 +14591,7 @@ "description": "Response when updating a secret" } ], - "descriptionHTML": "

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

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

\n

Example encrypting a secret using Node.js

\n

Encrypt your secret using the tweetsodium library.

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

Example encrypting a secret using Python

\n

Encrypt your secret using pynacl with Python 3.

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

Example encrypting a secret using C#

\n

Encrypt your secret using the Sodium.Core package.

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

Example encrypting a secret using Ruby

\n

Encrypt your secret using the rbnacl gem.

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

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -40911,7 +40911,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, "permissions": { @@ -40947,7 +40947,7 @@ "bodyParameters": [ { "type": "string", - "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.

", + "description": "

The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
\n* pull - can pull, but not push to or administer this repository.
\n* push - can pull and push, but not administer this repository.
\n* admin - can pull, push and administer this repository.
\n* maintain - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
\n* triage - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n* custom repository role name - Can assign a custom repository role if the owning organization has defined any.

", "enum": [ "pull", "push", @@ -40959,7 +40959,7 @@ "name": "permission", "in": "body", "rawType": "string", - "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "rawDescription": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "childParamsGroups": [] }, { @@ -43581,7 +43581,7 @@ "subcategoryLabel": "Contents", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", + "descriptionHTML": "

Gets the contents of a file or directory in a repository. Specify the file path or directory in :path. If you omit\n:path, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.

\n

Files and symlinks support a custom media type for\nretrieving the raw content or rendered HTML (when supported). All content types support a custom media\ntype to ensure the content is returned in a consistent\nobject format.

\n

Note:

\n
    \n
  • To get a repository's contents recursively, you can recursively get the tree.
  • \n
  • This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the Git Trees\nAPI.
  • \n
  • This API supports files up to 1 megabyte in size.
  • \n
\n

If the content is a directory

\n

The response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\nshould be \"submodule\". This behavior exists in API v3 for backwards compatibility purposes.\nIn the next major version of the API, the type will be returned as \"submodule\".

\n

If the content is a symlink

\n

If the requested :path points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\ndescribing the symlink itself.

\n

If the content is a submodule

\n

The submodule_git_url identifies the location of the submodule repository, and the sha identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.

\n

If the submodule repository is not hosted on github.com, the Git URLs (git_url and _links[\"git\"]) and the\ngithub.com URLs (html_url and _links[\"html\"]) will have null values.

", "responses": [ { "httpStatusCode": "200", @@ -45009,7 +45009,7 @@ "subcategoryLabel": "Deployments", "contentType": "application/json", "notes": [], - "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub AE we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", + "descriptionHTML": "

Deployments offer a few configurable parameters with certain defaults.

\n

The ref parameter can be any named branch, tag, or SHA. At GitHub AE we often deploy branches and verify them\nbefore we merge a pull request.

\n

The environment parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as production, staging, and qa. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is production.

\n

The auto_merge parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref is behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.

\n

By default, commit statuses for every submitted context must be in a success\nstate. The required_contexts parameter allows you to specify a subset of contexts that must be success, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.

\n

The payload parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.

\n

The task parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe deploy:migrations to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.

\n

Users with repo or repo_deployment scopes can create a deployment for a given ref.

\n

Merged branch response

\n

You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:

\n
    \n
  • Auto-merge option is enabled in the repository
  • \n
  • Topic branch does not include the latest changes on the base branch, which is master in the response example
  • \n
  • There are no merge conflicts
  • \n
\n

If there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.

\n

Merge conflict response

\n

This error happens when the auto_merge option is enabled and when the default branch (in this case master), can't\nbe merged into the branch that's being deployed (in this case topic-branch), due to merge conflicts.

\n

Failed commit status checks

\n

This error happens when the required_contexts parameter indicates that one or more contexts need to have a success\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of success.

", "responses": [ { "httpStatusCode": "201", @@ -68095,7 +68095,7 @@ "categoryLabel": "Search", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", + "descriptionHTML": "

Searches for query terms inside of a file. This method returns up to 100 results per page.

\n

When searching for code, you can get text match metadata for the file content and file path fields when you pass the text-match media type. For more details about how to receive highlighted search results, see Text match metadata.

\n

For example, if you want to find the definition of the addClass function inside jQuery repository, your query would look something like this:

\n

q=addClass+in:file+language:js+repo:jquery/jquery

\n

This query searches for the keyword addClass within a file's contents. The query limits the search to files where the language is JavaScript in the jquery/jquery repository.

\n

Considerations for code search

\n

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

\n
    \n
  • Only the default branch is considered. In most cases, this will be the master branch.
  • \n
  • Only files smaller than 384 KB are searchable.
  • \n
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • \n
", "responses": [ { "httpStatusCode": "200", diff --git a/lib/rest/static/dereferenced/api.github.com.deref.json b/lib/rest/static/dereferenced/api.github.com.deref.json index 87b3b6d41b..9ec28d0df2 100644 --- a/lib/rest/static/dereferenced/api.github.com.deref.json +++ b/lib/rest/static/dereferenced/api.github.com.deref.json @@ -177662,7 +177662,7 @@ "properties": { "permission": { "type": "string", - "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "enum": [ "pull", "push", diff --git a/lib/rest/static/dereferenced/ghes-2.18.deref.json b/lib/rest/static/dereferenced/ghes-2.18.deref.json index 70c9214402..6a22d50cac 100644 --- a/lib/rest/static/dereferenced/ghes-2.18.deref.json +++ b/lib/rest/static/dereferenced/ghes-2.18.deref.json @@ -102619,7 +102619,7 @@ "properties": { "permission": { "type": "string", - "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "enum": [ "pull", "push", diff --git a/lib/rest/static/dereferenced/ghes-2.19.deref.json b/lib/rest/static/dereferenced/ghes-2.19.deref.json index a102681f90..c5da587fbe 100644 --- a/lib/rest/static/dereferenced/ghes-2.19.deref.json +++ b/lib/rest/static/dereferenced/ghes-2.19.deref.json @@ -105664,7 +105664,7 @@ "properties": { "permission": { "type": "string", - "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "enum": [ "pull", "push", diff --git a/lib/rest/static/dereferenced/ghes-2.20.deref.json b/lib/rest/static/dereferenced/ghes-2.20.deref.json index addcf97225..bdb4515592 100644 --- a/lib/rest/static/dereferenced/ghes-2.20.deref.json +++ b/lib/rest/static/dereferenced/ghes-2.20.deref.json @@ -107877,7 +107877,7 @@ "properties": { "permission": { "type": "string", - "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "enum": [ "pull", "push", diff --git a/lib/rest/static/dereferenced/ghes-2.21.deref.json b/lib/rest/static/dereferenced/ghes-2.21.deref.json index d3bfa528f8..06d2445a5a 100644 --- a/lib/rest/static/dereferenced/ghes-2.21.deref.json +++ b/lib/rest/static/dereferenced/ghes-2.21.deref.json @@ -119623,7 +119623,7 @@ "properties": { "permission": { "type": "string", - "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "enum": [ "pull", "push", diff --git a/lib/rest/static/dereferenced/ghes-2.22.deref.json b/lib/rest/static/dereferenced/ghes-2.22.deref.json index 7cc5cd559f..05af09852f 100644 --- a/lib/rest/static/dereferenced/ghes-2.22.deref.json +++ b/lib/rest/static/dereferenced/ghes-2.22.deref.json @@ -151407,7 +151407,7 @@ "properties": { "permission": { "type": "string", - "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "enum": [ "pull", "push", diff --git a/lib/rest/static/dereferenced/ghes-3.0.deref.json b/lib/rest/static/dereferenced/ghes-3.0.deref.json index 636dcf28ad..4639280579 100644 --- a/lib/rest/static/dereferenced/ghes-3.0.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.0.deref.json @@ -157749,7 +157749,7 @@ "properties": { "permission": { "type": "string", - "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "enum": [ "pull", "push", diff --git a/lib/rest/static/dereferenced/ghes-3.1.deref.json b/lib/rest/static/dereferenced/ghes-3.1.deref.json index 127ef019e7..b64b9d61f8 100644 --- a/lib/rest/static/dereferenced/ghes-3.1.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.1.deref.json @@ -160568,7 +160568,7 @@ "properties": { "permission": { "type": "string", - "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "enum": [ "pull", "push", diff --git a/lib/rest/static/dereferenced/ghes-3.2.deref.json b/lib/rest/static/dereferenced/ghes-3.2.deref.json index d1ff22c8af..ecf1fa6e50 100644 --- a/lib/rest/static/dereferenced/ghes-3.2.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.2.deref.json @@ -164307,7 +164307,7 @@ "properties": { "permission": { "type": "string", - "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "enum": [ "pull", "push", diff --git a/lib/rest/static/dereferenced/github.ae.deref.json b/lib/rest/static/dereferenced/github.ae.deref.json index 4cbb45f8e7..fdfe214cf9 100644 --- a/lib/rest/static/dereferenced/github.ae.deref.json +++ b/lib/rest/static/dereferenced/github.ae.deref.json @@ -130417,7 +130417,7 @@ "properties": { "permission": { "type": "string", - "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. \n\\* custom repository role name - Can assign a custom repository role if the owning organization has defined any.", "enum": [ "pull", "push", From dce38b66e82ff730ecff465c59203155fd5c481a Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 22 Sep 2021 09:53:16 +0000 Subject: [PATCH 14/14] update search indexes --- lib/search/indexes/github-docs-2.22-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-cn.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-de.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-en.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-es.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-ja.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-pt.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-cn.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-de.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-en.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-es.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-ja.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-pt.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-cn.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-de.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-en.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-es.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-ja.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-pt.json.br | 4 ++-- 72 files changed, 144 insertions(+), 144 deletions(-) diff --git a/lib/search/indexes/github-docs-2.22-cn-records.json.br b/lib/search/indexes/github-docs-2.22-cn-records.json.br index acf382b415..5384d8b8a5 100644 --- a/lib/search/indexes/github-docs-2.22-cn-records.json.br +++ b/lib/search/indexes/github-docs-2.22-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff01fa0cd648fb70b511227980227e0422d022da63a35d1b4592451418a97718 -size 506682 +oid sha256:36bac40ac923e68be2665fb8d7de28ea64ad317bf7c93057f9e5e1df17645dde +size 506817 diff --git a/lib/search/indexes/github-docs-2.22-cn.json.br b/lib/search/indexes/github-docs-2.22-cn.json.br index 852cc90e29..26ecb36918 100644 --- a/lib/search/indexes/github-docs-2.22-cn.json.br +++ b/lib/search/indexes/github-docs-2.22-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb12a7f044973896f22c05f414a2f898cdc3924f3ff4473bd4518229990e42db -size 803393 +oid sha256:172c1d0c571358f5a756dc75ed28dc9e61bc3f349bc72b68390abda859df6072 +size 803078 diff --git a/lib/search/indexes/github-docs-2.22-de-records.json.br b/lib/search/indexes/github-docs-2.22-de-records.json.br index e3042ee7a5..e239e381b5 100644 --- a/lib/search/indexes/github-docs-2.22-de-records.json.br +++ b/lib/search/indexes/github-docs-2.22-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c50f51f42d446a3225a82bde587715d82e1e7423b069aa4906527bfba7009a5 -size 469319 +oid sha256:e6e6386bcb764eb78864b832f75ae75a5a1de3c6118632218b44aa7561b3e563 +size 469061 diff --git a/lib/search/indexes/github-docs-2.22-de.json.br b/lib/search/indexes/github-docs-2.22-de.json.br index 55d83c54aa..d01e6370dc 100644 --- a/lib/search/indexes/github-docs-2.22-de.json.br +++ b/lib/search/indexes/github-docs-2.22-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:214bf5c2106ad637cd1dee0defbe3c09baba454788e74d47eb7d379061dcc797 -size 2080756 +oid sha256:9564e5849eb9b0d46d3f9a63242fd10b991853074fa2ab94b8c94502007e1aef +size 2078705 diff --git a/lib/search/indexes/github-docs-2.22-en-records.json.br b/lib/search/indexes/github-docs-2.22-en-records.json.br index 2717904c74..375d20d056 100644 --- a/lib/search/indexes/github-docs-2.22-en-records.json.br +++ b/lib/search/indexes/github-docs-2.22-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:969f16516f3eec2f66612ffe3e06a635a8b2b99bc2198fc1b0ebfa87646753bd -size 430208 +oid sha256:d9a478cc38529d9508c13cffefb3ac0ee3a7135952a9c3f31ab2a6a236652a6f +size 431502 diff --git a/lib/search/indexes/github-docs-2.22-en.json.br b/lib/search/indexes/github-docs-2.22-en.json.br index 65f27263a5..54788259d9 100644 --- a/lib/search/indexes/github-docs-2.22-en.json.br +++ b/lib/search/indexes/github-docs-2.22-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b2302defb4649e5a849c9ee01c1a366524bdcf1c4286862a1b9678ba7872a236 -size 1681903 +oid sha256:304f560ff4b934b1e3de2e1bd73427d2e6c61101b4c4c989a6afd542bf24403b +size 1688474 diff --git a/lib/search/indexes/github-docs-2.22-es-records.json.br b/lib/search/indexes/github-docs-2.22-es-records.json.br index d5e1e35fdf..e92f41feea 100644 --- a/lib/search/indexes/github-docs-2.22-es-records.json.br +++ b/lib/search/indexes/github-docs-2.22-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09fe50393bc15e09238928edcfda1b366a60082342ebd1ac92f06276294ea44e -size 280255 +oid sha256:400062ab6991d4629ff4421015fb8bc297b03bb58a37bb133ec842f96fc496fc +size 280086 diff --git a/lib/search/indexes/github-docs-2.22-es.json.br b/lib/search/indexes/github-docs-2.22-es.json.br index dfdfadd27d..4e1aa86927 100644 --- a/lib/search/indexes/github-docs-2.22-es.json.br +++ b/lib/search/indexes/github-docs-2.22-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8faa5ace9e06ecff3cc72e523b80e91713ad0efb6fba31a55281961a589b7a16 -size 1069643 +oid sha256:16f8220289d9c23e57bde938b18650ca16bc600fd3b2e631fe926d9223039c74 +size 1069297 diff --git a/lib/search/indexes/github-docs-2.22-ja-records.json.br b/lib/search/indexes/github-docs-2.22-ja-records.json.br index 75e1e8980b..8db6038723 100644 --- a/lib/search/indexes/github-docs-2.22-ja-records.json.br +++ b/lib/search/indexes/github-docs-2.22-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a73cc0fc6dab22d14a321f6744779e31fc4398c55551effe531cba2471ffff85 -size 528792 +oid sha256:d22f2e6b4d5eec438e8b7edafe8a5f5b55a880f7180da15c79269ef5dda22729 +size 528719 diff --git a/lib/search/indexes/github-docs-2.22-ja.json.br b/lib/search/indexes/github-docs-2.22-ja.json.br index af0b3e784a..8c0327b01b 100644 --- a/lib/search/indexes/github-docs-2.22-ja.json.br +++ b/lib/search/indexes/github-docs-2.22-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5b766f4d1328c995af637fed5a06417decd204826be014a0c6f076feacfd9535 -size 2799432 +oid sha256:f050a156e5be79fd3b1d0f88b108485567c5530917953d4a29fe1a2ad29c6ee7 +size 2799369 diff --git a/lib/search/indexes/github-docs-2.22-pt-records.json.br b/lib/search/indexes/github-docs-2.22-pt-records.json.br index 959e496c6e..f344f1f6f3 100644 --- a/lib/search/indexes/github-docs-2.22-pt-records.json.br +++ b/lib/search/indexes/github-docs-2.22-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e0ebb84bf546bca64009c34bcf8a962d6205a6b8a627adf1510bf5ef75c0c81b -size 443186 +oid sha256:3cad8432ef240e1cfb29c755511d435dce79fa01ebdb9ddeecd88abe5c1d54fd +size 443089 diff --git a/lib/search/indexes/github-docs-2.22-pt.json.br b/lib/search/indexes/github-docs-2.22-pt.json.br index 3ef5293db7..c51475dbb2 100644 --- a/lib/search/indexes/github-docs-2.22-pt.json.br +++ b/lib/search/indexes/github-docs-2.22-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:acbc10fe22236e8af820372a8bd63bd3145047aaa1ae75c9df6cf2ed22d4bcbf -size 1853007 +oid sha256:de1da7152575ddb864213917ed9293d0bfabe0614cf3b7f96964327d78e1059e +size 1853946 diff --git a/lib/search/indexes/github-docs-3.0-cn-records.json.br b/lib/search/indexes/github-docs-3.0-cn-records.json.br index ecf271f95a..c853e9adbb 100644 --- a/lib/search/indexes/github-docs-3.0-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.0-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b4e8603f0c727231f26a767d319736d7cc7378d0f0ef83ff6fb51aad38041e63 -size 524806 +oid sha256:e525d17f7751abd9dd450243a7c058ff2edc90d42e5026a1ce5e5bf6fe384e6e +size 524860 diff --git a/lib/search/indexes/github-docs-3.0-cn.json.br b/lib/search/indexes/github-docs-3.0-cn.json.br index 1a0f66cdcd..52f1fcf075 100644 --- a/lib/search/indexes/github-docs-3.0-cn.json.br +++ b/lib/search/indexes/github-docs-3.0-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cc92a98cd0227972bc18a77626fba7beaa559fc83d909b8b87c01ce5925cf8bd -size 834402 +oid sha256:096da0292a16026d63a957449b7aff1a7e2eb9e9302b970920d2166ea16a41a5 +size 834916 diff --git a/lib/search/indexes/github-docs-3.0-de-records.json.br b/lib/search/indexes/github-docs-3.0-de-records.json.br index cb5dae26bd..4d05027200 100644 --- a/lib/search/indexes/github-docs-3.0-de-records.json.br +++ b/lib/search/indexes/github-docs-3.0-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1468878bc15c50df45fc8e208bb53b5287e350ddc545e36739ed97ce3989d8df -size 490094 +oid sha256:7f8c322cf77a835c2c37ebe1f327be84dd653a75de40f6c003e936b5c0af3f6b +size 490059 diff --git a/lib/search/indexes/github-docs-3.0-de.json.br b/lib/search/indexes/github-docs-3.0-de.json.br index 3f60517db7..d50b532132 100644 --- a/lib/search/indexes/github-docs-3.0-de.json.br +++ b/lib/search/indexes/github-docs-3.0-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5b25d5a530cc76936fb0eebec65c7836afe8147995386a8fe33f646522786e54 -size 2179403 +oid sha256:ad9748aaf8da35dba47ea595ba7cffe3ca52996d05f06ce25eeb7a65d1031a87 +size 2179615 diff --git a/lib/search/indexes/github-docs-3.0-en-records.json.br b/lib/search/indexes/github-docs-3.0-en-records.json.br index 350f488124..2031be7631 100644 --- a/lib/search/indexes/github-docs-3.0-en-records.json.br +++ b/lib/search/indexes/github-docs-3.0-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:055f307fdbabbbe7feb11165744703163d5025f34f98e4d7b1d80a63e13dca42 -size 450546 +oid sha256:3f6f66d9254ff86cf2ad81a996f3f0f0333601c23c6beb6068c585bfbf6337e3 +size 451554 diff --git a/lib/search/indexes/github-docs-3.0-en.json.br b/lib/search/indexes/github-docs-3.0-en.json.br index b1e2afceca..7f62861c5b 100644 --- a/lib/search/indexes/github-docs-3.0-en.json.br +++ b/lib/search/indexes/github-docs-3.0-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:70f81ba3b11cba1f724c077c70e7adc833bff98ccb6fbea2a67893366822296c -size 1755769 +oid sha256:167186a6d81829e5f1428b3c7957d08f4fa569fb2e32b0b07c8e4455fdd48dd7 +size 1763408 diff --git a/lib/search/indexes/github-docs-3.0-es-records.json.br b/lib/search/indexes/github-docs-3.0-es-records.json.br index 417d3154e2..0aee16148a 100644 --- a/lib/search/indexes/github-docs-3.0-es-records.json.br +++ b/lib/search/indexes/github-docs-3.0-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f73981ced329bd2bbe62bb87f2b7561361194e8006509e60cb2869b5628de1a0 -size 277805 +oid sha256:6c98a504051c98c1921237b4349928681679ab21f11f78ba6f6606699f2ace52 +size 277885 diff --git a/lib/search/indexes/github-docs-3.0-es.json.br b/lib/search/indexes/github-docs-3.0-es.json.br index ed6e4c7d38..77d4a295dd 100644 --- a/lib/search/indexes/github-docs-3.0-es.json.br +++ b/lib/search/indexes/github-docs-3.0-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:88eabb53d4c0ed3e5742f0af8bac49df76ba659e4e35aefecf54191d4a0c77cc -size 1057315 +oid sha256:bbdf990480804e43e8b70eb0ee2e8b981bec63e6582483ffe6978e0ab74c9c07 +size 1057506 diff --git a/lib/search/indexes/github-docs-3.0-ja-records.json.br b/lib/search/indexes/github-docs-3.0-ja-records.json.br index 1163de3c52..c5635aed29 100644 --- a/lib/search/indexes/github-docs-3.0-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.0-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c72ff5c1a9ce603d1c11ea54084e1d2f6a55d032ecc24e66df29a5e282c3525 -size 550303 +oid sha256:8725875433ca44f26f7ba21764b80eb38dcde87daade6012af800000c7a7b33b +size 550199 diff --git a/lib/search/indexes/github-docs-3.0-ja.json.br b/lib/search/indexes/github-docs-3.0-ja.json.br index 8a1b1690e1..e328b10bc3 100644 --- a/lib/search/indexes/github-docs-3.0-ja.json.br +++ b/lib/search/indexes/github-docs-3.0-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd79457ed2e1d507c9adeb9233ce245545d47cab8c7ad5e351f8feb4d149e882 -size 2914720 +oid sha256:909cef124822285a8d376c90a26f829da22d43f6d862d36f89c62d75167a0a08 +size 2913770 diff --git a/lib/search/indexes/github-docs-3.0-pt-records.json.br b/lib/search/indexes/github-docs-3.0-pt-records.json.br index 7f78104630..73b9384c44 100644 --- a/lib/search/indexes/github-docs-3.0-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.0-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:958dbdfc8665a987c3757773ced983c11706c0752c3a632e994c3298147d2bcc -size 464433 +oid sha256:2eafb9a0de81a85c615afd1146c2d301169e433f95c099ca5b50d2559131dbe4 +size 464383 diff --git a/lib/search/indexes/github-docs-3.0-pt.json.br b/lib/search/indexes/github-docs-3.0-pt.json.br index 366def42f2..0e566d85c7 100644 --- a/lib/search/indexes/github-docs-3.0-pt.json.br +++ b/lib/search/indexes/github-docs-3.0-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b834bdc410b5bbfb57ff4804c1615852a2af8f2144531ee19c16f91f2ef6dac -size 1938283 +oid sha256:4a3ecd089f255c318f42a326ed2b38b9bef3aa485e24e7bf55e372df9b199893 +size 1938440 diff --git a/lib/search/indexes/github-docs-3.1-cn-records.json.br b/lib/search/indexes/github-docs-3.1-cn-records.json.br index 15257a671a..b3b30963c4 100644 --- a/lib/search/indexes/github-docs-3.1-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.1-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1856d81eba56c66c7ae66b015a2fb58644e9675128975ba7118032995c20122d -size 534106 +oid sha256:7f543bd3131597e56a2bab32cdf6f3eab067cef66d94bf435471584724408584 +size 533987 diff --git a/lib/search/indexes/github-docs-3.1-cn.json.br b/lib/search/indexes/github-docs-3.1-cn.json.br index de9c752143..8a9aadd7a7 100644 --- a/lib/search/indexes/github-docs-3.1-cn.json.br +++ b/lib/search/indexes/github-docs-3.1-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f1a43dd82fa9e3d6aee8719c2cf5399dd140411b994618d223fed6c1f890833 -size 847015 +oid sha256:4fc21a03055791eade4b12f96a10e224bd7e1f241f4c559ad53f56182f6f5f87 +size 846837 diff --git a/lib/search/indexes/github-docs-3.1-de-records.json.br b/lib/search/indexes/github-docs-3.1-de-records.json.br index 21e362e633..bb6f198279 100644 --- a/lib/search/indexes/github-docs-3.1-de-records.json.br +++ b/lib/search/indexes/github-docs-3.1-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3ae3156e745595db339bb8bed4ac32034f4303b8553f0ddcb287254990f9a485 -size 497012 +oid sha256:eb150d8f171d1d319a759ea916f33bf4e8d84570c46eb4d505e4900d04b94e8e +size 496785 diff --git a/lib/search/indexes/github-docs-3.1-de.json.br b/lib/search/indexes/github-docs-3.1-de.json.br index 91de720a68..a158f28691 100644 --- a/lib/search/indexes/github-docs-3.1-de.json.br +++ b/lib/search/indexes/github-docs-3.1-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c910c31918d5a02a196544319559bfa4a625704d2f4c6d7211620906ef8688ef -size 2221830 +oid sha256:aa8362d424aca52591db90e7e568b596dbc118193cb29cf189a60ab0a62707be +size 2222126 diff --git a/lib/search/indexes/github-docs-3.1-en-records.json.br b/lib/search/indexes/github-docs-3.1-en-records.json.br index 1a627a4abf..61cf56ce2e 100644 --- a/lib/search/indexes/github-docs-3.1-en-records.json.br +++ b/lib/search/indexes/github-docs-3.1-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a7bd227215d5fdd768d3732041452c2e428a3b1b1facaa0d8dd132ba44abb755 -size 459694 +oid sha256:8e56070a61db2e2699c69bc6691eb89aaf498243215ead0b0fb8511ba92ff28c +size 460890 diff --git a/lib/search/indexes/github-docs-3.1-en.json.br b/lib/search/indexes/github-docs-3.1-en.json.br index f34733e3d4..3a37637290 100644 --- a/lib/search/indexes/github-docs-3.1-en.json.br +++ b/lib/search/indexes/github-docs-3.1-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:182269c13bec3ad8bfebe1164471c4036ba9d0e8aa8e54ce374e7ef14f537de6 -size 1793967 +oid sha256:1c0b005c4ad977c0be0e0610324cc6e566ba283e2522df1eb045042e766f5889 +size 1800657 diff --git a/lib/search/indexes/github-docs-3.1-es-records.json.br b/lib/search/indexes/github-docs-3.1-es-records.json.br index fc801caf73..7acef1d4fe 100644 --- a/lib/search/indexes/github-docs-3.1-es-records.json.br +++ b/lib/search/indexes/github-docs-3.1-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c9f8f1ab638167db04e0a52df1d1bd24ca60579d4a5947fffb09524231a08063 -size 278464 +oid sha256:46a8f5917f314c73968b89bbd21feb135dbd40a9e166455ed2005f557a55fbdb +size 278344 diff --git a/lib/search/indexes/github-docs-3.1-es.json.br b/lib/search/indexes/github-docs-3.1-es.json.br index b526b86836..4de8cf2699 100644 --- a/lib/search/indexes/github-docs-3.1-es.json.br +++ b/lib/search/indexes/github-docs-3.1-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a79f0e91dfa1dd055fc34f153cac91934eaaa6528f990edb0ccf43d912e40cd2 -size 1059194 +oid sha256:653fe2028d2ce5f77ae4c01782348f4cebd2f21e76c8108fc3140fd091b09495 +size 1059079 diff --git a/lib/search/indexes/github-docs-3.1-ja-records.json.br b/lib/search/indexes/github-docs-3.1-ja-records.json.br index 6f1aac470c..bdf1cd28c8 100644 --- a/lib/search/indexes/github-docs-3.1-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.1-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5ddfac46fb129438a11ea977bf01858adc13715f99bd307f53dd8c0ff8f1bc86 -size 558782 +oid sha256:83d73c9a621e85bc3d5a10785c29e3e89009efd977f69d1849a9669aa6acc272 +size 558789 diff --git a/lib/search/indexes/github-docs-3.1-ja.json.br b/lib/search/indexes/github-docs-3.1-ja.json.br index 80dad2ab7a..abbfbe250f 100644 --- a/lib/search/indexes/github-docs-3.1-ja.json.br +++ b/lib/search/indexes/github-docs-3.1-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:70c3d50c1d19fe092b191ccf5ca960234dcfa895d11bd4e085eea4f7610e001d -size 2967444 +oid sha256:9878490280cdaa701312654782030bcd1235f663792baecf343a26e5362a3f90 +size 2967612 diff --git a/lib/search/indexes/github-docs-3.1-pt-records.json.br b/lib/search/indexes/github-docs-3.1-pt-records.json.br index 5f0351c167..3c9db5112a 100644 --- a/lib/search/indexes/github-docs-3.1-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.1-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:01241da0103258d93d238fcb0b7d22578a439fca6f009f7ae05df3ed86f709fb -size 472068 +oid sha256:dab0e8968a7017929979e4c1eb32209c8b771dde28e047be98565f9105abcdd6 +size 471990 diff --git a/lib/search/indexes/github-docs-3.1-pt.json.br b/lib/search/indexes/github-docs-3.1-pt.json.br index 0e9b2fcf6e..97d9888fc2 100644 --- a/lib/search/indexes/github-docs-3.1-pt.json.br +++ b/lib/search/indexes/github-docs-3.1-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:913bc7b170d6a6ab7b5901b93bc88b2be4b1f07a849dbddc084c79963e4a98ce -size 1972135 +oid sha256:5f6a902fd1b5b06ba68ca57dd89454f49e93baed08bce2149cf0d643847f4f68 +size 1973625 diff --git a/lib/search/indexes/github-docs-3.2-cn-records.json.br b/lib/search/indexes/github-docs-3.2-cn-records.json.br index d0284382d2..e5e5815bb9 100644 --- a/lib/search/indexes/github-docs-3.2-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.2-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e05ee1ec0b3976d65de63f4270383bc43f8b11f459488e3d7d4bf5a755be4882 -size 539634 +oid sha256:426c5b0d3131df43bb27eb5077fd9d5f955b38c5c0ba533d0fc3f4ef23e65887 +size 539603 diff --git a/lib/search/indexes/github-docs-3.2-cn.json.br b/lib/search/indexes/github-docs-3.2-cn.json.br index 165e233217..265d6fb345 100644 --- a/lib/search/indexes/github-docs-3.2-cn.json.br +++ b/lib/search/indexes/github-docs-3.2-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf756057c4dc7db9ac5fa53d6ce7770904b05cf269380298ca5f3533be773956 -size 853386 +oid sha256:49d9ff4ba683cea1d0a05810c7a61be385f1b7a3b6b017785150c05a4c2d1ab5 +size 853894 diff --git a/lib/search/indexes/github-docs-3.2-de-records.json.br b/lib/search/indexes/github-docs-3.2-de-records.json.br index 6c1b0c8eaf..7288ca8692 100644 --- a/lib/search/indexes/github-docs-3.2-de-records.json.br +++ b/lib/search/indexes/github-docs-3.2-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6bdc04a6e1d8e3ce0604b83e2bc91ab9c2506919617c17edde1f3b070a9144c4 -size 501408 +oid sha256:62054f701fb531c6518d863a588428cabdfffd0c759e69e90c9ad5f5661412f9 +size 501421 diff --git a/lib/search/indexes/github-docs-3.2-de.json.br b/lib/search/indexes/github-docs-3.2-de.json.br index 1ae48eb42b..12f4c26807 100644 --- a/lib/search/indexes/github-docs-3.2-de.json.br +++ b/lib/search/indexes/github-docs-3.2-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e522eda031210783e55fc89ce2b861447b9868c08c56ed46f0ed1bbbe5e4c55 -size 2244459 +oid sha256:9011a81493db82073032d5136e4b63c7894dd20f3f6cfa75150f46f26a67227c +size 2244873 diff --git a/lib/search/indexes/github-docs-3.2-en-records.json.br b/lib/search/indexes/github-docs-3.2-en-records.json.br index 046e807460..e17329e93a 100644 --- a/lib/search/indexes/github-docs-3.2-en-records.json.br +++ b/lib/search/indexes/github-docs-3.2-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f30eeca4e41ab479165b46e8d93f64b51dcf385a16153bd3b8c8775829e4490 -size 467087 +oid sha256:1161425760415f34d9b5657d5954afcff57e3004f785f37b6ad82672391ac0c5 +size 469382 diff --git a/lib/search/indexes/github-docs-3.2-en.json.br b/lib/search/indexes/github-docs-3.2-en.json.br index 7e50510d6c..b1f9ddba2b 100644 --- a/lib/search/indexes/github-docs-3.2-en.json.br +++ b/lib/search/indexes/github-docs-3.2-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:659bae3d331f05f00a26bb6988b4bf12242bd78df126b3fd6c7d25821026298c -size 1826664 +oid sha256:20628c926d3f7626845079b8ec9c39b3873231d1cd46222033bb9f4719ec4c15 +size 1833796 diff --git a/lib/search/indexes/github-docs-3.2-es-records.json.br b/lib/search/indexes/github-docs-3.2-es-records.json.br index ea8d8ead95..24a2a13ba3 100644 --- a/lib/search/indexes/github-docs-3.2-es-records.json.br +++ b/lib/search/indexes/github-docs-3.2-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:296ba12e26a11071b41d5ea3f857c28c27dfb5a2d272e480166e0c0c238d35d6 -size 278437 +oid sha256:e6832d509af31fa379ad0e8b011ff715e14f8ccb848a5bda6f6af5a9e5f9064c +size 278104 diff --git a/lib/search/indexes/github-docs-3.2-es.json.br b/lib/search/indexes/github-docs-3.2-es.json.br index 3b39ae9497..1de3708efb 100644 --- a/lib/search/indexes/github-docs-3.2-es.json.br +++ b/lib/search/indexes/github-docs-3.2-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:870cdc862699aa9ad97e1196a21c2681402f3e87ef904c06ee80cc6385cd3154 -size 1059253 +oid sha256:3313a50840b62bad159aa01f7510b65606af08a56b02880972355070af350b30 +size 1059027 diff --git a/lib/search/indexes/github-docs-3.2-ja-records.json.br b/lib/search/indexes/github-docs-3.2-ja-records.json.br index 141684f95e..42d2412485 100644 --- a/lib/search/indexes/github-docs-3.2-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.2-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fcbc17ff5c1a28a223584985d264f995fddde4a43ce99d23ff09b71c93e0913c -size 564651 +oid sha256:d043c53b1dc40afbaaec550d92832a99ebc65992aa29e3b0717f11bd92ee8d15 +size 564642 diff --git a/lib/search/indexes/github-docs-3.2-ja.json.br b/lib/search/indexes/github-docs-3.2-ja.json.br index 4c9005167a..cffcd33f83 100644 --- a/lib/search/indexes/github-docs-3.2-ja.json.br +++ b/lib/search/indexes/github-docs-3.2-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f1495ca25e02999808be263eaf2eb0fbc0e43ad1af3240041f56cca2f65936d7 -size 2999101 +oid sha256:f2a9d490cb4cd617326b4f81e2c94eff7817f49fe7b3c95b45f59a3fbba05827 +size 2999263 diff --git a/lib/search/indexes/github-docs-3.2-pt-records.json.br b/lib/search/indexes/github-docs-3.2-pt-records.json.br index da34695919..b52cf9273a 100644 --- a/lib/search/indexes/github-docs-3.2-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.2-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8316e38f0286efb09e57c2ea74b9a47b12e659199b643c0f5104d9b3cbe4cf2 -size 476642 +oid sha256:bc7b51e4fcd605ec5c525f935484ff8ddd31e44ac352559343379e8b3ea9d3d4 +size 476533 diff --git a/lib/search/indexes/github-docs-3.2-pt.json.br b/lib/search/indexes/github-docs-3.2-pt.json.br index 8616e14d75..bc3a065f29 100644 --- a/lib/search/indexes/github-docs-3.2-pt.json.br +++ b/lib/search/indexes/github-docs-3.2-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aa3779c547e8b2df6f41568aeba3875b95864be0cd586b4c307b6f3ae5a52f28 -size 1995455 +oid sha256:8d2d8a64c4b76f24b104d89a92eab28e9eede89548f0ebe14ef13c0e462d233e +size 1996573 diff --git a/lib/search/indexes/github-docs-dotcom-cn-records.json.br b/lib/search/indexes/github-docs-dotcom-cn-records.json.br index 8c12fec741..7bd8df8297 100644 --- a/lib/search/indexes/github-docs-dotcom-cn-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0465d6c3bf00e9cd19d1e1ca9fe0c93dcb9a95c543f3608430f0a06b1465d927 -size 695323 +oid sha256:5d25c0870df2eca263a976b8fe11cdb62e78a129d5208b91442b41cb58ba9102 +size 695672 diff --git a/lib/search/indexes/github-docs-dotcom-cn.json.br b/lib/search/indexes/github-docs-dotcom-cn.json.br index a971f30555..de3c49b25d 100644 --- a/lib/search/indexes/github-docs-dotcom-cn.json.br +++ b/lib/search/indexes/github-docs-dotcom-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ff56fce0a6f6f14f2801945fedc19e53995c0535876c2d602f10ab010ac318a -size 948264 +oid sha256:55133aabb34d1c8e2f78dbdf5eed3d31e832dd8f5b1bd152f7832693d0b17d89 +size 948623 diff --git a/lib/search/indexes/github-docs-dotcom-de-records.json.br b/lib/search/indexes/github-docs-dotcom-de-records.json.br index 60809be65e..3143b73af8 100644 --- a/lib/search/indexes/github-docs-dotcom-de-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91f11eb398efa01c8abb694625df8325f926412856628eab224f7b70e6990412 -size 633668 +oid sha256:897c19a98be3f6e35e6ee3c75aafe7c157d6592f3827b48682a50dfc943351fa +size 633835 diff --git a/lib/search/indexes/github-docs-dotcom-de.json.br b/lib/search/indexes/github-docs-dotcom-de.json.br index f9fa02bddb..1a282a4305 100644 --- a/lib/search/indexes/github-docs-dotcom-de.json.br +++ b/lib/search/indexes/github-docs-dotcom-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ddda81c8c80bf3491739b680b6516dc2d42b54a6a26432a86da3e69d3d66ea6c -size 2821208 +oid sha256:77a08a34ece8cb85b88bb87e2a340a9f759f265e763d8053573dfe5abc9d1e71 +size 2822993 diff --git a/lib/search/indexes/github-docs-dotcom-en-records.json.br b/lib/search/indexes/github-docs-dotcom-en-records.json.br index c7baa66976..c1abea22e9 100644 --- a/lib/search/indexes/github-docs-dotcom-en-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8733cb523046cfcbfefeeaf2801c94688784a294208a76412ab6e2f54205d02c -size 626232 +oid sha256:164ca870343297884d9d7c2a7f481d18875c0a425a7022d9451f875180d1e991 +size 628097 diff --git a/lib/search/indexes/github-docs-dotcom-en.json.br b/lib/search/indexes/github-docs-dotcom-en.json.br index 0d89f22348..3cfcec2dc6 100644 --- a/lib/search/indexes/github-docs-dotcom-en.json.br +++ b/lib/search/indexes/github-docs-dotcom-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fbd2577d09ac862b17d22ef24e88428b989d01e852c48de9922812c1fd82124 -size 2381146 +oid sha256:8b9498fad2832d2a9b952554138d5f90b78316738e930603c97d23d337307302 +size 2388375 diff --git a/lib/search/indexes/github-docs-dotcom-es-records.json.br b/lib/search/indexes/github-docs-dotcom-es-records.json.br index 3fde5f28f5..343c25764c 100644 --- a/lib/search/indexes/github-docs-dotcom-es-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:545c673e61bbc6dd5f87c9f241a8744daa4eeda14eeb85e14801a5b25dde334f -size 306445 +oid sha256:6e19b5e0c79d3d9d8065fce88ac8fdc2d9d564bea8a7127ced636d116e29e190 +size 306310 diff --git a/lib/search/indexes/github-docs-dotcom-es.json.br b/lib/search/indexes/github-docs-dotcom-es.json.br index 2c155a2a2b..ae10f8aacf 100644 --- a/lib/search/indexes/github-docs-dotcom-es.json.br +++ b/lib/search/indexes/github-docs-dotcom-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c61cdaa5ab70fd87ec819ea2d81fd5ac05ea2f48cdff7a4de9122f350c3cb192 -size 1090136 +oid sha256:d05d9215dd74b4abbae84d8479b42992cd470db675566a1930654f380a64e534 +size 1090384 diff --git a/lib/search/indexes/github-docs-dotcom-ja-records.json.br b/lib/search/indexes/github-docs-dotcom-ja-records.json.br index 6577e456e2..74ebd7acef 100644 --- a/lib/search/indexes/github-docs-dotcom-ja-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58955d4352925ff4237bf0a8a15e86e1dfb65271c6df247c16fc4fe70af6c5e0 -size 723115 +oid sha256:7ee70c9171c162ce00454d0a4dc7b3fe4103450f0b5ac0a91ce4d5cf3ad3a045 +size 724005 diff --git a/lib/search/indexes/github-docs-dotcom-ja.json.br b/lib/search/indexes/github-docs-dotcom-ja.json.br index a051bae064..36d9b3f365 100644 --- a/lib/search/indexes/github-docs-dotcom-ja.json.br +++ b/lib/search/indexes/github-docs-dotcom-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c221f09ab0bb4a6afa4013d6a83c970096f8bccbf7b0c91a1a3bdd76f12d946 -size 3758796 +oid sha256:57c6203e457681868fcdd103b48368bca4693292d601f9972c9d89230df3659a +size 3761868 diff --git a/lib/search/indexes/github-docs-dotcom-pt-records.json.br b/lib/search/indexes/github-docs-dotcom-pt-records.json.br index 01e1728d12..dfb7529d1f 100644 --- a/lib/search/indexes/github-docs-dotcom-pt-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b193ea1add44fa02e3b001b2bcef361d32f4b15d1e29fc27cdb1105eb3e06555 -size 607499 +oid sha256:a100fcf13d51d254057ccae555bbd2d16b17d9ac9b37705503653559da09f911 +size 607331 diff --git a/lib/search/indexes/github-docs-dotcom-pt.json.br b/lib/search/indexes/github-docs-dotcom-pt.json.br index b5f73c62dd..d0d5eb6d84 100644 --- a/lib/search/indexes/github-docs-dotcom-pt.json.br +++ b/lib/search/indexes/github-docs-dotcom-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fe3cbbe8f4b3240b2ce6962b1c943d71ba79b75dab09105ed2f1b3a51f1858ba -size 2491475 +oid sha256:1dd7158c1cf1d829eb3d6bba3f6dd2c472a7c649455c2180ab8f3404e1c345e6 +size 2490719 diff --git a/lib/search/indexes/github-docs-ghae-cn-records.json.br b/lib/search/indexes/github-docs-ghae-cn-records.json.br index d90749e151..d250de08e9 100644 --- a/lib/search/indexes/github-docs-ghae-cn-records.json.br +++ b/lib/search/indexes/github-docs-ghae-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0bc47e9d4fab19c86ed5db841349efa68f539e3d353a9d4d80a105691a421480 -size 414301 +oid sha256:de8dcbc9b35a614c85be1a5bd130fa801e5384ec2880d8bb3197185474cc59f7 +size 414053 diff --git a/lib/search/indexes/github-docs-ghae-cn.json.br b/lib/search/indexes/github-docs-ghae-cn.json.br index f54cffb3b1..a195811e4c 100644 --- a/lib/search/indexes/github-docs-ghae-cn.json.br +++ b/lib/search/indexes/github-docs-ghae-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bfa8167e4669d27d04f31950e856301480c84a79e8815e0d3c15abc29d729c47 -size 631423 +oid sha256:34c9c5ed2b83af933b5b052e51cc09b833ba6962aa6798544a60344c90eca0d1 +size 631088 diff --git a/lib/search/indexes/github-docs-ghae-de-records.json.br b/lib/search/indexes/github-docs-ghae-de-records.json.br index 2f25cf0dad..bf1e12ff68 100644 --- a/lib/search/indexes/github-docs-ghae-de-records.json.br +++ b/lib/search/indexes/github-docs-ghae-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7505876f442d5391ac5778e470badfaa177d9250db26eff7c2ad892c366683df -size 390602 +oid sha256:134d7cd9c34be256497f9217f775a4bb1e7de829db703a2b82f6073e0073dede +size 390669 diff --git a/lib/search/indexes/github-docs-ghae-de.json.br b/lib/search/indexes/github-docs-ghae-de.json.br index 992fc3a234..3d07f44e0c 100644 --- a/lib/search/indexes/github-docs-ghae-de.json.br +++ b/lib/search/indexes/github-docs-ghae-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ec5517c37785ea7459cabc1c94b6c03e019de9a1bc43627a25337e0d303c702 -size 1700673 +oid sha256:ab1d88a78fa1232e61b059fd3c2d37ce5e58a052f3403a444c69cd3c3beb0dc3 +size 1699700 diff --git a/lib/search/indexes/github-docs-ghae-en-records.json.br b/lib/search/indexes/github-docs-ghae-en-records.json.br index 64cf3a33b5..564699b09f 100644 --- a/lib/search/indexes/github-docs-ghae-en-records.json.br +++ b/lib/search/indexes/github-docs-ghae-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74235a7c4fa97b7ab2afa6097d07b4f28785b42b3614c16e5463ebd6eb8651d6 -size 360179 +oid sha256:cecd0d050ce02f7bc55699e2b9f42c4c70d519b08f0784e7f8c3e6801854c55f +size 361419 diff --git a/lib/search/indexes/github-docs-ghae-en.json.br b/lib/search/indexes/github-docs-ghae-en.json.br index d44f747672..8ee34b358c 100644 --- a/lib/search/indexes/github-docs-ghae-en.json.br +++ b/lib/search/indexes/github-docs-ghae-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:10e86f641b6df55f5bc2ed036de10cf997a701bf1bc0423b1b1402eb81fffb41 -size 1343620 +oid sha256:e8ce457de1d4cb2451e3ee2017e936244aa35fcf14ededdc53d9b3e5788d90f0 +size 1349586 diff --git a/lib/search/indexes/github-docs-ghae-es-records.json.br b/lib/search/indexes/github-docs-ghae-es-records.json.br index e7f9188547..1eafe2a2ad 100644 --- a/lib/search/indexes/github-docs-ghae-es-records.json.br +++ b/lib/search/indexes/github-docs-ghae-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8db782b9288c0b7ffaa8e7fbdf146fe3fb4fa810e7f9ac04cd2b0e526069852e -size 200548 +oid sha256:e8409e2d00ffded321b9c0b706a26069a773e64798ca1534f11f4863c5871668 +size 200596 diff --git a/lib/search/indexes/github-docs-ghae-es.json.br b/lib/search/indexes/github-docs-ghae-es.json.br index 7f57b1bb4b..bf8613f805 100644 --- a/lib/search/indexes/github-docs-ghae-es.json.br +++ b/lib/search/indexes/github-docs-ghae-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1bdb9a4b2fc3a81c8f35ae3f2543f1966f7d0545f3b3483ddfb4d6a19fbff76d -size 719958 +oid sha256:9cb5ec5a908e1893cae4ff1bffc2270bab7b3885530614b800f8e6e18e0a1a12 +size 720108 diff --git a/lib/search/indexes/github-docs-ghae-ja-records.json.br b/lib/search/indexes/github-docs-ghae-ja-records.json.br index ccc7cf8c49..fcb08949ba 100644 --- a/lib/search/indexes/github-docs-ghae-ja-records.json.br +++ b/lib/search/indexes/github-docs-ghae-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c137cfa90b928b5ef8f22be5dd4267f37c2d5c1be95442c814c0a95d0ebdc6d -size 435056 +oid sha256:5e708ad376519a1a603868382f6c060ca666af01ab5dcc699230e5f325324995 +size 435290 diff --git a/lib/search/indexes/github-docs-ghae-ja.json.br b/lib/search/indexes/github-docs-ghae-ja.json.br index 110be9aa14..329a9d56a7 100644 --- a/lib/search/indexes/github-docs-ghae-ja.json.br +++ b/lib/search/indexes/github-docs-ghae-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c95b4889cd7c250d5054a1ce82a0d55c51938a2d397ce8316aa499ce345b94b5 -size 2218856 +oid sha256:e6c1ea9e3996cbf226c0bccf466a6729aac75b6ce17f56f4c5f3f9889251104d +size 2220243 diff --git a/lib/search/indexes/github-docs-ghae-pt-records.json.br b/lib/search/indexes/github-docs-ghae-pt-records.json.br index 2525ecaea6..3a1e8b024f 100644 --- a/lib/search/indexes/github-docs-ghae-pt-records.json.br +++ b/lib/search/indexes/github-docs-ghae-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:615542044d60aefa86f019d5b2f4fbce568199c54d34e864eb9824c69a395651 -size 371591 +oid sha256:4ea58cfdcfc646f490766f6533a53c9a6636bad86c28f27919303b4e08e8cc3e +size 371362 diff --git a/lib/search/indexes/github-docs-ghae-pt.json.br b/lib/search/indexes/github-docs-ghae-pt.json.br index 4a6ce9df42..7b91b59c84 100644 --- a/lib/search/indexes/github-docs-ghae-pt.json.br +++ b/lib/search/indexes/github-docs-ghae-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b90a7a5ccf275a664149ce3c730cead0d8ec67f78c1b3f47c3c7f3d792b7946b -size 1499650 +oid sha256:f7861cacdfacee52cac4e88253342117a5b8bd7df17dce506728815a45db2ded +size 1498583