From bb4136389657f67f69e7567dd98c5ed065383523 Mon Sep 17 00:00:00 2001 From: Ashley Date: Mon, 16 Dec 2024 10:06:52 -0500 Subject: [PATCH] [Remove Quotes] site-policy support webhooks video-transcripts (#53599) --- .../github-acceptable-use-policies.md | 2 +- .../dmca-takedown-policy.md | 4 +-- ...thub-private-information-removal-policy.md | 2 +- .../github-community-code-of-conduct.md | 2 +- .../github-community-guidelines.md | 2 +- .../github-general-privacy-statement.md | 2 +- .../creating-a-support-ticket.md | 14 ++++----- ...-started-with-the-github-support-portal.md | 6 ++-- .../providing-data-to-github-support.md | 10 +++---- .../using-copilot-in-github-support.md | 2 +- .../viewing-and-updating-support-tickets.md | 6 ++-- .../about-copilot-in-github-support.md | 4 +-- .../about-github-premium-support.md | 8 ++--- .../about-github-support.md | 22 +++++++------- .../about-ticket-priority.md | 2 +- .../github-marketplace-support.md | 4 +-- .../support/sharing-feedback-with-github.md | 2 +- ...nsumption-through-an-azure-subscription.md | 2 +- content/webhooks/about-webhooks.md | 8 ++--- .../redelivering-webhooks.md | 6 ++-- .../testing-webhooks.md | 24 +++++++-------- .../troubleshooting-webhooks.md | 16 +++++----- ...hub-cli-to-forward-webhooks-for-testing.md | 2 +- .../viewing-webhook-deliveries.md | 8 ++--- content/webhooks/types-of-webhooks.md | 16 +++++----- ...led-deliveries-for-a-github-app-webhook.md | 16 +++++----- ...led-deliveries-for-a-repository-webhook.md | 12 ++++---- ...-deliveries-for-an-organization-webhook.md | 12 ++++---- .../best-practices-for-using-webhooks.md | 14 ++++----- .../using-webhooks/creating-webhooks.md | 30 +++++++++---------- .../delivering-webhooks-to-private-systems.md | 2 +- .../using-webhooks/disabling-webhooks.md | 8 ++--- .../using-webhooks/editing-webhooks.md | 16 +++++----- .../handling-failed-webhook-deliveries.md | 14 ++++----- .../handling-webhook-deliveries.md | 28 ++++++++--------- .../validating-webhook-deliveries.md | 14 ++++----- .../webhooks/webhook-events-and-payloads.md | 8 ++--- 37 files changed, 175 insertions(+), 175 deletions(-) diff --git a/content/site-policy/acceptable-use-policies/github-acceptable-use-policies.md b/content/site-policy/acceptable-use-policies/github-acceptable-use-policies.md index 799f6fe7924c..6aa49575c749 100644 --- a/content/site-policy/acceptable-use-policies/github-acceptable-use-policies.md +++ b/content/site-policy/acceptable-use-policies/github-acceptable-use-policies.md @@ -99,7 +99,7 @@ Any person, entity, or service collecting data from the Service must comply with ## 9. Excessive Bandwidth Use -The Service's bandwidth limitations vary based on the features you use. If we determine your bandwidth usage to be significantly excessive in relation to other users of similar features, we reserve the right to suspend your Account, throttle your file hosting, or otherwise limit your activity until you can reduce your bandwidth consumption. We also reserve the right—after providing advance notice—to delete repositories that we determine to be placing undue strain on our infrastructure. For guidance on acceptable use of object storage in repositories, refer to "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-large-files-on-github)". For more details on specific features' bandwidth limitations, see the [GitHub Additional Product Terms](/site-policy/github-terms/github-terms-for-additional-products-and-features). +The Service's bandwidth limitations vary based on the features you use. If we determine your bandwidth usage to be significantly excessive in relation to other users of similar features, we reserve the right to suspend your Account, throttle your file hosting, or otherwise limit your activity until you can reduce your bandwidth consumption. We also reserve the right—after providing advance notice—to delete repositories that we determine to be placing undue strain on our infrastructure. For guidance on acceptable use of object storage in repositories, refer to [AUTOTITLE](/repositories/working-with-files/managing-large-files/about-large-files-on-github). For more details on specific features' bandwidth limitations, see the [GitHub Additional Product Terms](/site-policy/github-terms/github-terms-for-additional-products-and-features). ## 10. Advertising on GitHub diff --git a/content/site-policy/content-removal-policies/dmca-takedown-policy.md b/content/site-policy/content-removal-policies/dmca-takedown-policy.md index 06344877ff0c..2f2e020e1de7 100644 --- a/content/site-policy/content-removal-policies/dmca-takedown-policy.md +++ b/content/site-policy/content-removal-policies/dmca-takedown-policy.md @@ -16,7 +16,7 @@ topics: Welcome to GitHub's Guide to the Digital Millennium Copyright Act, commonly known as the "DMCA." This page is not meant as a comprehensive primer to the statute. However, if you've received a DMCA takedown notice targeting content you've posted on GitHub or if you're a rights-holder looking to issue such a notice, this page will hopefully help to demystify the law a bit as well as our policies for complying with it. -(If you just want to submit a notice, you can skip to "[G. Submitting Notices](#g-submitting-notices).") +(If you just want to submit a notice, you can skip to [G. Submitting Notices](#g-submitting-notices).) As with all legal matters, it is always best to consult with a professional about your specific questions or situation. We strongly encourage you to do so before taking any action that might impact your rights. This guide isn't legal advice and shouldn't be taken as such. @@ -65,7 +65,7 @@ Here are the basic steps in the process. ## B. What About Forks? (or What's a Fork?) -One of the best features of GitHub is the ability for users to "fork" one another's repositories. What does that mean? In essence, it means that users can make a copy of a project on GitHub into their own repositories. As the license or the law allows, users can then make changes to that fork to either push back to the main project or just keep as their own variation of a project. Each of these copies is a "[AUTOTITLE](/get-started/learning-about-github/github-glossary#fork)" of the original repository, which in turn may also be called the "parent" of the fork. +One of the best features of GitHub is the ability for users to "fork" one another's repositories. What does that mean? In essence, it means that users can make a copy of a project on GitHub into their own repositories. As the license or the law allows, users can then make changes to that fork to either push back to the main project or just keep as their own variation of a project. Each of these copies is a [AUTOTITLE](/get-started/learning-about-github/github-glossary#fork) of the original repository, which in turn may also be called the "parent" of the fork. GitHub _will not_ automatically disable forks when disabling a parent repository. This is because forks belong to different users, may have been altered in significant ways, and may be licensed or used in a different way that is protected by the fair-use doctrine. GitHub does not conduct any independent investigation into forks. We expect copyright owners to conduct that investigation and, if they believe that the forks are also infringing, expressly include forks in their takedown notice. diff --git a/content/site-policy/content-removal-policies/github-private-information-removal-policy.md b/content/site-policy/content-removal-policies/github-private-information-removal-policy.md index a67cff4c02ff..5412a7c9f384 100644 --- a/content/site-policy/content-removal-policies/github-private-information-removal-policy.md +++ b/content/site-policy/content-removal-policies/github-private-information-removal-policy.md @@ -66,7 +66,7 @@ For the purposes of this document, “private information” refers to content t ### What About Forks? (or What's a Fork?) -One of the best features of GitHub is the ability for users to "fork" one another's repositories. What does that mean? In essence, it means that users can make a copy of a project on GitHub into their own repositories. As the license or the law allows, users can then make changes to that fork to either push back to the main project or just keep as their own variation of a project. Each of these copies is a "[AUTOTITLE](/get-started/learning-about-github/github-glossary#fork)" of the original repository, which in turn may also be called the "parent" of the fork. +One of the best features of GitHub is the ability for users to "fork" one another's repositories. What does that mean? In essence, it means that users can make a copy of a project on GitHub into their own repositories. As the license or the law allows, users can then make changes to that fork to either push back to the main project or just keep as their own variation of a project. Each of these copies is a [AUTOTITLE](/get-started/learning-about-github/github-glossary#fork) of the original repository, which in turn may also be called the "parent" of the fork. GitHub will not automatically disable forks when disabling a parent repository. This is because forks belong to different users and may have been altered in significant ways. GitHub does not conduct any independent investigation into forks. We expect those sending private information removal requests to conduct that investigation and, if they believe that the forks also contain private information, expressly include forks in their request. diff --git a/content/site-policy/github-terms/github-community-code-of-conduct.md b/content/site-policy/github-terms/github-community-code-of-conduct.md index ac5dd5fc4e68..b713c52d7237 100644 --- a/content/site-policy/github-terms/github-community-code-of-conduct.md +++ b/content/site-policy/github-terms/github-community-code-of-conduct.md @@ -99,7 +99,7 @@ The community is here for users to build trust through authentic reputations. No * **If you see a problem, report it.** Moderators have special authority; they are responsible for this GitHub Community. But so are you. With your help, moderators can be community facilitators, not just janitors or police. - When you see bad behavior, don’t reply. It encourages the bad behavior by acknowledging it, consumes your energy, and wastes everyone’s time. You can report a disruptive user or disruptive content to GitHub. For more information, see "[AUTOTITLE](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam)." + When you see bad behavior, don’t reply. It encourages the bad behavior by acknowledging it, consumes your energy, and wastes everyone’s time. You can report a disruptive user or disruptive content to GitHub. For more information, see [AUTOTITLE](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam). ### Our Responsibilities diff --git a/content/site-policy/github-terms/github-community-guidelines.md b/content/site-policy/github-terms/github-community-guidelines.md index e607076f8607..78e400e80053 100644 --- a/content/site-policy/github-terms/github-community-guidelines.md +++ b/content/site-policy/github-terms/github-community-guidelines.md @@ -38,7 +38,7 @@ While some disagreements can be resolved with direct, respectful communication b * **Moderate Comments** - Users with [write-access privileges](/organizations/managing-user-access-to-your-organizations-repositories/repository-roles-for-an-organization) for a repository can [edit, delete, or hide anyone's comments](/communities/moderating-comments-and-conversations/managing-disruptive-comments) on commits, pull requests, and issues. Anyone with read access to a repository can view a comment's edit history. Comment authors and people with write access to a repository can also delete sensitive information from a [comment's edit history](/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment). Moderating your projects can feel like a big task if there is a lot of activity, but you can [add collaborators](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-personal-account-repository#collaborator-access-for-a-repository-owned-by-a-personal-account) to assist you in managing your community. -* **Lock Conversations**  - If a discussion in an issue, pull request, or commit gets out of hand, off topic, or violates your project’s code of conduct or GitHub’s policies, owners, collaborators, and anyone else with write access can put a temporary or permanent lock on the conversation. For more information, see "[AUTOTITLE](/communities/moderating-comments-and-conversations/locking-conversations)." +* **Lock Conversations**  - If a discussion in an issue, pull request, or commit gets out of hand, off topic, or violates your project’s code of conduct or GitHub’s policies, owners, collaborators, and anyone else with write access can put a temporary or permanent lock on the conversation. For more information, see [AUTOTITLE](/communities/moderating-comments-and-conversations/locking-conversations). * **Block Users**  - If you encounter a specific user who you would rather not engage with, you can [block the user from your personal account](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account) or [from your organization](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization). diff --git a/content/site-policy/privacy-policies/github-general-privacy-statement.md b/content/site-policy/privacy-policies/github-general-privacy-statement.md index 7b49e3f119de..250550ba4ed8 100644 --- a/content/site-policy/privacy-policies/github-general-privacy-statement.md +++ b/content/site-policy/privacy-policies/github-general-privacy-statement.md @@ -216,7 +216,7 @@ For Enterprise Marketing Pages, we may also use non-essential cookies to (i) gat Our emails to users may contain a pixel tag, which is a small, clear image that can tell us whether or not you have opened an email and what your IP address is. We use this pixel tag to make our email communications more effective and to make sure we are not sending you unwanted email. -The length of time a cookie will stay on your browser or device depends on whether it is a “persistent” or “session” cookie. Session cookies will only stay on your device until you stop browsing. Persistent cookies stay until they expire or are deleted. The expiration time or retention period applicable to persistent cookies depends on the purpose of the cookie collection and tool used. You may be able to delete cookie data. For more information, see "[AUTOTITLE](/site-policy/privacy-policies/github-privacy-statement#what-are-your-cookie-choices-and-controls)." +The length of time a cookie will stay on your browser or device depends on whether it is a “persistent” or “session” cookie. Session cookies will only stay on your device until you stop browsing. Persistent cookies stay until they expire or are deleted. The expiration time or retention period applicable to persistent cookies depends on the purpose of the cookie collection and tool used. You may be able to delete cookie data. For more information, see [AUTOTITLE](/site-policy/privacy-policies/github-privacy-statement#what-are-your-cookie-choices-and-controls). #### What are cookies and similar technologies? diff --git a/content/support/contacting-github-support/creating-a-support-ticket.md b/content/support/contacting-github-support/creating-a-support-ticket.md index 33ffa5b5cc59..765f58b03fc2 100644 --- a/content/support/contacting-github-support/creating-a-support-ticket.md +++ b/content/support/contacting-github-support/creating-a-support-ticket.md @@ -28,7 +28,7 @@ topics: {% ifversion fpt %} {% data reusables.support.free-and-paid-support %} -To share feedback with {% data variables.product.company_short %}, you can use the {% data variables.contact.community_feedback_discussions %}. For more information, see "[AUTOTITLE](/support/sharing-feedback-with-github)." +To share feedback with {% data variables.product.company_short %}, you can use the {% data variables.contact.community_feedback_discussions %}. For more information, see [AUTOTITLE](/support/sharing-feedback-with-github). {% endif %} {% ifversion ghes or ghec %} @@ -41,13 +41,13 @@ You can create your ticket using the {% data variables.contact.landing_page_port {% data reusables.support.zendesk-old-tickets %} -After you create your ticket, you can view your ticket and the responses from {% data variables.contact.github_support %} on the {% data variables.contact.contact_landing_page_portal %}. For more information, see "[AUTOTITLE](/support/contacting-github-support/viewing-and-updating-support-tickets)." +After you create your ticket, you can view your ticket and the responses from {% data variables.contact.github_support %} on the {% data variables.contact.contact_landing_page_portal %}. For more information, see [AUTOTITLE](/support/contacting-github-support/viewing-and-updating-support-tickets). {% ifversion ghec or ghes %} ## Prerequisites -{% ifversion ghec %}If you use an enterprise account, there{% else %}There{% endif %} are some steps you should follow before you start using the {% data variables.contact.enterprise_portal %}. For more information, see "[Getting started with the {% data variables.contact.enterprise_portal %}](/support/contacting-github-support/getting-started-with-the-github-support-portal)." +{% ifversion ghec %}If you use an enterprise account, there{% else %}There{% endif %} are some steps you should follow before you start using the {% data variables.contact.enterprise_portal %}. For more information, see [Getting started with the {% data variables.contact.enterprise_portal %}](/support/contacting-github-support/getting-started-with-the-github-support-portal). {% endif %} ## What to include in your support ticket @@ -78,13 +78,13 @@ Especially for tickets with {% data variables.product.support_ticket_priority_ur ## Creating a support ticket{% ifversion ghes %} using the {% data variables.contact.enterprise_portal %}{% endif %} > [!NOTE] -> Before you submit a ticket, you have the option of using {% data variables.product.prodname_copilot_in_support %} to receive an immediate response to your question. If {% data variables.product.prodname_copilot_in_support %} is unable to resolve your issue, you can continue submitting your ticket. For more information, see "[AUTOTITLE](/support/learning-about-github-support/about-copilot-in-github-support)." +> Before you submit a ticket, you have the option of using {% data variables.product.prodname_copilot_in_support %} to receive an immediate response to your question. If {% data variables.product.prodname_copilot_in_support %} is unable to resolve your issue, you can continue submitting your ticket. For more information, see [AUTOTITLE](/support/learning-about-github-support/about-copilot-in-github-support). 1. Navigate to the {% data variables.contact.contact_landing_page_portal %} and choose one of the following options: * To sign in with your {% data variables.product.prodname_dotcom %} account, click **Sign in with {% data variables.product.prodname_dotcom %}**. * To sign up for {% data variables.product.prodname_dotcom %}, click **Sign up for {% data variables.product.prodname_dotcom %}**. - * If you can't sign in or sign up, click **Can't sign in?** and fill out the form. You will be guided through an email verification process.{% ifversion ghec or ghes %} You will need to upload your {% data variables.product.prodname_enterprise %} license. For more information, see "[AUTOTITLE](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise)."{% endif %} + * If you can't sign in or sign up, click **Can't sign in?** and fill out the form. You will be guided through an email verification process.{% ifversion ghec or ghes %} You will need to upload your {% data variables.product.prodname_enterprise %} license. For more information, see [AUTOTITLE](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise).{% endif %} {% data reusables.support.submit-a-ticket %} @@ -101,7 +101,7 @@ Especially for tickets with {% data variables.product.support_ticket_priority_ur * To sign in with your {% data variables.product.prodname_dotcom %} account, click **Sign in with {% data variables.product.prodname_dotcom %}**. * To sign up for {% data variables.product.prodname_dotcom %}, click **Sign up for {% data variables.product.prodname_dotcom %}**. - * If you can't sign in or sign up, click **Can't sign in?** and fill out the form. You will be guided through an email verification process. You will need to upload your {% data variables.product.prodname_enterprise %} license. For more information, see "[AUTOTITLE](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise)." + * If you can't sign in or sign up, click **Can't sign in?** and fill out the form. You will be guided through an email verification process. You will need to upload your {% data variables.product.prodname_enterprise %} license. For more information, see [AUTOTITLE](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise). 1. If you'd like to include diagnostics with your support ticket, Under "Diagnostics", click **Download diagnostic info** and save the file locally. You'll attach this file to your support ticket later. 1. To complete your ticket and display the {% data variables.contact.enterprise_portal %}, under "Open Support Request", click **New support request**. @@ -111,4 +111,4 @@ Especially for tickets with {% data variables.product.support_ticket_priority_ur ## Further reading -* "[AUTOTITLE](/support/learning-about-github-support/about-github-support)" +* [AUTOTITLE](/support/learning-about-github-support/about-github-support) diff --git a/content/support/contacting-github-support/getting-your-enterprise-started-with-the-github-support-portal.md b/content/support/contacting-github-support/getting-your-enterprise-started-with-the-github-support-portal.md index da23b6cef66f..071fd97664c7 100644 --- a/content/support/contacting-github-support/getting-your-enterprise-started-with-the-github-support-portal.md +++ b/content/support/contacting-github-support/getting-your-enterprise-started-with-the-github-support-portal.md @@ -26,7 +26,7 @@ You can use the {% data variables.contact.contact_landing_page_portal %} to crea To benefit from Premium Support SLAs and ticket collaboration features, you must associate your ticket with {% data variables.location.product_location %} in one of two ways. -1. If your institution has an enterprise account on {% data variables.product.prodname_dotcom_the_website %}, you have a user account on {% data variables.product.prodname_dotcom_the_website %}, and that user account has been granted support entitlements for the enterprise account, you can select the enterprise account when creating a ticket. For more information about enterprise accounts, see "[About enterprise accounts](/admin/overview/about-enterprise-accounts)." +1. If your institution has an enterprise account on {% data variables.product.prodname_dotcom_the_website %}, you have a user account on {% data variables.product.prodname_dotcom_the_website %}, and that user account has been granted support entitlements for the enterprise account, you can select the enterprise account when creating a ticket. For more information about enterprise accounts, see [About enterprise accounts](/admin/overview/about-enterprise-accounts). * The majority of {% data variables.product.prodname_ghe_server %} customers already have an enterprise account on {% data variables.product.prodname_dotcom_the_website %}. If you're not sure whether you do, first check with your team. * If your team confirms that you do not have an enterprise account on {% data variables.product.prodname_dotcom_the_website %}, you can [submit a request](https://support.github.com/contact?comments=%3E+Please+provide+the+following+information+and+someone+will+be+in+touch+to+help+you+setup+your+enterprise+account.%0A%0A%23%23%23%23+Company+name+%28required%29%0A%0A%23%23%23%23+Email+address+or+GitHub+login+of+the+person+who+should+be+the+initial+owner+of+the+enterprise+account+%28required%29%0A%0A%23%23%23%23+Is+there+anything+else+we+should+know+to+help+us+identify+your+account%3F+%28optional%29%0A%3E+Attaching+a+GitHub+Enterprise+Server+diagnostics+file+here+can+help+us+identify+your+account+by+license+reference+number%0A%0A&subject=Enterprise+Account+Request&tags=new-ea) for a new one. @@ -41,5 +41,5 @@ To benefit from Premium Support SLAs and ticket collaboration features, you must Before you start creating tickets associated with your enterprise account on {% data variables.product.prodname_dotcom_the_website %}, we recommend completing the following steps. 1. Identify the user on {% data variables.product.prodname_dotcom_the_website %} who is an owner of your enterprise account. -1. Configure a verified domain. For more information, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)." -1. Add owners, billing managers, or support-entitled members to your enterprise account. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise)" and "[AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)." +1. Configure a verified domain. For more information, see [AUTOTITLE](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise). +1. Add owners, billing managers, or support-entitled members to your enterprise account. For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise) and [AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise). diff --git a/content/support/contacting-github-support/providing-data-to-github-support.md b/content/support/contacting-github-support/providing-data-to-github-support.md index e9d40e720a39..ac9b8477f752 100644 --- a/content/support/contacting-github-support/providing-data-to-github-support.md +++ b/content/support/contacting-github-support/providing-data-to-github-support.md @@ -96,9 +96,9 @@ After you submit your support request, we may ask you to share a support bundle * `collectd/logs/collectd.log`: Collectd logs * `mail-logs/mail.log`: SMTP email delivery logs -For more information, see "[AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise)." +For more information, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). -Support bundles include logs from the past two days by default. You can specify an exact duration in days. To provide logs from the past eight days, you can download an extended support bundle. For more information, see "[Creating and sharing extended support bundles](#creating-and-sharing-extended-support-bundles)." +Support bundles include logs from the past two days by default. You can specify an exact duration in days. To provide logs from the past eight days, you can download an extended support bundle. For more information, see [Creating and sharing extended support bundles](#creating-and-sharing-extended-support-bundles). > [!TIP] > When you contact {% data variables.contact.github_support %}, you'll be sent a confirmation email that will contain a ticket reference link. If {% data variables.contact.github_support %} asks you to upload a support bundle, you can use the ticket reference link to upload the support bundle. @@ -127,7 +127,7 @@ You can use these steps to create and share a support bundle if you have SSH acc ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -o' > support-bundle.tgz ``` - For more information about the `ghe-support-bundle` command, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-support-bundle)". + For more information about the `ghe-support-bundle` command, see [AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-support-bundle). {% data reusables.enterprise_enterprise_support.sign-in-to-support %} {% data reusables.enterprise_enterprise_support.upload-support-bundle %} @@ -188,5 +188,5 @@ You can directly upload a support bundle to our server if: ## Further reading -* "[AUTOTITLE](/support/learning-about-github-support/about-github-support)" -* "[AUTOTITLE](/enterprise-server@latest/admin/enterprise-management/monitoring-your-appliance/generating-a-health-check-for-your-enterprise)" +* [AUTOTITLE](/support/learning-about-github-support/about-github-support) +* [AUTOTITLE](/enterprise-server@latest/admin/enterprise-management/monitoring-your-appliance/generating-a-health-check-for-your-enterprise) diff --git a/content/support/contacting-github-support/using-copilot-in-github-support.md b/content/support/contacting-github-support/using-copilot-in-github-support.md index a3c964cd72e2..3746b5f212e3 100644 --- a/content/support/contacting-github-support/using-copilot-in-github-support.md +++ b/content/support/contacting-github-support/using-copilot-in-github-support.md @@ -16,7 +16,7 @@ shortTitle: Using Copilot in GitHub Support You can use {% data variables.product.prodname_copilot_in_support %} to find answers to questions about a wide range of {% data variables.product.prodname_dotcom %}'s products and features. {% data variables.product.prodname_copilot_in_support %} is not able to answer questions about billing, account access, or other account-specific issues. If {% data variables.product.prodname_copilot_in_support %} is not able to answer your question, you can submit a ticket to {% data variables.contact.github_support %} or you can speak to {% data variables.product.prodname_dotcom %} users and staff on the {% data variables.contact.community_support_forum %}. -For more information about {% data variables.contact.github_support %}, see "[AUTOTITLE](/support/learning-about-github-support/about-github-support)." +For more information about {% data variables.contact.github_support %}, see [AUTOTITLE](/support/learning-about-github-support/about-github-support). ## Using {% data variables.product.prodname_copilot_in_support %} diff --git a/content/support/contacting-github-support/viewing-and-updating-support-tickets.md b/content/support/contacting-github-support/viewing-and-updating-support-tickets.md index c5c6323022a7..30fd3fe1d5c7 100644 --- a/content/support/contacting-github-support/viewing-and-updating-support-tickets.md +++ b/content/support/contacting-github-support/viewing-and-updating-support-tickets.md @@ -59,7 +59,7 @@ You can only view archived tickets for an enterprise account. ## Collaborating on support tickets -You can collaborate with your colleagues on support tickets using the support portal. Owners, billing managers, and other enterprise members with support entitlements can view tickets associated with an enterprise account or an organization managed by an enterprise account. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)." +You can collaborate with your colleagues on support tickets using the support portal. Owners, billing managers, and other enterprise members with support entitlements can view tickets associated with an enterprise account or an organization managed by an enterprise account. For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise). You can also comment on tickets opened by someone else and associated with your enterprise account. {% data reusables.support.enterprise-comment-on-support-tickets %} @@ -69,10 +69,10 @@ If your account includes {% data variables.contact.premium_support %}, you can r ## Requesting an escalation -If your account includes {% data variables.contact.premium_support %}, you can request to escalate a ticket if it was opened at a lower priority but the issue has become more urgent. From the ticket, click **Request an escalation**. For more information about requesting an escalation, see "[AUTOTITLE](/support/learning-about-github-support/about-github-premium-support#assigning-a-priority-to-a-support-ticket)". +If your account includes {% data variables.contact.premium_support %}, you can request to escalate a ticket if it was opened at a lower priority but the issue has become more urgent. From the ticket, click **Request an escalation**. For more information about requesting an escalation, see [AUTOTITLE](/support/learning-about-github-support/about-github-premium-support#assigning-a-priority-to-a-support-ticket). {% endif %} ## Further reading -* "[AUTOTITLE](/support/learning-about-github-support/about-github-support)" +* [AUTOTITLE](/support/learning-about-github-support/about-github-support) diff --git a/content/support/learning-about-github-support/about-copilot-in-github-support.md b/content/support/learning-about-github-support/about-copilot-in-github-support.md index 12e02251378e..664f46a6bf71 100644 --- a/content/support/learning-about-github-support/about-copilot-in-github-support.md +++ b/content/support/learning-about-github-support/about-copilot-in-github-support.md @@ -63,5 +63,5 @@ We greatly value your feedback. As we continuously improve {% data variables.pro ## Further reading -* "[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)" -* "[AUTOTITLE](/free-pro-team@latest/site-policy/privacy-policies/github-privacy-statement)" +* [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot) +* [AUTOTITLE](/free-pro-team@latest/site-policy/privacy-policies/github-privacy-statement) diff --git a/content/support/learning-about-github-support/about-github-premium-support.md b/content/support/learning-about-github-support/about-github-premium-support.md index d0268090e94c..ee08534c8daf 100644 --- a/content/support/learning-about-github-support/about-github-premium-support.md +++ b/content/support/learning-about-github-support/about-github-premium-support.md @@ -46,7 +46,7 @@ There are two {% data variables.contact.premium_support %} plans: Premium and Pr | Resources | Priority ticket handling | | Escalation management | For high and urgent priority tickets | For High and Urgent priority tickets Incident management | None | For urgent priority tickets, as needed -| Health checks | {% ifversion not ghes %}None{% else %}Unlimited automated health check reports (see "[Generating a health check for your enterprise](/admin/enterprise-management/monitoring-your-appliance/generating-a-health-check-for-your-enterprise)"){% endif %} | | +| Health checks | {% ifversion not ghes %}None{% else %}Unlimited automated health check reports (see [Generating a health check for your enterprise](/admin/enterprise-management/monitoring-your-appliance/generating-a-health-check-for-your-enterprise)){% endif %} | | | {% ifversion ghes %} | | Crisis prevention | None | Yearly participation in guided incident simulations to help you be prepared | | {% endif %} | @@ -57,7 +57,7 @@ Incident management | None | For urgent priority tickets, as needed {% endrowheaders %} > [!NOTE] - > Enterprise owners and billing managers automatically have a support entitlement. Enterprise owners can add support entitlements to members of organizations owned by their enterprise account. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)." + > Enterprise owners and billing managers automatically have a support entitlement. Enterprise owners can add support entitlements to members of organizations owned by their enterprise account. For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise). ## Billing for {% data variables.contact.premium_support %} @@ -91,7 +91,7 @@ To sign up for {% data variables.contact.premium_support %} or upgrade your plan ## Hours of operation -{% data variables.contact.premium_support %} is available 24 hours a day, 7 days per week. If you purchased {% data variables.contact.premium_support %} prior to September 17, 2018, support is limited during holidays. For more information on holidays {% data variables.contact.premium_support %} observes, see the holiday schedule at "[AUTOTITLE](/enterprise-server@latest/support/learning-about-github-support/about-github-support)." +{% data variables.contact.premium_support %} is available 24 hours a day, 7 days per week. If you purchased {% data variables.contact.premium_support %} prior to September 17, 2018, support is limited during holidays. For more information on holidays {% data variables.contact.premium_support %} observes, see the holiday schedule at [AUTOTITLE](/enterprise-server@latest/support/learning-about-github-support/about-github-support). ## Service Level Agreement response times @@ -117,7 +117,7 @@ You must install the minimum supported version of {% data variables.product.prod ## Assigning a priority to a support ticket -When you contact {% data variables.contact.premium_support %}, you can choose one of four priorities for the ticket: {% data variables.product.support_ticket_priority_urgent %}, {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, or {% data variables.product.support_ticket_priority_low %}. For more information, see "[AUTOTITLE](/support/learning-about-github-support/about-ticket-priority)." +When you contact {% data variables.contact.premium_support %}, you can choose one of four priorities for the ticket: {% data variables.product.support_ticket_priority_urgent %}, {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, or {% data variables.product.support_ticket_priority_low %}. For more information, see [AUTOTITLE](/support/learning-about-github-support/about-ticket-priority). ## Resolving and closing support tickets diff --git a/content/support/learning-about-github-support/about-github-support.md b/content/support/learning-about-github-support/about-github-support.md index 5d4e47cc8ae8..15095271b66e 100644 --- a/content/support/learning-about-github-support/about-github-support.md +++ b/content/support/learning-about-github-support/about-github-support.md @@ -51,20 +51,20 @@ You can contact {% data variables.contact.enterprise_support %} through the {% d {% data reusables.support.premium-support-features %} -For more information, see "[AUTOTITLE](/support/learning-about-github-support/about-github-premium-support)." +For more information, see [AUTOTITLE](/support/learning-about-github-support/about-github-premium-support). {% endif %} {% ifversion fpt or ghec %} -Before contacting {% data variables.contact.github_support %}, check if there are currently any incidents affecting services on {% data variables.product.product_name %} on [{% data variables.product.prodname_dotcom %} Status](https://githubstatus.com/). For more information, see "[About GitHub status](#about-github-status)." +Before contacting {% data variables.contact.github_support %}, check if there are currently any incidents affecting services on {% data variables.product.product_name %} on [{% data variables.product.prodname_dotcom %} Status](https://githubstatus.com/). For more information, see [About GitHub status](#about-github-status). {% endif %} {% ifversion fpt %} {% data reusables.support.free-and-paid-support %} -To report account, security, and abuse issues, or to receive assisted support for a paid account, visit the {% data variables.contact.contact_landing_page_portal %}. For more information, see "[AUTOTITLE](/support/contacting-github-support/creating-a-support-ticket)." +To report account, security, and abuse issues, or to receive assisted support for a paid account, visit the {% data variables.contact.contact_landing_page_portal %}. For more information, see [AUTOTITLE](/support/contacting-github-support/creating-a-support-ticket). {% endif %} {% ifversion fpt %} @@ -77,7 +77,7 @@ With {% data variables.product.product_name %}, you have access to support in En {% ifversion ghes or ghec %} -To contact {% data variables.contact.github_support %}, visit the {% data variables.contact.contact_landing_page_portal %}. For more information, see "[AUTOTITLE](/support/contacting-github-support/creating-a-support-ticket)." +To contact {% data variables.contact.github_support %}, visit the {% data variables.contact.contact_landing_page_portal %}. For more information, see [AUTOTITLE](/support/contacting-github-support/creating-a-support-ticket). {% endif %} @@ -105,13 +105,13 @@ You can also use the {% data variables.product.company_short %} Status API to ch Enterprise owners and billing managers automatically have a support entitlement, which enables them to create, view, and comment on support tickets associated with their enterprise account. -Enterprise owners can also add support entitlements to members of organizations owned by their enterprise account, allowing those members to create, view, and comment on support tickets. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)." +Enterprise owners can also add support entitlements to members of organizations owned by their enterprise account, allowing those members to create, view, and comment on support tickets. For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise). {% endif %} ## About {% data variables.product.prodname_copilot_in_support %} -You can receive answers to questions relating to {% data variables.product.prodname_dotcom %}'s products and features before submitting a support ticket by using {% data variables.product.prodname_copilot_in_support %}. {% data variables.product.prodname_copilot_in_support %} is an AI-powered tool that uses a large language model to find answers to a wide variety of support queries. If {% data variables.product.prodname_copilot_in_support %} cannot answer your question, You can proceed with submitting your ticket to {% data variables.contact.github_support %}. For more information, see "[AUTOTITLE](/support/learning-about-github-support/about-copilot-in-github-support)." +You can receive answers to questions relating to {% data variables.product.prodname_dotcom %}'s products and features before submitting a support ticket by using {% data variables.product.prodname_copilot_in_support %}. {% data variables.product.prodname_copilot_in_support %} is an AI-powered tool that uses a large language model to find answers to a wide variety of support queries. If {% data variables.product.prodname_copilot_in_support %} cannot answer your question, You can proceed with submitting your ticket to {% data variables.contact.github_support %}. For more information, see [AUTOTITLE](/support/learning-about-github-support/about-copilot-in-github-support). {% ifversion fpt or ghec %} @@ -131,7 +131,7 @@ For pricing, licensing, renewals, quotes, payments, and other related questions, To learn more about training options, including customized trainings, see [{% data variables.product.company_short %}'s training site](https://services.github.com/). > [!NOTE] -> Training is included in the {% data variables.product.premium_plus_support_plan %}. For more information, see "[AUTOTITLE](/support/learning-about-github-support/about-github-premium-support)." +> Training is included in the {% data variables.product.premium_plus_support_plan %}. For more information, see [AUTOTITLE](/support/learning-about-github-support/about-github-premium-support). {% endif %} @@ -155,7 +155,7 @@ For standard non-urgent issues, support in Japanese is available Monday through For urgent issues, we offer support in English 24 hours per day, 7 days per week, even during national U.S. holidays. {% endif %} -For a complete list of U.S. and Japanese national holidays observed by {% data variables.contact.enterprise_support %}, see "[Holiday schedules](#holiday-schedules)." +For a complete list of U.S. and Japanese national holidays observed by {% data variables.contact.enterprise_support %}, see [Holiday schedules](#holiday-schedules). ## Holiday schedules @@ -186,7 +186,7 @@ For urgent issues, we can help you in English 24 hours per day, 7 days per week, ## Further reading {%- ifversion ghes %} -* Section 10 on Support in the "[{% data variables.product.prodname_ghe_server %} License Agreement](https://enterprise.github.com/license)" +* Section 10 on Support in the [{% data variables.product.prodname_ghe_server %} License Agreement](https://enterprise.github.com/license) {%- endif %} -* "[AUTOTITLE](/support/contacting-github-support/creating-a-support-ticket)" -* "[AUTOTITLE](/support/contacting-github-support/viewing-and-updating-support-tickets)" +* [AUTOTITLE](/support/contacting-github-support/creating-a-support-ticket) +* [AUTOTITLE](/support/contacting-github-support/viewing-and-updating-support-tickets) diff --git a/content/support/learning-about-github-support/about-ticket-priority.md b/content/support/learning-about-github-support/about-ticket-priority.md index d89ef9d0651e..0ba6c2c464cb 100644 --- a/content/support/learning-about-github-support/about-ticket-priority.md +++ b/content/support/learning-about-github-support/about-ticket-priority.md @@ -71,4 +71,4 @@ If you are uncertain if the issue is out of scope, contact {% data variables.con ## Further reading -* "[AUTOTITLE](/support/contacting-github-support/creating-a-support-ticket)" +* [AUTOTITLE](/support/contacting-github-support/creating-a-support-ticket) diff --git a/content/support/learning-about-github-support/github-marketplace-support.md b/content/support/learning-about-github-support/github-marketplace-support.md index 968998d14378..0e46653e17a2 100644 --- a/content/support/learning-about-github-support/github-marketplace-support.md +++ b/content/support/learning-about-github-support/github-marketplace-support.md @@ -23,5 +23,5 @@ Every app in {% data variables.product.prodname_marketplace %} includes a link t ## Further reading -* "[AUTOTITLE](/apps/using-github-apps)" -* "[AUTOTITLE](/billing/managing-billing-for-github-marketplace-apps)" +* [AUTOTITLE](/apps/using-github-apps) +* [AUTOTITLE](/billing/managing-billing-for-github-marketplace-apps) diff --git a/content/support/sharing-feedback-with-github.md b/content/support/sharing-feedback-with-github.md index a2c63a1d07cb..6fcca3b3e25e 100644 --- a/content/support/sharing-feedback-with-github.md +++ b/content/support/sharing-feedback-with-github.md @@ -9,7 +9,7 @@ shortTitle: Sharing feedback --- > [!IMPORTANT] -> If you're a {% data variables.product.prodname_enterprise %} customer, contact {% data variables.contact.github_support %} who will share your feedback with the Product team. For more information, see "Creating a support ticket" in either the "[{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/support/contacting-github-support/creating-a-support-ticket)" or "[{% data variables.product.prodname_ghe_server %} documentation](/enterprise-server@latest/support/contacting-github-support/creating-a-support-ticket)." +> If you're a {% data variables.product.prodname_enterprise %} customer, contact {% data variables.contact.github_support %} who will share your feedback with the Product team. For more information, see "Creating a support ticket" in either the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/support/contacting-github-support/creating-a-support-ticket) or [{% data variables.product.prodname_ghe_server %} documentation](/enterprise-server@latest/support/contacting-github-support/creating-a-support-ticket). ## About sharing feedback diff --git a/content/video-transcripts/transcript-billing-github-consumption-through-an-azure-subscription.md b/content/video-transcripts/transcript-billing-github-consumption-through-an-azure-subscription.md index f6747fbb08a3..4a8a98dd0dfb 100644 --- a/content/video-transcripts/transcript-billing-github-consumption-through-an-azure-subscription.md +++ b/content/video-transcripts/transcript-billing-github-consumption-through-an-azure-subscription.md @@ -93,4 +93,4 @@ At this point, the eligible items within my subscriptions, as we described earli T.J.: Thanks so much for joining us today. For future reference, we are also sharing two helpful resources to help you bill GitHub consumption through Azure in the future. And if you have a dedicated GitHub and/or Microsoft account team, please don't hesitate to reach out to them for additional information. Thanks. -End of transcript. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription)" and [Get subscription and tenant IDs in the Azure portal](https://learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id) in the Microsoft documentation. +End of transcript. For more information, see [AUTOTITLE](/enterprise-cloud@latest/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription) and [Get subscription and tenant IDs in the Azure portal](https://learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id) in the Microsoft documentation. diff --git a/content/webhooks/about-webhooks.md b/content/webhooks/about-webhooks.md index 5b2dc2e65767..5134022d61ae 100644 --- a/content/webhooks/about-webhooks.md +++ b/content/webhooks/about-webhooks.md @@ -42,9 +42,9 @@ When you create a webhook, you specify a URL and subscribe to events that occur For example, you could subscribe your webhook to events that occur when code is pushed to a repository, a pull request is opened, a {% data variables.product.prodname_pages %} site is built, or a new member is added to a team. Your server could respond by deploying code to production, triggering a CI pipeline, sending a notification, or creating a {% data variables.product.company_short %} project for the new team member. -You must create a webhook within a specific repository, organization, {% ifversion ghes or ghec %}{% data variables.product.prodname_enterprise %}, {% endif %} {% ifversion fpt or ghec %}{% data variables.product.prodname_marketplace %} account, {% endif %} {% ifversion fpt or ghec %}{% data variables.product.prodname_sponsors %} account, {% endif %} or {% data variables.product.prodname_github_app %}. The webhook can only access resources that are available in the repository, organization, {% ifversion ghes or ghec %}{% data variables.product.prodname_enterprise %}, {% endif %} {% ifversion fpt or ghec %}{% data variables.product.prodname_marketplace %} account, {% endif %} {% ifversion fpt or ghec %}{% data variables.product.prodname_sponsors %} account, {% endif %} or {% data variables.product.prodname_github_app %} where it is installed. For more information, see "[AUTOTITLE](/webhooks/types-of-webhooks)." +You must create a webhook within a specific repository, organization, {% ifversion ghes or ghec %}{% data variables.product.prodname_enterprise %}, {% endif %} {% ifversion fpt or ghec %}{% data variables.product.prodname_marketplace %} account, {% endif %} {% ifversion fpt or ghec %}{% data variables.product.prodname_sponsors %} account, {% endif %} or {% data variables.product.prodname_github_app %}. The webhook can only access resources that are available in the repository, organization, {% ifversion ghes or ghec %}{% data variables.product.prodname_enterprise %}, {% endif %} {% ifversion fpt or ghec %}{% data variables.product.prodname_marketplace %} account, {% endif %} {% ifversion fpt or ghec %}{% data variables.product.prodname_sponsors %} account, {% endif %} or {% data variables.product.prodname_github_app %} where it is installed. For more information, see [AUTOTITLE](/webhooks/types-of-webhooks). -For more information about creating webhooks, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks)." For more information about the types of events you can subscribe to, see "[AUTOTITLE](/webhooks/webhook-events-and-payloads)." For more information about configuring your server to take an action in response to a payload delivery, see "[AUTOTITLE](/webhooks/using-webhooks/configuring-your-server-to-receive-payloads)." +For more information about creating webhooks, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks). For more information about the types of events you can subscribe to, see [AUTOTITLE](/webhooks/webhook-events-and-payloads). For more information about configuring your server to take an action in response to a payload delivery, see [AUTOTITLE](/webhooks/using-webhooks/configuring-your-server-to-receive-payloads). {% data reusables.webhooks.webhooks-ipv6 %} @@ -57,11 +57,11 @@ Using webhooks has the following advantages over using the API: If you only need information once or intermittently, or only want to get information from a small set of resources with no plans to scale up, you can call the API when you need the relevant information. -For information on best practices to follow when using webhooks, see "[AUTOTITLE](/webhooks/using-webhooks/best-practices-for-using-webhooks)." +For information on best practices to follow when using webhooks, see [AUTOTITLE](/webhooks/using-webhooks/best-practices-for-using-webhooks). > [!NOTE] > GitHub Services (sometimes referred to as Service Hooks) is {% data variables.release-phases.retired %}, in favor of integrating with webhooks. For more information about migrating your integration from using GitHub Services to using webhooks, see the [blog post](https://developer.github.com/changes/2018-04-25-github-services-deprecation/). ## Further reading -* "[AUTOTITLE](/webhooks/types-of-webhooks)" +* [AUTOTITLE](/webhooks/types-of-webhooks) diff --git a/content/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks.md b/content/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks.md index 07d9e2cdc660..bbdb16997876 100644 --- a/content/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks.md +++ b/content/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks.md @@ -18,7 +18,7 @@ You may want to redeliver a webhook to help you test your application or to reco Only people with admin access to a repository can redeliver webhooks in that repository. -You can use the {% data variables.product.company_short %} web interface or the REST API to redeliver webhooks for a repository. For more information about using the REST API to redeliver webhooks, see "[AUTOTITLE](/rest/webhooks/repo-deliveries)." +You can use the {% data variables.product.company_short %} web interface or the REST API to redeliver webhooks for a repository. For more information about using the REST API to redeliver webhooks, see [AUTOTITLE](/rest/webhooks/repo-deliveries). {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} @@ -32,7 +32,7 @@ You can use the {% data variables.product.company_short %} web interface or the Only organization owners can redeliver webhooks in that organization. -You can use the {% data variables.product.company_short %} web interface or the REST API to redeliver webhooks for an organization. For more information about using the REST API to redeliver webhooks, see "[AUTOTITLE](/rest/orgs/webhooks)." +You can use the {% data variables.product.company_short %} web interface or the REST API to redeliver webhooks for an organization. For more information about using the REST API to redeliver webhooks, see [AUTOTITLE](/rest/orgs/webhooks). {% data reusables.organizations.navigate-to-org %} {% data reusables.organizations.org_settings %} @@ -46,7 +46,7 @@ You can use the {% data variables.product.company_short %} web interface or the The owner of a {% data variables.product.prodname_github_app %} can redeliver webhooks for the app. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also redeliver webhooks. -You can use the {% data variables.product.company_short %} web interface or the REST API to redeliver webhooks for a {% data variables.product.prodname_github_app %}. For more information about using the REST API redeliver, see "[AUTOTITLE](/rest/apps/webhooks)." +You can use the {% data variables.product.company_short %} web interface or the REST API to redeliver webhooks for a {% data variables.product.prodname_github_app %}. For more information about using the REST API redeliver, see [AUTOTITLE](/rest/apps/webhooks). {% data reusables.apps.settings-step %} {% data reusables.apps.enterprise-apps-steps %} diff --git a/content/webhooks/testing-and-troubleshooting-webhooks/testing-webhooks.md b/content/webhooks/testing-and-troubleshooting-webhooks/testing-webhooks.md index 62d79dce8270..26ec008da6b0 100644 --- a/content/webhooks/testing-and-troubleshooting-webhooks/testing-webhooks.md +++ b/content/webhooks/testing-and-troubleshooting-webhooks/testing-webhooks.md @@ -30,13 +30,13 @@ You can trigger a webhook event and verify that {% data variables.product.compan 1. Trigger your webhook. For example, if you are testing a repository webhook that is subscribed to the `issues` event, open an issue in the repository where the webhook is configured. - You can also redeliver a previous webhook delivery. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks)." + You can also redeliver a previous webhook delivery. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks). - If you are using an organization or repository webhook, you can also use the REST API to trigger the `ping` event for your webhook. If you are using a repository webhook and your webhook is subscribed to the `push` event, you can use the REST API to trigger a test `push` event for your webhook. For more information, see "[AUTOTITLE](/rest/webhooks/repos)" and "[AUTOTITLE](/rest/orgs/webhooks)." + If you are using an organization or repository webhook, you can also use the REST API to trigger the `ping` event for your webhook. If you are using a repository webhook and your webhook is subscribed to the `push` event, you can use the REST API to trigger a test `push` event for your webhook. For more information, see [AUTOTITLE](/rest/webhooks/repos) and [AUTOTITLE](/rest/orgs/webhooks). -1. Check {% data variables.product.company_short %} to verify that a webhook delivery was sent. For information about how to do this for each webhook type, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries)." +1. Check {% data variables.product.company_short %} to verify that a webhook delivery was sent. For information about how to do this for each webhook type, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries). -If a webhook delivery was not sent, or if a webhook delivery was sent but {% data variables.product.company_short %} indicates that the delivery failed, refer to the troubleshooting guide to help diagnose the problem. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks)." +If a webhook delivery was not sent, or if a webhook delivery was sent but {% data variables.product.company_short %} indicates that the delivery failed, refer to the troubleshooting guide to help diagnose the problem. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks). ## Testing webhook code locally @@ -44,7 +44,7 @@ In order to test your webhook code locally on your computer or codespace, you ca The following sections demonstrate how to use smee.io to provide a webhook proxy URL and forward webhooks. -For specific examples of code and testing steps, see "[AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries)." +For specific examples of code and testing steps, see [AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries). ### Get a webhook proxy URL @@ -54,13 +54,13 @@ For specific examples of code and testing steps, see "[AUTOTITLE](/webhooks/usin ### Configure a webhook to use the webhook proxy URL -Configure your webhook to use the webhook proxy URL from above. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks)" and "[AUTOTITLE](/webhooks/using-webhooks/editing-webhooks)." +Configure your webhook to use the webhook proxy URL from above. For more information, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks) and [AUTOTITLE](/webhooks/using-webhooks/editing-webhooks). Now, {% data variables.product.company_short %} will send webhook deliveries to that URL. ### Start a local server -On your computer or codespace, start a local server. The way that you do this depends on how your code to receive webhooks is written. For examples, see "[AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries)." +On your computer or codespace, start a local server. The way that you do this depends on how your code to receive webhooks is written. For examples, see [AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries). You should make sure that your code can run locally. For example, if your code relies on environment variables on your server in production, you should make sure that the environment variables are also available on your local server. @@ -99,7 +99,7 @@ At this point, you should have both your local server running and the smee forwa Trigger your webhook. For example, if you are testing a repository webhook that is subscribed to the `issues` event, open an issue in the repository where the webhook is configured. -You can also redeliver a previous webhook delivery. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks)." +You can also redeliver a previous webhook delivery. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks). ### Verify delivery @@ -107,9 +107,9 @@ You can verify that {% data variables.product.company_short %} sent a webhook de #### Verify that {% data variables.product.company_short %} sent a delivery -Check {% data variables.product.company_short %} to verify that a webhook delivery was sent. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries)." +Check {% data variables.product.company_short %} to verify that a webhook delivery was sent. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries). -If a webhook delivery was not sent, or if a webhook delivery was sent but {% data variables.product.company_short %} indicates that the delivery failed, refer to the troubleshooting guide to help diagnose the problem. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks)." +If a webhook delivery was not sent, or if a webhook delivery was sent but {% data variables.product.company_short %} indicates that the delivery failed, refer to the troubleshooting guide to help diagnose the problem. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks). #### Verify that smee received your webhook delivery @@ -123,8 +123,8 @@ In the terminal window where you ran `smee --url WEBHOOK_PROXY_URL --path /PATH If you don't see this, make sure that both the smee client and your local server are running. You should have these processes running in two separate terminal windows. -You should also check for errors in the terminal windows where you are running the smee client and your local server. The specific errors depend on how your code to receive webhooks is written. For examples, see "[AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries)." +You should also check for errors in the terminal windows where you are running the smee client and your local server. The specific errors depend on how your code to receive webhooks is written. For examples, see [AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries). #### Verify that your local server processed the webhook delivery -At this point, you have verified that {% data variables.product.company_short %} sent a webhook delivery and that smee forwarded the delivery to your local server. Now, you should verify that your code processed the webhook delivery as expected. The way that you do this depends on how your code to receive webhooks is written. For examples, see "[AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries)." +At this point, you have verified that {% data variables.product.company_short %} sent a webhook delivery and that smee forwarded the delivery to your local server. Now, you should verify that your code processed the webhook delivery as expected. The way that you do this depends on how your code to receive webhooks is written. For examples, see [AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries). diff --git a/content/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks.md b/content/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks.md index 1556df6d3b30..43633de31457 100644 --- a/content/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks.md +++ b/content/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks.md @@ -15,17 +15,17 @@ topics: If you are not receiving the webhook deliveries that you expect, you should identify the point at which the delivery is missing. 1. Trigger an event that you expect to result in a webhook delivery. For example, if your webhook is a repository webhook that is subscribed to the `issues` event, you can open an issue on that repository. -1. Look at the recent deliveries log for your webhook. For information about how to do this for each webhook type, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries)." +1. Look at the recent deliveries log for your webhook. For information about how to do this for each webhook type, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries). If the recent deliveries log does not include a delivery that corresponds to the webhook event that you triggered in the previous step, then {% data variables.product.company_short %} did not attempt a delivery. To identify the cause: 1. Wait a few minutes, and then check again. Webhook deliveries can take a few minutes to appear. 1. Make sure that you triggered an event in the location where your webhook is configured. For example, if your webhook is a repository webhook, make sure that you triggered the event in the same repository where your webhook is configured. 1. Make sure that your webhook is subscribed to the event that you triggered. For example, if you expect a webhook delivery when you open an issue, make sure your webhook is subscribed to the `issues` event. - 1. Make sure that your webhook is active. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks)." - 1. Make sure that your webhook is not impacted by {% data variables.product.prodname_oauth_app %} access restrictions. If your webhook was created by an {% data variables.product.prodname_oauth_app %} on behalf of a user who authorized the {% data variables.product.prodname_oauth_app %}, the webhook will be automatically disabled if it is an organization or repository webhook for an organization that has restricted access by the {% data variables.product.prodname_oauth_app %}. For more information, see {% ifversion ghec or fpt %}"[AUTOTITLE](/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions)."{% else %}"[AUTOTITLE](/free-pro-team@latest/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions)" in the {% data variables.product.prodname_free_user %} documentation.{% endif %} + 1. Make sure that your webhook is active. For more information, see [AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks). + 1. Make sure that your webhook is not impacted by {% data variables.product.prodname_oauth_app %} access restrictions. If your webhook was created by an {% data variables.product.prodname_oauth_app %} on behalf of a user who authorized the {% data variables.product.prodname_oauth_app %}, the webhook will be automatically disabled if it is an organization or repository webhook for an organization that has restricted access by the {% data variables.product.prodname_oauth_app %}. For more information, see {% ifversion ghec or fpt %}[AUTOTITLE](/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions).{% else %}[AUTOTITLE](/free-pro-team@latest/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions) in the {% data variables.product.prodname_free_user %} documentation.{% endif %} - 1. Check whether your event may have hit a documented limit. For example, if you push more than three tags at once, the `push` event will not be triggered for that push. For more information about documented limits for each event, see "[AUTOTITLE](/webhooks/webhook-events-and-payloads)." + 1. Check whether your event may have hit a documented limit. For example, if you push more than three tags at once, the `push` event will not be triggered for that push. For more information about documented limits for each event, see [AUTOTITLE](/webhooks/webhook-events-and-payloads). 1. Check the status of webhooks at [githubstatus.com](https://www.githubstatus.com/). If the recent deliveries log indicates that there was an error with the delivery, then {% data variables.product.company_short %} attempted delivery but the delivery was unsuccessful. This is typically due to a problem with your server. You can refer to the sections below to help resolve the specific error. @@ -42,7 +42,7 @@ If you require more than {% ifversion ghes %}250{% else %}20{% endif %} webhooks You cannot use `localhost` or `127.0.0.1` as a webhook URL. -To deliver webhooks to your local server for testing, you can use a webhook forwarding service. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/testing-webhooks)" or visit https://smee.io/. +To deliver webhooks to your local server for testing, you can use a webhook forwarding service. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/testing-webhooks) or visit https://smee.io/. ## Failed to connect to host @@ -54,7 +54,7 @@ To check whether a host name resolves to an IP address, you can use `nslookup`. The `failed to connect to network` error indicates that your server refused the connection when {% data variables.product.company_short %} attempted to deliver a webhook. -You should make sure that your server allows connections from {% data variables.product.company_short %}'s IP addresses. You can use the `GET /meta` endpoint to find the current list of {% data variables.product.company_short %}'s IP addresses. For more information, see "[AUTOTITLE](/rest/meta/meta#get-github-meta-information)." {% data variables.product.company_short %} occasionally makes changes to its IP addresses, so you should update your IP allow list periodically. +You should make sure that your server allows connections from {% data variables.product.company_short %}'s IP addresses. You can use the `GET /meta` endpoint to find the current list of {% data variables.product.company_short %}'s IP addresses. For more information, see [AUTOTITLE](/rest/meta/meta#get-github-meta-information). {% data variables.product.company_short %} occasionally makes changes to its IP addresses, so you should update your IP allow list periodically. ## Timed out @@ -91,7 +91,7 @@ Webhook deliveries can take a few minutes to be delivered and to appear in the r {% ifversion fpt or ghec %} -If your account experiences a surge in webhook deliveries, {% data variables.product.company_short %} may temporarily throttle the rate of deliveries to your account. If your webhook deliveries are slowed down by GitHub, the `throttled_at` property for each affected delivery shows the timestamp when delivery was throttled. You can check for this using the REST API, see "[List deliveries for a repository webhook](/rest/repos/webhooks#list-deliveries-for-a-repository-webhook)." +If your account experiences a surge in webhook deliveries, {% data variables.product.company_short %} may temporarily throttle the rate of deliveries to your account. If your webhook deliveries are slowed down by GitHub, the `throttled_at` property for each affected delivery shows the timestamp when delivery was throttled. You can check for this using the REST API, see [List deliveries for a repository webhook](/rest/repos/webhooks#list-deliveries-for-a-repository-webhook). To avoid delays, subscribe only to the webhook events that are necessary for your account, reducing the frequency of deliveries. See “[AUTOTITLE](/webhooks/using-webhooks/best-practices-for-using-webhooks).” @@ -99,6 +99,6 @@ To avoid delays, subscribe only to the webhook events that are necessary for you ## Failed signature verification -You should use a webhook secret and the `X-Hub-Signature-256` header to verify that a webhook delivery is from {% data variables.product.company_short %}. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/validating-webhook-deliveries)." +You should use a webhook secret and the `X-Hub-Signature-256` header to verify that a webhook delivery is from {% data variables.product.company_short %}. For more information, see [AUTOTITLE](/webhooks/using-webhooks/validating-webhook-deliveries). {% data reusables.webhooks.signature-troubleshooting %} diff --git a/content/webhooks/testing-and-troubleshooting-webhooks/using-the-github-cli-to-forward-webhooks-for-testing.md b/content/webhooks/testing-and-troubleshooting-webhooks/using-the-github-cli-to-forward-webhooks-for-testing.md index 0977a3ae8263..6f9427d8a1ac 100644 --- a/content/webhooks/testing-and-troubleshooting-webhooks/using-the-github-cli-to-forward-webhooks-for-testing.md +++ b/content/webhooks/testing-and-troubleshooting-webhooks/using-the-github-cli-to-forward-webhooks-for-testing.md @@ -17,7 +17,7 @@ redirect_from: When you make changes to your integration code, running the code in a local environment lets you test and iterate quickly without deploying the code. You can use {% data variables.product.prodname_cli %} to forward webhooks to your local environment. -Webhook forwarding in the {% data variables.product.prodname_cli %} only works with repository and organization webhooks. If you want to test other types of webhooks locally, you'll need to do this manually. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/testing-webhooks)." +Webhook forwarding in the {% data variables.product.prodname_cli %} only works with repository and organization webhooks. If you want to test other types of webhooks locally, you'll need to do this manually. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/testing-webhooks). > [!WARNING] > Webhook forwarding is only designed for use during testing and development. It is not supported for use in production environments for handling live webhooks. diff --git a/content/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries.md b/content/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries.md index 02461e1c0b87..1efab22dd7cc 100644 --- a/content/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries.md +++ b/content/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries.md @@ -20,13 +20,13 @@ For each webhook delivery, you can view: * The time at which the request was sent * The response that {% data variables.product.company_short %} received from your server -You can also redeliver recent webhook deliveries. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks)." +You can also redeliver recent webhook deliveries. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks). ## Viewing deliveries for repository webhooks Only people with admin access to a repository can view deliveries for webhooks in that repository. -You can use the {% data variables.product.company_short %} web interface or the REST API to view recent webhook deliveries for a repository. For more information about using the REST API to view recent deliveries, see "[AUTOTITLE](/rest/webhooks/repo-deliveries)." +You can use the {% data variables.product.company_short %} web interface or the REST API to view recent webhook deliveries for a repository. For more information about using the REST API to view recent deliveries, see [AUTOTITLE](/rest/webhooks/repo-deliveries). {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} @@ -39,7 +39,7 @@ You can use the {% data variables.product.company_short %} web interface or the Only organization owners can view deliveries for webhooks in that organization. -You can use the {% data variables.product.company_short %} web interface or the REST API to view recent webhook deliveries for an organization. For more information about using the REST API to view recent deliveries, see "[AUTOTITLE](/rest/orgs/webhooks)." +You can use the {% data variables.product.company_short %} web interface or the REST API to view recent webhook deliveries for an organization. For more information about using the REST API to view recent deliveries, see [AUTOTITLE](/rest/orgs/webhooks). {% data reusables.organizations.navigate-to-org %} {% data reusables.organizations.org_settings %} @@ -52,7 +52,7 @@ You can use the {% data variables.product.company_short %} web interface or the The owner of a {% data variables.product.prodname_github_app %} can view recent webhook deliveries for the app. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also view recent webhook deliveries. -You can use the {% data variables.product.company_short %} web interface or the REST API to view recent webhook deliveries for a {% data variables.product.prodname_github_app %}. For more information about using the REST API to view recent deliveries, see "[AUTOTITLE](/rest/apps/webhooks)." +You can use the {% data variables.product.company_short %} web interface or the REST API to view recent webhook deliveries for a {% data variables.product.prodname_github_app %}. For more information about using the REST API to view recent deliveries, see [AUTOTITLE](/rest/apps/webhooks). {% data reusables.apps.settings-step %} {% data reusables.apps.enterprise-apps-steps %} diff --git a/content/webhooks/types-of-webhooks.md b/content/webhooks/types-of-webhooks.md index 6f3470710d45..83f5f21fd5d6 100644 --- a/content/webhooks/types-of-webhooks.md +++ b/content/webhooks/types-of-webhooks.md @@ -21,9 +21,9 @@ You cannot create webhooks for individual user accounts, or for events that are To create and manage webhooks, you must own or have admin access to the resource where the webhook is created and listening for events on. For example, to manage webhooks in an organization, you need admin permissions for that organization. -Some webhook events are unique to certain types of webhooks. For example, an organization webhook can subscribe to events that only occur at the organization level, which a repository webhook cannot subscribe to. For more information about the specific availability of each webhook, see "[AUTOTITLE](/webhooks/webhook-events-and-payloads)." +Some webhook events are unique to certain types of webhooks. For example, an organization webhook can subscribe to events that only occur at the organization level, which a repository webhook cannot subscribe to. For more information about the specific availability of each webhook, see [AUTOTITLE](/webhooks/webhook-events-and-payloads). -For more information, see "[AUTOTITLE](/webhooks/about-webhooks)." +For more information, see [AUTOTITLE](/webhooks/about-webhooks). ## Repository webhooks @@ -31,7 +31,7 @@ You can create webhooks in a repository to subscribe to events that occur in tha You can create multiple webhooks in a single repository. However, you can only create up to {% ifversion ghes %}250{% else %}20{% endif %} webhooks that subscribe to each individual event type. For example, in a single repository you could only create up to {% ifversion ghes %}250{% else %}20{% endif %} different webhooks that each subscribe to the `push` event. -You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to manage repository webhooks. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-a-repository-webhook)," "[AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-a-repository-webhook)," and "[AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-a-repository-webhook)." For more information about using the REST API to manage repository webhooks, see "[AUTOTITLE](/rest/webhooks)." +You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to manage repository webhooks. For more information, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-a-repository-webhook), [AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-a-repository-webhook), and [AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-a-repository-webhook). For more information about using the REST API to manage repository webhooks, see [AUTOTITLE](/rest/webhooks). ## Organization webhooks @@ -41,7 +41,7 @@ You must be an organization owner to create and manage webhooks in an organizati You can create multiple webhooks in a single organization. However, you can only create up to {% ifversion ghes %}250{% else %}20{% endif %} webhooks that subscribe to each individual event type. For example, in a single organization you could only create up to {% ifversion ghes %}250{% else %}20{% endif %} different webhooks that each subscribe to the `push` event. -You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to manage organization webhooks. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-an-organization-webhook)," "[AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-an-organization-webhook)," and "[AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-an-organization-webhook)." For more information about using the REST API to manage organization webhooks, see "[AUTOTITLE](/rest/orgs/webhooks)." +You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to manage organization webhooks. For more information, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-an-organization-webhook), [AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-an-organization-webhook), and [AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-an-organization-webhook). For more information about using the REST API to manage organization webhooks, see [AUTOTITLE](/rest/orgs/webhooks). {% ifversion ghes or ghec %} @@ -51,7 +51,7 @@ Enterprise owners can create global webhooks to subscribe to events that occur w You can create multiple webhooks in a single enterprise. However, you can only create up to {% ifversion ghes %}250{% else %}20{% endif %} webhooks that subscribe to each individual event type. For example, in a single enterprise you could only create up to {% ifversion ghes %}250{% else %}20{% endif %} different webhooks that each subscribe to the `membership` event. -You can use the {% data variables.product.prodname_dotcom %} web interface to manage global webhooks. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-a-global-webhook-for-a-github-enterprise)," "[AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-a-global-webhook-for-a-github-enterprise)," and "[AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-a-global-webhook-for-a-github-enterprise)." {% data reusables.enterprise_user_management.manage-global-webhooks-api %} +You can use the {% data variables.product.prodname_dotcom %} web interface to manage global webhooks. For more information, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-a-global-webhook-for-a-github-enterprise), [AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-a-global-webhook-for-a-github-enterprise), and [AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-a-global-webhook-for-a-github-enterprise). {% data reusables.enterprise_user_management.manage-global-webhooks-api %} {% endif %} @@ -63,7 +63,7 @@ You can create a webhook to subscribe to events relating to an app that you publ A {% data variables.product.prodname_marketplace %} webhook cannot be deleted, but you can deactivate it to stop receiving webhook deliveries. -You can use the {% data variables.product.prodname_dotcom %} web interface to manage a {% data variables.product.prodname_marketplace %} webhook. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-a-github-marketplace-webhook)," "[AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-a-github-marketplace-webhook)," and "[AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-a-github-marketplace-webhook)." +You can use the {% data variables.product.prodname_dotcom %} web interface to manage a {% data variables.product.prodname_marketplace %} webhook. For more information, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-a-github-marketplace-webhook), [AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-a-github-marketplace-webhook), and [AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-a-github-marketplace-webhook). ## {% data variables.product.prodname_sponsors %} webhooks @@ -71,7 +71,7 @@ You can create webhooks to subscribe to events relating to {% data variables.pro You must be an account owner or have admin access in the sponsored account to manage sponsorship webhooks. -You can use the {% data variables.product.prodname_dotcom %} web interface to manage {% data variables.product.prodname_sponsors %} webhooks. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-a-github-sponsors-webhook)," "[AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-a-github-sponsors-webhook)," and "[AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-a-github-sponsors-webhook)." +You can use the {% data variables.product.prodname_dotcom %} web interface to manage {% data variables.product.prodname_sponsors %} webhooks. For more information, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-a-github-sponsors-webhook), [AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-a-github-sponsors-webhook), and [AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-a-github-sponsors-webhook). {% endif %} @@ -81,4 +81,4 @@ You can configure a {% data variables.product.prodname_github_app %} to receive Each {% data variables.product.prodname_github_app %} has a single webhook that is automatically created by {% data variables.product.prodname_dotcom %}. By default, the webhook is not subscribed to any events. You can configure the events that the webhook subscribes to. A {% data variables.product.prodname_github_app %} webhook cannot be deleted, but you can deactivate it to stop receiving webhook deliveries. -You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to manage a {% data variables.product.prodname_github_app %} webhook. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-webhooks-for-a-github-app)," "[AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-webhooks-for-a-github-app)," and "[AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-webhooks-for-a-github-app)." For more information about using the REST API to manage {% data variables.product.prodname_github_app %} webhooks, see "[AUTOTITLE](/rest/apps/webhooks)." +You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to manage a {% data variables.product.prodname_github_app %} webhook. For more information, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks#creating-webhooks-for-a-github-app), [AUTOTITLE](/webhooks/using-webhooks/editing-webhooks#editing-webhooks-for-a-github-app), and [AUTOTITLE](/webhooks/using-webhooks/disabling-webhooks#disabling-webhooks-for-a-github-app). For more information about using the REST API to manage {% data variables.product.prodname_github_app %} webhooks, see [AUTOTITLE](/rest/apps/webhooks). diff --git a/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-a-github-app-webhook.md b/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-a-github-app-webhook.md index 4a47c1f4dd8e..643ae0254f4b 100644 --- a/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-a-github-app-webhook.md +++ b/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-a-github-app-webhook.md @@ -15,7 +15,7 @@ redirect_from: ## About automatically redelivering failed deliveries -This article describes how to write a script to find and redeliver failed deliveries for a {% data variables.product.prodname_github_app %} webhook. For more information about failed deliveries, see "[AUTOTITLE](/webhooks/using-webhooks/handling-failed-webhook-deliveries)." +This article describes how to write a script to find and redeliver failed deliveries for a {% data variables.product.prodname_github_app %} webhook. For more information about failed deliveries, see [AUTOTITLE](/webhooks/using-webhooks/handling-failed-webhook-deliveries). This example shows you: @@ -23,19 +23,19 @@ This example shows you: * What credentials your script will need, and how to store the credentials securely as {% data variables.product.prodname_actions %} secrets * A {% data variables.product.prodname_actions %} workflow that can securely access your credentials and run the script periodically -This example uses {% data variables.product.prodname_actions %}, but you can also run this script on your server that handles webhook deliveries. For more information, see "[Alternative methods](#alternative-methods)." +This example uses {% data variables.product.prodname_actions %}, but you can also run this script on your server that handles webhook deliveries. For more information, see [Alternative methods](#alternative-methods). ## Storing credentials for the script The endpoints to find and redeliver failed webhooks require a JSON web token, which is generated from the app ID and private key for your app. -The endpoints to fetch and update the value of environment variables require a {% data variables.product.pat_generic %}, {% data variables.product.prodname_github_app %} installation access token, or {% data variables.product.prodname_github_app %} user access token. This example uses a {% data variables.product.pat_generic %}. If your {% data variables.product.prodname_github_app %} is installed on the repository where this workflow will run and has permission to write repository variables, you can modify this example to create an installation access token during the {% data variables.product.prodname_actions %} workflow instead of using a {% data variables.product.pat_generic %}. For more information, see "[AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow)." +The endpoints to fetch and update the value of environment variables require a {% data variables.product.pat_generic %}, {% data variables.product.prodname_github_app %} installation access token, or {% data variables.product.prodname_github_app %} user access token. This example uses a {% data variables.product.pat_generic %}. If your {% data variables.product.prodname_github_app %} is installed on the repository where this workflow will run and has permission to write repository variables, you can modify this example to create an installation access token during the {% data variables.product.prodname_actions %} workflow instead of using a {% data variables.product.pat_generic %}. For more information, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow). -1. Find the app ID for your {% data variables.product.prodname_github_app %}. You can find the app ID on the settings page for your app. The app ID is different from the client ID. For more information about navigating to the settings page for your {% data variables.product.prodname_github_app %}, see "[AUTOTITLE](/apps/maintaining-github-apps/modifying-a-github-app-registration#navigating-to-your-github-app-settings)." -1. Store the app ID from the previous step as a {% data variables.product.prodname_actions %} secret in the repository where you want the workflow to run. For more information about storing secrets, see "[AUTOTITLE](/actions/security-guides/encrypted-secrets)." -1. Generate a private key for your app. For more information about generating a private key, see "[AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps)." +1. Find the app ID for your {% data variables.product.prodname_github_app %}. You can find the app ID on the settings page for your app. The app ID is different from the client ID. For more information about navigating to the settings page for your {% data variables.product.prodname_github_app %}, see [AUTOTITLE](/apps/maintaining-github-apps/modifying-a-github-app-registration#navigating-to-your-github-app-settings). +1. Store the app ID from the previous step as a {% data variables.product.prodname_actions %} secret in the repository where you want the workflow to run. For more information about storing secrets, see [AUTOTITLE](/actions/security-guides/encrypted-secrets). +1. Generate a private key for your app. For more information about generating a private key, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps). 1. Store the private key, including `-----BEGIN RSA PRIVATE KEY-----` and `-----END RSA PRIVATE KEY-----`, from the previous step as a {% data variables.product.prodname_actions %} secret in the repository where you want the workflow to run. -1. Create a {% data variables.product.pat_generic %} with the following access. For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)." +1. Create a {% data variables.product.pat_generic %} with the following access. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens). * For a {% data variables.product.pat_v2 %}, grant the token: * Write access to the repository variables permission * Access to the repository where this workflow will run @@ -329,7 +329,7 @@ async function updateVariable({ ## Testing the script -You can manually trigger your workflow to test the script. For more information, see "[AUTOTITLE](/actions/using-workflows/manually-running-a-workflow)" and "[AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs)." +You can manually trigger your workflow to test the script. For more information, see [AUTOTITLE](/actions/using-workflows/manually-running-a-workflow) and [AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs). ## Alternative methods diff --git a/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-a-repository-webhook.md b/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-a-repository-webhook.md index 1836dc6b1dcc..d129e4741e8c 100644 --- a/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-a-repository-webhook.md +++ b/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-a-repository-webhook.md @@ -15,7 +15,7 @@ redirect_from: ## About automatically redelivering failed deliveries -This article describes how to write a script to find and redeliver failed deliveries for a repository webhook. For more information about failed deliveries, see "[AUTOTITLE](/webhooks/using-webhooks/handling-failed-webhook-deliveries)." +This article describes how to write a script to find and redeliver failed deliveries for a repository webhook. For more information about failed deliveries, see [AUTOTITLE](/webhooks/using-webhooks/handling-failed-webhook-deliveries). This example shows you: @@ -23,20 +23,20 @@ This example shows you: * What credentials your script will need, and how to store the credentials securely as {% data variables.product.prodname_actions %} secrets * A {% data variables.product.prodname_actions %} workflow that can securely access your credentials and run the script periodically -This example uses {% data variables.product.prodname_actions %}, but you can also run this script on your server that handles webhook deliveries. For more information, see "[Alternative methods](#alternative-methods)." +This example uses {% data variables.product.prodname_actions %}, but you can also run this script on your server that handles webhook deliveries. For more information, see [Alternative methods](#alternative-methods). ## Storing credentials for the script -The built in `GITHUB_TOKEN` does not have sufficient permissions to redeliver webhooks. Instead of using `GITHUB_TOKEN`, this example uses a {% data variables.product.pat_generic %}. Alternatively, instead of creating a {% data variables.product.pat_generic %}, you can create a {% data variables.product.prodname_github_app %} and use the app's credentials to create an installation access token during the {% data variables.product.prodname_actions %} workflow. For more information, see "[AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow)." +The built in `GITHUB_TOKEN` does not have sufficient permissions to redeliver webhooks. Instead of using `GITHUB_TOKEN`, this example uses a {% data variables.product.pat_generic %}. Alternatively, instead of creating a {% data variables.product.pat_generic %}, you can create a {% data variables.product.prodname_github_app %} and use the app's credentials to create an installation access token during the {% data variables.product.prodname_actions %} workflow. For more information, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow). -1. Create a {% data variables.product.pat_generic %} with the following access. For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)." +1. Create a {% data variables.product.pat_generic %} with the following access. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens). * For a {% data variables.product.pat_v2 %}, grant the token: * Access to the repository where your webhook was created * Access to the repository where this workflow will run * Write access to the repository webhooks permission * Write access to the repository variables permission * For a {% data variables.product.pat_v1 %}, grant the token the `repo` scope. -1. Store your {% data variables.product.pat_generic %} as a {% data variables.product.prodname_actions %} secret in the repository where you want the workflow to run. For more information, see "[AUTOTITLE](/actions/security-guides/encrypted-secrets)." +1. Store your {% data variables.product.pat_generic %} as a {% data variables.product.prodname_actions %} secret in the repository where you want the workflow to run. For more information, see [AUTOTITLE](/actions/security-guides/encrypted-secrets). ## Adding a workflow that will run the script @@ -347,7 +347,7 @@ async function updateVariable({ ## Testing the script -You can manually trigger your workflow to test the script. For more information, see "[AUTOTITLE](/actions/using-workflows/manually-running-a-workflow)" and "[AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs)." +You can manually trigger your workflow to test the script. For more information, see [AUTOTITLE](/actions/using-workflows/manually-running-a-workflow) and [AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs). ## Alternative methods diff --git a/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-an-organization-webhook.md b/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-an-organization-webhook.md index 27e06c90ba07..a026e1e5320b 100644 --- a/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-an-organization-webhook.md +++ b/content/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-an-organization-webhook.md @@ -15,7 +15,7 @@ redirect_from: ## About automatically redelivering failed deliveries -This article describes how to write a script to find and redeliver failed deliveries for an organization webhook. For more information about failed deliveries, see "[AUTOTITLE](/webhooks/using-webhooks/handling-failed-webhook-deliveries)." +This article describes how to write a script to find and redeliver failed deliveries for an organization webhook. For more information about failed deliveries, see [AUTOTITLE](/webhooks/using-webhooks/handling-failed-webhook-deliveries). This example shows you: @@ -23,20 +23,20 @@ This example shows you: * What credentials your script will need, and how to store the credentials securely as {% data variables.product.prodname_actions %} secrets * A {% data variables.product.prodname_actions %} workflow that can securely access your credentials and run the script periodically -This example uses {% data variables.product.prodname_actions %}, but you can also run this script on your server that handles webhook deliveries. For more information, see "[Alternative methods](#alternative-methods)." +This example uses {% data variables.product.prodname_actions %}, but you can also run this script on your server that handles webhook deliveries. For more information, see [Alternative methods](#alternative-methods). ## Storing credentials for the script -The built in `GITHUB_TOKEN` does not have sufficient permissions to redeliver webhooks. Instead of using `GITHUB_TOKEN`, this example uses a {% data variables.product.pat_generic %}. Alternatively, instead of creating a {% data variables.product.pat_generic %}, you can create a {% data variables.product.prodname_github_app %} and use the app's credentials to create an installation access token during the {% data variables.product.prodname_actions %} workflow. For more information, see "[AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow)." +The built in `GITHUB_TOKEN` does not have sufficient permissions to redeliver webhooks. Instead of using `GITHUB_TOKEN`, this example uses a {% data variables.product.pat_generic %}. Alternatively, instead of creating a {% data variables.product.pat_generic %}, you can create a {% data variables.product.prodname_github_app %} and use the app's credentials to create an installation access token during the {% data variables.product.prodname_actions %} workflow. For more information, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow). -1. Create a {% data variables.product.pat_generic %} with the following access. For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)." +1. Create a {% data variables.product.pat_generic %} with the following access. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens). * For a {% data variables.product.pat_v2 %}: * Set resource owner to be the organization where your webhook was created * Grant the token access to the repository where this workflow will run * Grant the token write access to the organization webhooks permission * Grant the token write access to the repository variables permission * For a {% data variables.product.pat_v1 %}, grant the token the `admin:org_hook` and `repo` scope. -1. Store your {% data variables.product.pat_generic %} as a {% data variables.product.prodname_actions %} secret in the repository where you want the workflow to run. For more information, see "[AUTOTITLE](/actions/security-guides/encrypted-secrets)." +1. Store your {% data variables.product.pat_generic %} as a {% data variables.product.prodname_actions %} secret in the repository where you want the workflow to run. For more information, see [AUTOTITLE](/actions/security-guides/encrypted-secrets). ## Adding a workflow that will run the script @@ -338,7 +338,7 @@ async function updateVariable({ ## Testing the script -You can manually trigger your workflow to test the script. For more information, see "[AUTOTITLE](/actions/using-workflows/manually-running-a-workflow)" and "[AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs)." +You can manually trigger your workflow to test the script. For more information, see [AUTOTITLE](/actions/using-workflows/manually-running-a-workflow) and [AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs). ## Alternative methods diff --git a/content/webhooks/using-webhooks/best-practices-for-using-webhooks.md b/content/webhooks/using-webhooks/best-practices-for-using-webhooks.md index 4e11d0f5969d..211f40459c3a 100644 --- a/content/webhooks/using-webhooks/best-practices-for-using-webhooks.md +++ b/content/webhooks/using-webhooks/best-practices-for-using-webhooks.md @@ -12,13 +12,13 @@ topics: ## Subscribe to the minimum number of events -You should only subscribe to the webhook events that you need. This will reduce the amount of work your server needs to do. For more information about subscribing to events, see "[AUTOTITLE](/webhooks/creating-webhooks)" and "[AUTOTITLE](/webhooks/using-webhooks/editing-webhooks)." +You should only subscribe to the webhook events that you need. This will reduce the amount of work your server needs to do. For more information about subscribing to events, see [AUTOTITLE](/webhooks/creating-webhooks) and [AUTOTITLE](/webhooks/using-webhooks/editing-webhooks). ## Use a webhook secret > [!WARNING] > To avoid accidental exposure of sensitive information, do **not** include sensitive information in your payload URL. -> This includes your own API keys and other authentication credentials. Instead, to validate that webhook deliveries were sent by {% data variables.product.github %} and have not been tampered with, use a webhook secret. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/validating-webhook-deliveries)." +> This includes your own API keys and other authentication credentials. Instead, to validate that webhook deliveries were sent by {% data variables.product.github %} and have not been tampered with, use a webhook secret. For more information, see [AUTOTITLE](/webhooks/using-webhooks/validating-webhook-deliveries). The webhook secret should be a random string of text with high entropy. You should securely store your webhook secret in a way that your server can access. @@ -32,9 +32,9 @@ You should ensure that your server uses an HTTPS connection. By default, {% data You can set up an IP allow list for your server, and add the IP addresses that {% data variables.product.company_short %} uses for webhook deliveries. This can block spoofed requests to your server. -You can use the `GET /meta` endpoint to find the current list of {% data variables.product.company_short %}'s IP addresses. For more information, see "[AUTOTITLE](/rest/meta/meta#get-github-meta-information)." {% data variables.product.company_short %} occasionally makes changes to its IP addresses, so you should update your IP allow list periodically. +You can use the `GET /meta` endpoint to find the current list of {% data variables.product.company_short %}'s IP addresses. For more information, see [AUTOTITLE](/rest/meta/meta#get-github-meta-information). {% data variables.product.company_short %} occasionally makes changes to its IP addresses, so you should update your IP allow list periodically. -For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses)." +For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses). {% endif %} @@ -50,7 +50,7 @@ There are multiple webhook event types, and many events can have multiple action ## Redeliver missed deliveries -If your server goes down, you should redeliver missed webhooks once your server is back up. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks)." +If your server goes down, you should redeliver missed webhooks once your server is back up. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks). ## Use the `X-GitHub-Delivery` header @@ -61,5 +61,5 @@ In a replay attack, a bad actor intercepts a webhook delivery and re-sends the d ## Further reading -* "[AUTOTITLE](/rest/guides/best-practices-for-integrators)" -* "[AUTOTITLE](/apps/creating-github-apps/about-creating-github-apps/best-practices-for-creating-a-github-app)" +* [AUTOTITLE](/rest/guides/best-practices-for-integrators) +* [AUTOTITLE](/apps/creating-github-apps/about-creating-github-apps/best-practices-for-creating-a-github-app) diff --git a/content/webhooks/using-webhooks/creating-webhooks.md b/content/webhooks/using-webhooks/creating-webhooks.md index 196a89aa4b8a..56dc094cf4ed 100644 --- a/content/webhooks/using-webhooks/creating-webhooks.md +++ b/content/webhooks/using-webhooks/creating-webhooks.md @@ -21,15 +21,15 @@ topics: You can create webhooks to subscribe to specific events on {% data variables.product.prodname_dotcom %} that occur in a repository, organization, {% ifversion ghes or ghec %}{% data variables.product.prodname_enterprise %}, {% endif %} {% ifversion fpt or ghec %}{% data variables.product.prodname_marketplace %} account, {% endif %} {% ifversion fpt or ghec %}{% data variables.product.prodname_sponsors %} account, {% endif %} or {% data variables.product.prodname_github_app %}. -For more information about the different types of webhooks, see "[AUTOTITLE](/webhooks/types-of-webhooks)." +For more information about the different types of webhooks, see [AUTOTITLE](/webhooks/types-of-webhooks). -For a complete list of webhook events, see "[AUTOTITLE](/webhooks/webhook-events-and-payloads)." +For a complete list of webhook events, see [AUTOTITLE](/webhooks/webhook-events-and-payloads). ## Creating a repository webhook You can create a webhook to subscribe to events that occur in a specific repository. You must be a repository owner or have admin access in the repository to create webhooks in that repository. -You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to create a repository webhook. For more information about using the REST API to create a repository webhook, see "[AUTOTITLE](/rest/webhooks/repos#create-a-repository-webhook)." +You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to create a repository webhook. For more information about using the REST API to create a repository webhook, see [AUTOTITLE](/rest/webhooks/repos#create-a-repository-webhook). {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} @@ -42,13 +42,13 @@ You can use the {% data variables.product.prodname_dotcom %} web interface or th 1. To make the webhook active immediately after adding the configuration, select **Active**. {% data reusables.webhooks.add_webhook_button %} -After you create a new webhook, {% data variables.product.prodname_dotcom %} will send you a simple `ping` event to let you know you've set up the webhook correctly. For more information, see "[AUTOTITLE](/webhooks/webhook-events-and-payloads#ping)." +After you create a new webhook, {% data variables.product.prodname_dotcom %} will send you a simple `ping` event to let you know you've set up the webhook correctly. For more information, see [AUTOTITLE](/webhooks/webhook-events-and-payloads#ping). ## Creating an organization webhook You can create a webhook to subscribe to events that occur in a specific organization. You must be an organization owner to create webhooks in that organization. -You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to create an organization webhook. For more information about using the REST API to create an organization webhook, see "[AUTOTITLE](/rest/orgs/webhooks#create-an-organization-webhook)." +You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to create an organization webhook. For more information about using the REST API to create an organization webhook, see [AUTOTITLE](/rest/orgs/webhooks#create-an-organization-webhook). 1. In the upper-right corner of any page on {% data variables.product.github %}, click your profile photo. 1. Click **Your organizations**. @@ -62,7 +62,7 @@ You can use the {% data variables.product.prodname_dotcom %} web interface or th 1. To make the webhook active immediately after adding the configuration, select **Active**. 1. Click **Add webhook**. -After you create a new webhook, {% data variables.product.prodname_dotcom %} will send you a simple `ping` event to let you know you've set up the webhook correctly. For more information, see "[AUTOTITLE](/webhooks/webhook-events-and-payloads#ping)." +After you create a new webhook, {% data variables.product.prodname_dotcom %} will send you a simple `ping` event to let you know you've set up the webhook correctly. For more information, see [AUTOTITLE](/webhooks/webhook-events-and-payloads#ping). {% ifversion ghes or ghec %} @@ -72,7 +72,7 @@ Enterprise owners can create a global webhook to subscribe to events that occur {% ifversion ghes %} -You can use the {% data variables.product.company_short %} web interface or the REST API to create a global webhook. For more information about using the REST API to create a global webhook, see "[AUTOTITLE](/rest/enterprise-admin/global-webhooks)." +You can use the {% data variables.product.company_short %} web interface or the REST API to create a global webhook. For more information about using the REST API to create a global webhook, see [AUTOTITLE](/rest/enterprise-admin/global-webhooks). {% endif %} @@ -108,7 +108,7 @@ You can create a webhook to subscribe to events relating to an app that you publ 1. To make the webhook active immediately after adding the configuration, select **Active**. 1. Click **Create webhook**. -After you create a new webhook, {% data variables.product.prodname_dotcom %} will send you a simple `ping` event to let you know you've set up the webhook correctly. For more information, see "[AUTOTITLE](/webhooks/webhook-events-and-payloads#ping)." +After you create a new webhook, {% data variables.product.prodname_dotcom %} will send you a simple `ping` event to let you know you've set up the webhook correctly. For more information, see [AUTOTITLE](/webhooks/webhook-events-and-payloads#ping). ## Creating a {% data variables.product.prodname_sponsors %} webhook @@ -127,11 +127,11 @@ You can create a webhook to subscribe to events relating to your sponsorships. O ## Creating webhooks for a {% data variables.product.prodname_github_app %} -The owner of a {% data variables.product.prodname_github_app %} can subscribe the app to webhook events to receive notifications whenever certain events occur. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also subscribe the app to webhook events. For more information, see "[AUTOTITLE](/apps/creating-github-apps/creating-github-apps/using-webhooks-with-github-apps)." +The owner of a {% data variables.product.prodname_github_app %} can subscribe the app to webhook events to receive notifications whenever certain events occur. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also subscribe the app to webhook events. For more information, see [AUTOTITLE](/apps/creating-github-apps/creating-github-apps/using-webhooks-with-github-apps). Each {% data variables.product.prodname_github_app %} has one webhook. You can configure the webhook when you register a {% data variables.product.prodname_github_app %}, or you can edit the webhook configuration for an existing {% data variables.product.prodname_github_app %} registration. -For more information about configuring a webhook when you register a {% data variables.product.prodname_github_app %}, see "[AUTOTITLE](/apps/creating-github-apps/registering-a-github-app/registering-a-github-app)." +For more information about configuring a webhook when you register a {% data variables.product.prodname_github_app %}, see [AUTOTITLE](/apps/creating-github-apps/registering-a-github-app/registering-a-github-app). To configure a webhook for an existing {% data variables.product.prodname_github_app %} registration: @@ -140,18 +140,18 @@ To configure a webhook for an existing {% data variables.product.prodname_github 1. Next to the {% data variables.product.prodname_github_app %} that you want to configure the webhook for, click **Edit**. 1. Under "Webhook," select **Active**. 1. Under "Webhook URL", type the URL where you'd like to receive payloads. -1. Optionally, under "Webhook secret", type a string to use as a `secret` key. You should choose a random string of text with high entropy. You can use the webhook secret to limit incoming requests to only those originating from {% data variables.product.prodname_dotcom %}. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/securing-your-webhooks)." +1. Optionally, under "Webhook secret", type a string to use as a `secret` key. You should choose a random string of text with high entropy. You can use the webhook secret to limit incoming requests to only those originating from {% data variables.product.prodname_dotcom %}. For more information, see [AUTOTITLE](/webhooks/using-webhooks/securing-your-webhooks). 1. Click **Save changes**. 1. In the sidebar, click **Permissions & events**. 1. {% data reusables.apps.webhooks-and-apps %} - Under the sections "Repository permissions," "Organization permissions," and "Account permissions," select the permissions that are required for the events your app will subscribe to. For more information, see "[AUTOTITLE](/apps/creating-github-apps/creating-github-apps/choosing-permissions-for-a-github-app)." For more information about things to consider when changing the permissions, see "[Modifying a {% data variables.product.prodname_github_app %} registration](/apps/maintaining-github-apps/modifying-a-github-app-registration#changing-the-permissions-of-a-github-app)." + Under the sections "Repository permissions," "Organization permissions," and "Account permissions," select the permissions that are required for the events your app will subscribe to. For more information, see [AUTOTITLE](/apps/creating-github-apps/creating-github-apps/choosing-permissions-for-a-github-app). For more information about things to consider when changing the permissions, see [Modifying a {% data variables.product.prodname_github_app %} registration](/apps/maintaining-github-apps/modifying-a-github-app-registration#changing-the-permissions-of-a-github-app). 1. Under "Subscribe to Events," select the webhook events you would like your {% data variables.product.prodname_github_app %} to receive. 1. Click **Save changes**. -You can also use the REST API to create a webhook for a {% data variables.product.prodname_github_app %}. For more information, see "[AUTOTITLE](/rest/apps/webhooks)." +You can also use the REST API to create a webhook for a {% data variables.product.prodname_github_app %}. For more information, see [AUTOTITLE](/rest/apps/webhooks). ## Further reading -* "[AUTOTITLE](/webhooks/about-webhooks)" -* "[AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries)" +* [AUTOTITLE](/webhooks/about-webhooks) +* [AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries) diff --git a/content/webhooks/using-webhooks/delivering-webhooks-to-private-systems.md b/content/webhooks/using-webhooks/delivering-webhooks-to-private-systems.md index 0e53daeac74c..5f4352f34217 100644 --- a/content/webhooks/using-webhooks/delivering-webhooks-to-private-systems.md +++ b/content/webhooks/using-webhooks/delivering-webhooks-to-private-systems.md @@ -34,6 +34,6 @@ The [`/meta` endpoint](/rest/meta/meta#get-github-meta-information) returns a JS ### Validating webhook payloads -If your webhook is configured with a secret token, {% data variables.product.prodname_dotcom %} will include a cryptographic hash of each webhook payload. You should use this hash to validate the payload received from {% data variables.product.prodname_dotcom %} before any action is taken by your private system. For more information, see "[AUTOTITLE](/webhooks-and-events/webhooks/securing-your-webhooks)." +If your webhook is configured with a secret token, {% data variables.product.prodname_dotcom %} will include a cryptographic hash of each webhook payload. You should use this hash to validate the payload received from {% data variables.product.prodname_dotcom %} before any action is taken by your private system. For more information, see [AUTOTITLE](/webhooks-and-events/webhooks/securing-your-webhooks). You can implement payload validation either on the reverse proxy or on your private system. diff --git a/content/webhooks/using-webhooks/disabling-webhooks.md b/content/webhooks/using-webhooks/disabling-webhooks.md index 270680c279d3..7716214cfd2c 100644 --- a/content/webhooks/using-webhooks/disabling-webhooks.md +++ b/content/webhooks/using-webhooks/disabling-webhooks.md @@ -20,13 +20,13 @@ topics: To disable a webhook, you can choose to deactivate or delete it. When you deactivate a webhook, the webhook deliveries will stop, and you can choose to reactivate the webhook at a later time. When you delete a webhook, it cannot be restored. -For more information, see "[AUTOTITLE](/webhooks/about-webhooks)" and "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks)." +For more information, see [AUTOTITLE](/webhooks/about-webhooks) and [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks). ## Disabling a repository webhook To disable a repository webhook, you can deactivate or delete it. You must be a repository owner, or have admin access in the repository, to disable webhooks. -You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to delete a webhook for a repository. For more information about using the REST API to delete a repository webhook, see "[AUTOTITLE](/rest/webhooks/repos#delete-a-repository-webhook)." +You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to delete a webhook for a repository. For more information about using the REST API to delete a repository webhook, see [AUTOTITLE](/rest/webhooks/repos#delete-a-repository-webhook). {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} @@ -37,7 +37,7 @@ You can use the {% data variables.product.prodname_dotcom %} web interface or th To disable an organization webhook, you can deactivate or delete it. Only organization owners can disable webhooks in an organization. -You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to delete an organization webhook. For more information about using the REST API to delete an organization webhook, see "[AUTOTITLE](/rest/orgs/webhooks#delete-an-organization-webhook)." +You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to delete an organization webhook. For more information about using the REST API to delete an organization webhook, see [AUTOTITLE](/rest/orgs/webhooks#delete-an-organization-webhook). 1. In the upper-right corner of any page on {% data variables.product.github %}, click your profile photo. 1. Click **Your organizations**. @@ -53,7 +53,7 @@ Enterprise owners can disable a global webhook in an {% data variables.product.p {% ifversion ghes %} -You can use the {% data variables.product.company_short %} web interface or the REST API to disable a global webhook. For more information about using the REST API to disable a global webhook, see "[AUTOTITLE](/rest/enterprise-admin/global-webhooks)." +You can use the {% data variables.product.company_short %} web interface or the REST API to disable a global webhook. For more information about using the REST API to disable a global webhook, see [AUTOTITLE](/rest/enterprise-admin/global-webhooks). {% endif %} diff --git a/content/webhooks/using-webhooks/editing-webhooks.md b/content/webhooks/using-webhooks/editing-webhooks.md index 904aa29426ce..b7cadd6e5607 100644 --- a/content/webhooks/using-webhooks/editing-webhooks.md +++ b/content/webhooks/using-webhooks/editing-webhooks.md @@ -12,13 +12,13 @@ topics: ## About editing webhooks -You can edit a webhook to change any of the settings that were selected when the webhook was initially created. For more information about the settings you can select while creating a webhook, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks)." +You can edit a webhook to change any of the settings that were selected when the webhook was initially created. For more information about the settings you can select while creating a webhook, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks). ## Editing a repository webhook You can edit a webhook that was created in a specific repository. You must be a repository owner or have admin access in the repository to edit webhooks in that repository. -You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to edit a repository webhook. For more information about using the REST API to edit a repository webhook, see "[AUTOTITLE](/rest/webhooks/repos#update-a-repository-webhook)." +You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to edit a repository webhook. For more information about using the REST API to edit a repository webhook, see [AUTOTITLE](/rest/webhooks/repos#update-a-repository-webhook). {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} @@ -31,7 +31,7 @@ You can use the {% data variables.product.prodname_dotcom %} web interface or th You can edit a webhook that was created in a specific organization. You must be an organization owner to edit webhooks in that organization. -You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to edit an organization webhook. For more information about using the REST API to create an organization webhook, see "[AUTOTITLE](/rest/orgs/webhooks#update-an-organization-webhook)." +You can use the {% data variables.product.prodname_dotcom %} web interface or the REST API to edit an organization webhook. For more information about using the REST API to create an organization webhook, see [AUTOTITLE](/rest/orgs/webhooks#update-an-organization-webhook). {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} @@ -48,7 +48,7 @@ Enterprise owners can edit a global webhook to change any of the settings that w {% ifversion ghes %} -You can use the {% data variables.product.company_short %} web interface or the REST API to edit a global webhook. For more information about using the REST API to edit a global webhook, see "[AUTOTITLE](/rest/enterprise-admin/global-webhooks)." +You can use the {% data variables.product.company_short %} web interface or the REST API to edit a global webhook. For more information about using the REST API to edit a global webhook, see [AUTOTITLE](/rest/enterprise-admin/global-webhooks). {% endif %} @@ -65,7 +65,7 @@ You can use the {% data variables.product.company_short %} web interface or the ## Editing a {% data variables.product.prodname_marketplace %} webhook -You can edit a webhook that was created for an app that you published in {% data variables.product.prodname_marketplace %}. Only the owner of the app, or an app manager for the organization that owns the app, can edit a {% data variables.product.prodname_marketplace %} webhook. For more information, see "[AUTOTITLE](/apps/publishing-apps-to-github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api)." +You can edit a webhook that was created for an app that you published in {% data variables.product.prodname_marketplace %}. Only the owner of the app, or an app manager for the organization that owns the app, can edit a {% data variables.product.prodname_marketplace %} webhook. For more information, see [AUTOTITLE](/apps/publishing-apps-to-github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api). 1. Navigate to your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). 1. Next to the {% data variables.product.prodname_marketplace %} listing that you want to view webhook deliveries for, click **Manage listing**. @@ -90,7 +90,7 @@ You can edit a webhook that was created for a {% data variables.product.prodname Each {% data variables.product.prodname_github_app %} has one webhook. You cannot delete the webhook, but you can activate or deactivate the webhook, change the webhook events that the webhook subscribes to, or make changes to other basic settings for the webhook. -The owner of a {% data variables.product.prodname_github_app %} can edit the webhook configuration for the app. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also edit the webhook configuration. For more information, see "[AUTOTITLE](/apps/creating-github-apps/creating-github-apps/using-webhooks-with-github-apps)." +The owner of a {% data variables.product.prodname_github_app %} can edit the webhook configuration for the app. If an organization has designated any app managers for a {% data variables.product.prodname_github_app %} owned by the organization, the app managers can also edit the webhook configuration. For more information, see [AUTOTITLE](/apps/creating-github-apps/creating-github-apps/using-webhooks-with-github-apps). {% data reusables.apps.settings-step %} {% data reusables.user-settings.developer_settings %} @@ -103,8 +103,8 @@ The owner of a {% data variables.product.prodname_github_app %} can edit the web 1. In the sidebar, click **Permissions & events**. 1. {% data reusables.apps.webhooks-and-apps %} - Under the sections "Repository permissions," "Organization permissions," and "Account permissions," select the permissions that are required for the events your app will subscribe to. For more information, see "[AUTOTITLE](/apps/creating-github-apps/creating-github-apps/choosing-permissions-for-a-github-app)." For more information about things to consider when changing the permissions, see "[Modifying a {% data variables.product.prodname_github_app %} registration](/apps/maintaining-github-apps/modifying-a-github-app-registration#changing-the-permissions-of-a-github-app)." + Under the sections "Repository permissions," "Organization permissions," and "Account permissions," select the permissions that are required for the events your app will subscribe to. For more information, see [AUTOTITLE](/apps/creating-github-apps/creating-github-apps/choosing-permissions-for-a-github-app). For more information about things to consider when changing the permissions, see [Modifying a {% data variables.product.prodname_github_app %} registration](/apps/maintaining-github-apps/modifying-a-github-app-registration#changing-the-permissions-of-a-github-app). 1. Under "Subscribe to Events," select the webhook events you would like your {% data variables.product.prodname_github_app %} to receive. 1. Click **Save changes**. -You can use the REST API to edit the webhook configuration for a {% data variables.product.prodname_github_app %}. For more information about using the REST API to view recent deliveries, see "[AUTOTITLE](/rest/apps/webhooks)." +You can use the REST API to edit the webhook configuration for a {% data variables.product.prodname_github_app %}. For more information about using the REST API to view recent deliveries, see [AUTOTITLE](/rest/apps/webhooks). diff --git a/content/webhooks/using-webhooks/handling-failed-webhook-deliveries.md b/content/webhooks/using-webhooks/handling-failed-webhook-deliveries.md index 28e55ddf60b7..61f7a104c961 100644 --- a/content/webhooks/using-webhooks/handling-failed-webhook-deliveries.md +++ b/content/webhooks/using-webhooks/handling-failed-webhook-deliveries.md @@ -19,21 +19,21 @@ A webhook delivery can fail for multiple reasons. For example, if your server is ## Handling delivery failures -You can manually redeliver failed deliveries. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks)." +You can manually redeliver failed deliveries. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks). You can also write a script that checks for failed deliveries and attempts to redeliver any that failed. Your script should run on a schedule and do the following: -1. Use the {% data variables.product.company_short %} REST API to fetch data about any webhook deliveries that were attempted since the last time that your script ran. For more information, see "[AUTOTITLE](/rest/webhooks/repo-deliveries#list-deliveries-for-a-repository-webhook)," "[AUTOTITLE](/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook)," and "[AUTOTITLE](/rest/apps/webhooks#list-deliveries-for-an-app-webhook)." +1. Use the {% data variables.product.company_short %} REST API to fetch data about any webhook deliveries that were attempted since the last time that your script ran. For more information, see [AUTOTITLE](/rest/webhooks/repo-deliveries#list-deliveries-for-a-repository-webhook), [AUTOTITLE](/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook), and [AUTOTITLE](/rest/apps/webhooks#list-deliveries-for-an-app-webhook). {% ifversion fpt %}There are no API endpoints to get data about {% data variables.product.prodname_marketplace %} webhooks or {% data variables.product.prodname_sponsors %} webhooks.{% endif %}{% ifversion ghec %}There are no API endpoints to get data about {% data variables.product.prodname_marketplace %} webhooks, {% data variables.product.prodname_sponsors %} webhooks, or global webhooks.{% endif %}{% ifversion ghes %}There are no API endpoints to get data about global webhook deliveries.{% endif %} 1. Look at the fetched data to see if any deliveries failed. The data for a failed delivery will have a `status` value that is not `OK`. -1. Use the {% data variables.product.company_short %} REST API to redeliver any deliveries that failed. For more information, see "[AUTOTITLE](/rest/webhooks/repo-deliveries#redeliver-a-delivery-for-a-repository-webhook)," "[AUTOTITLE](/rest/orgs/webhooks#redeliver-a-delivery-for-an-organization-webhook)," and "[AUTOTITLE](/rest/apps/webhooks#redeliver-a-delivery-for-an-app-webhook)." +1. Use the {% data variables.product.company_short %} REST API to redeliver any deliveries that failed. For more information, see [AUTOTITLE](/rest/webhooks/repo-deliveries#redeliver-a-delivery-for-a-repository-webhook), [AUTOTITLE](/rest/orgs/webhooks#redeliver-a-delivery-for-an-organization-webhook), and [AUTOTITLE](/rest/apps/webhooks#redeliver-a-delivery-for-an-app-webhook). For example scripts, see: -* "[AUTOTITLE](/webhooks/using-webhooks/creating-a-script-to-automatically-redeliver-failed-deliveries-for-a-repository-webhook)" -* "[AUTOTITLE](/webhooks/using-webhooks/creating-a-script-to-automatically-redeliver-failed-deliveries-for-an-organization-webhook)" -* "[AUTOTITLE](/webhooks/using-webhooks/creating-a-script-to-automatically-redeliver-failed-deliveries-for-a-github-app-webhook)" +* [AUTOTITLE](/webhooks/using-webhooks/creating-a-script-to-automatically-redeliver-failed-deliveries-for-a-repository-webhook) +* [AUTOTITLE](/webhooks/using-webhooks/creating-a-script-to-automatically-redeliver-failed-deliveries-for-an-organization-webhook) +* [AUTOTITLE](/webhooks/using-webhooks/creating-a-script-to-automatically-redeliver-failed-deliveries-for-a-github-app-webhook) -If a webhook delivery fails repeatedly, you should investigate the cause. Each failed delivery will give a reason for failure. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks)." +If a webhook delivery fails repeatedly, you should investigate the cause. Each failed delivery will give a reason for failure. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks). diff --git a/content/webhooks/using-webhooks/handling-webhook-deliveries.md b/content/webhooks/using-webhooks/handling-webhook-deliveries.md index 18f3f3349425..ca0699505b49 100644 --- a/content/webhooks/using-webhooks/handling-webhook-deliveries.md +++ b/content/webhooks/using-webhooks/handling-webhook-deliveries.md @@ -62,7 +62,7 @@ In order to test your webhook locally, you can use a webhook proxy URL to forwar ### Create a webhook -1. Create a webhook with the following settings. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks)." +1. Create a webhook with the following settings. For more information, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks). * For the URL, use your webhook proxy URL from earlier. * If you have an option to choose the content type, use JSON. @@ -174,19 +174,19 @@ To test your webhook, you can use your computer or codespace to act as a local s You should see output that indicates something like "Sinatra has taken the stage on 3000". -1. Trigger your webhook. For example, if you created a repository webhook that is subscribed to the `issues` event, open an issue in your repository. You can also redeliver a previous webhook delivery. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks)." +1. Trigger your webhook. For example, if you created a repository webhook that is subscribed to the `issues` event, open an issue in your repository. You can also redeliver a previous webhook delivery. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks). 1. Navigate to your webhook proxy URL on smee.io. You should see an event that corresponds to the event that you triggered or redelivered. This indicates that {% data variables.product.company_short %} successfully sent a webhook delivery to the payload URL that you specified. 1. In the terminal window where you ran `smee --url WEBHOOK_PROXY_URL --path /webhook --port 3000`, you should see something like `POST http://127.0.0.1:3000/webhook - 202`. This indicates that smee successfully forwarded your webhook to your local server. 1. In the terminal window where you ran `PORT=3000 ruby FILE_NAME`, you should see a message corresponding to the event that was sent. For example, if you use the example code from above and you redelivered the `ping` event, you should see "{% data variables.product.company_short %} sent the ping event". You may also see some other lines that Sinatra automatically prints. 1. In both terminal windows, enter Ctrl+C to stop your local server and stop listening for forwarded webhooks. -Now that you have tested out your code locally, you can make changes to use your webhook in production. For more information, see "[Next steps](#next-steps)." If you had trouble testing your code, try the steps in "[Troubleshooting](#troubleshooting)." +Now that you have tested out your code locally, you can make changes to use your webhook in production. For more information, see [Next steps](#next-steps). If you had trouble testing your code, try the steps in [Troubleshooting](#troubleshooting). ### JavaScript example -This example uses Node.js and the Express library to define routes and handle HTTP requests. For more information, see "[expressjs.com](https://expressjs.com)." +This example uses Node.js and the Express library to define routes and handle HTTP requests. For more information, see [expressjs.com](https://expressjs.com). -For an example that uses {% data variables.product.company_short %}'s Octokit.js SDK, see "[AUTOTITLE](/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events)." +For an example that uses {% data variables.product.company_short %}'s Octokit.js SDK, see [AUTOTITLE](/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events). This example requires your computer or codespace to run Node.js version 12 or greater and npm version 6.12.0 or greater. For more information, see [Node.js](https://nodejs.org). @@ -270,25 +270,25 @@ To test your webhook, you can use your computer or codespace to act as a local s You should see output that says `Server is running on port 3000`. -1. Trigger your webhook. For example, if you created a repository webhook that is subscribed to the `issues` event, open an issue in your repository. You can also redeliver a previous webhook delivery. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks)." +1. Trigger your webhook. For example, if you created a repository webhook that is subscribed to the `issues` event, open an issue in your repository. You can also redeliver a previous webhook delivery. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks). 1. Navigate to your webhook proxy URL on smee.io. You should see an event that corresponds to the event that you triggered or redelivered. This indicates that {% data variables.product.company_short %} successfully sent a webhook delivery to the payload URL that you specified. 1. In the terminal window where you ran `smee --url WEBHOOK_PROXY_URL --path /webhook --port 3000`, you should see something like `POST http://127.0.0.1:3000/webhook - 202`. This indicates that smee successfully forwarded your webhook to your local server. 1. In the terminal window where you ran `node FILE_NAME`, you should see a message corresponding to the event that was sent. For example, if you use the example code from above and you redelivered the `ping` event, you should see "{% data variables.product.company_short %} sent the ping event". 1. In both terminal windows, enter Ctrl+C to stop your local server and stop listening for forwarded webhooks. -Now that you have tested out your code locally, you can make changes to use your webhook in production. For more information, see "[Next steps](#next-steps)." If you had trouble testing your code, try the steps in "[Troubleshooting](#troubleshooting)." +Now that you have tested out your code locally, you can make changes to use your webhook in production. For more information, see [Next steps](#next-steps). If you had trouble testing your code, try the steps in [Troubleshooting](#troubleshooting). ## Troubleshooting If you don't see the expected results described in the testing steps, try the following: -* Make sure that your webhook is using your webhook proxy URL (Smee.io URL). For more information about your webhook proxy URL, see "[Get a webhook proxy URL](#get-a-webhook-proxy-url)." For more information about your webhook settings, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks)." -* Make sure that your webhook uses the JSON content type, if you have a choice about what content type to use. For more information about your webhook settings, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks)." +* Make sure that your webhook is using your webhook proxy URL (Smee.io URL). For more information about your webhook proxy URL, see [Get a webhook proxy URL](#get-a-webhook-proxy-url). For more information about your webhook settings, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks). +* Make sure that your webhook uses the JSON content type, if you have a choice about what content type to use. For more information about your webhook settings, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks). * Make sure that both the smee client and your local server are running. You will have these processes running in two separate terminal windows. * Make sure that your server is listening to the same port where smee.io is forwarding webhooks. All of the examples in this article use port 3000. * Make sure that the path where smee.io is forwarding webhooks matches a route that is defined in your code. All of the examples in this article use the `/webhooks` path. * Check for error messages in the terminal windows where you are running the smee client and your local server. -* Check {% data variables.product.company_short %} to verify that a webhook delivery was triggered. For more information, see "[AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries)." +* Check {% data variables.product.company_short %} to verify that a webhook delivery was triggered. For more information, see [AUTOTITLE](/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries). * Check your webhook proxy URL on smee.io. You should see an event that corresponds to the event that you triggered or redelivered. This indicates that {% data variables.product.company_short %} successfully sent a webhook delivery to the payload URL that you specified. ## Next steps @@ -306,7 +306,7 @@ This article gave basic examples that print a message when a webhook delivery is ### Verify that the delivery is from {% data variables.product.company_short %} -In your code that handles webhook deliveries, you should validate that the delivery is from {% data variables.product.company_short %} before processing the delivery further. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/securing-your-webhooks)." +In your code that handles webhook deliveries, you should validate that the delivery is from {% data variables.product.company_short %} before processing the delivery further. For more information, see [AUTOTITLE](/webhooks/using-webhooks/securing-your-webhooks). ### Deploy your code to a server @@ -322,9 +322,9 @@ You should not use smee.io to forward your webhooks in production. ### Follow best practices -You should aim to follow best practices with your webhooks. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/best-practices-for-using-webhooks)." +You should aim to follow best practices with your webhooks. For more information, see [AUTOTITLE](/webhooks/using-webhooks/best-practices-for-using-webhooks). ## Further reading -* "[AUTOTITLE](/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events)" -* "[AUTOTITLE](/webhooks/using-webhooks/best-practices-for-using-webhooks)" +* [AUTOTITLE](/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events) +* [AUTOTITLE](/webhooks/using-webhooks/best-practices-for-using-webhooks) diff --git a/content/webhooks/using-webhooks/validating-webhook-deliveries.md b/content/webhooks/using-webhooks/validating-webhook-deliveries.md index 48feefb8c7b8..75cb20c2b573 100644 --- a/content/webhooks/using-webhooks/validating-webhook-deliveries.md +++ b/content/webhooks/using-webhooks/validating-webhook-deliveries.md @@ -32,18 +32,18 @@ To do this, you need to: You can create a new webhook with a secret token, or you can add a secret token to an existing webhook. When creating a secret token, you should choose a random string of text with high entropy. -* _To create a new webhook with a secret token_, see "[AUTOTITLE](/webhooks/using-webhooks/creating-webhooks)." -* _To add a secret token to an existing webhook_, edit the webhook's settings. Under "Secret", type a string to use as a `secret` key. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/editing-webhooks)." +* _To create a new webhook with a secret token_, see [AUTOTITLE](/webhooks/using-webhooks/creating-webhooks). +* _To add a secret token to an existing webhook_, edit the webhook's settings. Under "Secret", type a string to use as a `secret` key. For more information, see [AUTOTITLE](/webhooks/using-webhooks/editing-webhooks). ## Securely storing the secret token -After creating a secret token, you should store it in a secure location that your server can access. Never hardcode a token into an application or push a token to any repository. For more information about how to use authentication credentials securely in your code, see "[AUTOTITLE](/rest/overview/keeping-your-api-credentials-secure#use-authentication-credentials-securely-in-your-code)." +After creating a secret token, you should store it in a secure location that your server can access. Never hardcode a token into an application or push a token to any repository. For more information about how to use authentication credentials securely in your code, see [AUTOTITLE](/rest/overview/keeping-your-api-credentials-secure#use-authentication-credentials-securely-in-your-code). ## Validating webhook deliveries -{% data variables.product.product_name %} will use your secret token to create a hash signature that's sent to you with each payload. The hash signature will appear in each delivery as the value of the `X-Hub-Signature-256` header. For more information, see "[AUTOTITLE](/webhooks/webhook-events-and-payloads#delivery-headers)." +{% data variables.product.product_name %} will use your secret token to create a hash signature that's sent to you with each payload. The hash signature will appear in each delivery as the value of the `X-Hub-Signature-256` header. For more information, see [AUTOTITLE](/webhooks/webhook-events-and-payloads#delivery-headers). -In your code that handles webhook deliveries, you should calculate a hash using your secret token. Then, compare the hash that {% data variables.product.company_short %} sent with the expected hash that you calculated, and ensure that they match. For examples showing how to validate the hashes in various programming languages, see "[Examples](#examples)." +In your code that handles webhook deliveries, you should calculate a hash using your secret token. Then, compare the hash that {% data variables.product.company_short %} sent with the expected hash that you calculated, and ensure that they match. For examples showing how to validate the hashes in various programming languages, see [Examples](#examples). There are a few important things to keep in mind when validating webhook payloads: @@ -198,5 +198,5 @@ const handleWebhook = async (req, res) => { ## Further reading -* "[AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries)" -* "[AUTOTITLE](/webhooks/using-webhooks/best-practices-for-using-webhooks)" +* [AUTOTITLE](/webhooks/using-webhooks/handling-webhook-deliveries) +* [AUTOTITLE](/webhooks/using-webhooks/best-practices-for-using-webhooks) diff --git a/content/webhooks/webhook-events-and-payloads.md b/content/webhooks/webhook-events-and-payloads.md index f55b9e286f60..c58a82334800 100644 --- a/content/webhooks/webhook-events-and-payloads.md +++ b/content/webhooks/webhook-events-and-payloads.md @@ -21,11 +21,11 @@ autogenerated: webhooks ## About webhook events and payloads -You can create webhooks that subscribe to the events listed on this page. To limit the number of HTTP requests to your server, you should only subscribe to the specific events that you plan on handling. For more information, see "[AUTOTITLE](/webhooks/creating-webhooks)." +You can create webhooks that subscribe to the events listed on this page. To limit the number of HTTP requests to your server, you should only subscribe to the specific events that you plan on handling. For more information, see [AUTOTITLE](/webhooks/creating-webhooks). Each webhook event on this page includes a description of the webhook properties for that event. If the event has multiple actions, the properties corresponding to each action are included. -Each event is only available to specific types of webhooks. For example, an organization webhook can subscribe to the `team` event, but a repository webhook cannot. The description of each webhook event lists the availability for that event. For more information, see "[AUTOTITLE](/webhooks/types-of-webhooks)." +Each event is only available to specific types of webhooks. For example, an organization webhook can subscribe to the `team` event, but a repository webhook cannot. The description of each webhook event lists the availability for that event. For more information, see [AUTOTITLE](/webhooks/types-of-webhooks). ### Payload cap @@ -41,12 +41,12 @@ HTTP POST payloads that are delivered to your webhook's configured URL endpoint * `X-GitHub-Enterprise-Version`: The version of the {% data variables.product.prodname_ghe_server %} instance that sent the HTTP POST payload. * `X-GitHub-Enterprise-Host`: The hostname of the {% data variables.product.prodname_ghe_server %} instance that sent the HTTP POST payload.{% endif %} * `X-Hub-Signature`: This header is sent if the webhook is configured with a `secret`. This is the HMAC hex digest of the request body, and is generated using the SHA-1 hash function and the `secret` as the HMAC `key`. `X-Hub-Signature` is provided for compatibility with existing integrations. We recommend that you use the more secure `X-Hub-Signature-256` instead. -* `X-Hub-Signature-256`: This header is sent if the webhook is configured with a `secret`. This is the HMAC hex digest of the request body, and is generated using the SHA-256 hash function and the `secret` as the HMAC `key`. For more information, see "[AUTOTITLE](/webhooks/using-webhooks/securing-your-webhooks)." +* `X-Hub-Signature-256`: This header is sent if the webhook is configured with a `secret`. This is the HMAC hex digest of the request body, and is generated using the SHA-256 hash function and the `secret` as the HMAC `key`. For more information, see [AUTOTITLE](/webhooks/using-webhooks/securing-your-webhooks). * `User-Agent`: This header will always have the prefix `GitHub-Hookshot/`. * `X-GitHub-Hook-Installation-Target-Type`: The type of resource where the webhook was created. * `X-GitHub-Hook-Installation-Target-ID`: The unique identifier of the resource where the webhook was created. -To see what each header might look like in a webhook payload, see "[Example webhook delivery](#example-webhook-delivery)." +To see what each header might look like in a webhook payload, see [Example webhook delivery](#example-webhook-delivery). ### Example webhook delivery