From d3114e428f5659f7f0431120276f08748473495e Mon Sep 17 00:00:00 2001 From: Joe Clark <31087804+jc-clark@users.noreply.github.com> Date: Wed, 4 Mar 2026 12:25:54 -0800 Subject: [PATCH 1/5] Add discovery landing page for `content/pages` (#60012) --- .../about-custom-domains-and-github-pages.md | 2 ++ ...ustom-domain-for-your-github-pages-site.md | 2 ++ ...hooting-custom-domains-and-github-pages.md | 2 ++ ...ing-your-custom-domain-for-github-pages.md | 2 ++ ...he-visibility-of-your-github-pages-site.md | 2 ++ ...shing-source-for-your-github-pages-site.md | 2 ++ ...tom-404-page-for-your-github-pages-site.md | 2 ++ .../creating-a-github-pages-site.md | 2 ++ .../deleting-a-github-pages-site.md | 2 ++ .../github-pages-limits.md | 2 ++ ...uring-your-github-pages-site-with-https.md | 2 ++ ...oting-404-errors-for-github-pages-sites.md | 2 ++ .../unpublishing-a-github-pages-site.md | 2 ++ ...sing-custom-workflows-with-github-pages.md | 2 ++ .../using-submodules-with-github-pages.md | 2 ++ .../what-is-github-pages.md | 2 ++ content/pages/index.md | 29 +++++-------------- content/pages/quickstart.md | 2 ++ .../about-github-pages-and-jekyll.md | 2 ++ ...yll-build-errors-for-github-pages-sites.md | 2 ++ ...-to-your-github-pages-site-using-jekyll.md | 2 ++ ...-to-your-github-pages-site-using-jekyll.md | 2 ++ ...reating-a-github-pages-site-with-jekyll.md | 2 ++ ...for-your-github-pages-site-using-jekyll.md | 2 ++ ...r-github-pages-site-locally-with-jekyll.md | 2 ++ ...yll-build-errors-for-github-pages-sites.md | 2 ++ 26 files changed, 57 insertions(+), 22 deletions(-) diff --git a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md index e3e3232506ef..de8535e41681 100644 --- a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md +++ b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md @@ -14,6 +14,8 @@ versions: topics: - Pages shortTitle: Custom domains in GitHub Pages +category: + - Learn about GitHub Pages --- ## Supported custom domains diff --git a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md index 902217d77305..4604ccaeb62e 100644 --- a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md +++ b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md @@ -18,6 +18,8 @@ versions: topics: - Pages shortTitle: Manage a custom domain +category: + - Set up a GitHub Pages site --- People with admin permissions for a repository can configure a custom domain for a {% data variables.product.prodname_pages %} site. diff --git a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md index 566c69dd3a2d..4d4ed281a41b 100644 --- a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md +++ b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md @@ -14,6 +14,8 @@ versions: topics: - Pages shortTitle: Troubleshoot a custom domain +category: + - Troubleshoot a GitHub Pages site error --- ## CNAME errors diff --git a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages.md b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages.md index 7d05ede80ee4..b0b8820558a4 100644 --- a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages.md +++ b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages.md @@ -8,6 +8,8 @@ versions: topics: - Pages shortTitle: Verify a custom domain +category: + - Managing a GitHub Pages site --- ## About domain verification for GitHub Pages diff --git a/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md b/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md index 07946dd8f855..ea575ee10d53 100644 --- a/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md +++ b/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md @@ -7,6 +7,8 @@ permissions: 'People with admin access to a repository can change the visibility redirect_from: - /github/working-with-github-pages/changing-the-visibility-of-your-github-pages-site shortTitle: Change visibility of site +category: + - Managing a GitHub Pages site --- ## About access control for {% data variables.product.prodname_pages %} sites diff --git a/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md b/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md index 8f0daa08a502..9bde1528d71f 100644 --- a/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md +++ b/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md @@ -14,6 +14,8 @@ versions: topics: - Pages shortTitle: Configure publishing source +category: + - Set up a GitHub Pages site --- ## About publishing sources diff --git a/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md b/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md index 05cee9ea4e88..700db91429ab 100644 --- a/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md +++ b/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md @@ -13,6 +13,8 @@ versions: topics: - Pages shortTitle: Create custom 404 page +category: + - Set up a GitHub Pages site --- {% data reusables.pages.navigate-site-repo %} diff --git a/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md b/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md index 4c2801f6b3c5..0922b4f842a1 100644 --- a/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md +++ b/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md @@ -16,6 +16,8 @@ versions: topics: - Pages shortTitle: Create a GitHub Pages site +category: + - Set up a GitHub Pages site --- diff --git a/content/pages/getting-started-with-github-pages/deleting-a-github-pages-site.md b/content/pages/getting-started-with-github-pages/deleting-a-github-pages-site.md index b4c83faf03a5..f68490267512 100644 --- a/content/pages/getting-started-with-github-pages/deleting-a-github-pages-site.md +++ b/content/pages/getting-started-with-github-pages/deleting-a-github-pages-site.md @@ -10,6 +10,8 @@ versions: topics: - Pages shortTitle: Delete a GitHub Pages site +category: + - Managing a GitHub Pages site --- ## Deleting your site diff --git a/content/pages/getting-started-with-github-pages/github-pages-limits.md b/content/pages/getting-started-with-github-pages/github-pages-limits.md index a9cf0c64392a..a51b79c70f59 100644 --- a/content/pages/getting-started-with-github-pages/github-pages-limits.md +++ b/content/pages/getting-started-with-github-pages/github-pages-limits.md @@ -8,6 +8,8 @@ versions: ghec: '*' topics: - Pages +category: + - Set up a GitHub Pages site --- ## Usage limits diff --git a/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md b/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md index 3a6ee56051ea..c9285ae75171 100644 --- a/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md +++ b/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md @@ -11,6 +11,8 @@ versions: topics: - Pages shortTitle: Secure site with HTTPS +category: + - Set up a GitHub Pages site --- People with admin permissions for a repository can enforce HTTPS for a {% data variables.product.prodname_pages %} site. diff --git a/content/pages/getting-started-with-github-pages/troubleshooting-404-errors-for-github-pages-sites.md b/content/pages/getting-started-with-github-pages/troubleshooting-404-errors-for-github-pages-sites.md index 97464a26f988..119627b18b76 100644 --- a/content/pages/getting-started-with-github-pages/troubleshooting-404-errors-for-github-pages-sites.md +++ b/content/pages/getting-started-with-github-pages/troubleshooting-404-errors-for-github-pages-sites.md @@ -9,6 +9,8 @@ versions: topics: - Pages shortTitle: Troubleshoot 404 errors +category: + - Troubleshoot a GitHub Pages site error --- ## Troubleshooting 404 errors diff --git a/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md b/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md index f0840fa2b921..581f89c47770 100644 --- a/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md +++ b/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md @@ -17,6 +17,8 @@ versions: topics: - Pages shortTitle: Unpublish Pages site +category: + - Managing a GitHub Pages site --- When you unpublish your site, your current deployment is removed and the site will no longer be available. Any existing repository settings or content will not be affected. diff --git a/content/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages.md b/content/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages.md index fae22dc3b816..5e41f9c89956 100644 --- a/content/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages.md +++ b/content/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages.md @@ -9,6 +9,8 @@ versions: topics: - Pages shortTitle: Use custom workflows +category: + - Set up a GitHub Pages site --- ## About custom workflows diff --git a/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md b/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md index e2a6314aec56..dd60c6c99012 100644 --- a/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md +++ b/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md @@ -12,6 +12,8 @@ versions: topics: - Pages shortTitle: Use submodules with Pages +category: + - Set up a GitHub Pages site --- If the repository for your {% data variables.product.prodname_pages %} site contains submodules, their contents will automatically be pulled in when your site is built. diff --git a/content/pages/getting-started-with-github-pages/what-is-github-pages.md b/content/pages/getting-started-with-github-pages/what-is-github-pages.md index 728192fbd183..4011acc8e4a3 100644 --- a/content/pages/getting-started-with-github-pages/what-is-github-pages.md +++ b/content/pages/getting-started-with-github-pages/what-is-github-pages.md @@ -19,6 +19,8 @@ versions: ghec: '*' topics: - Pages +category: + - Learn about GitHub Pages --- ## About {% data variables.product.prodname_pages %} diff --git a/content/pages/index.md b/content/pages/index.md index 1680674523e5..8d5fcdbc8470 100644 --- a/content/pages/index.md +++ b/content/pages/index.md @@ -1,33 +1,18 @@ --- title: "{% data variables.product.prodname_pages %} documentation" shortTitle: "{% data variables.product.prodname_pages %}" -intro: 'Learn how to create a website directly from a repository on {% data variables.product.prodname_dotcom %}. Explore website building tools like Jekyll and troubleshoot issues with your {% data variables.product.prodname_pages %} site.' +intro: '{% data variables.product.prodname_pages %} turns any {% data variables.product.github %} repository into a live website—no separate hosting required.' introLinks: quickstart: /pages/quickstart overview: /pages/getting-started-with-github-pages/what-is-github-pages -featuredLinks: - startHere: - - /pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site - - /pages/getting-started-with-github-pages/creating-a-github-pages-site - - '{% ifversion fpt or ghec %}/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site{% endif %}' - - '{% ifversion ghes %}/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll{% endif %}' - - '{% ifversion ghec %}/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site{% endif %}' - - '{% ifversion ghes %}/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll{% endif %}' - popular: - - '{% ifversion fpt or ghec %}/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages{% endif %}' - - /pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll - - '{% ifversion fpt or ghec %}/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages{% endif %}' - - '{% ifversion fpt or ghec %}/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https{% endif %}' - - '{% ifversion ghes %}/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site{% endif %}' - - '{% ifversion ghes %}/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll{% endif %}' - - '{% ifversion ghes %}/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll{% endif %}' - guideCards: - - /pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site - - /pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll - - /pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites changelog: label: pages -layout: product-landing +layout: discovery-landing +includedCategories: + - Learn about GitHub Pages + - Set up a GitHub Pages site + - Managing a GitHub Pages site + - Troubleshoot a GitHub Pages site error redirect_from: - /categories/20/articles - /categories/95/articles diff --git a/content/pages/quickstart.md b/content/pages/quickstart.md index afb15062ec49..d896dbe2cfd7 100644 --- a/content/pages/quickstart.md +++ b/content/pages/quickstart.md @@ -11,6 +11,8 @@ topics: - Pages shortTitle: Quickstart product: '{% data reusables.gated-features.pages %}' +category: + - Set up a GitHub Pages site --- ## Introduction diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md index a3489ceb3a36..756896135ffd 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md @@ -26,6 +26,8 @@ versions: topics: - Pages shortTitle: GitHub Pages & Jekyll +category: + - Learn about GitHub Pages --- {% data reusables.pages.actions-is-preferred %} diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md index 2c985e9c980f..f3236119959c 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md @@ -14,6 +14,8 @@ versions: topics: - Pages shortTitle: Jekyll build errors for Pages +category: + - Set up a GitHub Pages site --- {% data reusables.pages.actions-is-preferred %} diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md index e0f7bf734124..72addea866c1 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md @@ -15,6 +15,8 @@ versions: topics: - Pages shortTitle: Add theme to Pages site +category: + - Set up a GitHub Pages site --- {% data reusables.pages.actions-is-preferred %} diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll.md index 125d26aa24d9..e1acc80688dd 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll.md @@ -12,6 +12,8 @@ versions: topics: - Pages shortTitle: Add content to Pages site +category: + - Managing a GitHub Pages site --- {% data reusables.pages.actions-is-preferred %} diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md index 7864cd8fa285..9ec53f486409 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md @@ -13,6 +13,8 @@ versions: topics: - Pages shortTitle: Create site with Jekyll +category: + - Set up a GitHub Pages site --- diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll.md index 526231ecd0c8..f2ba40b0172a 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll.md @@ -14,6 +14,8 @@ versions: topics: - Pages shortTitle: Set Markdown processor +category: + - Managing a GitHub Pages site --- {% data reusables.pages.actions-is-preferred %} diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll.md index caa1b798d7bd..6de42badca9f 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll.md @@ -14,6 +14,8 @@ versions: topics: - Pages shortTitle: Test site locally with Jekyll +category: + - Set up a GitHub Pages site --- Anyone with read permissions for a repository can test a {% data variables.product.prodname_pages %} site locally. diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md index 979b8a222d59..371a2f89afe4 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md @@ -33,6 +33,8 @@ versions: topics: - Pages shortTitle: Troubleshoot Jekyll errors +category: + - Troubleshoot a GitHub Pages site error --- ## Troubleshooting build errors From 3ef11bc8d4f572dfe24a1f6e1df1927b3d1c5201 Mon Sep 17 00:00:00 2001 From: Joe Clark <31087804+jc-clark@users.noreply.github.com> Date: Wed, 4 Mar 2026 12:49:40 -0800 Subject: [PATCH 2/5] Add application/platform card template to templates article (#59724) Co-authored-by: Sarah Schneider --- .github/instructions/content.instructions.md | 8 + .../writing-for-github-docs/templates.md | 327 ++++++++++++++++ .../contributing/content-linter-rules.md | 1 + src/content-linter/lib/linting-rules/index.ts | 2 + .../linting-rules/rai-app-card-structure.ts | 351 ++++++++++++++++++ src/content-linter/style/github-docs.ts | 7 + .../tests/unit/rai-app-card-structure.ts | 204 ++++++++++ 7 files changed, 900 insertions(+) create mode 100644 src/content-linter/lib/linting-rules/rai-app-card-structure.ts create mode 100644 src/content-linter/tests/unit/rai-app-card-structure.ts diff --git a/.github/instructions/content.instructions.md b/.github/instructions/content.instructions.md index 17cf1a39c911..a4606d6d0487 100644 --- a/.github/instructions/content.instructions.md +++ b/.github/instructions/content.instructions.md @@ -72,6 +72,14 @@ Examples: * ❌ Incorrect: `For more information, see [Using GitHub Copilot](/copilot/using-github-copilot).` * ❌ Incorrect: `For more information, see {% link /copilot/using-github-copilot %}.` +## RAI application and platform cards + +Articles with `contentType: rai` in their frontmatter are **application or platform cards**—legally mandated documents describing the responsible use of AI-powered features. The content linter enforces the required section structure (GHD064) and reusable isolation (GHD035). + +* **Template**: See `content/contributing/writing-for-github-docs/templates.md` for the full application/platform card template with all required sections and boilerplate reusables. +* **Reusables**: RAI articles must only reference reusables from `data/reusables/rai/`. Place new RAI reusables there too. +* **Frontmatter**: New application cards use `contentType: rai`. The older `type: rai` is for legacy transparency notes not yet migrated. + ## Parenthetical dashes Where a sentence of normal body text contains a parenthetical dash, the dash should always be an em dash without spaces at either side. This rule does not apply to text within code blocks. diff --git a/content/contributing/writing-for-github-docs/templates.md b/content/contributing/writing-for-github-docs/templates.md index 4b21817f0ade..59991fc123f2 100644 --- a/content/contributing/writing-for-github-docs/templates.md +++ b/content/contributing/writing-for-github-docs/templates.md @@ -390,4 +390,331 @@ This section can simply link out to https://docs.github.com/en/actions/configuri {% endcomment %}{% endraw %} ``` +{% ifversion copilot %} + + +## Application or platform service cards + +Use this template for responsible AI application or platform service cards published in {% data variables.product.prodname_docs %}. For examples of published cards, see the articles in [AUTOTITLE](/copilot/responsible-use). + + + + +```yaml +{% raw %}--- +title: 'Application card: APPLICATION' +shortTitle: APPLICATION-OR-PLATFORM-SERVICE # Short, human-readable label for this card +intro: 'Describe what this application or platform service card covers in one or two sentences.' +versions: + feature: copilot +contentType: rai +category: + - Responsible use +--- + +{% comment %} +For the article title, replace APPLICATION with the name of the AI application, for example `Application card: Copilot chat`. + +If this content is for an AI platform service, then the title should be: "Platform service card: PLATFORM-SERVICE". In this case, replace PLATFORM-SERVICE with the name of the platform service, for example `Platform service card: GitHub Models`. +{% endcomment %} + +## What is an application card? + +{% data reusables.rai.copilot.application-card-intro %} + +{% comment %} +Instructions: For a platform service card, the heading for this section should be `## What is a platform service card?` +{% endcomment %} + +## 1. Overview + +FREE-TEXT + +{% comment %} +Instructions: Describe the following: + +- The purpose of the application/platform and how it uses AI. The problem it is solving and/or the benefits of the application/platform. +- The intended customers or downstream users of the application or platform (e.g., enterprise customers, consumers, developers) +- Link to demos or other relevant documentation. + +Present the content in 2-3 paragraphs, ensure the content is easy to understand for a semi-technical audience, and use a professional tone. +{% endcomment %} + +## 2. Key terms + +The following list provides a glossary of key terms related to APPLICATION-OR-PLATFORM-SERVICE: + +FREE-TEXT + +{% comment %} +Instructions: List and define technical terms in alphabetical order. Technical terms used more than 3 times throughout the document should be included. For terms used less than 3 times, define/explain the term in context. Use [ORA's AI Glossary](https://microsoft.sharepoint.com/sites/ResponsibleAI/SitePages/RAI%20Standard%20Glossary.aspx) for standard definitions. If a term is not listed, then provide your own. Format the term and definition as such: + +**TERM**: Definition in a few sentences. + +Keep the boilerplate language to introduce the terms and replace APPLICATION-OR-PLATFORM-SERVICE with the name of the AI application or platform service. +{% endcomment %} + +## 3. Key features or capabilities + +The key features and capabilities outlined here describe what APPLICATION-OR-PLATFORM-SERVICE is designed to do and how it performs across supported tasks. + +FREE-TEXT + +{% comment %} +Instructions: Describe the following: + +- The capabilities of what the application/platform can do or help the end-user achieve. +- If the application/platform service is considered Autonomous Agentic AI, then describe the specific capabilities of the application such as planning, adaptability, memory, or extensibility. If in a multi-agent architecture, describe each agent's role. + +Ensure the description of the application's key features and capabilities is clear and concise for a semi-technical audience. Use plain English, avoid technical jargon, and explain any acronyms. Keep the tone professional. + +Format the capabilities using bullet points, with each bullet structured like this: + +* **FEATURE-NAME**: 2-4 sentences explaining the feature in plain language. + +Keep the boilerplate language to introduce the section and replace APPLICATION-OR-PLATFORM-SERVICE with the name of the application or platform service. +{% endcomment %} + +## 4. Intended uses + +APPLICATION-OR-PLATFORM-SERVICE can be used in multiple scenarios across a variety of industries. Some examples of use cases include: + +FREE-TEXT + +{% comment %} +Instructions: Describe the following: + +- Real-world, illustrative use cases where the user or customer could leverage the application/platform and explain the benefits the user would experience +- Ensure examples are diverse in terms of capabilities, industry/domain (government, education, financial platforms, media, consumer goods), and high vs. low stakes, as appropriate. +- If the application or platform service is Autonomous Agentic AI then specify if the agent is intended to be general purpose or if the agent has a defined action space or set of boundaries. + +Ensure the description of the application's intended uses are clear and concise for a semi-technical audience. Use plain English, avoid technical jargon, and explain any acronyms. Keep the tone professional. + +Format the intended uses using bullet points, with each bullet structured like this: + +* **SHORT-USE-CASE-DESCRIPTION**: 3-5 sentences illustrating the use case in plain language. + +Keep the boilerplate language to introduce the section and replace APPLICATION-OR-PLATFORM-SERVICE with the name of the application or platform service. +{% endcomment %} + +## 5. Models and training data + +APPLICATION-OR-PLATFORM-SERVICE leverages a variety of AI models to power the experience that users see. Some examples include LIST-MODELS-HERE. To learn more about the data used to train the foundation models behind APPLICATION-OR-PLATFORM-SERVICE, refer to the linked model cards to find the relevant data cards. + +{% comment %} +Instructions: Keep the boilerplate language and replace APPLICATION-OR-PLATFORM-SERVICE with the name of the application or platform service. Then list a few examples of models powering the application and hyperlink the model cards where the text says LIST-MODELS-HERE. Prioritize listing GitHub models if relevant. If there are OpenAI models, link to the Azure OpenAI Service transparency note +{% endcomment %} + +## 6. Performance + +FREE-TEXT + +{% comment %} +Instructions: In 3-5 paragraphs describe the following: + +- The conditions or environment where the application or platform is expected to perform reliably, meaning its ability to perform its intended function over many iterations. +- List all the appropriate modalities of intended inputs and expected outputs. +- If the application or platform has multi-lingual capabilities, list the supported languages the application or platform was designed and evaluated for. + +Ensure the description of the application's intended uses are clear and concise for a semi-technical audience. Use plain English, avoid technical jargon, and explain any acronyms. Keep the tone professional. +{% endcomment %} + +## 7. Limitations + +Understanding APPLICATION-OR-PLATFORM-SERVICE's limitations is crucial to determine it is used within safe and effective boundaries. While we encourage customers to leverage APPLICATION-OR-PLATFORM-SERVICE in their innovative solutions or applications, it's important to note that APPLICATION-OR-PLATFORM-SERVICE was not designed for every possible scenario. We encourage users to refer to either the [Microsoft Enterprise AI Services Code of Conduct](https://review.learn.microsoft.com/en-us/legal/ai-code-of-conduct) (for organizations) or the [Code of Conduct section in the Microsoft Services Agreement](https://www.microsoft.com/servicesagreement#3_codeOfConduct) (for individuals) as well as the following considerations when choosing a use case: + +{% comment %} +Instructions: Keep the boilerplate language and replace APPLICATION-OR-PLATFORM-SERVICE with the name of the application or platform service. + +Then describe the following: + +- The conditions or parameters where the performance of an application or platform may degrade. Explain why performance degrades in certain conditions and note if there are any known conditions under which the application/platform will fail. +- For each limitation, explain why it's important for the user to carefully evaluate the limitation when choosing a use case. For example, the application was developed and tested primarily in English. Using unsupported languages may impact performance, so users should exercise caution when operating outside the intended language scope. +- Any known conditions that the application or platform should not be used for as it may present risks due to its limitations. For example, underrepresented populations in the training data may yield less accurate outputs for those groups. +- Any prohibited uses of the application or platform. + +Use plain English, avoid technical jargon, and explain any acronyms. Keep the tone professional. Format the response using bullet points, with each bullet structured like this: + +* **SHORT-LIMITATION-DESCRIPTION**: 3-5 sentences explaining why this limitation exists and what users should be aware of when choosing a use case. + +Keep the boilerplate language to introduce the section and replace APPLICATION-OR-PLATFORM-SERVICE with the name of the application or platform service. +{% endcomment %} + +## 8. Evaluations + +{% data reusables.rai.copilot.application-card-evaluations %} + + +### Performance and quality evaluations + +Performance evaluations for AI applications are essential to improving their reliability in real-world applications. Metrics like groundedness, relevance, and coherence help assess the accuracy and consistency of AI-generated outputs, so that they are factually supported in grounded content scenarios, contextually appropriate, and logically structured. For APPLICATION-OR-PLATFORM-SERVICE, we conducted [performance evaluations](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/evaluation-evaluators/general-purpose-evaluators) for the following metrics, which are available through [Microsoft Foundry](https://ai.azure.com/?tid=72f988bf-86f1-41af-91ab-2d7cd011db47): + +- Groundedness +- Coherence +- Fluency +- Similarity + +{% comment %} +Instructions: If the application or platform service used automated performance evaluations through Microsoft Foundry, keep the boilerplate language. Replace APPLICATION-OR-PLATFORM-SERVICE with the name of the application or platform service. Of the metrics listed, keep the metrics that were used in the automated evaluations, remove the ones that were not used. If there were no automated performance evaluations conducted, remove this section entirely. +{% endcomment %} + + +### Performance and quality evaluation methods + +FREE-TEXT + +{% comment %} +Instructions: If no automated performance evaluations were used for the application or platform service, remove this section entirely. If there were automated performance evaluations used for the application or platform service, then in 2-3 paragraphs, describe the following: + +- For generative AI capabilities, identify the modalities (text, image, video, audio) that were evaluated. +- Explain the evaluation methodology and describe what an ideal result would be and what a suboptimal result would be. + +Use plain English, avoid technical jargon, and explain any acronyms. Keep the tone professional. +{% endcomment %} + + +### Risk and safety evaluations + +Evaluating potential risks associated with AI-generated content is essential for safeguarding against content risks with varying degrees of severity. This includes evaluating an AI application's predisposition towards generating harmful content or testing vulnerabilities to jailbreak attacks. For APPLICATION-OR-PLATFORM-SERVICE, we conducted [risk and safety evaluations](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/evaluation-evaluators/risk-safety-evaluators) for the following metrics available through [Microsoft Foundry](https://ai.azure.com/?tid=72f988bf-86f1-41af-91ab-2d7cd011db47): + +* Hate and unfairness +* Sexual +* Violence +* Self-harm +* Protected material +* Indirect jailbreak +* Direct jailbreak +* Code vulnerability +* Ungrounded attributes + +{% comment %} +Instructions: If the application or platform service used automated risk and safety evaluations through Microsoft Foundry, keep the boilerplate language. Replace APPLICATION-OR-PLATFORM-SERVICE with the name of the application or platform service. Of the metrics listed, keep the metrics that were used in the automated evaluations, remove the ones that were not used. If there were no automated risk and safety evaluations conducted, remove this section entirely. +{% endcomment %} + + +### Risk and safety evaluation methods + +FREE-TEXT + +{% comment %} +Instructions: If no automated risk and safety evaluations were used for the application or platform service, remove this section entirely. If there were automated risk and safety evaluations used for the application or platform service, then in 2-3 paragraphs, describe the following: + +- For generative AI capabilities, identify the modalities (text, image, video, audio) that were evaluated. +- Explain the evaluation methodology and describe what an ideal result would be and what a suboptimal result would be. + +Use plain English, avoid technical jargon, and explain any acronyms. Keep the tone professional. +{% endcomment %} + +### Evaluation data for quality and safety + +{% data reusables.rai.copilot.application-card-evaluation-data-for-quality-and-safety %} + +### Custom evaluations + +FREE-TEXT + +{% comment %} +Instructions: If the application or platform service used custom evaluations, then in 2-3 paragraphs, describe the following: + +- The metrics you evaluated for and for what modalities. +- For generative AI capabilities, identify the modalities (text, image, video, audio) that were evaluated. +- Explain the evaluation methodology and describe what an ideal result would be and what a suboptimal result would be. + +Use plain English, avoid technical jargon, and explain any acronyms. Keep the tone professional. +{% endcomment %} + +## 9. Safety components and mitigations + +FREE-TEXT + +{% comment %} +Instructions: Describe the following: + +- Active safety components; it's okay to leave off specific components if describing them may compromise safety (for example with regards to jailbreaks). +- Mitigation measures that address performance or safety risks that emerged before or after conducting evaluations. If your team identified disparities in how your application performs across different groups of people, describe measures to reduce those gaps. +- Cybersecurity measures put into place + +Format the response in bullet points as such: + +* SHORT-SAFETY-COMPONENT-DESCRIPTION: 3-5 sentences explaining why the safety component was applied or what risks are being mitigated. If appropriate, explain how a user can configure the safety component. + +Use plain English, avoid technical jargon, and explain any acronyms. Keep the tone professional. +{% endcomment %} + +## 10. Best practices for deploying and adopting APPLICATION-OR-PLATFORM-SERVICE + +Responsible AI is a shared commitment between GitHub and its customers. While GitHub builds AI applications with safety, fairness, and transparency at the core, customers play a critical role in deploying and using these technologies responsibly within their own contexts. To support this partnership, we offer the following best practices for deployers and end users to help customers implement responsible AI effectively. + +### Deployers and end-users should + +- **Exercise caution and evaluate outcomes when using APPLICATION-OR-PLATFORM-SERVICE for consequential decisions or in sensitive domains**: {% data reusables.rai.copilot.application-card-consequential-decisions %} +- **Evaluate legal and regulatory considerations**: {% data reusables.rai.copilot.application-card-evaluate-legal-regulatory %} + +{% comment %} +Instructions: Replace APPLICATION-OR-PLATFORM-SERVICE with the name of the AI application or platform service. Otherwise, do not modify this text. If there are other best practices for both deployers and end-users, include them in this section. Format the best practice as such: + +* SHORT-BEST-PRACTICE-DESCRIPTION: 3-5 sentences explaining the best practice and why deployers and end-users should consider applying the best practice. Use plain English, avoid technical jargon, and explain any acronyms. Keep the tone professional. +{% endcomment %} + +### End-users should + +FREE-TEXT + +- **Exercise human oversight when appropriate**: Human oversight is an important safeguard when interacting with AI applications. While we continuously improve our AI applications, AI might still make mistakes. The outputs generated may be inaccurate, incomplete, biased, misaligned, or irrelevant to your intended goals. This could happen due to various reasons, such as ambiguity in the inputs or limitations of the underlying models. As such, users should review the responses generated by APPLICATION-OR-PLATFORM-SERVICE and verify that they match their expectations and requirements. +- **Be aware of the risk of overreliance**: {% data reusables.rai.copilot.application-card-overreliance %} +- **Exercise caution when designing agentic AI in sensitive domains**: {% data reusables.rai.copilot.application-card-agentic-ai-caution %} + +{% comment %} +Instructions: Consider the questions below as guidance to describe best practices to end-users. You do not have to answer all the questions because the relevance of each question may differ for your application/platform. Use your own discretion and you are encouraged to expand beyond the suggested questions to include any best practices that could benefit end-users. + +- How can the customer/end users provide feedback or flag concerns about the application/platform? +- What makes a prompt clear and effective? Provide an example specific to your application. +- How can an end-user monitor and detect performance drift? + +Format the best practice as such: + +* SHORT-BEST-PRACTICE-DESCRIPTION: 3-5 sentences explaining the best practice and why end-users should consider applying the best practice. Use plain English, avoid technical jargon, and explain any acronyms. Keep the tone professional. Replace APPLICATION-OR-PLATFORM-SERVICE with the name of the AI application or platform service. If there is a risk of overreliance for the AI application or platform service, explain why +{% endcomment %} + +### Deployers should + +FREE-TEXT + +{% comment %} +Instructions: Consider the questions below as guidance to describe best practices for deployers. You do not have to answer all the questions because the relevance of each question may differ for your application/platform. Use your own discretion, and you are encouraged to expand beyond the suggested questions to include any best practices that could benefit deployers. + +- What security vulnerabilities should the customer/end user be aware of and how can they protect against these vulnerabilities? +- How can the customer configure the platform/application to optimize their intended use case? Explain these steps clearly, this is also an opportunity to build upon the intended use case examples earlier in the doc. +- What settings can the customer configure that may affect safety (e.g., content classifier thresholds)? It's okay to describe at a high level here and link to additional documentation. +- What additional testing might be required when considering different use cases? +- Describe how users can resolve predictable or known failures (tip: consider the issues mentioned in the limitations section) +- How can the customer monitor and detect performance drift? + +Format the best practice as such: + +* SHORT-BEST-PRACTICE-DESCRIPTION: 3-5 sentences explaining the best practice and why end-users should consider applying the best practice. Use plain English, avoid technical jargon, and explain any acronyms. Keep the tone professional. +{% endcomment %} + +## 11. Learn more about APPLICATION-OR-PLATFORM-SERVICE + +For additional guidance on the responsible use of APPLICATION-OR-PLATFORM-SERVICE, we recommend reviewing the following documentation: + +{% comment %} +Instructions: Replace APPLICATION-OR-PLATFORM-SERVICE with the name of the AI application or platform service. Link to the application or platform service's learn.microsoft.com documentation page or other related materials. Include a link to [Copilot Trust Center](https://copilot.github.trust.page/). +{% endcomment %} + +### Learn more about responsible AI + +* [Microsoft AI principles](https://www.microsoft.com/en-us/ai/responsible-ai) +* [Microsoft responsible AI resources](https://www.microsoft.com/en-us/ai/responsible-ai-resources) +* [Microsoft Azure Learning courses on responsible AI](https://docs.microsoft.com/en-us/learn/paths/responsible-ai-business-principles/) + +{% comment %} +Instructions: Once all sections have been completed, remove all instruction comments. +{% endcomment %}{% endraw %} +``` + + + +{% endif %} diff --git a/data/reusables/contributing/content-linter-rules.md b/data/reusables/contributing/content-linter-rules.md index 9486cf26ed00..0926b595f71f 100644 --- a/data/reusables/contributing/content-linter-rules.md +++ b/data/reusables/contributing/content-linter-rules.md @@ -65,6 +65,7 @@ | GHD061 | frontmatter-hero-image | Hero image paths must be absolute, extensionless, and point to valid images in /assets/images/banner-images/ | error | frontmatter, images | | GHD062 | frontmatter-intro-links | introLinks keys must be valid keys defined in data/ui.yml under product_landing | error | frontmatter, single-source | | GHD063 | frontmatter-children | Children frontmatter paths must exist. Supports relative paths and absolute /content/ paths for cross-product inclusion. | error | frontmatter, children | +| GHD064 | rai-app-card-structure | RAI application/platform card articles must follow the required template structure | warning | feature, rai | | [search-replace](https://github.com/OnkarRuikar/markdownlint-rule-search-replace) | deprecated liquid syntax: octicon- | The octicon liquid syntax used is deprecated. Use this format instead `octicon "" aria-label=""` | error | | | [search-replace](https://github.com/OnkarRuikar/markdownlint-rule-search-replace) | deprecated liquid syntax: site.data | Catch occurrences of deprecated liquid data syntax. | error | | | [search-replace](https://github.com/OnkarRuikar/markdownlint-rule-search-replace) | developer-domain | Catch occurrences of developer.github.com domain. | error | | diff --git a/src/content-linter/lib/linting-rules/index.ts b/src/content-linter/lib/linting-rules/index.ts index 9248237a7e81..f4b3a76293ff 100644 --- a/src/content-linter/lib/linting-rules/index.ts +++ b/src/content-linter/lib/linting-rules/index.ts @@ -54,6 +54,7 @@ import { journeyTracksUniqueIds } from './journey-tracks-unique-ids' import { frontmatterHeroImage } from './frontmatter-hero-image' import { frontmatterIntroLinks } from './frontmatter-intro-links' import { frontmatterChildren } from './frontmatter-children' +import { raiAppCardStructure } from '@/content-linter/lib/linting-rules/rai-app-card-structure' // Using any type because @github/markdownlint-github doesn't provide TypeScript declarations // The elements in the array have a 'names' property that contains rule identifiers @@ -119,6 +120,7 @@ export const gitHubDocsMarkdownlint = { frontmatterHeroImage, // GHD061 frontmatterIntroLinks, // GHD062 frontmatterChildren, // GHD063 + raiAppCardStructure, // GHD064 // Search-replace rules searchReplace, // Open-source plugin diff --git a/src/content-linter/lib/linting-rules/rai-app-card-structure.ts b/src/content-linter/lib/linting-rules/rai-app-card-structure.ts new file mode 100644 index 000000000000..3f92e5e5bc39 --- /dev/null +++ b/src/content-linter/lib/linting-rules/rai-app-card-structure.ts @@ -0,0 +1,351 @@ +import fs from 'fs' +import path from 'path' + +import { addError } from 'markdownlint-rule-helpers' + +import { getFrontmatter } from '../helpers/utils' +import type { RuleParams, RuleErrorCallback, Rule } from '../../types' + +// --------------------------------------------------------------------------- +// Template parser — derives all validation data from templates.md +// --------------------------------------------------------------------------- + +const TEMPLATES_PATH = path.resolve('content/contributing/writing-for-github-docs/templates.md') +const SENTINEL = '' +const PLACEHOLDER = 'APPLICATION-OR-PLATFORM-SERVICE' + +interface TemplateHeading { + level: number + text: string + /** Regex pattern for matching this heading in actual articles. */ + pattern: RegExp + /** Human-readable label for error messages. */ + label: string + /** If true, the section may be removed from a real article. */ + optional: boolean + /** For H3 headings, the pattern of the parent H2. */ + parentPattern?: RegExp +} + +export interface ParsedTemplate { + h2s: TemplateHeading[] + h3s: TemplateHeading[] + reusables: string[] +} + +/** + * Extract the RAI card template code block from templates.md. + * Finds the sentinel HTML comment, then captures the next fenced code block. + * Strips {% raw %} / {% endraw %} and {% comment %}...{% endcomment %} blocks. + */ +function extractTemplateBlock(): string { + const content = fs.readFileSync(TEMPLATES_PATH, 'utf-8') + const sentinelIndex = content.indexOf(SENTINEL) + if (sentinelIndex === -1) { + throw new Error( + `Could not find "${SENTINEL}" marker in ${TEMPLATES_PATH}. ` + + 'This marker is required for the GHD064 linter rule.', + ) + } + + const afterSentinel = content.slice(sentinelIndex) + const codeBlockMatch = afterSentinel.match(/```yaml\s*\n([\s\S]*?)```/) + if (!codeBlockMatch) { + throw new Error( + `Could not find a fenced yaml code block after the "${SENTINEL}" marker in ${TEMPLATES_PATH}.`, + ) + } + + return codeBlockMatch[1] + .replace(/\{%\s*raw\s*%\}\s*/, '') + .replace(/\{%\s*endraw\s*%\}\s*/, '') + .replace(/\{%\s*comment\s*%\}[\s\S]*?\{%\s*endcomment\s*%\}/g, '') +} + +/** + * Build a regex pattern from a template heading text. + * Headings containing the placeholder get a pattern that matches any text + * in place of the placeholder. Fixed headings get an exact match. + */ +function headingToPattern(text: string): RegExp { + if (text.includes(PLACEHOLDER)) { + const escaped = text + .replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + .replace(new RegExp(PLACEHOLDER.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'), '.+') + return new RegExp(`^${escaped}$`, 'i') + } + return new RegExp(`^${text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}$`, 'i') +} + +/** + * Build a human-readable label for error messages. + * Replaces the placeholder with "..." to keep messages concise. + */ +function headingLabel(level: number, text: string): string { + const prefix = '#'.repeat(level) + const label = text.includes(PLACEHOLDER) ? text.replace(PLACEHOLDER, '...') : text + return `${prefix} ${label}` +} + +/** + * Parse the RAI template into structured heading and reusable data. + * This is the single source of truth for validation — no hardcoded constants. + */ +function parseTemplate(): ParsedTemplate { + const block = extractTemplateBlock() + const lines = block.split('\n') + + const h2s: TemplateHeading[] = [] + const h3s: TemplateHeading[] = [] + const reusables: string[] = [] + + let currentH2Pattern: RegExp | undefined + let nextIsOptional = false + + for (const line of lines) { + if (line.trim() === OPTIONAL_MARKER) { + nextIsOptional = true + continue + } + + const h2Match = line.match(/^## (.+)$/) + if (h2Match) { + const text = h2Match[1].trim() + const pattern = headingToPattern(text) + currentH2Pattern = pattern + h2s.push({ + level: 2, + text, + pattern, + label: headingLabel(2, text), + optional: nextIsOptional, + }) + nextIsOptional = false + continue + } + + const h3Match = line.match(/^### (.+)$/) + if (h3Match) { + const text = h3Match[1].trim() + h3s.push({ + level: 3, + text, + pattern: headingToPattern(text), + label: headingLabel(3, text), + optional: nextIsOptional, + parentPattern: currentH2Pattern, + }) + nextIsOptional = false + continue + } + + // Parse reusable references + const reusableMatches = line.matchAll(/\{%\s*data\s+([\w.-]+)\s*%\}/g) + for (const m of reusableMatches) { + if (!reusables.includes(m[1])) { + reusables.push(m[1]) + } + } + + // Reset optional flag if line has non-whitespace content (not a heading or marker) + if (line.trim() !== '') { + nextIsOptional = false + } + } + + return { h2s, h3s, reusables } +} + +// Lazy singleton — parsed once on first use +let _parsed: ParsedTemplate | null = null + +export function getTemplate(): ParsedTemplate { + if (!_parsed) _parsed = parseTemplate() + return _parsed +} + +// --------------------------------------------------------------------------- +// File-level heading extraction +// --------------------------------------------------------------------------- + +interface Heading { + level: number + text: string + lineNumber: number +} + +function extractHeadings(lines: string[]): Heading[] { + const headings: Heading[] = [] + for (let i = 0; i < lines.length; i++) { + const match = lines[i].match(/^(#{1,6})\s+(.+)$/) + if (match) { + headings.push({ + level: match[1].length, + text: match[2].trim(), + lineNumber: i + 1, + }) + } + } + return headings +} + +// --------------------------------------------------------------------------- +// Validators +// --------------------------------------------------------------------------- + +/** + * Validate required H2 sections exist and appear in the correct order. + */ +function validateH2Sections( + headings: Heading[], + template: ParsedTemplate, + onError: RuleErrorCallback, +): void { + const h2Headings = headings.filter((h) => h.level === 2) + let lastMatchedIndex = -1 + + for (const required of template.h2s) { + const matchIndex = h2Headings.findIndex((h) => required.pattern.test(h.text)) + + if (matchIndex === -1) { + addError( + onError, + 1, + `Missing required section: ${required.label}. RAI application/platform cards must include all sections defined in the template.`, + undefined, + undefined, + null, + ) + } else if (matchIndex <= lastMatchedIndex) { + addError( + onError, + h2Headings[matchIndex].lineNumber, + `Section out of order: ${required.label}. RAI application/platform card sections must appear in the order defined by the template.`, + h2Headings[matchIndex].text, + undefined, + null, + ) + } else { + lastMatchedIndex = matchIndex + } + } +} + +/** + * Validate H3 subsections in a single pass: required ones must exist, + * and all H3s under structured parents must match a known template heading. + */ +function validateH3Subsections( + headings: Heading[], + template: ParsedTemplate, + onError: RuleErrorCallback, +): void { + // Group template H3s by parent pattern (keyed by pattern source string to + // avoid relying on RegExp reference equality). + const h3sByParent = new Map() + for (const h3 of template.h3s) { + if (!h3.parentPattern) continue + const key = h3.parentPattern.source + const entry = h3sByParent.get(key) || { parentPattern: h3.parentPattern, h3s: [] } + entry.h3s.push(h3) + h3sByParent.set(key, entry) + } + + for (const [, { parentPattern, h3s: templateH3s }] of h3sByParent) { + const parentIndex = headings.findIndex((h) => h.level === 2 && parentPattern.test(h.text)) + if (parentIndex === -1) continue // Missing parent caught by validateH2Sections + + // Collect actual H3s under this parent + const childH3s: Heading[] = [] + for (let i = parentIndex + 1; i < headings.length; i++) { + if (headings[i].level <= 2) break + if (headings[i].level === 3) childH3s.push(headings[i]) + } + + // Check required H3s exist + for (const required of templateH3s) { + if (required.optional) continue + const found = childH3s.some((h) => required.pattern.test(h.text)) + if (!found) { + addError( + onError, + headings[parentIndex].lineNumber, + `Missing required subsection: ${required.label}. This subsection is required under the parent section per the RAI application/platform card template.`, + undefined, + undefined, + null, + ) + } + } + + // Check all actual H3s match a known template heading + for (const child of childH3s) { + const matchesKnown = templateH3s.some((t) => t.pattern.test(child.text)) + if (!matchesKnown) { + addError( + onError, + child.lineNumber, + `Unexpected subsection heading: "${child.text}". H3 headings under this section must match the RAI application/platform card template exactly.`, + child.text, + undefined, + null, + ) + } + } + } +} + +/** + * Validate that all required boilerplate reusable references are present. + */ +function validateReusables( + lines: string[], + template: ParsedTemplate, + onError: RuleErrorCallback, +): void { + const content = lines.join('\n') + + for (const reusable of template.reusables) { + if (!content.includes(reusable)) { + addError( + onError, + 1, + `Missing required boilerplate reusable: {% data ${reusable} %}. This reusable contains legally-mandated text that must be included in all RAI application/platform cards.`, + undefined, + undefined, + null, + ) + } + } +} + +// --------------------------------------------------------------------------- +// Rule export +// --------------------------------------------------------------------------- + +interface Frontmatter { + contentType?: string + type?: string + [key: string]: unknown +} + +function isFileRaiCard(params: RuleParams): boolean { + const fm: Frontmatter = (getFrontmatter(params.frontMatterLines) as Frontmatter) || {} + return fm.contentType === 'rai' || fm.type === 'rai' +} + +export const raiAppCardStructure: Rule = { + names: ['GHD064', 'rai-app-card-structure'], + description: 'RAI application/platform card articles must follow the required template structure', + tags: ['feature', 'rai'], + function: (params: RuleParams, onError: RuleErrorCallback) => { + if (!isFileRaiCard(params)) return + + const template = getTemplate() + const headings = extractHeadings(params.lines) + validateH2Sections(headings, template, onError) + validateH3Subsections(headings, template, onError) + validateReusables(params.lines, template, onError) + }, +} diff --git a/src/content-linter/style/github-docs.ts b/src/content-linter/style/github-docs.ts index 551576bf18be..6b038548b5d2 100644 --- a/src/content-linter/style/github-docs.ts +++ b/src/content-linter/style/github-docs.ts @@ -187,6 +187,13 @@ const githubDocsConfig = { 'partial-markdown-files': true, 'yml-files': true, }, + 'rai-app-card-structure': { + // GHD064 + // Disabled until RAI content migration is complete (github/docs-team#6340). + // To enable, change severity to 'error'. + severity: 'warning', + 'partial-markdown-files': false, + }, } export const githubDocsFrontmatterConfig = { diff --git a/src/content-linter/tests/unit/rai-app-card-structure.ts b/src/content-linter/tests/unit/rai-app-card-structure.ts new file mode 100644 index 000000000000..42488bdfa9e8 --- /dev/null +++ b/src/content-linter/tests/unit/rai-app-card-structure.ts @@ -0,0 +1,204 @@ +import { describe, expect, test } from 'vitest' + +import { runRule } from '../../lib/init-test' +import { raiAppCardStructure } from '../../lib/linting-rules/rai-app-card-structure' + +// --------------------------------------------------------------------------- +// Helpers +// --------------------------------------------------------------------------- + +/** A minimal valid RAI card with all required H2s, H3s, and reusables. */ +function validCard(): string { + return [ + '---', + 'title: Copilot Chat', + 'contentType: rai', + '---', + '', + '{% data reusables.rai.copilot.application-card-intro %}', + '', + '## What is an application card?', + '', + 'Intro.', + '', + '## 1. Overview', + '', + 'Overview text.', + '', + '## 2. Key terms', + '', + 'Terms.', + '', + '## 3. Key features or capabilities', + '', + 'Features.', + '', + '## 4. Intended uses', + '', + 'Uses.', + '', + '## 5. Models and training data', + '', + 'Models.', + '', + '## 6. Performance', + '', + 'Perf.', + '', + '## 7. Limitations', + '', + 'Limits.', + '', + '## 8. Evaluations', + '', + '{% data reusables.rai.copilot.application-card-evaluations %}', + '', + '### Performance and quality evaluations', + '', + 'Quality evals.', + '', + '### Performance and quality evaluation methods', + '', + 'Methods.', + '', + '### Risk and safety evaluations', + '', + 'Safety evals.', + '', + '### Risk and safety evaluation methods', + '', + 'Methods.', + '', + '### Evaluation data for quality and safety', + '', + '{% data reusables.rai.copilot.application-card-evaluation-data-for-quality-and-safety %}', + '', + '### Custom evaluations', + '', + 'Custom evals.', + '', + '## 9. Safety components and mitigations', + '', + 'Mitigations.', + '', + '## 10. Best practices for deploying and adopting Copilot Chat', + '', + '### Deployers and end-users should', + '', + '{% data reusables.rai.copilot.application-card-consequential-decisions %}', + '', + '{% data reusables.rai.copilot.application-card-evaluate-legal-regulatory %}', + '', + '### End-users should', + '', + '{% data reusables.rai.copilot.application-card-overreliance %}', + '', + '{% data reusables.rai.copilot.application-card-agentic-ai-caution %}', + '', + '### Deployers should', + '', + 'Deployer practices.', + '', + '## 11. Learn more about Copilot Chat', + '', + 'Links.', + '', + '### Learn more about responsible AI', + '', + 'RA links.', + ].join('\n') +} + +describe(raiAppCardStructure.names.join(' - '), () => { + // ----------------------------------------------------------------------- + // Happy path & filtering + // ----------------------------------------------------------------------- + + test('valid RAI card produces zero errors', async () => { + const markdown = validCard() + const result = await runRule(raiAppCardStructure, { strings: { markdown } }) + const errors = result.markdown + expect(errors.length).toBe(0) + }) + + test('valid RAI card using legacy type: rai frontmatter produces zero errors', async () => { + const markdown = validCard().replace('contentType: rai', 'type: rai') + const result = await runRule(raiAppCardStructure, { strings: { markdown } }) + const errors = result.markdown + expect(errors.length).toBe(0) + }) + + test('non-RAI file is skipped entirely', async () => { + const markdown = [ + '---', + 'title: Normal article', + '---', + '', + '## Introduction', + '', + 'Regular content.', + ].join('\n') + const result = await runRule(raiAppCardStructure, { strings: { markdown } }) + const errors = result.markdown + expect(errors.length).toBe(0) + }) + + // ----------------------------------------------------------------------- + // One negative test per validator — proves each code path fires + // ----------------------------------------------------------------------- + + test('missing a required H2 section reports an error', async () => { + const markdown = validCard() + .split('\n') + .filter((line) => line !== '## 4. Intended uses') + .join('\n') + const result = await runRule(raiAppCardStructure, { strings: { markdown } }) + const errors = result.markdown + expect(errors.some((e) => e.errorDetail?.includes('Missing required section'))).toBe(true) + }) + + test('missing required H3 subsection reports an error', async () => { + const markdown = validCard() + .split('\n') + .filter((line) => line !== '### Custom evaluations') + .join('\n') + const result = await runRule(raiAppCardStructure, { strings: { markdown } }) + const errors = result.markdown + expect(errors.some((e) => e.errorDetail?.includes('Missing required subsection'))).toBe(true) + }) + + test('missing parent H2 does not duplicate errors for its H3 children', async () => { + const markdown = validCard() + .split('\n') + .filter((line) => line !== '## 8. Evaluations') + .join('\n') + const result = await runRule(raiAppCardStructure, { strings: { markdown } }) + const errors = result.markdown + const h3Errors = errors.filter( + (e) => + e.errorDetail?.includes('### Evaluation data for quality and safety') || + e.errorDetail?.includes('### Custom evaluations'), + ) + expect(h3Errors.length).toBe(0) + }) + + test('unrecognized H3 under a structured section is flagged', async () => { + const markdown = validCard().replace( + '### Performance and quality evaluations', + '### 8.1 Performance and quality evaluations', + ) + const result = await runRule(raiAppCardStructure, { strings: { markdown } }) + const errors = result.markdown + expect(errors.some((e) => e.errorDetail?.includes('Unexpected subsection heading'))).toBe(true) + }) + + test('missing a required reusable reports an error', async () => { + const markdown = validCard() + .split('\n') + .filter((line) => !line.includes('application-card-overreliance')) + .join('\n') + const result = await runRule(raiAppCardStructure, { strings: { markdown } }) + const errors = result.markdown + expect(errors.some((e) => e.errorDetail?.includes('application-card-overreliance'))).toBe(true) + }) +}) From 6807572e68e4eebbb4d012ef6d8cb968e2552e4e Mon Sep 17 00:00:00 2001 From: Vanessa Date: Thu, 5 Mar 2026 06:59:07 +1000 Subject: [PATCH 3/5] [2026-03-03] CCA for Jira [1P Solution]: [Public Preview] (#59843) Co-authored-by: Siara <108543037+SiaraMist@users.noreply.github.com> --- .../use-copilot-agents/coding-agent/index.md | 1 + .../integrate-coding-agent-with-jira.md | 117 ++++++++++++++++++ .../responsible-use/copilot-coding-agent.md | 4 +- 3 files changed, 120 insertions(+), 2 deletions(-) create mode 100644 content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-jira.md diff --git a/content/copilot/how-tos/use-copilot-agents/coding-agent/index.md b/content/copilot/how-tos/use-copilot-agents/coding-agent/index.md index e2dc4f192371..bf81d8725a53 100644 --- a/content/copilot/how-tos/use-copilot-agents/coding-agent/index.md +++ b/content/copilot/how-tos/use-copilot-agents/coding-agent/index.md @@ -14,6 +14,7 @@ children: - /test-custom-agents - /create-skills - /extend-coding-agent-with-mcp + - /integrate-coding-agent-with-jira - /integrate-coding-agent-with-slack - /integrate-coding-agent-with-teams - /integrate-coding-agent-with-linear diff --git a/content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-jira.md b/content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-jira.md new file mode 100644 index 000000000000..2a490259b22b --- /dev/null +++ b/content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-jira.md @@ -0,0 +1,117 @@ +--- +title: Integrating Copilot coding agent with Jira +shortTitle: Integrate coding agent with Jira +intro: 'You can use the {% data variables.product.github %} integration in Jira to provide context and open pull requests, all from within your Jira workspace.' +versions: + feature: copilot +redirect_from: + - /early-access/copilot/integrate-coding-agent-with-jira +contentType: how-tos +category: + - Integrate Copilot with your tools +--- + +> [!NOTE] +> This feature is currently in {% data variables.release-phases.public_preview %} and subject to change. + +The {% data variables.product.prodname_copilot %} integration in Jira allows you to invoke {% data variables.copilot.copilot_coding_agent %} without leaving your Jira workspace. From within a Jira work item you can initiate {% data variables.copilot.copilot_coding_agent_short %} sessions and open pull requests, using the context of the work item's title, description, labels, and comments. + +## Prerequisites + +* You must have a {% data variables.product.github %} account with access to {% data variables.product.prodname_copilot_short %} through {% data variables.copilot.copilot_pro_short %}, {% data variables.copilot.copilot_pro_plus_short %}, {% data variables.copilot.copilot_business_short %}, or {% data variables.copilot.copilot_enterprise_short %}. +* You must have a Jira Cloud account with [AI features enabled](https://support.atlassian.com/organization-administration/docs/activate-atlassian-intelligence-for-products). +* Installation and authentication must be completed for both Jira and {% data variables.product.github %}. + +## Installation + +To install the {% data variables.product.prodname_copilot %} for Jira app and authorize it for your {% data variables.product.github %} organization or enterprise account, you need: + +* Administrator permission for your Jira site. +* Owner or {% data variables.product.github %} App manager permissions for your {% data variables.product.github %} organization. + +This integration relies on an Atlassian Forge application and a {% data variables.product.github %} application. Both are required for the integration. Once successfully installed, authorized users of the Jira workspace with **write** access to a {% data variables.product.github %} repository will be able to trigger the agent from Jira. + +### Installing the {% data variables.product.prodname_copilot %} for Jira app for {% data variables.product.prodname_dotcom_the_website %} + +1. Navigate to the [{% data variables.product.prodname_copilot %} for Jira installation page](https://marketplace.atlassian.com/apps/1582455624?ref_product=copilot&ref_type=engagement&ref_style=text) on the Atlassian Marketplace. +1. Click **Get app**. +1. Select the Atlassian instance you want to install the {% data variables.product.github %} application in. +1. Click **Install**. +1. If you are not automatically redirected, go to the [{% data variables.product.prodname_copilot %} for Jira installation page](https://github.com/apps/github-copilot-for-jira?ref_product=copilot&ref_type=engagement&ref_style=text) on the {% data variables.product.prodname_marketplace %} and click **Install**. +1. In the **Install {% data variables.product.prodname_copilot %} for Jira** page, select the organization and repositories you would like to give the application access to. + * You can add additional organizations after the app is installed, see [Adding an organization to the {% data variables.product.prodname_copilot %} for Jira app](#adding-an-organization). +1. Click **Install**. + +### Installing the {% data variables.product.prodname_copilot %} for Jira app for {% data variables.enterprise.data_residency_site %} + +1. Navigate to the [{% data variables.product.prodname_copilot %} for Jira (GHEC with Data Residency) installation page](https://marketplace.atlassian.com/apps/3637796809?ref_product=copilot&ref_type=engagement&ref_style=text) on the Atlassian Marketplace. +1. To the right of the app name, click {% octicon "kebab-horizontal" aria-label="Configure" %}, and enter your `SUBDOMAIN.ghe.com` in the text box. Replace SUBDOMAIN with your enterprise's subdomain of {% data variables.enterprise.data_residency_site %}. +1. Click **Save configuration**. +1. Click **Get app**. +1. Select the Atlassian instance you want to install the {% data variables.product.github %} application in. +1. Click **Install**. +1. If you are not automatically redirected, find the {% data variables.product.prodname_copilot %} for Jira app in the list of apps available to your enterprise at `SUBDOMAIN.ghe.com/apps/external-app/github-copilot-for-jira`. +1. Click **Install**. +1. In the **Install {% data variables.product.prodname_copilot %} for Jira** page, select the organization and repositories you would like to give the application access to. + * You can add additional organizations after the app is installed, see [Adding an organization to the {% data variables.product.prodname_copilot %} for Jira app](#adding-an-organization). +1. Click **Install**. + +## Adding an organization to the {% data variables.product.prodname_copilot %} for Jira app + +Once the {% data variables.product.prodname_copilot %} for Jira app has been installed, a Jira administrator and {% data variables.product.github %} organization owner can enable additional organizations to use the app. This allows any member of the organization to connect their {% data variables.product.github %} account to the app and start using it in Jira. + +To enable the {% data variables.product.prodname_copilot %} for Jira app for an organization: + +1. In Jira, go to the settings page for your space. +1. Go to the applications setting page for the {% data variables.product.prodname_copilot %} app. +1. Optionally, click **Connect More {% data variables.product.github %} Organizations** to add new organizations to the list. +1. Enable the {% data variables.product.prodname_copilot_short %} app for one or more of the listed organizations. + +## Using the {% data variables.product.prodname_copilot %} app in Jira + +The {% data variables.product.prodname_copilot_short %} app must be enabled for a {% data variables.product.github %} organization you are a member of, before you can start using it. + +The first time you use {% data variables.copilot.copilot_coding_agent %} in Jira, you will need to connect it to your {% data variables.product.github %} account. + +Only users with **write** access to a repository can trigger {% data variables.copilot.copilot_coding_agent %} to work in that repository. + +> [!NOTE] +> When you assign {% data variables.product.prodname_copilot_short %} to a Jira work item, the context the agent captures from Jira will be added to the pull request and **visible to everyone** if the repository is public. + +1. In Jira, open or create a work item that contains clear requirements you want to delegate to {% data variables.copilot.copilot_coding_agent %}. +1. To specify a repository you want {% data variables.product.prodname_copilot_short %} to work in, mention it in the work item description or in a comment. +1. Assign `{% data variables.product.prodname_copilot %}` to the work item, or mention `@{% data variables.product.prodname_copilot %}` in a comment. For example: + + ```text + @{% data variables.product.prodname_copilot %} create a new API endpoint for user authentication in octo-org/octorepo + ``` + +1. If you have not previously connected the {% data variables.product.github %} application in Jira to your {% data variables.product.github %} account, follow the prompts to authorize the application for both {% data variables.product.github %} and Atlassian. +1. Once {% data variables.copilot.copilot_coding_agent %} has started working on the pull request, a comment will appear in the Jira work item. The user who initiated the agent session can view progress updates for the agent. +1. You can follow up with further instructions for {% data variables.product.prodname_copilot_short %} in a work item: + * Mention `@{% data variables.product.prodname_copilot %}` in a comment. + * Use the **Continue in Chat** button under the **Agents** heading to chat directly with {% data variables.product.prodname_copilot_short %}. + +> [!TIP] +> If you have not received confirmation of triggering {% data variables.copilot.copilot_coding_agent %} after 1 minute, refresh the Jira work item page. + +## Usage costs + +{% data variables.copilot.copilot_coding_agent %} uses {% data variables.product.prodname_actions %} minutes and {% data variables.product.prodname_copilot_short %} premium requests. + +Within your monthly usage allowance for {% data variables.product.prodname_actions %} and premium requests, you can ask {% data variables.copilot.copilot_coding_agent %} to work on coding tasks without incurring any additional costs. + +For more information, see [AUTOTITLE](/billing/concepts/product-billing/github-copilot-premium-requests#usage-by-copilot-coding-agent). + +## Troubleshooting + +### {% data variables.product.prodname_copilot %} is not responding + +* Check {% data variables.product.github %}'s [Status page](https://githubstatus.com) for any active incidents. +* Verify that {% data variables.copilot.copilot_coding_agent %} has access to the repository by testing if you can assign {% data variables.product.prodname_copilot_short %} to an issue on {% data variables.product.github %}. See [AUTOTITLE](/copilot/concepts/agents/coding-agent/access-management). +* Verify that the {% data variables.product.prodname_copilot %} for Jira application has access to the repository. See [AUTOTITLE](/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#modifying-repository-access). + +## Further reading + +* [AUTOTITLE](/copilot/concepts/coding-agent/coding-agent) +* [AUTOTITLE](/copilot/concepts/coding-agent/enable-coding-agent) diff --git a/content/copilot/responsible-use/copilot-coding-agent.md b/content/copilot/responsible-use/copilot-coding-agent.md index 147fef61629e..63557fdb8a29 100644 --- a/content/copilot/responsible-use/copilot-coding-agent.md +++ b/content/copilot/responsible-use/copilot-coding-agent.md @@ -9,7 +9,7 @@ redirect_from: - /copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom - /copilot/responsible-use-of-github-copilot-features/copilot-coding-agent contentType: rai -category: +category: - Responsible use --- @@ -167,7 +167,7 @@ Users need to evaluate potential specific legal and regulatory obligations when ## External integrations with Copilot coding agent -{% data variables.copilot.copilot_coding_agent %} can receive information and context from external applications like Microsoft Teams, Linear, and Slack. When you mention the external application in these platforms or assign a task to the coding agent via a connected workflow, it can access relevant context, such as conversation history in threads where it’s mentioned or issue details and activity timelines. This allows the coding agent to better understand your development needs and provide more relevant assistance. These integrations enable teams to collaborate on code, assign tasks, and track progress directly within their existing workflows, without switching tools. Ensure your team understands what information is being shared and configure integrations according to your organization’s privacy and data handling policies. +{% data variables.copilot.copilot_coding_agent %} can receive information and context from external applications like Microsoft Teams, Linear, Slack, and Jira. When you mention the external application in these platforms or assign a task to the coding agent via a connected workflow, it can access relevant context, such as conversation history in threads where it’s mentioned or issue details and activity timelines. This allows the coding agent to better understand your development needs and provide more relevant assistance. These integrations enable teams to collaborate on code, assign tasks, and track progress directly within their existing workflows, without switching tools. Ensure your team understands what information is being shared and configure integrations according to your organization’s privacy and data handling policies. For more information about external integrations with {% data variables.copilot.copilot_coding_agent %}, see: * [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-teams) From d0422d48d80569626b5c4592a22e97349c757b2f Mon Sep 17 00:00:00 2001 From: Hao Jiang <45571951+jianghao0718@users.noreply.github.com> Date: Wed, 4 Mar 2026 16:06:51 -0700 Subject: [PATCH 4/5] Update instructions for setup backup service in HA and cluster (#59885) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../backup-from-replica-in-high-availability.md | 4 ++-- .../backup-in-clustering-mode.md | 10 ++++++++-- .../configuring-the-backup-service.md | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/backup-from-replica-in-high-availability.md b/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/backup-from-replica-in-high-availability.md index 39ac8f2eba56..809fc23cf991 100644 --- a/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/backup-from-replica-in-high-availability.md +++ b/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/backup-from-replica-in-high-availability.md @@ -16,10 +16,10 @@ For high availability, you can designate a replica node as your backup server. T > [!IMPORTANT] > Backups from cache replica nodes or active geo replica nodes are not supported. -To configure your backup server, run the following commands, replacing `HOSTNAME` with the hostname of the node: +To configure your backup server on a replica, run the following commands. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service). ```shell -ghe-config cluster.HOSTNAME.backup-server true +ghe-storage-init-backup /dev/YOUR_DEVICE_NAME ghe-config-apply ``` diff --git a/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/backup-in-clustering-mode.md b/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/backup-in-clustering-mode.md index 30343dc76aca..e621345db41f 100644 --- a/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/backup-in-clustering-mode.md +++ b/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/backup-in-clustering-mode.md @@ -16,6 +16,12 @@ For clustering, you can designate a node as your backup server. To minimize late > [!IMPORTANT] > Only one node can be specified as a `backup-server` node. -1. To configure your backup server, set up a backup disk on one of the cluster nodes of your choice. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service). +1. To configure your backup server, run the following commands to set up a backup disk on one of the cluster nodes of your choice. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service). -1. After `ghe-storage-init-backup` is executed, the `backup-server` role will be set on this cluster node. You can now run `ghe-backup` directly on this node, or use the management console to schedule backups. +```shell +ghe-storage-init-backup /dev/YOUR_DEVICE_NAME + +ghe-config-apply +``` + +1. After `ghe-config-apply` is executed, the `backup-server` role will be set on this cluster node. You can now run `ghe-backup` directly on this node, or use the management console to schedule backups. diff --git a/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service.md b/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service.md index f19b46a341d7..1d922997d8cb 100644 --- a/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service.md +++ b/content/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service.md @@ -139,7 +139,7 @@ If the device was already initialized using `ghe-storage-init-backup`, you can r ### Configuring backup settings -After the backup target is mounted, the Backup Service page will become available in the {% data variables.enterprise.management_console %} in the "Backup" section. {% ifversion ghes > 3.19 %} If your instance is part of a clustered environment, the system will automatically detect the node that was initialized with `ghe-storage-init-backup` and treat it as the backup server. {% endif %} +After the backup target is mounted, the Backup Service page will become available in the {% data variables.enterprise.management_console %} in the "Backup" section. {% ifversion ghes > 3.19 %} If your instance is part of a clustered environment, the Backup Service page will be available after `ghe-config-apply`. {% endif %} >[!NOTE] The settings page won’t appear until the backup storage is mounted at `/data/backup` by completing the initialization or mount steps above. From 81f9d8b3602f13cc805be52ff39bb7e389cba8dd Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 23:09:27 +0000 Subject: [PATCH 5/5] Remove topics frontmatter from content/apps (#59978) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: subatoi <32935794+subatoi@users.noreply.github.com> --- .../about-creating-github-apps/about-creating-github-apps.md | 2 -- .../best-practices-for-creating-a-github-app.md | 2 -- .../deciding-when-to-build-a-github-app.md | 2 -- .../creating-github-apps/about-creating-github-apps/index.md | 2 -- .../migrating-oauth-apps-to-github-apps.md | 2 -- .../about-authentication-with-a-github-app.md | 2 -- .../authenticating-as-a-github-app-installation.md | 2 -- .../authenticating-as-a-github-app.md | 2 -- .../authenticating-with-a-github-app-on-behalf-of-a-user.md | 2 -- .../generating-a-json-web-token-jwt-for-a-github-app.md | 2 -- .../generating-a-user-access-token-for-a-github-app.md | 2 -- ...nerating-an-installation-access-token-for-a-github-app.md | 2 -- .../authenticating-with-a-github-app/index.md | 2 -- ...equests-with-a-github-app-in-a-github-actions-workflow.md | 3 --- .../managing-private-keys-for-github-apps.md | 2 -- .../refreshing-user-access-tokens.md | 2 -- content/apps/creating-github-apps/index.md | 2 -- .../registering-a-github-app/about-the-setup-url.md | 2 -- .../about-the-user-authorization-callback-url.md | 2 -- .../choosing-permissions-for-a-github-app.md | 2 -- .../creating-a-custom-badge-for-your-github-app.md | 2 -- .../creating-github-apps/registering-a-github-app/index.md | 2 -- .../making-a-github-app-public-or-private.md | 2 -- .../registering-a-github-app/rate-limits-for-github-apps.md | 2 -- .../registering-a-github-app/registering-a-github-app.md | 2 -- .../using-webhooks-with-github-apps.md | 2 -- .../about-writing-code-for-a-github-app.md | 2 -- .../building-a-cli-with-a-github-app.md | 2 -- .../building-a-github-app-that-responds-to-webhook-events.md | 2 -- .../building-a-login-with-github-button-with-a-github-app.md | 2 -- .../building-ci-checks-with-a-github-app.md | 2 -- .../writing-code-for-a-github-app/index.md | 2 -- .../writing-code-for-a-github-app/quickstart.md | 2 -- .../customer-experience-best-practices-for-apps.md | 2 -- .../creating-apps-for-github-marketplace/index.md | 2 -- .../requirements-for-listing-an-app.md | 2 -- ...security-best-practices-for-apps-on-github-marketplace.md | 2 -- .../viewing-metrics-for-your-listing.md | 2 -- .../viewing-transactions-for-your-listing.md | 2 -- .../about-github-marketplace-for-apps.md | 2 -- ...lying-for-publisher-verification-for-your-organization.md | 2 -- content/apps/github-marketplace/index.md | 2 -- .../configuring-a-webhook-to-notify-you-of-plan-changes.md | 2 -- .../deleting-your-app-listing-from-github-marketplace.md | 2 -- .../drafting-a-listing-for-your-app.md | 2 -- .../listing-an-app-on-github-marketplace/index.md | 2 -- .../setting-pricing-plans-for-your-listing.md | 2 -- .../submitting-your-listing-for-publication.md | 2 -- .../writing-a-listing-description-for-your-app.md | 2 -- .../billing-customers.md | 2 -- .../selling-your-app-on-github-marketplace/index.md | 2 -- .../pricing-plans-for-github-marketplace-apps.md | 2 -- .../receiving-payment-for-app-purchases.md | 2 -- .../handling-new-purchases-and-free-trials.md | 2 -- .../handling-plan-cancellations.md | 2 -- .../handling-plan-changes.md | 2 -- .../using-the-github-marketplace-api-in-your-app/index.md | 2 -- .../rest-endpoints-for-the-github-marketplace-api.md | 2 -- .../testing-your-app.md | 2 -- .../webhook-events-for-the-github-marketplace-api.md | 2 -- content/apps/index.md | 2 -- .../maintaining-github-apps/about-github-app-managers.md | 5 ----- .../activating-optional-features-for-github-apps.md | 2 -- .../apps/maintaining-github-apps/deleting-a-github-app.md | 2 -- content/apps/maintaining-github-apps/index.md | 2 -- .../managing-allowed-ip-addresses-for-a-github-app.md | 2 -- .../modifying-a-github-app-registration.md | 2 -- .../suspending-a-github-app-installation.md | 2 -- .../transferring-ownership-of-a-github-app.md | 2 -- .../authenticating-to-the-rest-api-with-an-oauth-app.md | 2 -- .../oauth-apps/building-oauth-apps/authorizing-oauth-apps.md | 2 -- .../best-practices-for-creating-an-oauth-app.md | 2 -- .../creating-a-custom-badge-for-your-oauth-app.md | 2 -- .../oauth-apps/building-oauth-apps/creating-an-oauth-app.md | 2 -- .../differences-between-github-apps-and-oauth-apps.md | 3 --- content/apps/oauth-apps/building-oauth-apps/index.md | 2 -- .../building-oauth-apps/rate-limits-for-oauth-apps.md | 2 -- .../oauth-apps/building-oauth-apps/scopes-for-oauth-apps.md | 2 -- content/apps/oauth-apps/index.md | 2 -- .../activating-optional-features-for-oauth-apps.md | 2 -- .../maintaining-oauth-apps/deleting-an-oauth-app.md | 2 -- content/apps/oauth-apps/maintaining-oauth-apps/index.md | 2 -- .../maintaining-oauth-apps/modifying-an-oauth-app.md | 2 -- .../transferring-ownership-of-an-oauth-app.md | 2 -- .../troubleshooting-authorization-request-errors.md | 2 -- .../troubleshooting-oauth-app-access-token-request-errors.md | 2 -- .../oauth-apps/using-oauth-apps/authorizing-oauth-apps.md | 3 --- .../connecting-with-third-party-applications.md | 3 --- content/apps/oauth-apps/using-oauth-apps/index.md | 2 -- .../using-oauth-apps/reviewing-your-authorized-oauth-apps.md | 3 --- content/apps/overview.md | 2 -- content/apps/sharing-github-apps/index.md | 2 -- ...your-github-app-available-for-github-enterprise-server.md | 2 -- .../registering-a-github-app-from-a-manifest.md | 2 -- .../registering-a-github-app-using-url-parameters.md | 2 -- content/apps/using-github-apps/about-using-github-apps.md | 2 -- content/apps/using-github-apps/authorizing-github-apps.md | 4 ---- .../apps/using-github-apps/installing-your-own-github-app.md | 2 -- .../reviewing-and-modifying-installed-github-apps.md | 2 -- .../reviewing-and-revoking-authorization-of-github-apps.md | 3 --- content/apps/using-github-apps/saml-and-github-apps.md | 3 --- 101 files changed, 214 deletions(-) diff --git a/content/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps.md b/content/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps.md index c2f5766e0fbd..251367ff0ab1 100644 --- a/content/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps.md +++ b/content/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps.md @@ -15,8 +15,6 @@ redirect_from: - /developers/apps/about-apps - /developers/apps/getting-started-with-apps/about-apps - /apps/creating-github-apps/setting-up-a-github-app/about-creating-github-apps -topics: - - GitHub Apps --- ## About {% data variables.product.prodname_github_apps %} diff --git a/content/apps/creating-github-apps/about-creating-github-apps/best-practices-for-creating-a-github-app.md b/content/apps/creating-github-apps/about-creating-github-apps/best-practices-for-creating-a-github-app.md index 01b9b9bf5fa8..5b777a4dd5fe 100644 --- a/content/apps/creating-github-apps/about-creating-github-apps/best-practices-for-creating-a-github-app.md +++ b/content/apps/creating-github-apps/about-creating-github-apps/best-practices-for-creating-a-github-app.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps redirect_from: - /apps/creating-github-apps/setting-up-a-github-app/best-practices-for-creating-a-github-app --- diff --git a/content/apps/creating-github-apps/about-creating-github-apps/deciding-when-to-build-a-github-app.md b/content/apps/creating-github-apps/about-creating-github-apps/deciding-when-to-build-a-github-app.md index 8a61f67ba824..9dd760b5b797 100644 --- a/content/apps/creating-github-apps/about-creating-github-apps/deciding-when-to-build-a-github-app.md +++ b/content/apps/creating-github-apps/about-creating-github-apps/deciding-when-to-build-a-github-app.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- ## Using a {% data variables.product.prodname_github_app %} instead of an {% data variables.product.prodname_oauth_app %} diff --git a/content/apps/creating-github-apps/about-creating-github-apps/index.md b/content/apps/creating-github-apps/about-creating-github-apps/index.md index f82864c416e4..8c4b220b3912 100644 --- a/content/apps/creating-github-apps/about-creating-github-apps/index.md +++ b/content/apps/creating-github-apps/about-creating-github-apps/index.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps children: - /about-creating-github-apps - /deciding-when-to-build-a-github-app diff --git a/content/apps/creating-github-apps/about-creating-github-apps/migrating-oauth-apps-to-github-apps.md b/content/apps/creating-github-apps/about-creating-github-apps/migrating-oauth-apps-to-github-apps.md index b6e358ab8a4f..00f6ea698116 100644 --- a/content/apps/creating-github-apps/about-creating-github-apps/migrating-oauth-apps-to-github-apps.md +++ b/content/apps/creating-github-apps/about-creating-github-apps/migrating-oauth-apps-to-github-apps.md @@ -11,8 +11,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: 'Migrate from {% data variables.product.prodname_oauth_apps %}' --- diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/about-authentication-with-a-github-app.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/about-authentication-with-a-github-app.md index 48b4ffd7e19b..724e7219be56 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/about-authentication-with-a-github-app.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/about-authentication-with-a-github-app.md @@ -5,8 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: About authentication redirect_from: - /apps/building-integrations/setting-up-and-registering-github-apps/about-authentication-options-for-github-apps diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation.md index 6dd652df3980..fb91d27aa526 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- ## About authentication as a {% data variables.product.prodname_github_app %} installation diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app.md index 49f5d3f1e812..d45248ff861a 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app.md @@ -5,8 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Authenticate as an app --- diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user.md index ebec877362a0..d61d1405d07a 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user.md @@ -13,8 +13,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- Your app can make API requests on behalf of a user. API requests made by an app on behalf of a user will be attributed to that user. For example, if your app posts a comment on behalf of a user, the {% data variables.product.company_short %} UI will show the user's avatar photo along with the app's identicon badge as the author of the issue. diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-json-web-token-jwt-for-a-github-app.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-json-web-token-jwt-for-a-github-app.md index 488c4ba38d32..71f89526d333 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-json-web-token-jwt-for-a-github-app.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-json-web-token-jwt-for-a-github-app.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- ## About JSON Web Tokens (JWTs) diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app.md index efc060c64540..80a3ede0c7a9 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app.md @@ -5,8 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Generate a user access token --- diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app.md index 6125d2032d0a..9fc75d9abfeb 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- ## About installation access tokens diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/index.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/index.md index 9128aebe90c6..2c70e80b699e 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/index.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/index.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps children: - /about-authentication-with-a-github-app - /authenticating-as-a-github-app diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md index 8a9eec64c13c..7a210320e07a 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md @@ -6,9 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps - - Actions redirect_from: - /apps/creating-github-apps/guides/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow - /apps/creating-github-apps/writing-code-for-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps.md index 3e6ec29170f2..8b0b5709a466 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- ## About private keys for {% data variables.product.prodname_github_apps %} diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/refreshing-user-access-tokens.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/refreshing-user-access-tokens.md index 9360e4026268..e1aeb26f21ba 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/refreshing-user-access-tokens.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/refreshing-user-access-tokens.md @@ -10,8 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Refresh user access tokens --- ## About user access tokens that expire diff --git a/content/apps/creating-github-apps/index.md b/content/apps/creating-github-apps/index.md index 362092d41b23..649063226d74 100644 --- a/content/apps/creating-github-apps/index.md +++ b/content/apps/creating-github-apps/index.md @@ -5,8 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps children: - /about-creating-github-apps - /registering-a-github-app diff --git a/content/apps/creating-github-apps/registering-a-github-app/about-the-setup-url.md b/content/apps/creating-github-apps/registering-a-github-app/about-the-setup-url.md index 894fd5c43375..90c474f8b3f2 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/about-the-setup-url.md +++ b/content/apps/creating-github-apps/registering-a-github-app/about-the-setup-url.md @@ -5,8 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Setup URL redirect_from: - /apps/creating-github-apps/setting-up-a-github-app/about-the-setup-url diff --git a/content/apps/creating-github-apps/registering-a-github-app/about-the-user-authorization-callback-url.md b/content/apps/creating-github-apps/registering-a-github-app/about-the-user-authorization-callback-url.md index 01cb8a9476ba..71d37a629ae8 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/about-the-user-authorization-callback-url.md +++ b/content/apps/creating-github-apps/registering-a-github-app/about-the-user-authorization-callback-url.md @@ -5,8 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Callback URL redirect_from: - /apps/creating-github-apps/creating-github-apps/about-the-user-authorization-callback-url diff --git a/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md b/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md index 1debffef18bb..134c772b6622 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md +++ b/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md @@ -15,8 +15,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- ## About {% data variables.product.prodname_github_app %} permissions diff --git a/content/apps/creating-github-apps/registering-a-github-app/creating-a-custom-badge-for-your-github-app.md b/content/apps/creating-github-apps/registering-a-github-app/creating-a-custom-badge-for-your-github-app.md index 1d009ff81c6a..d202fde8e2cc 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/creating-a-custom-badge-for-your-github-app.md +++ b/content/apps/creating-github-apps/registering-a-github-app/creating-a-custom-badge-for-your-github-app.md @@ -11,8 +11,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Custom badge --- diff --git a/content/apps/creating-github-apps/registering-a-github-app/index.md b/content/apps/creating-github-apps/registering-a-github-app/index.md index ff4bae29901e..432f54b68cf2 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/index.md +++ b/content/apps/creating-github-apps/registering-a-github-app/index.md @@ -9,8 +9,6 @@ redirect_from: - /apps/building-github-apps - /apps/creating-github-apps/creating-github-apps - /apps/creating-github-apps/setting-up-a-github-app -topics: - - GitHub Apps children: - /registering-a-github-app - /about-the-user-authorization-callback-url diff --git a/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md b/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md index 0606ea6e8bed..6e76204a5403 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md +++ b/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md @@ -15,8 +15,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Visibility --- diff --git a/content/apps/creating-github-apps/registering-a-github-app/rate-limits-for-github-apps.md b/content/apps/creating-github-apps/registering-a-github-app/rate-limits-for-github-apps.md index c4f36aa0e0aa..559ba2838391 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/rate-limits-for-github-apps.md +++ b/content/apps/creating-github-apps/registering-a-github-app/rate-limits-for-github-apps.md @@ -14,8 +14,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Rate limits --- diff --git a/content/apps/creating-github-apps/registering-a-github-app/registering-a-github-app.md b/content/apps/creating-github-apps/registering-a-github-app/registering-a-github-app.md index afc52c1999a3..1d77f7addc3d 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/registering-a-github-app.md +++ b/content/apps/creating-github-apps/registering-a-github-app/registering-a-github-app.md @@ -15,8 +15,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- ## About registering {% data variables.product.prodname_github_apps %} diff --git a/content/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps.md b/content/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps.md index 7a140ce78631..bc4d00d955f9 100644 --- a/content/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps.md +++ b/content/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps redirect_from: - /apps/creating-github-apps/creating-github-apps/using-webhooks-with-github-apps - /apps/creating-github-apps/setting-up-a-github-app/using-webhooks-with-github-apps diff --git a/content/apps/creating-github-apps/writing-code-for-a-github-app/about-writing-code-for-a-github-app.md b/content/apps/creating-github-apps/writing-code-for-a-github-app/about-writing-code-for-a-github-app.md index 18c6fc5a3592..6c245279efb0 100644 --- a/content/apps/creating-github-apps/writing-code-for-a-github-app/about-writing-code-for-a-github-app.md +++ b/content/apps/creating-github-apps/writing-code-for-a-github-app/about-writing-code-for-a-github-app.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps redirect_from: - /apps/building-your-first-github-app - /apps/quickstart-guides/using-the-github-api-in-your-app diff --git a/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-cli-with-a-github-app.md b/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-cli-with-a-github-app.md index 98eda4855af5..0115f59d127a 100644 --- a/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-cli-with-a-github-app.md +++ b/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-cli-with-a-github-app.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps redirect_from: - /apps/creating-github-apps/guides/building-a-cli-with-a-github-app --- diff --git a/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events.md b/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events.md index e3dcd0897ca7..d2544e002654 100644 --- a/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events.md +++ b/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps redirect_from: - /apps/creating-github-apps/guides/building-a-github-app-that-responds-to-webhook-events layout: inline diff --git a/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-login-with-github-button-with-a-github-app.md b/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-login-with-github-button-with-a-github-app.md index 610be25d0335..55af3b5226a4 100644 --- a/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-login-with-github-button-with-a-github-app.md +++ b/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-login-with-github-button-with-a-github-app.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps redirect_from: - /apps/creating-github-apps/guides/using-the-web-application-flow-to-generate-a-user-access-token-for-a-github-app - /apps/creating-github-apps/guides/building-a-login-with-github-button-with-a-github-app diff --git a/content/apps/creating-github-apps/writing-code-for-a-github-app/building-ci-checks-with-a-github-app.md b/content/apps/creating-github-apps/writing-code-for-a-github-app/building-ci-checks-with-a-github-app.md index 33e798494944..a6a5431e644a 100644 --- a/content/apps/creating-github-apps/writing-code-for-a-github-app/building-ci-checks-with-a-github-app.md +++ b/content/apps/creating-github-apps/writing-code-for-a-github-app/building-ci-checks-with-a-github-app.md @@ -12,8 +12,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- ## Introduction diff --git a/content/apps/creating-github-apps/writing-code-for-a-github-app/index.md b/content/apps/creating-github-apps/writing-code-for-a-github-app/index.md index 004e00897b0b..0e96e2e3f016 100644 --- a/content/apps/creating-github-apps/writing-code-for-a-github-app/index.md +++ b/content/apps/creating-github-apps/writing-code-for-a-github-app/index.md @@ -9,8 +9,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps children: - /about-writing-code-for-a-github-app - /quickstart diff --git a/content/apps/creating-github-apps/writing-code-for-a-github-app/quickstart.md b/content/apps/creating-github-apps/writing-code-for-a-github-app/quickstart.md index d367b5ca48c6..a1e293d552a2 100644 --- a/content/apps/creating-github-apps/writing-code-for-a-github-app/quickstart.md +++ b/content/apps/creating-github-apps/writing-code-for-a-github-app/quickstart.md @@ -7,8 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps redirect_from: - /apps/creating-github-apps/guides/quickstart --- diff --git a/content/apps/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps.md b/content/apps/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps.md index 0162941c22f5..16233263b9f0 100644 --- a/content/apps/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps.md +++ b/content/apps/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps.md @@ -5,8 +5,6 @@ shortTitle: Customer experience best practice versions: fpt: '*' ghec: '*' -topics: - - Marketplace redirect_from: - /developers/github-marketplace/customer-experience-best-practices-for-apps - /developers/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps diff --git a/content/apps/github-marketplace/creating-apps-for-github-marketplace/index.md b/content/apps/github-marketplace/creating-apps-for-github-marketplace/index.md index 9a1d7e250ac8..f26efb725d76 100644 --- a/content/apps/github-marketplace/creating-apps-for-github-marketplace/index.md +++ b/content/apps/github-marketplace/creating-apps-for-github-marketplace/index.md @@ -4,8 +4,6 @@ intro: 'You can list free and paid tools for developers to use in {% data variab versions: fpt: '*' ghec: '*' -topics: - - Marketplace children: - /requirements-for-listing-an-app - /security-best-practices-for-apps-on-github-marketplace diff --git a/content/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md b/content/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md index 75b66b44c06c..77b5d32412cd 100644 --- a/content/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md +++ b/content/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md @@ -14,8 +14,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: Listing requirements --- diff --git a/content/apps/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps-on-github-marketplace.md b/content/apps/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps-on-github-marketplace.md index 53c9771d9303..b38ed99cc886 100644 --- a/content/apps/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps-on-github-marketplace.md +++ b/content/apps/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps-on-github-marketplace.md @@ -13,8 +13,6 @@ shortTitle: Security best practice versions: fpt: '*' ghec: '*' -topics: - - Marketplace --- {% data reusables.marketplace.marketplace-apps-not-actions %} diff --git a/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md b/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md index 5f5548fb1284..4da2279865f5 100644 --- a/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md +++ b/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md @@ -12,8 +12,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: View listing metrics --- diff --git a/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md b/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md index b564bc74448c..bb0013bf3eee 100644 --- a/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md +++ b/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md @@ -9,8 +9,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: View listing transactions --- diff --git a/content/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps.md b/content/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps.md index 4573242c425d..989ed1689632 100644 --- a/content/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps.md +++ b/content/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps.md @@ -11,8 +11,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace --- [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace) connects you to developers who want to extend and improve their {% data variables.product.prodname_dotcom %} workflows. You can list free and paid tools for developers to use in {% data variables.product.prodname_marketplace %}. {% data variables.product.prodname_marketplace %} offers developers two types of tools: {% data variables.product.prodname_actions %} and Apps, and each tool requires different steps for adding it to {% data variables.product.prodname_marketplace %}. diff --git a/content/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization.md b/content/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization.md index 915fcc8aaa97..322d195e64c3 100644 --- a/content/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization.md +++ b/content/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization.md @@ -4,8 +4,6 @@ intro: 'To offer paid plans for your app or to include a marketplace badge in yo versions: fpt: '*' ghec: '*' -topics: - - Marketplace redirect_from: - /developers/github-marketplace/applying-for-publisher-verification-for-your-organization - /developers/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization diff --git a/content/apps/github-marketplace/index.md b/content/apps/github-marketplace/index.md index aa205a17b935..4daef858b78f 100644 --- a/content/apps/github-marketplace/index.md +++ b/content/apps/github-marketplace/index.md @@ -10,8 +10,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace children: - /github-marketplace-overview - /creating-apps-for-github-marketplace diff --git a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md index bc89ef250868..3149d2fe9ed7 100644 --- a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md +++ b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md @@ -13,8 +13,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: Webhooks for plan changes --- diff --git a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/deleting-your-app-listing-from-github-marketplace.md b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/deleting-your-app-listing-from-github-marketplace.md index 5e9a87a11782..e4391b326799 100644 --- a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/deleting-your-app-listing-from-github-marketplace.md +++ b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/deleting-your-app-listing-from-github-marketplace.md @@ -4,8 +4,6 @@ intro: 'Follow these steps to delete your app listing from {% data variables.pro versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: Delete your listing redirect_from: - /apps/publishing-apps-to-github-marketplace/listing-an-app-on-github-marketplace/deleting-your-github-app-listing-from-github-marketplace diff --git a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md index 44f20c4d2fd6..565c3ebbf4d7 100644 --- a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md +++ b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md @@ -18,8 +18,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: Draft an app listing --- diff --git a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/index.md b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/index.md index 1eff9764e93d..d554451f5cd1 100644 --- a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/index.md +++ b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/index.md @@ -15,8 +15,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace children: - /drafting-a-listing-for-your-app - /writing-a-listing-description-for-your-app diff --git a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md index e11e12ce90f0..dbf5545f3c69 100644 --- a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md +++ b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md @@ -19,8 +19,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: Set listing pricing plans --- diff --git a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/submitting-your-listing-for-publication.md b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/submitting-your-listing-for-publication.md index 14dc2f5e7a38..fcdc7bd685fe 100644 --- a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/submitting-your-listing-for-publication.md +++ b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/submitting-your-listing-for-publication.md @@ -10,8 +10,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: Submit your listing --- diff --git a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md index 0265106644ca..35c0a25ac2a3 100644 --- a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md +++ b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md @@ -16,8 +16,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: Write listing descriptions --- diff --git a/content/apps/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md b/content/apps/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md index 8123c010dc14..fc1f31b1ef2a 100644 --- a/content/apps/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md +++ b/content/apps/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md @@ -11,8 +11,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace --- {% data reusables.marketplace.marketplace-apps-not-actions %} diff --git a/content/apps/github-marketplace/selling-your-app-on-github-marketplace/index.md b/content/apps/github-marketplace/selling-your-app-on-github-marketplace/index.md index 4d4bba72e607..45b2059456c6 100644 --- a/content/apps/github-marketplace/selling-your-app-on-github-marketplace/index.md +++ b/content/apps/github-marketplace/selling-your-app-on-github-marketplace/index.md @@ -13,8 +13,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace children: - /pricing-plans-for-github-marketplace-apps - /billing-customers diff --git a/content/apps/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md b/content/apps/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md index 0ac766cbdb65..668e5f116ff8 100644 --- a/content/apps/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md +++ b/content/apps/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md @@ -10,8 +10,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: Pricing plans for apps --- diff --git a/content/apps/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md b/content/apps/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md index 08e1bff9ddc2..edaf7c75c0a9 100644 --- a/content/apps/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md +++ b/content/apps/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md @@ -13,8 +13,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: Receive payment --- diff --git a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md index 0918e7f6a85b..6e6d7d4c43a9 100644 --- a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md +++ b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md @@ -12,8 +12,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: New purchases & free trials --- diff --git a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md index 4bcb73988bc0..e3acae131dae 100644 --- a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md +++ b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md @@ -11,8 +11,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: Plan cancellations --- diff --git a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md index 64e65a70059d..70db9d5de4e7 100644 --- a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md +++ b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md @@ -11,8 +11,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace --- {% data reusables.marketplace.marketplace-apps-not-actions %} diff --git a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md index 1c64c8972b3b..397361720ffb 100644 --- a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md +++ b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md @@ -10,8 +10,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace children: - /rest-endpoints-for-the-github-marketplace-api - /webhook-events-for-the-github-marketplace-api diff --git a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md index 41c94e246838..96471089dfb8 100644 --- a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md +++ b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md @@ -11,8 +11,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: REST API --- diff --git a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md index b79ede540a7f..94d84b017a59 100644 --- a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md +++ b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md @@ -11,8 +11,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace --- {% data reusables.marketplace.marketplace-apps-not-actions %} diff --git a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md index 179dee0dc725..2b7be0ec389e 100644 --- a/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md +++ b/content/apps/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md @@ -11,8 +11,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Marketplace shortTitle: Webhook events --- diff --git a/content/apps/index.md b/content/apps/index.md index a68a1508abb4..6bc9168e98a1 100644 --- a/content/apps/index.md +++ b/content/apps/index.md @@ -30,8 +30,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps children: - /overview - /using-github-apps diff --git a/content/apps/maintaining-github-apps/about-github-app-managers.md b/content/apps/maintaining-github-apps/about-github-app-managers.md index 5ae5b398939e..2992d43b90d5 100644 --- a/content/apps/maintaining-github-apps/about-github-app-managers.md +++ b/content/apps/maintaining-github-apps/about-github-app-managers.md @@ -5,11 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Organizations - - Enterprise - - Teams - - GitHub Apps shortTitle: GitHub App managers --- diff --git a/content/apps/maintaining-github-apps/activating-optional-features-for-github-apps.md b/content/apps/maintaining-github-apps/activating-optional-features-for-github-apps.md index e404e43867fc..53691bd2afd6 100644 --- a/content/apps/maintaining-github-apps/activating-optional-features-for-github-apps.md +++ b/content/apps/maintaining-github-apps/activating-optional-features-for-github-apps.md @@ -10,8 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Activate optional features --- diff --git a/content/apps/maintaining-github-apps/deleting-a-github-app.md b/content/apps/maintaining-github-apps/deleting-a-github-app.md index c2fcfa458d7a..53299b54e41e 100644 --- a/content/apps/maintaining-github-apps/deleting-a-github-app.md +++ b/content/apps/maintaining-github-apps/deleting-a-github-app.md @@ -11,8 +11,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- > [!NOTE] diff --git a/content/apps/maintaining-github-apps/index.md b/content/apps/maintaining-github-apps/index.md index 1002ca706e3a..0403a7e5c9c8 100644 --- a/content/apps/maintaining-github-apps/index.md +++ b/content/apps/maintaining-github-apps/index.md @@ -9,8 +9,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps children: - /modifying-a-github-app-registration - /activating-optional-features-for-github-apps diff --git a/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md b/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md index a121cde4067d..f1832d136fd2 100644 --- a/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md +++ b/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md @@ -4,8 +4,6 @@ intro: 'You can add an IP allow list to your {% data variables.product.prodname_ versions: fpt: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Manage allowed IP addresses redirect_from: - /developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app diff --git a/content/apps/maintaining-github-apps/modifying-a-github-app-registration.md b/content/apps/maintaining-github-apps/modifying-a-github-app-registration.md index 95214cd4d5ec..0f4a8092074b 100644 --- a/content/apps/maintaining-github-apps/modifying-a-github-app-registration.md +++ b/content/apps/maintaining-github-apps/modifying-a-github-app-registration.md @@ -17,8 +17,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- ## About {% data variables.product.prodname_github_app %} modifications diff --git a/content/apps/maintaining-github-apps/suspending-a-github-app-installation.md b/content/apps/maintaining-github-apps/suspending-a-github-app-installation.md index 2e1c4c3cb4dd..edb7c3fa370e 100644 --- a/content/apps/maintaining-github-apps/suspending-a-github-app-installation.md +++ b/content/apps/maintaining-github-apps/suspending-a-github-app-installation.md @@ -9,8 +9,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Suspend an installation --- diff --git a/content/apps/maintaining-github-apps/transferring-ownership-of-a-github-app.md b/content/apps/maintaining-github-apps/transferring-ownership-of-a-github-app.md index f738f96b2953..86591b54611c 100644 --- a/content/apps/maintaining-github-apps/transferring-ownership-of-a-github-app.md +++ b/content/apps/maintaining-github-apps/transferring-ownership-of-a-github-app.md @@ -10,8 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Transfer ownership --- diff --git a/content/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app.md b/content/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app.md index 0a448f5b183e..93176f939dd6 100644 --- a/content/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app.md +++ b/content/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app.md @@ -11,8 +11,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - API --- diff --git a/content/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps.md b/content/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps.md index c4641949336e..c30652b70c1f 100644 --- a/content/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps.md +++ b/content/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps.md @@ -14,8 +14,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps --- > [!NOTE] diff --git a/content/apps/oauth-apps/building-oauth-apps/best-practices-for-creating-an-oauth-app.md b/content/apps/oauth-apps/building-oauth-apps/best-practices-for-creating-an-oauth-app.md index ebf4c79e5474..15f2c0065da9 100644 --- a/content/apps/oauth-apps/building-oauth-apps/best-practices-for-creating-an-oauth-app.md +++ b/content/apps/oauth-apps/building-oauth-apps/best-practices-for-creating-an-oauth-app.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps --- ## Use a {% data variables.product.prodname_github_app %} instead diff --git a/content/apps/oauth-apps/building-oauth-apps/creating-a-custom-badge-for-your-oauth-app.md b/content/apps/oauth-apps/building-oauth-apps/creating-a-custom-badge-for-your-oauth-app.md index df768b68395a..f9020e67bf5f 100644 --- a/content/apps/oauth-apps/building-oauth-apps/creating-a-custom-badge-for-your-oauth-app.md +++ b/content/apps/oauth-apps/building-oauth-apps/creating-a-custom-badge-for-your-oauth-app.md @@ -9,8 +9,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps shortTitle: Create custom badges --- By default, a new {% data variables.product.prodname_oauth_app %} will have an automatically generated [identicon](https://github.com/blog/1586-identicons). diff --git a/content/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app.md b/content/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app.md index c212eb961c9a..9de59cd3a55d 100644 --- a/content/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app.md +++ b/content/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app.md @@ -10,8 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps --- > [!NOTE] diff --git a/content/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps.md b/content/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps.md index eacce6735f7b..6bd62a094631 100644 --- a/content/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps.md +++ b/content/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps.md @@ -13,9 +13,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps - - OAuth apps shortTitle: GitHub Apps & {% data variables.product.prodname_oauth_apps %} --- diff --git a/content/apps/oauth-apps/building-oauth-apps/index.md b/content/apps/oauth-apps/building-oauth-apps/index.md index d756ee1794fb..6f5f2f971c95 100644 --- a/content/apps/oauth-apps/building-oauth-apps/index.md +++ b/content/apps/oauth-apps/building-oauth-apps/index.md @@ -9,8 +9,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps children: - /differences-between-github-apps-and-oauth-apps - /rate-limits-for-oauth-apps diff --git a/content/apps/oauth-apps/building-oauth-apps/rate-limits-for-oauth-apps.md b/content/apps/oauth-apps/building-oauth-apps/rate-limits-for-oauth-apps.md index bdbe53c4b6fd..933f0bc66393 100644 --- a/content/apps/oauth-apps/building-oauth-apps/rate-limits-for-oauth-apps.md +++ b/content/apps/oauth-apps/building-oauth-apps/rate-limits-for-oauth-apps.md @@ -5,8 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps shortTitle: Rate limits --- diff --git a/content/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps.md b/content/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps.md index 4fe89de13e51..d2aa5101fa6c 100644 --- a/content/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps.md +++ b/content/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps.md @@ -11,8 +11,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps --- > [!NOTE] diff --git a/content/apps/oauth-apps/index.md b/content/apps/oauth-apps/index.md index 323c083fb619..e90f90b1a9de 100644 --- a/content/apps/oauth-apps/index.md +++ b/content/apps/oauth-apps/index.md @@ -5,8 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps children: - /using-oauth-apps - /building-oauth-apps diff --git a/content/apps/oauth-apps/maintaining-oauth-apps/activating-optional-features-for-oauth-apps.md b/content/apps/oauth-apps/maintaining-oauth-apps/activating-optional-features-for-oauth-apps.md index 3b460ab856a0..3aee1d5b13f6 100644 --- a/content/apps/oauth-apps/maintaining-oauth-apps/activating-optional-features-for-oauth-apps.md +++ b/content/apps/oauth-apps/maintaining-oauth-apps/activating-optional-features-for-oauth-apps.md @@ -5,8 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps shortTitle: Activate optional features --- diff --git a/content/apps/oauth-apps/maintaining-oauth-apps/deleting-an-oauth-app.md b/content/apps/oauth-apps/maintaining-oauth-apps/deleting-an-oauth-app.md index c9db7f6015c5..0535f6798083 100644 --- a/content/apps/oauth-apps/maintaining-oauth-apps/deleting-an-oauth-app.md +++ b/content/apps/oauth-apps/maintaining-oauth-apps/deleting-an-oauth-app.md @@ -10,8 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps --- {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.developer_settings %} diff --git a/content/apps/oauth-apps/maintaining-oauth-apps/index.md b/content/apps/oauth-apps/maintaining-oauth-apps/index.md index bff7d2e1587a..99e28e1416d7 100644 --- a/content/apps/oauth-apps/maintaining-oauth-apps/index.md +++ b/content/apps/oauth-apps/maintaining-oauth-apps/index.md @@ -9,8 +9,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps children: - /modifying-an-oauth-app - /activating-optional-features-for-oauth-apps diff --git a/content/apps/oauth-apps/maintaining-oauth-apps/modifying-an-oauth-app.md b/content/apps/oauth-apps/maintaining-oauth-apps/modifying-an-oauth-app.md index ee87679ec214..cd3464668abf 100644 --- a/content/apps/oauth-apps/maintaining-oauth-apps/modifying-an-oauth-app.md +++ b/content/apps/oauth-apps/maintaining-oauth-apps/modifying-an-oauth-app.md @@ -10,8 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps --- {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.developer_settings %} diff --git a/content/apps/oauth-apps/maintaining-oauth-apps/transferring-ownership-of-an-oauth-app.md b/content/apps/oauth-apps/maintaining-oauth-apps/transferring-ownership-of-an-oauth-app.md index bd8cb3736c40..138e23cc4026 100644 --- a/content/apps/oauth-apps/maintaining-oauth-apps/transferring-ownership-of-an-oauth-app.md +++ b/content/apps/oauth-apps/maintaining-oauth-apps/transferring-ownership-of-an-oauth-app.md @@ -10,8 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps shortTitle: Transfer ownership --- {% data reusables.user-settings.access_settings %} diff --git a/content/apps/oauth-apps/maintaining-oauth-apps/troubleshooting-authorization-request-errors.md b/content/apps/oauth-apps/maintaining-oauth-apps/troubleshooting-authorization-request-errors.md index 7fd12f06ae2d..adea8d00b8b1 100644 --- a/content/apps/oauth-apps/maintaining-oauth-apps/troubleshooting-authorization-request-errors.md +++ b/content/apps/oauth-apps/maintaining-oauth-apps/troubleshooting-authorization-request-errors.md @@ -10,8 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Troubleshoot authorization --- ## Application suspended diff --git a/content/apps/oauth-apps/maintaining-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md b/content/apps/oauth-apps/maintaining-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md index 2dcea9e2b3ed..b59f360c1dc0 100644 --- a/content/apps/oauth-apps/maintaining-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md +++ b/content/apps/oauth-apps/maintaining-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md @@ -10,8 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps shortTitle: Troubleshoot token request --- diff --git a/content/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps.md b/content/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps.md index f028c842fe62..071fd910e31f 100644 --- a/content/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps.md +++ b/content/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps.md @@ -10,9 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Identity - - Access management --- When an {% data variables.product.prodname_oauth_app %} wants to identify you by your account on {% data variables.product.github %}, you'll see a page with the app's developer contact information and a list of the specific data that's being requested. diff --git a/content/apps/oauth-apps/using-oauth-apps/connecting-with-third-party-applications.md b/content/apps/oauth-apps/using-oauth-apps/connecting-with-third-party-applications.md index 3222c6953027..a26644e444e4 100644 --- a/content/apps/oauth-apps/using-oauth-apps/connecting-with-third-party-applications.md +++ b/content/apps/oauth-apps/using-oauth-apps/connecting-with-third-party-applications.md @@ -11,9 +11,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Identity - - Access management shortTitle: Third-party applications --- When a third-party application wants to identify you by your {% data variables.product.github %} login, you'll see a page with the developer contact information and a list of the specific data that's being requested. diff --git a/content/apps/oauth-apps/using-oauth-apps/index.md b/content/apps/oauth-apps/using-oauth-apps/index.md index 25fdaf20c3ab..b8b1954d3a8a 100644 --- a/content/apps/oauth-apps/using-oauth-apps/index.md +++ b/content/apps/oauth-apps/using-oauth-apps/index.md @@ -5,8 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - OAuth apps children: - /installing-an-oauth-app-in-your-personal-account - /installing-an-oauth-app-in-your-organization diff --git a/content/apps/oauth-apps/using-oauth-apps/reviewing-your-authorized-oauth-apps.md b/content/apps/oauth-apps/using-oauth-apps/reviewing-your-authorized-oauth-apps.md index d4fa906c3902..549968f8d7c3 100644 --- a/content/apps/oauth-apps/using-oauth-apps/reviewing-your-authorized-oauth-apps.md +++ b/content/apps/oauth-apps/using-oauth-apps/reviewing-your-authorized-oauth-apps.md @@ -12,9 +12,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Identity - - Access management shortTitle: Review OAuth apps --- {% data reusables.user-settings.access_settings %} diff --git a/content/apps/overview.md b/content/apps/overview.md index c3e037d13b6b..b60b83a16706 100644 --- a/content/apps/overview.md +++ b/content/apps/overview.md @@ -8,8 +8,6 @@ versions: ghes: '*' ghec: '*' type: overview -topics: - - GitHub Apps --- ## About {% data variables.product.prodname_github_apps %} diff --git a/content/apps/sharing-github-apps/index.md b/content/apps/sharing-github-apps/index.md index a61642574a7b..41d552f5747b 100644 --- a/content/apps/sharing-github-apps/index.md +++ b/content/apps/sharing-github-apps/index.md @@ -5,8 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps children: - /sharing-your-github-app - /making-your-github-app-available-for-github-enterprise-server diff --git a/content/apps/sharing-github-apps/making-your-github-app-available-for-github-enterprise-server.md b/content/apps/sharing-github-apps/making-your-github-app-available-for-github-enterprise-server.md index 4406910a9898..258f5c8fdf8a 100644 --- a/content/apps/sharing-github-apps/making-your-github-app-available-for-github-enterprise-server.md +++ b/content/apps/sharing-github-apps/making-your-github-app-available-for-github-enterprise-server.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps redirect_from: - /apps/creating-github-apps/setting-up-a-github-app/making-your-github-app-available-for-github-enterprise-server --- diff --git a/content/apps/sharing-github-apps/registering-a-github-app-from-a-manifest.md b/content/apps/sharing-github-apps/registering-a-github-app-from-a-manifest.md index 15baf2cd58e3..b9e7378092f3 100644 --- a/content/apps/sharing-github-apps/registering-a-github-app-from-a-manifest.md +++ b/content/apps/sharing-github-apps/registering-a-github-app-from-a-manifest.md @@ -12,8 +12,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: App manifest --- ## About {% data variables.product.prodname_github_app %} Manifests diff --git a/content/apps/sharing-github-apps/registering-a-github-app-using-url-parameters.md b/content/apps/sharing-github-apps/registering-a-github-app-using-url-parameters.md index 06e54b50c5b1..f6576e25248c 100644 --- a/content/apps/sharing-github-apps/registering-a-github-app-using-url-parameters.md +++ b/content/apps/sharing-github-apps/registering-a-github-app-using-url-parameters.md @@ -12,8 +12,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: App query parameters --- ## About URL parameters for registering {% data variables.product.prodname_github_apps %} diff --git a/content/apps/using-github-apps/about-using-github-apps.md b/content/apps/using-github-apps/about-using-github-apps.md index 64e3c0412c8d..c9ea465f0322 100644 --- a/content/apps/using-github-apps/about-using-github-apps.md +++ b/content/apps/using-github-apps/about-using-github-apps.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- ## About {% data variables.product.prodname_github_apps %} diff --git a/content/apps/using-github-apps/authorizing-github-apps.md b/content/apps/using-github-apps/authorizing-github-apps.md index 664b21996599..431839c44197 100644 --- a/content/apps/using-github-apps/authorizing-github-apps.md +++ b/content/apps/using-github-apps/authorizing-github-apps.md @@ -6,10 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Identity - - Access management - - GitHub Apps redirect_from: - /github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-github-apps - /authentication/keeping-your-account-and-data-secure/authorizing-github-apps diff --git a/content/apps/using-github-apps/installing-your-own-github-app.md b/content/apps/using-github-apps/installing-your-own-github-app.md index 41e90d63de1e..5c17ccaeea84 100644 --- a/content/apps/using-github-apps/installing-your-own-github-app.md +++ b/content/apps/using-github-apps/installing-your-own-github-app.md @@ -11,8 +11,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps shortTitle: Install your own app --- diff --git a/content/apps/using-github-apps/reviewing-and-modifying-installed-github-apps.md b/content/apps/using-github-apps/reviewing-and-modifying-installed-github-apps.md index ed23decde227..0ecce9b4d74c 100644 --- a/content/apps/using-github-apps/reviewing-and-modifying-installed-github-apps.md +++ b/content/apps/using-github-apps/reviewing-and-modifying-installed-github-apps.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - GitHub Apps --- ## About installed {% data variables.product.prodname_github_apps %} diff --git a/content/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps.md b/content/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps.md index e135648fc988..117d34ee0f68 100644 --- a/content/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps.md +++ b/content/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps.md @@ -11,9 +11,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Identity - - Access management shortTitle: Review your authorizations --- diff --git a/content/apps/using-github-apps/saml-and-github-apps.md b/content/apps/using-github-apps/saml-and-github-apps.md index 837777498f60..dae2cd5aa8f3 100644 --- a/content/apps/using-github-apps/saml-and-github-apps.md +++ b/content/apps/using-github-apps/saml-and-github-apps.md @@ -4,9 +4,6 @@ shortTitle: SAML with apps intro: "If your organization or enterprise is SSO protected, you may need to start an active SSO session for your organization before authorizing, installing, or requesting a {% data variables.product.prodname_github_app %}." versions: ghec: '*' -topics: - - GitHub Apps - - SSO --- ## Authorizing {% data variables.product.prodname_github_apps %} for users