Remove versions feature flag code (#15793)
* remove FEATURE_NEW_VERSIONS from feature-flags.json * remove process.env.FEATURE_NEW_VERSIONS from include files * remove process.env.FEATURE_NEW_VERSIONS from lib files * remove process.env.FEATURE_NEW_VERSIONS from middleware files * remove process.env.FEATURE_NEW_VERSIONS from script files * remove process.env.FEATURE_NEW_VERSIONS from test files * update test fixtures to use new versions as canonical fixtures
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
{
|
||||
"FEATURE_TEST_TRUE": true,
|
||||
"FEATURE_TEST_FALSE": false,
|
||||
"FEATURE_NEW_VERSIONS": true
|
||||
"FEATURE_TEST_FALSE": false
|
||||
}
|
||||
|
||||
@@ -2,11 +2,7 @@
|
||||
<details class="dropdown-withArrow d-inline-block details details-reset mb-4 position-relative close-when-clicked-outside article-versions">
|
||||
<summary class="d-flex flex-items-center flex-justify-between f4 h5-mktg btn-outline-mktg btn-mktg p-2">
|
||||
<!-- GitHub.com, Enterprise Server 2.16, etc -->
|
||||
{% if process.env.FEATURE_NEW_VERSIONS %}
|
||||
<span class="d-md-none d-xl-inline-block mr-1">{{ site.data.ui.pages.article_version }}</span> {{ allVersions[currentVersion].versionTitle }}
|
||||
{% else %}
|
||||
<span class="d-md-none d-xl-inline-block mr-1">{{ site.data.ui.pages.article_version }}</span> {{ productNames[currentVersion] }}
|
||||
{% endif %}
|
||||
<svg class="arrow ml-1" width="14px" height="8px" viewBox="0 0 14 8" xml:space="preserve" fill="none" stroke="#1277eb"><path d="M1,1l6.2,6L13,1"></path></svg>
|
||||
</summary>
|
||||
|
||||
@@ -16,11 +12,7 @@
|
||||
href="{{ permalink.href }}"
|
||||
class="d-block py-2 {% if currentPath == permalink.href %}link-blue active{% else %}link-gray-dark no-underline{% endif %}"
|
||||
>
|
||||
{% if process.env.FEATURE_NEW_VERSIONS %}
|
||||
{{ allVersions[permalink.pageVersion].versionTitle }}</a>
|
||||
{% else %}
|
||||
{{ productNames[permalink.pageVersion] }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</details>
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
{% unless process.env.FEATURE_NEW_VERSIONS %}
|
||||
{% assign enterpriseServerReleases = enterpriseVersions %}
|
||||
{% endunless %}
|
||||
{% if currentVersion contains enterpriseServerReleases.oldestSupported %}
|
||||
<div class="deprecation-banner border rounded-1 mb-2 bg-yellow-light p-3 border-yellow f5">
|
||||
<p>
|
||||
|
||||
@@ -44,11 +44,7 @@
|
||||
<div id="current-product" class="d-flex flex-items-center flex-justify-between" style="padding-top: 2px;">
|
||||
<!-- Product switcher - GitHub.com, Enterprise Server, etc -->
|
||||
<!-- 404 and 500 error layouts are not real pages so we need to hardcode the name for those -->
|
||||
{% if process.env.FEATURE_NEW_VERSIONS %}
|
||||
{{ allProducts[currentProduct].name }}
|
||||
{% else %}
|
||||
{{ currentProduct.name }}
|
||||
{% endif %}
|
||||
<svg class="arrow ml-md-1" width="14px" height="8px" viewBox="0 0 14 8" xml:space="preserve" fill="none" stroke="#1277eb"><path d="M1,1l6.2,6L13,1"></path></svg>
|
||||
</div>
|
||||
</summary>
|
||||
@@ -57,7 +53,7 @@
|
||||
{% for product in activeProducts %}
|
||||
<a href="{% unless product.external %}/{{ currentLanguage }}{% endunless %}{{ product.href }}"
|
||||
class="d-block py-2
|
||||
{% if process.env.FEATURE_NEW_VERSIONS and product.id == currentProduct %}text-blue-mktg text-underline active{% elsif product.id == currentProduct.id %}text-blue-mktg text-underline active{% else %}link-gray-dark no-underline{% endif %}">
|
||||
{% if product.id == currentProduct %}text-blue-mktg text-underline active{% elsif product.id == currentProduct.id %}text-blue-mktg text-underline active{% else %}link-gray-dark no-underline{% endif %}">
|
||||
{{ product.name }}
|
||||
{% if product.external %}
|
||||
<span class="ml-1"><svg width="9" height="10" viewBox="0 0 9 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path stroke="#24292e" d="M.646 8.789l8-8M8.5 9V1M1 .643h8"/></svg></span>
|
||||
@@ -68,10 +64,8 @@
|
||||
</details>
|
||||
</div>
|
||||
|
||||
{% if process.env.FEATURE_NEW_VERSIONS %}
|
||||
<!-- Versions picker that only appears in the header on homepage/versioned homepages -->
|
||||
{% include homepage-version-switcher %}
|
||||
{% endif %}
|
||||
|
||||
<div class="d-md-inline-block">
|
||||
|
||||
|
||||
@@ -20,12 +20,7 @@
|
||||
<h3 class="text-mono f5 text-normal text-gray text-md-center mb-4">{{ site.data.ui.homepage.explore_by_product }}</h3>
|
||||
<div class="d-flex flex-wrap gutter gutter-xl-spacious">
|
||||
{% for product in activeProducts %}
|
||||
{% if process.env.FEATURE_NEW_VERSIONS %}
|
||||
{% assign productVersions = product.versions %}
|
||||
{% else %}
|
||||
{% assign productVersions = currentVersion %}
|
||||
{% endif %}
|
||||
{% if productVersions contains currentVersion or currentVersion == 'homepage' %}
|
||||
{% if product.versions contains currentVersion or currentVersion == 'homepage' %}
|
||||
<div class="d-flex flex-column col-12 col-sm-6 col-lg-3 pb-4">
|
||||
<a class="btn-mktg flex-auto d-flex flex-items-center btn-outline-mktg btn-large-mktg ws-normal " href="{% unless product.external %}/{{ currentLanguage }}{% endunless %}{% if product.versions contains currentVersion %}/{{currentVersion}}/{{product.id}}{% else %}{{product.href}}{% endif %}">{{ product.name }}
|
||||
{% if product.external %}
|
||||
|
||||
@@ -1,25 +1,12 @@
|
||||
{% if process.env.FEATURE_NEW_VERSIONS %}
|
||||
{% include all-products-link %}
|
||||
{% endif %}
|
||||
|
||||
{% for product in activeProducts %}
|
||||
|
||||
{% if process.env.FEATURE_NEW_VERSIONS %}
|
||||
{% assign productVersions = product.versions %}
|
||||
{% else %}
|
||||
{% assign productVersions = currentVersion %}
|
||||
{% endif %}
|
||||
|
||||
{% if productVersions contains currentVersion or currentVersion == 'homepage' %}
|
||||
{% if product.versions contains currentVersion or currentVersion == 'homepage' %}
|
||||
<li
|
||||
title="{{product.name}}{% if product.external %} (External Site){% endif %}"
|
||||
class="sidebar-product"
|
||||
>
|
||||
{% if process.env.FEATURE_NEW_VERSIONS %}
|
||||
<a href="{% unless product.external %}/{{currentLanguage}}{% endunless %}{% if product.versions contains currentVersion %}/{{currentVersion}}/{{product.id}}{% else %}{{product.href}}{% endif %}" class="f4 pl-4 pr-5 py-2">
|
||||
{% else %}
|
||||
<a href="{% unless product.external %}/{{currentLanguage}}{% endunless %}{{product.href}}" class="f4 pl-4 pr-5 py-2">
|
||||
{% endif %}
|
||||
{{ product.name }}
|
||||
{% if product.external %}
|
||||
<span class="ml-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="octicon" width="16" height="16"> <path fill-rule="evenodd" clip-rule="evenodd" d="M14.75 1C14.8163 1 14.8799 1.02634 14.9268 1.07322C14.9737 1.12011 15 1.1837 15 1.25V5.396C15.0001 5.44551 14.9855 5.49393 14.958 5.53513C14.9305 5.57632 14.8915 5.60843 14.8457 5.62739C14.8 5.64635 14.7497 5.6513 14.7011 5.64162C14.6525 5.63194 14.608 5.60805 14.573 5.573L13.03 4.03L8.53 8.53C8.38783 8.66248 8.19978 8.7346 8.00548 8.73118C7.81118 8.72775 7.62579 8.64903 7.48838 8.51162C7.35097 8.37421 7.27225 8.18882 7.26883 7.99452C7.2654 7.80022 7.33752 7.61217 7.47 7.47L11.97 2.97L10.427 1.427C10.3919 1.39204 10.3681 1.34745 10.3584 1.2989C10.3487 1.25034 10.3536 1.20001 10.3726 1.15427C10.3916 1.10853 10.4237 1.06945 10.4649 1.04199C10.5061 1.01453 10.5545 0.999912 10.604 1H14.75ZM2.75 2C2.28587 2 1.84075 2.18437 1.51256 2.51256C1.18437 2.84075 1 3.28587 1 3.75V13.25C1 14.216 1.784 15 2.75 15H12.25C12.7141 15 13.1592 14.8156 13.4874 14.4874C13.8156 14.1592 14 13.7141 14 13.25V9.75C14 9.55109 13.921 9.36032 13.7803 9.21967C13.6397 9.07902 13.4489 9 13.25 9C13.0511 9 12.8603 9.07902 12.7197 9.21967C12.579 9.36032 12.5 9.55109 12.5 9.75V13.25C12.5 13.3163 12.4737 13.3799 12.4268 13.4268C12.3799 13.4737 12.3163 13.5 12.25 13.5H2.75C2.6837 13.5 2.62011 13.4737 2.57322 13.4268C2.52634 13.3799 2.5 13.3163 2.5 13.25V3.75C2.5 3.6837 2.52634 3.62011 2.57322 3.57322C2.62011 3.52634 2.6837 3.5 2.75 3.5H6.25C6.44891 3.5 6.63968 3.42098 6.78033 3.28033C6.92098 3.13968 7 2.94891 7 2.75C7 2.55109 6.92098 2.36032 6.78033 2.21967C6.63968 2.07902 6.44891 2 6.25 2H2.75Z"></path></svg></span>
|
||||
|
||||
@@ -6,11 +6,7 @@
|
||||
also gets an `is-current-page` class.
|
||||
-->
|
||||
|
||||
{% if process.env.FEATURE_NEW_VERSIONS %}
|
||||
{% assign product = siteTree[currentLanguage][currentVersion].products[currentProduct] %}
|
||||
{% else %}
|
||||
{% assign product = siteTree[currentLanguage][currentVersion].products[currentProduct.id] %}
|
||||
{% endif %}
|
||||
{% include all-products-link %}
|
||||
<li title="{{product.title}}" class="sidebar-product mb-2">
|
||||
<a href="/{{currentLanguage}}{{product.href}}" class="pl-4 pr-5 pb-1 f4">{{ product.title }}</a>
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
<h4 class="mb-3">
|
||||
{{ site.data.ui.support.still_need_help }}
|
||||
</h4>
|
||||
{% if process.env.FEATURE_NEW_VERSIONS %}
|
||||
{% if currentVersion contains 'enterprise' %}{% assign isEnterprise = true %}{% else %}{% assign isEnterprise = false %}{% endif %}
|
||||
{% else %}
|
||||
{% if currentVersion != 'dotcom' %}{% assign isEnterprise = true %}{% else %}{% assign isEnterprise = false %}{% endif %}
|
||||
{% endif %}
|
||||
<a id="ask-community" href="https://github.community" class="btn btn-outline">
|
||||
{% octicon "people" width="16" %}
|
||||
{{ site.data.ui.support.ask_community }}
|
||||
|
||||
@@ -5,47 +5,29 @@ const { difference } = require('lodash')
|
||||
const yaml = require('js-yaml')
|
||||
const contentDir = path.join(process.cwd(), 'content')
|
||||
const frontmatter = require('@github-docs/frontmatter')
|
||||
const getApplicableVersions = require('./get-applicable-versions')
|
||||
|
||||
let getApplicableVersions
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
getApplicableVersions = require('./get-applicable-versions')
|
||||
}
|
||||
|
||||
// the product order is determined by a yml file
|
||||
// the product order is determined by data/products.yml
|
||||
const productsFile = path.join(process.cwd(), 'data/products.yml')
|
||||
const productsYml = yaml.load(fs.readFileSync(productsFile, 'utf8'))
|
||||
const sortedProductIds = productsYml.productsInOrder
|
||||
|
||||
let contentProductIds = fs.readdirSync(contentDir, { withFileTypes: true })
|
||||
const contentProductIds = fs.readdirSync(contentDir, { withFileTypes: true })
|
||||
.filter(entry => entry.isDirectory())
|
||||
.map(entry => entry.name)
|
||||
|
||||
// TODO this can be removed when we replace content/enterprise/admin with content/admin
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
contentProductIds = contentProductIds.map(id => id.replace('enterprise', 'enterpriseServer'))
|
||||
}
|
||||
|
||||
assert(difference(sortedProductIds, contentProductIds).length === 0)
|
||||
assert(difference(contentProductIds, sortedProductIds).length === 0)
|
||||
|
||||
const internalProducts = {}
|
||||
|
||||
sortedProductIds.forEach(productId => {
|
||||
const relPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? productId
|
||||
: productId === 'enterpriseServer' ? 'enterprise/admin' : productId
|
||||
|
||||
const relPath = productId
|
||||
const dir = path.join('content', relPath)
|
||||
const toc = path.join(dir, 'index.md')
|
||||
const { data } = frontmatter(fs.readFileSync(toc, 'utf8'))
|
||||
|
||||
let applicableVersions, href
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
applicableVersions = getApplicableVersions(data.versions, toc)
|
||||
href = path.join('/', applicableVersions[0], productId)
|
||||
} else {
|
||||
href = path.join('/', relPath)
|
||||
}
|
||||
const applicableVersions = getApplicableVersions(data.versions, toc)
|
||||
const href = path.join('/', applicableVersions[0], productId)
|
||||
|
||||
internalProducts[productId] = {
|
||||
id: productId,
|
||||
@@ -56,11 +38,7 @@ sortedProductIds.forEach(productId => {
|
||||
wip: data.wip || false
|
||||
}
|
||||
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
internalProducts[productId].versions = applicableVersions
|
||||
} else {
|
||||
internalProducts[productId].hasEnterpriseUserVersions = productsYml.hasEnterpriseUserVersions.some(id => id === productId)
|
||||
}
|
||||
})
|
||||
|
||||
const externalProducts = {
|
||||
@@ -78,10 +56,6 @@ const externalProducts = {
|
||||
}
|
||||
}
|
||||
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
Object.keys(externalProducts).forEach(id => { externalProducts[id].hasEnterpriseUserVersions = false })
|
||||
}
|
||||
|
||||
const allProducts = Object.assign({}, internalProducts, externalProducts)
|
||||
|
||||
module.exports = allProducts
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
const enterpriseServerReleases = require('./enterprise-server-releases')
|
||||
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
module.exports = ['dotcom'].concat(enterpriseServerReleases.supported)
|
||||
}
|
||||
// version = "plan"@"release"
|
||||
// example: enterprise-server@2.21
|
||||
// where "enterprise-server" is the plan and "2.21" is the release
|
||||
const versionDelimiter = '@'
|
||||
const latestNonNumberedRelease = 'latest'
|
||||
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
// version = "plan"@"release"
|
||||
// example: enterprise-server@2.21
|
||||
// where "enterprise-server" is the plan and "2.21" is the release
|
||||
const versionDelimiter = '@'
|
||||
const latestNonNumberedRelease = 'latest'
|
||||
|
||||
const plans = [
|
||||
const plans = [
|
||||
{
|
||||
plan: 'free-pro-team',
|
||||
planTitle: 'Free, Pro, and Team',
|
||||
@@ -26,13 +21,13 @@ if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
latestRelease: enterpriseServerReleases.latest,
|
||||
hasNumberedReleases: true
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
const allVersions = {}
|
||||
const allVersions = {}
|
||||
|
||||
// combine the plans and releases to get allVersions object
|
||||
// e.g. free-pro-team@latest, enterprise-server@2.21, enterprise-server@2.20, etc.
|
||||
plans.forEach(planObj => {
|
||||
// combine the plans and releases to get allVersions object
|
||||
// e.g. free-pro-team@latest, enterprise-server@2.21, enterprise-server@2.20, etc.
|
||||
plans.forEach(planObj => {
|
||||
planObj.releases.forEach(release => {
|
||||
const version = `${planObj.plan}${versionDelimiter}${release}`
|
||||
|
||||
@@ -45,7 +40,6 @@ if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
|
||||
allVersions[version] = Object.assign(versionObj, planObj)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
module.exports = allVersions
|
||||
}
|
||||
module.exports = allVersions
|
||||
|
||||
@@ -79,9 +79,7 @@ module.exports = async function checkLinks ($, page, context, version, checkedLi
|
||||
|
||||
// finding the linked page isn't enough if it's a github.com page; also need to check versions
|
||||
if (linkedPage.relativePath.startsWith('github')) {
|
||||
const linkedPageVersions = process.env.FEATURE_NEW_VERSIONS
|
||||
? getApplicableVersions(linkedPage.versions, linkedPage.relativePath)
|
||||
: getApplicableVersions(linkedPage.productVersions, linkedPage.relativePath)
|
||||
const linkedPageVersions = getApplicableVersions(linkedPage.versions, linkedPage.relativePath)
|
||||
|
||||
if (!linkedPageVersions.includes(version) && $(internalLink).attr('class') !== 'dotcom-only') {
|
||||
brokenLinks.links.push({ 'broken link': link, reason: `${version} not found in linked page versions`, 'linked page': linkedPage.fullPath })
|
||||
|
||||
@@ -68,9 +68,7 @@ module.exports = async function checkLinks ($, page, context, version, checkedLi
|
||||
|
||||
// finding the linked page isn't enough if it's a github.com page; also need to check versions
|
||||
if (linkedPage.relativePath.startsWith('github')) {
|
||||
const linkedPageVersions = process.env.FEATURE_NEW_VERSIONS
|
||||
? getApplicableVersions(linkedPage.versions, linkedPage.relativePath)
|
||||
: getApplicableVersions(linkedPage.productVersions, linkedPage.relativePath)
|
||||
const linkedPageVersions = getApplicableVersions(linkedPage.versions, linkedPage.relativePath)
|
||||
|
||||
if (!linkedPageVersions.includes(version) && $(internalLink).attr('class') !== 'dotcom-only') {
|
||||
brokenLinks.links.push({ 'broken link': link, reason: `${version} not found in linked page versions`, 'linked page': linkedPage.fullPath })
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
const slash = require('slash')
|
||||
const patterns = require('./patterns')
|
||||
const allVersions = process.env.FEATURE_NEW_VERSIONS
|
||||
? Object.keys(require('./all-versions'))
|
||||
: require('./all-versions')
|
||||
const allVersions = Object.keys(require('./all-versions'))
|
||||
const { getVersionedPathWithLanguage } = require('./path-utils')
|
||||
|
||||
module.exports = function findPage (href, pages, redirects = {}, languageCode = 'en', sourceLanguage = null) {
|
||||
|
||||
@@ -5,7 +5,6 @@ const semverRange = {
|
||||
conform: require('semver').validRange,
|
||||
message: 'Must be a valid SemVer range'
|
||||
}
|
||||
const productIds = Object.keys(require('./all-products'))
|
||||
const versionIds = Object.keys(require('./all-versions'))
|
||||
|
||||
const schema = {
|
||||
@@ -68,30 +67,13 @@ const schema = {
|
||||
}
|
||||
}
|
||||
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
schema.properties.versions = {
|
||||
schema.properties.versions = {
|
||||
type: ['object', 'string'], // allow a '*' string to indicate all versions
|
||||
required: true,
|
||||
properties: versionIds.reduce((acc, versionId) => {
|
||||
acc[versionId] = semverRange
|
||||
return acc
|
||||
}, {})
|
||||
}
|
||||
}
|
||||
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
schema.properties.productVersions = {
|
||||
type: 'object',
|
||||
required: true,
|
||||
properties: productIds.reduce((acc, productId) => {
|
||||
// github used to be called dotcom
|
||||
// TODO: rename `dotcom` to `github` in all the markdown files' frontmatter
|
||||
if (productId === 'github') productId = 'dotcom'
|
||||
|
||||
acc[productId] = semverRange
|
||||
return acc
|
||||
}, {})
|
||||
}
|
||||
}
|
||||
|
||||
function frontmatter (markdown, opts = {}) {
|
||||
|
||||
@@ -1,36 +1,12 @@
|
||||
const allVersions = require('./all-versions')
|
||||
const versionSatisifiesRange = require('./version-satisfies-range')
|
||||
|
||||
let nonEnterpriseProductVersions
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
nonEnterpriseProductVersions = Object.keys(require('./frontmatter').schema.properties.productVersions.properties)
|
||||
.filter(prop => prop !== 'enterprise')
|
||||
}
|
||||
|
||||
// return an array of versions that an article's product versions encompasses
|
||||
function getApplicableVersions (frontmatterVersions, filepath) {
|
||||
if (typeof frontmatterVersions === 'undefined') {
|
||||
throw new Error(`No \`versions\` frontmatter found in ${filepath}`)
|
||||
}
|
||||
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
const applicableVersions = allVersions.filter(version => {
|
||||
if (version === 'dotcom') {
|
||||
// find any non-Enterprise product versions that apply
|
||||
return nonEnterpriseProductVersions.some(version => version in frontmatterVersions)
|
||||
} else {
|
||||
return versionSatisifiesRange(version, frontmatterVersions.enterprise)
|
||||
}
|
||||
})
|
||||
|
||||
if (!applicableVersions.length) {
|
||||
throw new Error(`No applicable product versions found for file ${filepath}. Please double-check the page's \`productVersions\` frontmatter.`)
|
||||
}
|
||||
|
||||
return applicableVersions
|
||||
}
|
||||
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
// all versions are applicable!
|
||||
if (frontmatterVersions === '*') {
|
||||
return Object.keys(allVersions)
|
||||
@@ -71,7 +47,6 @@ function getApplicableVersions (frontmatterVersions, filepath) {
|
||||
}
|
||||
|
||||
return applicableVersions
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = getApplicableVersions
|
||||
|
||||
@@ -7,8 +7,6 @@ const LiquidTag = require('./liquid-tag')
|
||||
const findPage = require('../find-page')
|
||||
const getApplicableVersions = require('../get-applicable-versions')
|
||||
|
||||
const versionsProp = process.env.FEATURE_NEW_VERSIONS ? 'versions' : 'productVersions'
|
||||
|
||||
// This class supports a set of link tags. Each tag expects one parameter, a language-agnostic href:
|
||||
//
|
||||
// {% link /articles/set-up-git %}
|
||||
@@ -64,7 +62,7 @@ module.exports = class Link extends LiquidTag {
|
||||
if (!page) return ''
|
||||
|
||||
// get versions of the found page
|
||||
const applicableVersions = getApplicableVersions(page[versionsProp], fullPath)
|
||||
const applicableVersions = getApplicableVersions(page.versions, fullPath)
|
||||
|
||||
// check whether the page versions include the current version
|
||||
const shouldLinkRenderInCurrentVersion = applicableVersions.includes(ctx.currentVersion)
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
const nonEnterpriseDefaultVersion = Object.values(require('../lib/all-versions'))
|
||||
const nonEnterpriseDefaultVersion = Object.values(require('../lib/all-versions'))
|
||||
.find(version => version.nonEnterpriseDefault).version
|
||||
|
||||
module.exports = nonEnterpriseDefaultVersion
|
||||
}
|
||||
module.exports = nonEnterpriseDefaultVersion
|
||||
|
||||
13
lib/page.js
13
lib/page.js
@@ -19,10 +19,6 @@ const frontmatter = require('./frontmatter')
|
||||
const products = require('./all-products')
|
||||
const slash = require('slash')
|
||||
|
||||
const versionsProp = process.env.FEATURE_NEW_VERSIONS
|
||||
? 'versions'
|
||||
: 'productVersions'
|
||||
|
||||
class Page {
|
||||
constructor (opts) {
|
||||
assert(opts.relativePath, 'relativePath is required')
|
||||
@@ -72,7 +68,7 @@ class Page {
|
||||
delete this.guideLinks
|
||||
|
||||
// derive array of Permalink objects
|
||||
this.permalinks = Permalink.derive(this.languageCode, this.relativePath, this.title, this[versionsProp])
|
||||
this.permalinks = Permalink.derive(this.languageCode, this.relativePath, this.title, this.versions)
|
||||
|
||||
// create backwards-compatible old paths for page permalinks and frontmatter redirects
|
||||
this.redirects = generateRedirectsForPermalinks(this.permalinks, this.redirect_from)
|
||||
@@ -93,16 +89,11 @@ class Page {
|
||||
// Infer the parent product ID from the page's relative file path
|
||||
get parentProductId () {
|
||||
// Each page's top-level content directory matches its product ID
|
||||
let id = this.relativePath.split('/')[0]
|
||||
const id = this.relativePath.split('/')[0]
|
||||
|
||||
// ignore top-level content/index.md
|
||||
if (id === 'index.md') return null
|
||||
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
// make an exception of GitHub Enterprise
|
||||
if (id === 'enterprise') id = 'enterpriseServer'
|
||||
}
|
||||
|
||||
// make sure the ID is valid
|
||||
assert(
|
||||
Object.keys(products).includes(id),
|
||||
|
||||
@@ -1,75 +1,16 @@
|
||||
const slash = require('slash')
|
||||
const path = require('path')
|
||||
const patterns = require('./patterns')
|
||||
const { latest, deprecated } = require('./enterprise-server-releases')
|
||||
const internalProducts = Object.values(require('./all-products'))
|
||||
.filter(prod => !prod.external)
|
||||
const { deprecated } = require('./enterprise-server-releases')
|
||||
const allProducts = require('./all-products')
|
||||
const allVersions = require('./all-versions')
|
||||
const { getNewVersionedPath } = require('./old-versions-utils')
|
||||
|
||||
let pathsThatHaveEnterpriseUserVersions, pathsThatDoNotHaveEnterpriseUserVersions
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
pathsThatHaveEnterpriseUserVersions = internalProducts
|
||||
.filter(prod => prod.hasEnterpriseUserVersions)
|
||||
.map(prod => prod.href)
|
||||
.concat(['/articles', '/categories'])
|
||||
|
||||
pathsThatDoNotHaveEnterpriseUserVersions = internalProducts
|
||||
.filter(prod => !prod.hasEnterpriseUserVersions)
|
||||
.map(prod => prod.href)
|
||||
.concat(['/enterprise'])
|
||||
}
|
||||
|
||||
// construct appropriate versioned path for any given HREF
|
||||
function getVersionedPathWithoutLanguage (href, version) {
|
||||
// start clean without language code or trailing slash
|
||||
href = getPathWithoutLanguage(href.replace(patterns.trailingSlash, '$1'))
|
||||
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
// does href need an enterprise user path?
|
||||
// e.g., /articles/foo -> /en/enterprise/2.15/user/articles/foo
|
||||
// also redirects like /common-issues-and-questions
|
||||
// but NOT /actions, /desktop, /enterprise, etc.
|
||||
const needsEnterpriseUserPath = (
|
||||
pathsThatHaveEnterpriseUserVersions.some(path => href.startsWith(path)) ||
|
||||
!pathsThatDoNotHaveEnterpriseUserVersions.some(path => href.startsWith(path))
|
||||
)
|
||||
|
||||
// construct enterprise user path
|
||||
if (needsEnterpriseUserPath && version !== 'dotcom') {
|
||||
href = `/enterprise/${version}/user/${href}`
|
||||
}
|
||||
|
||||
// hack fix for double slash bug
|
||||
href = href.replace('//', '/')
|
||||
|
||||
// does href need an enterprise version added to path?
|
||||
const needsEnterpriseVersion = (
|
||||
href.match(patterns.enterprise) &&
|
||||
href.match(patterns.getEnterpriseVersionNumber) === null
|
||||
)
|
||||
|
||||
// add the enterprise version
|
||||
if (needsEnterpriseVersion) {
|
||||
// if current page version is dotcom, use the latest version of enterprise
|
||||
href = version === 'dotcom'
|
||||
? href.replace(/(\/enterprise)/, `$1/${latest}`)
|
||||
: href.replace(/(\/enterprise)/, `$1/${version}`)
|
||||
}
|
||||
|
||||
// is this an enterprise user path on dotcom?
|
||||
const isEnterpriseUsePath = href.match(patterns.enterprise) && !href.match(patterns.admin)
|
||||
|
||||
// if so, replace enterprise user part of path with /github/
|
||||
if (isEnterpriseUsePath && version === 'dotcom') {
|
||||
href = href.replace(/\/enterprise\/.+?\/user\//, '')
|
||||
}
|
||||
|
||||
return slash(href.replace(patterns.trailingSlash, '$1'))
|
||||
}
|
||||
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
// if this is an old versioned path that includes a deprecated version, do not change!
|
||||
// example: /enterprise/11.10.340/admin/articles/upgrading-to-the-latest-release
|
||||
const oldEnterpriseVersionNumber = href.match(patterns.getEnterpriseVersionNumber)
|
||||
@@ -101,7 +42,6 @@ function getVersionedPathWithoutLanguage (href, version) {
|
||||
|
||||
// update the version
|
||||
return slash(href.replace(versionFromPath, version))
|
||||
}
|
||||
}
|
||||
|
||||
// add language code
|
||||
@@ -127,16 +67,7 @@ function getPathWithoutLanguage (href) {
|
||||
}
|
||||
|
||||
function getPathWithoutVersion (href) {
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
const number = href.match(patterns.getEnterpriseVersionNumber)
|
||||
if (!number) return href
|
||||
|
||||
return slash(href.replace('/' + number[1], ''))
|
||||
}
|
||||
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
return href.replace(`/${getVersionStringFromPath(href)}`, '')
|
||||
}
|
||||
}
|
||||
|
||||
function getVersionStringFromPath (href) {
|
||||
|
||||
@@ -16,9 +16,7 @@ class Permalink {
|
||||
|
||||
this.href = pathUtils.getVersionedPathWithLanguage(permalinkSuffix, pageVersion, languageCode)
|
||||
|
||||
this.pageVersionTitle = process.env.FEATURE_NEW_VERSIONS
|
||||
? allVersions[pageVersion].versionTitle
|
||||
: pageVersion === 'dotcom' ? 'GitHub.com' : `Enterprise Server ${pageVersion}`
|
||||
this.pageVersionTitle = allVersions[pageVersion].versionTitle
|
||||
|
||||
return this
|
||||
}
|
||||
@@ -33,7 +31,6 @@ class Permalink {
|
||||
})
|
||||
|
||||
// special permalink for homepage
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
if (relativePath === 'index.md') {
|
||||
const homepagePermalink = {
|
||||
...permalinks[0],
|
||||
@@ -44,7 +41,6 @@ class Permalink {
|
||||
}
|
||||
permalinks.push(homepagePermalink)
|
||||
}
|
||||
}
|
||||
|
||||
return permalinks
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
const patterns = require('../patterns')
|
||||
const { latest } = require('../enterprise-server-releases')
|
||||
const { getVersionedPathWithLanguage } = require('../path-utils')
|
||||
const latestEnterpriseRestPath = `/enterprise/${latest}/user/rest/`
|
||||
|
||||
// This function takes a known pre-migration path from developer.github.com and
|
||||
// infers and returns a current, correct docs.github.com path.
|
||||
@@ -48,14 +47,8 @@ module.exports = function getDocsPathFromDeveloperPath (oldDeveloperPath, allRed
|
||||
newPath = allRedirects[newPath] || newPath
|
||||
|
||||
// old developer routes that include 'enterprise-admin' should always redirect to enterprise server
|
||||
const enterpriseRegex = process.env.FEATURE_NEW_VERSIONS
|
||||
? patterns.enterpriseServer
|
||||
: patterns.enterprise
|
||||
|
||||
if (fragment && newPath.includes('/rest/reference/enterprise-admin') && !enterpriseRegex.test(newPath)) {
|
||||
newPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? getVersionedPathWithLanguage(newPath, `enterprise-server@${latest}`, 'en')
|
||||
: newPath.replace('/rest/', latestEnterpriseRestPath)
|
||||
if (fragment && newPath.includes('/rest/reference/enterprise-admin') && !patterns.enterpriseServer.test(newPath)) {
|
||||
newPath = getVersionedPathWithLanguage(newPath, `enterprise-server@${latest}`, 'en')
|
||||
}
|
||||
|
||||
// show an error if the page to be redirected to doesn't exist
|
||||
|
||||
@@ -55,7 +55,6 @@ module.exports = function getOldPathsFromPath (currentPath, languageCode, curren
|
||||
// ------ END LEGACY VERSION FORMAT REPLACEMENTS ------//
|
||||
|
||||
// ------ BEGIN MODERN VERSION FORMAT REPLACEMENTS ------//
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
if (currentlySupportedVersions.includes(currentVersion) || versionSatisifiesRange(currentVersion, `>${lastReleaseWithLegacyFormat}`)) {
|
||||
oldPaths.forEach(oldPath => {
|
||||
// create old path /github from new path /free-pro-team@latest/github
|
||||
@@ -105,7 +104,6 @@ module.exports = function getOldPathsFromPath (currentPath, languageCode, curren
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
// ------ END MODERN VERSION FORMAT REPLACEMENTS ------//
|
||||
|
||||
// For each old path added to the set above, do the following...
|
||||
|
||||
@@ -52,9 +52,7 @@ module.exports = async function precompileRedirects (pages) {
|
||||
// although we only support developer Enterprise paths up to 2.21, we make
|
||||
// an exception to always redirect versionless paths to the latest version
|
||||
if (developerRoute.includes('/2.21/')) {
|
||||
const newPathOnLatestVersion = process.env.FEATURE_NEW_VERSIONS
|
||||
? newPath.replace('@2.21/', `@${latest}/`)
|
||||
: newPath.replace('/2.21/', `/${latest}/`)
|
||||
const newPathOnLatestVersion = newPath.replace('@2.21/', `@${latest}/`)
|
||||
const developerRouteWithoutVersion = developerRoute.replace('/2.21/', '/')
|
||||
const developerRouteWithLanguageWithoutVersion = `/en${developerRouteWithoutVersion}`
|
||||
allRedirects[developerRouteWithoutVersion] = newPathOnLatestVersion
|
||||
@@ -65,9 +63,7 @@ module.exports = async function precompileRedirects (pages) {
|
||||
// we should eventually yank this block because 2.22 never existed on developer site
|
||||
// the better solution is to change `/v3` and `/v4` links in content to `/rest` and `/graphql`
|
||||
if (developerRoute.includes('/2.21/')) {
|
||||
const newPath222 = process.env.FEATURE_NEW_VERSIONS
|
||||
? newPath.replace('@2.21/', '@2.22/')
|
||||
: newPath.replace('/2.21/', '/2.22/')
|
||||
const newPath222 = newPath.replace('@2.21/', '@2.22/')
|
||||
const developerRoute222 = developerRoute.replace('/2.21/', '/2.22/')
|
||||
const developerRouteWithLanguage222 = `/en${developerRoute222}`
|
||||
allRedirects[developerRoute222] = newPath222
|
||||
@@ -88,14 +84,12 @@ module.exports = async function precompileRedirects (pages) {
|
||||
// given a developer route like `/v3/gists/comments`,
|
||||
// add a veriation like `/free-pro-team@latest/v3/gists/comments`;
|
||||
// again, we need to do this because all links in content get rewritten
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
if (!developerRoute.startsWith('/enterprise/')) {
|
||||
const developerRouteWithVersion = path.join(nonEnterpriseDefaultVersion, developerRoute)
|
||||
const developerRouteWithVersionAndLanguage = `/en/${developerRouteWithVersion}`
|
||||
allRedirects[developerRouteWithVersion] = newPath
|
||||
allRedirects[developerRouteWithVersionAndLanguage] = newPath
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
return allRedirects
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
const versionsProp = process.env.FEATURE_NEW_VERSIONS
|
||||
? 'versions'
|
||||
: 'productVersions'
|
||||
|
||||
module.exports = function removeDeprecatedFrontmatter (data, devCheckout, versionToDeprecate, nextOldestVersion) {
|
||||
// there are currently different frontmatter conventions for developer docs vs. help docs
|
||||
if (devCheckout) {
|
||||
@@ -16,12 +12,12 @@ module.exports = function removeDeprecatedFrontmatter (data, devCheckout, versio
|
||||
}
|
||||
} else {
|
||||
// skip files with no versions or Enterprise versions frontmatter
|
||||
if (!data[versionsProp]) return data
|
||||
if (!data[versionsProp].enterprise) return data
|
||||
if (!data.versions) return data
|
||||
if (!data.versions.enterprise) return data
|
||||
|
||||
// change frontmatter like enterprise: '>=2.13' to enterprise: '*'
|
||||
if (data[versionsProp].enterprise === `>=${versionToDeprecate}` || data[versionsProp].enterprise === `>=${nextOldestVersion}`) {
|
||||
data[versionsProp].enterprise = '*'
|
||||
if (data.versions.enterprise === `>=${versionToDeprecate}` || data.versions.enterprise === `>=${nextOldestVersion}`) {
|
||||
data.versions.enterprise = '*'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
const latestEnterpriseVersion = require('./enterprise-server-releases').latest
|
||||
const nonEnterpriseDefaultVersion = require('./non-enterprise-default-version')
|
||||
const { getOldVersionFromNewVersion } = require('./old-versions-utils')
|
||||
const s3BasePath = 'https://github-images.s3.amazonaws.com'
|
||||
|
||||
// rewrite asset paths to s3 if it's a dotcom article on any GHE version
|
||||
// or if it's an admin article on any GHE version EXCEPT latest version
|
||||
// This module rewrites asset paths on Enterprise versions to S3 paths.
|
||||
// Source example: /assets/images/foo.png
|
||||
// Rewritten: https://github-images.s3.amazonaws.com/enterprise/2.20/assets/images/foo.png
|
||||
// The one exception is Admin pages on the latest GHES release.
|
||||
module.exports = function rewriteAssetPathsToS3 ($, version, relativePath) {
|
||||
let oldVersion
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
// if the current version is non-enterprise, do not rewrite
|
||||
if (version === nonEnterpriseDefaultVersion) return
|
||||
// get 2.22 from enterprise-server@2.22
|
||||
oldVersion = getOldVersionFromNewVersion(version)
|
||||
// relativePath starts with the product, like /admin/foo or /github/foo
|
||||
const product = relativePath.split('/')[0]
|
||||
if (product === 'admin' && oldVersion === latestEnterpriseVersion) return
|
||||
} else {
|
||||
if (version === 'dotcom') return
|
||||
if (relativePath.includes('enterprise/') && version === latestEnterpriseVersion) return
|
||||
oldVersion = version
|
||||
}
|
||||
|
||||
const s3Path = 'https://github-images.s3.amazonaws.com'
|
||||
// get 2.22 from enterprise-server@2.22
|
||||
const oldVersion = getOldVersionFromNewVersion(version)
|
||||
|
||||
// the relativePath starts with the product, like /admin/foo or /github/foo
|
||||
const product = relativePath.split('/')[0]
|
||||
|
||||
// if this is an Admin page on the latest version, do not rewrite
|
||||
if (product === 'admin' && oldVersion === latestEnterpriseVersion) return
|
||||
|
||||
$('img').each((i, el) => {
|
||||
const src = $(el).attr('src')
|
||||
if (!src.startsWith('/assets/images')) return
|
||||
const newSrc = `${s3Path}/enterprise/${oldVersion}${src}`
|
||||
const newSrc = `${s3BasePath}/enterprise/${oldVersion}${src}`
|
||||
if (src !== newSrc) $(el).attr('src', newSrc)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -27,9 +27,7 @@ function getNewHref (link, languageCode, version) {
|
||||
// If link is dotcom-only, just get the language code
|
||||
// Otherwise, get the versioned path with language code
|
||||
const newHref = link.hasClass('dotcom-only')
|
||||
? process.env.FEATURE_NEW_VERSIONS
|
||||
? pathUtils.getVersionedPathWithLanguage(href, nonEnterpriseDefaultVersion, languageCode)
|
||||
: pathUtils.getPathWithLanguage(href, languageCode)
|
||||
: pathUtils.getVersionedPathWithLanguage(href, version, languageCode)
|
||||
|
||||
if (href !== newHref) link.attr('href', newHref)
|
||||
|
||||
@@ -5,14 +5,7 @@ const products = Object.values(require('../lib/all-products'))
|
||||
const { getVersionedPathWithoutLanguage } = require('./path-utils')
|
||||
const languageCodes = Object.keys(require('./languages'))
|
||||
const addTitlesToTree = require('./site-tree-titles')
|
||||
|
||||
const allVersions = process.env.FEATURE_NEW_VERSIONS
|
||||
? Object.keys(require('./all-versions'))
|
||||
: require('./all-versions')
|
||||
|
||||
const versionsProp = process.env.FEATURE_NEW_VERSIONS
|
||||
? 'versions'
|
||||
: 'productVersions'
|
||||
const allVersions = Object.keys(require('./all-versions'))
|
||||
|
||||
// This module builds a localized tree of every page on the site
|
||||
// It includes single-source pages that have different variants
|
||||
@@ -83,7 +76,7 @@ function buildCategoriesTree (tocItems, productHref, pages, redirects, version,
|
||||
|
||||
category.title = page.shortTitle || page.title
|
||||
|
||||
if (!getApplicableVersions(page[versionsProp], page.fullPath).includes(version)) {
|
||||
if (!getApplicableVersions(page.versions, page.fullPath).includes(version)) {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -135,7 +128,7 @@ function buildMaptopicsTree (tocItems, categoryHref, pages, redirects, version,
|
||||
// if this is not a maptopic, return early
|
||||
if (!page.mapTopic) return
|
||||
|
||||
if (!getApplicableVersions(page[versionsProp], page.fullPath).includes(version)) {
|
||||
if (!getApplicableVersions(page.versions, page.fullPath).includes(version)) {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -177,7 +170,7 @@ function buildArticlesTree (tocItems, categoryHref, pages, redirects, version, l
|
||||
|
||||
article.title = page.shortTitle || page.title
|
||||
|
||||
if (!getApplicableVersions(page[versionsProp], page.fullPath).includes(version)) {
|
||||
if (!getApplicableVersions(page.versions, page.fullPath).includes(version)) {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const path = require('path')
|
||||
const { getPathWithoutLanguage, getVersionedPathWithoutLanguage } = require('../lib/path-utils')
|
||||
const { getPathWithoutLanguage } = require('../lib/path-utils')
|
||||
|
||||
module.exports = async (req, res, next) => {
|
||||
req.context.breadcrumbs = {}
|
||||
@@ -7,65 +7,8 @@ module.exports = async (req, res, next) => {
|
||||
if (!req.context.page) return next()
|
||||
if (req.context.page.relativePath === 'index.md') return next()
|
||||
|
||||
let pathParts, product, categoryPath
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
if (req.context.page.relativePath === 'enterprise/index.md') return next()
|
||||
|
||||
pathParts = req.context.currentPathWithoutLanguage.split('/')
|
||||
|
||||
// remove first empty item
|
||||
pathParts.shift()
|
||||
|
||||
let productPath
|
||||
|
||||
// e.g., /github
|
||||
if (pathParts[0] !== 'enterprise') {
|
||||
productPath = path.posix.join('/', pathParts[0])
|
||||
}
|
||||
|
||||
if (pathParts[0] === 'enterprise') {
|
||||
// handling for /enterprise/version/admin
|
||||
if (pathParts.includes('admin')) {
|
||||
productPath = path.posix.join('/', ...pathParts.slice(0, 3))
|
||||
// remove /enterprise/version so that path starts with /admin
|
||||
pathParts.splice(0, 2)
|
||||
}
|
||||
|
||||
// handling for /enterprise/version/user/product
|
||||
if (pathParts.includes('user')) {
|
||||
productPath = path.posix.join('/', ...pathParts.slice(0, 4))
|
||||
// remove /enterprise/version/user so that path starts with /product
|
||||
pathParts.splice(0, 3)
|
||||
}
|
||||
}
|
||||
|
||||
// turn /product paths into /enterprise/version/user/product paths and vice versa
|
||||
productPath = getVersionedPathWithoutLanguage(productPath, req.context.currentVersion)
|
||||
|
||||
product = req.context.siteTree[req.language][req.context.currentVersion].products[req.context.currentProduct.id]
|
||||
|
||||
// GitHub.com is the only product with a breadcrumbs-specific Enterprise title
|
||||
// in the sidebar, the product title is `GitHub.com` in all versions
|
||||
// in the breadcrumbs, the product title is either `GitHub.com` or `GitHub Enterprise Server`
|
||||
const productTitle = product.title === 'GitHub.com' && req.context.currentVersion !== 'dotcom'
|
||||
? 'GitHub Enterprise Server'
|
||||
: product.title
|
||||
|
||||
req.context.breadcrumbs.product = {
|
||||
href: productPath,
|
||||
title: productTitle
|
||||
}
|
||||
|
||||
if (!pathParts[1]) return next()
|
||||
|
||||
// get category path
|
||||
// e.g., /github/getting-started-with-github
|
||||
categoryPath = path.posix.join(productPath, pathParts[1])
|
||||
}
|
||||
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
const rawPath = getPathWithoutLanguage(req.path)
|
||||
pathParts = rawPath.split('/')
|
||||
const pathParts = rawPath.split('/')
|
||||
|
||||
// drop first '/'
|
||||
pathParts.shift()
|
||||
@@ -74,7 +17,7 @@ module.exports = async (req, res, next) => {
|
||||
pathParts.shift()
|
||||
|
||||
const productPath = path.posix.join('/', req.context.currentProduct)
|
||||
product = req.context.siteTree[req.language][req.context.currentVersion].products[req.context.currentProduct]
|
||||
const product = req.context.siteTree[req.language][req.context.currentVersion].products[req.context.currentProduct]
|
||||
|
||||
req.context.breadcrumbs.product = {
|
||||
href: path.posix.join('/', req.context.currentVersion, productPath),
|
||||
@@ -86,8 +29,7 @@ module.exports = async (req, res, next) => {
|
||||
// get category path
|
||||
// e.g., `getting-started-with-github` in /free-pro-team@latest/github/getting-started-with-github
|
||||
// or /enterprise-server@2.21/github/getting-started-with-github
|
||||
categoryPath = path.posix.join('/', req.context.currentVersion, productPath, pathParts[1])
|
||||
}
|
||||
const categoryPath = path.posix.join('/', req.context.currentVersion, productPath, pathParts[1])
|
||||
|
||||
const category = product.categories[categoryPath]
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ const allProducts = require('../lib/all-products')
|
||||
const activeProducts = Object.values(allProducts).filter(product => !product.wip)
|
||||
const { getVersionStringFromPath, getProductStringFromPath, getPathWithoutLanguage } = require('../lib/path-utils')
|
||||
const productNames = require('../lib/product-names')
|
||||
const patterns = require('../lib/patterns')
|
||||
const warmServer = require('../lib/warm-server')
|
||||
const featureFlags = Object.keys(require('../feature-flags'))
|
||||
|
||||
@@ -25,31 +24,19 @@ module.exports = async function contextualize (req, res, next) {
|
||||
// define each context property explicitly for code-search friendliness
|
||||
// e.g. searches for "req.context.page" will include results from this file
|
||||
req.context.currentLanguage = req.language
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
req.context.currentVersion = getVersionStringFromPath(req.path)
|
||||
req.context.currentProduct = getProductStringFromPath(req.path)
|
||||
req.context.allProducts = allProducts
|
||||
req.context.activeProducts = activeProducts
|
||||
req.context.allVersions = allVersions
|
||||
req.context.currentPathWithoutLanguage = getPathWithoutLanguage(req.path)
|
||||
}
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
req.context.currentVersion = getVersion(req.path)
|
||||
req.context.currentPathWithoutLanguage = getPathWithoutLanguage(req.path).replace(patterns.getEnterpriseVersionlessPath, '$1/')
|
||||
}
|
||||
req.context.currentPath = req.path
|
||||
req.context.query = req.query
|
||||
req.context.languages = languages
|
||||
req.context.earlyAccessPaths = earlyAccessPaths
|
||||
req.context.enterpriseVersions = enterpriseServerReleases
|
||||
req.context.productNames = productNames
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
req.context.enterpriseServerReleases = enterpriseServerReleases
|
||||
}
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
req.context.enterpriseVersions = enterpriseServerReleases
|
||||
req.context.productNames = productNames
|
||||
}
|
||||
req.context.redirects = redirects
|
||||
req.context.site = site[req.language].site
|
||||
req.context.siteTree = siteTree
|
||||
@@ -57,15 +44,3 @@ module.exports = async function contextualize (req, res, next) {
|
||||
|
||||
return next()
|
||||
}
|
||||
|
||||
// infer the version from the request path
|
||||
// /en/articles/foo -> dotcom
|
||||
// /en/enterprise/2.14/user/articles/foo -> 2.14
|
||||
// /en/enterprise/user/articles/foo -> latest GHES version
|
||||
function getVersion (requestPath) {
|
||||
const versionNumber = requestPath.match(patterns.getEnterpriseVersionNumber)
|
||||
|
||||
return patterns.enterprise.test(requestPath)
|
||||
? versionNumber ? versionNumber[1] : enterpriseServerReleases.latest
|
||||
: 'dotcom'
|
||||
}
|
||||
|
||||
@@ -14,9 +14,7 @@ module.exports = async (req, res, next) => {
|
||||
if (!req.path.includes('/graphql/')) return next()
|
||||
|
||||
// TODO need to update this to the new versions in coordination with the updater scripts
|
||||
const currentOldVersion = process.env.FEATURE_NEW_VERSIONS
|
||||
? getOldVersionFromNewVersion(req.context.currentVersion)
|
||||
: req.context.currentVersion
|
||||
const currentOldVersion = getOldVersionFromNewVersion(req.context.currentVersion)
|
||||
|
||||
req.context.graphql = {
|
||||
schemaForCurrentVersion: require(`../../lib/graphql/static/schema-${currentOldVersion}`),
|
||||
|
||||
@@ -6,9 +6,7 @@ module.exports = async function (req, res, next) {
|
||||
req.context.rest = rest
|
||||
|
||||
// TODO need to update this to the new versions in coordination with the updater scripts
|
||||
const currentOldVersion = process.env.FEATURE_NEW_VERSIONS
|
||||
? getOldVersionFromNewVersion(req.context.currentVersion)
|
||||
: req.context.currentVersion
|
||||
const currentOldVersion = getOldVersionFromNewVersion(req.context.currentVersion)
|
||||
|
||||
// link to include in `Works with GitHub Apps` notes
|
||||
// e.g. /ja/rest/reference/apps or /en/enterprise/2.20/user/rest/reference/apps
|
||||
|
||||
@@ -5,9 +5,7 @@ const { getOldVersionFromNewVersion } = require('../../lib/old-versions-utils')
|
||||
|
||||
module.exports = async (req, res, next) => {
|
||||
// TODO need to update this to the new versions in coordination with the updater scripts
|
||||
const currentOldVersion = process.env.FEATURE_NEW_VERSIONS
|
||||
? getOldVersionFromNewVersion(req.context.currentVersion)
|
||||
: req.context.currentVersion
|
||||
const currentOldVersion = getOldVersionFromNewVersion(req.context.currentVersion)
|
||||
|
||||
const webhookPayloadsForCurrentVersion = webhookPayloads[currentOldVersion]
|
||||
|
||||
|
||||
@@ -30,9 +30,7 @@ async function getLinkData (rawLinks, context) {
|
||||
const linkedPage = findPage(href, context.pages, context.redirects, context.currentLanguage)
|
||||
if (!linkedPage) continue
|
||||
|
||||
const applicableVersions = process.env.FEATURE_NEW_VERSIONS
|
||||
? getApplicableVersions(linkedPage.versions, linkedPage.fullPath)
|
||||
: getApplicableVersions(linkedPage.productVersions, linkedPage.fullPath)
|
||||
const applicableVersions = getApplicableVersions(linkedPage.versions, linkedPage.fullPath)
|
||||
|
||||
// skip link if this is not the homepage and the link's versions do not include the current version
|
||||
if (context.currentVersion !== 'homepage' && !applicableVersions.includes(context.currentVersion)) continue
|
||||
|
||||
@@ -20,7 +20,6 @@ module.exports = function (app) {
|
||||
app.use(require('./redirects/help-to-docs'))
|
||||
app.use(require('./set-fastly-cache-headers'))
|
||||
app.use(require('./handle-invalid-paths'))
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) app.use(require('./enterprise-homepage'))
|
||||
app.use(require('./loaderio-verification'))
|
||||
app.use(require('./cors'))
|
||||
app.use(require('./csp'))
|
||||
@@ -41,13 +40,11 @@ module.exports = function (app) {
|
||||
app.use(require('./early-access-paths'))
|
||||
app.use(require('./early-access-proxy'))
|
||||
app.use(require('./find-page'))
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) app.use(require('./products'))
|
||||
app.use(require('./notices'))
|
||||
app.use(require('./archived-enterprise-versions'))
|
||||
app.use(require('./archived-enterprise-versions-assets'))
|
||||
app.use('/assets', express.static('assets'))
|
||||
app.use('/public', express.static('data/graphql'))
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) app.use(require('./homepages'))
|
||||
app.use(require('./redirects/language-code-redirects'))
|
||||
// redirects need to be handled before the contextualizers
|
||||
app.use(require('./redirects/handle-redirects'))
|
||||
|
||||
@@ -22,9 +22,7 @@ module.exports = (req, res, next) => {
|
||||
language.wip
|
||||
)
|
||||
|
||||
const currentProduct = process.env.FEATURE_NEW_VERSIONS
|
||||
? req.context.allProducts[req.context.currentProduct]
|
||||
: req.context.currentProduct
|
||||
const currentProduct = req.context.allProducts[req.context.currentProduct]
|
||||
|
||||
// if this is the homepage and no product is chosen yet, return early
|
||||
if (!currentProduct) return next()
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
require('../lib/feature-flags')
|
||||
const path = require('path')
|
||||
const assert = require('assert')
|
||||
const patterns = require('../lib/patterns')
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
require('../../lib/feature-flags')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const mkdirp = require('mkdirp').sync
|
||||
@@ -12,26 +11,23 @@ const graphqlStaticDir = path.join(process.cwd(), 'lib/graphql/static')
|
||||
const { getContents } = require('../../lib/git-utils')
|
||||
const dataFilenames = require('./utils/data-filenames')
|
||||
const { oldVersions } = require('../../lib/old-versions-utils')
|
||||
const allVersions = require('../../lib/all-versions')
|
||||
const processPreviews = require('./utils/process-previews')
|
||||
const processUpcomingChanges = require('./utils/process-upcoming-changes')
|
||||
const processSchemas = require('./utils/process-schemas')
|
||||
const prerenderObjects = require('./utils/prerender-objects')
|
||||
|
||||
// TODO need to update this to the new versions
|
||||
// for now, fall back to the old versions for use in schema filenames
|
||||
const versions = process.env.FEATURE_NEW_VERSIONS ? oldVersions : allVersions
|
||||
|
||||
// TODO this step is only required as long as we support GHE versions *OLDER THAN* 2.21
|
||||
// as soon as 2.20 is deprecated on 2021-02-11, we can remove all graphql-ruby filtering
|
||||
const removeHiddenMembersScript = path.join(__dirname, './utils/remove-hidden-schema-members.rb')
|
||||
|
||||
// optionally build only 'dotcom' or any GHE version by passing the number ('2.20')
|
||||
let versionsToBuild = versions
|
||||
// TODO need to update this to the new versions
|
||||
// for now, fall back to the old versions for use in schema filenames
|
||||
let versionsToBuild = oldVersions
|
||||
|
||||
if (process.argv.length === 3) {
|
||||
const version = process.argv[2]
|
||||
assert(versions.includes(version), `'${version}' is not valid! must be one of: ${versions}`)
|
||||
assert(oldVersions.includes(version), `'${version}' is not valid! must be one of: ${oldVersions}`)
|
||||
versionsToBuild = [version]
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
//
|
||||
// [end-readme]
|
||||
|
||||
require('../lib/feature-flags')
|
||||
require('make-promises-safe')
|
||||
|
||||
main()
|
||||
|
||||
@@ -1,20 +1,11 @@
|
||||
/* global page */
|
||||
require('../../lib/feature-flags')
|
||||
const sleep = require('await-sleep')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('homepage', () => {
|
||||
testFeatureNewVersions('should be titled "GitHub Documentation"', async () => {
|
||||
test('should be titled "GitHub Documentation"', async () => {
|
||||
await page.goto('http://localhost:4001')
|
||||
await expect(page.title()).resolves.toMatch('GitHub Documentation')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('should be titled "GitHub.com Help"', async () => {
|
||||
await page.goto('http://localhost:4001')
|
||||
await expect(page.title()).resolves.toMatch('GitHub.com Help')
|
||||
})
|
||||
})
|
||||
|
||||
describe('algolia browser search', () => {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const path = require('path')
|
||||
const fs = require('fs')
|
||||
const walk = require('walk-sync')
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
require('../../lib/feature-flags')
|
||||
const { getDOM, getJSON } = require('../helpers')
|
||||
const enterpriseServerReleases = require('../../lib/enterprise-server-releases')
|
||||
const japaneseCharacters = require('japanese-characters')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('gettingStartedLinks and popularLinks', () => {
|
||||
jest.setTimeout(3 * 60 * 1000)
|
||||
|
||||
@@ -16,7 +12,7 @@ describe('gettingStartedLinks and popularLinks', () => {
|
||||
expect($('.featured-links')).toHaveLength(0)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('landing page intro links have expected properties', async () => {
|
||||
test('landing page intro links have expected properties', async () => {
|
||||
const $ = await getDOM('/en')
|
||||
const $featuredLinks = $('.featured-links a')
|
||||
expect($featuredLinks).toHaveLength(9)
|
||||
@@ -29,19 +25,6 @@ describe('gettingStartedLinks and popularLinks', () => {
|
||||
expect($featuredLinks.eq(8).children('p').text().startsWith('You can create a website')).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('landing page intro links have expected properties', async () => {
|
||||
const $ = await getDOM('/en')
|
||||
const $featuredLinks = $('.featured-links a')
|
||||
expect($featuredLinks).toHaveLength(9)
|
||||
expect($featuredLinks.eq(0).attr('href')).toBe('/en/github/getting-started-with-github/set-up-git')
|
||||
expect($featuredLinks.eq(0).children('h4').text().startsWith('Set up Git')).toBe(true)
|
||||
expect($featuredLinks.eq(0).children('p').text().startsWith('At the heart of GitHub')).toBe(true)
|
||||
|
||||
expect($featuredLinks.eq(8).attr('href')).toBe('/en/github/working-with-github-pages')
|
||||
expect($featuredLinks.eq(8).children('h4').text().startsWith('GitHub Pages')).toBe(true)
|
||||
expect($featuredLinks.eq(8).children('p').text().startsWith('You can create a website')).toBe(true)
|
||||
})
|
||||
|
||||
test('localized intro links link to localized pages', async () => {
|
||||
const $ = await getDOM('/ja')
|
||||
const $featuredLinks = $('.featured-links a')
|
||||
@@ -51,7 +34,7 @@ describe('gettingStartedLinks and popularLinks', () => {
|
||||
expect(japaneseCharacters.presentIn($featuredLinks.eq(0).children('p').text())).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('Enterprise user intro links have expected values', async () => {
|
||||
test('Enterprise user intro links have expected values', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/user/insights`)
|
||||
const $featuredLinks = $('.featured-links a')
|
||||
expect($featuredLinks).toHaveLength(6)
|
||||
@@ -60,15 +43,6 @@ describe('gettingStartedLinks and popularLinks', () => {
|
||||
expect($featuredLinks.eq(0).children('p').text().startsWith('GitHub Insights provides metrics')).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('Enterprise user intro links have expected values', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/user/insights`)
|
||||
const $featuredLinks = $('.featured-links a')
|
||||
expect($featuredLinks).toHaveLength(6)
|
||||
expect($featuredLinks.eq(0).attr('href')).toBe(`/en/enterprise/${enterpriseServerReleases.latest}/user/insights/installing-and-configuring-github-insights/about-github-insights`)
|
||||
expect($featuredLinks.eq(0).children('h4').text().startsWith('About GitHub Insights')).toBe(true)
|
||||
expect($featuredLinks.eq(0).children('p').text().startsWith('GitHub Insights provides metrics')).toBe(true)
|
||||
})
|
||||
|
||||
test('featured links respect versioning', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/user/packages`)
|
||||
const $featuredLinks = $('.featured-links a')
|
||||
@@ -80,7 +54,7 @@ describe('gettingStartedLinks and popularLinks', () => {
|
||||
})
|
||||
|
||||
describe('context.page object', () => {
|
||||
testFeatureNewVersions('returns modified array of links', async () => {
|
||||
test('returns modified array of links', async () => {
|
||||
const gettingStartedLinks = await getJSON('/en?json=gettingStartedLinks')
|
||||
const expectedFirstLink = {
|
||||
href: `/en/${nonEnterpriseDefaultVersion}/github/getting-started-with-github/set-up-git`,
|
||||
@@ -91,17 +65,6 @@ describe('gettingStartedLinks and popularLinks', () => {
|
||||
expect(gettingStartedLinks[0].intro.startsWith('At the heart of GitHub')).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('returns modified array of links', async () => {
|
||||
const gettingStartedLinks = await getJSON('/en?json=gettingStartedLinks')
|
||||
const expectedFirstLink = {
|
||||
href: '/en/github/getting-started-with-github/set-up-git',
|
||||
title: 'Set up Git'
|
||||
}
|
||||
expect(gettingStartedLinks[0].href).toEqual(expectedFirstLink.href)
|
||||
expect(gettingStartedLinks[0].title).toEqual(expectedFirstLink.title)
|
||||
expect(gettingStartedLinks[0].intro.startsWith('At the heart of GitHub')).toBe(true)
|
||||
})
|
||||
|
||||
test('returns raw array of links on the page object', async () => {
|
||||
const rawGettingStartedLinks = await getJSON('/en?json=page.rawGettingStartedLinks')
|
||||
expect(rawGettingStartedLinks[0]).toEqual('/github/getting-started-with-github/set-up-git')
|
||||
|
||||
@@ -3,14 +3,14 @@ const upcomingChangesJson = require('../../lib/graphql/static/upcoming-changes')
|
||||
const prerenderedObjectsJson = require('../../lib/graphql/static/prerendered-objects')
|
||||
const { schemaValidator, previewsValidator, upcomingChangesValidator } = require('../../lib/graphql/validator')
|
||||
const revalidator = require('revalidator')
|
||||
const allVersions = require('../../lib/all-versions')
|
||||
const { oldVersions } = require('../../lib/old-versions-utils')
|
||||
const graphqlTypes = require('../../lib/graphql/types').map(t => t.kind)
|
||||
|
||||
describe('graphql json files', () => {
|
||||
jest.setTimeout(3 * 60 * 1000)
|
||||
|
||||
test('static files have versions as top-level keys', () => {
|
||||
allVersions.forEach(version => {
|
||||
oldVersions.forEach(version => {
|
||||
expect(version in previewsJson).toBe(true)
|
||||
expect(version in upcomingChangesJson).toBe(true)
|
||||
expect(version in prerenderedObjectsJson).toBe(true)
|
||||
@@ -18,7 +18,7 @@ describe('graphql json files', () => {
|
||||
})
|
||||
|
||||
test('schemas object validation', () => {
|
||||
allVersions.forEach(version => {
|
||||
oldVersions.forEach(version => {
|
||||
const schemaJsonPerVersion = require(`../../lib/graphql/static/schema-${version}`)
|
||||
// all graphql types are arrays except for queries
|
||||
graphqlTypes
|
||||
@@ -48,7 +48,7 @@ describe('graphql json files', () => {
|
||||
})
|
||||
|
||||
test('previews object validation', () => {
|
||||
allVersions.forEach(version => {
|
||||
oldVersions.forEach(version => {
|
||||
previewsJson[version].forEach(previewObj => {
|
||||
const { valid, errors } = revalidator.validate(previewObj, previewsValidator)
|
||||
const errorMessage = JSON.stringify(errors, null, 2)
|
||||
@@ -58,7 +58,7 @@ describe('graphql json files', () => {
|
||||
})
|
||||
|
||||
test('upcoming changes object validation', () => {
|
||||
allVersions.forEach(version => {
|
||||
oldVersions.forEach(version => {
|
||||
Object.values(upcomingChangesJson[version]).forEach(changes => {
|
||||
// each object value is an array of changes
|
||||
changes.forEach(changeObj => {
|
||||
@@ -71,7 +71,7 @@ describe('graphql json files', () => {
|
||||
})
|
||||
|
||||
test('prerendered objects validation', () => {
|
||||
allVersions.forEach(version => {
|
||||
oldVersions.forEach(version => {
|
||||
// shape of prerenderedObject: {
|
||||
// html: <div>foo</div>,
|
||||
// miniToc: {contents: '<a>bar</a>', headingLevel: N, indentationLevel: N}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const path = require('path')
|
||||
const fs = require('fs')
|
||||
const walk = require('walk-sync')
|
||||
@@ -15,9 +14,6 @@ const variablesDir = path.join(rootDir, 'data/variables')
|
||||
|
||||
const languageCodes = Object.keys(languages)
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
// WARNING: Complicated RegExp below!
|
||||
//
|
||||
// Things matched by this RegExp:
|
||||
@@ -128,7 +124,7 @@ describe('lint-files', () => {
|
||||
content = bodyContent
|
||||
})
|
||||
|
||||
testFeatureNewVersions('relative URLs must start with "/"', async () => {
|
||||
test('relative URLs must start with "/"', async () => {
|
||||
const initialMatches = (content.match(relativeArticleLinkRegex) || [])
|
||||
|
||||
// Filter out some very specific false positive matches
|
||||
@@ -180,65 +176,13 @@ describe('lint-files', () => {
|
||||
expect(matches.length, errorMessage).toBe(0)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('relative URLs must start with "/"', async () => {
|
||||
const initialMatches = (content.match(relativeArticleLinkRegex) || [])
|
||||
|
||||
// Filter out some very specific false positive matches
|
||||
const matches = initialMatches.filter(match => {
|
||||
if (markdownRelPath === 'content/github/enforcing-best-practices-with-github-policies/overview.md') {
|
||||
if (match === '[A-Z]([a-z]|-)') {
|
||||
return false
|
||||
}
|
||||
} else if (markdownRelPath === 'content/github/enforcing-best-practices-with-github-policies/constraints.md') {
|
||||
if (match === '[a-z]([a-z]|-)') {
|
||||
return false
|
||||
}
|
||||
} else if (markdownRelPath === 'content/github/building-a-strong-community/editing-wiki-content.md') {
|
||||
if (match === '[Link Text](full-URL-of-wiki-page)') {
|
||||
return false
|
||||
}
|
||||
} else if (markdownRelPath === 'content/enterprise/admin/user-management/configuring-email-for-notifications.md') {
|
||||
if (/^\[\d+\]: (?:connect|disconnect|[0-9A-F]+:)\s*$/.test(match)) {
|
||||
return false
|
||||
}
|
||||
} else if (markdownRelPath === 'content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md') {
|
||||
if (/^\[\d+\]: (?:Starting|Started|√|\d{4}-\d{2}-\d{2})\s*$/.test(match)) {
|
||||
return false
|
||||
}
|
||||
} else if (markdownRelPath === 'content/github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning.md') {
|
||||
if (/^\[(?:here|ruleIndex|ruleID)\]\(\d+\)\s*$/.test(match)) {
|
||||
return false
|
||||
}
|
||||
} else if (markdownRelPath === 'content/github/building-a-strong-community/manually-creating-a-single-issue-template-for-your-repository.md') {
|
||||
if (match === '[DATE]: [FEATURE ') {
|
||||
return false
|
||||
}
|
||||
} else if (markdownRelPath === 'content/rest/overview/libraries.md') {
|
||||
if (
|
||||
match === '[pithub-github] ([CPAN][pithub-cpan])' ||
|
||||
match === '[net-github-github] ([CPAN][net-github-cpan])'
|
||||
) {
|
||||
return false
|
||||
}
|
||||
} else if (markdownRelPath === 'data/reusables/repositories/relative-links.md') {
|
||||
if (match === '[Contribution guidelines for this project](docs/CONTRIBUTING.md)') {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
})
|
||||
|
||||
const errorMessage = formatLinkError(relativeArticleLinkErrorText, matches)
|
||||
expect(matches.length, errorMessage).toBe(0)
|
||||
})
|
||||
|
||||
test('URLs must not contain a hard-coded language code', async () => {
|
||||
const matches = (content.match(languageLinkRegex) || [])
|
||||
const errorMessage = formatLinkError(languageLinkErrorText, matches)
|
||||
expect(matches.length, errorMessage).toBe(0)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('URLs must not contain a hard-coded version number', async () => {
|
||||
test('URLs must not contain a hard-coded version number', async () => {
|
||||
const initialMatches = (content.match(versionLinkRegEx) || [])
|
||||
|
||||
// Filter out some very specific false positive matches
|
||||
@@ -253,21 +197,6 @@ describe('lint-files', () => {
|
||||
expect(matches.length, errorMessage).toBe(0)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('URLs must not contain a hard-coded version number', async () => {
|
||||
const initialMatches = (content.match(versionLinkRegEx) || [])
|
||||
|
||||
// Filter out some very specific false positive matches
|
||||
const matches = initialMatches.filter(match => {
|
||||
if (markdownRelPath === 'content/enterprise/admin/enterprise-management/migrating-from-github-enterprise-1110x-to-2123.md') {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
})
|
||||
|
||||
const errorMessage = formatLinkError(versionLinkErrorText, matches)
|
||||
expect(matches.length, errorMessage).toBe(0)
|
||||
})
|
||||
|
||||
test('URLs must not contain a hard-coded domain name', async () => {
|
||||
const matches = (content.match(domainLinkRegex) || [])
|
||||
const errorMessage = formatLinkError(domainLinkErrorText, matches)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const { isEqual, get, uniqBy } = require('lodash')
|
||||
const loadSiteData = require('../../lib/site-data')
|
||||
const loadPages = require('../../lib/pages')
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const { get, isPlainObject, has } = require('lodash')
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const revalidator = require('revalidator')
|
||||
const schema = require('../../lib/site-tree-schema')
|
||||
const latestEnterpriseRelease = require('../../lib/enterprise-server-releases').latest
|
||||
@@ -7,9 +6,6 @@ const flat = require('flat')
|
||||
const japaneseCharacters = require('japanese-characters')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('siteTree', () => {
|
||||
jest.setTimeout(3 * 60 * 1000)
|
||||
|
||||
@@ -25,34 +21,21 @@ describe('siteTree', () => {
|
||||
expect('ja' in siteTree).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('object order', () => {
|
||||
test('object order', () => {
|
||||
expect(Object.keys(siteTree)[0]).toBe('en')
|
||||
expect(Object.keys(siteTree.en)[0]).toBe(nonEnterpriseDefaultVersion)
|
||||
expect(Object.keys(siteTree.en[nonEnterpriseDefaultVersion].products.github.categories)[0]).toBe(`/${nonEnterpriseDefaultVersion}/github/getting-started-with-github`)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('object order', () => {
|
||||
expect(Object.keys(siteTree)[0]).toBe('en')
|
||||
expect(Object.keys(siteTree.en)[0]).toBe('dotcom')
|
||||
expect(Object.keys(siteTree.en.dotcom.products.github.categories)[0]).toBe('/github/getting-started-with-github')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('object structure', () => {
|
||||
test('object structure', () => {
|
||||
expect(nonEnterpriseDefaultVersion in siteTree.en).toBe(true)
|
||||
expect(`enterprise-server@${latestEnterpriseRelease}` in siteTree.en).toBe(true)
|
||||
expect(flatTree[`en.${nonEnterpriseDefaultVersion}.products.github.href`]).toBe(`/${nonEnterpriseDefaultVersion}/github`)
|
||||
expect(flatTree[`en.${nonEnterpriseDefaultVersion}.products.github.categories./${nonEnterpriseDefaultVersion}/github/getting-started-with-github.href`]).toBe(`/${nonEnterpriseDefaultVersion}/github/getting-started-with-github`)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('object structure', () => {
|
||||
expect('dotcom' in siteTree.en).toBe(true)
|
||||
expect(latestEnterpriseRelease in siteTree.en).toBe(true)
|
||||
expect(flatTree['en.dotcom.products.github.href']).toBe('/github')
|
||||
expect(flatTree['en.dotcom.products.github.categories./github/getting-started-with-github.href']).toBe('/github/getting-started-with-github')
|
||||
})
|
||||
|
||||
describe('localized titles', () => {
|
||||
testFeatureNewVersions('titles for categories', () => {
|
||||
test('titles for categories', () => {
|
||||
const japaneseTitle = flatTree[`ja.${nonEnterpriseDefaultVersion}.products.github.categories./${nonEnterpriseDefaultVersion}/github/getting-started-with-github.title`]
|
||||
expect(typeof japaneseTitle).toBe('string')
|
||||
expect(japaneseCharacters.presentIn(japaneseTitle)).toBe(true)
|
||||
@@ -62,21 +45,11 @@ describe('siteTree', () => {
|
||||
expect(japaneseCharacters.presentIn(englishTitle)).toBe(false)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('titles for categories', () => {
|
||||
const japaneseTitle = flatTree['ja.dotcom.products.github.categories./github/getting-started-with-github.title']
|
||||
expect(typeof japaneseTitle).toBe('string')
|
||||
expect(japaneseCharacters.presentIn(japaneseTitle)).toBe(true)
|
||||
|
||||
const englishTitle = flatTree['en.dotcom.products.github.categories./github/getting-started-with-github.title']
|
||||
expect(typeof englishTitle).toBe('string')
|
||||
expect(japaneseCharacters.presentIn(englishTitle)).toBe(false)
|
||||
})
|
||||
|
||||
test.todo('titles for maptopics')
|
||||
|
||||
test.todo('titles for articles')
|
||||
|
||||
testFeatureNewVersions('articles that include site data in liquid templating', () => {
|
||||
test('articles that include site data in liquid templating', () => {
|
||||
const pageWithDynamicTitle = siteTree.en[`enterprise-server@${latestEnterpriseRelease}`]
|
||||
.products.admin
|
||||
.categories[`/enterprise-server@${latestEnterpriseRelease}/admin/enterprise-support`]
|
||||
@@ -84,18 +57,9 @@ describe('siteTree', () => {
|
||||
// title: 'Working with {{ site.data.variables.contact.github_support }}'
|
||||
expect(pageWithDynamicTitle.title).toEqual('Working with GitHub Support')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('articles that include site data in liquid templating', () => {
|
||||
const pageWithDynamicTitle = siteTree.en[latestEnterpriseRelease]
|
||||
.products.enterpriseServer
|
||||
.categories[`/enterprise/${latestEnterpriseRelease}/admin/enterprise-support`]
|
||||
// Source frontmatter from article:
|
||||
// title: 'Working with {{ site.data.variables.contact.github_support }}'
|
||||
expect(pageWithDynamicTitle.title).toEqual('Working with GitHub Support')
|
||||
})
|
||||
})
|
||||
|
||||
testFeatureNewVersions('object validation', () => {
|
||||
test('object validation', () => {
|
||||
const products = Object.values(siteTree.en[nonEnterpriseDefaultVersion].products)
|
||||
expect(products.length).toBeGreaterThan(0)
|
||||
|
||||
@@ -117,27 +81,4 @@ describe('siteTree', () => {
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
testFeatureOldVersions('object validation', () => {
|
||||
const products = Object.values(siteTree.en.dotcom.products)
|
||||
expect(products.length).toBeGreaterThan(0)
|
||||
|
||||
products.forEach(product => {
|
||||
const { valid, errors } = revalidator.validate(product, schema.product)
|
||||
const expectation = JSON.stringify(errors, null, 2)
|
||||
expect(valid, expectation).toBe(true)
|
||||
|
||||
Object.values(product.categories || {}).forEach(category => {
|
||||
const { valid, errors } = revalidator.validate(category, schema.category)
|
||||
const expectation = JSON.stringify(errors, null, 2)
|
||||
expect(valid, expectation).toBe(true)
|
||||
|
||||
Object.values(category.maptopics || {}).forEach(maptopic => {
|
||||
const { valid, errors } = revalidator.validate(maptopic, schema.maptopic)
|
||||
const expectation = JSON.stringify(errors, null, 2)
|
||||
expect(valid, expectation).toBe(true)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,45 +1,27 @@
|
||||
require('../../lib/feature-flags')
|
||||
const { difference } = require('lodash')
|
||||
const { getJSON } = require('../helpers')
|
||||
const { latest } = require('../../lib/enterprise-server-releases')
|
||||
const allVersions = require('../../lib/all-versions')
|
||||
const { oldVersions } = require('../../lib/old-versions-utils')
|
||||
const webhookPayloads = require('../../lib/webhooks')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('webhook payloads', () => {
|
||||
jest.setTimeout(3 * 60 * 1000)
|
||||
|
||||
// TODO update this test when we update the webhook payload filepaths
|
||||
testFeatureNewVersions('have old versions as top-level keys', () => {
|
||||
test('have old versions as top-level keys', () => {
|
||||
oldVersions.forEach(version => {
|
||||
expect(version in webhookPayloads).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
testFeatureOldVersions('have current versions as top-level keys', () => {
|
||||
allVersions.forEach(version => {
|
||||
expect(version in webhookPayloads).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
// TODO update this test when we update the webhook payload filepaths
|
||||
testFeatureNewVersions('have a reasonable number of payloads per version', () => {
|
||||
test('have a reasonable number of payloads per version', () => {
|
||||
oldVersions.forEach(version => {
|
||||
const payloadsPerVersion = Object.keys(webhookPayloads[version])
|
||||
expect(payloadsPerVersion.length).toBeGreaterThan(20)
|
||||
})
|
||||
})
|
||||
|
||||
testFeatureOldVersions('have a reasonable number of payloads per version', () => {
|
||||
allVersions.forEach(version => {
|
||||
const payloadsPerVersion = Object.keys(webhookPayloads[version])
|
||||
expect(payloadsPerVersion.length).toBeGreaterThan(20)
|
||||
})
|
||||
})
|
||||
|
||||
test('have payloads that are JSON strings, not objects', () => {
|
||||
// use the first one found for testing purposes
|
||||
const firstKey = Object.keys(webhookPayloads.dotcom)[0]
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
title: GitHub 上でプロジェクトを探索する
|
||||
intro: ''
|
||||
mapTopic: verdadero
|
||||
productVersions:
|
||||
dotcom: '*'
|
||||
enterprise: '*'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '*'
|
||||
---
|
||||
|
||||
|
||||
110
tests/fixtures/developer-redirects.json
vendored
110
tests/fixtures/developer-redirects.json
vendored
@@ -1,26 +1,26 @@
|
||||
{
|
||||
"/apps": "/en/developers/apps",
|
||||
"/apps/building-github-apps": "/en/developers/apps/building-github-apps",
|
||||
"/apps/building-oauth-apps": "/en/developers/apps/building-oauth-apps",
|
||||
"/apps/managing-github-apps": "/en/developers/apps/managing-github-apps",
|
||||
"/apps/managing-oauth-apps": "/en/developers/apps/managing-oauth-apps",
|
||||
"/apps/quickstart-guides": "/en/developers/apps/guides",
|
||||
"/marketplace": "/en/developers/github-marketplace",
|
||||
"/marketplace/getting-started": "/en/developers/github-marketplace/about-github-marketplace",
|
||||
"/marketplace/integrating-with-the-github-marketplace-api": "/en/developers/github-marketplace/using-the-github-marketplace-api-in-your-app",
|
||||
"/marketplace/listing-on-github-marketplace": "/en/developers/github-marketplace/listing-an-app-on-github-marketplace",
|
||||
"/marketplace/selling-your-app": "/en/developers/github-marketplace/selling-your-app-on-github-marketplace",
|
||||
"/v3": "/en/rest",
|
||||
"/v3/actions/workflow-jobs": "/en/rest/reference/actions#workflow-jobs",
|
||||
"/v3/actions/workflow-runs": "/en/rest/reference/actions#workflow-runs",
|
||||
"/v3/actions/workflow_jobs": "/en/rest/reference/actions#workflow-jobs",
|
||||
"/v3/actions/workflow_runs": "/en/rest/reference/actions#workflow-runs",
|
||||
"/v3/guides": "/en/rest/guides",
|
||||
"/v3/guides/managing-deploy-keys": "/en/developers/overview/managing-deploy-keys",
|
||||
"/v3/misc": "/en/rest/reference/emojis",
|
||||
"/v4/public_schema": "/en/graphql/overview/public-schema",
|
||||
"/v4/object/repository": "/en/graphql/reference/objects#repository",
|
||||
"/webhooks": "/en/developers/webhooks-and-events/about-webhooks",
|
||||
"/apps": "/en/free-pro-team@latest/developers/apps",
|
||||
"/apps/building-github-apps": "/en/free-pro-team@latest/developers/apps/building-github-apps",
|
||||
"/apps/building-oauth-apps": "/en/free-pro-team@latest/developers/apps/building-oauth-apps",
|
||||
"/apps/managing-github-apps": "/en/free-pro-team@latest/developers/apps/managing-github-apps",
|
||||
"/apps/managing-oauth-apps": "/en/free-pro-team@latest/developers/apps/managing-oauth-apps",
|
||||
"/apps/quickstart-guides": "/en/free-pro-team@latest/developers/apps/guides",
|
||||
"/marketplace": "/en/free-pro-team@latest/developers/github-marketplace",
|
||||
"/marketplace/getting-started": "/en/free-pro-team@latest/developers/github-marketplace/about-github-marketplace",
|
||||
"/marketplace/integrating-with-the-github-marketplace-api": "/en/free-pro-team@latest/developers/github-marketplace/using-the-github-marketplace-api-in-your-app",
|
||||
"/marketplace/listing-on-github-marketplace": "/en/free-pro-team@latest/developers/github-marketplace/listing-an-app-on-github-marketplace",
|
||||
"/marketplace/selling-your-app": "/en/free-pro-team@latest/developers/github-marketplace/selling-your-app-on-github-marketplace",
|
||||
"/v3": "/en/free-pro-team@latest/rest",
|
||||
"/v3/actions/workflow-jobs": "/en/free-pro-team@latest/rest/reference/actions#workflow-jobs",
|
||||
"/v3/actions/workflow-runs": "/en/free-pro-team@latest/rest/reference/actions#workflow-runs",
|
||||
"/v3/actions/workflow_jobs": "/en/free-pro-team@latest/rest/reference/actions#workflow-jobs",
|
||||
"/v3/actions/workflow_runs": "/en/free-pro-team@latest/rest/reference/actions#workflow-runs",
|
||||
"/v3/guides": "/en/free-pro-team@latest/rest/guides",
|
||||
"/v3/guides/managing-deploy-keys": "/en/free-pro-team@latest/developers/overview/managing-deploy-keys",
|
||||
"/v3/misc": "/en/free-pro-team@latest/rest/reference/emojis",
|
||||
"/v4/public_schema": "/en/free-pro-team@latest/graphql/overview/public-schema",
|
||||
"/v4/object/repository": "/en/free-pro-team@latest/graphql/reference/objects#repository",
|
||||
"/webhooks": "/en/free-pro-team@latest/developers/webhooks-and-events/about-webhooks",
|
||||
"/en/enterprise/2.18/apps": "/en/enterprise/2.18/user/developers/apps",
|
||||
"/en/enterprise/2.18/apps/building-oauth-apps/authorizing-oauth-apps": "/en/enterprise/2.18/user/developers/apps/authorizing-oauth-apps",
|
||||
"/en/enterprise/2.18/apps/building-oauth-apps/understanding-scopes-for-oauth-apps": "/en/enterprise/2.18/user/developers/apps/scopes-for-oauth-apps",
|
||||
@@ -32,37 +32,37 @@
|
||||
"/en/enterprise/2.18/v4/guides/intro-to-graphql": "/en/enterprise/2.18/user/graphql/guides/introduction-to-graphql",
|
||||
"/en/enterprise/2.18/v4/guides/migrating-from-rest": "/en/enterprise/2.18/user/graphql/guides/migrating-from-rest-to-graphql",
|
||||
"/en/enterprise/2.18/webhooks": "/en/enterprise/2.18/user/developers/webhooks-and-events/about-webhooks",
|
||||
"/en/enterprise/2.19/apps": "/en/enterprise/2.19/user/developers/apps",
|
||||
"/en/enterprise/2.19/apps/building-oauth-apps/authorizing-oauth-apps": "/en/enterprise/2.19/user/developers/apps/authorizing-oauth-apps",
|
||||
"/en/enterprise/2.19/apps/building-oauth-apps/understanding-scopes-for-oauth-apps": "/en/enterprise/2.19/user/developers/apps/scopes-for-oauth-apps",
|
||||
"/en/enterprise/2.19/apps/differences-between-apps": "/en/enterprise/2.19/user/developers/apps/differences-between-github-apps-and-oauth-apps",
|
||||
"/en/enterprise/2.19/v3/auth": "/en/enterprise/2.19/user/rest/overview/other-authentication-methods",
|
||||
"/en/enterprise/2.19/v3/guides/managing-deploy-keys": "/en/enterprise/2.19/user/developers/overview/managing-deploy-keys",
|
||||
"/en/enterprise/2.19/v4/explorer": "/en/enterprise/2.19/user/graphql/overview/explorer",
|
||||
"/en/enterprise/2.19/v4/guides/forming-calls": "/en/enterprise/2.19/user/graphql/guides/forming-calls-with-graphql",
|
||||
"/en/enterprise/2.19/v4/guides/intro-to-graphql": "/en/enterprise/2.19/user/graphql/guides/introduction-to-graphql",
|
||||
"/en/enterprise/2.19/v4/guides/migrating-from-rest": "/en/enterprise/2.19/user/graphql/guides/migrating-from-rest-to-graphql",
|
||||
"/en/enterprise/2.19/webhooks": "/en/enterprise/2.19/user/developers/webhooks-and-events/about-webhooks",
|
||||
"/en/enterprise/2.20/apps": "/en/enterprise/2.20/user/developers/apps",
|
||||
"/en/enterprise/2.20/apps/building-oauth-apps/authorizing-oauth-apps": "/en/enterprise/2.20/user/developers/apps/authorizing-oauth-apps",
|
||||
"/en/enterprise/2.20/apps/building-oauth-apps/understanding-scopes-for-oauth-apps": "/en/enterprise/2.20/user/developers/apps/scopes-for-oauth-apps",
|
||||
"/en/enterprise/2.20/apps/differences-between-apps": "/en/enterprise/2.20/user/developers/apps/differences-between-github-apps-and-oauth-apps",
|
||||
"/en/enterprise/2.20/v3/auth": "/en/enterprise/2.20/user/rest/overview/other-authentication-methods",
|
||||
"/en/enterprise/2.20/v3/guides/managing-deploy-keys": "/en/enterprise/2.20/user/developers/overview/managing-deploy-keys",
|
||||
"/en/enterprise/2.20/v4/explorer": "/en/enterprise/2.20/user/graphql/overview/explorer",
|
||||
"/en/enterprise/2.20/v4/guides/forming-calls": "/en/enterprise/2.20/user/graphql/guides/forming-calls-with-graphql",
|
||||
"/en/enterprise/2.20/v4/guides/intro-to-graphql": "/en/enterprise/2.20/user/graphql/guides/introduction-to-graphql",
|
||||
"/en/enterprise/2.20/v4/guides/migrating-from-rest": "/en/enterprise/2.20/user/graphql/guides/migrating-from-rest-to-graphql",
|
||||
"/en/enterprise/2.20/webhooks": "/en/enterprise/2.20/user/developers/webhooks-and-events/about-webhooks",
|
||||
"/en/enterprise/2.21/apps": "/en/enterprise/2.21/user/developers/apps",
|
||||
"/en/enterprise/2.21/apps/building-oauth-apps/authorizing-oauth-apps": "/en/enterprise/2.21/user/developers/apps/authorizing-oauth-apps",
|
||||
"/en/enterprise/2.21/apps/building-oauth-apps/understanding-scopes-for-oauth-apps": "/en/enterprise/2.21/user/developers/apps/scopes-for-oauth-apps",
|
||||
"/en/enterprise/2.21/apps/differences-between-apps": "/en/enterprise/2.21/user/developers/apps/differences-between-github-apps-and-oauth-apps",
|
||||
"/en/enterprise/2.21/v3/auth": "/en/enterprise/2.21/user/rest/overview/other-authentication-methods",
|
||||
"/en/enterprise/2.21/v3/guides/managing-deploy-keys": "/en/enterprise/2.21/user/developers/overview/managing-deploy-keys",
|
||||
"/en/enterprise/2.21/v4/explorer": "/en/enterprise/2.21/user/graphql/overview/explorer",
|
||||
"/en/enterprise/2.21/v4/guides/forming-calls": "/en/enterprise/2.21/user/graphql/guides/forming-calls-with-graphql",
|
||||
"/en/enterprise/2.21/v4/guides/intro-to-graphql": "/en/enterprise/2.21/user/graphql/guides/introduction-to-graphql",
|
||||
"/en/enterprise/2.21/v4/guides/migrating-from-rest": "/en/enterprise/2.21/user/graphql/guides/migrating-from-rest-to-graphql",
|
||||
"/en/enterprise/2.21/webhooks": "/en/enterprise/2.21/user/developers/webhooks-and-events/about-webhooks"
|
||||
"/en/enterprise/2.19/apps": "/en/enterprise-server@2.19/developers/apps",
|
||||
"/en/enterprise/2.19/apps/building-oauth-apps/authorizing-oauth-apps": "/en/enterprise-server@2.19/developers/apps/authorizing-oauth-apps",
|
||||
"/en/enterprise/2.19/apps/building-oauth-apps/understanding-scopes-for-oauth-apps": "/en/enterprise-server@2.19/developers/apps/scopes-for-oauth-apps",
|
||||
"/en/enterprise/2.19/apps/differences-between-apps": "/en/enterprise-server@2.19/developers/apps/differences-between-github-apps-and-oauth-apps",
|
||||
"/en/enterprise/2.19/v3/auth": "/en/enterprise-server@2.19/rest/overview/other-authentication-methods",
|
||||
"/en/enterprise/2.19/v3/guides/managing-deploy-keys": "/en/enterprise-server@2.19/developers/overview/managing-deploy-keys",
|
||||
"/en/enterprise/2.19/v4/explorer": "/en/enterprise-server@2.19/graphql/overview/explorer",
|
||||
"/en/enterprise/2.19/v4/guides/forming-calls": "/en/enterprise-server@2.19/graphql/guides/forming-calls-with-graphql",
|
||||
"/en/enterprise/2.19/v4/guides/intro-to-graphql": "/en/enterprise-server@2.19/graphql/guides/introduction-to-graphql",
|
||||
"/en/enterprise/2.19/v4/guides/migrating-from-rest": "/en/enterprise-server@2.19/graphql/guides/migrating-from-rest-to-graphql",
|
||||
"/en/enterprise/2.19/webhooks": "/en/enterprise-server@2.19/developers/webhooks-and-events/about-webhooks",
|
||||
"/en/enterprise/2.20/apps": "/en/enterprise-server@2.20/developers/apps",
|
||||
"/en/enterprise/2.20/apps/building-oauth-apps/authorizing-oauth-apps": "/en/enterprise-server@2.20/developers/apps/authorizing-oauth-apps",
|
||||
"/en/enterprise/2.20/apps/building-oauth-apps/understanding-scopes-for-oauth-apps": "/en/enterprise-server@2.20/developers/apps/scopes-for-oauth-apps",
|
||||
"/en/enterprise/2.20/apps/differences-between-apps": "/en/enterprise-server@2.20/developers/apps/differences-between-github-apps-and-oauth-apps",
|
||||
"/en/enterprise/2.20/v3/auth": "/en/enterprise-server@2.20/rest/overview/other-authentication-methods",
|
||||
"/en/enterprise/2.20/v3/guides/managing-deploy-keys": "/en/enterprise-server@2.20/developers/overview/managing-deploy-keys",
|
||||
"/en/enterprise/2.20/v4/explorer": "/en/enterprise-server@2.20/graphql/overview/explorer",
|
||||
"/en/enterprise/2.20/v4/guides/forming-calls": "/en/enterprise-server@2.20/graphql/guides/forming-calls-with-graphql",
|
||||
"/en/enterprise/2.20/v4/guides/intro-to-graphql": "/en/enterprise-server@2.20/graphql/guides/introduction-to-graphql",
|
||||
"/en/enterprise/2.20/v4/guides/migrating-from-rest": "/en/enterprise-server@2.20/graphql/guides/migrating-from-rest-to-graphql",
|
||||
"/en/enterprise/2.20/webhooks": "/en/enterprise-server@2.20/developers/webhooks-and-events/about-webhooks",
|
||||
"/en/enterprise/2.21/apps": "/en/enterprise-server@2.21/developers/apps",
|
||||
"/en/enterprise/2.21/apps/building-oauth-apps/authorizing-oauth-apps": "/en/enterprise-server@2.21/developers/apps/authorizing-oauth-apps",
|
||||
"/en/enterprise/2.21/apps/building-oauth-apps/understanding-scopes-for-oauth-apps": "/en/enterprise-server@2.21/developers/apps/scopes-for-oauth-apps",
|
||||
"/en/enterprise/2.21/apps/differences-between-apps": "/en/enterprise-server@2.21/developers/apps/differences-between-github-apps-and-oauth-apps",
|
||||
"/en/enterprise/2.21/v3/auth": "/en/enterprise-server@2.21/rest/overview/other-authentication-methods",
|
||||
"/en/enterprise/2.21/v3/guides/managing-deploy-keys": "/en/enterprise-server@2.21/developers/overview/managing-deploy-keys",
|
||||
"/en/enterprise/2.21/v4/explorer": "/en/enterprise-server@2.21/graphql/overview/explorer",
|
||||
"/en/enterprise/2.21/v4/guides/forming-calls": "/en/enterprise-server@2.21/graphql/guides/forming-calls-with-graphql",
|
||||
"/en/enterprise/2.21/v4/guides/intro-to-graphql": "/en/enterprise-server@2.21/graphql/guides/introduction-to-graphql",
|
||||
"/en/enterprise/2.21/v4/guides/migrating-from-rest": "/en/enterprise-server@2.21/graphql/guides/migrating-from-rest-to-graphql",
|
||||
"/en/enterprise/2.21/webhooks": "/en/enterprise-server@2.21/developers/webhooks-and-events/about-webhooks"
|
||||
}
|
||||
|
||||
720
tests/fixtures/graphql-redirects.json
vendored
720
tests/fixtures/graphql-redirects.json
vendored
@@ -41,186 +41,186 @@
|
||||
"/en/enterprise/2.18/v4/scalar/date": "/en/enterprise/2.18/user/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.18/v4/union": "/en/enterprise/2.18/user/graphql/reference/unions",
|
||||
"/en/enterprise/2.18/v4/union/auditentryactor": "/en/enterprise/2.18/user/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.19/user/v4/enum": "/en/enterprise/2.19/user/graphql/reference/enums",
|
||||
"/en/enterprise/2.19/user/v4/enum/auditlogorderfield": "/en/enterprise/2.19/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.19/user/v4/enum/checkannotationlevel": "/en/enterprise/2.19/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.19/user/v4/guides": "/en/enterprise/2.19/user/graphql/guides",
|
||||
"/en/enterprise/2.19/user/v4/input_object": "/en/enterprise/2.19/user/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.19/user/v4/interface": "/en/enterprise/2.19/user/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.19/user/v4/interface/actor": "/en/enterprise/2.19/user/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.19/user/v4/interface/assignable": "/en/enterprise/2.19/user/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.19/user/v4/mutation": "/en/enterprise/2.19/user/graphql/reference/mutations",
|
||||
"/en/enterprise/2.19/user/v4/object": "/en/enterprise/2.19/user/graphql/reference/objects",
|
||||
"/en/enterprise/2.19/user/v4/object/actorlocation": "/en/enterprise/2.19/user/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.19/user/v4/object/addedtoprojectevent": "/en/enterprise/2.19/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.19/user/v4/previews": "/en/enterprise/2.19/user/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.19/user/v4/public_schema": "/en/enterprise/2.19/user/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.19/user/v4/query": "/en/enterprise/2.19/user/graphql/reference/queries",
|
||||
"/en/enterprise/2.19/user/v4/reference": "/en/enterprise/2.19/user/graphql/reference",
|
||||
"/en/enterprise/2.19/user/v4/scalar": "/en/enterprise/2.19/user/graphql/reference/scalars",
|
||||
"/en/enterprise/2.19/user/v4/scalar/boolean": "/en/enterprise/2.19/user/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.19/user/v4/scalar/date": "/en/enterprise/2.19/user/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.19/user/v4/union": "/en/enterprise/2.19/user/graphql/reference/unions",
|
||||
"/en/enterprise/2.19/user/v4/union/assignee": "/en/enterprise/2.19/user/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.19/user/v4/union/auditentryactor": "/en/enterprise/2.19/user/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.19/v4/enum": "/en/enterprise/2.19/user/graphql/reference/enums",
|
||||
"/en/enterprise/2.19/v4/enum/auditlogorderfield": "/en/enterprise/2.19/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.19/v4/enum/checkannotationlevel": "/en/enterprise/2.19/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.19/v4/guides": "/en/enterprise/2.19/user/graphql/guides",
|
||||
"/en/enterprise/2.19/v4/input_object": "/en/enterprise/2.19/user/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.19/v4/interface": "/en/enterprise/2.19/user/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.19/v4/interface/actor": "/en/enterprise/2.19/user/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.19/v4/interface/assignable": "/en/enterprise/2.19/user/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.19/v4/mutation": "/en/enterprise/2.19/user/graphql/reference/mutations",
|
||||
"/en/enterprise/2.19/v4/object": "/en/enterprise/2.19/user/graphql/reference/objects",
|
||||
"/en/enterprise/2.19/v4/object/actorlocation": "/en/enterprise/2.19/user/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.19/v4/object/addedtoprojectevent": "/en/enterprise/2.19/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.19/v4/previews": "/en/enterprise/2.19/user/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.19/v4/public_schema": "/en/enterprise/2.19/user/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.19/v4/query": "/en/enterprise/2.19/user/graphql/reference/queries",
|
||||
"/en/enterprise/2.19/v4/reference": "/en/enterprise/2.19/user/graphql/reference",
|
||||
"/en/enterprise/2.19/v4/scalar": "/en/enterprise/2.19/user/graphql/reference/scalars",
|
||||
"/en/enterprise/2.19/v4/scalar/boolean": "/en/enterprise/2.19/user/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.19/v4/scalar/date": "/en/enterprise/2.19/user/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.19/v4/union": "/en/enterprise/2.19/user/graphql/reference/unions",
|
||||
"/en/enterprise/2.19/v4/union/assignee": "/en/enterprise/2.19/user/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.19/v4/union/auditentryactor": "/en/enterprise/2.19/user/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.20/user/v4/enum": "/en/enterprise/2.20/user/graphql/reference/enums",
|
||||
"/en/enterprise/2.20/user/v4/enum/auditlogorderfield": "/en/enterprise/2.20/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.20/user/v4/enum/checkannotationlevel": "/en/enterprise/2.20/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.20/user/v4/guides": "/en/enterprise/2.20/user/graphql/guides",
|
||||
"/en/enterprise/2.20/user/v4/input_object": "/en/enterprise/2.20/user/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.20/user/v4/interface": "/en/enterprise/2.20/user/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.20/user/v4/interface/actor": "/en/enterprise/2.20/user/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.20/user/v4/interface/assignable": "/en/enterprise/2.20/user/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.20/user/v4/mutation": "/en/enterprise/2.20/user/graphql/reference/mutations",
|
||||
"/en/enterprise/2.20/user/v4/object": "/en/enterprise/2.20/user/graphql/reference/objects",
|
||||
"/en/enterprise/2.20/user/v4/object/actorlocation": "/en/enterprise/2.20/user/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.20/user/v4/object/addedtoprojectevent": "/en/enterprise/2.20/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.20/user/v4/previews": "/en/enterprise/2.20/user/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.20/user/v4/public_schema": "/en/enterprise/2.20/user/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.20/user/v4/query": "/en/enterprise/2.20/user/graphql/reference/queries",
|
||||
"/en/enterprise/2.20/user/v4/reference": "/en/enterprise/2.20/user/graphql/reference",
|
||||
"/en/enterprise/2.20/user/v4/scalar": "/en/enterprise/2.20/user/graphql/reference/scalars",
|
||||
"/en/enterprise/2.20/user/v4/scalar/boolean": "/en/enterprise/2.20/user/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.20/user/v4/scalar/date": "/en/enterprise/2.20/user/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.20/user/v4/union": "/en/enterprise/2.20/user/graphql/reference/unions",
|
||||
"/en/enterprise/2.20/user/v4/union/assignee": "/en/enterprise/2.20/user/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.20/user/v4/union/auditentryactor": "/en/enterprise/2.20/user/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.20/v4/enum": "/en/enterprise/2.20/user/graphql/reference/enums",
|
||||
"/en/enterprise/2.20/v4/enum/auditlogorderfield": "/en/enterprise/2.20/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.20/v4/enum/checkannotationlevel": "/en/enterprise/2.20/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.20/v4/guides": "/en/enterprise/2.20/user/graphql/guides",
|
||||
"/en/enterprise/2.20/v4/input_object": "/en/enterprise/2.20/user/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.20/v4/interface": "/en/enterprise/2.20/user/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.20/v4/interface/actor": "/en/enterprise/2.20/user/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.20/v4/interface/assignable": "/en/enterprise/2.20/user/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.20/v4/mutation": "/en/enterprise/2.20/user/graphql/reference/mutations",
|
||||
"/en/enterprise/2.20/v4/object": "/en/enterprise/2.20/user/graphql/reference/objects",
|
||||
"/en/enterprise/2.20/v4/object/actorlocation": "/en/enterprise/2.20/user/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.20/v4/object/addedtoprojectevent": "/en/enterprise/2.20/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.20/v4/previews": "/en/enterprise/2.20/user/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.20/v4/public_schema": "/en/enterprise/2.20/user/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.20/v4/query": "/en/enterprise/2.20/user/graphql/reference/queries",
|
||||
"/en/enterprise/2.20/v4/reference": "/en/enterprise/2.20/user/graphql/reference",
|
||||
"/en/enterprise/2.20/v4/scalar": "/en/enterprise/2.20/user/graphql/reference/scalars",
|
||||
"/en/enterprise/2.20/v4/scalar/boolean": "/en/enterprise/2.20/user/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.20/v4/scalar/date": "/en/enterprise/2.20/user/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.20/v4/union": "/en/enterprise/2.20/user/graphql/reference/unions",
|
||||
"/en/enterprise/2.20/v4/union/assignee": "/en/enterprise/2.20/user/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.20/v4/union/auditentryactor": "/en/enterprise/2.20/user/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.21/user/v4/enum": "/en/enterprise/2.21/user/graphql/reference/enums",
|
||||
"/en/enterprise/2.21/user/v4/enum/auditlogorderfield": "/en/enterprise/2.21/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.21/user/v4/enum/checkannotationlevel": "/en/enterprise/2.21/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.21/user/v4/guides": "/en/enterprise/2.21/user/graphql/guides",
|
||||
"/en/enterprise/2.21/user/v4/input_object": "/en/enterprise/2.21/user/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.21/user/v4/interface": "/en/enterprise/2.21/user/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.21/user/v4/interface/actor": "/en/enterprise/2.21/user/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.21/user/v4/interface/assignable": "/en/enterprise/2.21/user/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.21/user/v4/mutation": "/en/enterprise/2.21/user/graphql/reference/mutations",
|
||||
"/en/enterprise/2.21/user/v4/object": "/en/enterprise/2.21/user/graphql/reference/objects",
|
||||
"/en/enterprise/2.21/user/v4/object/actorlocation": "/en/enterprise/2.21/user/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.21/user/v4/object/addedtoprojectevent": "/en/enterprise/2.21/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.21/user/v4/previews": "/en/enterprise/2.21/user/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.21/user/v4/public_schema": "/en/enterprise/2.21/user/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.21/user/v4/query": "/en/enterprise/2.21/user/graphql/reference/queries",
|
||||
"/en/enterprise/2.21/user/v4/reference": "/en/enterprise/2.21/user/graphql/reference",
|
||||
"/en/enterprise/2.21/user/v4/scalar": "/en/enterprise/2.21/user/graphql/reference/scalars",
|
||||
"/en/enterprise/2.21/user/v4/scalar/boolean": "/en/enterprise/2.21/user/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.21/user/v4/scalar/date": "/en/enterprise/2.21/user/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.21/user/v4/union": "/en/enterprise/2.21/user/graphql/reference/unions",
|
||||
"/en/enterprise/2.21/user/v4/union/assignee": "/en/enterprise/2.21/user/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.21/user/v4/union/auditentryactor": "/en/enterprise/2.21/user/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.21/v4/enum": "/en/enterprise/2.21/user/graphql/reference/enums",
|
||||
"/en/enterprise/2.21/v4/enum/auditlogorderfield": "/en/enterprise/2.21/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.21/v4/enum/checkannotationlevel": "/en/enterprise/2.21/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.21/v4/guides": "/en/enterprise/2.21/user/graphql/guides",
|
||||
"/en/enterprise/2.21/v4/input_object": "/en/enterprise/2.21/user/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.21/v4/interface": "/en/enterprise/2.21/user/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.21/v4/interface/actor": "/en/enterprise/2.21/user/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.21/v4/interface/assignable": "/en/enterprise/2.21/user/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.21/v4/mutation": "/en/enterprise/2.21/user/graphql/reference/mutations",
|
||||
"/en/enterprise/2.21/v4/object": "/en/enterprise/2.21/user/graphql/reference/objects",
|
||||
"/en/enterprise/2.21/v4/object/actorlocation": "/en/enterprise/2.21/user/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.21/v4/object/addedtoprojectevent": "/en/enterprise/2.21/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.21/v4/previews": "/en/enterprise/2.21/user/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.21/v4/public_schema": "/en/enterprise/2.21/user/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.21/v4/query": "/en/enterprise/2.21/user/graphql/reference/queries",
|
||||
"/en/enterprise/2.21/v4/reference": "/en/enterprise/2.21/user/graphql/reference",
|
||||
"/en/enterprise/2.21/v4/scalar": "/en/enterprise/2.21/user/graphql/reference/scalars",
|
||||
"/en/enterprise/2.21/v4/scalar/boolean": "/en/enterprise/2.21/user/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.21/v4/scalar/date": "/en/enterprise/2.21/user/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.21/v4/union": "/en/enterprise/2.21/user/graphql/reference/unions",
|
||||
"/en/enterprise/2.21/v4/union/assignee": "/en/enterprise/2.21/user/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.21/v4/union/auditentryactor": "/en/enterprise/2.21/user/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/v4/enum": "/en/enterprise/user/graphql/reference/enums",
|
||||
"/en/enterprise/v4/enum/auditlogorderfield": "/en/enterprise/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/v4/enum/checkannotationlevel": "/en/enterprise/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/v4/guides": "/en/enterprise/user/graphql/guides",
|
||||
"/en/enterprise/v4/input_object": "/en/enterprise/user/graphql/reference/input-objects",
|
||||
"/en/enterprise/v4/interface": "/en/enterprise/user/graphql/reference/interfaces",
|
||||
"/en/enterprise/v4/interface/actor": "/en/enterprise/user/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/v4/interface/assignable": "/en/enterprise/user/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/v4/mutation": "/en/enterprise/user/graphql/reference/mutations",
|
||||
"/en/enterprise/v4/object": "/en/enterprise/user/graphql/reference/objects",
|
||||
"/en/enterprise/v4/object/actorlocation": "/en/enterprise/user/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/v4/object/addedtoprojectevent": "/en/enterprise/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/v4/previews": "/en/enterprise/user/graphql/overview/schema-previews",
|
||||
"/en/enterprise/v4/public_schema": "/en/enterprise/user/graphql/overview/public-schema",
|
||||
"/en/enterprise/v4/query": "/en/enterprise/user/graphql/reference/queries",
|
||||
"/en/enterprise/v4/reference": "/en/enterprise/user/graphql/reference",
|
||||
"/en/enterprise/v4/scalar": "/en/enterprise/user/graphql/reference/scalars",
|
||||
"/en/enterprise/v4/scalar/boolean": "/en/enterprise/user/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/v4/scalar/date": "/en/enterprise/user/graphql/reference/scalars#date",
|
||||
"/en/enterprise/v4/union": "/en/enterprise/user/graphql/reference/unions",
|
||||
"/en/enterprise/v4/union/assignee": "/en/enterprise/user/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/v4/union/auditentryactor": "/en/enterprise/user/graphql/reference/unions#auditentryactor",
|
||||
"/en/v4/enum": "/en/graphql/reference/enums",
|
||||
"/en/v4/enum/auditlogorderfield": "/en/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/v4/enum/checkannotationlevel": "/en/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/v4/guides": "/en/graphql/guides",
|
||||
"/en/v4/input_object": "/en/graphql/reference/input-objects",
|
||||
"/en/v4/input_object/acceptenterpriseadministratorinvitationinput": "/en/graphql/reference/input-objects#acceptenterpriseadministratorinvitationinput",
|
||||
"/en/v4/input_object/accepttopicsuggestioninput": "/en/graphql/reference/input-objects#accepttopicsuggestioninput",
|
||||
"/en/v4/interface": "/en/graphql/reference/interfaces",
|
||||
"/en/v4/interface/actor": "/en/graphql/reference/interfaces#actor",
|
||||
"/en/v4/interface/assignable": "/en/graphql/reference/interfaces#assignable",
|
||||
"/en/v4/mutation": "/en/graphql/reference/mutations",
|
||||
"/en/v4/mutation/acceptenterpriseadministratorinvitation": "/en/graphql/reference/mutations#acceptenterpriseadministratorinvitation",
|
||||
"/en/v4/mutation/accepttopicsuggestion": "/en/graphql/reference/mutations#accepttopicsuggestion",
|
||||
"/en/v4/object": "/en/graphql/reference/objects",
|
||||
"/en/v4/object/actorlocation": "/en/graphql/reference/objects#actorlocation",
|
||||
"/en/v4/object/addedtoprojectevent": "/en/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/v4/previews": "/en/graphql/overview/schema-previews",
|
||||
"/en/v4/public_schema": "/en/graphql/overview/public-schema",
|
||||
"/en/v4/query": "/en/graphql/reference/queries",
|
||||
"/en/v4/reference": "/en/graphql/reference",
|
||||
"/en/v4/scalar": "/en/graphql/reference/scalars",
|
||||
"/en/v4/scalar/boolean": "/en/graphql/reference/scalars#boolean",
|
||||
"/en/v4/scalar/date": "/en/graphql/reference/scalars#date",
|
||||
"/en/v4/union": "/en/graphql/reference/unions",
|
||||
"/en/v4/union/assignee": "/en/graphql/reference/unions#assignee",
|
||||
"/en/v4/union/auditentryactor": "/en/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.19/user/v4/enum": "/en/enterprise-server@2.19/graphql/reference/enums",
|
||||
"/en/enterprise/2.19/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.19/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.19/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.19/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.19/user/v4/guides": "/en/enterprise-server@2.19/graphql/guides",
|
||||
"/en/enterprise/2.19/user/v4/input_object": "/en/enterprise-server@2.19/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.19/user/v4/interface": "/en/enterprise-server@2.19/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.19/user/v4/interface/actor": "/en/enterprise-server@2.19/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.19/user/v4/interface/assignable": "/en/enterprise-server@2.19/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.19/user/v4/mutation": "/en/enterprise-server@2.19/graphql/reference/mutations",
|
||||
"/en/enterprise/2.19/user/v4/object": "/en/enterprise-server@2.19/graphql/reference/objects",
|
||||
"/en/enterprise/2.19/user/v4/object/actorlocation": "/en/enterprise-server@2.19/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.19/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.19/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.19/user/v4/previews": "/en/enterprise-server@2.19/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.19/user/v4/public_schema": "/en/enterprise-server@2.19/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.19/user/v4/query": "/en/enterprise-server@2.19/graphql/reference/queries",
|
||||
"/en/enterprise/2.19/user/v4/reference": "/en/enterprise-server@2.19/graphql/reference",
|
||||
"/en/enterprise/2.19/user/v4/scalar": "/en/enterprise-server@2.19/graphql/reference/scalars",
|
||||
"/en/enterprise/2.19/user/v4/scalar/boolean": "/en/enterprise-server@2.19/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.19/user/v4/scalar/date": "/en/enterprise-server@2.19/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.19/user/v4/union": "/en/enterprise-server@2.19/graphql/reference/unions",
|
||||
"/en/enterprise/2.19/user/v4/union/assignee": "/en/enterprise-server@2.19/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.19/user/v4/union/auditentryactor": "/en/enterprise-server@2.19/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.19/v4/enum": "/en/enterprise-server@2.19/graphql/reference/enums",
|
||||
"/en/enterprise/2.19/v4/enum/auditlogorderfield": "/en/enterprise-server@2.19/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.19/v4/enum/checkannotationlevel": "/en/enterprise-server@2.19/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.19/v4/guides": "/en/enterprise-server@2.19/graphql/guides",
|
||||
"/en/enterprise/2.19/v4/input_object": "/en/enterprise-server@2.19/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.19/v4/interface": "/en/enterprise-server@2.19/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.19/v4/interface/actor": "/en/enterprise-server@2.19/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.19/v4/interface/assignable": "/en/enterprise-server@2.19/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.19/v4/mutation": "/en/enterprise-server@2.19/graphql/reference/mutations",
|
||||
"/en/enterprise/2.19/v4/object": "/en/enterprise-server@2.19/graphql/reference/objects",
|
||||
"/en/enterprise/2.19/v4/object/actorlocation": "/en/enterprise-server@2.19/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.19/v4/object/addedtoprojectevent": "/en/enterprise-server@2.19/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.19/v4/previews": "/en/enterprise-server@2.19/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.19/v4/public_schema": "/en/enterprise-server@2.19/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.19/v4/query": "/en/enterprise-server@2.19/graphql/reference/queries",
|
||||
"/en/enterprise/2.19/v4/reference": "/en/enterprise-server@2.19/graphql/reference",
|
||||
"/en/enterprise/2.19/v4/scalar": "/en/enterprise-server@2.19/graphql/reference/scalars",
|
||||
"/en/enterprise/2.19/v4/scalar/boolean": "/en/enterprise-server@2.19/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.19/v4/scalar/date": "/en/enterprise-server@2.19/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.19/v4/union": "/en/enterprise-server@2.19/graphql/reference/unions",
|
||||
"/en/enterprise/2.19/v4/union/assignee": "/en/enterprise-server@2.19/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.19/v4/union/auditentryactor": "/en/enterprise-server@2.19/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.20/user/v4/enum": "/en/enterprise-server@2.20/graphql/reference/enums",
|
||||
"/en/enterprise/2.20/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.20/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.20/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.20/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.20/user/v4/guides": "/en/enterprise-server@2.20/graphql/guides",
|
||||
"/en/enterprise/2.20/user/v4/input_object": "/en/enterprise-server@2.20/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.20/user/v4/interface": "/en/enterprise-server@2.20/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.20/user/v4/interface/actor": "/en/enterprise-server@2.20/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.20/user/v4/interface/assignable": "/en/enterprise-server@2.20/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.20/user/v4/mutation": "/en/enterprise-server@2.20/graphql/reference/mutations",
|
||||
"/en/enterprise/2.20/user/v4/object": "/en/enterprise-server@2.20/graphql/reference/objects",
|
||||
"/en/enterprise/2.20/user/v4/object/actorlocation": "/en/enterprise-server@2.20/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.20/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.20/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.20/user/v4/previews": "/en/enterprise-server@2.20/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.20/user/v4/public_schema": "/en/enterprise-server@2.20/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.20/user/v4/query": "/en/enterprise-server@2.20/graphql/reference/queries",
|
||||
"/en/enterprise/2.20/user/v4/reference": "/en/enterprise-server@2.20/graphql/reference",
|
||||
"/en/enterprise/2.20/user/v4/scalar": "/en/enterprise-server@2.20/graphql/reference/scalars",
|
||||
"/en/enterprise/2.20/user/v4/scalar/boolean": "/en/enterprise-server@2.20/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.20/user/v4/scalar/date": "/en/enterprise-server@2.20/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.20/user/v4/union": "/en/enterprise-server@2.20/graphql/reference/unions",
|
||||
"/en/enterprise/2.20/user/v4/union/assignee": "/en/enterprise-server@2.20/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.20/user/v4/union/auditentryactor": "/en/enterprise-server@2.20/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.20/v4/enum": "/en/enterprise-server@2.20/graphql/reference/enums",
|
||||
"/en/enterprise/2.20/v4/enum/auditlogorderfield": "/en/enterprise-server@2.20/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.20/v4/enum/checkannotationlevel": "/en/enterprise-server@2.20/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.20/v4/guides": "/en/enterprise-server@2.20/graphql/guides",
|
||||
"/en/enterprise/2.20/v4/input_object": "/en/enterprise-server@2.20/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.20/v4/interface": "/en/enterprise-server@2.20/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.20/v4/interface/actor": "/en/enterprise-server@2.20/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.20/v4/interface/assignable": "/en/enterprise-server@2.20/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.20/v4/mutation": "/en/enterprise-server@2.20/graphql/reference/mutations",
|
||||
"/en/enterprise/2.20/v4/object": "/en/enterprise-server@2.20/graphql/reference/objects",
|
||||
"/en/enterprise/2.20/v4/object/actorlocation": "/en/enterprise-server@2.20/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.20/v4/object/addedtoprojectevent": "/en/enterprise-server@2.20/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.20/v4/previews": "/en/enterprise-server@2.20/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.20/v4/public_schema": "/en/enterprise-server@2.20/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.20/v4/query": "/en/enterprise-server@2.20/graphql/reference/queries",
|
||||
"/en/enterprise/2.20/v4/reference": "/en/enterprise-server@2.20/graphql/reference",
|
||||
"/en/enterprise/2.20/v4/scalar": "/en/enterprise-server@2.20/graphql/reference/scalars",
|
||||
"/en/enterprise/2.20/v4/scalar/boolean": "/en/enterprise-server@2.20/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.20/v4/scalar/date": "/en/enterprise-server@2.20/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.20/v4/union": "/en/enterprise-server@2.20/graphql/reference/unions",
|
||||
"/en/enterprise/2.20/v4/union/assignee": "/en/enterprise-server@2.20/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.20/v4/union/auditentryactor": "/en/enterprise-server@2.20/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.21/user/v4/enum": "/en/enterprise-server@2.21/graphql/reference/enums",
|
||||
"/en/enterprise/2.21/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.21/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.21/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.21/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.21/user/v4/guides": "/en/enterprise-server@2.21/graphql/guides",
|
||||
"/en/enterprise/2.21/user/v4/input_object": "/en/enterprise-server@2.21/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.21/user/v4/interface": "/en/enterprise-server@2.21/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.21/user/v4/interface/actor": "/en/enterprise-server@2.21/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.21/user/v4/interface/assignable": "/en/enterprise-server@2.21/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.21/user/v4/mutation": "/en/enterprise-server@2.21/graphql/reference/mutations",
|
||||
"/en/enterprise/2.21/user/v4/object": "/en/enterprise-server@2.21/graphql/reference/objects",
|
||||
"/en/enterprise/2.21/user/v4/object/actorlocation": "/en/enterprise-server@2.21/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.21/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.21/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.21/user/v4/previews": "/en/enterprise-server@2.21/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.21/user/v4/public_schema": "/en/enterprise-server@2.21/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.21/user/v4/query": "/en/enterprise-server@2.21/graphql/reference/queries",
|
||||
"/en/enterprise/2.21/user/v4/reference": "/en/enterprise-server@2.21/graphql/reference",
|
||||
"/en/enterprise/2.21/user/v4/scalar": "/en/enterprise-server@2.21/graphql/reference/scalars",
|
||||
"/en/enterprise/2.21/user/v4/scalar/boolean": "/en/enterprise-server@2.21/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.21/user/v4/scalar/date": "/en/enterprise-server@2.21/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.21/user/v4/union": "/en/enterprise-server@2.21/graphql/reference/unions",
|
||||
"/en/enterprise/2.21/user/v4/union/assignee": "/en/enterprise-server@2.21/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.21/user/v4/union/auditentryactor": "/en/enterprise-server@2.21/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.21/v4/enum": "/en/enterprise-server@2.21/graphql/reference/enums",
|
||||
"/en/enterprise/2.21/v4/enum/auditlogorderfield": "/en/enterprise-server@2.21/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.21/v4/enum/checkannotationlevel": "/en/enterprise-server@2.21/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.21/v4/guides": "/en/enterprise-server@2.21/graphql/guides",
|
||||
"/en/enterprise/2.21/v4/input_object": "/en/enterprise-server@2.21/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.21/v4/interface": "/en/enterprise-server@2.21/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.21/v4/interface/actor": "/en/enterprise-server@2.21/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.21/v4/interface/assignable": "/en/enterprise-server@2.21/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.21/v4/mutation": "/en/enterprise-server@2.21/graphql/reference/mutations",
|
||||
"/en/enterprise/2.21/v4/object": "/en/enterprise-server@2.21/graphql/reference/objects",
|
||||
"/en/enterprise/2.21/v4/object/actorlocation": "/en/enterprise-server@2.21/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.21/v4/object/addedtoprojectevent": "/en/enterprise-server@2.21/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.21/v4/previews": "/en/enterprise-server@2.21/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.21/v4/public_schema": "/en/enterprise-server@2.21/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.21/v4/query": "/en/enterprise-server@2.21/graphql/reference/queries",
|
||||
"/en/enterprise/2.21/v4/reference": "/en/enterprise-server@2.21/graphql/reference",
|
||||
"/en/enterprise/2.21/v4/scalar": "/en/enterprise-server@2.21/graphql/reference/scalars",
|
||||
"/en/enterprise/2.21/v4/scalar/boolean": "/en/enterprise-server@2.21/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.21/v4/scalar/date": "/en/enterprise-server@2.21/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.21/v4/union": "/en/enterprise-server@2.21/graphql/reference/unions",
|
||||
"/en/enterprise/2.21/v4/union/assignee": "/en/enterprise-server@2.21/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.21/v4/union/auditentryactor": "/en/enterprise-server@2.21/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/v4/enum": "/en/enterprise-server/graphql/reference/enums",
|
||||
"/en/enterprise/v4/enum/auditlogorderfield": "/en/enterprise-server/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/v4/enum/checkannotationlevel": "/en/enterprise-server/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/v4/guides": "/en/enterprise-server/graphql/guides",
|
||||
"/en/enterprise/v4/input_object": "/en/enterprise-server/graphql/reference/input-objects",
|
||||
"/en/enterprise/v4/interface": "/en/enterprise-server/graphql/reference/interfaces",
|
||||
"/en/enterprise/v4/interface/actor": "/en/enterprise-server/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/v4/interface/assignable": "/en/enterprise-server/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/v4/mutation": "/en/enterprise-server/graphql/reference/mutations",
|
||||
"/en/enterprise/v4/object": "/en/enterprise-server/graphql/reference/objects",
|
||||
"/en/enterprise/v4/object/actorlocation": "/en/enterprise-server/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/v4/object/addedtoprojectevent": "/en/enterprise-server/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/v4/previews": "/en/enterprise-server/graphql/overview/schema-previews",
|
||||
"/en/enterprise/v4/public_schema": "/en/enterprise-server/graphql/overview/public-schema",
|
||||
"/en/enterprise/v4/query": "/en/enterprise-server/graphql/reference/queries",
|
||||
"/en/enterprise/v4/reference": "/en/enterprise-server/graphql/reference",
|
||||
"/en/enterprise/v4/scalar": "/en/enterprise-server/graphql/reference/scalars",
|
||||
"/en/enterprise/v4/scalar/boolean": "/en/enterprise-server/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/v4/scalar/date": "/en/enterprise-server/graphql/reference/scalars#date",
|
||||
"/en/enterprise/v4/union": "/en/enterprise-server/graphql/reference/unions",
|
||||
"/en/enterprise/v4/union/assignee": "/en/enterprise-server/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/v4/union/auditentryactor": "/en/enterprise-server/graphql/reference/unions#auditentryactor",
|
||||
"/en/v4/enum": "/en/free-pro-team@latest/graphql/reference/enums",
|
||||
"/en/v4/enum/auditlogorderfield": "/en/free-pro-team@latest/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/v4/enum/checkannotationlevel": "/en/free-pro-team@latest/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/v4/guides": "/en/free-pro-team@latest/graphql/guides",
|
||||
"/en/v4/input_object": "/en/free-pro-team@latest/graphql/reference/input-objects",
|
||||
"/en/v4/input_object/acceptenterpriseadministratorinvitationinput": "/en/free-pro-team@latest/graphql/reference/input-objects#acceptenterpriseadministratorinvitationinput",
|
||||
"/en/v4/input_object/accepttopicsuggestioninput": "/en/free-pro-team@latest/graphql/reference/input-objects#accepttopicsuggestioninput",
|
||||
"/en/v4/interface": "/en/free-pro-team@latest/graphql/reference/interfaces",
|
||||
"/en/v4/interface/actor": "/en/free-pro-team@latest/graphql/reference/interfaces#actor",
|
||||
"/en/v4/interface/assignable": "/en/free-pro-team@latest/graphql/reference/interfaces#assignable",
|
||||
"/en/v4/mutation": "/en/free-pro-team@latest/graphql/reference/mutations",
|
||||
"/en/v4/mutation/acceptenterpriseadministratorinvitation": "/en/free-pro-team@latest/graphql/reference/mutations#acceptenterpriseadministratorinvitation",
|
||||
"/en/v4/mutation/accepttopicsuggestion": "/en/free-pro-team@latest/graphql/reference/mutations#accepttopicsuggestion",
|
||||
"/en/v4/object": "/en/free-pro-team@latest/graphql/reference/objects",
|
||||
"/en/v4/object/actorlocation": "/en/free-pro-team@latest/graphql/reference/objects#actorlocation",
|
||||
"/en/v4/object/addedtoprojectevent": "/en/free-pro-team@latest/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/v4/previews": "/en/free-pro-team@latest/graphql/overview/schema-previews",
|
||||
"/en/v4/public_schema": "/en/free-pro-team@latest/graphql/overview/public-schema",
|
||||
"/en/v4/query": "/en/free-pro-team@latest/graphql/reference/queries",
|
||||
"/en/v4/reference": "/en/free-pro-team@latest/graphql/reference",
|
||||
"/en/v4/scalar": "/en/free-pro-team@latest/graphql/reference/scalars",
|
||||
"/en/v4/scalar/boolean": "/en/free-pro-team@latest/graphql/reference/scalars#boolean",
|
||||
"/en/v4/scalar/date": "/en/free-pro-team@latest/graphql/reference/scalars#date",
|
||||
"/en/v4/union": "/en/free-pro-team@latest/graphql/reference/unions",
|
||||
"/en/v4/union/assignee": "/en/free-pro-team@latest/graphql/reference/unions#assignee",
|
||||
"/en/v4/union/auditentryactor": "/en/free-pro-team@latest/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.18/user/v4/enum": "/en/enterprise/2.18/user/graphql/reference/enums",
|
||||
"/enterprise/2.18/user/v4/enum/auditlogorderfield": "/en/enterprise/2.18/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.18/user/v4/enum/checkannotationlevel": "/en/enterprise/2.18/user/graphql/reference/enums#checkannotationlevel",
|
||||
@@ -263,184 +263,184 @@
|
||||
"/enterprise/2.18/v4/scalar/date": "/en/enterprise/2.18/user/graphql/reference/scalars#date",
|
||||
"/enterprise/2.18/v4/union": "/en/enterprise/2.18/user/graphql/reference/unions",
|
||||
"/enterprise/2.18/v4/union/auditentryactor": "/en/enterprise/2.18/user/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.19/user/v4/enum": "/en/enterprise/2.19/user/graphql/reference/enums",
|
||||
"/enterprise/2.19/user/v4/enum/auditlogorderfield": "/en/enterprise/2.19/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.19/user/v4/enum/checkannotationlevel": "/en/enterprise/2.19/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.19/user/v4/guides": "/en/enterprise/2.19/user/graphql/guides",
|
||||
"/enterprise/2.19/user/v4/input_object": "/en/enterprise/2.19/user/graphql/reference/input-objects",
|
||||
"/enterprise/2.19/user/v4/interface": "/en/enterprise/2.19/user/graphql/reference/interfaces",
|
||||
"/enterprise/2.19/user/v4/interface/actor": "/en/enterprise/2.19/user/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.19/user/v4/interface/assignable": "/en/enterprise/2.19/user/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.19/user/v4/mutation": "/en/enterprise/2.19/user/graphql/reference/mutations",
|
||||
"/enterprise/2.19/user/v4/object": "/en/enterprise/2.19/user/graphql/reference/objects",
|
||||
"/enterprise/2.19/user/v4/object/actorlocation": "/en/enterprise/2.19/user/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.19/user/v4/object/addedtoprojectevent": "/en/enterprise/2.19/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.19/user/v4/previews": "/en/enterprise/2.19/user/graphql/overview/schema-previews",
|
||||
"/enterprise/2.19/user/v4/public_schema": "/en/enterprise/2.19/user/graphql/overview/public-schema",
|
||||
"/enterprise/2.19/user/v4/query": "/en/enterprise/2.19/user/graphql/reference/queries",
|
||||
"/enterprise/2.19/user/v4/reference": "/en/enterprise/2.19/user/graphql/reference",
|
||||
"/enterprise/2.19/user/v4/scalar": "/en/enterprise/2.19/user/graphql/reference/scalars",
|
||||
"/enterprise/2.19/user/v4/scalar/boolean": "/en/enterprise/2.19/user/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.19/user/v4/scalar/date": "/en/enterprise/2.19/user/graphql/reference/scalars#date",
|
||||
"/enterprise/2.19/user/v4/union": "/en/enterprise/2.19/user/graphql/reference/unions",
|
||||
"/enterprise/2.19/user/v4/union/assignee": "/en/enterprise/2.19/user/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.19/user/v4/union/auditentryactor": "/en/enterprise/2.19/user/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.19/v4/enum": "/en/enterprise/2.19/user/graphql/reference/enums",
|
||||
"/enterprise/2.19/v4/enum/auditlogorderfield": "/en/enterprise/2.19/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.19/v4/enum/checkannotationlevel": "/en/enterprise/2.19/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.19/v4/guides": "/en/enterprise/2.19/user/graphql/guides",
|
||||
"/enterprise/2.19/v4/input_object": "/en/enterprise/2.19/user/graphql/reference/input-objects",
|
||||
"/enterprise/2.19/v4/interface": "/en/enterprise/2.19/user/graphql/reference/interfaces",
|
||||
"/enterprise/2.19/v4/interface/actor": "/en/enterprise/2.19/user/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.19/v4/interface/assignable": "/en/enterprise/2.19/user/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.19/v4/mutation": "/en/enterprise/2.19/user/graphql/reference/mutations",
|
||||
"/enterprise/2.19/v4/object": "/en/enterprise/2.19/user/graphql/reference/objects",
|
||||
"/enterprise/2.19/v4/object/actorlocation": "/en/enterprise/2.19/user/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.19/v4/object/addedtoprojectevent": "/en/enterprise/2.19/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.19/v4/previews": "/en/enterprise/2.19/user/graphql/overview/schema-previews",
|
||||
"/enterprise/2.19/v4/public_schema": "/en/enterprise/2.19/user/graphql/overview/public-schema",
|
||||
"/enterprise/2.19/v4/query": "/en/enterprise/2.19/user/graphql/reference/queries",
|
||||
"/enterprise/2.19/v4/reference": "/en/enterprise/2.19/user/graphql/reference",
|
||||
"/enterprise/2.19/v4/scalar": "/en/enterprise/2.19/user/graphql/reference/scalars",
|
||||
"/enterprise/2.19/v4/scalar/boolean": "/en/enterprise/2.19/user/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.19/v4/scalar/date": "/en/enterprise/2.19/user/graphql/reference/scalars#date",
|
||||
"/enterprise/2.19/v4/union": "/en/enterprise/2.19/user/graphql/reference/unions",
|
||||
"/enterprise/2.19/v4/union/assignee": "/en/enterprise/2.19/user/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.19/v4/union/auditentryactor": "/en/enterprise/2.19/user/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.20/user/v4/enum": "/en/enterprise/2.20/user/graphql/reference/enums",
|
||||
"/enterprise/2.20/user/v4/enum/auditlogorderfield": "/en/enterprise/2.20/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.20/user/v4/enum/checkannotationlevel": "/en/enterprise/2.20/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.20/user/v4/guides": "/en/enterprise/2.20/user/graphql/guides",
|
||||
"/enterprise/2.20/user/v4/input_object": "/en/enterprise/2.20/user/graphql/reference/input-objects",
|
||||
"/enterprise/2.20/user/v4/interface": "/en/enterprise/2.20/user/graphql/reference/interfaces",
|
||||
"/enterprise/2.20/user/v4/interface/actor": "/en/enterprise/2.20/user/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.20/user/v4/interface/assignable": "/en/enterprise/2.20/user/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.20/user/v4/mutation": "/en/enterprise/2.20/user/graphql/reference/mutations",
|
||||
"/enterprise/2.20/user/v4/object": "/en/enterprise/2.20/user/graphql/reference/objects",
|
||||
"/enterprise/2.20/user/v4/object/actorlocation": "/en/enterprise/2.20/user/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.20/user/v4/object/addedtoprojectevent": "/en/enterprise/2.20/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.20/user/v4/previews": "/en/enterprise/2.20/user/graphql/overview/schema-previews",
|
||||
"/enterprise/2.20/user/v4/public_schema": "/en/enterprise/2.20/user/graphql/overview/public-schema",
|
||||
"/enterprise/2.20/user/v4/query": "/en/enterprise/2.20/user/graphql/reference/queries",
|
||||
"/enterprise/2.20/user/v4/reference": "/en/enterprise/2.20/user/graphql/reference",
|
||||
"/enterprise/2.20/user/v4/scalar": "/en/enterprise/2.20/user/graphql/reference/scalars",
|
||||
"/enterprise/2.20/user/v4/scalar/boolean": "/en/enterprise/2.20/user/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.20/user/v4/scalar/date": "/en/enterprise/2.20/user/graphql/reference/scalars#date",
|
||||
"/enterprise/2.20/user/v4/union": "/en/enterprise/2.20/user/graphql/reference/unions",
|
||||
"/enterprise/2.20/user/v4/union/assignee": "/en/enterprise/2.20/user/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.20/user/v4/union/auditentryactor": "/en/enterprise/2.20/user/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.20/v4/enum": "/en/enterprise/2.20/user/graphql/reference/enums",
|
||||
"/enterprise/2.20/v4/enum/auditlogorderfield": "/en/enterprise/2.20/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.20/v4/enum/checkannotationlevel": "/en/enterprise/2.20/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.20/v4/guides": "/en/enterprise/2.20/user/graphql/guides",
|
||||
"/enterprise/2.20/v4/input_object": "/en/enterprise/2.20/user/graphql/reference/input-objects",
|
||||
"/enterprise/2.20/v4/interface": "/en/enterprise/2.20/user/graphql/reference/interfaces",
|
||||
"/enterprise/2.20/v4/interface/actor": "/en/enterprise/2.20/user/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.20/v4/interface/assignable": "/en/enterprise/2.20/user/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.20/v4/mutation": "/en/enterprise/2.20/user/graphql/reference/mutations",
|
||||
"/enterprise/2.20/v4/object": "/en/enterprise/2.20/user/graphql/reference/objects",
|
||||
"/enterprise/2.20/v4/object/actorlocation": "/en/enterprise/2.20/user/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.20/v4/object/addedtoprojectevent": "/en/enterprise/2.20/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.20/v4/previews": "/en/enterprise/2.20/user/graphql/overview/schema-previews",
|
||||
"/enterprise/2.20/v4/public_schema": "/en/enterprise/2.20/user/graphql/overview/public-schema",
|
||||
"/enterprise/2.20/v4/query": "/en/enterprise/2.20/user/graphql/reference/queries",
|
||||
"/enterprise/2.20/v4/reference": "/en/enterprise/2.20/user/graphql/reference",
|
||||
"/enterprise/2.20/v4/scalar": "/en/enterprise/2.20/user/graphql/reference/scalars",
|
||||
"/enterprise/2.20/v4/scalar/boolean": "/en/enterprise/2.20/user/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.20/v4/scalar/date": "/en/enterprise/2.20/user/graphql/reference/scalars#date",
|
||||
"/enterprise/2.20/v4/union": "/en/enterprise/2.20/user/graphql/reference/unions",
|
||||
"/enterprise/2.20/v4/union/assignee": "/en/enterprise/2.20/user/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.20/v4/union/auditentryactor": "/en/enterprise/2.20/user/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.21/user/v4/enum": "/en/enterprise/2.21/user/graphql/reference/enums",
|
||||
"/enterprise/2.21/user/v4/enum/auditlogorderfield": "/en/enterprise/2.21/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.21/user/v4/enum/checkannotationlevel": "/en/enterprise/2.21/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.21/user/v4/guides": "/en/enterprise/2.21/user/graphql/guides",
|
||||
"/enterprise/2.21/user/v4/input_object": "/en/enterprise/2.21/user/graphql/reference/input-objects",
|
||||
"/enterprise/2.21/user/v4/interface": "/en/enterprise/2.21/user/graphql/reference/interfaces",
|
||||
"/enterprise/2.21/user/v4/interface/actor": "/en/enterprise/2.21/user/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.21/user/v4/interface/assignable": "/en/enterprise/2.21/user/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.21/user/v4/mutation": "/en/enterprise/2.21/user/graphql/reference/mutations",
|
||||
"/enterprise/2.21/user/v4/object": "/en/enterprise/2.21/user/graphql/reference/objects",
|
||||
"/enterprise/2.21/user/v4/object/actorlocation": "/en/enterprise/2.21/user/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.21/user/v4/object/addedtoprojectevent": "/en/enterprise/2.21/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.21/user/v4/previews": "/en/enterprise/2.21/user/graphql/overview/schema-previews",
|
||||
"/enterprise/2.21/user/v4/public_schema": "/en/enterprise/2.21/user/graphql/overview/public-schema",
|
||||
"/enterprise/2.21/user/v4/query": "/en/enterprise/2.21/user/graphql/reference/queries",
|
||||
"/enterprise/2.21/user/v4/reference": "/en/enterprise/2.21/user/graphql/reference",
|
||||
"/enterprise/2.21/user/v4/scalar": "/en/enterprise/2.21/user/graphql/reference/scalars",
|
||||
"/enterprise/2.21/user/v4/scalar/boolean": "/en/enterprise/2.21/user/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.21/user/v4/scalar/date": "/en/enterprise/2.21/user/graphql/reference/scalars#date",
|
||||
"/enterprise/2.21/user/v4/union": "/en/enterprise/2.21/user/graphql/reference/unions",
|
||||
"/enterprise/2.21/user/v4/union/assignee": "/en/enterprise/2.21/user/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.21/user/v4/union/auditentryactor": "/en/enterprise/2.21/user/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.21/v4/enum": "/en/enterprise/2.21/user/graphql/reference/enums",
|
||||
"/enterprise/2.21/v4/enum/auditlogorderfield": "/en/enterprise/2.21/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.21/v4/enum/checkannotationlevel": "/en/enterprise/2.21/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.21/v4/guides": "/en/enterprise/2.21/user/graphql/guides",
|
||||
"/enterprise/2.21/v4/input_object": "/en/enterprise/2.21/user/graphql/reference/input-objects",
|
||||
"/enterprise/2.21/v4/interface": "/en/enterprise/2.21/user/graphql/reference/interfaces",
|
||||
"/enterprise/2.21/v4/interface/actor": "/en/enterprise/2.21/user/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.21/v4/interface/assignable": "/en/enterprise/2.21/user/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.21/v4/mutation": "/en/enterprise/2.21/user/graphql/reference/mutations",
|
||||
"/enterprise/2.21/v4/object": "/en/enterprise/2.21/user/graphql/reference/objects",
|
||||
"/enterprise/2.21/v4/object/actorlocation": "/en/enterprise/2.21/user/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.21/v4/object/addedtoprojectevent": "/en/enterprise/2.21/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.21/v4/previews": "/en/enterprise/2.21/user/graphql/overview/schema-previews",
|
||||
"/enterprise/2.21/v4/public_schema": "/en/enterprise/2.21/user/graphql/overview/public-schema",
|
||||
"/enterprise/2.21/v4/query": "/en/enterprise/2.21/user/graphql/reference/queries",
|
||||
"/enterprise/2.21/v4/reference": "/en/enterprise/2.21/user/graphql/reference",
|
||||
"/enterprise/2.21/v4/scalar": "/en/enterprise/2.21/user/graphql/reference/scalars",
|
||||
"/enterprise/2.21/v4/scalar/boolean": "/en/enterprise/2.21/user/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.21/v4/scalar/date": "/en/enterprise/2.21/user/graphql/reference/scalars#date",
|
||||
"/enterprise/2.21/v4/union": "/en/enterprise/2.21/user/graphql/reference/unions",
|
||||
"/enterprise/2.21/v4/union/assignee": "/en/enterprise/2.21/user/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.21/v4/union/auditentryactor": "/en/enterprise/2.21/user/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/v4/enum": "/en/enterprise/user/graphql/reference/enums",
|
||||
"/enterprise/v4/enum/auditlogorderfield": "/en/enterprise/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/v4/enum/checkannotationlevel": "/en/enterprise/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/v4/guides": "/en/enterprise/user/graphql/guides",
|
||||
"/enterprise/v4/input_object": "/en/enterprise/user/graphql/reference/input-objects",
|
||||
"/enterprise/v4/interface": "/en/enterprise/user/graphql/reference/interfaces",
|
||||
"/enterprise/v4/interface/actor": "/en/enterprise/user/graphql/reference/interfaces#actor",
|
||||
"/enterprise/v4/interface/assignable": "/en/enterprise/user/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/v4/mutation": "/en/enterprise/user/graphql/reference/mutations",
|
||||
"/enterprise/v4/object": "/en/enterprise/user/graphql/reference/objects",
|
||||
"/enterprise/v4/object/actorlocation": "/en/enterprise/user/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/v4/object/addedtoprojectevent": "/en/enterprise/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/v4/previews": "/en/enterprise/user/graphql/overview/schema-previews",
|
||||
"/enterprise/v4/public_schema": "/en/enterprise/user/graphql/overview/public-schema",
|
||||
"/enterprise/v4/query": "/en/enterprise/user/graphql/reference/queries",
|
||||
"/enterprise/v4/reference": "/en/enterprise/user/graphql/reference",
|
||||
"/enterprise/v4/scalar": "/en/enterprise/user/graphql/reference/scalars",
|
||||
"/enterprise/v4/scalar/boolean": "/en/enterprise/user/graphql/reference/scalars#boolean",
|
||||
"/enterprise/v4/scalar/date": "/en/enterprise/user/graphql/reference/scalars#date",
|
||||
"/enterprise/v4/union": "/en/enterprise/user/graphql/reference/unions",
|
||||
"/enterprise/v4/union/assignee": "/en/enterprise/user/graphql/reference/unions#assignee",
|
||||
"/enterprise/v4/union/auditentryactor": "/en/enterprise/user/graphql/reference/unions#auditentryactor",
|
||||
"/v4/enum": "/en/graphql/reference/enums",
|
||||
"/v4/enum/auditlogorderfield": "/en/graphql/reference/enums#auditlogorderfield",
|
||||
"/v4/enum/checkannotationlevel": "/en/graphql/reference/enums#checkannotationlevel",
|
||||
"/v4/guides": "/en/graphql/guides",
|
||||
"/v4/input_object": "/en/graphql/reference/input-objects",
|
||||
"/v4/input_object/acceptenterpriseadministratorinvitationinput": "/en/graphql/reference/input-objects#acceptenterpriseadministratorinvitationinput",
|
||||
"/v4/input_object/accepttopicsuggestioninput": "/en/graphql/reference/input-objects#accepttopicsuggestioninput",
|
||||
"/v4/interface": "/en/graphql/reference/interfaces",
|
||||
"/v4/interface/actor": "/en/graphql/reference/interfaces#actor",
|
||||
"/v4/interface/assignable": "/en/graphql/reference/interfaces#assignable",
|
||||
"/v4/mutation": "/en/graphql/reference/mutations",
|
||||
"/v4/mutation/acceptenterpriseadministratorinvitation": "/en/graphql/reference/mutations#acceptenterpriseadministratorinvitation",
|
||||
"/v4/mutation/accepttopicsuggestion": "/en/graphql/reference/mutations#accepttopicsuggestion",
|
||||
"/v4/object": "/en/graphql/reference/objects",
|
||||
"/v4/object/actorlocation": "/en/graphql/reference/objects#actorlocation",
|
||||
"/v4/object/addedtoprojectevent": "/en/graphql/reference/objects#addedtoprojectevent",
|
||||
"/v4/previews": "/en/graphql/overview/schema-previews",
|
||||
"/v4/public_schema": "/en/graphql/overview/public-schema",
|
||||
"/v4/query": "/en/graphql/reference/queries",
|
||||
"/v4/reference": "/en/graphql/reference",
|
||||
"/v4/scalar": "/en/graphql/reference/scalars",
|
||||
"/v4/scalar/boolean": "/en/graphql/reference/scalars#boolean",
|
||||
"/v4/scalar/date": "/en/graphql/reference/scalars#date",
|
||||
"/v4/union": "/en/graphql/reference/unions",
|
||||
"/v4/union/assignee": "/en/graphql/reference/unions#assignee",
|
||||
"/v4/union/auditentryactor": "/en/graphql/reference/unions#auditentryactor"
|
||||
"/enterprise/2.19/user/v4/enum": "/en/enterprise-server@2.19/graphql/reference/enums",
|
||||
"/enterprise/2.19/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.19/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.19/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.19/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.19/user/v4/guides": "/en/enterprise-server@2.19/graphql/guides",
|
||||
"/enterprise/2.19/user/v4/input_object": "/en/enterprise-server@2.19/graphql/reference/input-objects",
|
||||
"/enterprise/2.19/user/v4/interface": "/en/enterprise-server@2.19/graphql/reference/interfaces",
|
||||
"/enterprise/2.19/user/v4/interface/actor": "/en/enterprise-server@2.19/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.19/user/v4/interface/assignable": "/en/enterprise-server@2.19/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.19/user/v4/mutation": "/en/enterprise-server@2.19/graphql/reference/mutations",
|
||||
"/enterprise/2.19/user/v4/object": "/en/enterprise-server@2.19/graphql/reference/objects",
|
||||
"/enterprise/2.19/user/v4/object/actorlocation": "/en/enterprise-server@2.19/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.19/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.19/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.19/user/v4/previews": "/en/enterprise-server@2.19/graphql/overview/schema-previews",
|
||||
"/enterprise/2.19/user/v4/public_schema": "/en/enterprise-server@2.19/graphql/overview/public-schema",
|
||||
"/enterprise/2.19/user/v4/query": "/en/enterprise-server@2.19/graphql/reference/queries",
|
||||
"/enterprise/2.19/user/v4/reference": "/en/enterprise-server@2.19/graphql/reference",
|
||||
"/enterprise/2.19/user/v4/scalar": "/en/enterprise-server@2.19/graphql/reference/scalars",
|
||||
"/enterprise/2.19/user/v4/scalar/boolean": "/en/enterprise-server@2.19/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.19/user/v4/scalar/date": "/en/enterprise-server@2.19/graphql/reference/scalars#date",
|
||||
"/enterprise/2.19/user/v4/union": "/en/enterprise-server@2.19/graphql/reference/unions",
|
||||
"/enterprise/2.19/user/v4/union/assignee": "/en/enterprise-server@2.19/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.19/user/v4/union/auditentryactor": "/en/enterprise-server@2.19/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.19/v4/enum": "/en/enterprise-server@2.19/graphql/reference/enums",
|
||||
"/enterprise/2.19/v4/enum/auditlogorderfield": "/en/enterprise-server@2.19/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.19/v4/enum/checkannotationlevel": "/en/enterprise-server@2.19/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.19/v4/guides": "/en/enterprise-server@2.19/graphql/guides",
|
||||
"/enterprise/2.19/v4/input_object": "/en/enterprise-server@2.19/graphql/reference/input-objects",
|
||||
"/enterprise/2.19/v4/interface": "/en/enterprise-server@2.19/graphql/reference/interfaces",
|
||||
"/enterprise/2.19/v4/interface/actor": "/en/enterprise-server@2.19/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.19/v4/interface/assignable": "/en/enterprise-server@2.19/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.19/v4/mutation": "/en/enterprise-server@2.19/graphql/reference/mutations",
|
||||
"/enterprise/2.19/v4/object": "/en/enterprise-server@2.19/graphql/reference/objects",
|
||||
"/enterprise/2.19/v4/object/actorlocation": "/en/enterprise-server@2.19/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.19/v4/object/addedtoprojectevent": "/en/enterprise-server@2.19/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.19/v4/previews": "/en/enterprise-server@2.19/graphql/overview/schema-previews",
|
||||
"/enterprise/2.19/v4/public_schema": "/en/enterprise-server@2.19/graphql/overview/public-schema",
|
||||
"/enterprise/2.19/v4/query": "/en/enterprise-server@2.19/graphql/reference/queries",
|
||||
"/enterprise/2.19/v4/reference": "/en/enterprise-server@2.19/graphql/reference",
|
||||
"/enterprise/2.19/v4/scalar": "/en/enterprise-server@2.19/graphql/reference/scalars",
|
||||
"/enterprise/2.19/v4/scalar/boolean": "/en/enterprise-server@2.19/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.19/v4/scalar/date": "/en/enterprise-server@2.19/graphql/reference/scalars#date",
|
||||
"/enterprise/2.19/v4/union": "/en/enterprise-server@2.19/graphql/reference/unions",
|
||||
"/enterprise/2.19/v4/union/assignee": "/en/enterprise-server@2.19/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.19/v4/union/auditentryactor": "/en/enterprise-server@2.19/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.20/user/v4/enum": "/en/enterprise-server@2.20/graphql/reference/enums",
|
||||
"/enterprise/2.20/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.20/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.20/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.20/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.20/user/v4/guides": "/en/enterprise-server@2.20/graphql/guides",
|
||||
"/enterprise/2.20/user/v4/input_object": "/en/enterprise-server@2.20/graphql/reference/input-objects",
|
||||
"/enterprise/2.20/user/v4/interface": "/en/enterprise-server@2.20/graphql/reference/interfaces",
|
||||
"/enterprise/2.20/user/v4/interface/actor": "/en/enterprise-server@2.20/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.20/user/v4/interface/assignable": "/en/enterprise-server@2.20/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.20/user/v4/mutation": "/en/enterprise-server@2.20/graphql/reference/mutations",
|
||||
"/enterprise/2.20/user/v4/object": "/en/enterprise-server@2.20/graphql/reference/objects",
|
||||
"/enterprise/2.20/user/v4/object/actorlocation": "/en/enterprise-server@2.20/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.20/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.20/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.20/user/v4/previews": "/en/enterprise-server@2.20/graphql/overview/schema-previews",
|
||||
"/enterprise/2.20/user/v4/public_schema": "/en/enterprise-server@2.20/graphql/overview/public-schema",
|
||||
"/enterprise/2.20/user/v4/query": "/en/enterprise-server@2.20/graphql/reference/queries",
|
||||
"/enterprise/2.20/user/v4/reference": "/en/enterprise-server@2.20/graphql/reference",
|
||||
"/enterprise/2.20/user/v4/scalar": "/en/enterprise-server@2.20/graphql/reference/scalars",
|
||||
"/enterprise/2.20/user/v4/scalar/boolean": "/en/enterprise-server@2.20/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.20/user/v4/scalar/date": "/en/enterprise-server@2.20/graphql/reference/scalars#date",
|
||||
"/enterprise/2.20/user/v4/union": "/en/enterprise-server@2.20/graphql/reference/unions",
|
||||
"/enterprise/2.20/user/v4/union/assignee": "/en/enterprise-server@2.20/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.20/user/v4/union/auditentryactor": "/en/enterprise-server@2.20/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.20/v4/enum": "/en/enterprise-server@2.20/graphql/reference/enums",
|
||||
"/enterprise/2.20/v4/enum/auditlogorderfield": "/en/enterprise-server@2.20/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.20/v4/enum/checkannotationlevel": "/en/enterprise-server@2.20/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.20/v4/guides": "/en/enterprise-server@2.20/graphql/guides",
|
||||
"/enterprise/2.20/v4/input_object": "/en/enterprise-server@2.20/graphql/reference/input-objects",
|
||||
"/enterprise/2.20/v4/interface": "/en/enterprise-server@2.20/graphql/reference/interfaces",
|
||||
"/enterprise/2.20/v4/interface/actor": "/en/enterprise-server@2.20/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.20/v4/interface/assignable": "/en/enterprise-server@2.20/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.20/v4/mutation": "/en/enterprise-server@2.20/graphql/reference/mutations",
|
||||
"/enterprise/2.20/v4/object": "/en/enterprise-server@2.20/graphql/reference/objects",
|
||||
"/enterprise/2.20/v4/object/actorlocation": "/en/enterprise-server@2.20/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.20/v4/object/addedtoprojectevent": "/en/enterprise-server@2.20/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.20/v4/previews": "/en/enterprise-server@2.20/graphql/overview/schema-previews",
|
||||
"/enterprise/2.20/v4/public_schema": "/en/enterprise-server@2.20/graphql/overview/public-schema",
|
||||
"/enterprise/2.20/v4/query": "/en/enterprise-server@2.20/graphql/reference/queries",
|
||||
"/enterprise/2.20/v4/reference": "/en/enterprise-server@2.20/graphql/reference",
|
||||
"/enterprise/2.20/v4/scalar": "/en/enterprise-server@2.20/graphql/reference/scalars",
|
||||
"/enterprise/2.20/v4/scalar/boolean": "/en/enterprise-server@2.20/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.20/v4/scalar/date": "/en/enterprise-server@2.20/graphql/reference/scalars#date",
|
||||
"/enterprise/2.20/v4/union": "/en/enterprise-server@2.20/graphql/reference/unions",
|
||||
"/enterprise/2.20/v4/union/assignee": "/en/enterprise-server@2.20/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.20/v4/union/auditentryactor": "/en/enterprise-server@2.20/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.21/user/v4/enum": "/en/enterprise-server@2.21/graphql/reference/enums",
|
||||
"/enterprise/2.21/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.21/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.21/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.21/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.21/user/v4/guides": "/en/enterprise-server@2.21/graphql/guides",
|
||||
"/enterprise/2.21/user/v4/input_object": "/en/enterprise-server@2.21/graphql/reference/input-objects",
|
||||
"/enterprise/2.21/user/v4/interface": "/en/enterprise-server@2.21/graphql/reference/interfaces",
|
||||
"/enterprise/2.21/user/v4/interface/actor": "/en/enterprise-server@2.21/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.21/user/v4/interface/assignable": "/en/enterprise-server@2.21/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.21/user/v4/mutation": "/en/enterprise-server@2.21/graphql/reference/mutations",
|
||||
"/enterprise/2.21/user/v4/object": "/en/enterprise-server@2.21/graphql/reference/objects",
|
||||
"/enterprise/2.21/user/v4/object/actorlocation": "/en/enterprise-server@2.21/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.21/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.21/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.21/user/v4/previews": "/en/enterprise-server@2.21/graphql/overview/schema-previews",
|
||||
"/enterprise/2.21/user/v4/public_schema": "/en/enterprise-server@2.21/graphql/overview/public-schema",
|
||||
"/enterprise/2.21/user/v4/query": "/en/enterprise-server@2.21/graphql/reference/queries",
|
||||
"/enterprise/2.21/user/v4/reference": "/en/enterprise-server@2.21/graphql/reference",
|
||||
"/enterprise/2.21/user/v4/scalar": "/en/enterprise-server@2.21/graphql/reference/scalars",
|
||||
"/enterprise/2.21/user/v4/scalar/boolean": "/en/enterprise-server@2.21/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.21/user/v4/scalar/date": "/en/enterprise-server@2.21/graphql/reference/scalars#date",
|
||||
"/enterprise/2.21/user/v4/union": "/en/enterprise-server@2.21/graphql/reference/unions",
|
||||
"/enterprise/2.21/user/v4/union/assignee": "/en/enterprise-server@2.21/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.21/user/v4/union/auditentryactor": "/en/enterprise-server@2.21/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.21/v4/enum": "/en/enterprise-server@2.21/graphql/reference/enums",
|
||||
"/enterprise/2.21/v4/enum/auditlogorderfield": "/en/enterprise-server@2.21/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.21/v4/enum/checkannotationlevel": "/en/enterprise-server@2.21/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.21/v4/guides": "/en/enterprise-server@2.21/graphql/guides",
|
||||
"/enterprise/2.21/v4/input_object": "/en/enterprise-server@2.21/graphql/reference/input-objects",
|
||||
"/enterprise/2.21/v4/interface": "/en/enterprise-server@2.21/graphql/reference/interfaces",
|
||||
"/enterprise/2.21/v4/interface/actor": "/en/enterprise-server@2.21/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.21/v4/interface/assignable": "/en/enterprise-server@2.21/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.21/v4/mutation": "/en/enterprise-server@2.21/graphql/reference/mutations",
|
||||
"/enterprise/2.21/v4/object": "/en/enterprise-server@2.21/graphql/reference/objects",
|
||||
"/enterprise/2.21/v4/object/actorlocation": "/en/enterprise-server@2.21/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.21/v4/object/addedtoprojectevent": "/en/enterprise-server@2.21/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.21/v4/previews": "/en/enterprise-server@2.21/graphql/overview/schema-previews",
|
||||
"/enterprise/2.21/v4/public_schema": "/en/enterprise-server@2.21/graphql/overview/public-schema",
|
||||
"/enterprise/2.21/v4/query": "/en/enterprise-server@2.21/graphql/reference/queries",
|
||||
"/enterprise/2.21/v4/reference": "/en/enterprise-server@2.21/graphql/reference",
|
||||
"/enterprise/2.21/v4/scalar": "/en/enterprise-server@2.21/graphql/reference/scalars",
|
||||
"/enterprise/2.21/v4/scalar/boolean": "/en/enterprise-server@2.21/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.21/v4/scalar/date": "/en/enterprise-server@2.21/graphql/reference/scalars#date",
|
||||
"/enterprise/2.21/v4/union": "/en/enterprise-server@2.21/graphql/reference/unions",
|
||||
"/enterprise/2.21/v4/union/assignee": "/en/enterprise-server@2.21/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.21/v4/union/auditentryactor": "/en/enterprise-server@2.21/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/v4/enum": "/en/enterprise-server/graphql/reference/enums",
|
||||
"/enterprise/v4/enum/auditlogorderfield": "/en/enterprise-server/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/v4/enum/checkannotationlevel": "/en/enterprise-server/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/v4/guides": "/en/enterprise-server/graphql/guides",
|
||||
"/enterprise/v4/input_object": "/en/enterprise-server/graphql/reference/input-objects",
|
||||
"/enterprise/v4/interface": "/en/enterprise-server/graphql/reference/interfaces",
|
||||
"/enterprise/v4/interface/actor": "/en/enterprise-server/graphql/reference/interfaces#actor",
|
||||
"/enterprise/v4/interface/assignable": "/en/enterprise-server/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/v4/mutation": "/en/enterprise-server/graphql/reference/mutations",
|
||||
"/enterprise/v4/object": "/en/enterprise-server/graphql/reference/objects",
|
||||
"/enterprise/v4/object/actorlocation": "/en/enterprise-server/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/v4/object/addedtoprojectevent": "/en/enterprise-server/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/v4/previews": "/en/enterprise-server/graphql/overview/schema-previews",
|
||||
"/enterprise/v4/public_schema": "/en/enterprise-server/graphql/overview/public-schema",
|
||||
"/enterprise/v4/query": "/en/enterprise-server/graphql/reference/queries",
|
||||
"/enterprise/v4/reference": "/en/enterprise-server/graphql/reference",
|
||||
"/enterprise/v4/scalar": "/en/enterprise-server/graphql/reference/scalars",
|
||||
"/enterprise/v4/scalar/boolean": "/en/enterprise-server/graphql/reference/scalars#boolean",
|
||||
"/enterprise/v4/scalar/date": "/en/enterprise-server/graphql/reference/scalars#date",
|
||||
"/enterprise/v4/union": "/en/enterprise-server/graphql/reference/unions",
|
||||
"/enterprise/v4/union/assignee": "/en/enterprise-server/graphql/reference/unions#assignee",
|
||||
"/enterprise/v4/union/auditentryactor": "/en/enterprise-server/graphql/reference/unions#auditentryactor",
|
||||
"/v4/enum": "/en/free-pro-team@latest/graphql/reference/enums",
|
||||
"/v4/enum/auditlogorderfield": "/en/free-pro-team@latest/graphql/reference/enums#auditlogorderfield",
|
||||
"/v4/enum/checkannotationlevel": "/en/free-pro-team@latest/graphql/reference/enums#checkannotationlevel",
|
||||
"/v4/guides": "/en/free-pro-team@latest/graphql/guides",
|
||||
"/v4/input_object": "/en/free-pro-team@latest/graphql/reference/input-objects",
|
||||
"/v4/input_object/acceptenterpriseadministratorinvitationinput": "/en/free-pro-team@latest/graphql/reference/input-objects#acceptenterpriseadministratorinvitationinput",
|
||||
"/v4/input_object/accepttopicsuggestioninput": "/en/free-pro-team@latest/graphql/reference/input-objects#accepttopicsuggestioninput",
|
||||
"/v4/interface": "/en/free-pro-team@latest/graphql/reference/interfaces",
|
||||
"/v4/interface/actor": "/en/free-pro-team@latest/graphql/reference/interfaces#actor",
|
||||
"/v4/interface/assignable": "/en/free-pro-team@latest/graphql/reference/interfaces#assignable",
|
||||
"/v4/mutation": "/en/free-pro-team@latest/graphql/reference/mutations",
|
||||
"/v4/mutation/acceptenterpriseadministratorinvitation": "/en/free-pro-team@latest/graphql/reference/mutations#acceptenterpriseadministratorinvitation",
|
||||
"/v4/mutation/accepttopicsuggestion": "/en/free-pro-team@latest/graphql/reference/mutations#accepttopicsuggestion",
|
||||
"/v4/object": "/en/free-pro-team@latest/graphql/reference/objects",
|
||||
"/v4/object/actorlocation": "/en/free-pro-team@latest/graphql/reference/objects#actorlocation",
|
||||
"/v4/object/addedtoprojectevent": "/en/free-pro-team@latest/graphql/reference/objects#addedtoprojectevent",
|
||||
"/v4/previews": "/en/free-pro-team@latest/graphql/overview/schema-previews",
|
||||
"/v4/public_schema": "/en/free-pro-team@latest/graphql/overview/public-schema",
|
||||
"/v4/query": "/en/free-pro-team@latest/graphql/reference/queries",
|
||||
"/v4/reference": "/en/free-pro-team@latest/graphql/reference",
|
||||
"/v4/scalar": "/en/free-pro-team@latest/graphql/reference/scalars",
|
||||
"/v4/scalar/boolean": "/en/free-pro-team@latest/graphql/reference/scalars#boolean",
|
||||
"/v4/scalar/date": "/en/free-pro-team@latest/graphql/reference/scalars#date",
|
||||
"/v4/union": "/en/free-pro-team@latest/graphql/reference/unions",
|
||||
"/v4/union/assignee": "/en/free-pro-team@latest/graphql/reference/unions#assignee",
|
||||
"/v4/union/auditentryactor": "/en/free-pro-team@latest/graphql/reference/unions#auditentryactor"
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
title: GitHub 上でプロジェクトを探索する
|
||||
intro: ''
|
||||
mapTopic: verdadero
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '*'
|
||||
---
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
{
|
||||
"/apps": "/en/free-pro-team@latest/developers/apps",
|
||||
"/apps/building-github-apps": "/en/free-pro-team@latest/developers/apps/building-github-apps",
|
||||
"/apps/building-oauth-apps": "/en/free-pro-team@latest/developers/apps/building-oauth-apps",
|
||||
"/apps/managing-github-apps": "/en/free-pro-team@latest/developers/apps/managing-github-apps",
|
||||
"/apps/managing-oauth-apps": "/en/free-pro-team@latest/developers/apps/managing-oauth-apps",
|
||||
"/apps/quickstart-guides": "/en/free-pro-team@latest/developers/apps/guides",
|
||||
"/marketplace": "/en/free-pro-team@latest/developers/github-marketplace",
|
||||
"/marketplace/getting-started": "/en/free-pro-team@latest/developers/github-marketplace/about-github-marketplace",
|
||||
"/marketplace/integrating-with-the-github-marketplace-api": "/en/free-pro-team@latest/developers/github-marketplace/using-the-github-marketplace-api-in-your-app",
|
||||
"/marketplace/listing-on-github-marketplace": "/en/free-pro-team@latest/developers/github-marketplace/listing-an-app-on-github-marketplace",
|
||||
"/marketplace/selling-your-app": "/en/free-pro-team@latest/developers/github-marketplace/selling-your-app-on-github-marketplace",
|
||||
"/v3": "/en/free-pro-team@latest/rest",
|
||||
"/v3/actions/workflow-jobs": "/en/free-pro-team@latest/rest/reference/actions#workflow-jobs",
|
||||
"/v3/actions/workflow-runs": "/en/free-pro-team@latest/rest/reference/actions#workflow-runs",
|
||||
"/v3/actions/workflow_jobs": "/en/free-pro-team@latest/rest/reference/actions#workflow-jobs",
|
||||
"/v3/actions/workflow_runs": "/en/free-pro-team@latest/rest/reference/actions#workflow-runs",
|
||||
"/v3/guides": "/en/free-pro-team@latest/rest/guides",
|
||||
"/v3/guides/managing-deploy-keys": "/en/free-pro-team@latest/developers/overview/managing-deploy-keys",
|
||||
"/v3/misc": "/en/free-pro-team@latest/rest/reference/emojis",
|
||||
"/v4/public_schema": "/en/free-pro-team@latest/graphql/overview/public-schema",
|
||||
"/v4/object/repository": "/en/free-pro-team@latest/graphql/reference/objects#repository",
|
||||
"/webhooks": "/en/free-pro-team@latest/developers/webhooks-and-events/about-webhooks",
|
||||
"/en/enterprise/2.18/apps": "/en/enterprise/2.18/user/developers/apps",
|
||||
"/en/enterprise/2.18/apps/building-oauth-apps/authorizing-oauth-apps": "/en/enterprise/2.18/user/developers/apps/authorizing-oauth-apps",
|
||||
"/en/enterprise/2.18/apps/building-oauth-apps/understanding-scopes-for-oauth-apps": "/en/enterprise/2.18/user/developers/apps/scopes-for-oauth-apps",
|
||||
"/en/enterprise/2.18/apps/differences-between-apps": "/en/enterprise/2.18/user/developers/apps/differences-between-github-apps-and-oauth-apps",
|
||||
"/en/enterprise/2.18/v3/auth": "/en/enterprise/2.18/user/rest/overview/other-authentication-methods",
|
||||
"/en/enterprise/2.18/v3/guides/managing-deploy-keys": "/en/enterprise/2.18/user/developers/overview/managing-deploy-keys",
|
||||
"/en/enterprise/2.18/v4/explorer": "/en/enterprise/2.18/user/graphql/overview/explorer",
|
||||
"/en/enterprise/2.18/v4/guides/forming-calls": "/en/enterprise/2.18/user/graphql/guides/forming-calls-with-graphql",
|
||||
"/en/enterprise/2.18/v4/guides/intro-to-graphql": "/en/enterprise/2.18/user/graphql/guides/introduction-to-graphql",
|
||||
"/en/enterprise/2.18/v4/guides/migrating-from-rest": "/en/enterprise/2.18/user/graphql/guides/migrating-from-rest-to-graphql",
|
||||
"/en/enterprise/2.18/webhooks": "/en/enterprise/2.18/user/developers/webhooks-and-events/about-webhooks",
|
||||
"/en/enterprise/2.19/apps": "/en/enterprise-server@2.19/developers/apps",
|
||||
"/en/enterprise/2.19/apps/building-oauth-apps/authorizing-oauth-apps": "/en/enterprise-server@2.19/developers/apps/authorizing-oauth-apps",
|
||||
"/en/enterprise/2.19/apps/building-oauth-apps/understanding-scopes-for-oauth-apps": "/en/enterprise-server@2.19/developers/apps/scopes-for-oauth-apps",
|
||||
"/en/enterprise/2.19/apps/differences-between-apps": "/en/enterprise-server@2.19/developers/apps/differences-between-github-apps-and-oauth-apps",
|
||||
"/en/enterprise/2.19/v3/auth": "/en/enterprise-server@2.19/rest/overview/other-authentication-methods",
|
||||
"/en/enterprise/2.19/v3/guides/managing-deploy-keys": "/en/enterprise-server@2.19/developers/overview/managing-deploy-keys",
|
||||
"/en/enterprise/2.19/v4/explorer": "/en/enterprise-server@2.19/graphql/overview/explorer",
|
||||
"/en/enterprise/2.19/v4/guides/forming-calls": "/en/enterprise-server@2.19/graphql/guides/forming-calls-with-graphql",
|
||||
"/en/enterprise/2.19/v4/guides/intro-to-graphql": "/en/enterprise-server@2.19/graphql/guides/introduction-to-graphql",
|
||||
"/en/enterprise/2.19/v4/guides/migrating-from-rest": "/en/enterprise-server@2.19/graphql/guides/migrating-from-rest-to-graphql",
|
||||
"/en/enterprise/2.19/webhooks": "/en/enterprise-server@2.19/developers/webhooks-and-events/about-webhooks",
|
||||
"/en/enterprise/2.20/apps": "/en/enterprise-server@2.20/developers/apps",
|
||||
"/en/enterprise/2.20/apps/building-oauth-apps/authorizing-oauth-apps": "/en/enterprise-server@2.20/developers/apps/authorizing-oauth-apps",
|
||||
"/en/enterprise/2.20/apps/building-oauth-apps/understanding-scopes-for-oauth-apps": "/en/enterprise-server@2.20/developers/apps/scopes-for-oauth-apps",
|
||||
"/en/enterprise/2.20/apps/differences-between-apps": "/en/enterprise-server@2.20/developers/apps/differences-between-github-apps-and-oauth-apps",
|
||||
"/en/enterprise/2.20/v3/auth": "/en/enterprise-server@2.20/rest/overview/other-authentication-methods",
|
||||
"/en/enterprise/2.20/v3/guides/managing-deploy-keys": "/en/enterprise-server@2.20/developers/overview/managing-deploy-keys",
|
||||
"/en/enterprise/2.20/v4/explorer": "/en/enterprise-server@2.20/graphql/overview/explorer",
|
||||
"/en/enterprise/2.20/v4/guides/forming-calls": "/en/enterprise-server@2.20/graphql/guides/forming-calls-with-graphql",
|
||||
"/en/enterprise/2.20/v4/guides/intro-to-graphql": "/en/enterprise-server@2.20/graphql/guides/introduction-to-graphql",
|
||||
"/en/enterprise/2.20/v4/guides/migrating-from-rest": "/en/enterprise-server@2.20/graphql/guides/migrating-from-rest-to-graphql",
|
||||
"/en/enterprise/2.20/webhooks": "/en/enterprise-server@2.20/developers/webhooks-and-events/about-webhooks",
|
||||
"/en/enterprise/2.21/apps": "/en/enterprise-server@2.21/developers/apps",
|
||||
"/en/enterprise/2.21/apps/building-oauth-apps/authorizing-oauth-apps": "/en/enterprise-server@2.21/developers/apps/authorizing-oauth-apps",
|
||||
"/en/enterprise/2.21/apps/building-oauth-apps/understanding-scopes-for-oauth-apps": "/en/enterprise-server@2.21/developers/apps/scopes-for-oauth-apps",
|
||||
"/en/enterprise/2.21/apps/differences-between-apps": "/en/enterprise-server@2.21/developers/apps/differences-between-github-apps-and-oauth-apps",
|
||||
"/en/enterprise/2.21/v3/auth": "/en/enterprise-server@2.21/rest/overview/other-authentication-methods",
|
||||
"/en/enterprise/2.21/v3/guides/managing-deploy-keys": "/en/enterprise-server@2.21/developers/overview/managing-deploy-keys",
|
||||
"/en/enterprise/2.21/v4/explorer": "/en/enterprise-server@2.21/graphql/overview/explorer",
|
||||
"/en/enterprise/2.21/v4/guides/forming-calls": "/en/enterprise-server@2.21/graphql/guides/forming-calls-with-graphql",
|
||||
"/en/enterprise/2.21/v4/guides/intro-to-graphql": "/en/enterprise-server@2.21/graphql/guides/introduction-to-graphql",
|
||||
"/en/enterprise/2.21/v4/guides/migrating-from-rest": "/en/enterprise-server@2.21/graphql/guides/migrating-from-rest-to-graphql",
|
||||
"/en/enterprise/2.21/webhooks": "/en/enterprise-server@2.21/developers/webhooks-and-events/about-webhooks"
|
||||
}
|
||||
446
tests/fixtures/new-versions/graphql-redirects.json
vendored
446
tests/fixtures/new-versions/graphql-redirects.json
vendored
@@ -1,446 +0,0 @@
|
||||
{
|
||||
"/en/enterprise/2.18/user/v4/enum": "/en/enterprise/2.18/user/graphql/reference/enums",
|
||||
"/en/enterprise/2.18/user/v4/enum/auditlogorderfield": "/en/enterprise/2.18/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.18/user/v4/enum/checkannotationlevel": "/en/enterprise/2.18/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.18/user/v4/guides": "/en/enterprise/2.18/user/graphql/guides",
|
||||
"/en/enterprise/2.18/user/v4/input_object": "/en/enterprise/2.18/user/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.18/user/v4/interface": "/en/enterprise/2.18/user/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.18/user/v4/interface/actor": "/en/enterprise/2.18/user/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.18/user/v4/interface/assignable": "/en/enterprise/2.18/user/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.18/user/v4/mutation": "/en/enterprise/2.18/user/graphql/reference/mutations",
|
||||
"/en/enterprise/2.18/user/v4/object": "/en/enterprise/2.18/user/graphql/reference/objects",
|
||||
"/en/enterprise/2.18/user/v4/object/actorlocation": "/en/enterprise/2.18/user/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.18/user/v4/object/addedtoprojectevent": "/en/enterprise/2.18/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.18/user/v4/previews": "/en/enterprise/2.18/user/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.18/user/v4/public_schema": "/en/enterprise/2.18/user/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.18/user/v4/query": "/en/enterprise/2.18/user/graphql/reference/queries",
|
||||
"/en/enterprise/2.18/user/v4/reference": "/en/enterprise/2.18/user/graphql/reference",
|
||||
"/en/enterprise/2.18/user/v4/scalar": "/en/enterprise/2.18/user/graphql/reference/scalars",
|
||||
"/en/enterprise/2.18/user/v4/scalar/boolean": "/en/enterprise/2.18/user/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.18/user/v4/scalar/date": "/en/enterprise/2.18/user/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.18/user/v4/union": "/en/enterprise/2.18/user/graphql/reference/unions",
|
||||
"/en/enterprise/2.18/user/v4/union/auditentryactor": "/en/enterprise/2.18/user/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.18/v4/enum": "/en/enterprise/2.18/user/graphql/reference/enums",
|
||||
"/en/enterprise/2.18/v4/enum/auditlogorderfield": "/en/enterprise/2.18/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.18/v4/enum/checkannotationlevel": "/en/enterprise/2.18/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.18/v4/guides": "/en/enterprise/2.18/user/graphql/guides",
|
||||
"/en/enterprise/2.18/v4/input_object": "/en/enterprise/2.18/user/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.18/v4/interface": "/en/enterprise/2.18/user/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.18/v4/interface/actor": "/en/enterprise/2.18/user/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.18/v4/interface/assignable": "/en/enterprise/2.18/user/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.18/v4/mutation": "/en/enterprise/2.18/user/graphql/reference/mutations",
|
||||
"/en/enterprise/2.18/v4/object": "/en/enterprise/2.18/user/graphql/reference/objects",
|
||||
"/en/enterprise/2.18/v4/object/actorlocation": "/en/enterprise/2.18/user/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.18/v4/object/addedtoprojectevent": "/en/enterprise/2.18/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.18/v4/previews": "/en/enterprise/2.18/user/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.18/v4/public_schema": "/en/enterprise/2.18/user/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.18/v4/query": "/en/enterprise/2.18/user/graphql/reference/queries",
|
||||
"/en/enterprise/2.18/v4/reference": "/en/enterprise/2.18/user/graphql/reference",
|
||||
"/en/enterprise/2.18/v4/scalar": "/en/enterprise/2.18/user/graphql/reference/scalars",
|
||||
"/en/enterprise/2.18/v4/scalar/boolean": "/en/enterprise/2.18/user/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.18/v4/scalar/date": "/en/enterprise/2.18/user/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.18/v4/union": "/en/enterprise/2.18/user/graphql/reference/unions",
|
||||
"/en/enterprise/2.18/v4/union/auditentryactor": "/en/enterprise/2.18/user/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.19/user/v4/enum": "/en/enterprise-server@2.19/graphql/reference/enums",
|
||||
"/en/enterprise/2.19/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.19/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.19/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.19/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.19/user/v4/guides": "/en/enterprise-server@2.19/graphql/guides",
|
||||
"/en/enterprise/2.19/user/v4/input_object": "/en/enterprise-server@2.19/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.19/user/v4/interface": "/en/enterprise-server@2.19/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.19/user/v4/interface/actor": "/en/enterprise-server@2.19/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.19/user/v4/interface/assignable": "/en/enterprise-server@2.19/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.19/user/v4/mutation": "/en/enterprise-server@2.19/graphql/reference/mutations",
|
||||
"/en/enterprise/2.19/user/v4/object": "/en/enterprise-server@2.19/graphql/reference/objects",
|
||||
"/en/enterprise/2.19/user/v4/object/actorlocation": "/en/enterprise-server@2.19/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.19/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.19/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.19/user/v4/previews": "/en/enterprise-server@2.19/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.19/user/v4/public_schema": "/en/enterprise-server@2.19/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.19/user/v4/query": "/en/enterprise-server@2.19/graphql/reference/queries",
|
||||
"/en/enterprise/2.19/user/v4/reference": "/en/enterprise-server@2.19/graphql/reference",
|
||||
"/en/enterprise/2.19/user/v4/scalar": "/en/enterprise-server@2.19/graphql/reference/scalars",
|
||||
"/en/enterprise/2.19/user/v4/scalar/boolean": "/en/enterprise-server@2.19/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.19/user/v4/scalar/date": "/en/enterprise-server@2.19/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.19/user/v4/union": "/en/enterprise-server@2.19/graphql/reference/unions",
|
||||
"/en/enterprise/2.19/user/v4/union/assignee": "/en/enterprise-server@2.19/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.19/user/v4/union/auditentryactor": "/en/enterprise-server@2.19/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.19/v4/enum": "/en/enterprise-server@2.19/graphql/reference/enums",
|
||||
"/en/enterprise/2.19/v4/enum/auditlogorderfield": "/en/enterprise-server@2.19/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.19/v4/enum/checkannotationlevel": "/en/enterprise-server@2.19/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.19/v4/guides": "/en/enterprise-server@2.19/graphql/guides",
|
||||
"/en/enterprise/2.19/v4/input_object": "/en/enterprise-server@2.19/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.19/v4/interface": "/en/enterprise-server@2.19/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.19/v4/interface/actor": "/en/enterprise-server@2.19/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.19/v4/interface/assignable": "/en/enterprise-server@2.19/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.19/v4/mutation": "/en/enterprise-server@2.19/graphql/reference/mutations",
|
||||
"/en/enterprise/2.19/v4/object": "/en/enterprise-server@2.19/graphql/reference/objects",
|
||||
"/en/enterprise/2.19/v4/object/actorlocation": "/en/enterprise-server@2.19/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.19/v4/object/addedtoprojectevent": "/en/enterprise-server@2.19/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.19/v4/previews": "/en/enterprise-server@2.19/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.19/v4/public_schema": "/en/enterprise-server@2.19/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.19/v4/query": "/en/enterprise-server@2.19/graphql/reference/queries",
|
||||
"/en/enterprise/2.19/v4/reference": "/en/enterprise-server@2.19/graphql/reference",
|
||||
"/en/enterprise/2.19/v4/scalar": "/en/enterprise-server@2.19/graphql/reference/scalars",
|
||||
"/en/enterprise/2.19/v4/scalar/boolean": "/en/enterprise-server@2.19/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.19/v4/scalar/date": "/en/enterprise-server@2.19/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.19/v4/union": "/en/enterprise-server@2.19/graphql/reference/unions",
|
||||
"/en/enterprise/2.19/v4/union/assignee": "/en/enterprise-server@2.19/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.19/v4/union/auditentryactor": "/en/enterprise-server@2.19/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.20/user/v4/enum": "/en/enterprise-server@2.20/graphql/reference/enums",
|
||||
"/en/enterprise/2.20/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.20/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.20/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.20/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.20/user/v4/guides": "/en/enterprise-server@2.20/graphql/guides",
|
||||
"/en/enterprise/2.20/user/v4/input_object": "/en/enterprise-server@2.20/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.20/user/v4/interface": "/en/enterprise-server@2.20/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.20/user/v4/interface/actor": "/en/enterprise-server@2.20/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.20/user/v4/interface/assignable": "/en/enterprise-server@2.20/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.20/user/v4/mutation": "/en/enterprise-server@2.20/graphql/reference/mutations",
|
||||
"/en/enterprise/2.20/user/v4/object": "/en/enterprise-server@2.20/graphql/reference/objects",
|
||||
"/en/enterprise/2.20/user/v4/object/actorlocation": "/en/enterprise-server@2.20/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.20/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.20/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.20/user/v4/previews": "/en/enterprise-server@2.20/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.20/user/v4/public_schema": "/en/enterprise-server@2.20/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.20/user/v4/query": "/en/enterprise-server@2.20/graphql/reference/queries",
|
||||
"/en/enterprise/2.20/user/v4/reference": "/en/enterprise-server@2.20/graphql/reference",
|
||||
"/en/enterprise/2.20/user/v4/scalar": "/en/enterprise-server@2.20/graphql/reference/scalars",
|
||||
"/en/enterprise/2.20/user/v4/scalar/boolean": "/en/enterprise-server@2.20/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.20/user/v4/scalar/date": "/en/enterprise-server@2.20/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.20/user/v4/union": "/en/enterprise-server@2.20/graphql/reference/unions",
|
||||
"/en/enterprise/2.20/user/v4/union/assignee": "/en/enterprise-server@2.20/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.20/user/v4/union/auditentryactor": "/en/enterprise-server@2.20/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.20/v4/enum": "/en/enterprise-server@2.20/graphql/reference/enums",
|
||||
"/en/enterprise/2.20/v4/enum/auditlogorderfield": "/en/enterprise-server@2.20/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.20/v4/enum/checkannotationlevel": "/en/enterprise-server@2.20/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.20/v4/guides": "/en/enterprise-server@2.20/graphql/guides",
|
||||
"/en/enterprise/2.20/v4/input_object": "/en/enterprise-server@2.20/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.20/v4/interface": "/en/enterprise-server@2.20/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.20/v4/interface/actor": "/en/enterprise-server@2.20/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.20/v4/interface/assignable": "/en/enterprise-server@2.20/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.20/v4/mutation": "/en/enterprise-server@2.20/graphql/reference/mutations",
|
||||
"/en/enterprise/2.20/v4/object": "/en/enterprise-server@2.20/graphql/reference/objects",
|
||||
"/en/enterprise/2.20/v4/object/actorlocation": "/en/enterprise-server@2.20/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.20/v4/object/addedtoprojectevent": "/en/enterprise-server@2.20/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.20/v4/previews": "/en/enterprise-server@2.20/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.20/v4/public_schema": "/en/enterprise-server@2.20/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.20/v4/query": "/en/enterprise-server@2.20/graphql/reference/queries",
|
||||
"/en/enterprise/2.20/v4/reference": "/en/enterprise-server@2.20/graphql/reference",
|
||||
"/en/enterprise/2.20/v4/scalar": "/en/enterprise-server@2.20/graphql/reference/scalars",
|
||||
"/en/enterprise/2.20/v4/scalar/boolean": "/en/enterprise-server@2.20/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.20/v4/scalar/date": "/en/enterprise-server@2.20/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.20/v4/union": "/en/enterprise-server@2.20/graphql/reference/unions",
|
||||
"/en/enterprise/2.20/v4/union/assignee": "/en/enterprise-server@2.20/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.20/v4/union/auditentryactor": "/en/enterprise-server@2.20/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.21/user/v4/enum": "/en/enterprise-server@2.21/graphql/reference/enums",
|
||||
"/en/enterprise/2.21/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.21/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.21/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.21/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.21/user/v4/guides": "/en/enterprise-server@2.21/graphql/guides",
|
||||
"/en/enterprise/2.21/user/v4/input_object": "/en/enterprise-server@2.21/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.21/user/v4/interface": "/en/enterprise-server@2.21/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.21/user/v4/interface/actor": "/en/enterprise-server@2.21/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.21/user/v4/interface/assignable": "/en/enterprise-server@2.21/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.21/user/v4/mutation": "/en/enterprise-server@2.21/graphql/reference/mutations",
|
||||
"/en/enterprise/2.21/user/v4/object": "/en/enterprise-server@2.21/graphql/reference/objects",
|
||||
"/en/enterprise/2.21/user/v4/object/actorlocation": "/en/enterprise-server@2.21/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.21/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.21/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.21/user/v4/previews": "/en/enterprise-server@2.21/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.21/user/v4/public_schema": "/en/enterprise-server@2.21/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.21/user/v4/query": "/en/enterprise-server@2.21/graphql/reference/queries",
|
||||
"/en/enterprise/2.21/user/v4/reference": "/en/enterprise-server@2.21/graphql/reference",
|
||||
"/en/enterprise/2.21/user/v4/scalar": "/en/enterprise-server@2.21/graphql/reference/scalars",
|
||||
"/en/enterprise/2.21/user/v4/scalar/boolean": "/en/enterprise-server@2.21/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.21/user/v4/scalar/date": "/en/enterprise-server@2.21/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.21/user/v4/union": "/en/enterprise-server@2.21/graphql/reference/unions",
|
||||
"/en/enterprise/2.21/user/v4/union/assignee": "/en/enterprise-server@2.21/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.21/user/v4/union/auditentryactor": "/en/enterprise-server@2.21/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/2.21/v4/enum": "/en/enterprise-server@2.21/graphql/reference/enums",
|
||||
"/en/enterprise/2.21/v4/enum/auditlogorderfield": "/en/enterprise-server@2.21/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/2.21/v4/enum/checkannotationlevel": "/en/enterprise-server@2.21/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/2.21/v4/guides": "/en/enterprise-server@2.21/graphql/guides",
|
||||
"/en/enterprise/2.21/v4/input_object": "/en/enterprise-server@2.21/graphql/reference/input-objects",
|
||||
"/en/enterprise/2.21/v4/interface": "/en/enterprise-server@2.21/graphql/reference/interfaces",
|
||||
"/en/enterprise/2.21/v4/interface/actor": "/en/enterprise-server@2.21/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/2.21/v4/interface/assignable": "/en/enterprise-server@2.21/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/2.21/v4/mutation": "/en/enterprise-server@2.21/graphql/reference/mutations",
|
||||
"/en/enterprise/2.21/v4/object": "/en/enterprise-server@2.21/graphql/reference/objects",
|
||||
"/en/enterprise/2.21/v4/object/actorlocation": "/en/enterprise-server@2.21/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/2.21/v4/object/addedtoprojectevent": "/en/enterprise-server@2.21/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/2.21/v4/previews": "/en/enterprise-server@2.21/graphql/overview/schema-previews",
|
||||
"/en/enterprise/2.21/v4/public_schema": "/en/enterprise-server@2.21/graphql/overview/public-schema",
|
||||
"/en/enterprise/2.21/v4/query": "/en/enterprise-server@2.21/graphql/reference/queries",
|
||||
"/en/enterprise/2.21/v4/reference": "/en/enterprise-server@2.21/graphql/reference",
|
||||
"/en/enterprise/2.21/v4/scalar": "/en/enterprise-server@2.21/graphql/reference/scalars",
|
||||
"/en/enterprise/2.21/v4/scalar/boolean": "/en/enterprise-server@2.21/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/2.21/v4/scalar/date": "/en/enterprise-server@2.21/graphql/reference/scalars#date",
|
||||
"/en/enterprise/2.21/v4/union": "/en/enterprise-server@2.21/graphql/reference/unions",
|
||||
"/en/enterprise/2.21/v4/union/assignee": "/en/enterprise-server@2.21/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/2.21/v4/union/auditentryactor": "/en/enterprise-server@2.21/graphql/reference/unions#auditentryactor",
|
||||
"/en/enterprise/v4/enum": "/en/enterprise-server/graphql/reference/enums",
|
||||
"/en/enterprise/v4/enum/auditlogorderfield": "/en/enterprise-server/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/enterprise/v4/enum/checkannotationlevel": "/en/enterprise-server/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/enterprise/v4/guides": "/en/enterprise-server/graphql/guides",
|
||||
"/en/enterprise/v4/input_object": "/en/enterprise-server/graphql/reference/input-objects",
|
||||
"/en/enterprise/v4/interface": "/en/enterprise-server/graphql/reference/interfaces",
|
||||
"/en/enterprise/v4/interface/actor": "/en/enterprise-server/graphql/reference/interfaces#actor",
|
||||
"/en/enterprise/v4/interface/assignable": "/en/enterprise-server/graphql/reference/interfaces#assignable",
|
||||
"/en/enterprise/v4/mutation": "/en/enterprise-server/graphql/reference/mutations",
|
||||
"/en/enterprise/v4/object": "/en/enterprise-server/graphql/reference/objects",
|
||||
"/en/enterprise/v4/object/actorlocation": "/en/enterprise-server/graphql/reference/objects#actorlocation",
|
||||
"/en/enterprise/v4/object/addedtoprojectevent": "/en/enterprise-server/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/enterprise/v4/previews": "/en/enterprise-server/graphql/overview/schema-previews",
|
||||
"/en/enterprise/v4/public_schema": "/en/enterprise-server/graphql/overview/public-schema",
|
||||
"/en/enterprise/v4/query": "/en/enterprise-server/graphql/reference/queries",
|
||||
"/en/enterprise/v4/reference": "/en/enterprise-server/graphql/reference",
|
||||
"/en/enterprise/v4/scalar": "/en/enterprise-server/graphql/reference/scalars",
|
||||
"/en/enterprise/v4/scalar/boolean": "/en/enterprise-server/graphql/reference/scalars#boolean",
|
||||
"/en/enterprise/v4/scalar/date": "/en/enterprise-server/graphql/reference/scalars#date",
|
||||
"/en/enterprise/v4/union": "/en/enterprise-server/graphql/reference/unions",
|
||||
"/en/enterprise/v4/union/assignee": "/en/enterprise-server/graphql/reference/unions#assignee",
|
||||
"/en/enterprise/v4/union/auditentryactor": "/en/enterprise-server/graphql/reference/unions#auditentryactor",
|
||||
"/en/v4/enum": "/en/free-pro-team@latest/graphql/reference/enums",
|
||||
"/en/v4/enum/auditlogorderfield": "/en/free-pro-team@latest/graphql/reference/enums#auditlogorderfield",
|
||||
"/en/v4/enum/checkannotationlevel": "/en/free-pro-team@latest/graphql/reference/enums#checkannotationlevel",
|
||||
"/en/v4/guides": "/en/free-pro-team@latest/graphql/guides",
|
||||
"/en/v4/input_object": "/en/free-pro-team@latest/graphql/reference/input-objects",
|
||||
"/en/v4/input_object/acceptenterpriseadministratorinvitationinput": "/en/free-pro-team@latest/graphql/reference/input-objects#acceptenterpriseadministratorinvitationinput",
|
||||
"/en/v4/input_object/accepttopicsuggestioninput": "/en/free-pro-team@latest/graphql/reference/input-objects#accepttopicsuggestioninput",
|
||||
"/en/v4/interface": "/en/free-pro-team@latest/graphql/reference/interfaces",
|
||||
"/en/v4/interface/actor": "/en/free-pro-team@latest/graphql/reference/interfaces#actor",
|
||||
"/en/v4/interface/assignable": "/en/free-pro-team@latest/graphql/reference/interfaces#assignable",
|
||||
"/en/v4/mutation": "/en/free-pro-team@latest/graphql/reference/mutations",
|
||||
"/en/v4/mutation/acceptenterpriseadministratorinvitation": "/en/free-pro-team@latest/graphql/reference/mutations#acceptenterpriseadministratorinvitation",
|
||||
"/en/v4/mutation/accepttopicsuggestion": "/en/free-pro-team@latest/graphql/reference/mutations#accepttopicsuggestion",
|
||||
"/en/v4/object": "/en/free-pro-team@latest/graphql/reference/objects",
|
||||
"/en/v4/object/actorlocation": "/en/free-pro-team@latest/graphql/reference/objects#actorlocation",
|
||||
"/en/v4/object/addedtoprojectevent": "/en/free-pro-team@latest/graphql/reference/objects#addedtoprojectevent",
|
||||
"/en/v4/previews": "/en/free-pro-team@latest/graphql/overview/schema-previews",
|
||||
"/en/v4/public_schema": "/en/free-pro-team@latest/graphql/overview/public-schema",
|
||||
"/en/v4/query": "/en/free-pro-team@latest/graphql/reference/queries",
|
||||
"/en/v4/reference": "/en/free-pro-team@latest/graphql/reference",
|
||||
"/en/v4/scalar": "/en/free-pro-team@latest/graphql/reference/scalars",
|
||||
"/en/v4/scalar/boolean": "/en/free-pro-team@latest/graphql/reference/scalars#boolean",
|
||||
"/en/v4/scalar/date": "/en/free-pro-team@latest/graphql/reference/scalars#date",
|
||||
"/en/v4/union": "/en/free-pro-team@latest/graphql/reference/unions",
|
||||
"/en/v4/union/assignee": "/en/free-pro-team@latest/graphql/reference/unions#assignee",
|
||||
"/en/v4/union/auditentryactor": "/en/free-pro-team@latest/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.18/user/v4/enum": "/en/enterprise/2.18/user/graphql/reference/enums",
|
||||
"/enterprise/2.18/user/v4/enum/auditlogorderfield": "/en/enterprise/2.18/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.18/user/v4/enum/checkannotationlevel": "/en/enterprise/2.18/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.18/user/v4/guides": "/en/enterprise/2.18/user/graphql/guides",
|
||||
"/enterprise/2.18/user/v4/input_object": "/en/enterprise/2.18/user/graphql/reference/input-objects",
|
||||
"/enterprise/2.18/user/v4/interface": "/en/enterprise/2.18/user/graphql/reference/interfaces",
|
||||
"/enterprise/2.18/user/v4/interface/actor": "/en/enterprise/2.18/user/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.18/user/v4/interface/assignable": "/en/enterprise/2.18/user/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.18/user/v4/mutation": "/en/enterprise/2.18/user/graphql/reference/mutations",
|
||||
"/enterprise/2.18/user/v4/object": "/en/enterprise/2.18/user/graphql/reference/objects",
|
||||
"/enterprise/2.18/user/v4/object/actorlocation": "/en/enterprise/2.18/user/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.18/user/v4/object/addedtoprojectevent": "/en/enterprise/2.18/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.18/user/v4/previews": "/en/enterprise/2.18/user/graphql/overview/schema-previews",
|
||||
"/enterprise/2.18/user/v4/public_schema": "/en/enterprise/2.18/user/graphql/overview/public-schema",
|
||||
"/enterprise/2.18/user/v4/query": "/en/enterprise/2.18/user/graphql/reference/queries",
|
||||
"/enterprise/2.18/user/v4/reference": "/en/enterprise/2.18/user/graphql/reference",
|
||||
"/enterprise/2.18/user/v4/scalar": "/en/enterprise/2.18/user/graphql/reference/scalars",
|
||||
"/enterprise/2.18/user/v4/scalar/boolean": "/en/enterprise/2.18/user/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.18/user/v4/scalar/date": "/en/enterprise/2.18/user/graphql/reference/scalars#date",
|
||||
"/enterprise/2.18/user/v4/union": "/en/enterprise/2.18/user/graphql/reference/unions",
|
||||
"/enterprise/2.18/user/v4/union/auditentryactor": "/en/enterprise/2.18/user/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.18/v4/enum": "/en/enterprise/2.18/user/graphql/reference/enums",
|
||||
"/enterprise/2.18/v4/enum/auditlogorderfield": "/en/enterprise/2.18/user/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.18/v4/enum/checkannotationlevel": "/en/enterprise/2.18/user/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.18/v4/guides": "/en/enterprise/2.18/user/graphql/guides",
|
||||
"/enterprise/2.18/v4/input_object": "/en/enterprise/2.18/user/graphql/reference/input-objects",
|
||||
"/enterprise/2.18/v4/interface": "/en/enterprise/2.18/user/graphql/reference/interfaces",
|
||||
"/enterprise/2.18/v4/interface/actor": "/en/enterprise/2.18/user/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.18/v4/interface/assignable": "/en/enterprise/2.18/user/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.18/v4/mutation": "/en/enterprise/2.18/user/graphql/reference/mutations",
|
||||
"/enterprise/2.18/v4/object": "/en/enterprise/2.18/user/graphql/reference/objects",
|
||||
"/enterprise/2.18/v4/object/actorlocation": "/en/enterprise/2.18/user/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.18/v4/object/addedtoprojectevent": "/en/enterprise/2.18/user/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.18/v4/previews": "/en/enterprise/2.18/user/graphql/overview/schema-previews",
|
||||
"/enterprise/2.18/v4/public_schema": "/en/enterprise/2.18/user/graphql/overview/public-schema",
|
||||
"/enterprise/2.18/v4/query": "/en/enterprise/2.18/user/graphql/reference/queries",
|
||||
"/enterprise/2.18/v4/reference": "/en/enterprise/2.18/user/graphql/reference",
|
||||
"/enterprise/2.18/v4/scalar": "/en/enterprise/2.18/user/graphql/reference/scalars",
|
||||
"/enterprise/2.18/v4/scalar/boolean": "/en/enterprise/2.18/user/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.18/v4/scalar/date": "/en/enterprise/2.18/user/graphql/reference/scalars#date",
|
||||
"/enterprise/2.18/v4/union": "/en/enterprise/2.18/user/graphql/reference/unions",
|
||||
"/enterprise/2.18/v4/union/auditentryactor": "/en/enterprise/2.18/user/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.19/user/v4/enum": "/en/enterprise-server@2.19/graphql/reference/enums",
|
||||
"/enterprise/2.19/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.19/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.19/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.19/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.19/user/v4/guides": "/en/enterprise-server@2.19/graphql/guides",
|
||||
"/enterprise/2.19/user/v4/input_object": "/en/enterprise-server@2.19/graphql/reference/input-objects",
|
||||
"/enterprise/2.19/user/v4/interface": "/en/enterprise-server@2.19/graphql/reference/interfaces",
|
||||
"/enterprise/2.19/user/v4/interface/actor": "/en/enterprise-server@2.19/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.19/user/v4/interface/assignable": "/en/enterprise-server@2.19/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.19/user/v4/mutation": "/en/enterprise-server@2.19/graphql/reference/mutations",
|
||||
"/enterprise/2.19/user/v4/object": "/en/enterprise-server@2.19/graphql/reference/objects",
|
||||
"/enterprise/2.19/user/v4/object/actorlocation": "/en/enterprise-server@2.19/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.19/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.19/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.19/user/v4/previews": "/en/enterprise-server@2.19/graphql/overview/schema-previews",
|
||||
"/enterprise/2.19/user/v4/public_schema": "/en/enterprise-server@2.19/graphql/overview/public-schema",
|
||||
"/enterprise/2.19/user/v4/query": "/en/enterprise-server@2.19/graphql/reference/queries",
|
||||
"/enterprise/2.19/user/v4/reference": "/en/enterprise-server@2.19/graphql/reference",
|
||||
"/enterprise/2.19/user/v4/scalar": "/en/enterprise-server@2.19/graphql/reference/scalars",
|
||||
"/enterprise/2.19/user/v4/scalar/boolean": "/en/enterprise-server@2.19/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.19/user/v4/scalar/date": "/en/enterprise-server@2.19/graphql/reference/scalars#date",
|
||||
"/enterprise/2.19/user/v4/union": "/en/enterprise-server@2.19/graphql/reference/unions",
|
||||
"/enterprise/2.19/user/v4/union/assignee": "/en/enterprise-server@2.19/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.19/user/v4/union/auditentryactor": "/en/enterprise-server@2.19/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.19/v4/enum": "/en/enterprise-server@2.19/graphql/reference/enums",
|
||||
"/enterprise/2.19/v4/enum/auditlogorderfield": "/en/enterprise-server@2.19/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.19/v4/enum/checkannotationlevel": "/en/enterprise-server@2.19/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.19/v4/guides": "/en/enterprise-server@2.19/graphql/guides",
|
||||
"/enterprise/2.19/v4/input_object": "/en/enterprise-server@2.19/graphql/reference/input-objects",
|
||||
"/enterprise/2.19/v4/interface": "/en/enterprise-server@2.19/graphql/reference/interfaces",
|
||||
"/enterprise/2.19/v4/interface/actor": "/en/enterprise-server@2.19/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.19/v4/interface/assignable": "/en/enterprise-server@2.19/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.19/v4/mutation": "/en/enterprise-server@2.19/graphql/reference/mutations",
|
||||
"/enterprise/2.19/v4/object": "/en/enterprise-server@2.19/graphql/reference/objects",
|
||||
"/enterprise/2.19/v4/object/actorlocation": "/en/enterprise-server@2.19/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.19/v4/object/addedtoprojectevent": "/en/enterprise-server@2.19/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.19/v4/previews": "/en/enterprise-server@2.19/graphql/overview/schema-previews",
|
||||
"/enterprise/2.19/v4/public_schema": "/en/enterprise-server@2.19/graphql/overview/public-schema",
|
||||
"/enterprise/2.19/v4/query": "/en/enterprise-server@2.19/graphql/reference/queries",
|
||||
"/enterprise/2.19/v4/reference": "/en/enterprise-server@2.19/graphql/reference",
|
||||
"/enterprise/2.19/v4/scalar": "/en/enterprise-server@2.19/graphql/reference/scalars",
|
||||
"/enterprise/2.19/v4/scalar/boolean": "/en/enterprise-server@2.19/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.19/v4/scalar/date": "/en/enterprise-server@2.19/graphql/reference/scalars#date",
|
||||
"/enterprise/2.19/v4/union": "/en/enterprise-server@2.19/graphql/reference/unions",
|
||||
"/enterprise/2.19/v4/union/assignee": "/en/enterprise-server@2.19/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.19/v4/union/auditentryactor": "/en/enterprise-server@2.19/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.20/user/v4/enum": "/en/enterprise-server@2.20/graphql/reference/enums",
|
||||
"/enterprise/2.20/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.20/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.20/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.20/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.20/user/v4/guides": "/en/enterprise-server@2.20/graphql/guides",
|
||||
"/enterprise/2.20/user/v4/input_object": "/en/enterprise-server@2.20/graphql/reference/input-objects",
|
||||
"/enterprise/2.20/user/v4/interface": "/en/enterprise-server@2.20/graphql/reference/interfaces",
|
||||
"/enterprise/2.20/user/v4/interface/actor": "/en/enterprise-server@2.20/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.20/user/v4/interface/assignable": "/en/enterprise-server@2.20/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.20/user/v4/mutation": "/en/enterprise-server@2.20/graphql/reference/mutations",
|
||||
"/enterprise/2.20/user/v4/object": "/en/enterprise-server@2.20/graphql/reference/objects",
|
||||
"/enterprise/2.20/user/v4/object/actorlocation": "/en/enterprise-server@2.20/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.20/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.20/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.20/user/v4/previews": "/en/enterprise-server@2.20/graphql/overview/schema-previews",
|
||||
"/enterprise/2.20/user/v4/public_schema": "/en/enterprise-server@2.20/graphql/overview/public-schema",
|
||||
"/enterprise/2.20/user/v4/query": "/en/enterprise-server@2.20/graphql/reference/queries",
|
||||
"/enterprise/2.20/user/v4/reference": "/en/enterprise-server@2.20/graphql/reference",
|
||||
"/enterprise/2.20/user/v4/scalar": "/en/enterprise-server@2.20/graphql/reference/scalars",
|
||||
"/enterprise/2.20/user/v4/scalar/boolean": "/en/enterprise-server@2.20/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.20/user/v4/scalar/date": "/en/enterprise-server@2.20/graphql/reference/scalars#date",
|
||||
"/enterprise/2.20/user/v4/union": "/en/enterprise-server@2.20/graphql/reference/unions",
|
||||
"/enterprise/2.20/user/v4/union/assignee": "/en/enterprise-server@2.20/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.20/user/v4/union/auditentryactor": "/en/enterprise-server@2.20/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.20/v4/enum": "/en/enterprise-server@2.20/graphql/reference/enums",
|
||||
"/enterprise/2.20/v4/enum/auditlogorderfield": "/en/enterprise-server@2.20/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.20/v4/enum/checkannotationlevel": "/en/enterprise-server@2.20/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.20/v4/guides": "/en/enterprise-server@2.20/graphql/guides",
|
||||
"/enterprise/2.20/v4/input_object": "/en/enterprise-server@2.20/graphql/reference/input-objects",
|
||||
"/enterprise/2.20/v4/interface": "/en/enterprise-server@2.20/graphql/reference/interfaces",
|
||||
"/enterprise/2.20/v4/interface/actor": "/en/enterprise-server@2.20/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.20/v4/interface/assignable": "/en/enterprise-server@2.20/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.20/v4/mutation": "/en/enterprise-server@2.20/graphql/reference/mutations",
|
||||
"/enterprise/2.20/v4/object": "/en/enterprise-server@2.20/graphql/reference/objects",
|
||||
"/enterprise/2.20/v4/object/actorlocation": "/en/enterprise-server@2.20/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.20/v4/object/addedtoprojectevent": "/en/enterprise-server@2.20/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.20/v4/previews": "/en/enterprise-server@2.20/graphql/overview/schema-previews",
|
||||
"/enterprise/2.20/v4/public_schema": "/en/enterprise-server@2.20/graphql/overview/public-schema",
|
||||
"/enterprise/2.20/v4/query": "/en/enterprise-server@2.20/graphql/reference/queries",
|
||||
"/enterprise/2.20/v4/reference": "/en/enterprise-server@2.20/graphql/reference",
|
||||
"/enterprise/2.20/v4/scalar": "/en/enterprise-server@2.20/graphql/reference/scalars",
|
||||
"/enterprise/2.20/v4/scalar/boolean": "/en/enterprise-server@2.20/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.20/v4/scalar/date": "/en/enterprise-server@2.20/graphql/reference/scalars#date",
|
||||
"/enterprise/2.20/v4/union": "/en/enterprise-server@2.20/graphql/reference/unions",
|
||||
"/enterprise/2.20/v4/union/assignee": "/en/enterprise-server@2.20/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.20/v4/union/auditentryactor": "/en/enterprise-server@2.20/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.21/user/v4/enum": "/en/enterprise-server@2.21/graphql/reference/enums",
|
||||
"/enterprise/2.21/user/v4/enum/auditlogorderfield": "/en/enterprise-server@2.21/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.21/user/v4/enum/checkannotationlevel": "/en/enterprise-server@2.21/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.21/user/v4/guides": "/en/enterprise-server@2.21/graphql/guides",
|
||||
"/enterprise/2.21/user/v4/input_object": "/en/enterprise-server@2.21/graphql/reference/input-objects",
|
||||
"/enterprise/2.21/user/v4/interface": "/en/enterprise-server@2.21/graphql/reference/interfaces",
|
||||
"/enterprise/2.21/user/v4/interface/actor": "/en/enterprise-server@2.21/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.21/user/v4/interface/assignable": "/en/enterprise-server@2.21/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.21/user/v4/mutation": "/en/enterprise-server@2.21/graphql/reference/mutations",
|
||||
"/enterprise/2.21/user/v4/object": "/en/enterprise-server@2.21/graphql/reference/objects",
|
||||
"/enterprise/2.21/user/v4/object/actorlocation": "/en/enterprise-server@2.21/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.21/user/v4/object/addedtoprojectevent": "/en/enterprise-server@2.21/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.21/user/v4/previews": "/en/enterprise-server@2.21/graphql/overview/schema-previews",
|
||||
"/enterprise/2.21/user/v4/public_schema": "/en/enterprise-server@2.21/graphql/overview/public-schema",
|
||||
"/enterprise/2.21/user/v4/query": "/en/enterprise-server@2.21/graphql/reference/queries",
|
||||
"/enterprise/2.21/user/v4/reference": "/en/enterprise-server@2.21/graphql/reference",
|
||||
"/enterprise/2.21/user/v4/scalar": "/en/enterprise-server@2.21/graphql/reference/scalars",
|
||||
"/enterprise/2.21/user/v4/scalar/boolean": "/en/enterprise-server@2.21/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.21/user/v4/scalar/date": "/en/enterprise-server@2.21/graphql/reference/scalars#date",
|
||||
"/enterprise/2.21/user/v4/union": "/en/enterprise-server@2.21/graphql/reference/unions",
|
||||
"/enterprise/2.21/user/v4/union/assignee": "/en/enterprise-server@2.21/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.21/user/v4/union/auditentryactor": "/en/enterprise-server@2.21/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/2.21/v4/enum": "/en/enterprise-server@2.21/graphql/reference/enums",
|
||||
"/enterprise/2.21/v4/enum/auditlogorderfield": "/en/enterprise-server@2.21/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/2.21/v4/enum/checkannotationlevel": "/en/enterprise-server@2.21/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/2.21/v4/guides": "/en/enterprise-server@2.21/graphql/guides",
|
||||
"/enterprise/2.21/v4/input_object": "/en/enterprise-server@2.21/graphql/reference/input-objects",
|
||||
"/enterprise/2.21/v4/interface": "/en/enterprise-server@2.21/graphql/reference/interfaces",
|
||||
"/enterprise/2.21/v4/interface/actor": "/en/enterprise-server@2.21/graphql/reference/interfaces#actor",
|
||||
"/enterprise/2.21/v4/interface/assignable": "/en/enterprise-server@2.21/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/2.21/v4/mutation": "/en/enterprise-server@2.21/graphql/reference/mutations",
|
||||
"/enterprise/2.21/v4/object": "/en/enterprise-server@2.21/graphql/reference/objects",
|
||||
"/enterprise/2.21/v4/object/actorlocation": "/en/enterprise-server@2.21/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/2.21/v4/object/addedtoprojectevent": "/en/enterprise-server@2.21/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/2.21/v4/previews": "/en/enterprise-server@2.21/graphql/overview/schema-previews",
|
||||
"/enterprise/2.21/v4/public_schema": "/en/enterprise-server@2.21/graphql/overview/public-schema",
|
||||
"/enterprise/2.21/v4/query": "/en/enterprise-server@2.21/graphql/reference/queries",
|
||||
"/enterprise/2.21/v4/reference": "/en/enterprise-server@2.21/graphql/reference",
|
||||
"/enterprise/2.21/v4/scalar": "/en/enterprise-server@2.21/graphql/reference/scalars",
|
||||
"/enterprise/2.21/v4/scalar/boolean": "/en/enterprise-server@2.21/graphql/reference/scalars#boolean",
|
||||
"/enterprise/2.21/v4/scalar/date": "/en/enterprise-server@2.21/graphql/reference/scalars#date",
|
||||
"/enterprise/2.21/v4/union": "/en/enterprise-server@2.21/graphql/reference/unions",
|
||||
"/enterprise/2.21/v4/union/assignee": "/en/enterprise-server@2.21/graphql/reference/unions#assignee",
|
||||
"/enterprise/2.21/v4/union/auditentryactor": "/en/enterprise-server@2.21/graphql/reference/unions#auditentryactor",
|
||||
"/enterprise/v4/enum": "/en/enterprise-server/graphql/reference/enums",
|
||||
"/enterprise/v4/enum/auditlogorderfield": "/en/enterprise-server/graphql/reference/enums#auditlogorderfield",
|
||||
"/enterprise/v4/enum/checkannotationlevel": "/en/enterprise-server/graphql/reference/enums#checkannotationlevel",
|
||||
"/enterprise/v4/guides": "/en/enterprise-server/graphql/guides",
|
||||
"/enterprise/v4/input_object": "/en/enterprise-server/graphql/reference/input-objects",
|
||||
"/enterprise/v4/interface": "/en/enterprise-server/graphql/reference/interfaces",
|
||||
"/enterprise/v4/interface/actor": "/en/enterprise-server/graphql/reference/interfaces#actor",
|
||||
"/enterprise/v4/interface/assignable": "/en/enterprise-server/graphql/reference/interfaces#assignable",
|
||||
"/enterprise/v4/mutation": "/en/enterprise-server/graphql/reference/mutations",
|
||||
"/enterprise/v4/object": "/en/enterprise-server/graphql/reference/objects",
|
||||
"/enterprise/v4/object/actorlocation": "/en/enterprise-server/graphql/reference/objects#actorlocation",
|
||||
"/enterprise/v4/object/addedtoprojectevent": "/en/enterprise-server/graphql/reference/objects#addedtoprojectevent",
|
||||
"/enterprise/v4/previews": "/en/enterprise-server/graphql/overview/schema-previews",
|
||||
"/enterprise/v4/public_schema": "/en/enterprise-server/graphql/overview/public-schema",
|
||||
"/enterprise/v4/query": "/en/enterprise-server/graphql/reference/queries",
|
||||
"/enterprise/v4/reference": "/en/enterprise-server/graphql/reference",
|
||||
"/enterprise/v4/scalar": "/en/enterprise-server/graphql/reference/scalars",
|
||||
"/enterprise/v4/scalar/boolean": "/en/enterprise-server/graphql/reference/scalars#boolean",
|
||||
"/enterprise/v4/scalar/date": "/en/enterprise-server/graphql/reference/scalars#date",
|
||||
"/enterprise/v4/union": "/en/enterprise-server/graphql/reference/unions",
|
||||
"/enterprise/v4/union/assignee": "/en/enterprise-server/graphql/reference/unions#assignee",
|
||||
"/enterprise/v4/union/auditentryactor": "/en/enterprise-server/graphql/reference/unions#auditentryactor",
|
||||
"/v4/enum": "/en/free-pro-team@latest/graphql/reference/enums",
|
||||
"/v4/enum/auditlogorderfield": "/en/free-pro-team@latest/graphql/reference/enums#auditlogorderfield",
|
||||
"/v4/enum/checkannotationlevel": "/en/free-pro-team@latest/graphql/reference/enums#checkannotationlevel",
|
||||
"/v4/guides": "/en/free-pro-team@latest/graphql/guides",
|
||||
"/v4/input_object": "/en/free-pro-team@latest/graphql/reference/input-objects",
|
||||
"/v4/input_object/acceptenterpriseadministratorinvitationinput": "/en/free-pro-team@latest/graphql/reference/input-objects#acceptenterpriseadministratorinvitationinput",
|
||||
"/v4/input_object/accepttopicsuggestioninput": "/en/free-pro-team@latest/graphql/reference/input-objects#accepttopicsuggestioninput",
|
||||
"/v4/interface": "/en/free-pro-team@latest/graphql/reference/interfaces",
|
||||
"/v4/interface/actor": "/en/free-pro-team@latest/graphql/reference/interfaces#actor",
|
||||
"/v4/interface/assignable": "/en/free-pro-team@latest/graphql/reference/interfaces#assignable",
|
||||
"/v4/mutation": "/en/free-pro-team@latest/graphql/reference/mutations",
|
||||
"/v4/mutation/acceptenterpriseadministratorinvitation": "/en/free-pro-team@latest/graphql/reference/mutations#acceptenterpriseadministratorinvitation",
|
||||
"/v4/mutation/accepttopicsuggestion": "/en/free-pro-team@latest/graphql/reference/mutations#accepttopicsuggestion",
|
||||
"/v4/object": "/en/free-pro-team@latest/graphql/reference/objects",
|
||||
"/v4/object/actorlocation": "/en/free-pro-team@latest/graphql/reference/objects#actorlocation",
|
||||
"/v4/object/addedtoprojectevent": "/en/free-pro-team@latest/graphql/reference/objects#addedtoprojectevent",
|
||||
"/v4/previews": "/en/free-pro-team@latest/graphql/overview/schema-previews",
|
||||
"/v4/public_schema": "/en/free-pro-team@latest/graphql/overview/public-schema",
|
||||
"/v4/query": "/en/free-pro-team@latest/graphql/reference/queries",
|
||||
"/v4/reference": "/en/free-pro-team@latest/graphql/reference",
|
||||
"/v4/scalar": "/en/free-pro-team@latest/graphql/reference/scalars",
|
||||
"/v4/scalar/boolean": "/en/free-pro-team@latest/graphql/reference/scalars#boolean",
|
||||
"/v4/scalar/date": "/en/free-pro-team@latest/graphql/reference/scalars#date",
|
||||
"/v4/union": "/en/free-pro-team@latest/graphql/reference/unions",
|
||||
"/v4/union/assignee": "/en/free-pro-team@latest/graphql/reference/unions#assignee",
|
||||
"/v4/union/auditentryactor": "/en/free-pro-team@latest/graphql/reference/unions#auditentryactor"
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Some page that exists in the content directory but not the translations directory
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: This is an article
|
||||
intro: 'I've got broken frontmatter'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
title: A page with redirects
|
||||
redirect_from:
|
||||
- /some-old-path
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: A sample article
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: A sample article
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
506
tests/fixtures/new-versions/rest-redirects.json
vendored
506
tests/fixtures/new-versions/rest-redirects.json
vendored
@@ -1,506 +0,0 @@
|
||||
{
|
||||
"/en/enterprise/2.18/v3/activity/event_types": "/en/enterprise/2.18/user/developers/webhooks-and-events/github-event-types",
|
||||
"/en/enterprise/2.18/v3/activity/events/types": "/en/enterprise/2.18/user/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/en/enterprise/2.18/v3/activity/events": "/en/enterprise/2.18/user/rest/reference/activity#events",
|
||||
"/en/enterprise/2.18/v3/activity/feeds": "/en/enterprise/2.18/user/rest/reference/activity#feeds",
|
||||
"/en/enterprise/2.18/v3/activity": "/en/enterprise/2.18/user/rest/reference/activity",
|
||||
"/en/enterprise/2.18/v3/activity/notifications": "/en/enterprise/2.18/user/rest/reference/activity#notifications",
|
||||
"/en/enterprise/2.18/v3/activity/starring": "/en/enterprise/2.18/user/rest/reference/activity#starring",
|
||||
"/en/enterprise/2.18/v3/activity/watching": "/en/enterprise/2.18/user/rest/reference/activity#watching",
|
||||
"/en/enterprise/2.18/v3/apps/available-endpoints": "/en/enterprise/2.18/user/rest/overview/endpoints-available-for-github-apps",
|
||||
"/en/enterprise/2.18/v3/apps": "/en/enterprise/2.18/user/rest/reference/apps",
|
||||
"/en/enterprise/2.18/v3/apps/installations": "/en/enterprise/2.18/user/rest/reference/apps#installations",
|
||||
"/en/enterprise/2.18/v3/apps/permissions": "/en/enterprise/2.18/user/rest/reference/permissions-required-for-github-apps",
|
||||
"/en/enterprise/2.18/v3/checks": "/en/enterprise/2.18/user/rest/reference/checks",
|
||||
"/en/enterprise/2.18/v3/checks/runs": "/en/enterprise/2.18/user/rest/reference/checks#runs",
|
||||
"/en/enterprise/2.18/v3/checks/suites": "/en/enterprise/2.18/user/rest/reference/checks#suites",
|
||||
"/en/enterprise/2.18/v3/codes_of_conduct": "/en/enterprise/2.18/user/rest/reference/codes-of-conduct",
|
||||
"/en/enterprise/2.18/v3/emojis": "/en/enterprise/2.18/user/rest/reference/emojis",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/admin_stats": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#admin-stats",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/global_webhooks": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin": "/en/enterprise/2.18/user/rest/reference/enterprise-admin",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/ldap": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#ldap",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/license": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#license",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/management_console": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#management-console",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/org_pre_receive_hooks": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/orgs": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#orgs",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/pre_receive_environments": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/repo_pre_receive_hooks": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#repo-pre-receive-hooks",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/search_indexing": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#search-indexing",
|
||||
"/en/enterprise/2.18/v3/enterprise-admin/users": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#users",
|
||||
"/en/enterprise/2.18/v3/gists/comments": "/en/enterprise/2.18/user/rest/reference/gists#comments",
|
||||
"/en/enterprise/2.18/v3/gists": "/en/enterprise/2.18/user/rest/reference/gists",
|
||||
"/en/enterprise/2.18/v3/git/blobs": "/en/enterprise/2.18/user/rest/reference/git#blobs",
|
||||
"/en/enterprise/2.18/v3/git/commits": "/en/enterprise/2.18/user/rest/reference/git#commits",
|
||||
"/en/enterprise/2.18/v3/git": "/en/enterprise/2.18/user/rest/reference/git",
|
||||
"/en/enterprise/2.18/v3/git/refs": "/en/enterprise/2.18/user/rest/reference/git#refs",
|
||||
"/en/enterprise/2.18/v3/git/tags": "/en/enterprise/2.18/user/rest/reference/git#tags",
|
||||
"/en/enterprise/2.18/v3/git/trees": "/en/enterprise/2.18/user/rest/reference/git#trees",
|
||||
"/en/enterprise/2.18/v3/gitignore": "/en/enterprise/2.18/user/rest/reference/gitignore",
|
||||
"/en/enterprise/2.18/v3/issues/assignees": "/en/enterprise/2.18/user/rest/reference/issues#assignees",
|
||||
"/en/enterprise/2.18/v3/issues/comments": "/en/enterprise/2.18/user/rest/reference/issues#comments",
|
||||
"/en/enterprise/2.18/v3/issues/events": "/en/enterprise/2.18/user/rest/reference/issues#events",
|
||||
"/en/enterprise/2.18/v3/issues": "/en/enterprise/2.18/user/rest/reference/issues",
|
||||
"/en/enterprise/2.18/v3/issues/issue-event-types": "/en/enterprise/2.18/user/developers/webhooks-and-events/issue-event-types",
|
||||
"/en/enterprise/2.18/v3/issues/labels": "/en/enterprise/2.18/user/rest/reference/issues#labels",
|
||||
"/en/enterprise/2.18/v3/issues/milestones": "/en/enterprise/2.18/user/rest/reference/issues#milestones",
|
||||
"/en/enterprise/2.18/v3/issues/timeline": "/en/enterprise/2.18/user/rest/reference/issues#timeline",
|
||||
"/en/enterprise/2.18/v3/licenses": "/en/enterprise/2.18/user/rest/reference/licenses",
|
||||
"/en/enterprise/2.18/v3/markdown": "/en/enterprise/2.18/user/rest/reference/markdown",
|
||||
"/en/enterprise/2.18/v3/meta": "/en/enterprise/2.18/user/rest/reference/meta",
|
||||
"/en/enterprise/2.18/v3/oauth_authorizations": "/en/enterprise/2.18/user/rest/reference/oauth-authorizations",
|
||||
"/en/enterprise/2.18/v3/orgs/hooks": "/en/enterprise/2.18/user/rest/reference/orgs#hooks",
|
||||
"/en/enterprise/2.18/v3/orgs": "/en/enterprise/2.18/user/rest/reference/orgs",
|
||||
"/en/enterprise/2.18/v3/orgs/members": "/en/enterprise/2.18/user/rest/reference/orgs#members",
|
||||
"/en/enterprise/2.18/v3/orgs/outside_collaborators": "/en/enterprise/2.18/user/rest/reference/orgs#outside-collaborators",
|
||||
"/en/enterprise/2.18/v3/orgs/pre_receive_hooks": "/en/enterprise/2.18/user/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.18/v3/orgs/teams": "/en/enterprise/2.18/user/rest/reference/orgs#teams",
|
||||
"/en/enterprise/2.18/v3/projects/cards": "/en/enterprise/2.18/user/rest/reference/projects#cards",
|
||||
"/en/enterprise/2.18/v3/projects/collaborators": "/en/enterprise/2.18/user/rest/reference/projects#collaborators",
|
||||
"/en/enterprise/2.18/v3/projects/columns": "/en/enterprise/2.18/user/rest/reference/projects#columns",
|
||||
"/en/enterprise/2.18/v3/projects": "/en/enterprise/2.18/user/rest/reference/projects",
|
||||
"/en/enterprise/2.18/v3/pulls/comments": "/en/enterprise/2.18/user/rest/reference/pulls#comments",
|
||||
"/en/enterprise/2.18/v3/pulls": "/en/enterprise/2.18/user/rest/reference/pulls",
|
||||
"/en/enterprise/2.18/v3/pulls/review_requests": "/en/enterprise/2.18/user/rest/reference/pulls#review-requests",
|
||||
"/en/enterprise/2.18/v3/pulls/reviews": "/en/enterprise/2.18/user/rest/reference/pulls#reviews",
|
||||
"/en/enterprise/2.18/v3/rate_limit": "/en/enterprise/2.18/user/rest/reference/rate-limit",
|
||||
"/en/enterprise/2.18/v3/reactions": "/en/enterprise/2.18/user/rest/reference/reactions",
|
||||
"/en/enterprise/2.18/v3/repos/branches": "/en/enterprise/2.18/user/rest/reference/repos#branches",
|
||||
"/en/enterprise/2.18/v3/repos/collaborators": "/en/enterprise/2.18/user/rest/reference/repos#collaborators",
|
||||
"/en/enterprise/2.18/v3/repos/comments": "/en/enterprise/2.18/user/rest/reference/repos#comments",
|
||||
"/en/enterprise/2.18/v3/repos/commits": "/en/enterprise/2.18/user/rest/reference/repos#commits",
|
||||
"/en/enterprise/2.18/v3/repos/contents": "/en/enterprise/2.18/user/rest/reference/repos#contents",
|
||||
"/en/enterprise/2.18/v3/repos/deployments": "/en/enterprise/2.18/user/rest/reference/repos#deployments",
|
||||
"/en/enterprise/2.18/v3/repos/downloads": "/en/enterprise/2.18/user/rest/reference/repos#downloads",
|
||||
"/en/enterprise/2.18/v3/repos/forks": "/en/enterprise/2.18/user/rest/reference/repos#forks",
|
||||
"/en/enterprise/2.18/v3/repos/hooks": "/en/enterprise/2.18/user/rest/reference/repos#hooks",
|
||||
"/en/enterprise/2.18/v3/repos": "/en/enterprise/2.18/user/rest/reference/repos",
|
||||
"/en/enterprise/2.18/v3/repos/invitations": "/en/enterprise/2.18/user/rest/reference/repos#invitations",
|
||||
"/en/enterprise/2.18/v3/repos/keys": "/en/enterprise/2.18/user/rest/reference/repos#keys",
|
||||
"/en/enterprise/2.18/v3/repos/merging": "/en/enterprise/2.18/user/rest/reference/repos#merging",
|
||||
"/en/enterprise/2.18/v3/repos/pages": "/en/enterprise/2.18/user/rest/reference/repos#pages",
|
||||
"/en/enterprise/2.18/v3/repos/pre_receive_hooks": "/en/enterprise/2.18/user/rest/reference/repos#pre-receive-hooks",
|
||||
"/en/enterprise/2.18/v3/repos/releases": "/en/enterprise/2.18/user/rest/reference/repos#releases",
|
||||
"/en/enterprise/2.18/v3/repos/statistics": "/en/enterprise/2.18/user/rest/reference/repos#statistics",
|
||||
"/en/enterprise/2.18/v3/repos/statuses": "/en/enterprise/2.18/user/rest/reference/repos#statuses",
|
||||
"/en/enterprise/2.18/v3/search": "/en/enterprise/2.18/user/rest/reference/search",
|
||||
"/en/enterprise/2.18/v3/teams/discussion_comments": "/en/enterprise/2.18/user/rest/reference/teams#discussion-comments",
|
||||
"/en/enterprise/2.18/v3/teams/discussions": "/en/enterprise/2.18/user/rest/reference/teams#discussions",
|
||||
"/en/enterprise/2.18/v3/teams": "/en/enterprise/2.18/user/rest/reference/teams",
|
||||
"/en/enterprise/2.18/v3/teams/members": "/en/enterprise/2.18/user/rest/reference/teams#members",
|
||||
"/en/enterprise/2.18/v3/users/administration": "/en/enterprise/2.18/user/rest/reference/users#administration",
|
||||
"/en/enterprise/2.18/v3/users/emails": "/en/enterprise/2.18/user/rest/reference/users#emails",
|
||||
"/en/enterprise/2.18/v3/users/followers": "/en/enterprise/2.18/user/rest/reference/users#followers",
|
||||
"/en/enterprise/2.18/v3/users/gpg_keys": "/en/enterprise/2.18/user/rest/reference/users#gpg-keys",
|
||||
"/en/enterprise/2.18/v3/users": "/en/enterprise/2.18/user/rest/reference/users",
|
||||
"/en/enterprise/2.18/v3/users/keys": "/en/enterprise/2.18/user/rest/reference/users#keys",
|
||||
"/en/enterprise/2.19/v3/activity/event_types": "/en/enterprise-server@2.19/developers/webhooks-and-events/github-event-types",
|
||||
"/en/enterprise/2.19/v3/activity/events/types": "/en/enterprise-server@2.19/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/en/enterprise/2.19/v3/activity/events": "/en/enterprise-server@2.19/rest/reference/activity#events",
|
||||
"/en/enterprise/2.19/v3/activity/feeds": "/en/enterprise-server@2.19/rest/reference/activity#feeds",
|
||||
"/en/enterprise/2.19/v3/activity": "/en/enterprise-server@2.19/rest/reference/activity",
|
||||
"/en/enterprise/2.19/v3/activity/notifications": "/en/enterprise-server@2.19/rest/reference/activity#notifications",
|
||||
"/en/enterprise/2.19/v3/activity/starring": "/en/enterprise-server@2.19/rest/reference/activity#starring",
|
||||
"/en/enterprise/2.19/v3/activity/watching": "/en/enterprise-server@2.19/rest/reference/activity#watching",
|
||||
"/en/enterprise/2.19/v3/apps/available-endpoints": "/en/enterprise-server@2.19/rest/overview/endpoints-available-for-github-apps",
|
||||
"/en/enterprise/2.19/v3/apps": "/en/enterprise-server@2.19/rest/reference/apps",
|
||||
"/en/enterprise/2.19/v3/apps/installations": "/en/enterprise-server@2.19/rest/reference/apps#installations",
|
||||
"/en/enterprise/2.19/v3/apps/permissions": "/en/enterprise-server@2.19/rest/reference/permissions-required-for-github-apps",
|
||||
"/en/enterprise/2.19/v3/checks": "/en/enterprise-server@2.19/rest/reference/checks",
|
||||
"/en/enterprise/2.19/v3/checks/runs": "/en/enterprise-server@2.19/rest/reference/checks#runs",
|
||||
"/en/enterprise/2.19/v3/checks/suites": "/en/enterprise-server@2.19/rest/reference/checks#suites",
|
||||
"/en/enterprise/2.19/v3/codes_of_conduct": "/en/enterprise-server@2.19/rest/reference/codes-of-conduct",
|
||||
"/en/enterprise/2.19/v3/emojis": "/en/enterprise-server@2.19/rest/reference/emojis",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/admin_stats": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#admin-stats",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/global_webhooks": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin": "/en/enterprise-server@2.19/rest/reference/enterprise-admin",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/ldap": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#ldap",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/license": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#license",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/management_console": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#management-console",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/org_pre_receive_hooks": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/orgs": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#orgs",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/pre_receive_environments": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/repo_pre_receive_hooks": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#repo-pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/search_indexing": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#search-indexing",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/users": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#users",
|
||||
"/en/enterprise/2.19/v3/gists/comments": "/en/enterprise-server@2.19/rest/reference/gists#comments",
|
||||
"/en/enterprise/2.19/v3/gists": "/en/enterprise-server@2.19/rest/reference/gists",
|
||||
"/en/enterprise/2.19/v3/git/blobs": "/en/enterprise-server@2.19/rest/reference/git#blobs",
|
||||
"/en/enterprise/2.19/v3/git/commits": "/en/enterprise-server@2.19/rest/reference/git#commits",
|
||||
"/en/enterprise/2.19/v3/git": "/en/enterprise-server@2.19/rest/reference/git",
|
||||
"/en/enterprise/2.19/v3/git/refs": "/en/enterprise-server@2.19/rest/reference/git#refs",
|
||||
"/en/enterprise/2.19/v3/git/tags": "/en/enterprise-server@2.19/rest/reference/git#tags",
|
||||
"/en/enterprise/2.19/v3/git/trees": "/en/enterprise-server@2.19/rest/reference/git#trees",
|
||||
"/en/enterprise/2.19/v3/gitignore": "/en/enterprise-server@2.19/rest/reference/gitignore",
|
||||
"/en/enterprise/2.19/v3/issues/assignees": "/en/enterprise-server@2.19/rest/reference/issues#assignees",
|
||||
"/en/enterprise/2.19/v3/issues/comments": "/en/enterprise-server@2.19/rest/reference/issues#comments",
|
||||
"/en/enterprise/2.19/v3/issues/events": "/en/enterprise-server@2.19/rest/reference/issues#events",
|
||||
"/en/enterprise/2.19/v3/issues": "/en/enterprise-server@2.19/rest/reference/issues",
|
||||
"/en/enterprise/2.19/v3/issues/issue-event-types": "/en/enterprise-server@2.19/developers/webhooks-and-events/issue-event-types",
|
||||
"/en/enterprise/2.19/v3/issues/labels": "/en/enterprise-server@2.19/rest/reference/issues#labels",
|
||||
"/en/enterprise/2.19/v3/issues/milestones": "/en/enterprise-server@2.19/rest/reference/issues#milestones",
|
||||
"/en/enterprise/2.19/v3/issues/timeline": "/en/enterprise-server@2.19/rest/reference/issues#timeline",
|
||||
"/en/enterprise/2.19/v3/licenses": "/en/enterprise-server@2.19/rest/reference/licenses",
|
||||
"/en/enterprise/2.19/v3/markdown": "/en/enterprise-server@2.19/rest/reference/markdown",
|
||||
"/en/enterprise/2.19/v3/meta": "/en/enterprise-server@2.19/rest/reference/meta",
|
||||
"/en/enterprise/2.19/v3/oauth_authorizations": "/en/enterprise-server@2.19/rest/reference/oauth-authorizations",
|
||||
"/en/enterprise/2.19/v3/orgs/hooks": "/en/enterprise-server@2.19/rest/reference/orgs#hooks",
|
||||
"/en/enterprise/2.19/v3/orgs": "/en/enterprise-server@2.19/rest/reference/orgs",
|
||||
"/en/enterprise/2.19/v3/orgs/members": "/en/enterprise-server@2.19/rest/reference/orgs#members",
|
||||
"/en/enterprise/2.19/v3/orgs/outside_collaborators": "/en/enterprise-server@2.19/rest/reference/orgs#outside-collaborators",
|
||||
"/en/enterprise/2.19/v3/orgs/pre_receive_hooks": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/orgs/teams": "/en/enterprise-server@2.19/rest/reference/orgs#teams",
|
||||
"/en/enterprise/2.19/v3/projects/cards": "/en/enterprise-server@2.19/rest/reference/projects#cards",
|
||||
"/en/enterprise/2.19/v3/projects/collaborators": "/en/enterprise-server@2.19/rest/reference/projects#collaborators",
|
||||
"/en/enterprise/2.19/v3/projects/columns": "/en/enterprise-server@2.19/rest/reference/projects#columns",
|
||||
"/en/enterprise/2.19/v3/projects": "/en/enterprise-server@2.19/rest/reference/projects",
|
||||
"/en/enterprise/2.19/v3/pulls/comments": "/en/enterprise-server@2.19/rest/reference/pulls#comments",
|
||||
"/en/enterprise/2.19/v3/pulls": "/en/enterprise-server@2.19/rest/reference/pulls",
|
||||
"/en/enterprise/2.19/v3/pulls/review_requests": "/en/enterprise-server@2.19/rest/reference/pulls#review-requests",
|
||||
"/en/enterprise/2.19/v3/pulls/reviews": "/en/enterprise-server@2.19/rest/reference/pulls#reviews",
|
||||
"/en/enterprise/2.19/v3/rate_limit": "/en/enterprise-server@2.19/rest/reference/rate-limit",
|
||||
"/en/enterprise/2.19/v3/reactions": "/en/enterprise-server@2.19/rest/reference/reactions",
|
||||
"/en/enterprise/2.19/v3/repos/branches": "/en/enterprise-server@2.19/rest/reference/repos#branches",
|
||||
"/en/enterprise/2.19/v3/repos/collaborators": "/en/enterprise-server@2.19/rest/reference/repos#collaborators",
|
||||
"/en/enterprise/2.19/v3/repos/comments": "/en/enterprise-server@2.19/rest/reference/repos#comments",
|
||||
"/en/enterprise/2.19/v3/repos/commits": "/en/enterprise-server@2.19/rest/reference/repos#commits",
|
||||
"/en/enterprise/2.19/v3/repos/contents": "/en/enterprise-server@2.19/rest/reference/repos#contents",
|
||||
"/en/enterprise/2.19/v3/repos/deployments": "/en/enterprise-server@2.19/rest/reference/repos#deployments",
|
||||
"/en/enterprise/2.19/v3/repos/downloads": "/en/enterprise-server@2.19/rest/reference/repos#downloads",
|
||||
"/en/enterprise/2.19/v3/repos/forks": "/en/enterprise-server@2.19/rest/reference/repos#forks",
|
||||
"/en/enterprise/2.19/v3/repos/hooks": "/en/enterprise-server@2.19/rest/reference/repos#hooks",
|
||||
"/en/enterprise/2.19/v3/repos": "/en/enterprise-server@2.19/rest/reference/repos",
|
||||
"/en/enterprise/2.19/v3/repos/invitations": "/en/enterprise-server@2.19/rest/reference/repos#invitations",
|
||||
"/en/enterprise/2.19/v3/repos/keys": "/en/enterprise-server@2.19/rest/reference/repos#keys",
|
||||
"/en/enterprise/2.19/v3/repos/merging": "/en/enterprise-server@2.19/rest/reference/repos#merging",
|
||||
"/en/enterprise/2.19/v3/repos/pages": "/en/enterprise-server@2.19/rest/reference/repos#pages",
|
||||
"/en/enterprise/2.19/v3/repos/pre_receive_hooks": "/en/enterprise-server@2.19/rest/reference/repos#pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/repos/releases": "/en/enterprise-server@2.19/rest/reference/repos#releases",
|
||||
"/en/enterprise/2.19/v3/repos/statistics": "/en/enterprise-server@2.19/rest/reference/repos#statistics",
|
||||
"/en/enterprise/2.19/v3/repos/statuses": "/en/enterprise-server@2.19/rest/reference/repos#statuses",
|
||||
"/en/enterprise/2.19/v3/search": "/en/enterprise-server@2.19/rest/reference/search",
|
||||
"/en/enterprise/2.19/v3/teams/discussion_comments": "/en/enterprise-server@2.19/rest/reference/teams#discussion-comments",
|
||||
"/en/enterprise/2.19/v3/teams/discussions": "/en/enterprise-server@2.19/rest/reference/teams#discussions",
|
||||
"/en/enterprise/2.19/v3/teams": "/en/enterprise-server@2.19/rest/reference/teams",
|
||||
"/en/enterprise/2.19/v3/teams/members": "/en/enterprise-server@2.19/rest/reference/teams#members",
|
||||
"/en/enterprise/2.19/v3/users/administration": "/en/enterprise-server@2.19/rest/reference/users#administration",
|
||||
"/en/enterprise/2.19/v3/users/emails": "/en/enterprise-server@2.19/rest/reference/users#emails",
|
||||
"/en/enterprise/2.19/v3/users/followers": "/en/enterprise-server@2.19/rest/reference/users#followers",
|
||||
"/en/enterprise/2.19/v3/users/gpg_keys": "/en/enterprise-server@2.19/rest/reference/users#gpg-keys",
|
||||
"/en/enterprise/2.19/v3/users": "/en/enterprise-server@2.19/rest/reference/users",
|
||||
"/en/enterprise/2.19/v3/users/keys": "/en/enterprise-server@2.19/rest/reference/users#keys",
|
||||
"/en/enterprise/2.20/v3/activity/event_types": "/en/enterprise-server@2.20/developers/webhooks-and-events/github-event-types",
|
||||
"/en/enterprise/2.20/v3/activity/events/types": "/en/enterprise-server@2.20/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/en/enterprise/2.20/v3/activity/events": "/en/enterprise-server@2.20/rest/reference/activity#events",
|
||||
"/en/enterprise/2.20/v3/activity/feeds": "/en/enterprise-server@2.20/rest/reference/activity#feeds",
|
||||
"/en/enterprise/2.20/v3/activity": "/en/enterprise-server@2.20/rest/reference/activity",
|
||||
"/en/enterprise/2.20/v3/activity/notifications": "/en/enterprise-server@2.20/rest/reference/activity#notifications",
|
||||
"/en/enterprise/2.20/v3/activity/starring": "/en/enterprise-server@2.20/rest/reference/activity#starring",
|
||||
"/en/enterprise/2.20/v3/activity/watching": "/en/enterprise-server@2.20/rest/reference/activity#watching",
|
||||
"/en/enterprise/2.20/v3/apps/available-endpoints": "/en/enterprise-server@2.20/rest/overview/endpoints-available-for-github-apps",
|
||||
"/en/enterprise/2.20/v3/apps": "/en/enterprise-server@2.20/rest/reference/apps",
|
||||
"/en/enterprise/2.20/v3/apps/installations": "/en/enterprise-server@2.20/rest/reference/apps#installations",
|
||||
"/en/enterprise/2.20/v3/apps/oauth_applications": "/en/enterprise-server@2.20/rest/reference/apps#oauth-applications",
|
||||
"/en/enterprise/2.20/v3/apps/permissions": "/en/enterprise-server@2.20/rest/reference/permissions-required-for-github-apps",
|
||||
"/en/enterprise/2.20/v3/checks": "/en/enterprise-server@2.20/rest/reference/checks",
|
||||
"/en/enterprise/2.20/v3/checks/runs": "/en/enterprise-server@2.20/rest/reference/checks#runs",
|
||||
"/en/enterprise/2.20/v3/checks/suites": "/en/enterprise-server@2.20/rest/reference/checks#suites",
|
||||
"/en/enterprise/2.20/v3/codes_of_conduct": "/en/enterprise-server@2.20/rest/reference/codes-of-conduct",
|
||||
"/en/enterprise/2.20/v3/emojis": "/en/enterprise-server@2.20/rest/reference/emojis",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/admin_stats": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#admin-stats",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/global_webhooks": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin": "/en/enterprise-server@2.20/rest/reference/enterprise-admin",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/ldap": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#ldap",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/license": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#license",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/management_console": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#management-console",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/org_pre_receive_hooks": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/orgs": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#orgs",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/pre_receive_environments": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/repo_pre_receive_hooks": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#repo-pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/search_indexing": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#search-indexing",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/users": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#users",
|
||||
"/en/enterprise/2.20/v3/gists/comments": "/en/enterprise-server@2.20/rest/reference/gists#comments",
|
||||
"/en/enterprise/2.20/v3/gists": "/en/enterprise-server@2.20/rest/reference/gists",
|
||||
"/en/enterprise/2.20/v3/git/blobs": "/en/enterprise-server@2.20/rest/reference/git#blobs",
|
||||
"/en/enterprise/2.20/v3/git/commits": "/en/enterprise-server@2.20/rest/reference/git#commits",
|
||||
"/en/enterprise/2.20/v3/git": "/en/enterprise-server@2.20/rest/reference/git",
|
||||
"/en/enterprise/2.20/v3/git/refs": "/en/enterprise-server@2.20/rest/reference/git#refs",
|
||||
"/en/enterprise/2.20/v3/git/tags": "/en/enterprise-server@2.20/rest/reference/git#tags",
|
||||
"/en/enterprise/2.20/v3/git/trees": "/en/enterprise-server@2.20/rest/reference/git#trees",
|
||||
"/en/enterprise/2.20/v3/gitignore": "/en/enterprise-server@2.20/rest/reference/gitignore",
|
||||
"/en/enterprise/2.20/v3/issues/assignees": "/en/enterprise-server@2.20/rest/reference/issues#assignees",
|
||||
"/en/enterprise/2.20/v3/issues/comments": "/en/enterprise-server@2.20/rest/reference/issues#comments",
|
||||
"/en/enterprise/2.20/v3/issues/events": "/en/enterprise-server@2.20/rest/reference/issues#events",
|
||||
"/en/enterprise/2.20/v3/issues": "/en/enterprise-server@2.20/rest/reference/issues",
|
||||
"/en/enterprise/2.20/v3/issues/issue-event-types": "/en/enterprise-server@2.20/developers/webhooks-and-events/issue-event-types",
|
||||
"/en/enterprise/2.20/v3/issues/labels": "/en/enterprise-server@2.20/rest/reference/issues#labels",
|
||||
"/en/enterprise/2.20/v3/issues/milestones": "/en/enterprise-server@2.20/rest/reference/issues#milestones",
|
||||
"/en/enterprise/2.20/v3/issues/timeline": "/en/enterprise-server@2.20/rest/reference/issues#timeline",
|
||||
"/en/enterprise/2.20/v3/licenses": "/en/enterprise-server@2.20/rest/reference/licenses",
|
||||
"/en/enterprise/2.20/v3/markdown": "/en/enterprise-server@2.20/rest/reference/markdown",
|
||||
"/en/enterprise/2.20/v3/meta": "/en/enterprise-server@2.20/rest/reference/meta",
|
||||
"/en/enterprise/2.20/v3/oauth_authorizations": "/en/enterprise-server@2.20/rest/reference/oauth-authorizations",
|
||||
"/en/enterprise/2.20/v3/orgs/hooks": "/en/enterprise-server@2.20/rest/reference/orgs#hooks",
|
||||
"/en/enterprise/2.20/v3/orgs": "/en/enterprise-server@2.20/rest/reference/orgs",
|
||||
"/en/enterprise/2.20/v3/orgs/members": "/en/enterprise-server@2.20/rest/reference/orgs#members",
|
||||
"/en/enterprise/2.20/v3/orgs/outside_collaborators": "/en/enterprise-server@2.20/rest/reference/orgs#outside-collaborators",
|
||||
"/en/enterprise/2.20/v3/orgs/pre_receive_hooks": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/orgs/teams": "/en/enterprise-server@2.20/rest/reference/orgs#teams",
|
||||
"/en/enterprise/2.20/v3/projects/cards": "/en/enterprise-server@2.20/rest/reference/projects#cards",
|
||||
"/en/enterprise/2.20/v3/projects/collaborators": "/en/enterprise-server@2.20/rest/reference/projects#collaborators",
|
||||
"/en/enterprise/2.20/v3/projects/columns": "/en/enterprise-server@2.20/rest/reference/projects#columns",
|
||||
"/en/enterprise/2.20/v3/projects": "/en/enterprise-server@2.20/rest/reference/projects",
|
||||
"/en/enterprise/2.20/v3/pulls/comments": "/en/enterprise-server@2.20/rest/reference/pulls#comments",
|
||||
"/en/enterprise/2.20/v3/pulls": "/en/enterprise-server@2.20/rest/reference/pulls",
|
||||
"/en/enterprise/2.20/v3/pulls/review_requests": "/en/enterprise-server@2.20/rest/reference/pulls#review-requests",
|
||||
"/en/enterprise/2.20/v3/pulls/reviews": "/en/enterprise-server@2.20/rest/reference/pulls#reviews",
|
||||
"/en/enterprise/2.20/v3/rate_limit": "/en/enterprise-server@2.20/rest/reference/rate-limit",
|
||||
"/en/enterprise/2.20/v3/reactions": "/en/enterprise-server@2.20/rest/reference/reactions",
|
||||
"/en/enterprise/2.20/v3/repos/branches": "/en/enterprise-server@2.20/rest/reference/repos#branches",
|
||||
"/en/enterprise/2.20/v3/repos/collaborators": "/en/enterprise-server@2.20/rest/reference/repos#collaborators",
|
||||
"/en/enterprise/2.20/v3/repos/comments": "/en/enterprise-server@2.20/rest/reference/repos#comments",
|
||||
"/en/enterprise/2.20/v3/repos/commits": "/en/enterprise-server@2.20/rest/reference/repos#commits",
|
||||
"/en/enterprise/2.20/v3/repos/contents": "/en/enterprise-server@2.20/rest/reference/repos#contents",
|
||||
"/en/enterprise/2.20/v3/repos/deployments": "/en/enterprise-server@2.20/rest/reference/repos#deployments",
|
||||
"/en/enterprise/2.20/v3/repos/downloads": "/en/enterprise-server@2.20/rest/reference/repos#downloads",
|
||||
"/en/enterprise/2.20/v3/repos/forks": "/en/enterprise-server@2.20/rest/reference/repos#forks",
|
||||
"/en/enterprise/2.20/v3/repos/hooks": "/en/enterprise-server@2.20/rest/reference/repos#hooks",
|
||||
"/en/enterprise/2.20/v3/repos": "/en/enterprise-server@2.20/rest/reference/repos",
|
||||
"/en/enterprise/2.20/v3/repos/invitations": "/en/enterprise-server@2.20/rest/reference/repos#invitations",
|
||||
"/en/enterprise/2.20/v3/repos/keys": "/en/enterprise-server@2.20/rest/reference/repos#keys",
|
||||
"/en/enterprise/2.20/v3/repos/merging": "/en/enterprise-server@2.20/rest/reference/repos#merging",
|
||||
"/en/enterprise/2.20/v3/repos/pages": "/en/enterprise-server@2.20/rest/reference/repos#pages",
|
||||
"/en/enterprise/2.20/v3/repos/pre_receive_hooks": "/en/enterprise-server@2.20/rest/reference/repos#pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/repos/releases": "/en/enterprise-server@2.20/rest/reference/repos#releases",
|
||||
"/en/enterprise/2.20/v3/repos/statistics": "/en/enterprise-server@2.20/rest/reference/repos#statistics",
|
||||
"/en/enterprise/2.20/v3/repos/statuses": "/en/enterprise-server@2.20/rest/reference/repos#statuses",
|
||||
"/en/enterprise/2.20/v3/search": "/en/enterprise-server@2.20/rest/reference/search",
|
||||
"/en/enterprise/2.20/v3/teams/discussion_comments": "/en/enterprise-server@2.20/rest/reference/teams#discussion-comments",
|
||||
"/en/enterprise/2.20/v3/teams/discussions": "/en/enterprise-server@2.20/rest/reference/teams#discussions",
|
||||
"/en/enterprise/2.20/v3/teams": "/en/enterprise-server@2.20/rest/reference/teams",
|
||||
"/en/enterprise/2.20/v3/teams/members": "/en/enterprise-server@2.20/rest/reference/teams#members",
|
||||
"/en/enterprise/2.20/v3/users/administration": "/en/enterprise-server@2.20/rest/reference/users#administration",
|
||||
"/en/enterprise/2.20/v3/users/emails": "/en/enterprise-server@2.20/rest/reference/users#emails",
|
||||
"/en/enterprise/2.20/v3/users/followers": "/en/enterprise-server@2.20/rest/reference/users#followers",
|
||||
"/en/enterprise/2.20/v3/users/gpg_keys": "/en/enterprise-server@2.20/rest/reference/users#gpg-keys",
|
||||
"/en/enterprise/2.20/v3/users": "/en/enterprise-server@2.20/rest/reference/users",
|
||||
"/en/enterprise/2.20/v3/users/keys": "/en/enterprise-server@2.20/rest/reference/users#keys",
|
||||
"/en/enterprise/2.21/v3/activity/event_types": "/en/enterprise-server@2.21/developers/webhooks-and-events/github-event-types",
|
||||
"/en/enterprise/2.21/v3/activity/events/types": "/en/enterprise-server@2.21/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/en/enterprise/2.21/v3/activity/events": "/en/enterprise-server@2.21/rest/reference/activity#events",
|
||||
"/en/enterprise/2.21/v3/activity/feeds": "/en/enterprise-server@2.21/rest/reference/activity#feeds",
|
||||
"/en/enterprise/2.21/v3/activity": "/en/enterprise-server@2.21/rest/reference/activity",
|
||||
"/en/enterprise/2.21/v3/activity/notifications": "/en/enterprise-server@2.21/rest/reference/activity#notifications",
|
||||
"/en/enterprise/2.21/v3/activity/starring": "/en/enterprise-server@2.21/rest/reference/activity#starring",
|
||||
"/en/enterprise/2.21/v3/activity/watching": "/en/enterprise-server@2.21/rest/reference/activity#watching",
|
||||
"/en/enterprise/2.21/v3/apps/available-endpoints": "/en/enterprise-server@2.21/rest/overview/endpoints-available-for-github-apps",
|
||||
"/en/enterprise/2.21/v3/apps": "/en/enterprise-server@2.21/rest/reference/apps",
|
||||
"/en/enterprise/2.21/v3/apps/installations": "/en/enterprise-server@2.21/rest/reference/apps#installations",
|
||||
"/en/enterprise/2.21/v3/apps/oauth_applications": "/en/enterprise-server@2.21/rest/reference/apps#oauth-applications",
|
||||
"/en/enterprise/2.21/v3/apps/permissions": "/en/enterprise-server@2.21/rest/reference/permissions-required-for-github-apps",
|
||||
"/en/enterprise/2.21/v3/checks": "/en/enterprise-server@2.21/rest/reference/checks",
|
||||
"/en/enterprise/2.21/v3/checks/runs": "/en/enterprise-server@2.21/rest/reference/checks#runs",
|
||||
"/en/enterprise/2.21/v3/checks/suites": "/en/enterprise-server@2.21/rest/reference/checks#suites",
|
||||
"/en/enterprise/2.21/v3/codes_of_conduct": "/en/enterprise-server@2.21/rest/reference/codes-of-conduct",
|
||||
"/en/enterprise/2.21/v3/emojis": "/en/enterprise-server@2.21/rest/reference/emojis",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/admin_stats": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#admin-stats",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/global_webhooks": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin": "/en/enterprise-server@2.21/rest/reference/enterprise-admin",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/ldap": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#ldap",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/license": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#license",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/management_console": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#management-console",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/org_pre_receive_hooks": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/orgs": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#orgs",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/pre_receive_environments": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/repo_pre_receive_hooks": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#repo-pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/search_indexing": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#search-indexing",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/users": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#users",
|
||||
"/en/enterprise/2.21/v3/gists/comments": "/en/enterprise-server@2.21/rest/reference/gists#comments",
|
||||
"/en/enterprise/2.21/v3/gists": "/en/enterprise-server@2.21/rest/reference/gists",
|
||||
"/en/enterprise/2.21/v3/git/blobs": "/en/enterprise-server@2.21/rest/reference/git#blobs",
|
||||
"/en/enterprise/2.21/v3/git/commits": "/en/enterprise-server@2.21/rest/reference/git#commits",
|
||||
"/en/enterprise/2.21/v3/git": "/en/enterprise-server@2.21/rest/reference/git",
|
||||
"/en/enterprise/2.21/v3/git/refs": "/en/enterprise-server@2.21/rest/reference/git#refs",
|
||||
"/en/enterprise/2.21/v3/git/tags": "/en/enterprise-server@2.21/rest/reference/git#tags",
|
||||
"/en/enterprise/2.21/v3/git/trees": "/en/enterprise-server@2.21/rest/reference/git#trees",
|
||||
"/en/enterprise/2.21/v3/gitignore": "/en/enterprise-server@2.21/rest/reference/gitignore",
|
||||
"/en/enterprise/2.21/v3/issues/assignees": "/en/enterprise-server@2.21/rest/reference/issues#assignees",
|
||||
"/en/enterprise/2.21/v3/issues/comments": "/en/enterprise-server@2.21/rest/reference/issues#comments",
|
||||
"/en/enterprise/2.21/v3/issues/events": "/en/enterprise-server@2.21/rest/reference/issues#events",
|
||||
"/en/enterprise/2.21/v3/issues": "/en/enterprise-server@2.21/rest/reference/issues",
|
||||
"/en/enterprise/2.21/v3/issues/issue-event-types": "/en/enterprise-server@2.21/developers/webhooks-and-events/issue-event-types",
|
||||
"/en/enterprise/2.21/v3/issues/labels": "/en/enterprise-server@2.21/rest/reference/issues#labels",
|
||||
"/en/enterprise/2.21/v3/issues/milestones": "/en/enterprise-server@2.21/rest/reference/issues#milestones",
|
||||
"/en/enterprise/2.21/v3/issues/timeline": "/en/enterprise-server@2.21/rest/reference/issues#timeline",
|
||||
"/en/enterprise/2.21/v3/licenses": "/en/enterprise-server@2.21/rest/reference/licenses",
|
||||
"/en/enterprise/2.21/v3/markdown": "/en/enterprise-server@2.21/rest/reference/markdown",
|
||||
"/en/enterprise/2.21/v3/meta": "/en/enterprise-server@2.21/rest/reference/meta",
|
||||
"/en/enterprise/2.21/v3/oauth_authorizations": "/en/enterprise-server@2.21/rest/reference/oauth-authorizations",
|
||||
"/en/enterprise/2.21/v3/orgs/hooks": "/en/enterprise-server@2.21/rest/reference/orgs#hooks",
|
||||
"/en/enterprise/2.21/v3/orgs": "/en/enterprise-server@2.21/rest/reference/orgs",
|
||||
"/en/enterprise/2.21/v3/orgs/members": "/en/enterprise-server@2.21/rest/reference/orgs#members",
|
||||
"/en/enterprise/2.21/v3/orgs/outside_collaborators": "/en/enterprise-server@2.21/rest/reference/orgs#outside-collaborators",
|
||||
"/en/enterprise/2.21/v3/orgs/pre_receive_hooks": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/orgs/teams": "/en/enterprise-server@2.21/rest/reference/orgs#teams",
|
||||
"/en/enterprise/2.21/v3/projects/cards": "/en/enterprise-server@2.21/rest/reference/projects#cards",
|
||||
"/en/enterprise/2.21/v3/projects/collaborators": "/en/enterprise-server@2.21/rest/reference/projects#collaborators",
|
||||
"/en/enterprise/2.21/v3/projects/columns": "/en/enterprise-server@2.21/rest/reference/projects#columns",
|
||||
"/en/enterprise/2.21/v3/projects": "/en/enterprise-server@2.21/rest/reference/projects",
|
||||
"/en/enterprise/2.21/v3/pulls/comments": "/en/enterprise-server@2.21/rest/reference/pulls#comments",
|
||||
"/en/enterprise/2.21/v3/pulls": "/en/enterprise-server@2.21/rest/reference/pulls",
|
||||
"/en/enterprise/2.21/v3/pulls/review_requests": "/en/enterprise-server@2.21/rest/reference/pulls#review-requests",
|
||||
"/en/enterprise/2.21/v3/pulls/reviews": "/en/enterprise-server@2.21/rest/reference/pulls#reviews",
|
||||
"/en/enterprise/2.21/v3/rate_limit": "/en/enterprise-server@2.21/rest/reference/rate-limit",
|
||||
"/en/enterprise/2.21/v3/reactions": "/en/enterprise-server@2.21/rest/reference/reactions",
|
||||
"/en/enterprise/2.21/v3/repos/branches": "/en/enterprise-server@2.21/rest/reference/repos#branches",
|
||||
"/en/enterprise/2.21/v3/repos/collaborators": "/en/enterprise-server@2.21/rest/reference/repos#collaborators",
|
||||
"/en/enterprise/2.21/v3/repos/comments": "/en/enterprise-server@2.21/rest/reference/repos#comments",
|
||||
"/en/enterprise/2.21/v3/repos/commits": "/en/enterprise-server@2.21/rest/reference/repos#commits",
|
||||
"/en/enterprise/2.21/v3/repos/contents": "/en/enterprise-server@2.21/rest/reference/repos#contents",
|
||||
"/en/enterprise/2.21/v3/repos/deployments": "/en/enterprise-server@2.21/rest/reference/repos#deployments",
|
||||
"/en/enterprise/2.21/v3/repos/downloads": "/en/enterprise-server@2.21/rest/reference/repos#downloads",
|
||||
"/en/enterprise/2.21/v3/repos/forks": "/en/enterprise-server@2.21/rest/reference/repos#forks",
|
||||
"/en/enterprise/2.21/v3/repos/hooks": "/en/enterprise-server@2.21/rest/reference/repos#hooks",
|
||||
"/en/enterprise/2.21/v3/repos": "/en/enterprise-server@2.21/rest/reference/repos",
|
||||
"/en/enterprise/2.21/v3/repos/invitations": "/en/enterprise-server@2.21/rest/reference/repos#invitations",
|
||||
"/en/enterprise/2.21/v3/repos/keys": "/en/enterprise-server@2.21/rest/reference/repos#keys",
|
||||
"/en/enterprise/2.21/v3/repos/merging": "/en/enterprise-server@2.21/rest/reference/repos#merging",
|
||||
"/en/enterprise/2.21/v3/repos/pages": "/en/enterprise-server@2.21/rest/reference/repos#pages",
|
||||
"/en/enterprise/2.21/v3/repos/pre_receive_hooks": "/en/enterprise-server@2.21/rest/reference/repos#pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/repos/releases": "/en/enterprise-server@2.21/rest/reference/repos#releases",
|
||||
"/en/enterprise/2.21/v3/repos/statistics": "/en/enterprise-server@2.21/rest/reference/repos#statistics",
|
||||
"/en/enterprise/2.21/v3/repos/statuses": "/en/enterprise-server@2.21/rest/reference/repos#statuses",
|
||||
"/en/enterprise/2.21/v3/search": "/en/enterprise-server@2.21/rest/reference/search",
|
||||
"/en/enterprise/2.21/v3/teams/discussion_comments": "/en/enterprise-server@2.21/rest/reference/teams#discussion-comments",
|
||||
"/en/enterprise/2.21/v3/teams/discussions": "/en/enterprise-server@2.21/rest/reference/teams#discussions",
|
||||
"/en/enterprise/2.21/v3/teams": "/en/enterprise-server@2.21/rest/reference/teams",
|
||||
"/en/enterprise/2.21/v3/teams/members": "/en/enterprise-server@2.21/rest/reference/teams#members",
|
||||
"/en/enterprise/2.21/v3/users/administration": "/en/enterprise-server@2.21/rest/reference/users#administration",
|
||||
"/en/enterprise/2.21/v3/users/emails": "/en/enterprise-server@2.21/rest/reference/users#emails",
|
||||
"/en/enterprise/2.21/v3/users/followers": "/en/enterprise-server@2.21/rest/reference/users#followers",
|
||||
"/en/enterprise/2.21/v3/users/gpg_keys": "/en/enterprise-server@2.21/rest/reference/users#gpg-keys",
|
||||
"/en/enterprise/2.21/v3/users": "/en/enterprise-server@2.21/rest/reference/users",
|
||||
"/en/enterprise/2.21/v3/users/keys": "/en/enterprise-server@2.21/rest/reference/users#keys",
|
||||
"/v3/actions/artifacts": "/en/free-pro-team@latest/rest/reference/actions#artifacts",
|
||||
"/v3/actions": "/en/free-pro-team@latest/rest/reference/actions",
|
||||
"/v3/actions/secrets": "/en/free-pro-team@latest/rest/reference/actions#secrets",
|
||||
"/v3/actions/self-hosted-runners": "/en/free-pro-team@latest/rest/reference/actions#self-hosted-runners",
|
||||
"/v3/actions/self_hosted_runners": "/en/free-pro-team@latest/rest/reference/actions#self-hosted-runners",
|
||||
"/v3/actions/workflow-jobs": "/en/free-pro-team@latest/rest/reference/actions#workflow-jobs",
|
||||
"/v3/actions/workflow-runs": "/en/free-pro-team@latest/rest/reference/actions#workflow-runs",
|
||||
"/v3/actions/workflows": "/en/free-pro-team@latest/rest/reference/actions#workflows",
|
||||
"/v3/activity/event_types": "/en/free-pro-team@latest/developers/webhooks-and-events/github-event-types",
|
||||
"/v3/activity/events/types": "/en/free-pro-team@latest/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/v3/activity/events": "/en/free-pro-team@latest/rest/reference/activity#events",
|
||||
"/v3/activity/feeds": "/en/free-pro-team@latest/rest/reference/activity#feeds",
|
||||
"/v3/activity": "/en/free-pro-team@latest/rest/reference/activity",
|
||||
"/v3/activity/notifications": "/en/free-pro-team@latest/rest/reference/activity#notifications",
|
||||
"/v3/activity/starring": "/en/free-pro-team@latest/rest/reference/activity#starring",
|
||||
"/v3/activity/watching": "/en/free-pro-team@latest/rest/reference/activity#watching",
|
||||
"/v3/apps/available-endpoints": "/en/free-pro-team@latest/rest/overview/endpoints-available-for-github-apps",
|
||||
"/v3/apps": "/en/free-pro-team@latest/rest/reference/apps",
|
||||
"/v3/apps/installations": "/en/free-pro-team@latest/rest/reference/apps#installations",
|
||||
"/v3/apps/marketplace": "/en/free-pro-team@latest/rest/reference/apps#marketplace",
|
||||
"/v3/apps/oauth_applications": "/en/free-pro-team@latest/rest/reference/apps#oauth-applications",
|
||||
"/v3/apps/permissions": "/en/free-pro-team@latest/rest/reference/permissions-required-for-github-apps",
|
||||
"/v3/checks": "/en/free-pro-team@latest/rest/reference/checks",
|
||||
"/v3/checks/runs": "/en/free-pro-team@latest/rest/reference/checks#runs",
|
||||
"/v3/checks/suites": "/en/free-pro-team@latest/rest/reference/checks#suites",
|
||||
"/v3/code-scanning": "/en/free-pro-team@latest/rest/reference/code-scanning",
|
||||
"/v3/codes_of_conduct": "/en/free-pro-team@latest/rest/reference/codes-of-conduct",
|
||||
"/v3/emojis": "/en/free-pro-team@latest/rest/reference/emojis",
|
||||
"/v3/enterprise-admin": "/en/free-pro-team@latest/rest/reference/enterprise-admin",
|
||||
"/v3/enterprise-admin/admin_stats": "/en/enterprise-server/rest/reference/enterprise-admin#admin-stats",
|
||||
"/v3/enterprise-admin/global_webhooks": "/en/enterprise-server/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/v3/enterprise-admin/ldap": "/en/enterprise-server/rest/reference/enterprise-admin#ldap",
|
||||
"/v3/enterprise-admin/license": "/en/enterprise-server/rest/reference/enterprise-admin#license",
|
||||
"/v3/enterprise-admin/management_console": "/en/enterprise-server/rest/reference/enterprise-admin#management-console",
|
||||
"/v3/enterprise-admin/orgs": "/en/enterprise-server/rest/reference/enterprise-admin#orgs",
|
||||
"/v3/enterprise-admin/pre_receive_environments": "/en/enterprise-server/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise-server/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/v3/enterprise-admin/search_indexing": "/en/enterprise-server/rest/reference/enterprise-admin#search-indexing",
|
||||
"/v3/enterprise-admin/users": "/en/enterprise-server/rest/reference/enterprise-admin#users",
|
||||
"/v3/gists/comments": "/en/free-pro-team@latest/rest/reference/gists#comments",
|
||||
"/v3/gists": "/en/free-pro-team@latest/rest/reference/gists",
|
||||
"/v3/git/blobs": "/en/free-pro-team@latest/rest/reference/git#blobs",
|
||||
"/v3/git/commits": "/en/free-pro-team@latest/rest/reference/git#commits",
|
||||
"/v3/git": "/en/free-pro-team@latest/rest/reference/git",
|
||||
"/v3/git/refs": "/en/free-pro-team@latest/rest/reference/git#refs",
|
||||
"/v3/git/tags": "/en/free-pro-team@latest/rest/reference/git#tags",
|
||||
"/v3/git/trees": "/en/free-pro-team@latest/rest/reference/git#trees",
|
||||
"/v3/gitignore": "/en/free-pro-team@latest/rest/reference/gitignore",
|
||||
"/v3/interactions": "/en/free-pro-team@latest/rest/reference/interactions",
|
||||
"/v3/interactions/orgs": "/en/free-pro-team@latest/rest/reference/interactions#orgs",
|
||||
"/v3/interactions/repos": "/en/free-pro-team@latest/rest/reference/interactions#repos",
|
||||
"/v3/issues/assignees": "/en/free-pro-team@latest/rest/reference/issues#assignees",
|
||||
"/v3/issues/comments": "/en/free-pro-team@latest/rest/reference/issues#comments",
|
||||
"/v3/issues/events": "/en/free-pro-team@latest/rest/reference/issues#events",
|
||||
"/v3/issues": "/en/free-pro-team@latest/rest/reference/issues",
|
||||
"/v3/issues/issue-event-types": "/en/free-pro-team@latest/developers/webhooks-and-events/issue-event-types",
|
||||
"/v3/issues/labels": "/en/free-pro-team@latest/rest/reference/issues#labels",
|
||||
"/v3/issues/milestones": "/en/free-pro-team@latest/rest/reference/issues#milestones",
|
||||
"/v3/issues/timeline": "/en/free-pro-team@latest/rest/reference/issues#timeline",
|
||||
"/v3/licenses": "/en/free-pro-team@latest/rest/reference/licenses",
|
||||
"/v3/markdown": "/en/free-pro-team@latest/rest/reference/markdown",
|
||||
"/v3/meta": "/en/free-pro-team@latest/rest/reference/meta",
|
||||
"/v3/migrations": "/en/free-pro-team@latest/rest/reference/migrations",
|
||||
"/v3/migrations/orgs": "/en/free-pro-team@latest/rest/reference/migrations#orgs",
|
||||
"/v3/migrations/source_imports": "/en/free-pro-team@latest/rest/reference/migrations#source-imports",
|
||||
"/v3/migrations/users": "/en/free-pro-team@latest/rest/reference/migrations#users",
|
||||
"/v3/oauth_authorizations": "/en/free-pro-team@latest/rest/reference/oauth-authorizations",
|
||||
"/v3/orgs/blocking": "/en/free-pro-team@latest/rest/reference/orgs#blocking",
|
||||
"/v3/orgs/hooks": "/en/free-pro-team@latest/rest/reference/orgs#hooks",
|
||||
"/v3/orgs": "/en/free-pro-team@latest/rest/reference/orgs",
|
||||
"/v3/orgs/members": "/en/free-pro-team@latest/rest/reference/orgs#members",
|
||||
"/v3/orgs/migrations": "/en/free-pro-team@latest/rest/reference/orgs#migrations",
|
||||
"/v3/orgs/outside_collaborators": "/en/free-pro-team@latest/rest/reference/orgs#outside-collaborators",
|
||||
"/v3/orgs/pre_receive_hooks": "/en/enterprise-server/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/v3/orgs/teams": "/en/free-pro-team@latest/rest/reference/orgs#teams",
|
||||
"/v3/projects/cards": "/en/free-pro-team@latest/rest/reference/projects#cards",
|
||||
"/v3/projects/collaborators": "/en/free-pro-team@latest/rest/reference/projects#collaborators",
|
||||
"/v3/projects/columns": "/en/free-pro-team@latest/rest/reference/projects#columns",
|
||||
"/v3/projects": "/en/free-pro-team@latest/rest/reference/projects",
|
||||
"/v3/pulls/comments": "/en/free-pro-team@latest/rest/reference/pulls#comments",
|
||||
"/v3/pulls": "/en/free-pro-team@latest/rest/reference/pulls",
|
||||
"/v3/pulls/review_requests": "/en/free-pro-team@latest/rest/reference/pulls#review-requests",
|
||||
"/v3/pulls/reviews": "/en/free-pro-team@latest/rest/reference/pulls#reviews",
|
||||
"/v3/rate_limit": "/en/free-pro-team@latest/rest/reference/rate-limit",
|
||||
"/v3/reactions": "/en/free-pro-team@latest/rest/reference/reactions",
|
||||
"/v3/repos/branches": "/en/free-pro-team@latest/rest/reference/repos#branches",
|
||||
"/v3/repos/collaborators": "/en/free-pro-team@latest/rest/reference/repos#collaborators",
|
||||
"/v3/repos/comments": "/en/free-pro-team@latest/rest/reference/repos#comments",
|
||||
"/v3/repos/commits": "/en/free-pro-team@latest/rest/reference/repos#commits",
|
||||
"/v3/repos/community": "/en/free-pro-team@latest/rest/reference/repos#community",
|
||||
"/v3/repos/contents": "/en/free-pro-team@latest/rest/reference/repos#contents",
|
||||
"/v3/repos/deployments": "/en/free-pro-team@latest/rest/reference/repos#deployments",
|
||||
"/v3/repos/downloads": "/en/free-pro-team@latest/rest/reference/repos#downloads",
|
||||
"/v3/repos/forks": "/en/free-pro-team@latest/rest/reference/repos#forks",
|
||||
"/v3/repos/hooks": "/en/free-pro-team@latest/rest/reference/repos#hooks",
|
||||
"/v3/repos": "/en/free-pro-team@latest/rest/reference/repos",
|
||||
"/v3/repos/invitations": "/en/free-pro-team@latest/rest/reference/repos#invitations",
|
||||
"/v3/repos/keys": "/en/free-pro-team@latest/rest/reference/repos#keys",
|
||||
"/v3/repos/merging": "/en/free-pro-team@latest/rest/reference/repos#merging",
|
||||
"/v3/repos/pages": "/en/free-pro-team@latest/rest/reference/repos#pages",
|
||||
"/v3/repos/pre_receive_hooks": "/en/free-pro-team@latest/rest/reference/repos#pre-receive-hooks",
|
||||
"/v3/repos/releases": "/en/free-pro-team@latest/rest/reference/repos#releases",
|
||||
"/v3/repos/statistics": "/en/free-pro-team@latest/rest/reference/repos#statistics",
|
||||
"/v3/repos/statuses": "/en/free-pro-team@latest/rest/reference/repos#statuses",
|
||||
"/v3/repos/traffic": "/en/free-pro-team@latest/rest/reference/repos#traffic",
|
||||
"/v3/scim": "/en/free-pro-team@latest/rest/reference/scim",
|
||||
"/v3/search": "/en/free-pro-team@latest/rest/reference/search",
|
||||
"/v3/teams/discussion_comments": "/en/free-pro-team@latest/rest/reference/teams#discussion-comments",
|
||||
"/v3/teams/discussions": "/en/free-pro-team@latest/rest/reference/teams#discussions",
|
||||
"/v3/teams": "/en/free-pro-team@latest/rest/reference/teams",
|
||||
"/v3/teams/members": "/en/free-pro-team@latest/rest/reference/teams#members",
|
||||
"/v3/teams/team_sync": "/en/free-pro-team@latest/rest/reference/teams#team-sync",
|
||||
"/v3/users/blocking": "/en/free-pro-team@latest/rest/reference/users#blocking",
|
||||
"/v3/users/emails": "/en/free-pro-team@latest/rest/reference/users#emails",
|
||||
"/v3/users/followers": "/en/free-pro-team@latest/rest/reference/users#followers",
|
||||
"/v3/users/gpg_keys": "/en/free-pro-team@latest/rest/reference/users#gpg-keys",
|
||||
"/v3/users": "/en/free-pro-team@latest/rest/reference/users",
|
||||
"/v3/users/keys": "/en/free-pro-team@latest/rest/reference/users#keys"
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: A sample article
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
title: A sample TOC
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% link_in_list /sample-article %}
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
title: Translated TOC
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
### 目次
|
||||
|
||||
Placeholder text
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: Some page that exists in the content directory but not the translations directory
|
||||
productVersions:
|
||||
dotcom: '*'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: This is an article
|
||||
intro: 'I've got broken frontmatter'
|
||||
productVersions:
|
||||
dotcom: '*'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
5
tests/fixtures/page-with-redirects.md
vendored
5
tests/fixtures/page-with-redirects.md
vendored
@@ -2,6 +2,7 @@
|
||||
title: A page with redirects
|
||||
redirect_from:
|
||||
- /some-old-path
|
||||
productVersions:
|
||||
dotcom: '*'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: A sample article
|
||||
productVersions:
|
||||
dotcom: '*'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: A sample article
|
||||
productVersions:
|
||||
enterprise: '>2.16'
|
||||
---
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: A sample article
|
||||
productVersions:
|
||||
dotcom: '*'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Frontmatter
|
||||
productVersions:
|
||||
versions:
|
||||
dotcom: '*'
|
||||
enterprise: '>=2.13'
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Frontmatter
|
||||
productVersions:
|
||||
versions:
|
||||
dotcom: '*'
|
||||
enterprise: '>=2.14'
|
||||
---
|
||||
|
||||
816
tests/fixtures/rest-redirects.json
vendored
816
tests/fixtures/rest-redirects.json
vendored
@@ -95,412 +95,412 @@
|
||||
"/en/enterprise/2.18/v3/users/gpg_keys": "/en/enterprise/2.18/user/rest/reference/users#gpg-keys",
|
||||
"/en/enterprise/2.18/v3/users": "/en/enterprise/2.18/user/rest/reference/users",
|
||||
"/en/enterprise/2.18/v3/users/keys": "/en/enterprise/2.18/user/rest/reference/users#keys",
|
||||
"/en/enterprise/2.19/v3/activity/event_types": "/en/enterprise/2.19/user/developers/webhooks-and-events/github-event-types",
|
||||
"/en/enterprise/2.19/v3/activity/events/types": "/en/enterprise/2.19/user/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/en/enterprise/2.19/v3/activity/events": "/en/enterprise/2.19/user/rest/reference/activity#events",
|
||||
"/en/enterprise/2.19/v3/activity/feeds": "/en/enterprise/2.19/user/rest/reference/activity#feeds",
|
||||
"/en/enterprise/2.19/v3/activity": "/en/enterprise/2.19/user/rest/reference/activity",
|
||||
"/en/enterprise/2.19/v3/activity/notifications": "/en/enterprise/2.19/user/rest/reference/activity#notifications",
|
||||
"/en/enterprise/2.19/v3/activity/starring": "/en/enterprise/2.19/user/rest/reference/activity#starring",
|
||||
"/en/enterprise/2.19/v3/activity/watching": "/en/enterprise/2.19/user/rest/reference/activity#watching",
|
||||
"/en/enterprise/2.19/v3/apps/available-endpoints": "/en/enterprise/2.19/user/rest/overview/endpoints-available-for-github-apps",
|
||||
"/en/enterprise/2.19/v3/apps": "/en/enterprise/2.19/user/rest/reference/apps",
|
||||
"/en/enterprise/2.19/v3/apps/installations": "/en/enterprise/2.19/user/rest/reference/apps#installations",
|
||||
"/en/enterprise/2.19/v3/apps/permissions": "/en/enterprise/2.19/user/rest/reference/permissions-required-for-github-apps",
|
||||
"/en/enterprise/2.19/v3/checks": "/en/enterprise/2.19/user/rest/reference/checks",
|
||||
"/en/enterprise/2.19/v3/checks/runs": "/en/enterprise/2.19/user/rest/reference/checks#runs",
|
||||
"/en/enterprise/2.19/v3/checks/suites": "/en/enterprise/2.19/user/rest/reference/checks#suites",
|
||||
"/en/enterprise/2.19/v3/codes_of_conduct": "/en/enterprise/2.19/user/rest/reference/codes-of-conduct",
|
||||
"/en/enterprise/2.19/v3/emojis": "/en/enterprise/2.19/user/rest/reference/emojis",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/admin_stats": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#admin-stats",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/global_webhooks": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin": "/en/enterprise/2.19/user/rest/reference/enterprise-admin",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/ldap": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#ldap",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/license": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#license",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/management_console": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#management-console",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/org_pre_receive_hooks": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/orgs": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#orgs",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/pre_receive_environments": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/repo_pre_receive_hooks": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#repo-pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/search_indexing": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#search-indexing",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/users": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#users",
|
||||
"/en/enterprise/2.19/v3/gists/comments": "/en/enterprise/2.19/user/rest/reference/gists#comments",
|
||||
"/en/enterprise/2.19/v3/gists": "/en/enterprise/2.19/user/rest/reference/gists",
|
||||
"/en/enterprise/2.19/v3/git/blobs": "/en/enterprise/2.19/user/rest/reference/git#blobs",
|
||||
"/en/enterprise/2.19/v3/git/commits": "/en/enterprise/2.19/user/rest/reference/git#commits",
|
||||
"/en/enterprise/2.19/v3/git": "/en/enterprise/2.19/user/rest/reference/git",
|
||||
"/en/enterprise/2.19/v3/git/refs": "/en/enterprise/2.19/user/rest/reference/git#refs",
|
||||
"/en/enterprise/2.19/v3/git/tags": "/en/enterprise/2.19/user/rest/reference/git#tags",
|
||||
"/en/enterprise/2.19/v3/git/trees": "/en/enterprise/2.19/user/rest/reference/git#trees",
|
||||
"/en/enterprise/2.19/v3/gitignore": "/en/enterprise/2.19/user/rest/reference/gitignore",
|
||||
"/en/enterprise/2.19/v3/issues/assignees": "/en/enterprise/2.19/user/rest/reference/issues#assignees",
|
||||
"/en/enterprise/2.19/v3/issues/comments": "/en/enterprise/2.19/user/rest/reference/issues#comments",
|
||||
"/en/enterprise/2.19/v3/issues/events": "/en/enterprise/2.19/user/rest/reference/issues#events",
|
||||
"/en/enterprise/2.19/v3/issues": "/en/enterprise/2.19/user/rest/reference/issues",
|
||||
"/en/enterprise/2.19/v3/issues/issue-event-types": "/en/enterprise/2.19/user/developers/webhooks-and-events/issue-event-types",
|
||||
"/en/enterprise/2.19/v3/issues/labels": "/en/enterprise/2.19/user/rest/reference/issues#labels",
|
||||
"/en/enterprise/2.19/v3/issues/milestones": "/en/enterprise/2.19/user/rest/reference/issues#milestones",
|
||||
"/en/enterprise/2.19/v3/issues/timeline": "/en/enterprise/2.19/user/rest/reference/issues#timeline",
|
||||
"/en/enterprise/2.19/v3/licenses": "/en/enterprise/2.19/user/rest/reference/licenses",
|
||||
"/en/enterprise/2.19/v3/markdown": "/en/enterprise/2.19/user/rest/reference/markdown",
|
||||
"/en/enterprise/2.19/v3/meta": "/en/enterprise/2.19/user/rest/reference/meta",
|
||||
"/en/enterprise/2.19/v3/oauth_authorizations": "/en/enterprise/2.19/user/rest/reference/oauth-authorizations",
|
||||
"/en/enterprise/2.19/v3/orgs/hooks": "/en/enterprise/2.19/user/rest/reference/orgs#hooks",
|
||||
"/en/enterprise/2.19/v3/orgs": "/en/enterprise/2.19/user/rest/reference/orgs",
|
||||
"/en/enterprise/2.19/v3/orgs/members": "/en/enterprise/2.19/user/rest/reference/orgs#members",
|
||||
"/en/enterprise/2.19/v3/orgs/outside_collaborators": "/en/enterprise/2.19/user/rest/reference/orgs#outside-collaborators",
|
||||
"/en/enterprise/2.19/v3/orgs/pre_receive_hooks": "/en/enterprise/2.19/user/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/orgs/teams": "/en/enterprise/2.19/user/rest/reference/orgs#teams",
|
||||
"/en/enterprise/2.19/v3/projects/cards": "/en/enterprise/2.19/user/rest/reference/projects#cards",
|
||||
"/en/enterprise/2.19/v3/projects/collaborators": "/en/enterprise/2.19/user/rest/reference/projects#collaborators",
|
||||
"/en/enterprise/2.19/v3/projects/columns": "/en/enterprise/2.19/user/rest/reference/projects#columns",
|
||||
"/en/enterprise/2.19/v3/projects": "/en/enterprise/2.19/user/rest/reference/projects",
|
||||
"/en/enterprise/2.19/v3/pulls/comments": "/en/enterprise/2.19/user/rest/reference/pulls#comments",
|
||||
"/en/enterprise/2.19/v3/pulls": "/en/enterprise/2.19/user/rest/reference/pulls",
|
||||
"/en/enterprise/2.19/v3/pulls/review_requests": "/en/enterprise/2.19/user/rest/reference/pulls#review-requests",
|
||||
"/en/enterprise/2.19/v3/pulls/reviews": "/en/enterprise/2.19/user/rest/reference/pulls#reviews",
|
||||
"/en/enterprise/2.19/v3/rate_limit": "/en/enterprise/2.19/user/rest/reference/rate-limit",
|
||||
"/en/enterprise/2.19/v3/reactions": "/en/enterprise/2.19/user/rest/reference/reactions",
|
||||
"/en/enterprise/2.19/v3/repos/branches": "/en/enterprise/2.19/user/rest/reference/repos#branches",
|
||||
"/en/enterprise/2.19/v3/repos/collaborators": "/en/enterprise/2.19/user/rest/reference/repos#collaborators",
|
||||
"/en/enterprise/2.19/v3/repos/comments": "/en/enterprise/2.19/user/rest/reference/repos#comments",
|
||||
"/en/enterprise/2.19/v3/repos/commits": "/en/enterprise/2.19/user/rest/reference/repos#commits",
|
||||
"/en/enterprise/2.19/v3/repos/contents": "/en/enterprise/2.19/user/rest/reference/repos#contents",
|
||||
"/en/enterprise/2.19/v3/repos/deployments": "/en/enterprise/2.19/user/rest/reference/repos#deployments",
|
||||
"/en/enterprise/2.19/v3/repos/downloads": "/en/enterprise/2.19/user/rest/reference/repos#downloads",
|
||||
"/en/enterprise/2.19/v3/repos/forks": "/en/enterprise/2.19/user/rest/reference/repos#forks",
|
||||
"/en/enterprise/2.19/v3/repos/hooks": "/en/enterprise/2.19/user/rest/reference/repos#hooks",
|
||||
"/en/enterprise/2.19/v3/repos": "/en/enterprise/2.19/user/rest/reference/repos",
|
||||
"/en/enterprise/2.19/v3/repos/invitations": "/en/enterprise/2.19/user/rest/reference/repos#invitations",
|
||||
"/en/enterprise/2.19/v3/repos/keys": "/en/enterprise/2.19/user/rest/reference/repos#keys",
|
||||
"/en/enterprise/2.19/v3/repos/merging": "/en/enterprise/2.19/user/rest/reference/repos#merging",
|
||||
"/en/enterprise/2.19/v3/repos/pages": "/en/enterprise/2.19/user/rest/reference/repos#pages",
|
||||
"/en/enterprise/2.19/v3/repos/pre_receive_hooks": "/en/enterprise/2.19/user/rest/reference/repos#pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/repos/releases": "/en/enterprise/2.19/user/rest/reference/repos#releases",
|
||||
"/en/enterprise/2.19/v3/repos/statistics": "/en/enterprise/2.19/user/rest/reference/repos#statistics",
|
||||
"/en/enterprise/2.19/v3/repos/statuses": "/en/enterprise/2.19/user/rest/reference/repos#statuses",
|
||||
"/en/enterprise/2.19/v3/search": "/en/enterprise/2.19/user/rest/reference/search",
|
||||
"/en/enterprise/2.19/v3/teams/discussion_comments": "/en/enterprise/2.19/user/rest/reference/teams#discussion-comments",
|
||||
"/en/enterprise/2.19/v3/teams/discussions": "/en/enterprise/2.19/user/rest/reference/teams#discussions",
|
||||
"/en/enterprise/2.19/v3/teams": "/en/enterprise/2.19/user/rest/reference/teams",
|
||||
"/en/enterprise/2.19/v3/teams/members": "/en/enterprise/2.19/user/rest/reference/teams#members",
|
||||
"/en/enterprise/2.19/v3/users/administration": "/en/enterprise/2.19/user/rest/reference/users#administration",
|
||||
"/en/enterprise/2.19/v3/users/emails": "/en/enterprise/2.19/user/rest/reference/users#emails",
|
||||
"/en/enterprise/2.19/v3/users/followers": "/en/enterprise/2.19/user/rest/reference/users#followers",
|
||||
"/en/enterprise/2.19/v3/users/gpg_keys": "/en/enterprise/2.19/user/rest/reference/users#gpg-keys",
|
||||
"/en/enterprise/2.19/v3/users": "/en/enterprise/2.19/user/rest/reference/users",
|
||||
"/en/enterprise/2.19/v3/users/keys": "/en/enterprise/2.19/user/rest/reference/users#keys",
|
||||
"/en/enterprise/2.20/v3/activity/event_types": "/en/enterprise/2.20/user/developers/webhooks-and-events/github-event-types",
|
||||
"/en/enterprise/2.20/v3/activity/events/types": "/en/enterprise/2.20/user/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/en/enterprise/2.20/v3/activity/events": "/en/enterprise/2.20/user/rest/reference/activity#events",
|
||||
"/en/enterprise/2.20/v3/activity/feeds": "/en/enterprise/2.20/user/rest/reference/activity#feeds",
|
||||
"/en/enterprise/2.20/v3/activity": "/en/enterprise/2.20/user/rest/reference/activity",
|
||||
"/en/enterprise/2.20/v3/activity/notifications": "/en/enterprise/2.20/user/rest/reference/activity#notifications",
|
||||
"/en/enterprise/2.20/v3/activity/starring": "/en/enterprise/2.20/user/rest/reference/activity#starring",
|
||||
"/en/enterprise/2.20/v3/activity/watching": "/en/enterprise/2.20/user/rest/reference/activity#watching",
|
||||
"/en/enterprise/2.20/v3/apps/available-endpoints": "/en/enterprise/2.20/user/rest/overview/endpoints-available-for-github-apps",
|
||||
"/en/enterprise/2.20/v3/apps": "/en/enterprise/2.20/user/rest/reference/apps",
|
||||
"/en/enterprise/2.20/v3/apps/installations": "/en/enterprise/2.20/user/rest/reference/apps#installations",
|
||||
"/en/enterprise/2.20/v3/apps/oauth_applications": "/en/enterprise/2.20/user/rest/reference/apps#oauth-applications",
|
||||
"/en/enterprise/2.20/v3/apps/permissions": "/en/enterprise/2.20/user/rest/reference/permissions-required-for-github-apps",
|
||||
"/en/enterprise/2.20/v3/checks": "/en/enterprise/2.20/user/rest/reference/checks",
|
||||
"/en/enterprise/2.20/v3/checks/runs": "/en/enterprise/2.20/user/rest/reference/checks#runs",
|
||||
"/en/enterprise/2.20/v3/checks/suites": "/en/enterprise/2.20/user/rest/reference/checks#suites",
|
||||
"/en/enterprise/2.20/v3/codes_of_conduct": "/en/enterprise/2.20/user/rest/reference/codes-of-conduct",
|
||||
"/en/enterprise/2.20/v3/emojis": "/en/enterprise/2.20/user/rest/reference/emojis",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/admin_stats": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#admin-stats",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/global_webhooks": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin": "/en/enterprise/2.20/user/rest/reference/enterprise-admin",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/ldap": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#ldap",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/license": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#license",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/management_console": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#management-console",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/org_pre_receive_hooks": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/orgs": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#orgs",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/pre_receive_environments": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/repo_pre_receive_hooks": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#repo-pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/search_indexing": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#search-indexing",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/users": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#users",
|
||||
"/en/enterprise/2.20/v3/gists/comments": "/en/enterprise/2.20/user/rest/reference/gists#comments",
|
||||
"/en/enterprise/2.20/v3/gists": "/en/enterprise/2.20/user/rest/reference/gists",
|
||||
"/en/enterprise/2.20/v3/git/blobs": "/en/enterprise/2.20/user/rest/reference/git#blobs",
|
||||
"/en/enterprise/2.20/v3/git/commits": "/en/enterprise/2.20/user/rest/reference/git#commits",
|
||||
"/en/enterprise/2.20/v3/git": "/en/enterprise/2.20/user/rest/reference/git",
|
||||
"/en/enterprise/2.20/v3/git/refs": "/en/enterprise/2.20/user/rest/reference/git#refs",
|
||||
"/en/enterprise/2.20/v3/git/tags": "/en/enterprise/2.20/user/rest/reference/git#tags",
|
||||
"/en/enterprise/2.20/v3/git/trees": "/en/enterprise/2.20/user/rest/reference/git#trees",
|
||||
"/en/enterprise/2.20/v3/gitignore": "/en/enterprise/2.20/user/rest/reference/gitignore",
|
||||
"/en/enterprise/2.20/v3/issues/assignees": "/en/enterprise/2.20/user/rest/reference/issues#assignees",
|
||||
"/en/enterprise/2.20/v3/issues/comments": "/en/enterprise/2.20/user/rest/reference/issues#comments",
|
||||
"/en/enterprise/2.20/v3/issues/events": "/en/enterprise/2.20/user/rest/reference/issues#events",
|
||||
"/en/enterprise/2.20/v3/issues": "/en/enterprise/2.20/user/rest/reference/issues",
|
||||
"/en/enterprise/2.20/v3/issues/issue-event-types": "/en/enterprise/2.20/user/developers/webhooks-and-events/issue-event-types",
|
||||
"/en/enterprise/2.20/v3/issues/labels": "/en/enterprise/2.20/user/rest/reference/issues#labels",
|
||||
"/en/enterprise/2.20/v3/issues/milestones": "/en/enterprise/2.20/user/rest/reference/issues#milestones",
|
||||
"/en/enterprise/2.20/v3/issues/timeline": "/en/enterprise/2.20/user/rest/reference/issues#timeline",
|
||||
"/en/enterprise/2.20/v3/licenses": "/en/enterprise/2.20/user/rest/reference/licenses",
|
||||
"/en/enterprise/2.20/v3/markdown": "/en/enterprise/2.20/user/rest/reference/markdown",
|
||||
"/en/enterprise/2.20/v3/meta": "/en/enterprise/2.20/user/rest/reference/meta",
|
||||
"/en/enterprise/2.20/v3/oauth_authorizations": "/en/enterprise/2.20/user/rest/reference/oauth-authorizations",
|
||||
"/en/enterprise/2.20/v3/orgs/hooks": "/en/enterprise/2.20/user/rest/reference/orgs#hooks",
|
||||
"/en/enterprise/2.20/v3/orgs": "/en/enterprise/2.20/user/rest/reference/orgs",
|
||||
"/en/enterprise/2.20/v3/orgs/members": "/en/enterprise/2.20/user/rest/reference/orgs#members",
|
||||
"/en/enterprise/2.20/v3/orgs/outside_collaborators": "/en/enterprise/2.20/user/rest/reference/orgs#outside-collaborators",
|
||||
"/en/enterprise/2.20/v3/orgs/pre_receive_hooks": "/en/enterprise/2.20/user/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/orgs/teams": "/en/enterprise/2.20/user/rest/reference/orgs#teams",
|
||||
"/en/enterprise/2.20/v3/projects/cards": "/en/enterprise/2.20/user/rest/reference/projects#cards",
|
||||
"/en/enterprise/2.20/v3/projects/collaborators": "/en/enterprise/2.20/user/rest/reference/projects#collaborators",
|
||||
"/en/enterprise/2.20/v3/projects/columns": "/en/enterprise/2.20/user/rest/reference/projects#columns",
|
||||
"/en/enterprise/2.20/v3/projects": "/en/enterprise/2.20/user/rest/reference/projects",
|
||||
"/en/enterprise/2.20/v3/pulls/comments": "/en/enterprise/2.20/user/rest/reference/pulls#comments",
|
||||
"/en/enterprise/2.20/v3/pulls": "/en/enterprise/2.20/user/rest/reference/pulls",
|
||||
"/en/enterprise/2.20/v3/pulls/review_requests": "/en/enterprise/2.20/user/rest/reference/pulls#review-requests",
|
||||
"/en/enterprise/2.20/v3/pulls/reviews": "/en/enterprise/2.20/user/rest/reference/pulls#reviews",
|
||||
"/en/enterprise/2.20/v3/rate_limit": "/en/enterprise/2.20/user/rest/reference/rate-limit",
|
||||
"/en/enterprise/2.20/v3/reactions": "/en/enterprise/2.20/user/rest/reference/reactions",
|
||||
"/en/enterprise/2.20/v3/repos/branches": "/en/enterprise/2.20/user/rest/reference/repos#branches",
|
||||
"/en/enterprise/2.20/v3/repos/collaborators": "/en/enterprise/2.20/user/rest/reference/repos#collaborators",
|
||||
"/en/enterprise/2.20/v3/repos/comments": "/en/enterprise/2.20/user/rest/reference/repos#comments",
|
||||
"/en/enterprise/2.20/v3/repos/commits": "/en/enterprise/2.20/user/rest/reference/repos#commits",
|
||||
"/en/enterprise/2.20/v3/repos/contents": "/en/enterprise/2.20/user/rest/reference/repos#contents",
|
||||
"/en/enterprise/2.20/v3/repos/deployments": "/en/enterprise/2.20/user/rest/reference/repos#deployments",
|
||||
"/en/enterprise/2.20/v3/repos/downloads": "/en/enterprise/2.20/user/rest/reference/repos#downloads",
|
||||
"/en/enterprise/2.20/v3/repos/forks": "/en/enterprise/2.20/user/rest/reference/repos#forks",
|
||||
"/en/enterprise/2.20/v3/repos/hooks": "/en/enterprise/2.20/user/rest/reference/repos#hooks",
|
||||
"/en/enterprise/2.20/v3/repos": "/en/enterprise/2.20/user/rest/reference/repos",
|
||||
"/en/enterprise/2.20/v3/repos/invitations": "/en/enterprise/2.20/user/rest/reference/repos#invitations",
|
||||
"/en/enterprise/2.20/v3/repos/keys": "/en/enterprise/2.20/user/rest/reference/repos#keys",
|
||||
"/en/enterprise/2.20/v3/repos/merging": "/en/enterprise/2.20/user/rest/reference/repos#merging",
|
||||
"/en/enterprise/2.20/v3/repos/pages": "/en/enterprise/2.20/user/rest/reference/repos#pages",
|
||||
"/en/enterprise/2.20/v3/repos/pre_receive_hooks": "/en/enterprise/2.20/user/rest/reference/repos#pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/repos/releases": "/en/enterprise/2.20/user/rest/reference/repos#releases",
|
||||
"/en/enterprise/2.20/v3/repos/statistics": "/en/enterprise/2.20/user/rest/reference/repos#statistics",
|
||||
"/en/enterprise/2.20/v3/repos/statuses": "/en/enterprise/2.20/user/rest/reference/repos#statuses",
|
||||
"/en/enterprise/2.20/v3/search": "/en/enterprise/2.20/user/rest/reference/search",
|
||||
"/en/enterprise/2.20/v3/teams/discussion_comments": "/en/enterprise/2.20/user/rest/reference/teams#discussion-comments",
|
||||
"/en/enterprise/2.20/v3/teams/discussions": "/en/enterprise/2.20/user/rest/reference/teams#discussions",
|
||||
"/en/enterprise/2.20/v3/teams": "/en/enterprise/2.20/user/rest/reference/teams",
|
||||
"/en/enterprise/2.20/v3/teams/members": "/en/enterprise/2.20/user/rest/reference/teams#members",
|
||||
"/en/enterprise/2.20/v3/users/administration": "/en/enterprise/2.20/user/rest/reference/users#administration",
|
||||
"/en/enterprise/2.20/v3/users/emails": "/en/enterprise/2.20/user/rest/reference/users#emails",
|
||||
"/en/enterprise/2.20/v3/users/followers": "/en/enterprise/2.20/user/rest/reference/users#followers",
|
||||
"/en/enterprise/2.20/v3/users/gpg_keys": "/en/enterprise/2.20/user/rest/reference/users#gpg-keys",
|
||||
"/en/enterprise/2.20/v3/users": "/en/enterprise/2.20/user/rest/reference/users",
|
||||
"/en/enterprise/2.20/v3/users/keys": "/en/enterprise/2.20/user/rest/reference/users#keys",
|
||||
"/en/enterprise/2.21/v3/activity/event_types": "/en/enterprise/2.21/user/developers/webhooks-and-events/github-event-types",
|
||||
"/en/enterprise/2.21/v3/activity/events/types": "/en/enterprise/2.21/user/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/en/enterprise/2.21/v3/activity/events": "/en/enterprise/2.21/user/rest/reference/activity#events",
|
||||
"/en/enterprise/2.21/v3/activity/feeds": "/en/enterprise/2.21/user/rest/reference/activity#feeds",
|
||||
"/en/enterprise/2.21/v3/activity": "/en/enterprise/2.21/user/rest/reference/activity",
|
||||
"/en/enterprise/2.21/v3/activity/notifications": "/en/enterprise/2.21/user/rest/reference/activity#notifications",
|
||||
"/en/enterprise/2.21/v3/activity/starring": "/en/enterprise/2.21/user/rest/reference/activity#starring",
|
||||
"/en/enterprise/2.21/v3/activity/watching": "/en/enterprise/2.21/user/rest/reference/activity#watching",
|
||||
"/en/enterprise/2.21/v3/apps/available-endpoints": "/en/enterprise/2.21/user/rest/overview/endpoints-available-for-github-apps",
|
||||
"/en/enterprise/2.21/v3/apps": "/en/enterprise/2.21/user/rest/reference/apps",
|
||||
"/en/enterprise/2.21/v3/apps/installations": "/en/enterprise/2.21/user/rest/reference/apps#installations",
|
||||
"/en/enterprise/2.21/v3/apps/oauth_applications": "/en/enterprise/2.21/user/rest/reference/apps#oauth-applications",
|
||||
"/en/enterprise/2.21/v3/apps/permissions": "/en/enterprise/2.21/user/rest/reference/permissions-required-for-github-apps",
|
||||
"/en/enterprise/2.21/v3/checks": "/en/enterprise/2.21/user/rest/reference/checks",
|
||||
"/en/enterprise/2.21/v3/checks/runs": "/en/enterprise/2.21/user/rest/reference/checks#runs",
|
||||
"/en/enterprise/2.21/v3/checks/suites": "/en/enterprise/2.21/user/rest/reference/checks#suites",
|
||||
"/en/enterprise/2.21/v3/codes_of_conduct": "/en/enterprise/2.21/user/rest/reference/codes-of-conduct",
|
||||
"/en/enterprise/2.21/v3/emojis": "/en/enterprise/2.21/user/rest/reference/emojis",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/admin_stats": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#admin-stats",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/global_webhooks": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin": "/en/enterprise/2.21/user/rest/reference/enterprise-admin",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/ldap": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#ldap",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/license": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#license",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/management_console": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#management-console",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/org_pre_receive_hooks": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/orgs": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#orgs",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/pre_receive_environments": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/repo_pre_receive_hooks": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#repo-pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/search_indexing": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#search-indexing",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/users": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#users",
|
||||
"/en/enterprise/2.21/v3/gists/comments": "/en/enterprise/2.21/user/rest/reference/gists#comments",
|
||||
"/en/enterprise/2.21/v3/gists": "/en/enterprise/2.21/user/rest/reference/gists",
|
||||
"/en/enterprise/2.21/v3/git/blobs": "/en/enterprise/2.21/user/rest/reference/git#blobs",
|
||||
"/en/enterprise/2.21/v3/git/commits": "/en/enterprise/2.21/user/rest/reference/git#commits",
|
||||
"/en/enterprise/2.21/v3/git": "/en/enterprise/2.21/user/rest/reference/git",
|
||||
"/en/enterprise/2.21/v3/git/refs": "/en/enterprise/2.21/user/rest/reference/git#refs",
|
||||
"/en/enterprise/2.21/v3/git/tags": "/en/enterprise/2.21/user/rest/reference/git#tags",
|
||||
"/en/enterprise/2.21/v3/git/trees": "/en/enterprise/2.21/user/rest/reference/git#trees",
|
||||
"/en/enterprise/2.21/v3/gitignore": "/en/enterprise/2.21/user/rest/reference/gitignore",
|
||||
"/en/enterprise/2.21/v3/issues/assignees": "/en/enterprise/2.21/user/rest/reference/issues#assignees",
|
||||
"/en/enterprise/2.21/v3/issues/comments": "/en/enterprise/2.21/user/rest/reference/issues#comments",
|
||||
"/en/enterprise/2.21/v3/issues/events": "/en/enterprise/2.21/user/rest/reference/issues#events",
|
||||
"/en/enterprise/2.21/v3/issues": "/en/enterprise/2.21/user/rest/reference/issues",
|
||||
"/en/enterprise/2.21/v3/issues/issue-event-types": "/en/enterprise/2.21/user/developers/webhooks-and-events/issue-event-types",
|
||||
"/en/enterprise/2.21/v3/issues/labels": "/en/enterprise/2.21/user/rest/reference/issues#labels",
|
||||
"/en/enterprise/2.21/v3/issues/milestones": "/en/enterprise/2.21/user/rest/reference/issues#milestones",
|
||||
"/en/enterprise/2.21/v3/issues/timeline": "/en/enterprise/2.21/user/rest/reference/issues#timeline",
|
||||
"/en/enterprise/2.21/v3/licenses": "/en/enterprise/2.21/user/rest/reference/licenses",
|
||||
"/en/enterprise/2.21/v3/markdown": "/en/enterprise/2.21/user/rest/reference/markdown",
|
||||
"/en/enterprise/2.21/v3/meta": "/en/enterprise/2.21/user/rest/reference/meta",
|
||||
"/en/enterprise/2.21/v3/oauth_authorizations": "/en/enterprise/2.21/user/rest/reference/oauth-authorizations",
|
||||
"/en/enterprise/2.21/v3/orgs/hooks": "/en/enterprise/2.21/user/rest/reference/orgs#hooks",
|
||||
"/en/enterprise/2.21/v3/orgs": "/en/enterprise/2.21/user/rest/reference/orgs",
|
||||
"/en/enterprise/2.21/v3/orgs/members": "/en/enterprise/2.21/user/rest/reference/orgs#members",
|
||||
"/en/enterprise/2.21/v3/orgs/outside_collaborators": "/en/enterprise/2.21/user/rest/reference/orgs#outside-collaborators",
|
||||
"/en/enterprise/2.21/v3/orgs/pre_receive_hooks": "/en/enterprise/2.21/user/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/orgs/teams": "/en/enterprise/2.21/user/rest/reference/orgs#teams",
|
||||
"/en/enterprise/2.21/v3/projects/cards": "/en/enterprise/2.21/user/rest/reference/projects#cards",
|
||||
"/en/enterprise/2.21/v3/projects/collaborators": "/en/enterprise/2.21/user/rest/reference/projects#collaborators",
|
||||
"/en/enterprise/2.21/v3/projects/columns": "/en/enterprise/2.21/user/rest/reference/projects#columns",
|
||||
"/en/enterprise/2.21/v3/projects": "/en/enterprise/2.21/user/rest/reference/projects",
|
||||
"/en/enterprise/2.21/v3/pulls/comments": "/en/enterprise/2.21/user/rest/reference/pulls#comments",
|
||||
"/en/enterprise/2.21/v3/pulls": "/en/enterprise/2.21/user/rest/reference/pulls",
|
||||
"/en/enterprise/2.21/v3/pulls/review_requests": "/en/enterprise/2.21/user/rest/reference/pulls#review-requests",
|
||||
"/en/enterprise/2.21/v3/pulls/reviews": "/en/enterprise/2.21/user/rest/reference/pulls#reviews",
|
||||
"/en/enterprise/2.21/v3/rate_limit": "/en/enterprise/2.21/user/rest/reference/rate-limit",
|
||||
"/en/enterprise/2.21/v3/reactions": "/en/enterprise/2.21/user/rest/reference/reactions",
|
||||
"/en/enterprise/2.21/v3/repos/branches": "/en/enterprise/2.21/user/rest/reference/repos#branches",
|
||||
"/en/enterprise/2.21/v3/repos/collaborators": "/en/enterprise/2.21/user/rest/reference/repos#collaborators",
|
||||
"/en/enterprise/2.21/v3/repos/comments": "/en/enterprise/2.21/user/rest/reference/repos#comments",
|
||||
"/en/enterprise/2.21/v3/repos/commits": "/en/enterprise/2.21/user/rest/reference/repos#commits",
|
||||
"/en/enterprise/2.21/v3/repos/contents": "/en/enterprise/2.21/user/rest/reference/repos#contents",
|
||||
"/en/enterprise/2.21/v3/repos/deployments": "/en/enterprise/2.21/user/rest/reference/repos#deployments",
|
||||
"/en/enterprise/2.21/v3/repos/downloads": "/en/enterprise/2.21/user/rest/reference/repos#downloads",
|
||||
"/en/enterprise/2.21/v3/repos/forks": "/en/enterprise/2.21/user/rest/reference/repos#forks",
|
||||
"/en/enterprise/2.21/v3/repos/hooks": "/en/enterprise/2.21/user/rest/reference/repos#hooks",
|
||||
"/en/enterprise/2.21/v3/repos": "/en/enterprise/2.21/user/rest/reference/repos",
|
||||
"/en/enterprise/2.21/v3/repos/invitations": "/en/enterprise/2.21/user/rest/reference/repos#invitations",
|
||||
"/en/enterprise/2.21/v3/repos/keys": "/en/enterprise/2.21/user/rest/reference/repos#keys",
|
||||
"/en/enterprise/2.21/v3/repos/merging": "/en/enterprise/2.21/user/rest/reference/repos#merging",
|
||||
"/en/enterprise/2.21/v3/repos/pages": "/en/enterprise/2.21/user/rest/reference/repos#pages",
|
||||
"/en/enterprise/2.21/v3/repos/pre_receive_hooks": "/en/enterprise/2.21/user/rest/reference/repos#pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/repos/releases": "/en/enterprise/2.21/user/rest/reference/repos#releases",
|
||||
"/en/enterprise/2.21/v3/repos/statistics": "/en/enterprise/2.21/user/rest/reference/repos#statistics",
|
||||
"/en/enterprise/2.21/v3/repos/statuses": "/en/enterprise/2.21/user/rest/reference/repos#statuses",
|
||||
"/en/enterprise/2.21/v3/search": "/en/enterprise/2.21/user/rest/reference/search",
|
||||
"/en/enterprise/2.21/v3/teams/discussion_comments": "/en/enterprise/2.21/user/rest/reference/teams#discussion-comments",
|
||||
"/en/enterprise/2.21/v3/teams/discussions": "/en/enterprise/2.21/user/rest/reference/teams#discussions",
|
||||
"/en/enterprise/2.21/v3/teams": "/en/enterprise/2.21/user/rest/reference/teams",
|
||||
"/en/enterprise/2.21/v3/teams/members": "/en/enterprise/2.21/user/rest/reference/teams#members",
|
||||
"/en/enterprise/2.21/v3/users/administration": "/en/enterprise/2.21/user/rest/reference/users#administration",
|
||||
"/en/enterprise/2.21/v3/users/emails": "/en/enterprise/2.21/user/rest/reference/users#emails",
|
||||
"/en/enterprise/2.21/v3/users/followers": "/en/enterprise/2.21/user/rest/reference/users#followers",
|
||||
"/en/enterprise/2.21/v3/users/gpg_keys": "/en/enterprise/2.21/user/rest/reference/users#gpg-keys",
|
||||
"/en/enterprise/2.21/v3/users": "/en/enterprise/2.21/user/rest/reference/users",
|
||||
"/en/enterprise/2.21/v3/users/keys": "/en/enterprise/2.21/user/rest/reference/users#keys",
|
||||
"/v3/actions/artifacts": "/en/rest/reference/actions#artifacts",
|
||||
"/v3/actions": "/en/rest/reference/actions",
|
||||
"/v3/actions/secrets": "/en/rest/reference/actions#secrets",
|
||||
"/v3/actions/self-hosted-runners": "/en/rest/reference/actions#self-hosted-runners",
|
||||
"/v3/actions/self_hosted_runners": "/en/rest/reference/actions#self-hosted-runners",
|
||||
"/v3/actions/workflow-jobs": "/en/rest/reference/actions#workflow-jobs",
|
||||
"/v3/actions/workflow-runs": "/en/rest/reference/actions#workflow-runs",
|
||||
"/v3/actions/workflows": "/en/rest/reference/actions#workflows",
|
||||
"/v3/activity/event_types": "/en/developers/webhooks-and-events/github-event-types",
|
||||
"/v3/activity/events/types": "/en/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/v3/activity/events": "/en/rest/reference/activity#events",
|
||||
"/v3/activity/feeds": "/en/rest/reference/activity#feeds",
|
||||
"/v3/activity": "/en/rest/reference/activity",
|
||||
"/v3/activity/notifications": "/en/rest/reference/activity#notifications",
|
||||
"/v3/activity/starring": "/en/rest/reference/activity#starring",
|
||||
"/v3/activity/watching": "/en/rest/reference/activity#watching",
|
||||
"/v3/apps/available-endpoints": "/en/rest/overview/endpoints-available-for-github-apps",
|
||||
"/v3/apps": "/en/rest/reference/apps",
|
||||
"/v3/apps/installations": "/en/rest/reference/apps#installations",
|
||||
"/v3/apps/marketplace": "/en/rest/reference/apps#marketplace",
|
||||
"/v3/apps/oauth_applications": "/en/rest/reference/apps#oauth-applications",
|
||||
"/v3/apps/permissions": "/en/rest/reference/permissions-required-for-github-apps",
|
||||
"/v3/checks": "/en/rest/reference/checks",
|
||||
"/v3/checks/runs": "/en/rest/reference/checks#runs",
|
||||
"/v3/checks/suites": "/en/rest/reference/checks#suites",
|
||||
"/v3/code-scanning": "/en/rest/reference/code-scanning",
|
||||
"/v3/codes_of_conduct": "/en/rest/reference/codes-of-conduct",
|
||||
"/v3/emojis": "/en/rest/reference/emojis",
|
||||
"/v3/enterprise-admin": "/en/rest/reference/enterprise-admin",
|
||||
"/v3/enterprise-admin/admin_stats": "/en/enterprise/user/rest/reference/enterprise-admin#admin-stats",
|
||||
"/v3/enterprise-admin/global_webhooks": "/en/enterprise/user/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/v3/enterprise-admin/ldap": "/en/enterprise/user/rest/reference/enterprise-admin#ldap",
|
||||
"/v3/enterprise-admin/license": "/en/enterprise/user/rest/reference/enterprise-admin#license",
|
||||
"/v3/enterprise-admin/management_console": "/en/enterprise/user/rest/reference/enterprise-admin#management-console",
|
||||
"/v3/enterprise-admin/orgs": "/en/enterprise/user/rest/reference/enterprise-admin#orgs",
|
||||
"/v3/enterprise-admin/pre_receive_environments": "/en/enterprise/user/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise/user/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/v3/enterprise-admin/search_indexing": "/en/enterprise/user/rest/reference/enterprise-admin#search-indexing",
|
||||
"/v3/enterprise-admin/users": "/en/enterprise/user/rest/reference/enterprise-admin#users",
|
||||
"/v3/gists/comments": "/en/rest/reference/gists#comments",
|
||||
"/v3/gists": "/en/rest/reference/gists",
|
||||
"/v3/git/blobs": "/en/rest/reference/git#blobs",
|
||||
"/v3/git/commits": "/en/rest/reference/git#commits",
|
||||
"/v3/git": "/en/rest/reference/git",
|
||||
"/v3/git/refs": "/en/rest/reference/git#refs",
|
||||
"/v3/git/tags": "/en/rest/reference/git#tags",
|
||||
"/v3/git/trees": "/en/rest/reference/git#trees",
|
||||
"/v3/gitignore": "/en/rest/reference/gitignore",
|
||||
"/v3/interactions": "/en/rest/reference/interactions",
|
||||
"/v3/interactions/orgs": "/en/rest/reference/interactions#orgs",
|
||||
"/v3/interactions/repos": "/en/rest/reference/interactions#repos",
|
||||
"/v3/issues/assignees": "/en/rest/reference/issues#assignees",
|
||||
"/v3/issues/comments": "/en/rest/reference/issues#comments",
|
||||
"/v3/issues/events": "/en/rest/reference/issues#events",
|
||||
"/v3/issues": "/en/rest/reference/issues",
|
||||
"/v3/issues/issue-event-types": "/en/developers/webhooks-and-events/issue-event-types",
|
||||
"/v3/issues/labels": "/en/rest/reference/issues#labels",
|
||||
"/v3/issues/milestones": "/en/rest/reference/issues#milestones",
|
||||
"/v3/issues/timeline": "/en/rest/reference/issues#timeline",
|
||||
"/v3/licenses": "/en/rest/reference/licenses",
|
||||
"/v3/markdown": "/en/rest/reference/markdown",
|
||||
"/v3/meta": "/en/rest/reference/meta",
|
||||
"/v3/migrations": "/en/rest/reference/migrations",
|
||||
"/v3/migrations/orgs": "/en/rest/reference/migrations#orgs",
|
||||
"/v3/migrations/source_imports": "/en/rest/reference/migrations#source-imports",
|
||||
"/v3/migrations/users": "/en/rest/reference/migrations#users",
|
||||
"/v3/oauth_authorizations": "/en/rest/reference/oauth-authorizations",
|
||||
"/v3/orgs/blocking": "/en/rest/reference/orgs#blocking",
|
||||
"/v3/orgs/hooks": "/en/rest/reference/orgs#hooks",
|
||||
"/v3/orgs": "/en/rest/reference/orgs",
|
||||
"/v3/orgs/members": "/en/rest/reference/orgs#members",
|
||||
"/v3/orgs/migrations": "/en/rest/reference/orgs#migrations",
|
||||
"/v3/orgs/outside_collaborators": "/en/rest/reference/orgs#outside-collaborators",
|
||||
"/v3/orgs/pre_receive_hooks": "/en/enterprise/user/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/v3/orgs/teams": "/en/rest/reference/orgs#teams",
|
||||
"/v3/projects/cards": "/en/rest/reference/projects#cards",
|
||||
"/v3/projects/collaborators": "/en/rest/reference/projects#collaborators",
|
||||
"/v3/projects/columns": "/en/rest/reference/projects#columns",
|
||||
"/v3/projects": "/en/rest/reference/projects",
|
||||
"/v3/pulls/comments": "/en/rest/reference/pulls#comments",
|
||||
"/v3/pulls": "/en/rest/reference/pulls",
|
||||
"/v3/pulls/review_requests": "/en/rest/reference/pulls#review-requests",
|
||||
"/v3/pulls/reviews": "/en/rest/reference/pulls#reviews",
|
||||
"/v3/rate_limit": "/en/rest/reference/rate-limit",
|
||||
"/v3/reactions": "/en/rest/reference/reactions",
|
||||
"/v3/repos/branches": "/en/rest/reference/repos#branches",
|
||||
"/v3/repos/collaborators": "/en/rest/reference/repos#collaborators",
|
||||
"/v3/repos/comments": "/en/rest/reference/repos#comments",
|
||||
"/v3/repos/commits": "/en/rest/reference/repos#commits",
|
||||
"/v3/repos/community": "/en/rest/reference/repos#community",
|
||||
"/v3/repos/contents": "/en/rest/reference/repos#contents",
|
||||
"/v3/repos/deployments": "/en/rest/reference/repos#deployments",
|
||||
"/v3/repos/downloads": "/en/rest/reference/repos#downloads",
|
||||
"/v3/repos/forks": "/en/rest/reference/repos#forks",
|
||||
"/v3/repos/hooks": "/en/rest/reference/repos#hooks",
|
||||
"/v3/repos": "/en/rest/reference/repos",
|
||||
"/v3/repos/invitations": "/en/rest/reference/repos#invitations",
|
||||
"/v3/repos/keys": "/en/rest/reference/repos#keys",
|
||||
"/v3/repos/merging": "/en/rest/reference/repos#merging",
|
||||
"/v3/repos/pages": "/en/rest/reference/repos#pages",
|
||||
"/v3/repos/pre_receive_hooks": "/en/rest/reference/repos#pre-receive-hooks",
|
||||
"/v3/repos/releases": "/en/rest/reference/repos#releases",
|
||||
"/v3/repos/statistics": "/en/rest/reference/repos#statistics",
|
||||
"/v3/repos/statuses": "/en/rest/reference/repos#statuses",
|
||||
"/v3/repos/traffic": "/en/rest/reference/repos#traffic",
|
||||
"/v3/scim": "/en/rest/reference/scim",
|
||||
"/v3/search": "/en/rest/reference/search",
|
||||
"/v3/teams/discussion_comments": "/en/rest/reference/teams#discussion-comments",
|
||||
"/v3/teams/discussions": "/en/rest/reference/teams#discussions",
|
||||
"/v3/teams": "/en/rest/reference/teams",
|
||||
"/v3/teams/members": "/en/rest/reference/teams#members",
|
||||
"/v3/teams/team_sync": "/en/rest/reference/teams#team-sync",
|
||||
"/v3/users/blocking": "/en/rest/reference/users#blocking",
|
||||
"/v3/users/emails": "/en/rest/reference/users#emails",
|
||||
"/v3/users/followers": "/en/rest/reference/users#followers",
|
||||
"/v3/users/gpg_keys": "/en/rest/reference/users#gpg-keys",
|
||||
"/v3/users": "/en/rest/reference/users",
|
||||
"/v3/users/keys": "/en/rest/reference/users#keys"
|
||||
"/en/enterprise/2.19/v3/activity/event_types": "/en/enterprise-server@2.19/developers/webhooks-and-events/github-event-types",
|
||||
"/en/enterprise/2.19/v3/activity/events/types": "/en/enterprise-server@2.19/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/en/enterprise/2.19/v3/activity/events": "/en/enterprise-server@2.19/rest/reference/activity#events",
|
||||
"/en/enterprise/2.19/v3/activity/feeds": "/en/enterprise-server@2.19/rest/reference/activity#feeds",
|
||||
"/en/enterprise/2.19/v3/activity": "/en/enterprise-server@2.19/rest/reference/activity",
|
||||
"/en/enterprise/2.19/v3/activity/notifications": "/en/enterprise-server@2.19/rest/reference/activity#notifications",
|
||||
"/en/enterprise/2.19/v3/activity/starring": "/en/enterprise-server@2.19/rest/reference/activity#starring",
|
||||
"/en/enterprise/2.19/v3/activity/watching": "/en/enterprise-server@2.19/rest/reference/activity#watching",
|
||||
"/en/enterprise/2.19/v3/apps/available-endpoints": "/en/enterprise-server@2.19/rest/overview/endpoints-available-for-github-apps",
|
||||
"/en/enterprise/2.19/v3/apps": "/en/enterprise-server@2.19/rest/reference/apps",
|
||||
"/en/enterprise/2.19/v3/apps/installations": "/en/enterprise-server@2.19/rest/reference/apps#installations",
|
||||
"/en/enterprise/2.19/v3/apps/permissions": "/en/enterprise-server@2.19/rest/reference/permissions-required-for-github-apps",
|
||||
"/en/enterprise/2.19/v3/checks": "/en/enterprise-server@2.19/rest/reference/checks",
|
||||
"/en/enterprise/2.19/v3/checks/runs": "/en/enterprise-server@2.19/rest/reference/checks#runs",
|
||||
"/en/enterprise/2.19/v3/checks/suites": "/en/enterprise-server@2.19/rest/reference/checks#suites",
|
||||
"/en/enterprise/2.19/v3/codes_of_conduct": "/en/enterprise-server@2.19/rest/reference/codes-of-conduct",
|
||||
"/en/enterprise/2.19/v3/emojis": "/en/enterprise-server@2.19/rest/reference/emojis",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/admin_stats": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#admin-stats",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/global_webhooks": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin": "/en/enterprise-server@2.19/rest/reference/enterprise-admin",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/ldap": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#ldap",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/license": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#license",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/management_console": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#management-console",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/org_pre_receive_hooks": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/orgs": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#orgs",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/pre_receive_environments": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/repo_pre_receive_hooks": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#repo-pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/search_indexing": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#search-indexing",
|
||||
"/en/enterprise/2.19/v3/enterprise-admin/users": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#users",
|
||||
"/en/enterprise/2.19/v3/gists/comments": "/en/enterprise-server@2.19/rest/reference/gists#comments",
|
||||
"/en/enterprise/2.19/v3/gists": "/en/enterprise-server@2.19/rest/reference/gists",
|
||||
"/en/enterprise/2.19/v3/git/blobs": "/en/enterprise-server@2.19/rest/reference/git#blobs",
|
||||
"/en/enterprise/2.19/v3/git/commits": "/en/enterprise-server@2.19/rest/reference/git#commits",
|
||||
"/en/enterprise/2.19/v3/git": "/en/enterprise-server@2.19/rest/reference/git",
|
||||
"/en/enterprise/2.19/v3/git/refs": "/en/enterprise-server@2.19/rest/reference/git#refs",
|
||||
"/en/enterprise/2.19/v3/git/tags": "/en/enterprise-server@2.19/rest/reference/git#tags",
|
||||
"/en/enterprise/2.19/v3/git/trees": "/en/enterprise-server@2.19/rest/reference/git#trees",
|
||||
"/en/enterprise/2.19/v3/gitignore": "/en/enterprise-server@2.19/rest/reference/gitignore",
|
||||
"/en/enterprise/2.19/v3/issues/assignees": "/en/enterprise-server@2.19/rest/reference/issues#assignees",
|
||||
"/en/enterprise/2.19/v3/issues/comments": "/en/enterprise-server@2.19/rest/reference/issues#comments",
|
||||
"/en/enterprise/2.19/v3/issues/events": "/en/enterprise-server@2.19/rest/reference/issues#events",
|
||||
"/en/enterprise/2.19/v3/issues": "/en/enterprise-server@2.19/rest/reference/issues",
|
||||
"/en/enterprise/2.19/v3/issues/issue-event-types": "/en/enterprise-server@2.19/developers/webhooks-and-events/issue-event-types",
|
||||
"/en/enterprise/2.19/v3/issues/labels": "/en/enterprise-server@2.19/rest/reference/issues#labels",
|
||||
"/en/enterprise/2.19/v3/issues/milestones": "/en/enterprise-server@2.19/rest/reference/issues#milestones",
|
||||
"/en/enterprise/2.19/v3/issues/timeline": "/en/enterprise-server@2.19/rest/reference/issues#timeline",
|
||||
"/en/enterprise/2.19/v3/licenses": "/en/enterprise-server@2.19/rest/reference/licenses",
|
||||
"/en/enterprise/2.19/v3/markdown": "/en/enterprise-server@2.19/rest/reference/markdown",
|
||||
"/en/enterprise/2.19/v3/meta": "/en/enterprise-server@2.19/rest/reference/meta",
|
||||
"/en/enterprise/2.19/v3/oauth_authorizations": "/en/enterprise-server@2.19/rest/reference/oauth-authorizations",
|
||||
"/en/enterprise/2.19/v3/orgs/hooks": "/en/enterprise-server@2.19/rest/reference/orgs#hooks",
|
||||
"/en/enterprise/2.19/v3/orgs": "/en/enterprise-server@2.19/rest/reference/orgs",
|
||||
"/en/enterprise/2.19/v3/orgs/members": "/en/enterprise-server@2.19/rest/reference/orgs#members",
|
||||
"/en/enterprise/2.19/v3/orgs/outside_collaborators": "/en/enterprise-server@2.19/rest/reference/orgs#outside-collaborators",
|
||||
"/en/enterprise/2.19/v3/orgs/pre_receive_hooks": "/en/enterprise-server@2.19/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/orgs/teams": "/en/enterprise-server@2.19/rest/reference/orgs#teams",
|
||||
"/en/enterprise/2.19/v3/projects/cards": "/en/enterprise-server@2.19/rest/reference/projects#cards",
|
||||
"/en/enterprise/2.19/v3/projects/collaborators": "/en/enterprise-server@2.19/rest/reference/projects#collaborators",
|
||||
"/en/enterprise/2.19/v3/projects/columns": "/en/enterprise-server@2.19/rest/reference/projects#columns",
|
||||
"/en/enterprise/2.19/v3/projects": "/en/enterprise-server@2.19/rest/reference/projects",
|
||||
"/en/enterprise/2.19/v3/pulls/comments": "/en/enterprise-server@2.19/rest/reference/pulls#comments",
|
||||
"/en/enterprise/2.19/v3/pulls": "/en/enterprise-server@2.19/rest/reference/pulls",
|
||||
"/en/enterprise/2.19/v3/pulls/review_requests": "/en/enterprise-server@2.19/rest/reference/pulls#review-requests",
|
||||
"/en/enterprise/2.19/v3/pulls/reviews": "/en/enterprise-server@2.19/rest/reference/pulls#reviews",
|
||||
"/en/enterprise/2.19/v3/rate_limit": "/en/enterprise-server@2.19/rest/reference/rate-limit",
|
||||
"/en/enterprise/2.19/v3/reactions": "/en/enterprise-server@2.19/rest/reference/reactions",
|
||||
"/en/enterprise/2.19/v3/repos/branches": "/en/enterprise-server@2.19/rest/reference/repos#branches",
|
||||
"/en/enterprise/2.19/v3/repos/collaborators": "/en/enterprise-server@2.19/rest/reference/repos#collaborators",
|
||||
"/en/enterprise/2.19/v3/repos/comments": "/en/enterprise-server@2.19/rest/reference/repos#comments",
|
||||
"/en/enterprise/2.19/v3/repos/commits": "/en/enterprise-server@2.19/rest/reference/repos#commits",
|
||||
"/en/enterprise/2.19/v3/repos/contents": "/en/enterprise-server@2.19/rest/reference/repos#contents",
|
||||
"/en/enterprise/2.19/v3/repos/deployments": "/en/enterprise-server@2.19/rest/reference/repos#deployments",
|
||||
"/en/enterprise/2.19/v3/repos/downloads": "/en/enterprise-server@2.19/rest/reference/repos#downloads",
|
||||
"/en/enterprise/2.19/v3/repos/forks": "/en/enterprise-server@2.19/rest/reference/repos#forks",
|
||||
"/en/enterprise/2.19/v3/repos/hooks": "/en/enterprise-server@2.19/rest/reference/repos#hooks",
|
||||
"/en/enterprise/2.19/v3/repos": "/en/enterprise-server@2.19/rest/reference/repos",
|
||||
"/en/enterprise/2.19/v3/repos/invitations": "/en/enterprise-server@2.19/rest/reference/repos#invitations",
|
||||
"/en/enterprise/2.19/v3/repos/keys": "/en/enterprise-server@2.19/rest/reference/repos#keys",
|
||||
"/en/enterprise/2.19/v3/repos/merging": "/en/enterprise-server@2.19/rest/reference/repos#merging",
|
||||
"/en/enterprise/2.19/v3/repos/pages": "/en/enterprise-server@2.19/rest/reference/repos#pages",
|
||||
"/en/enterprise/2.19/v3/repos/pre_receive_hooks": "/en/enterprise-server@2.19/rest/reference/repos#pre-receive-hooks",
|
||||
"/en/enterprise/2.19/v3/repos/releases": "/en/enterprise-server@2.19/rest/reference/repos#releases",
|
||||
"/en/enterprise/2.19/v3/repos/statistics": "/en/enterprise-server@2.19/rest/reference/repos#statistics",
|
||||
"/en/enterprise/2.19/v3/repos/statuses": "/en/enterprise-server@2.19/rest/reference/repos#statuses",
|
||||
"/en/enterprise/2.19/v3/search": "/en/enterprise-server@2.19/rest/reference/search",
|
||||
"/en/enterprise/2.19/v3/teams/discussion_comments": "/en/enterprise-server@2.19/rest/reference/teams#discussion-comments",
|
||||
"/en/enterprise/2.19/v3/teams/discussions": "/en/enterprise-server@2.19/rest/reference/teams#discussions",
|
||||
"/en/enterprise/2.19/v3/teams": "/en/enterprise-server@2.19/rest/reference/teams",
|
||||
"/en/enterprise/2.19/v3/teams/members": "/en/enterprise-server@2.19/rest/reference/teams#members",
|
||||
"/en/enterprise/2.19/v3/users/administration": "/en/enterprise-server@2.19/rest/reference/users#administration",
|
||||
"/en/enterprise/2.19/v3/users/emails": "/en/enterprise-server@2.19/rest/reference/users#emails",
|
||||
"/en/enterprise/2.19/v3/users/followers": "/en/enterprise-server@2.19/rest/reference/users#followers",
|
||||
"/en/enterprise/2.19/v3/users/gpg_keys": "/en/enterprise-server@2.19/rest/reference/users#gpg-keys",
|
||||
"/en/enterprise/2.19/v3/users": "/en/enterprise-server@2.19/rest/reference/users",
|
||||
"/en/enterprise/2.19/v3/users/keys": "/en/enterprise-server@2.19/rest/reference/users#keys",
|
||||
"/en/enterprise/2.20/v3/activity/event_types": "/en/enterprise-server@2.20/developers/webhooks-and-events/github-event-types",
|
||||
"/en/enterprise/2.20/v3/activity/events/types": "/en/enterprise-server@2.20/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/en/enterprise/2.20/v3/activity/events": "/en/enterprise-server@2.20/rest/reference/activity#events",
|
||||
"/en/enterprise/2.20/v3/activity/feeds": "/en/enterprise-server@2.20/rest/reference/activity#feeds",
|
||||
"/en/enterprise/2.20/v3/activity": "/en/enterprise-server@2.20/rest/reference/activity",
|
||||
"/en/enterprise/2.20/v3/activity/notifications": "/en/enterprise-server@2.20/rest/reference/activity#notifications",
|
||||
"/en/enterprise/2.20/v3/activity/starring": "/en/enterprise-server@2.20/rest/reference/activity#starring",
|
||||
"/en/enterprise/2.20/v3/activity/watching": "/en/enterprise-server@2.20/rest/reference/activity#watching",
|
||||
"/en/enterprise/2.20/v3/apps/available-endpoints": "/en/enterprise-server@2.20/rest/overview/endpoints-available-for-github-apps",
|
||||
"/en/enterprise/2.20/v3/apps": "/en/enterprise-server@2.20/rest/reference/apps",
|
||||
"/en/enterprise/2.20/v3/apps/installations": "/en/enterprise-server@2.20/rest/reference/apps#installations",
|
||||
"/en/enterprise/2.20/v3/apps/oauth_applications": "/en/enterprise-server@2.20/rest/reference/apps#oauth-applications",
|
||||
"/en/enterprise/2.20/v3/apps/permissions": "/en/enterprise-server@2.20/rest/reference/permissions-required-for-github-apps",
|
||||
"/en/enterprise/2.20/v3/checks": "/en/enterprise-server@2.20/rest/reference/checks",
|
||||
"/en/enterprise/2.20/v3/checks/runs": "/en/enterprise-server@2.20/rest/reference/checks#runs",
|
||||
"/en/enterprise/2.20/v3/checks/suites": "/en/enterprise-server@2.20/rest/reference/checks#suites",
|
||||
"/en/enterprise/2.20/v3/codes_of_conduct": "/en/enterprise-server@2.20/rest/reference/codes-of-conduct",
|
||||
"/en/enterprise/2.20/v3/emojis": "/en/enterprise-server@2.20/rest/reference/emojis",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/admin_stats": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#admin-stats",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/global_webhooks": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin": "/en/enterprise-server@2.20/rest/reference/enterprise-admin",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/ldap": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#ldap",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/license": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#license",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/management_console": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#management-console",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/org_pre_receive_hooks": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/orgs": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#orgs",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/pre_receive_environments": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/repo_pre_receive_hooks": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#repo-pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/search_indexing": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#search-indexing",
|
||||
"/en/enterprise/2.20/v3/enterprise-admin/users": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#users",
|
||||
"/en/enterprise/2.20/v3/gists/comments": "/en/enterprise-server@2.20/rest/reference/gists#comments",
|
||||
"/en/enterprise/2.20/v3/gists": "/en/enterprise-server@2.20/rest/reference/gists",
|
||||
"/en/enterprise/2.20/v3/git/blobs": "/en/enterprise-server@2.20/rest/reference/git#blobs",
|
||||
"/en/enterprise/2.20/v3/git/commits": "/en/enterprise-server@2.20/rest/reference/git#commits",
|
||||
"/en/enterprise/2.20/v3/git": "/en/enterprise-server@2.20/rest/reference/git",
|
||||
"/en/enterprise/2.20/v3/git/refs": "/en/enterprise-server@2.20/rest/reference/git#refs",
|
||||
"/en/enterprise/2.20/v3/git/tags": "/en/enterprise-server@2.20/rest/reference/git#tags",
|
||||
"/en/enterprise/2.20/v3/git/trees": "/en/enterprise-server@2.20/rest/reference/git#trees",
|
||||
"/en/enterprise/2.20/v3/gitignore": "/en/enterprise-server@2.20/rest/reference/gitignore",
|
||||
"/en/enterprise/2.20/v3/issues/assignees": "/en/enterprise-server@2.20/rest/reference/issues#assignees",
|
||||
"/en/enterprise/2.20/v3/issues/comments": "/en/enterprise-server@2.20/rest/reference/issues#comments",
|
||||
"/en/enterprise/2.20/v3/issues/events": "/en/enterprise-server@2.20/rest/reference/issues#events",
|
||||
"/en/enterprise/2.20/v3/issues": "/en/enterprise-server@2.20/rest/reference/issues",
|
||||
"/en/enterprise/2.20/v3/issues/issue-event-types": "/en/enterprise-server@2.20/developers/webhooks-and-events/issue-event-types",
|
||||
"/en/enterprise/2.20/v3/issues/labels": "/en/enterprise-server@2.20/rest/reference/issues#labels",
|
||||
"/en/enterprise/2.20/v3/issues/milestones": "/en/enterprise-server@2.20/rest/reference/issues#milestones",
|
||||
"/en/enterprise/2.20/v3/issues/timeline": "/en/enterprise-server@2.20/rest/reference/issues#timeline",
|
||||
"/en/enterprise/2.20/v3/licenses": "/en/enterprise-server@2.20/rest/reference/licenses",
|
||||
"/en/enterprise/2.20/v3/markdown": "/en/enterprise-server@2.20/rest/reference/markdown",
|
||||
"/en/enterprise/2.20/v3/meta": "/en/enterprise-server@2.20/rest/reference/meta",
|
||||
"/en/enterprise/2.20/v3/oauth_authorizations": "/en/enterprise-server@2.20/rest/reference/oauth-authorizations",
|
||||
"/en/enterprise/2.20/v3/orgs/hooks": "/en/enterprise-server@2.20/rest/reference/orgs#hooks",
|
||||
"/en/enterprise/2.20/v3/orgs": "/en/enterprise-server@2.20/rest/reference/orgs",
|
||||
"/en/enterprise/2.20/v3/orgs/members": "/en/enterprise-server@2.20/rest/reference/orgs#members",
|
||||
"/en/enterprise/2.20/v3/orgs/outside_collaborators": "/en/enterprise-server@2.20/rest/reference/orgs#outside-collaborators",
|
||||
"/en/enterprise/2.20/v3/orgs/pre_receive_hooks": "/en/enterprise-server@2.20/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/orgs/teams": "/en/enterprise-server@2.20/rest/reference/orgs#teams",
|
||||
"/en/enterprise/2.20/v3/projects/cards": "/en/enterprise-server@2.20/rest/reference/projects#cards",
|
||||
"/en/enterprise/2.20/v3/projects/collaborators": "/en/enterprise-server@2.20/rest/reference/projects#collaborators",
|
||||
"/en/enterprise/2.20/v3/projects/columns": "/en/enterprise-server@2.20/rest/reference/projects#columns",
|
||||
"/en/enterprise/2.20/v3/projects": "/en/enterprise-server@2.20/rest/reference/projects",
|
||||
"/en/enterprise/2.20/v3/pulls/comments": "/en/enterprise-server@2.20/rest/reference/pulls#comments",
|
||||
"/en/enterprise/2.20/v3/pulls": "/en/enterprise-server@2.20/rest/reference/pulls",
|
||||
"/en/enterprise/2.20/v3/pulls/review_requests": "/en/enterprise-server@2.20/rest/reference/pulls#review-requests",
|
||||
"/en/enterprise/2.20/v3/pulls/reviews": "/en/enterprise-server@2.20/rest/reference/pulls#reviews",
|
||||
"/en/enterprise/2.20/v3/rate_limit": "/en/enterprise-server@2.20/rest/reference/rate-limit",
|
||||
"/en/enterprise/2.20/v3/reactions": "/en/enterprise-server@2.20/rest/reference/reactions",
|
||||
"/en/enterprise/2.20/v3/repos/branches": "/en/enterprise-server@2.20/rest/reference/repos#branches",
|
||||
"/en/enterprise/2.20/v3/repos/collaborators": "/en/enterprise-server@2.20/rest/reference/repos#collaborators",
|
||||
"/en/enterprise/2.20/v3/repos/comments": "/en/enterprise-server@2.20/rest/reference/repos#comments",
|
||||
"/en/enterprise/2.20/v3/repos/commits": "/en/enterprise-server@2.20/rest/reference/repos#commits",
|
||||
"/en/enterprise/2.20/v3/repos/contents": "/en/enterprise-server@2.20/rest/reference/repos#contents",
|
||||
"/en/enterprise/2.20/v3/repos/deployments": "/en/enterprise-server@2.20/rest/reference/repos#deployments",
|
||||
"/en/enterprise/2.20/v3/repos/downloads": "/en/enterprise-server@2.20/rest/reference/repos#downloads",
|
||||
"/en/enterprise/2.20/v3/repos/forks": "/en/enterprise-server@2.20/rest/reference/repos#forks",
|
||||
"/en/enterprise/2.20/v3/repos/hooks": "/en/enterprise-server@2.20/rest/reference/repos#hooks",
|
||||
"/en/enterprise/2.20/v3/repos": "/en/enterprise-server@2.20/rest/reference/repos",
|
||||
"/en/enterprise/2.20/v3/repos/invitations": "/en/enterprise-server@2.20/rest/reference/repos#invitations",
|
||||
"/en/enterprise/2.20/v3/repos/keys": "/en/enterprise-server@2.20/rest/reference/repos#keys",
|
||||
"/en/enterprise/2.20/v3/repos/merging": "/en/enterprise-server@2.20/rest/reference/repos#merging",
|
||||
"/en/enterprise/2.20/v3/repos/pages": "/en/enterprise-server@2.20/rest/reference/repos#pages",
|
||||
"/en/enterprise/2.20/v3/repos/pre_receive_hooks": "/en/enterprise-server@2.20/rest/reference/repos#pre-receive-hooks",
|
||||
"/en/enterprise/2.20/v3/repos/releases": "/en/enterprise-server@2.20/rest/reference/repos#releases",
|
||||
"/en/enterprise/2.20/v3/repos/statistics": "/en/enterprise-server@2.20/rest/reference/repos#statistics",
|
||||
"/en/enterprise/2.20/v3/repos/statuses": "/en/enterprise-server@2.20/rest/reference/repos#statuses",
|
||||
"/en/enterprise/2.20/v3/search": "/en/enterprise-server@2.20/rest/reference/search",
|
||||
"/en/enterprise/2.20/v3/teams/discussion_comments": "/en/enterprise-server@2.20/rest/reference/teams#discussion-comments",
|
||||
"/en/enterprise/2.20/v3/teams/discussions": "/en/enterprise-server@2.20/rest/reference/teams#discussions",
|
||||
"/en/enterprise/2.20/v3/teams": "/en/enterprise-server@2.20/rest/reference/teams",
|
||||
"/en/enterprise/2.20/v3/teams/members": "/en/enterprise-server@2.20/rest/reference/teams#members",
|
||||
"/en/enterprise/2.20/v3/users/administration": "/en/enterprise-server@2.20/rest/reference/users#administration",
|
||||
"/en/enterprise/2.20/v3/users/emails": "/en/enterprise-server@2.20/rest/reference/users#emails",
|
||||
"/en/enterprise/2.20/v3/users/followers": "/en/enterprise-server@2.20/rest/reference/users#followers",
|
||||
"/en/enterprise/2.20/v3/users/gpg_keys": "/en/enterprise-server@2.20/rest/reference/users#gpg-keys",
|
||||
"/en/enterprise/2.20/v3/users": "/en/enterprise-server@2.20/rest/reference/users",
|
||||
"/en/enterprise/2.20/v3/users/keys": "/en/enterprise-server@2.20/rest/reference/users#keys",
|
||||
"/en/enterprise/2.21/v3/activity/event_types": "/en/enterprise-server@2.21/developers/webhooks-and-events/github-event-types",
|
||||
"/en/enterprise/2.21/v3/activity/events/types": "/en/enterprise-server@2.21/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/en/enterprise/2.21/v3/activity/events": "/en/enterprise-server@2.21/rest/reference/activity#events",
|
||||
"/en/enterprise/2.21/v3/activity/feeds": "/en/enterprise-server@2.21/rest/reference/activity#feeds",
|
||||
"/en/enterprise/2.21/v3/activity": "/en/enterprise-server@2.21/rest/reference/activity",
|
||||
"/en/enterprise/2.21/v3/activity/notifications": "/en/enterprise-server@2.21/rest/reference/activity#notifications",
|
||||
"/en/enterprise/2.21/v3/activity/starring": "/en/enterprise-server@2.21/rest/reference/activity#starring",
|
||||
"/en/enterprise/2.21/v3/activity/watching": "/en/enterprise-server@2.21/rest/reference/activity#watching",
|
||||
"/en/enterprise/2.21/v3/apps/available-endpoints": "/en/enterprise-server@2.21/rest/overview/endpoints-available-for-github-apps",
|
||||
"/en/enterprise/2.21/v3/apps": "/en/enterprise-server@2.21/rest/reference/apps",
|
||||
"/en/enterprise/2.21/v3/apps/installations": "/en/enterprise-server@2.21/rest/reference/apps#installations",
|
||||
"/en/enterprise/2.21/v3/apps/oauth_applications": "/en/enterprise-server@2.21/rest/reference/apps#oauth-applications",
|
||||
"/en/enterprise/2.21/v3/apps/permissions": "/en/enterprise-server@2.21/rest/reference/permissions-required-for-github-apps",
|
||||
"/en/enterprise/2.21/v3/checks": "/en/enterprise-server@2.21/rest/reference/checks",
|
||||
"/en/enterprise/2.21/v3/checks/runs": "/en/enterprise-server@2.21/rest/reference/checks#runs",
|
||||
"/en/enterprise/2.21/v3/checks/suites": "/en/enterprise-server@2.21/rest/reference/checks#suites",
|
||||
"/en/enterprise/2.21/v3/codes_of_conduct": "/en/enterprise-server@2.21/rest/reference/codes-of-conduct",
|
||||
"/en/enterprise/2.21/v3/emojis": "/en/enterprise-server@2.21/rest/reference/emojis",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/admin_stats": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#admin-stats",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/global_webhooks": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin": "/en/enterprise-server@2.21/rest/reference/enterprise-admin",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/ldap": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#ldap",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/license": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#license",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/management_console": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#management-console",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/org_pre_receive_hooks": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/orgs": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#orgs",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/pre_receive_environments": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/repo_pre_receive_hooks": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#repo-pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/search_indexing": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#search-indexing",
|
||||
"/en/enterprise/2.21/v3/enterprise-admin/users": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#users",
|
||||
"/en/enterprise/2.21/v3/gists/comments": "/en/enterprise-server@2.21/rest/reference/gists#comments",
|
||||
"/en/enterprise/2.21/v3/gists": "/en/enterprise-server@2.21/rest/reference/gists",
|
||||
"/en/enterprise/2.21/v3/git/blobs": "/en/enterprise-server@2.21/rest/reference/git#blobs",
|
||||
"/en/enterprise/2.21/v3/git/commits": "/en/enterprise-server@2.21/rest/reference/git#commits",
|
||||
"/en/enterprise/2.21/v3/git": "/en/enterprise-server@2.21/rest/reference/git",
|
||||
"/en/enterprise/2.21/v3/git/refs": "/en/enterprise-server@2.21/rest/reference/git#refs",
|
||||
"/en/enterprise/2.21/v3/git/tags": "/en/enterprise-server@2.21/rest/reference/git#tags",
|
||||
"/en/enterprise/2.21/v3/git/trees": "/en/enterprise-server@2.21/rest/reference/git#trees",
|
||||
"/en/enterprise/2.21/v3/gitignore": "/en/enterprise-server@2.21/rest/reference/gitignore",
|
||||
"/en/enterprise/2.21/v3/issues/assignees": "/en/enterprise-server@2.21/rest/reference/issues#assignees",
|
||||
"/en/enterprise/2.21/v3/issues/comments": "/en/enterprise-server@2.21/rest/reference/issues#comments",
|
||||
"/en/enterprise/2.21/v3/issues/events": "/en/enterprise-server@2.21/rest/reference/issues#events",
|
||||
"/en/enterprise/2.21/v3/issues": "/en/enterprise-server@2.21/rest/reference/issues",
|
||||
"/en/enterprise/2.21/v3/issues/issue-event-types": "/en/enterprise-server@2.21/developers/webhooks-and-events/issue-event-types",
|
||||
"/en/enterprise/2.21/v3/issues/labels": "/en/enterprise-server@2.21/rest/reference/issues#labels",
|
||||
"/en/enterprise/2.21/v3/issues/milestones": "/en/enterprise-server@2.21/rest/reference/issues#milestones",
|
||||
"/en/enterprise/2.21/v3/issues/timeline": "/en/enterprise-server@2.21/rest/reference/issues#timeline",
|
||||
"/en/enterprise/2.21/v3/licenses": "/en/enterprise-server@2.21/rest/reference/licenses",
|
||||
"/en/enterprise/2.21/v3/markdown": "/en/enterprise-server@2.21/rest/reference/markdown",
|
||||
"/en/enterprise/2.21/v3/meta": "/en/enterprise-server@2.21/rest/reference/meta",
|
||||
"/en/enterprise/2.21/v3/oauth_authorizations": "/en/enterprise-server@2.21/rest/reference/oauth-authorizations",
|
||||
"/en/enterprise/2.21/v3/orgs/hooks": "/en/enterprise-server@2.21/rest/reference/orgs#hooks",
|
||||
"/en/enterprise/2.21/v3/orgs": "/en/enterprise-server@2.21/rest/reference/orgs",
|
||||
"/en/enterprise/2.21/v3/orgs/members": "/en/enterprise-server@2.21/rest/reference/orgs#members",
|
||||
"/en/enterprise/2.21/v3/orgs/outside_collaborators": "/en/enterprise-server@2.21/rest/reference/orgs#outside-collaborators",
|
||||
"/en/enterprise/2.21/v3/orgs/pre_receive_hooks": "/en/enterprise-server@2.21/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/orgs/teams": "/en/enterprise-server@2.21/rest/reference/orgs#teams",
|
||||
"/en/enterprise/2.21/v3/projects/cards": "/en/enterprise-server@2.21/rest/reference/projects#cards",
|
||||
"/en/enterprise/2.21/v3/projects/collaborators": "/en/enterprise-server@2.21/rest/reference/projects#collaborators",
|
||||
"/en/enterprise/2.21/v3/projects/columns": "/en/enterprise-server@2.21/rest/reference/projects#columns",
|
||||
"/en/enterprise/2.21/v3/projects": "/en/enterprise-server@2.21/rest/reference/projects",
|
||||
"/en/enterprise/2.21/v3/pulls/comments": "/en/enterprise-server@2.21/rest/reference/pulls#comments",
|
||||
"/en/enterprise/2.21/v3/pulls": "/en/enterprise-server@2.21/rest/reference/pulls",
|
||||
"/en/enterprise/2.21/v3/pulls/review_requests": "/en/enterprise-server@2.21/rest/reference/pulls#review-requests",
|
||||
"/en/enterprise/2.21/v3/pulls/reviews": "/en/enterprise-server@2.21/rest/reference/pulls#reviews",
|
||||
"/en/enterprise/2.21/v3/rate_limit": "/en/enterprise-server@2.21/rest/reference/rate-limit",
|
||||
"/en/enterprise/2.21/v3/reactions": "/en/enterprise-server@2.21/rest/reference/reactions",
|
||||
"/en/enterprise/2.21/v3/repos/branches": "/en/enterprise-server@2.21/rest/reference/repos#branches",
|
||||
"/en/enterprise/2.21/v3/repos/collaborators": "/en/enterprise-server@2.21/rest/reference/repos#collaborators",
|
||||
"/en/enterprise/2.21/v3/repos/comments": "/en/enterprise-server@2.21/rest/reference/repos#comments",
|
||||
"/en/enterprise/2.21/v3/repos/commits": "/en/enterprise-server@2.21/rest/reference/repos#commits",
|
||||
"/en/enterprise/2.21/v3/repos/contents": "/en/enterprise-server@2.21/rest/reference/repos#contents",
|
||||
"/en/enterprise/2.21/v3/repos/deployments": "/en/enterprise-server@2.21/rest/reference/repos#deployments",
|
||||
"/en/enterprise/2.21/v3/repos/downloads": "/en/enterprise-server@2.21/rest/reference/repos#downloads",
|
||||
"/en/enterprise/2.21/v3/repos/forks": "/en/enterprise-server@2.21/rest/reference/repos#forks",
|
||||
"/en/enterprise/2.21/v3/repos/hooks": "/en/enterprise-server@2.21/rest/reference/repos#hooks",
|
||||
"/en/enterprise/2.21/v3/repos": "/en/enterprise-server@2.21/rest/reference/repos",
|
||||
"/en/enterprise/2.21/v3/repos/invitations": "/en/enterprise-server@2.21/rest/reference/repos#invitations",
|
||||
"/en/enterprise/2.21/v3/repos/keys": "/en/enterprise-server@2.21/rest/reference/repos#keys",
|
||||
"/en/enterprise/2.21/v3/repos/merging": "/en/enterprise-server@2.21/rest/reference/repos#merging",
|
||||
"/en/enterprise/2.21/v3/repos/pages": "/en/enterprise-server@2.21/rest/reference/repos#pages",
|
||||
"/en/enterprise/2.21/v3/repos/pre_receive_hooks": "/en/enterprise-server@2.21/rest/reference/repos#pre-receive-hooks",
|
||||
"/en/enterprise/2.21/v3/repos/releases": "/en/enterprise-server@2.21/rest/reference/repos#releases",
|
||||
"/en/enterprise/2.21/v3/repos/statistics": "/en/enterprise-server@2.21/rest/reference/repos#statistics",
|
||||
"/en/enterprise/2.21/v3/repos/statuses": "/en/enterprise-server@2.21/rest/reference/repos#statuses",
|
||||
"/en/enterprise/2.21/v3/search": "/en/enterprise-server@2.21/rest/reference/search",
|
||||
"/en/enterprise/2.21/v3/teams/discussion_comments": "/en/enterprise-server@2.21/rest/reference/teams#discussion-comments",
|
||||
"/en/enterprise/2.21/v3/teams/discussions": "/en/enterprise-server@2.21/rest/reference/teams#discussions",
|
||||
"/en/enterprise/2.21/v3/teams": "/en/enterprise-server@2.21/rest/reference/teams",
|
||||
"/en/enterprise/2.21/v3/teams/members": "/en/enterprise-server@2.21/rest/reference/teams#members",
|
||||
"/en/enterprise/2.21/v3/users/administration": "/en/enterprise-server@2.21/rest/reference/users#administration",
|
||||
"/en/enterprise/2.21/v3/users/emails": "/en/enterprise-server@2.21/rest/reference/users#emails",
|
||||
"/en/enterprise/2.21/v3/users/followers": "/en/enterprise-server@2.21/rest/reference/users#followers",
|
||||
"/en/enterprise/2.21/v3/users/gpg_keys": "/en/enterprise-server@2.21/rest/reference/users#gpg-keys",
|
||||
"/en/enterprise/2.21/v3/users": "/en/enterprise-server@2.21/rest/reference/users",
|
||||
"/en/enterprise/2.21/v3/users/keys": "/en/enterprise-server@2.21/rest/reference/users#keys",
|
||||
"/v3/actions/artifacts": "/en/free-pro-team@latest/rest/reference/actions#artifacts",
|
||||
"/v3/actions": "/en/free-pro-team@latest/rest/reference/actions",
|
||||
"/v3/actions/secrets": "/en/free-pro-team@latest/rest/reference/actions#secrets",
|
||||
"/v3/actions/self-hosted-runners": "/en/free-pro-team@latest/rest/reference/actions#self-hosted-runners",
|
||||
"/v3/actions/self_hosted_runners": "/en/free-pro-team@latest/rest/reference/actions#self-hosted-runners",
|
||||
"/v3/actions/workflow-jobs": "/en/free-pro-team@latest/rest/reference/actions#workflow-jobs",
|
||||
"/v3/actions/workflow-runs": "/en/free-pro-team@latest/rest/reference/actions#workflow-runs",
|
||||
"/v3/actions/workflows": "/en/free-pro-team@latest/rest/reference/actions#workflows",
|
||||
"/v3/activity/event_types": "/en/free-pro-team@latest/developers/webhooks-and-events/github-event-types",
|
||||
"/v3/activity/events/types": "/en/free-pro-team@latest/developers/webhooks-and-events/webhook-events-and-payloads",
|
||||
"/v3/activity/events": "/en/free-pro-team@latest/rest/reference/activity#events",
|
||||
"/v3/activity/feeds": "/en/free-pro-team@latest/rest/reference/activity#feeds",
|
||||
"/v3/activity": "/en/free-pro-team@latest/rest/reference/activity",
|
||||
"/v3/activity/notifications": "/en/free-pro-team@latest/rest/reference/activity#notifications",
|
||||
"/v3/activity/starring": "/en/free-pro-team@latest/rest/reference/activity#starring",
|
||||
"/v3/activity/watching": "/en/free-pro-team@latest/rest/reference/activity#watching",
|
||||
"/v3/apps/available-endpoints": "/en/free-pro-team@latest/rest/overview/endpoints-available-for-github-apps",
|
||||
"/v3/apps": "/en/free-pro-team@latest/rest/reference/apps",
|
||||
"/v3/apps/installations": "/en/free-pro-team@latest/rest/reference/apps#installations",
|
||||
"/v3/apps/marketplace": "/en/free-pro-team@latest/rest/reference/apps#marketplace",
|
||||
"/v3/apps/oauth_applications": "/en/free-pro-team@latest/rest/reference/apps#oauth-applications",
|
||||
"/v3/apps/permissions": "/en/free-pro-team@latest/rest/reference/permissions-required-for-github-apps",
|
||||
"/v3/checks": "/en/free-pro-team@latest/rest/reference/checks",
|
||||
"/v3/checks/runs": "/en/free-pro-team@latest/rest/reference/checks#runs",
|
||||
"/v3/checks/suites": "/en/free-pro-team@latest/rest/reference/checks#suites",
|
||||
"/v3/code-scanning": "/en/free-pro-team@latest/rest/reference/code-scanning",
|
||||
"/v3/codes_of_conduct": "/en/free-pro-team@latest/rest/reference/codes-of-conduct",
|
||||
"/v3/emojis": "/en/free-pro-team@latest/rest/reference/emojis",
|
||||
"/v3/enterprise-admin": "/en/free-pro-team@latest/rest/reference/enterprise-admin",
|
||||
"/v3/enterprise-admin/admin_stats": "/en/enterprise-server/rest/reference/enterprise-admin#admin-stats",
|
||||
"/v3/enterprise-admin/global_webhooks": "/en/enterprise-server/rest/reference/enterprise-admin#global-webhooks",
|
||||
"/v3/enterprise-admin/ldap": "/en/enterprise-server/rest/reference/enterprise-admin#ldap",
|
||||
"/v3/enterprise-admin/license": "/en/enterprise-server/rest/reference/enterprise-admin#license",
|
||||
"/v3/enterprise-admin/management_console": "/en/enterprise-server/rest/reference/enterprise-admin#management-console",
|
||||
"/v3/enterprise-admin/orgs": "/en/enterprise-server/rest/reference/enterprise-admin#orgs",
|
||||
"/v3/enterprise-admin/pre_receive_environments": "/en/enterprise-server/rest/reference/enterprise-admin#pre-receive-environments",
|
||||
"/v3/enterprise-admin/pre_receive_hooks": "/en/enterprise-server/rest/reference/enterprise-admin#pre-receive-hooks",
|
||||
"/v3/enterprise-admin/search_indexing": "/en/enterprise-server/rest/reference/enterprise-admin#search-indexing",
|
||||
"/v3/enterprise-admin/users": "/en/enterprise-server/rest/reference/enterprise-admin#users",
|
||||
"/v3/gists/comments": "/en/free-pro-team@latest/rest/reference/gists#comments",
|
||||
"/v3/gists": "/en/free-pro-team@latest/rest/reference/gists",
|
||||
"/v3/git/blobs": "/en/free-pro-team@latest/rest/reference/git#blobs",
|
||||
"/v3/git/commits": "/en/free-pro-team@latest/rest/reference/git#commits",
|
||||
"/v3/git": "/en/free-pro-team@latest/rest/reference/git",
|
||||
"/v3/git/refs": "/en/free-pro-team@latest/rest/reference/git#refs",
|
||||
"/v3/git/tags": "/en/free-pro-team@latest/rest/reference/git#tags",
|
||||
"/v3/git/trees": "/en/free-pro-team@latest/rest/reference/git#trees",
|
||||
"/v3/gitignore": "/en/free-pro-team@latest/rest/reference/gitignore",
|
||||
"/v3/interactions": "/en/free-pro-team@latest/rest/reference/interactions",
|
||||
"/v3/interactions/orgs": "/en/free-pro-team@latest/rest/reference/interactions#orgs",
|
||||
"/v3/interactions/repos": "/en/free-pro-team@latest/rest/reference/interactions#repos",
|
||||
"/v3/issues/assignees": "/en/free-pro-team@latest/rest/reference/issues#assignees",
|
||||
"/v3/issues/comments": "/en/free-pro-team@latest/rest/reference/issues#comments",
|
||||
"/v3/issues/events": "/en/free-pro-team@latest/rest/reference/issues#events",
|
||||
"/v3/issues": "/en/free-pro-team@latest/rest/reference/issues",
|
||||
"/v3/issues/issue-event-types": "/en/free-pro-team@latest/developers/webhooks-and-events/issue-event-types",
|
||||
"/v3/issues/labels": "/en/free-pro-team@latest/rest/reference/issues#labels",
|
||||
"/v3/issues/milestones": "/en/free-pro-team@latest/rest/reference/issues#milestones",
|
||||
"/v3/issues/timeline": "/en/free-pro-team@latest/rest/reference/issues#timeline",
|
||||
"/v3/licenses": "/en/free-pro-team@latest/rest/reference/licenses",
|
||||
"/v3/markdown": "/en/free-pro-team@latest/rest/reference/markdown",
|
||||
"/v3/meta": "/en/free-pro-team@latest/rest/reference/meta",
|
||||
"/v3/migrations": "/en/free-pro-team@latest/rest/reference/migrations",
|
||||
"/v3/migrations/orgs": "/en/free-pro-team@latest/rest/reference/migrations#orgs",
|
||||
"/v3/migrations/source_imports": "/en/free-pro-team@latest/rest/reference/migrations#source-imports",
|
||||
"/v3/migrations/users": "/en/free-pro-team@latest/rest/reference/migrations#users",
|
||||
"/v3/oauth_authorizations": "/en/free-pro-team@latest/rest/reference/oauth-authorizations",
|
||||
"/v3/orgs/blocking": "/en/free-pro-team@latest/rest/reference/orgs#blocking",
|
||||
"/v3/orgs/hooks": "/en/free-pro-team@latest/rest/reference/orgs#hooks",
|
||||
"/v3/orgs": "/en/free-pro-team@latest/rest/reference/orgs",
|
||||
"/v3/orgs/members": "/en/free-pro-team@latest/rest/reference/orgs#members",
|
||||
"/v3/orgs/migrations": "/en/free-pro-team@latest/rest/reference/orgs#migrations",
|
||||
"/v3/orgs/outside_collaborators": "/en/free-pro-team@latest/rest/reference/orgs#outside-collaborators",
|
||||
"/v3/orgs/pre_receive_hooks": "/en/enterprise-server/rest/reference/enterprise-admin#organization-pre-receive-hooks",
|
||||
"/v3/orgs/teams": "/en/free-pro-team@latest/rest/reference/orgs#teams",
|
||||
"/v3/projects/cards": "/en/free-pro-team@latest/rest/reference/projects#cards",
|
||||
"/v3/projects/collaborators": "/en/free-pro-team@latest/rest/reference/projects#collaborators",
|
||||
"/v3/projects/columns": "/en/free-pro-team@latest/rest/reference/projects#columns",
|
||||
"/v3/projects": "/en/free-pro-team@latest/rest/reference/projects",
|
||||
"/v3/pulls/comments": "/en/free-pro-team@latest/rest/reference/pulls#comments",
|
||||
"/v3/pulls": "/en/free-pro-team@latest/rest/reference/pulls",
|
||||
"/v3/pulls/review_requests": "/en/free-pro-team@latest/rest/reference/pulls#review-requests",
|
||||
"/v3/pulls/reviews": "/en/free-pro-team@latest/rest/reference/pulls#reviews",
|
||||
"/v3/rate_limit": "/en/free-pro-team@latest/rest/reference/rate-limit",
|
||||
"/v3/reactions": "/en/free-pro-team@latest/rest/reference/reactions",
|
||||
"/v3/repos/branches": "/en/free-pro-team@latest/rest/reference/repos#branches",
|
||||
"/v3/repos/collaborators": "/en/free-pro-team@latest/rest/reference/repos#collaborators",
|
||||
"/v3/repos/comments": "/en/free-pro-team@latest/rest/reference/repos#comments",
|
||||
"/v3/repos/commits": "/en/free-pro-team@latest/rest/reference/repos#commits",
|
||||
"/v3/repos/community": "/en/free-pro-team@latest/rest/reference/repos#community",
|
||||
"/v3/repos/contents": "/en/free-pro-team@latest/rest/reference/repos#contents",
|
||||
"/v3/repos/deployments": "/en/free-pro-team@latest/rest/reference/repos#deployments",
|
||||
"/v3/repos/downloads": "/en/free-pro-team@latest/rest/reference/repos#downloads",
|
||||
"/v3/repos/forks": "/en/free-pro-team@latest/rest/reference/repos#forks",
|
||||
"/v3/repos/hooks": "/en/free-pro-team@latest/rest/reference/repos#hooks",
|
||||
"/v3/repos": "/en/free-pro-team@latest/rest/reference/repos",
|
||||
"/v3/repos/invitations": "/en/free-pro-team@latest/rest/reference/repos#invitations",
|
||||
"/v3/repos/keys": "/en/free-pro-team@latest/rest/reference/repos#keys",
|
||||
"/v3/repos/merging": "/en/free-pro-team@latest/rest/reference/repos#merging",
|
||||
"/v3/repos/pages": "/en/free-pro-team@latest/rest/reference/repos#pages",
|
||||
"/v3/repos/pre_receive_hooks": "/en/free-pro-team@latest/rest/reference/repos#pre-receive-hooks",
|
||||
"/v3/repos/releases": "/en/free-pro-team@latest/rest/reference/repos#releases",
|
||||
"/v3/repos/statistics": "/en/free-pro-team@latest/rest/reference/repos#statistics",
|
||||
"/v3/repos/statuses": "/en/free-pro-team@latest/rest/reference/repos#statuses",
|
||||
"/v3/repos/traffic": "/en/free-pro-team@latest/rest/reference/repos#traffic",
|
||||
"/v3/scim": "/en/free-pro-team@latest/rest/reference/scim",
|
||||
"/v3/search": "/en/free-pro-team@latest/rest/reference/search",
|
||||
"/v3/teams/discussion_comments": "/en/free-pro-team@latest/rest/reference/teams#discussion-comments",
|
||||
"/v3/teams/discussions": "/en/free-pro-team@latest/rest/reference/teams#discussions",
|
||||
"/v3/teams": "/en/free-pro-team@latest/rest/reference/teams",
|
||||
"/v3/teams/members": "/en/free-pro-team@latest/rest/reference/teams#members",
|
||||
"/v3/teams/team_sync": "/en/free-pro-team@latest/rest/reference/teams#team-sync",
|
||||
"/v3/users/blocking": "/en/free-pro-team@latest/rest/reference/users#blocking",
|
||||
"/v3/users/emails": "/en/free-pro-team@latest/rest/reference/users#emails",
|
||||
"/v3/users/followers": "/en/free-pro-team@latest/rest/reference/users#followers",
|
||||
"/v3/users/gpg_keys": "/en/free-pro-team@latest/rest/reference/users#gpg-keys",
|
||||
"/v3/users": "/en/free-pro-team@latest/rest/reference/users",
|
||||
"/v3/users/keys": "/en/free-pro-team@latest/rest/reference/users#keys"
|
||||
}
|
||||
|
||||
5
tests/fixtures/sample-article.md
vendored
5
tests/fixtures/sample-article.md
vendored
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: A sample article
|
||||
productVersions:
|
||||
dotcom: '*'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
|
||||
4
tests/fixtures/sample-toc-index.md
vendored
4
tests/fixtures/sample-toc-index.md
vendored
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: A sample TOC
|
||||
productVersions:
|
||||
dotcom: '*'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% link_in_list /sample-article %}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Translated TOC
|
||||
productVersions:
|
||||
dotcom: '*'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
### 目次
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const flat = require('flat')
|
||||
const { last } = require('lodash')
|
||||
const cheerio = require('cheerio')
|
||||
@@ -58,9 +57,7 @@ describe('page rendering', () => {
|
||||
const brokenLinksPerPage = {}
|
||||
|
||||
// get an array of the pages product versions
|
||||
const pageVersions = process.env.FEATURE_NEW_VERSIONS
|
||||
? getApplicableVersions(page.versions, page.relativePath)
|
||||
: getApplicableVersions(page.productVersions, page.relativePath)
|
||||
const pageVersions = getApplicableVersions(page.versions, page.relativePath)
|
||||
|
||||
for (const pageVersion of pageVersions) {
|
||||
// attach page-specific properties to context
|
||||
@@ -70,9 +67,7 @@ describe('page rendering', () => {
|
||||
|
||||
const relevantPermalink = page.permalinks.find(permalink => permalink.pageVersion === pageVersion)
|
||||
|
||||
const currentOldVersion = process.env.FEATURE_NEW_VERSIONS
|
||||
? getOldVersionFromNewVersion(pageVersion)
|
||||
: pageVersion
|
||||
const currentOldVersion = getOldVersionFromNewVersion(pageVersion)
|
||||
|
||||
// borrowed from middleware/contextualizers/graphql.js
|
||||
context.graphql = {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const cheerio = require('cheerio')
|
||||
const loadPages = require('../../lib/pages')
|
||||
const loadSiteData = require('../../lib/site-data')
|
||||
@@ -50,9 +49,7 @@ describe('page rendering', () => {
|
||||
const brokenLinksPerPage = {}
|
||||
|
||||
// get an array of the pages product versions
|
||||
const pageVersions = process.env.FEATURE_NEW_VERSIONS
|
||||
? getApplicableVersions(page.versions, page.relativePath)
|
||||
: getApplicableVersions(page.productVersions, page.relativePath)
|
||||
const pageVersions = getApplicableVersions(page.versions, page.relativePath)
|
||||
|
||||
for (const pageVersion of pageVersions) {
|
||||
// attach page-specific properties to context
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
const { getDOM, getJSON } = require('../helpers')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('breadcrumbs', () => {
|
||||
jest.setTimeout(300 * 1000)
|
||||
|
||||
@@ -24,7 +21,7 @@ describe('breadcrumbs', () => {
|
||||
expect($breadcrumbs.eq(3).attr('title')).toBe('article: Supported browsers')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('maptopic pages include their own grayed-out breadcrumb', async () => {
|
||||
test('maptopic pages include their own grayed-out breadcrumb', async () => {
|
||||
const $ = await getDOM('/github/getting-started-with-github/using-github')
|
||||
const $breadcrumbs = $('.breadcrumbs a')
|
||||
|
||||
@@ -35,18 +32,7 @@ describe('breadcrumbs', () => {
|
||||
expect($breadcrumbs.eq(2).hasClass('text-gray-light')).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('maptopic pages include their own grayed-out breadcrumb', async () => {
|
||||
const $ = await getDOM('/github/getting-started-with-github/using-github')
|
||||
const $breadcrumbs = $('.breadcrumbs a')
|
||||
|
||||
expect($breadcrumbs).toHaveLength(3)
|
||||
expect($breadcrumbs.eq(0).attr('title')).toBe('product: GitHub.com')
|
||||
expect($breadcrumbs.eq(1).attr('title')).toBe('category: Getting started')
|
||||
expect($breadcrumbs.eq(2).attr('title')).toBe('maptopic: Using GitHub')
|
||||
expect($breadcrumbs.eq(2).hasClass('text-gray-light')).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('works for enterprise user pages', async () => {
|
||||
test('works for enterprise user pages', async () => {
|
||||
const $ = await getDOM('/en/enterprise/user/github/getting-started-with-github/supported-browsers')
|
||||
const $breadcrumbs = $('.breadcrumbs a')
|
||||
expect($breadcrumbs).toHaveLength(4)
|
||||
@@ -54,13 +40,6 @@ describe('breadcrumbs', () => {
|
||||
expect($breadcrumbs.eq(0).attr('title')).toBe('product: GitHub.com')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('works for enterprise user pages', async () => {
|
||||
const $ = await getDOM('/en/enterprise/user/github/getting-started-with-github/supported-browsers')
|
||||
const $breadcrumbs = $('.breadcrumbs a')
|
||||
expect($breadcrumbs).toHaveLength(4)
|
||||
expect($breadcrumbs.eq(0).attr('title')).toBe('product: GitHub Enterprise Server')
|
||||
})
|
||||
|
||||
test('parses Liquid variables inside titles', async () => {
|
||||
const $ = await getDOM('/en/enterprise/admin/enterprise-support')
|
||||
const $breadcrumbs = $('.breadcrumbs a')
|
||||
@@ -68,33 +47,21 @@ describe('breadcrumbs', () => {
|
||||
expect($breadcrumbs.eq(1).attr('title')).toBe('category: Working with GitHub Support')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('English breadcrumbs link to English pages', async () => {
|
||||
test('English breadcrumbs link to English pages', async () => {
|
||||
const $ = await getDOM('/en/github/getting-started-with-github')
|
||||
const $breadcrumbs = $('.breadcrumbs a')
|
||||
expect($breadcrumbs.eq(0).attr('href')).toBe(`/en/${nonEnterpriseDefaultVersion}/github`)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('English breadcrumbs link to English pages', async () => {
|
||||
const $ = await getDOM('/en/github/getting-started-with-github')
|
||||
const $breadcrumbs = $('.breadcrumbs a')
|
||||
expect($breadcrumbs.eq(0).attr('href')).toBe('/en/github')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('localized breadcrumbs link to localize pages', async () => {
|
||||
test('localized breadcrumbs link to localize pages', async () => {
|
||||
const $ = await getDOM('/ja/github/getting-started-with-github')
|
||||
const $breadcrumbs = $('.breadcrumbs a')
|
||||
expect($breadcrumbs.eq(0).attr('href')).toBe(`/ja/${nonEnterpriseDefaultVersion}/github`)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('localized breadcrumbs link to localize pages', async () => {
|
||||
const $ = await getDOM('/ja/github/getting-started-with-github')
|
||||
const $breadcrumbs = $('.breadcrumbs a')
|
||||
expect($breadcrumbs.eq(0).attr('href')).toBe('/ja/github')
|
||||
})
|
||||
})
|
||||
|
||||
describe('context.breadcrumbs object', () => {
|
||||
testFeatureNewVersions('works on product index pages', async () => {
|
||||
test('works on product index pages', async () => {
|
||||
const breadcrumbs = await getJSON('/en/github?json=breadcrumbs')
|
||||
const expected = {
|
||||
product: {
|
||||
@@ -105,18 +72,7 @@ describe('breadcrumbs', () => {
|
||||
expect(breadcrumbs).toEqual(expected)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('works on product index pages', async () => {
|
||||
const breadcrumbs = await getJSON('/en/github?json=breadcrumbs')
|
||||
const expected = {
|
||||
product: {
|
||||
href: '/github',
|
||||
title: 'GitHub.com'
|
||||
}
|
||||
}
|
||||
expect(breadcrumbs).toEqual(expected)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('works on category index pages', async () => {
|
||||
test('works on category index pages', async () => {
|
||||
const breadcrumbs = await getJSON('/en/github/authenticating-to-github?json=breadcrumbs')
|
||||
const expected = {
|
||||
product: {
|
||||
@@ -131,22 +87,7 @@ describe('breadcrumbs', () => {
|
||||
expect(breadcrumbs).toEqual(expected)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('works on category index pages', async () => {
|
||||
const breadcrumbs = await getJSON('/en/github/authenticating-to-github?json=breadcrumbs')
|
||||
const expected = {
|
||||
product: {
|
||||
href: '/github',
|
||||
title: 'GitHub.com'
|
||||
},
|
||||
category: {
|
||||
href: '/github/authenticating-to-github',
|
||||
title: 'Authentication'
|
||||
}
|
||||
}
|
||||
expect(breadcrumbs).toEqual(expected)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('works on maptopic pages', async () => {
|
||||
test('works on maptopic pages', async () => {
|
||||
const breadcrumbs = await getJSON('/en/github/authenticating-to-github/keeping-your-account-and-data-secure?json=breadcrumbs')
|
||||
const expected = {
|
||||
product: {
|
||||
@@ -165,26 +106,7 @@ describe('breadcrumbs', () => {
|
||||
expect(breadcrumbs).toEqual(expected)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('works on maptopic pages', async () => {
|
||||
const breadcrumbs = await getJSON('/en/github/authenticating-to-github/keeping-your-account-and-data-secure?json=breadcrumbs')
|
||||
const expected = {
|
||||
product: {
|
||||
href: '/github',
|
||||
title: 'GitHub.com'
|
||||
},
|
||||
category: {
|
||||
href: '/github/authenticating-to-github',
|
||||
title: 'Authentication'
|
||||
},
|
||||
maptopic: {
|
||||
href: '/github/authenticating-to-github/keeping-your-account-and-data-secure',
|
||||
title: 'Keeping your account and data secure'
|
||||
}
|
||||
}
|
||||
expect(breadcrumbs).toEqual(expected)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('works on articles that DO have maptopics ', async () => {
|
||||
test('works on articles that DO have maptopics ', async () => {
|
||||
const breadcrumbs = await getJSON('/en/github/authenticating-to-github/creating-a-strong-password?json=breadcrumbs')
|
||||
const expected = {
|
||||
product: {
|
||||
@@ -207,30 +129,7 @@ describe('breadcrumbs', () => {
|
||||
expect(breadcrumbs).toEqual(expected)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('works on articles that DO have maptopics ', async () => {
|
||||
const breadcrumbs = await getJSON('/en/github/authenticating-to-github/creating-a-strong-password?json=breadcrumbs')
|
||||
const expected = {
|
||||
product: {
|
||||
href: '/github',
|
||||
title: 'GitHub.com'
|
||||
},
|
||||
category: {
|
||||
href: '/github/authenticating-to-github',
|
||||
title: 'Authentication'
|
||||
},
|
||||
maptopic: {
|
||||
href: '/github/authenticating-to-github/keeping-your-account-and-data-secure',
|
||||
title: 'Keeping your account and data secure'
|
||||
},
|
||||
article: {
|
||||
href: '/github/authenticating-to-github/creating-a-strong-password',
|
||||
title: 'Creating a strong password'
|
||||
}
|
||||
}
|
||||
expect(breadcrumbs).toEqual(expected)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('works on articles that DO NOT have maptopics ', async () => {
|
||||
test('works on articles that DO NOT have maptopics ', async () => {
|
||||
const breadcrumbs = await getJSON('/github/site-policy/github-privacy-statement?json=breadcrumbs')
|
||||
const expected = {
|
||||
product: {
|
||||
@@ -249,25 +148,6 @@ describe('breadcrumbs', () => {
|
||||
expect(breadcrumbs).toEqual(expected)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('works on articles that DO NOT have maptopics ', async () => {
|
||||
const breadcrumbs = await getJSON('/github/site-policy/github-privacy-statement?json=breadcrumbs')
|
||||
const expected = {
|
||||
product: {
|
||||
href: '/github',
|
||||
title: 'GitHub.com'
|
||||
},
|
||||
category: {
|
||||
href: '/github/site-policy',
|
||||
title: 'Site policy'
|
||||
},
|
||||
article: {
|
||||
href: '/github/site-policy/github-privacy-statement',
|
||||
title: 'GitHub Privacy Statement'
|
||||
}
|
||||
}
|
||||
expect(breadcrumbs).toEqual(expected)
|
||||
})
|
||||
|
||||
test('returns an empty object on the landing page', async () => {
|
||||
const breadcrumbs = await getJSON('/en?json=breadcrumbs')
|
||||
expect(breadcrumbs).toEqual({})
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
require('../../lib/feature-flags')
|
||||
const { getDOM } = require('../helpers')
|
||||
const { oldestSupported, latest } = require('../../lib/enterprise-server-releases')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('header', () => {
|
||||
jest.setTimeout(5 * 60 * 1000)
|
||||
|
||||
@@ -24,16 +20,11 @@ describe('header', () => {
|
||||
})
|
||||
|
||||
describe('language links', () => {
|
||||
testFeatureNewVersions('lead to the same page in a different language', async () => {
|
||||
test('lead to the same page in a different language', async () => {
|
||||
const $ = await getDOM('/en/github/administering-a-repository/enabling-required-status-checks')
|
||||
expect($(`#languages-selector a[href="/ja/${nonEnterpriseDefaultVersion}/github/administering-a-repository/enabling-required-status-checks"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('lead to the same page in a different language', async () => {
|
||||
const $ = await getDOM('/en/github/administering-a-repository/enabling-required-status-checks')
|
||||
expect($('#languages-selector a[href="/ja/github/administering-a-repository/enabling-required-status-checks"]').length).toBe(1)
|
||||
})
|
||||
|
||||
test('display the native name and the English name for each translated language', async () => {
|
||||
const $ = await getDOM('/en')
|
||||
expect($('#languages-selector a[href="/en"]').text().trim()).toBe('English')
|
||||
@@ -76,7 +67,7 @@ describe('header', () => {
|
||||
})
|
||||
|
||||
describe('mobile-only product dropdown links', () => {
|
||||
testFeatureNewVersions('include github and admin, and emphasize the current product', async () => {
|
||||
test('include github and admin, and emphasize the current product', async () => {
|
||||
const $ = await getDOM('/en/articles/enabling-required-status-checks')
|
||||
|
||||
const github = $(`#homepages a.active[href="/en/${nonEnterpriseDefaultVersion}/github"]`)
|
||||
@@ -90,46 +81,18 @@ describe('header', () => {
|
||||
expect(ghe.attr('class').includes('active')).toBe(false)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('include dotcom and enterprise homepage, and emphasize the current product', async () => {
|
||||
const $ = await getDOM('/en/articles/enabling-required-status-checks')
|
||||
|
||||
const dotcom = $('#homepages a.active[href="/en/github"]')
|
||||
expect(dotcom.length).toBe(1)
|
||||
expect(dotcom.text().trim()).toBe('GitHub.com')
|
||||
expect(dotcom.attr('class').includes('active')).toBe(true)
|
||||
|
||||
const ghe = $('#homepages a[href="/en/enterprise/admin"]')
|
||||
expect(ghe.length).toBe(1)
|
||||
expect(ghe.text().trim()).toBe('Enterprise Server')
|
||||
expect(ghe.attr('class').includes('active')).toBe(false)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('point to homepages in the current page\'s language', async () => {
|
||||
test('point to homepages in the current page\'s language', async () => {
|
||||
const $ = await getDOM('/ja/articles/enabling-required-status-checks')
|
||||
|
||||
expect($(`#homepages a.active[href="/ja/${nonEnterpriseDefaultVersion}/github"]`).length).toBe(1)
|
||||
expect($(`#homepages a[href="/ja/enterprise-server@${latest}/admin"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('point to homepages in the current page\'s language', async () => {
|
||||
const $ = await getDOM('/ja/articles/enabling-required-status-checks')
|
||||
|
||||
expect($('#homepages a.active[href="/ja/github"]').length).toBe(1)
|
||||
expect($('#homepages a[href="/ja/enterprise/admin"]').length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('emphasizes the product that corresponds to the current page', async () => {
|
||||
test('emphasizes the product that corresponds to the current page', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${oldestSupported}/user/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address`)
|
||||
expect($(`#homepages a.active[href="/en/enterprise-server@${latest}/admin"]`).length).toBe(0)
|
||||
expect($(`#homepages a[href="/en/${nonEnterpriseDefaultVersion}/github"]`).length).toBe(1)
|
||||
expect($(`#homepages a.active[href="/en/${nonEnterpriseDefaultVersion}/github"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('emphasizes the product that corresponds to the current page', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${oldestSupported}/user/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address`)
|
||||
expect($('#homepages a.active[href="/en/enterprise/admin"]').length).toBe(0)
|
||||
expect($('#homepages a[href="/en/github"]').length).toBe(1)
|
||||
expect($('#homepages a.active[href="/en/github"]').length).toBe(1)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const renderContent = require('../../lib/render-content')
|
||||
|
||||
describe('octicon tag', () => {
|
||||
|
||||
@@ -1,23 +1,14 @@
|
||||
require('../../lib/feature-flags')
|
||||
const enterpriseServerReleases = require('../../lib/enterprise-server-releases')
|
||||
const { getDOM } = require('../helpers')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('page titles', () => {
|
||||
jest.setTimeout(300 * 1000)
|
||||
|
||||
testFeatureNewVersions('English homepage', async () => {
|
||||
test('English homepage', async () => {
|
||||
const $ = await getDOM('/en')
|
||||
expect($('title').text()).toBe('GitHub Documentation')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('dotcom English homepage', async () => {
|
||||
const $ = await getDOM('/en')
|
||||
expect($('title').text()).toBe('GitHub.com Help Documentation')
|
||||
})
|
||||
|
||||
test('dotcom English article', async () => {
|
||||
const $ = await getDOM('/en/articles/authorizing-oauth-apps')
|
||||
expect($('title').text()).toBe('Authorizing OAuth Apps - GitHub Docs')
|
||||
@@ -38,7 +29,7 @@ describe('page titles', () => {
|
||||
expect($('title').text()).toBe('Managing large files - GitHub Docs')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('dynamically parses liquid in page titles (even on subsequent requests)', async () => {
|
||||
test('dynamically parses liquid in page titles (even on subsequent requests)', async () => {
|
||||
let $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}`)
|
||||
expect($('title').text()).toBe('GitHub Enterprise Help Documentation - GitHub Docs')
|
||||
|
||||
@@ -49,20 +40,6 @@ describe('page titles', () => {
|
||||
expect($('title').text()).toBe('GitHub Enterprise Help Documentation - GitHub Docs')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('dynamically parses liquid in page titles (even on subsequent requests)', async () => {
|
||||
let $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}`)
|
||||
expect($('h1').text()).toBe(`Enterprise Server ${enterpriseServerReleases.latest}`)
|
||||
expect($('title').text()).toBe(`Enterprise Server ${enterpriseServerReleases.latest} - GitHub Docs`)
|
||||
|
||||
$ = await getDOM(`/en/enterprise/${enterpriseServerReleases.oldestSupported}`)
|
||||
expect($('h1').text()).toBe(`Enterprise Server ${enterpriseServerReleases.oldestSupported}`)
|
||||
expect($('title').text()).toBe(`Enterprise Server ${enterpriseServerReleases.oldestSupported} - GitHub Docs`)
|
||||
|
||||
$ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}`)
|
||||
expect($('h1').text()).toBe(`Enterprise Server ${enterpriseServerReleases.latest}`)
|
||||
expect($('title').text()).toBe(`Enterprise Server ${enterpriseServerReleases.latest} - GitHub Docs`)
|
||||
})
|
||||
|
||||
// TODO enable this once translated content has synced with the versioning changes
|
||||
// Note the expected translations may need to be updated, since the English title changed
|
||||
// from `GitHub.com Help Documentation` to `GitHub Documentation`
|
||||
@@ -70,9 +47,4 @@ describe('page titles', () => {
|
||||
expect((await getDOM('/cn'))('title').text()).toBe('GitHub 帮助文档')
|
||||
expect((await getDOM('/ja'))('title').text()).toBe('GitHub ヘルプドキュメント')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('displays only the site name on localized homepages', async () => {
|
||||
expect((await getDOM('/cn'))('title').text()).toBe('GitHub.com 帮助文档')
|
||||
expect((await getDOM('/ja'))('title').text()).toBe('GitHub.com ヘルプドキュメント')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const languages = require('../../lib/languages')
|
||||
const robotsParser = require('robots-parser')
|
||||
const robotsMiddleware = require('../../middleware/robots')
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
require('../../lib/feature-flags')
|
||||
const lodash = require('lodash')
|
||||
const enterpriseServerReleases = require('../../lib/enterprise-server-releases')
|
||||
const { get, getDOM, head } = require('../helpers')
|
||||
const path = require('path')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('server', () => {
|
||||
jest.setTimeout(60 * 1000)
|
||||
|
||||
@@ -235,16 +231,11 @@ describe('server', () => {
|
||||
expect($.text().includes('{{ page.title }}')).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('displays links to categories on product TOCs', async () => {
|
||||
test('displays links to categories on product TOCs', async () => {
|
||||
const $ = await getDOM('/en/github')
|
||||
expect($(`article a[href="/en/${nonEnterpriseDefaultVersion}/github/getting-started-with-github"]`)).toHaveLength(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('displays links to categories on product TOCs', async () => {
|
||||
const $ = await getDOM('/en/github')
|
||||
expect($('article a[href="/en/github/getting-started-with-github"]')).toHaveLength(1)
|
||||
})
|
||||
|
||||
describe('autogenerated mini TOCs', () => {
|
||||
// TODO disable the mini TOC tests when we replace it with sticky TOC header
|
||||
test('renders mini TOC in articles with more than one heading', async () => {
|
||||
@@ -309,103 +300,56 @@ describe('server', () => {
|
||||
})
|
||||
|
||||
describe('English local links', () => {
|
||||
const latestEnterprisePath = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/enterprise-server@${enterpriseServerReleases.latest}`
|
||||
: `/en/enterprise/${enterpriseServerReleases.latest}`
|
||||
const latestEnterprisePath = `/en/enterprise-server@${enterpriseServerReleases.latest}`
|
||||
|
||||
testFeatureNewVersions('dotcom articles on dotcom have links that include "en"', async () => {
|
||||
test('dotcom articles on dotcom have links that include "en"', async () => {
|
||||
const $ = await getDOM('/en/articles/set-up-git')
|
||||
expect($(`a[href="/en/${nonEnterpriseDefaultVersion}/articles/managing-files-on-github"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('dotcom articles on dotcom have links that include "en"', async () => {
|
||||
const $ = await getDOM('/en/articles/set-up-git')
|
||||
expect($('a[href="/en/articles/managing-files-on-github"]').length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('dotcom articles on dotcom have Enterprise Admin links with latest GHE version', async () => {
|
||||
test('dotcom articles on dotcom have Enterprise Admin links with latest GHE version', async () => {
|
||||
const $ = await getDOM('/en/articles/setting-up-a-trial-of-github-enterprise-server')
|
||||
expect($(`a[href="${latestEnterprisePath}/admin/installation/setting-up-a-github-enterprise-server-instance"]`).length).toBe(2)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('dotcom articles on dotcom have Enterprise Admin links with latest GHE version', async () => {
|
||||
const $ = await getDOM('/en/articles/setting-up-a-trial-of-github-enterprise-server')
|
||||
expect($(`a[href="${latestEnterprisePath}/admin/installation/setting-up-a-github-enterprise-server-instance"]`).length).toBe(2)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('dotcom articles on GHE have Enterprise user links', async () => {
|
||||
test('dotcom articles on GHE have Enterprise user links', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/github/getting-started-with-github/set-up-git`)
|
||||
expect($(`a[href="${latestEnterprisePath}/articles/managing-files-on-github"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('dotcom articles on GHE have Enterprise user links', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/user/github/getting-started-with-github/set-up-git`)
|
||||
expect($(`a[href="${latestEnterprisePath}/user/articles/managing-files-on-github"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('dotcom categories on GHE have Enterprise user links', async () => {
|
||||
test('dotcom categories on GHE have Enterprise user links', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/github/managing-large-files`)
|
||||
expect($(`article a[href="${latestEnterprisePath}/github/managing-large-files/conditions-for-large-files"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('dotcom categories on GHE have Enterprise user links', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/user/github/managing-large-files`)
|
||||
expect($(`article a[href="${latestEnterprisePath}/user/github/managing-large-files/conditions-for-large-files"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('dotcom-only links on GHE are dotcom-only', async () => {
|
||||
test('dotcom-only links on GHE are dotcom-only', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/github/setting-up-and-managing-your-github-profile/sending-your-github-enterprise-server-contributions-to-your-githubcom-profile`)
|
||||
expect($(`article a[href="/en/${nonEnterpriseDefaultVersion}/articles/github-privacy-statement"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('dotcom-only links on GHE are dotcom-only', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/user/github/setting-up-and-managing-your-github-profile/sending-your-github-enterprise-server-contributions-to-your-githubcom-profile`)
|
||||
expect($('article a[href="/en/articles/github-privacy-statement"]').length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('desktop links on GHE are dotcom-only', async () => {
|
||||
test('desktop links on GHE are dotcom-only', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/github/getting-started-with-github/set-up-git`)
|
||||
expect($(`article a[href="/en/${nonEnterpriseDefaultVersion}/desktop/installing-and-configuring-github-desktop"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('desktop links on GHE are dotcom-only', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/user/github/getting-started-with-github/set-up-git`)
|
||||
expect($('article a[href="/en/desktop/installing-and-configuring-github-desktop"]').length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('admin articles that link to non-admin articles have Enterprise user links', async () => {
|
||||
test('admin articles that link to non-admin articles have Enterprise user links', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/admin/installation/configuring-the-default-visibility-of-new-repositories-on-your-appliance`)
|
||||
expect($(`article a[href="${latestEnterprisePath}/github/creating-cloning-and-archiving-repositories/about-repository-visibility"]`).length).toBeGreaterThan(0)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('admin articles that link to non-admin articles have Enterprise user links', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/admin/installation/configuring-the-default-visibility-of-new-repositories-on-your-appliance`)
|
||||
expect($(`article a[href="${latestEnterprisePath}/user/github/creating-cloning-and-archiving-repositories/about-repository-visibility"]`).length).toBeGreaterThan(0)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('admin articles that link to Enterprise user articles have Enterprise user links', async () => {
|
||||
test('admin articles that link to Enterprise user articles have Enterprise user links', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/admin/user-management/configuring-email-for-notifications`)
|
||||
expect($('article a[href*="about-email-notifications-for-pushes-to-your-repository"]').length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('admin articles that link to Enterprise user articles have Enterprise user links', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/admin/user-management/configuring-email-for-notifications`)
|
||||
expect($('article a[href*="about-email-notifications-for-pushes-to-your-repository"]').length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('articles that link to external links that contain /articles/ are not rewritten', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/admin/installation/upgrading-github-enterprise-server`)
|
||||
expect($('article a[href="https://azure.microsoft.com/en-us/documentation/articles/backup-azure-vms/"]').length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('articles that link to external links that contain /articles/ are not rewritten', async () => {
|
||||
test('articles that link to external links that contain /articles/ are not rewritten', async () => {
|
||||
const $ = await getDOM(`${latestEnterprisePath}/admin/installation/upgrading-github-enterprise-server`)
|
||||
expect($('article a[href="https://azure.microsoft.com/en-us/documentation/articles/backup-azure-vms/"]').length).toBe(1)
|
||||
})
|
||||
})
|
||||
|
||||
describe('article versions', () => {
|
||||
testFeatureNewVersions('includes links to all versions of each article', async () => {
|
||||
test('includes links to all versions of each article', async () => {
|
||||
const articlePath = 'github/setting-up-and-managing-your-github-user-account/about-your-personal-dashboard'
|
||||
const $ = await getDOM(`/en/enterprise-server@${enterpriseServerReleases.latest}/${articlePath}`)
|
||||
expect($(`.article-versions a.active[href="/en/enterprise-server@${enterpriseServerReleases.latest}/${articlePath}"]`).length).toBe(2)
|
||||
@@ -415,16 +359,6 @@ describe('server', () => {
|
||||
expect($(`.article-versions a[href="/en/enterprise/2.13/user/${articlePath}"]`).length).toBe(0)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('includes links to all versions of each article', async () => {
|
||||
const articlePath = 'github/setting-up-and-managing-your-github-user-account/about-your-personal-dashboard'
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/user/${articlePath}`)
|
||||
expect($(`.article-versions a.active[href="/en/enterprise/${enterpriseServerReleases.latest}/user/${articlePath}"]`).length).toBe(2)
|
||||
expect($(`.article-versions a.active[href="/en/${articlePath}"]`).length).toBe(0)
|
||||
|
||||
// 2.13 predates this feature, so it should be excluded:
|
||||
expect($(`.article-versions a[href="/en/enterprise/2.13/user/${articlePath}"]`).length).toBe(0)
|
||||
})
|
||||
|
||||
test('is not displayed if article has only one version', async () => {
|
||||
const $ = await getDOM('/en/articles/signing-up-for-a-new-github-account')
|
||||
expect($('.article-versions').length).toBe(0)
|
||||
@@ -437,16 +371,11 @@ describe('server', () => {
|
||||
expect(res.statusCode).toBe(301)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('redirects old articles to their slugified URL', async () => {
|
||||
test('redirects old articles to their slugified URL', async () => {
|
||||
const res = await get('/articles/about-github-s-ip-addresses')
|
||||
expect(res.text).toBe(`Moved Permanently. Redirecting to /en/${nonEnterpriseDefaultVersion}/github/authenticating-to-github/about-githubs-ip-addresses`)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('redirects old articles to their slugified URL', async () => {
|
||||
const res = await get('/articles/about-github-s-ip-addresses')
|
||||
expect(res.text).toBe('Moved Permanently. Redirecting to /en/github/authenticating-to-github/about-githubs-ip-addresses')
|
||||
})
|
||||
|
||||
test('redirects / to /en', async () => {
|
||||
const res = await get('/')
|
||||
expect(res.statusCode).toBe(301)
|
||||
@@ -465,18 +394,12 @@ describe('server', () => {
|
||||
expect(res.headers.location).toBe('https://desktop.github.com')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('redirects /insights/foo paths to /enterprise/user/insights/foo', async () => {
|
||||
test('redirects /insights/foo paths to /enterprise/user/insights/foo', async () => {
|
||||
const res = await get('/en/insights/installing-and-configuring-github-insights/about-github-insights')
|
||||
expect(res.statusCode).toBe(301)
|
||||
expect(res.headers.location).toBe(`/en/enterprise-server@${enterpriseServerReleases.latest}/insights/installing-and-configuring-github-insights/about-github-insights`)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('redirects /insights/foo paths to /enterprise/user/insights/foo', async () => {
|
||||
const res = await get('/en/insights/installing-and-configuring-github-insights/about-github-insights')
|
||||
expect(res.statusCode).toBe(301)
|
||||
expect(res.headers.location).toBe(`/en/enterprise/${enterpriseServerReleases.latest}/user/insights/installing-and-configuring-github-insights/about-github-insights`)
|
||||
})
|
||||
|
||||
// this oneoff redirect is temporarily disabled because it introduces too much complexity
|
||||
// we can reenable it down the road if needed
|
||||
test.skip('redirects versioned category page', async () => {
|
||||
@@ -487,45 +410,28 @@ describe('server', () => {
|
||||
})
|
||||
|
||||
describe('categories and map topics', () => {
|
||||
testFeatureNewVersions('adds links to categories on the dotcom homepage', async () => {
|
||||
test('adds links to categories on the dotcom homepage', async () => {
|
||||
const $ = await getDOM('/en/github')
|
||||
expect($(`article a[href="/en/${nonEnterpriseDefaultVersion}/github/managing-large-files"]`).length).toBe(1)
|
||||
expect($('article a[href="#managing-large-files"]').length).toBe(0)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('adds links to categories on the dotcom homepage', async () => {
|
||||
const $ = await getDOM('/en/github')
|
||||
expect($('article a[href="/en/github/managing-large-files"]').length).toBe(1)
|
||||
expect($('article a[href="#managing-large-files"]').length).toBe(0)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('adds links to map topics on a category homepage', async () => {
|
||||
test('adds links to map topics on a category homepage', async () => {
|
||||
const $ = await getDOM('/en/github/setting-up-and-managing-your-github-user-account')
|
||||
expect($(`article a[href="/en/${nonEnterpriseDefaultVersion}/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings"]`).length).toBe(1)
|
||||
expect($('article a[href="#managing-user-account-settings"]').length).toBe(0)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('adds links to map topics on a category homepage', async () => {
|
||||
const $ = await getDOM('/en/github/setting-up-and-managing-your-github-user-account')
|
||||
expect($('article a[href="/en/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings"]').length).toBe(1)
|
||||
expect($('article a[href="#managing-user-account-settings"]').length).toBe(0)
|
||||
})
|
||||
|
||||
test('category page renders with TOC', async () => {
|
||||
const $ = await getDOM('/en/github/managing-large-files')
|
||||
expect($('.markdown-body ul li a').length).toBeGreaterThan(5)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('map topic renders with h4 links to articles', async () => {
|
||||
test('map topic renders with h4 links to articles', async () => {
|
||||
const $ = await getDOM('/en/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings')
|
||||
expect($(`a[href="/en/${nonEnterpriseDefaultVersion}/github/setting-up-and-managing-your-github-user-account/changing-your-github-username"] h4`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('map topic renders with h4 links to articles', async () => {
|
||||
const $ = await getDOM('/en/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings')
|
||||
expect($('a[href="/en/github/setting-up-and-managing-your-github-user-account/changing-your-github-username"] h4').length).toBe(1)
|
||||
})
|
||||
|
||||
test('map topic renders with one intro for every h4', async () => {
|
||||
const $ = await getDOM('/en/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings')
|
||||
const $h4s = $('article a.link-with-intro')
|
||||
@@ -555,197 +461,107 @@ describe('URLs by language', () => {
|
||||
})
|
||||
|
||||
describe('GitHub Enterprise URLs', () => {
|
||||
testFeatureNewVersions('renders the GHE user docs homepage', async () => {
|
||||
test('renders the GHE user docs homepage', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/user/github`)
|
||||
expect($(`article a[href="/en/enterprise-server@${enterpriseServerReleases.latest}/github/getting-started-with-github"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders the GHE user docs homepage', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/user/github`)
|
||||
expect($(`article a[href="/en/enterprise/${enterpriseServerReleases.latest}/user/github/getting-started-with-github"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders the Enterprise Server homepage with correct links', async () => {
|
||||
test('renders the Enterprise Server homepage with correct links', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}`)
|
||||
expect($(`section.container-xl a[href="/en/enterprise-server@${enterpriseServerReleases.latest}/admin"]`).length).toBe(1)
|
||||
expect($(`section.container-xl a[href="/en/enterprise-server@${enterpriseServerReleases.latest}/github"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders the Enterprise homepage with correct links', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}`)
|
||||
expect($(`article a[href="/en/enterprise/${enterpriseServerReleases.latest}/admin"]`).length).toBe(1)
|
||||
expect($(`article a[href="/en/enterprise/${enterpriseServerReleases.latest}/user/github"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders the Enterprise Admin category homepage', async () => {
|
||||
test('renders the Enterprise Admin category homepage', async () => {
|
||||
const adminPath = `/en/enterprise-server@${enterpriseServerReleases.latest}/admin`
|
||||
const $ = await getDOM(adminPath)
|
||||
expect($(`article a[href="${adminPath}/installation"]`).length).toBe(1)
|
||||
expect($.text()).toContain('This guide describes')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders the Enterprise Admin category homepage', async () => {
|
||||
const adminPath = `/en/enterprise/${enterpriseServerReleases.latest}/admin`
|
||||
const $ = await getDOM(adminPath)
|
||||
expect($(`article a[href="${adminPath}/installation"]`).length).toBe(1)
|
||||
expect($.text()).toContain('This guide describes')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders an Enterprise Admin category with correct links', async () => {
|
||||
test('renders an Enterprise Admin category with correct links', async () => {
|
||||
const installationCategoryHome = `/en/enterprise-server@${enterpriseServerReleases.latest}/admin/installation`
|
||||
const $ = await getDOM(installationCategoryHome)
|
||||
expect($(`article a[href^="${installationCategoryHome}/"]`).length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders an Enterprise Admin category with correct links', async () => {
|
||||
const installationCategoryHome = `/en/enterprise/${enterpriseServerReleases.latest}/admin/installation`
|
||||
const $ = await getDOM(installationCategoryHome)
|
||||
expect($(`article a[href^="${installationCategoryHome}/"]`).length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders a translated Enterprise Admin category with English links', async () => {
|
||||
test('renders a translated Enterprise Admin category with English links', async () => {
|
||||
const installationCategoryHome = `/ja/enterprise-server@${enterpriseServerReleases.latest}/admin/installation`
|
||||
const $ = await getDOM(installationCategoryHome)
|
||||
expect($(`article a[href^="${installationCategoryHome}/"]`).length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders a translated Enterprise Admin category with English links', async () => {
|
||||
const installationCategoryHome = `/ja/enterprise/${enterpriseServerReleases.latest}/admin/installation`
|
||||
const $ = await getDOM(installationCategoryHome)
|
||||
expect($(`article a[href^="${installationCategoryHome}/"]`).length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
test('renders an Enterprise Admin category article', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/admin/installation/system-overview`)
|
||||
expect($.text()).toContain('your organization\'s private copy of GitHub')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders an Enterprise Admin map topic', async () => {
|
||||
test('renders an Enterprise Admin map topic', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources`)
|
||||
expect($(`article a[href^="/en/enterprise-server@${enterpriseServerReleases.latest}/admin/enterprise-management/"]`).length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders an Enterprise Admin map topic', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources`)
|
||||
expect($(`article a[href^="/en/enterprise/${enterpriseServerReleases.latest}/admin/enterprise-management/"]`).length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
test('renders an Enterprise Admin category article within a map topic', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/admin/installation/upgrade-requirements`)
|
||||
expect($.text()).toContain('Before upgrading GitHub Enterprise')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders Enterprise homepage in Japanese', async () => {
|
||||
test('renders Enterprise homepage in Japanese', async () => {
|
||||
const res = await get(`/ja/enterprise-server@${enterpriseServerReleases.latest}`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders Enterprise homepage in Japanese', async () => {
|
||||
const res = await get(`/ja/enterprise/${enterpriseServerReleases.latest}`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders Enterprise User homepage in Japanese', async () => {
|
||||
test('renders Enterprise User homepage in Japanese', async () => {
|
||||
const res = await get(`/ja/enterprise-server@${enterpriseServerReleases.latest}/github`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders Enterprise User homepage in Japanese', async () => {
|
||||
const res = await get(`/ja/enterprise/${enterpriseServerReleases.latest}/user/github`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders Enterprise Admin homepage in Japanese', async () => {
|
||||
test('renders Enterprise Admin homepage in Japanese', async () => {
|
||||
const res = await get(`/ja/enterprise-server@${enterpriseServerReleases.latest}/admin`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders Enterprise Admin homepage in Japanese', async () => {
|
||||
const res = await get(`/ja/enterprise/${enterpriseServerReleases.latest}/admin`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders Enterprise homepage in Chinese', async () => {
|
||||
test('renders Enterprise homepage in Chinese', async () => {
|
||||
const res = await get(`/cn/enterprise-server@${enterpriseServerReleases.latest}`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders Enterprise homepage in Chinese', async () => {
|
||||
const res = await get(`/cn/enterprise/${enterpriseServerReleases.latest}`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders Enterprise User homepage in Chinese', async () => {
|
||||
test('renders Enterprise User homepage in Chinese', async () => {
|
||||
const res = await get(`/cn/enterprise-server@${enterpriseServerReleases.latest}/github`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders Enterprise User homepage in Chinese', async () => {
|
||||
const res = await get(`/cn/enterprise/${enterpriseServerReleases.latest}/user/github`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders Enterprise Admin homepage in Chinese', async () => {
|
||||
test('renders Enterprise Admin homepage in Chinese', async () => {
|
||||
const res = await get(`/cn/enterprise-server@${enterpriseServerReleases.latest}/admin`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders Enterprise Admin homepage in Chinese', async () => {
|
||||
const res = await get(`/cn/enterprise/${enterpriseServerReleases.latest}/admin`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
})
|
||||
|
||||
describe('GitHub Desktop URLs', () => {
|
||||
testFeatureNewVersions('renders the GitHub Desktop homepage with correct links', async () => {
|
||||
test('renders the GitHub Desktop homepage with correct links', async () => {
|
||||
const $ = await getDOM('/en/desktop')
|
||||
expect($(`article a[href^="/en/${nonEnterpriseDefaultVersion}/desktop/"]`).length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders the GitHub Desktop homepage with correct links', async () => {
|
||||
const $ = await getDOM('/en/desktop')
|
||||
expect($('article a[href^="/en/desktop/"]').length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders a Desktop category with expected links', async () => {
|
||||
test('renders a Desktop category with expected links', async () => {
|
||||
const $ = await getDOM('/en/desktop/installing-and-configuring-github-desktop')
|
||||
expect($(`article a[href^="/en/${nonEnterpriseDefaultVersion}/desktop/installing-and-configuring-github-desktop/"]`).length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders a Desktop category with expected links', async () => {
|
||||
const $ = await getDOM('/en/desktop/installing-and-configuring-github-desktop')
|
||||
expect($('article a[href^="/en/desktop/installing-and-configuring-github-desktop/"]').length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders a Desktop map topic', async () => {
|
||||
test('renders a Desktop map topic', async () => {
|
||||
const $ = await getDOM('/en/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop')
|
||||
expect($(`article a[href^="/en/${nonEnterpriseDefaultVersion}/desktop/installing-and-configuring-github-desktop/"]`).length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders a Desktop map topic', async () => {
|
||||
const $ = await getDOM('/en/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop')
|
||||
expect($('article a[href^="/en/desktop/installing-and-configuring-github-desktop/"]').length).toBeGreaterThan(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders a Desktop article within a map topic', async () => {
|
||||
test('renders a Desktop article within a map topic', async () => {
|
||||
const res = await get(`/en/${nonEnterpriseDefaultVersion}/desktop/installing-and-configuring-github-desktop/installing-github-desktop`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders a Desktop article within a map topic', async () => {
|
||||
const res = await get('/en/desktop/installing-and-configuring-github-desktop/installing-github-desktop')
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('renders the Desktop homepage in Japanese', async () => {
|
||||
test('renders the Desktop homepage in Japanese', async () => {
|
||||
const res = await get(`/ja/${nonEnterpriseDefaultVersion}/desktop`)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders the Desktop homepage in Japanese', async () => {
|
||||
const res = await get('/ja/desktop')
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
})
|
||||
|
||||
describe('static assets', () => {
|
||||
@@ -894,39 +710,21 @@ describe('static routes', () => {
|
||||
})
|
||||
|
||||
describe('index pages', () => {
|
||||
const nonEnterpriseOnlyPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/${nonEnterpriseDefaultVersion}/github/getting-started-with-github/verifying-your-email-address`
|
||||
: '/en/github/getting-started-with-github/verifying-your-email-address'
|
||||
const nonEnterpriseOnlyPath = `/en/${nonEnterpriseDefaultVersion}/github/getting-started-with-github/verifying-your-email-address`
|
||||
|
||||
testFeatureNewVersions('includes dotcom-only links in dotcom TOC', async () => {
|
||||
test('includes dotcom-only links in dotcom TOC', async () => {
|
||||
const $ = await getDOM('/en/github/getting-started-with-github')
|
||||
expect($(`article a[href="${nonEnterpriseOnlyPath}"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('includes dotcom-only links in dotcom TOC', async () => {
|
||||
const $ = await getDOM('/en/github/getting-started-with-github')
|
||||
expect($(`article a[href="${nonEnterpriseOnlyPath}"]`).length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('excludes dotcom-only from GHE TOC', async () => {
|
||||
test('excludes dotcom-only from GHE TOC', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/user/github/getting-started-with-github`)
|
||||
expect($(`a[href="${nonEnterpriseOnlyPath}"]`).length).toBe(0)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('excludes dotcom-only from GHE TOC', async () => {
|
||||
const $ = await getDOM(`/en/enterprise/${enterpriseServerReleases.latest}/user/github/getting-started-with-github`)
|
||||
expect($(`a[href="${nonEnterpriseOnlyPath}"]`).length).toBe(0)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('includes correctly versioned links in GHE', async () => {
|
||||
test('includes correctly versioned links in GHE', async () => {
|
||||
const installationLatest = `/en/enterprise-server@${enterpriseServerReleases.latest}/admin/installation`
|
||||
const $ = await getDOM(installationLatest)
|
||||
expect($(`article a[href^="${installationLatest}/"]`).length).toBeGreaterThan(0)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('includes correctly versioned links in GHE', async () => {
|
||||
const installationLatest = `/en/enterprise/${enterpriseServerReleases.latest}/admin/installation`
|
||||
const $ = await getDOM(installationLatest)
|
||||
expect($(`article a[href^="${installationLatest}/"]`).length).toBeGreaterThan(0)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
require('../../lib/feature-flags')
|
||||
const { getDOM } = require('../helpers')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('sidebar', () => {
|
||||
jest.setTimeout(3 * 60 * 1000)
|
||||
|
||||
@@ -18,16 +14,11 @@ describe('sidebar', () => {
|
||||
done()
|
||||
})
|
||||
|
||||
testFeatureNewVersions('highlights active product on Enterprise pages', async () => {
|
||||
test('highlights active product on Enterprise pages', async () => {
|
||||
expect($enterprisePage('.sidebar li.sidebar-product').length).toBe(1)
|
||||
expect($enterprisePage('.sidebar li.sidebar-product > a').text().trim()).toBe('Enterprise Administrators')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('highlights active product on Enterprise pages', async () => {
|
||||
expect($enterprisePage('.sidebar li.sidebar-product').length).toBe(1)
|
||||
expect($enterprisePage('.sidebar li.sidebar-product > a').text().trim()).toBe('Enterprise Server')
|
||||
})
|
||||
|
||||
test('highlights active product on GitHub pages', async () => {
|
||||
expect($githubPage('.sidebar li.sidebar-product').length).toBe(1)
|
||||
expect($githubPage('.sidebar li.sidebar-product > a').text().trim()).toBe('GitHub.com')
|
||||
@@ -38,17 +29,10 @@ describe('sidebar', () => {
|
||||
expect($homePage('.sidebar a[href="https://electronjs.org/docs"]')).toHaveLength(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('adds an `is-current-page` class to the sidebar link to the current page', async () => {
|
||||
test('adds an `is-current-page` class to the sidebar link to the current page', async () => {
|
||||
const url = `/en/${nonEnterpriseDefaultVersion}/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings`
|
||||
const $ = await getDOM(url)
|
||||
expect($('.sidebar .is-current-page').length).toBe(1)
|
||||
expect($('.sidebar .is-current-page a').attr('href')).toContain(url)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('adds an `is-current-page` class to the sidebar link to the current page', async () => {
|
||||
const url = '/en/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings'
|
||||
const $ = await getDOM(url)
|
||||
expect($('.sidebar .is-current-page').length).toBe(1)
|
||||
expect($('.sidebar .is-current-page a').attr('href')).toContain(url)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,18 +1,11 @@
|
||||
require('../../lib/feature-flags')
|
||||
const { eachOfLimit } = require('async')
|
||||
const enterpriseServerReleases = require('../../lib/enterprise-server-releases')
|
||||
const { get } = require('../helpers')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
let restRedirectFixtures, graphqlRedirectFixtures, developerRedirectFixtures
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
restRedirectFixtures = require('../fixtures/new-versions/rest-redirects')
|
||||
graphqlRedirectFixtures = require('../fixtures/new-versions/graphql-redirects')
|
||||
developerRedirectFixtures = require('../fixtures/new-versions/developer-redirects')
|
||||
} else {
|
||||
restRedirectFixtures = require('../fixtures/rest-redirects')
|
||||
graphqlRedirectFixtures = require('../fixtures/graphql-redirects')
|
||||
developerRedirectFixtures = require('../fixtures/developer-redirects')
|
||||
}
|
||||
const restRedirectFixtures = require('../fixtures/rest-redirects')
|
||||
const graphqlRedirectFixtures = require('../fixtures/graphql-redirects')
|
||||
const developerRedirectFixtures = require('../fixtures/developer-redirects')
|
||||
|
||||
const MAX_CONCURRENT_REQUESTS = 50
|
||||
|
||||
describe('developer redirects', () => {
|
||||
@@ -25,8 +18,7 @@ describe('developer redirects', () => {
|
||||
await get('/v4')
|
||||
})
|
||||
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
describe('redirects /v4 requests to /graphql with FEATURE_NEW_VERSIONS enabled', () => {
|
||||
describe('redirects /v4 requests to /graphql', () => {
|
||||
test('graphql homepage', async () => {
|
||||
const res = await get('/v4')
|
||||
expect(res.statusCode).toBe(301)
|
||||
@@ -68,79 +60,26 @@ describe('developer redirects', () => {
|
||||
expect(enumRes.headers.location).toBe(enumResFinalPath)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
describe('redirects /v4 requests to /graphql', () => {
|
||||
test('graphql homepage', async () => {
|
||||
const res = await get('/v4')
|
||||
expect(res.statusCode).toBe(301)
|
||||
const expectedFinalPath = '/en/graphql'
|
||||
expect(res.headers.location).toBe(expectedFinalPath)
|
||||
})
|
||||
|
||||
test('graphql enterprise homepage', async () => {
|
||||
const res = await get('/enterprise/v4', { followAllRedirects: true })
|
||||
expect(res.statusCode).toBe(200)
|
||||
const finalPath = (new URL(res.request.url)).pathname
|
||||
const expectedFinalPath = `/en/enterprise/${enterpriseServerReleases.latest}/user/graphql`
|
||||
expect(finalPath).toBe(expectedFinalPath)
|
||||
})
|
||||
|
||||
test('graphql overview paths', async () => {
|
||||
const oldPath = '/v4/breaking_changes'
|
||||
const newPath = '/graphql/overview/breaking-changes'
|
||||
const res = await get(oldPath)
|
||||
expect(res.statusCode).toBe(301)
|
||||
expect(res.headers.location).toBe(`/en${newPath}`)
|
||||
|
||||
const enterpriseRes = await get(`/enterprise${oldPath}`, { followAllRedirects: true })
|
||||
expect(enterpriseRes.statusCode).toBe(200)
|
||||
const finalPath = (new URL(enterpriseRes.request.url)).pathname
|
||||
const expectedFinalPath = `/enterprise/${enterpriseServerReleases.latest}/user${newPath}`
|
||||
expect(finalPath).toBe(`/en${expectedFinalPath}`)
|
||||
})
|
||||
|
||||
test('graphql reference paths with child pages', async () => {
|
||||
const sclarRes = await get('/en/v4/scalar/boolean')
|
||||
expect(sclarRes.statusCode).toBe(301)
|
||||
const sclarResFinalPath = '/en/graphql/reference/scalars#boolean'
|
||||
expect(sclarRes.headers.location).toBe(sclarResFinalPath)
|
||||
|
||||
const enumRes = await get('/en/v4/enum/searchtype')
|
||||
expect(enumRes.statusCode).toBe(301)
|
||||
const enumResFinalPath = '/en/graphql/reference/enums#searchtype'
|
||||
expect(enumRes.headers.location).toBe(enumResFinalPath)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
test('redirects /v3 requests to /rest', async () => {
|
||||
let expectedFinalPath
|
||||
let res = await get('/v3')
|
||||
expect(res.statusCode).toBe(301)
|
||||
expectedFinalPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/${nonEnterpriseDefaultVersion}/rest`
|
||||
: '/en/rest'
|
||||
expectedFinalPath = `/en/${nonEnterpriseDefaultVersion}/rest`
|
||||
expect(res.headers.location).toBe(expectedFinalPath)
|
||||
|
||||
// REST subresources like activity notifications don't have their own page
|
||||
// any more, so redirect to an anchor on the resource page
|
||||
res = await get('/en/v3/activity')
|
||||
expect(res.statusCode).toBe(301)
|
||||
expectedFinalPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/${nonEnterpriseDefaultVersion}/rest/reference/activity`
|
||||
: '/en/rest/reference/activity'
|
||||
expectedFinalPath = `/en/${nonEnterpriseDefaultVersion}/rest/reference/activity`
|
||||
expect(res.headers.location).toBe(expectedFinalPath)
|
||||
|
||||
// REST subresources like activity notifications don't have their own page
|
||||
// any more, so redirect to an anchor on the resource page
|
||||
res = await get('/en/v3/activity/notifications')
|
||||
expect(res.statusCode).toBe(301)
|
||||
expectedFinalPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/${nonEnterpriseDefaultVersion}/rest/reference/activity#notifications`
|
||||
: '/en/rest/reference/activity#notifications'
|
||||
expectedFinalPath = `/en/${nonEnterpriseDefaultVersion}/rest/reference/activity#notifications`
|
||||
expect(res.headers.location).toBe(expectedFinalPath)
|
||||
|
||||
// trailing slashes are handled separately by the `slashes` module;
|
||||
@@ -152,56 +91,9 @@ describe('developer redirects', () => {
|
||||
// non-reference redirects (e.g. guides)
|
||||
res = await get('/en/v3/guides/basics-of-authentication')
|
||||
expect(res.statusCode).toBe(301)
|
||||
expectedFinalPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/${nonEnterpriseDefaultVersion}/rest/guides/basics-of-authentication`
|
||||
: '/en/rest/guides/basics-of-authentication'
|
||||
expectedFinalPath = `/en/${nonEnterpriseDefaultVersion}/rest/guides/basics-of-authentication`
|
||||
expect(res.headers.location).toBe(expectedFinalPath)
|
||||
})
|
||||
}
|
||||
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
test('redirects /v3 requests to /rest', async () => {
|
||||
let expectedFinalPath
|
||||
let res = await get('/v3')
|
||||
expect(res.statusCode).toBe(301)
|
||||
expectedFinalPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/${nonEnterpriseDefaultVersion}/rest`
|
||||
: '/en/rest'
|
||||
expect(res.headers.location).toBe(expectedFinalPath)
|
||||
|
||||
// REST subresources like activity notifications don't have their own page
|
||||
// any more, so redirect to an anchor on the resource page
|
||||
res = await get('/en/v3/activity')
|
||||
expect(res.statusCode).toBe(301)
|
||||
expectedFinalPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/${nonEnterpriseDefaultVersion}/rest/reference/activity`
|
||||
: '/en/rest/reference/activity'
|
||||
expect(res.headers.location).toBe(expectedFinalPath)
|
||||
|
||||
// REST subresources like activity notifications don't have their own page
|
||||
// any more, so redirect to an anchor on the resource page
|
||||
res = await get('/en/v3/activity/notifications')
|
||||
expect(res.statusCode).toBe(301)
|
||||
expectedFinalPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/${nonEnterpriseDefaultVersion}/rest/reference/activity#notifications`
|
||||
: '/en/rest/reference/activity#notifications'
|
||||
expect(res.headers.location).toBe(expectedFinalPath)
|
||||
|
||||
// trailing slashes are handled separately by the `slashes` module;
|
||||
// any request to a /v3 URL with a trailing slash will be redirected twice
|
||||
res = await get('/en/v3/activity/notifications/')
|
||||
expect(res.statusCode).toBe(301)
|
||||
expect(res.headers.location).toBe('/en/v3/activity/notifications')
|
||||
|
||||
// non-reference redirects (e.g. guides)
|
||||
res = await get('/en/v3/guides/basics-of-authentication')
|
||||
expect(res.statusCode).toBe(301)
|
||||
expectedFinalPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/${nonEnterpriseDefaultVersion}/rest/guides/basics-of-authentication`
|
||||
: '/en/rest/guides/basics-of-authentication'
|
||||
expect(res.headers.location).toBe(expectedFinalPath)
|
||||
})
|
||||
}
|
||||
|
||||
describe('fixtures', () => {
|
||||
// this fixtures file includes paths like /apps and /webhooks, plus /enterprise paths
|
||||
@@ -217,7 +109,6 @@ describe('developer redirects', () => {
|
||||
)
|
||||
})
|
||||
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
// this fixtures file includes /v3 and /enterprise/v3 paths
|
||||
test('rest reference redirects', async () => {
|
||||
await eachOfLimit(
|
||||
@@ -233,27 +124,7 @@ describe('developer redirects', () => {
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
// this fixtures file includes /v3 and /enterprise/v3 paths
|
||||
test('rest reference redirects', async () => {
|
||||
await eachOfLimit(
|
||||
restRedirectFixtures,
|
||||
MAX_CONCURRENT_REQUESTS,
|
||||
async (newPath, oldPath) => {
|
||||
// REST and GraphQL developer Enterprise paths with a version are only supported up to 2.21.
|
||||
// We make an exception to always redirect versionless paths to the latest version.
|
||||
newPath = newPath.replace('/enterprise/user', `/enterprise/${enterpriseServerReleases.latest}/user`)
|
||||
const res = await get(oldPath)
|
||||
expect(res.statusCode, `${oldPath} did not redirect to ${newPath}`).toBe(301)
|
||||
expect(res.headers.location).toBe(newPath)
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
// this fixtures file includes /v4 and /enterprise/v4 paths
|
||||
test('graphql reference redirects', async () => {
|
||||
await eachOfLimit(
|
||||
@@ -269,24 +140,5 @@ describe('developer redirects', () => {
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
if (!process.env.FEATURE_NEW_VERSIONS) {
|
||||
// this fixtures file includes /v4 and /enterprise/v4 paths
|
||||
test('graphql reference redirects', async () => {
|
||||
await eachOfLimit(
|
||||
graphqlRedirectFixtures,
|
||||
MAX_CONCURRENT_REQUESTS,
|
||||
async (newPath, oldPath) => {
|
||||
// REST and GraphQL developer Enterprise paths with a version are only supported up to 2.21.
|
||||
// We make an exception to always redirect versionless paths to the latest version.
|
||||
newPath = newPath.replace('/enterprise/user', `/enterprise/${enterpriseServerReleases.latest}/user`)
|
||||
const res = await get(oldPath)
|
||||
expect(res.statusCode, `${oldPath} did not redirect to ${newPath}`).toBe(301)
|
||||
expect(res.headers.location).toBe(newPath)
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const path = require('path')
|
||||
const { isPlainObject } = require('lodash')
|
||||
const supertest = require('supertest')
|
||||
@@ -33,21 +32,12 @@ describe('redirects', () => {
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
if (process.env.FEATURE_NEW_VERSIONS) {
|
||||
expect(page.redirects['/articles']).toBe(`/en/${nonEnterpriseDefaultVersion}/github`)
|
||||
expect(page.redirects['/en/articles']).toBe(`/en/${nonEnterpriseDefaultVersion}/github`)
|
||||
expect(page.redirects['/common-issues-and-questions']).toBe(`/en/${nonEnterpriseDefaultVersion}/github`)
|
||||
expect(page.redirects['/en/common-issues-and-questions']).toBe(`/en/${nonEnterpriseDefaultVersion}/github`)
|
||||
expect(page.redirects[`/en/enterprise/${enterpriseServerReleases.latest}/user/articles`]).toBe(`/en/enterprise-server@${enterpriseServerReleases.latest}/github`)
|
||||
expect(page.redirects[`/en/enterprise/${enterpriseServerReleases.latest}/user/common-issues-and-questions`]).toBe(`/en/enterprise-server@${enterpriseServerReleases.latest}/github`)
|
||||
} else {
|
||||
expect(page.redirects['/articles']).toBe('/en/github')
|
||||
expect(page.redirects['/en/articles']).toBe('/en/github')
|
||||
expect(page.redirects['/common-issues-and-questions']).toBe('/en/github')
|
||||
expect(page.redirects['/en/common-issues-and-questions']).toBe('/en/github')
|
||||
expect(page.redirects[`/en/enterprise/${enterpriseServerReleases.latest}/user/articles`]).toBe(`/en/enterprise/${enterpriseServerReleases.latest}/user/github`)
|
||||
expect(page.redirects[`/en/enterprise/${enterpriseServerReleases.latest}/user/common-issues-and-questions`]).toBe(`/en/enterprise/${enterpriseServerReleases.latest}/user/github`)
|
||||
}
|
||||
})
|
||||
|
||||
test('converts single `redirect_from` strings values into arrays', async () => {
|
||||
@@ -56,9 +46,7 @@ describe('redirects', () => {
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
const expected = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/${nonEnterpriseDefaultVersion}/github/collaborating-with-issues-and-pull-requests/about-conversations-on-github`
|
||||
: '/en/github/collaborating-with-issues-and-pull-requests/about-conversations-on-github'
|
||||
const expected = `/en/${nonEnterpriseDefaultVersion}/github/collaborating-with-issues-and-pull-requests/about-conversations-on-github`
|
||||
expect(page.redirects['/en/articles/about-discussions-in-issues-and-pull-requests']).toBe(expected)
|
||||
})
|
||||
|
||||
@@ -66,34 +54,26 @@ describe('redirects', () => {
|
||||
test('are preserved in redirected URLs', async () => {
|
||||
const res = await get('/enterprise/admin?query=pulls')
|
||||
expect(res.statusCode).toBe(301)
|
||||
const expected = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/enterprise-server@${enterpriseServerReleases.latest}/admin?query=pulls`
|
||||
: `/en/enterprise/${enterpriseServerReleases.latest}/admin?query=pulls`
|
||||
const expected = `/en/enterprise-server@${enterpriseServerReleases.latest}/admin?query=pulls`
|
||||
expect(res.headers.location).toBe(expected)
|
||||
})
|
||||
|
||||
test('have q= converted to query=', async () => {
|
||||
const res = await get('/en/enterprise/admin?q=pulls')
|
||||
expect(res.statusCode).toBe(301)
|
||||
const expected = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/enterprise-server@${enterpriseServerReleases.latest}/admin?query=pulls`
|
||||
: `/en/enterprise/${enterpriseServerReleases.latest}/admin?query=pulls`
|
||||
const expected = `/en/enterprise-server@${enterpriseServerReleases.latest}/admin?query=pulls`
|
||||
expect(res.headers.location).toBe(expected)
|
||||
})
|
||||
|
||||
test('work with redirected search paths', async () => {
|
||||
const res = await get('/en/enterprise/admin/search?utf8=%E2%9C%93&query=pulls')
|
||||
expect(res.statusCode).toBe(301)
|
||||
const expected = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/enterprise-server@${enterpriseServerReleases.latest}/admin?utf8=%E2%9C%93&query=pulls`
|
||||
: `/en/enterprise/${enterpriseServerReleases.latest}/admin?utf8=%E2%9C%93&query=pulls`
|
||||
const expected = `/en/enterprise-server@${enterpriseServerReleases.latest}/admin?utf8=%E2%9C%93&query=pulls`
|
||||
expect(res.headers.location).toBe(expected)
|
||||
})
|
||||
|
||||
test('do not work on other paths that include "search"', async () => {
|
||||
const reqPath = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/enterprise-server@${enterpriseServerReleases.latest}/admin/configuration/enabling-unified-search-between-github-enterprise-server-and-githubcom`
|
||||
: `/en/enterprise/${enterpriseServerReleases.latest}/admin/configuration/enabling-unified-search-between-github-enterprise-server-and-githubcom`
|
||||
const reqPath = `/en/enterprise-server@${enterpriseServerReleases.latest}/admin/configuration/enabling-unified-search-between-github-enterprise-server-and-githubcom`
|
||||
const res = await get(reqPath)
|
||||
expect(res.statusCode).toBe(200)
|
||||
})
|
||||
@@ -142,18 +122,13 @@ describe('redirects', () => {
|
||||
test('redirect_from for renamed pages', async () => {
|
||||
const { res } = await get('/ja/desktop/contributing-to-projects/changing-a-remote-s-url-from-github-desktop')
|
||||
expect(res.statusCode).toBe(301)
|
||||
const expected = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/ja/${nonEnterpriseDefaultVersion}/desktop/contributing-and-collaborating-using-github-desktop/changing-a-remotes-url-from-github-desktop`
|
||||
: '/ja/desktop/contributing-and-collaborating-using-github-desktop/changing-a-remotes-url-from-github-desktop'
|
||||
const expected = `/ja/${nonEnterpriseDefaultVersion}/desktop/contributing-and-collaborating-using-github-desktop/changing-a-remotes-url-from-github-desktop`
|
||||
expect(res.headers.location).toBe(expected)
|
||||
})
|
||||
})
|
||||
|
||||
describe('enterprise home page', () => {
|
||||
const enterpriseHome = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/enterprise-server@${enterpriseServerReleases.latest}`
|
||||
: `/en/enterprise/${enterpriseServerReleases.latest}`
|
||||
|
||||
const enterpriseHome = `/en/enterprise-server@${enterpriseServerReleases.latest}`
|
||||
const japaneseEnterpriseHome = enterpriseHome.replace('/en/', '/ja/')
|
||||
|
||||
test('/enterprise', async () => {
|
||||
@@ -210,10 +185,7 @@ describe('redirects', () => {
|
||||
})
|
||||
|
||||
describe('enterprise admin', () => {
|
||||
const enterpriseAdmin = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/enterprise-server@${enterpriseServerReleases.latest}/admin`
|
||||
: `/en/enterprise/${enterpriseServerReleases.latest}/admin`
|
||||
|
||||
const enterpriseAdmin = `/en/enterprise-server@${enterpriseServerReleases.latest}/admin`
|
||||
const japaneseEnterpriseAdmin = enterpriseAdmin.replace('/en/', '/ja/')
|
||||
|
||||
test('no language code redirects to english', async () => {
|
||||
@@ -245,9 +217,7 @@ describe('redirects', () => {
|
||||
expect(res.statusCode).toBe(301)
|
||||
const redirectRes = await get(res.headers.location)
|
||||
expect(redirectRes.statusCode).toBe(200)
|
||||
const expected = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/enterprise-server@${enterpriseServerReleases.latest}/admin/enterprise-management/upgrading-github-enterprise-server`
|
||||
: `/en/enterprise/${enterpriseServerReleases.latest}/admin/enterprise-management/upgrading-github-enterprise-server`
|
||||
const expected = `/en/enterprise-server@${enterpriseServerReleases.latest}/admin/enterprise-management/upgrading-github-enterprise-server`
|
||||
expect(res.headers.location).toBe(expected)
|
||||
})
|
||||
|
||||
@@ -265,10 +235,7 @@ describe('redirects', () => {
|
||||
})
|
||||
|
||||
describe('enterprise user homepage', () => {
|
||||
const enterpriseUser = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/enterprise-server@${enterpriseServerReleases.latest}/github`
|
||||
: `/en/enterprise/${enterpriseServerReleases.latest}/user/github`
|
||||
|
||||
const enterpriseUser = `/en/enterprise-server@${enterpriseServerReleases.latest}/github`
|
||||
const japaneseEnterpriseUser = enterpriseUser.replace('/en/', '/ja/')
|
||||
|
||||
test('no product redirects to GitHub.com product', async () => {
|
||||
@@ -297,10 +264,7 @@ describe('redirects', () => {
|
||||
})
|
||||
|
||||
describe('enterprise user article', () => {
|
||||
const userArticle = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/enterprise-server@${enterpriseServerReleases.latest}/github/getting-started-with-github/set-up-git`
|
||||
: `/en/enterprise/${enterpriseServerReleases.latest}/user/github/getting-started-with-github/set-up-git`
|
||||
|
||||
const userArticle = `/en/enterprise-server@${enterpriseServerReleases.latest}/github/getting-started-with-github/set-up-git`
|
||||
const japaneseUserArticle = userArticle.replace('/en/', '/ja/')
|
||||
|
||||
test('no product redirects to GitHub.com product on the latest version', async () => {
|
||||
@@ -335,11 +299,8 @@ describe('redirects', () => {
|
||||
})
|
||||
|
||||
describe('enterprise user article with frontmatter redirect', () => {
|
||||
const userArticle = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/enterprise-server@${enterpriseServerReleases.latest}/github/getting-started-with-github/access-permissions-on-github`
|
||||
: `/en/enterprise/${enterpriseServerReleases.latest}/user/github/getting-started-with-github/access-permissions-on-github`
|
||||
const userArticle = `/en/enterprise-server@${enterpriseServerReleases.latest}/github/getting-started-with-github/access-permissions-on-github`
|
||||
const redirectFromPath = '/articles/what-are-the-different-access-permissions'
|
||||
|
||||
const japaneseUserArticle = userArticle.replace('/en/', '/ja/')
|
||||
|
||||
test('redirects to expected article', async () => {
|
||||
@@ -368,10 +329,7 @@ describe('redirects', () => {
|
||||
})
|
||||
|
||||
describe('desktop guide', () => {
|
||||
const desktopGuide = process.env.FEATURE_NEW_VERSIONS
|
||||
? `/en/${nonEnterpriseDefaultVersion}/desktop/contributing-and-collaborating-using-github-desktop/creating-an-issue-or-pull-request`
|
||||
: '/en/desktop/contributing-and-collaborating-using-github-desktop/creating-an-issue-or-pull-request'
|
||||
|
||||
const desktopGuide = `/en/${nonEnterpriseDefaultVersion}/desktop/contributing-and-collaborating-using-github-desktop/creating-an-issue-or-pull-request`
|
||||
const japaneseDesktopGuides = desktopGuide.replace('/en/', '/ja/')
|
||||
|
||||
test('no language code redirects to english', async () => {
|
||||
|
||||
@@ -1,20 +1,16 @@
|
||||
require('../../lib/feature-flags')
|
||||
const path = require('path')
|
||||
const Page = require('../../lib/page')
|
||||
const loadRedirects = require('../../lib/redirects/precompile')
|
||||
const findPage = require('../../lib/find-page')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('find page', () => {
|
||||
jest.setTimeout(1000 * 1000)
|
||||
|
||||
testFeatureNewVersions('falls back to the English page if it can\'t find a localized page', async () => {
|
||||
test('falls back to the English page if it can\'t find a localized page', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'page-that-does-not-exist-in-translations-dir.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions'),
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
const pages = [page]
|
||||
@@ -28,27 +24,10 @@ describe('find page', () => {
|
||||
expect(typeof localizedPage.title).toBe('string')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('falls back to the English page if it can\'t find a localized page', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'page-that-does-not-exist-in-translations-dir.md',
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
const pages = [page]
|
||||
|
||||
// add named keys
|
||||
for (const page of pages) {
|
||||
pages[`/en/${page.relativePath}`] = page
|
||||
}
|
||||
|
||||
const localizedPage = findPage(page.relativePath, pages, {}, 'ja')
|
||||
expect(typeof localizedPage.title).toBe('string')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('follows redirects', async () => {
|
||||
test('follows redirects', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'page-with-redirects.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions'),
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
const pages = [page]
|
||||
@@ -62,22 +41,4 @@ describe('find page', () => {
|
||||
const redirectedPage = findPage('some-old-path', pages, redirects, 'en')
|
||||
expect(typeof redirectedPage.title).toBe('string')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('follows redirects', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'page-with-redirects.md',
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
const pages = [page]
|
||||
|
||||
// add named keys
|
||||
for (const page of pages) {
|
||||
pages[`/en/${page.relativePath.replace('.md', '')}`] = page
|
||||
}
|
||||
|
||||
const redirects = await loadRedirects(pages)
|
||||
const redirectedPage = findPage('some-old-path', pages, redirects, 'en')
|
||||
expect(typeof redirectedPage.title).toBe('string')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,20 +1,16 @@
|
||||
require('../../lib/feature-flags')
|
||||
const { liquid } = require('../../lib/render-content')
|
||||
const loadPages = require('../../lib/pages')
|
||||
const entities = new (require('html-entities').XmlEntities)()
|
||||
const { set } = require('lodash')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('liquid helper tags', () => {
|
||||
const context = {}
|
||||
let pages
|
||||
beforeAll(async (done) => {
|
||||
pages = await loadPages()
|
||||
context.currentLanguage = 'en'
|
||||
context.currentVersion = process.env.FEATURE_NEW_VERSIONS ? nonEnterpriseDefaultVersion : 'dotcom'
|
||||
context.currentVersion = nonEnterpriseDefaultVersion
|
||||
context.pages = pages
|
||||
context.redirects = []
|
||||
context.site = {}
|
||||
@@ -48,7 +44,7 @@ describe('liquid helper tags', () => {
|
||||
expect(output).toBe(expected)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('link_with_intro tag', async () => {
|
||||
test('link_with_intro tag', async () => {
|
||||
const template = '{% link_with_intro /contributing-and-collaborating-using-github-desktop %}'
|
||||
const page = pages[`/en/${nonEnterpriseDefaultVersion}/desktop/contributing-and-collaborating-using-github-desktop`]
|
||||
const expected = `<a class="link-with-intro Bump-link--hover no-underline" href="/en/desktop/contributing-and-collaborating-using-github-desktop">
|
||||
@@ -59,18 +55,7 @@ describe('liquid helper tags', () => {
|
||||
expect(output).toBe(expected)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('link_with_intro tag', async () => {
|
||||
const template = '{% link_with_intro /contributing-and-collaborating-using-github-desktop %}'
|
||||
const page = pages['/en/desktop/contributing-and-collaborating-using-github-desktop']
|
||||
const expected = `<a class="link-with-intro Bump-link--hover no-underline" href="/en/desktop/contributing-and-collaborating-using-github-desktop">
|
||||
<h4 class="link-with-intro-title">${page.title}<span class="Bump-link-symbol">→</span></h4>
|
||||
</a>
|
||||
<p class="link-with-intro-intro">${page.intro}</p>`
|
||||
const output = entities.decode(await liquid.parseAndRender(template, context))
|
||||
expect(output).toBe(expected)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('homepage_link_with_intro tag', async () => {
|
||||
test('homepage_link_with_intro tag', async () => {
|
||||
const template = '{% homepage_link_with_intro /github/writing-on-github/basic-writing-and-formatting-syntax %}'
|
||||
const page = pages[`/en/${nonEnterpriseDefaultVersion}/github/writing-on-github/basic-writing-and-formatting-syntax`]
|
||||
const expected = `<a class="link-with-intro Bump-link--hover no-underline d-block offset-lg-2 col-lg-8 mb-5" href="/en/github/writing-on-github/basic-writing-and-formatting-syntax">
|
||||
@@ -81,17 +66,6 @@ describe('liquid helper tags', () => {
|
||||
expect(output).toBe(expected)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('homepage_link_with_intro tag', async () => {
|
||||
const template = '{% homepage_link_with_intro /github/writing-on-github/basic-writing-and-formatting-syntax %}'
|
||||
const page = pages['/en/github/writing-on-github/basic-writing-and-formatting-syntax']
|
||||
const expected = `<a class="link-with-intro Bump-link--hover no-underline d-block offset-lg-2 col-lg-8 mb-5" href="/en/github/writing-on-github/basic-writing-and-formatting-syntax">
|
||||
<h4 class="link-with-intro-title h4-mktg">${page.title}<span class="Bump-link-symbol">→</span></h4>
|
||||
<p class="link-with-intro-intro f5">${page.intro}</p>
|
||||
</a>`
|
||||
const output = await liquid.parseAndRender(template, context)
|
||||
expect(output).toBe(expected)
|
||||
})
|
||||
|
||||
test('link_in_list tag', async () => {
|
||||
const template = '{% link_in_list /contributing-and-collaborating-using-github-desktop %}'
|
||||
const expected = '- <a class="article-link link Bump-link--hover no-underline" href="/en/desktop/contributing-and-collaborating-using-github-desktop">Contributing and collaborating using GitHub Desktop</a>'
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const { liquid } = require('../../lib/render-content')
|
||||
const template = `
|
||||
{% if page.version ver_gt "2.13" %}up to date{% endif %}
|
||||
|
||||
@@ -1,16 +1,10 @@
|
||||
require('../../lib/feature-flags')
|
||||
const path = require('path')
|
||||
const cheerio = require('cheerio')
|
||||
const Page = require('../../lib/page')
|
||||
const enterpriseServerReleases = require('../../lib/enterprise-server-releases')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
// get the `free-pro-team` segment of `free-pro-team@latest`
|
||||
const nonEnterpriseDefaultPlan = process.env.FEATURE_NEW_VERSIONS && nonEnterpriseDefaultVersion.split('@')[0]
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
const describeFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? describe : describe.skip
|
||||
const describeFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? describe.skip : describe
|
||||
const nonEnterpriseDefaultPlan = nonEnterpriseDefaultVersion.split('@')[0]
|
||||
|
||||
const opts = {
|
||||
relativePath: 'github/collaborating-with-issues-and-pull-requests/about-branches.md',
|
||||
@@ -25,16 +19,7 @@ describe('Page class', () => {
|
||||
expect(page.fullPath.includes(page.relativePath)).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('does not error out on translated TOC with no links', () => {
|
||||
const page = new Page({
|
||||
relativePath: 'translated-toc-with-no-links-index.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions'),
|
||||
languageCode: 'ja'
|
||||
})
|
||||
expect(typeof page.title).toBe('string')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('does not error out on translated TOC with no links', () => {
|
||||
test('does not error out on translated TOC with no links', () => {
|
||||
const page = new Page({
|
||||
relativePath: 'translated-toc-with-no-links-index.md',
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
@@ -43,51 +28,7 @@ describe('Page class', () => {
|
||||
expect(typeof page.title).toBe('string')
|
||||
})
|
||||
|
||||
describeFeatureNewVersions('showMiniToc page property', () => {
|
||||
const article = new Page({
|
||||
relativePath: 'sample-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
|
||||
const articleWithFM = new Page({
|
||||
showMiniToc: false,
|
||||
relativePath: article.relativePath,
|
||||
basePath: article.basePath,
|
||||
languageCode: article.languageCode
|
||||
})
|
||||
|
||||
const tocPage = new Page({
|
||||
relativePath: 'sample-toc-index.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
|
||||
const mapTopic = new Page({
|
||||
mapTopic: true,
|
||||
relativePath: article.relativePath,
|
||||
basePath: article.basePath,
|
||||
languageCode: article.languageCode
|
||||
})
|
||||
|
||||
test('is true by default on articles', () => {
|
||||
expect(article.showMiniToc).toBe(true)
|
||||
})
|
||||
|
||||
test('is false on articles when set in frontmatter', () => {
|
||||
expect(articleWithFM.showMiniToc).toBe(false)
|
||||
})
|
||||
|
||||
test('is undefined by default on index.md pages', () => {
|
||||
expect(tocPage.showMiniToc).toBeUndefined()
|
||||
})
|
||||
|
||||
test('is undefined by default on map topics', () => {
|
||||
expect(mapTopic.showMiniToc).toBeUndefined()
|
||||
})
|
||||
})
|
||||
|
||||
describeFeatureOldVersions('showMiniToc page property', () => {
|
||||
describe('showMiniToc page property', () => {
|
||||
const article = new Page({
|
||||
relativePath: 'sample-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
@@ -132,7 +73,7 @@ describe('Page class', () => {
|
||||
})
|
||||
|
||||
describe('page.render(context)', () => {
|
||||
testFeatureNewVersions('rewrites links to include the current language prefix and version', async () => {
|
||||
test('rewrites links to include the current language prefix and version', async () => {
|
||||
const page = new Page(opts)
|
||||
const context = {
|
||||
page: { version: nonEnterpriseDefaultVersion },
|
||||
@@ -148,23 +89,7 @@ describe('Page class', () => {
|
||||
expect($(`a[href="/en/${nonEnterpriseDefaultVersion}/articles/about-pull-requests"]`).length).toBeGreaterThan(0)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('rewrites links to include the current language prefix', async () => {
|
||||
const page = new Page(opts)
|
||||
const context = {
|
||||
page: { version: 'dotcom' },
|
||||
currentVersion: 'dotcom',
|
||||
currentPath: '/en/github/collaborating-with-issues-and-pull-requests/about-branches',
|
||||
currentLanguage: 'en'
|
||||
}
|
||||
const rendered = await page.render(context)
|
||||
const $ = cheerio.load(rendered)
|
||||
expect(page.markdown.includes('(/articles/about-pull-requests)')).toBe(true)
|
||||
expect(page.markdown.includes('(/en/articles/about-pull-requests)')).toBe(false)
|
||||
expect($('a[href="/articles/about-pull-requests"]').length).toBe(0)
|
||||
expect($('a[href="/en/articles/about-pull-requests"]').length).toBeGreaterThan(0)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('does not rewrite links that include deprecated enterprise release numbers', async () => {
|
||||
test('does not rewrite links that include deprecated enterprise release numbers', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'admin/enterprise-management/migrating-from-github-enterprise-1110x-to-2123.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
@@ -183,26 +108,7 @@ describe('Page class', () => {
|
||||
expect($('a[href="/en/enterprise/11.10.340/admin/articles/upgrading-to-the-latest-release"]').length).toBeGreaterThan(0)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('does not rewrite links that include deprecated enterprise release numbers', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'enterprise/admin/enterprise-management/migrating-from-github-enterprise-1110x-to-2123.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
const context = {
|
||||
page: { version: enterpriseServerReleases.latest },
|
||||
currentVersion: enterpriseServerReleases.latest,
|
||||
currentPath: `/en/enterprise/${enterpriseServerReleases.latest}/admin/enterprise-management/migrating-from-github-enterprise-1110x-to-2123`,
|
||||
currentLanguage: 'en'
|
||||
}
|
||||
const rendered = await page.render(context)
|
||||
const $ = cheerio.load(rendered)
|
||||
expect(page.markdown.includes('(/enterprise/11.10.340/admin/articles/upgrading-to-the-latest-release/)')).toBe(true)
|
||||
expect($(`a[href="/en/enterprise/${enterpriseServerReleases.latest}/admin/articles/upgrading-to-the-latest-release"]`).length).toBe(0)
|
||||
expect($('a[href="/en/enterprise/11.10.340/admin/articles/upgrading-to-the-latest-release"]').length).toBeGreaterThan(0)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('does not rewrite links to external redirects', async () => {
|
||||
test('does not rewrite links to external redirects', async () => {
|
||||
const page = new Page(opts)
|
||||
page.markdown = `${page.markdown}\n\nSee [Capistrano](/capistrano).`
|
||||
const context = {
|
||||
@@ -215,20 +121,6 @@ describe('Page class', () => {
|
||||
const $ = cheerio.load(rendered)
|
||||
expect($('a[href="/capistrano"]').length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('does not rewrite links to external redirects', async () => {
|
||||
const page = new Page(opts)
|
||||
page.markdown = `${page.markdown}\n\nSee [Capistrano](/capistrano).`
|
||||
const context = {
|
||||
page: { version: 'dotcom' },
|
||||
currentVersion: 'dotcom',
|
||||
currentPath: '/en/github/collaborating-with-issues-and-pull-requests/about-branches',
|
||||
currentLanguage: 'en'
|
||||
}
|
||||
const rendered = await page.render(context)
|
||||
const $ = cheerio.load(rendered)
|
||||
expect($('a[href="/capistrano"]').length).toBe(1)
|
||||
})
|
||||
})
|
||||
|
||||
test('preserves `languageCode`', () => {
|
||||
@@ -236,85 +128,49 @@ describe('Page class', () => {
|
||||
expect(page.languageCode).toBe('en')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('parentProductId getter', () => {
|
||||
test('parentProductId getter', () => {
|
||||
let page = new Page({
|
||||
relativePath: 'github/some-category/some-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions/products'),
|
||||
basePath: path.join(__dirname, '../fixtures/products'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.parentProductId).toBe('github')
|
||||
|
||||
page = new Page({
|
||||
relativePath: 'actions/some-category/some-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions/products'),
|
||||
basePath: path.join(__dirname, '../fixtures/products'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.parentProductId).toBe('actions')
|
||||
|
||||
page = new Page({
|
||||
relativePath: 'admin/some-category/some-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions/products'),
|
||||
basePath: path.join(__dirname, '../fixtures/products'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.parentProductId).toBe('admin')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('parentProductId getter', () => {
|
||||
let page = new Page({
|
||||
relativePath: 'github/some-category/some-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures/products'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.parentProductId).toBe('github')
|
||||
|
||||
page = new Page({
|
||||
relativePath: 'actions/some-category/some-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures/products'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.parentProductId).toBe('actions')
|
||||
|
||||
page = new Page({
|
||||
relativePath: 'enterprise/some-category/some-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures/products'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.parentProductId).toBe('enterpriseServer')
|
||||
})
|
||||
|
||||
describe('permalinks', () => {
|
||||
test('is an array', () => {
|
||||
const page = new Page(opts)
|
||||
expect(Array.isArray(page.permalinks)).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('has a key for every supported enterprise version (and no deprecated versions)', () => {
|
||||
test('has a key for every supported enterprise version (and no deprecated versions)', () => {
|
||||
const page = new Page(opts)
|
||||
const pageVersions = page.permalinks.map(permalink => permalink.pageVersion)
|
||||
expect(enterpriseServerReleases.supported.every(version => pageVersions.includes(`enterprise-server@${version}`))).toBe(true)
|
||||
expect(enterpriseServerReleases.deprecated.every(version => !pageVersions.includes(`enterprise-server@${version}`))).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('has a key for every supported enterprise version (and no deprecated versions)', () => {
|
||||
const page = new Page(opts)
|
||||
const pageVersions = page.permalinks.map(permalink => permalink.pageVersion)
|
||||
expect(enterpriseServerReleases.supported.every(version => pageVersions.includes(version))).toBe(true)
|
||||
expect(enterpriseServerReleases.deprecated.every(version => !pageVersions.includes(version))).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('sets versioned values', () => {
|
||||
test('sets versioned values', () => {
|
||||
const page = new Page(opts)
|
||||
expect(page.permalinks.find(permalink => permalink.pageVersion === nonEnterpriseDefaultVersion).href).toBe(`/en/${nonEnterpriseDefaultVersion}/github/collaborating-with-issues-and-pull-requests/about-branches`)
|
||||
expect(page.permalinks.find(permalink => permalink.pageVersion === `enterprise-server@${enterpriseServerReleases.oldestSupported}`).href).toBe(`/en/enterprise-server@${enterpriseServerReleases.oldestSupported}/github/collaborating-with-issues-and-pull-requests/about-branches`)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('sets dotcom and enterprise values', () => {
|
||||
const page = new Page(opts)
|
||||
expect(page.permalinks.find(permalink => permalink.pageVersion === 'dotcom').href).toBe('/en/github/collaborating-with-issues-and-pull-requests/about-branches')
|
||||
expect(page.permalinks.find(permalink => permalink.pageVersion === enterpriseServerReleases.oldestSupported).href).toBe(`/en/enterprise/${enterpriseServerReleases.oldestSupported}/user/github/collaborating-with-issues-and-pull-requests/about-branches`)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('homepage permalinks', () => {
|
||||
test('homepage permalinks', () => {
|
||||
const page = new Page({
|
||||
relativePath: 'index.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
@@ -325,16 +181,7 @@ describe('Page class', () => {
|
||||
expect(page.permalinks.find(permalink => permalink.pageVersion === 'homepage').href).toBe('/en')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('homepage permalinks', () => {
|
||||
const page = new Page({
|
||||
relativePath: 'index.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.permalinks[0].href).toBe('/en')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('permalinks for dotcom-only pages', () => {
|
||||
test('permalinks for dotcom-only pages', () => {
|
||||
const page = new Page({
|
||||
relativePath: 'github/getting-started-with-github/signing-up-for-a-new-github-account.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
@@ -344,20 +191,10 @@ describe('Page class', () => {
|
||||
expect(page.permalinks.length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('permalinks for dotcom-only pages', () => {
|
||||
const page = new Page({
|
||||
relativePath: 'github/getting-started-with-github/signing-up-for-a-new-github-account.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.permalinks.find(permalink => permalink.pageVersion === 'dotcom').href).toBe('/en/github/getting-started-with-github/signing-up-for-a-new-github-account')
|
||||
expect(page.permalinks.length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('permalinks for enterprise-only pages', () => {
|
||||
test('permalinks for enterprise-only pages', () => {
|
||||
const page = new Page({
|
||||
relativePath: 'products/admin/some-category/some-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions'),
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.permalinks.find(permalink => permalink.pageVersion === `enterprise-server@${enterpriseServerReleases.latest}`).href).toBe(`/en/enterprise-server@${enterpriseServerReleases.latest}/products/admin/some-category/some-article`)
|
||||
@@ -366,39 +203,17 @@ describe('Page class', () => {
|
||||
expect(pageVersions.includes(nonEnterpriseDefaultVersion)).toBe(false)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('permalinks for enterprise-only pages', () => {
|
||||
const page = new Page({
|
||||
relativePath: 'products/enterprise/some-category/some-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.permalinks.find(permalink => permalink.pageVersion === enterpriseServerReleases.latest).href).toBe(`/en/enterprise/${enterpriseServerReleases.latest}/user/products/enterprise/some-category/some-article`)
|
||||
const pageVersions = page.permalinks.map(permalink => permalink.pageVersion)
|
||||
expect(pageVersions.length).toBeGreaterThan(1)
|
||||
expect(pageVersions.includes('dotcom')).toBe(false)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('permalinks for non-GitHub.com products without Enterprise versions', () => {
|
||||
test('permalinks for non-GitHub.com products without Enterprise versions', () => {
|
||||
const page = new Page({
|
||||
relativePath: 'products/actions/some-category/some-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions'),
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.permalinks.find(permalink => permalink.pageVersion === nonEnterpriseDefaultVersion).href).toBe(`/en/${nonEnterpriseDefaultVersion}/products/actions/some-category/some-article`)
|
||||
expect(page.permalinks.length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('permalinks for non-GitHub.com products without Enterprise versions', () => {
|
||||
const page = new Page({
|
||||
relativePath: 'products/actions/some-category/some-article.md',
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.permalinks.find(permalink => permalink.pageVersion === 'dotcom').href).toBe('/en/products/actions/some-category/some-article')
|
||||
expect(page.permalinks.length).toBe(1)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('permalinks for non-GitHub.com products with Enterprise versions', () => {
|
||||
test('permalinks for non-GitHub.com products with Enterprise versions', () => {
|
||||
const page = new Page({
|
||||
relativePath: '/insights/installing-and-configuring-github-insights/about-github-insights.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
@@ -409,18 +224,6 @@ describe('Page class', () => {
|
||||
expect(pageVersions.length).toBeGreaterThan(1)
|
||||
expect(pageVersions.includes(nonEnterpriseDefaultVersion)).toBe(false)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('permalinks for non-GitHub.com products with Enterprise versions', () => {
|
||||
const page = new Page({
|
||||
relativePath: '/insights/installing-and-configuring-github-insights/about-github-insights.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.permalinks.find(permalink => permalink.pageVersion === enterpriseServerReleases.latest).href).toBe(`/en/enterprise/${enterpriseServerReleases.latest}/user/insights/installing-and-configuring-github-insights/about-github-insights`)
|
||||
const pageVersions = page.permalinks.map(permalink => permalink.pageVersion)
|
||||
expect(pageVersions.length).toBeGreaterThan(1)
|
||||
expect(pageVersions.includes('dotcom')).toBe(false)
|
||||
})
|
||||
})
|
||||
|
||||
describe('Page.parseFrontmatter()', () => {
|
||||
@@ -453,16 +256,7 @@ describe('Page class', () => {
|
||||
})
|
||||
})
|
||||
|
||||
testFeatureNewVersions('fixes translated frontmatter that includes verdadero', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'article-with-mislocalized-frontmatter.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions'),
|
||||
languageCode: 'ja'
|
||||
})
|
||||
expect(page.mapTopic).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('fixes translated frontmatter that includes verdadero', async () => {
|
||||
test('fixes translated frontmatter that includes verdadero', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'article-with-mislocalized-frontmatter.md',
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
@@ -476,7 +270,7 @@ describe('Page class', () => {
|
||||
// There are none of these in the content at this time!
|
||||
})
|
||||
|
||||
testFeatureNewVersions('pages that apply to newer enterprise versions', async () => {
|
||||
test('pages that apply to newer enterprise versions', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'github/administering-a-repository/managing-the-automatic-deletion-of-branches.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
@@ -486,17 +280,7 @@ describe('Page class', () => {
|
||||
expect(page.versions['enterprise-server']).toBe('>=2.19')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('pages that apply to newer enterprise versions', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'github/administering-a-repository/managing-the-automatic-deletion-of-branches.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect('dotcom' in page.productVersions).toBe(true)
|
||||
expect(page.productVersions.enterprise).toBe('>=2.19')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('index page', async () => {
|
||||
test('index page', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'index.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
@@ -506,27 +290,7 @@ describe('Page class', () => {
|
||||
expect(page.versions['enterprise-server']).toBe('*')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('index page', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'index.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect(page.productVersions.dotcom).toBe('*')
|
||||
})
|
||||
|
||||
// Note there is no more enterprise/index.md page with the latest versioning changes
|
||||
testFeatureOldVersions('enterprise index page', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'enterprise/index.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
expect('dotcom' in page.productVersions).toBe(false)
|
||||
expect(page.productVersions.enterprise).toBe('*')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('enterprise admin index page', async () => {
|
||||
test('enterprise admin index page', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'admin/index.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
@@ -536,34 +300,11 @@ describe('Page class', () => {
|
||||
expect(nonEnterpriseDefaultPlan in page.versions).toBe(false)
|
||||
expect(page.versions['enterprise-server']).toBe('*')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('enterprise admin index page', async () => {
|
||||
const page = new Page({
|
||||
relativePath: 'enterprise/admin/index.md',
|
||||
basePath: path.join(__dirname, '../../content'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
|
||||
expect('dotcom' in page.productVersions).toBe(false)
|
||||
expect(page.productVersions.enterprise).toBe('*')
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('catches errors thrown in Page class', () => {
|
||||
testFeatureNewVersions('frontmatter parsing error', () => {
|
||||
function getPage () {
|
||||
return new Page({
|
||||
relativePath: 'page-with-frontmatter-error.md',
|
||||
basePath: path.join(__dirname, '../fixtures/new-versions'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
}
|
||||
|
||||
expect(getPage).toThrowError('invalid frontmatter entry')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('frontmatter parsing error', () => {
|
||||
test('frontmatter parsing error', () => {
|
||||
function getPage () {
|
||||
return new Page({
|
||||
relativePath: 'page-with-frontmatter-error.md',
|
||||
@@ -575,7 +316,7 @@ describe('catches errors thrown in Page class', () => {
|
||||
expect(getPage).toThrowError('invalid frontmatter entry')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('missing versions frontmatter', () => {
|
||||
test('missing versions frontmatter', () => {
|
||||
function getPage () {
|
||||
return new Page({
|
||||
relativePath: 'page-with-missing-product-versions.md',
|
||||
@@ -586,16 +327,4 @@ describe('catches errors thrown in Page class', () => {
|
||||
|
||||
expect(getPage).toThrowError('versions')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('missing productVersions', () => {
|
||||
function getPage () {
|
||||
return new Page({
|
||||
relativePath: 'page-with-missing-product-versions.md',
|
||||
basePath: path.join(__dirname, '../fixtures'),
|
||||
languageCode: 'en'
|
||||
})
|
||||
}
|
||||
|
||||
expect(getPage).toThrowError('productVersions')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const path = require('path')
|
||||
const loadPages = require('../../lib/pages')
|
||||
const languageCodes = Object.keys(require('../../lib/languages'))
|
||||
|
||||
@@ -1,17 +1,13 @@
|
||||
require('../../lib/feature-flags')
|
||||
const Permalink = require('../../lib/permalink')
|
||||
const enterpriseServerReleases = require('../../lib/enterprise-server-releases')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
// Permalink constructor requires: languageCode, pageVersion, relativePath, title
|
||||
// Permalink.derive requires: languageCode, relativePath, title, versions (<- FM prop)
|
||||
|
||||
describe('Permalink class', () => {
|
||||
// We can only use Permalink.derive to get the special 'homepage' permalink
|
||||
testFeatureNewVersions('derives info for unversioned homepage', () => {
|
||||
test('derives info for unversioned homepage', () => {
|
||||
const versions = {
|
||||
'free-pro-team': '*',
|
||||
'enterprise-server': '*'
|
||||
@@ -22,68 +18,35 @@ describe('Permalink class', () => {
|
||||
expect(homepagePermalink.href).toBe('/en')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('derives info for homepage', () => {
|
||||
const permalink = new Permalink('en', 'dotcom', 'index.md', 'Hello World')
|
||||
expect(permalink.pageVersionTitle).toBe('GitHub.com')
|
||||
expect(permalink.href).toBe('/en')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('derives info for non-enterprise versioned homepage', () => {
|
||||
test('derives info for non-enterprise versioned homepage', () => {
|
||||
const permalink = new Permalink('en', nonEnterpriseDefaultVersion, 'index.md', 'Hello World')
|
||||
expect(permalink.pageVersionTitle).toBe('Free, Pro, and Team')
|
||||
expect(permalink.href).toBe(`/en/${nonEnterpriseDefaultVersion}`)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('derives info for enterprise server versioned homepage', () => {
|
||||
test('derives info for enterprise server versioned homepage', () => {
|
||||
const permalink = new Permalink('en', `enterprise-server@${enterpriseServerReleases.latest}`, 'index.md', 'Hello World')
|
||||
expect(permalink.pageVersionTitle).toBe(`Enterprise Server ${enterpriseServerReleases.latest}`)
|
||||
expect(permalink.href).toBe(`/en/enterprise-server@${enterpriseServerReleases.latest}`)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('derives info for GitHub.com homepage', () => {
|
||||
test('derives info for GitHub.com homepage', () => {
|
||||
const permalink = new Permalink('en', nonEnterpriseDefaultVersion, 'github/index.md', 'Hello World')
|
||||
expect(permalink.pageVersionTitle).toBe('Free, Pro, and Team')
|
||||
expect(permalink.href).toBe(`/en/${nonEnterpriseDefaultVersion}/github`)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('derives info for GitHub.com homepage', () => {
|
||||
const permalink = new Permalink('en', 'dotcom', 'github/index.md', 'Hello World')
|
||||
expect(permalink.pageVersionTitle).toBe('GitHub.com')
|
||||
expect(permalink.href).toBe('/en/github')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('derives info for enterprise version of GitHub.com homepage', () => {
|
||||
test('derives info for enterprise version of GitHub.com homepage', () => {
|
||||
const permalink = new Permalink('en', `enterprise-server@${enterpriseServerReleases.latest}`, 'github/index.md', 'Hello World')
|
||||
expect(permalink.pageVersionTitle).toBe(`Enterprise Server ${enterpriseServerReleases.latest}`)
|
||||
expect(permalink.href).toBe(`/en/enterprise-server@${enterpriseServerReleases.latest}/github`)
|
||||
})
|
||||
|
||||
testFeatureOldVersions('derives info for enterprise version of GitHub.com homepage', () => {
|
||||
const permalink = new Permalink('en', enterpriseServerReleases.latest, 'github/index.md', 'Hello World')
|
||||
expect(permalink.pageVersionTitle).toBe(`Enterprise Server ${enterpriseServerReleases.latest}`)
|
||||
expect(permalink.href).toBe(`/en/enterprise/${enterpriseServerReleases.latest}/user/github`)
|
||||
})
|
||||
|
||||
// Note enterprise/index.md no longer exists after the latest versioning changes
|
||||
testFeatureOldVersions('derives info for enterprise homepage', () => {
|
||||
const permalink = new Permalink('en', enterpriseServerReleases.latest, 'enterprise/index.md', 'Hello World')
|
||||
expect(permalink.pageVersionTitle).toBe(`Enterprise Server ${enterpriseServerReleases.latest}`)
|
||||
expect(permalink.href).toBe(`/en/enterprise/${enterpriseServerReleases.latest}`)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('preserves input properties', () => {
|
||||
test('preserves input properties', () => {
|
||||
const permalink = new Permalink('en', nonEnterpriseDefaultVersion, 'index.md', 'Hello World')
|
||||
expect(permalink.languageCode).toBe('en')
|
||||
expect(permalink.pageVersion).toBe(nonEnterpriseDefaultVersion)
|
||||
expect(permalink.relativePath).toBe('index.md')
|
||||
expect(permalink.title).toBe('Hello World')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('preserves input properties', () => {
|
||||
const permalink = new Permalink('en', 'dotcom', 'index.md', 'Hello World')
|
||||
expect(permalink.languageCode).toBe('en')
|
||||
expect(permalink.pageVersion).toBe('dotcom')
|
||||
expect(permalink.relativePath).toBe('index.md')
|
||||
expect(permalink.title).toBe('Hello World')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
require('../../lib/feature-flags')
|
||||
const revalidator = require('revalidator')
|
||||
const products = require('../../lib/all-products')
|
||||
const schema = require('../../lib/products-schema')
|
||||
const { getDOM, getJSON } = require('../helpers')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
|
||||
const testFeatureNewVersions = process.env.FEATURE_NEW_VERSIONS ? test : test.skip
|
||||
const testFeatureOldVersions = process.env.FEATURE_NEW_VERSIONS ? test.skip : test
|
||||
|
||||
describe('products module', () => {
|
||||
test('is an object with product ids as keys', () => {
|
||||
expect('github' in products).toBe(true)
|
||||
@@ -26,7 +22,7 @@ describe('products module', () => {
|
||||
describe('mobile-only products nav', () => {
|
||||
jest.setTimeout(5 * 60 * 1000)
|
||||
|
||||
testFeatureNewVersions('renders current product on various product pages for each product', async () => {
|
||||
test('renders current product on various product pages for each product', async () => {
|
||||
// Note the unversioned homepage at `/` does not have a product selected in the mobile dropdown
|
||||
expect((await getDOM('/github'))('#current-product').text().trim()).toBe('GitHub.com')
|
||||
|
||||
@@ -41,22 +37,6 @@ describe('mobile-only products nav', () => {
|
||||
// localized
|
||||
expect((await getDOM('/ja/desktop'))('#current-product').text().trim()).toBe('GitHub Desktop')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('renders current product on various product pages for each product', async () => {
|
||||
expect((await getDOM('/'))('#current-product').text().trim()).toBe('GitHub.com')
|
||||
expect((await getDOM('/github'))('#current-product').text().trim()).toBe('GitHub.com')
|
||||
|
||||
// Enterprise user and server
|
||||
expect((await getDOM('/en/enterprise/admin'))('#current-product').text().trim()).toBe('Enterprise Server')
|
||||
expect((await getDOM('/en/enterprise/user/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address'))('#current-product').text().trim()).toBe('GitHub.com')
|
||||
|
||||
expect((await getDOM('/desktop'))('#current-product').text().trim()).toBe('GitHub Desktop')
|
||||
|
||||
expect((await getDOM('/actions'))('#current-product').text().trim()).toBe('GitHub Actions')
|
||||
|
||||
// localized
|
||||
expect((await getDOM('/ja/desktop'))('#current-product').text().trim()).toBe('GitHub Desktop')
|
||||
})
|
||||
})
|
||||
|
||||
describe('products middleware', () => {
|
||||
@@ -67,20 +47,13 @@ describe('products middleware', () => {
|
||||
expect(Array.isArray(products)).toBe(true)
|
||||
})
|
||||
|
||||
testFeatureNewVersions('adds res.context.currentProduct string on homepage', async () => {
|
||||
test('adds res.context.currentProduct string on homepage', async () => {
|
||||
const currentProduct = await getJSON('/en?json=currentProduct')
|
||||
expect(currentProduct).toBe('homepage')
|
||||
})
|
||||
|
||||
testFeatureNewVersions('adds res.context.currentProduct object', async () => {
|
||||
test('adds res.context.currentProduct object', async () => {
|
||||
const currentProduct = await getJSON(`/en/${nonEnterpriseDefaultVersion}/github?json=currentProduct`)
|
||||
expect(currentProduct).toBe('github')
|
||||
})
|
||||
|
||||
testFeatureOldVersions('adds res.context.currentProduct object', async () => {
|
||||
const currentProduct = await getJSON('/en?json=currentProduct')
|
||||
expect('id' in currentProduct).toBe(true)
|
||||
expect('name' in currentProduct).toBe(true)
|
||||
expect('dir' in currentProduct).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
require('../../lib/feature-flags')
|
||||
const loadPages = require('../../lib/pages')
|
||||
const renderContent = require('../../lib/render-content')
|
||||
const allVersions = Object.keys(require('../../lib/all-versions'))
|
||||
const { oldVersions } = require('../../lib/old-versions-utils')
|
||||
|
||||
const versions = process.env.FEATURE_NEW_VERSIONS ? allVersions : oldVersions
|
||||
|
||||
describe('toc links', () => {
|
||||
jest.setTimeout(3 * 60 * 1000)
|
||||
@@ -17,7 +13,7 @@ describe('toc links', () => {
|
||||
|
||||
const issues = []
|
||||
|
||||
for (const pageVersion of versions) {
|
||||
for (const pageVersion of allVersions) {
|
||||
for (const page of englishIndexPages) {
|
||||
// skip page if it doesn't have a permalink for the current product version
|
||||
if (!page.permalinks.some(permalink => permalink.pageVersion === pageVersion)) continue
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require('../../lib/feature-flags')
|
||||
const revalidator = require('revalidator')
|
||||
const allVersions = require('../../lib/all-versions')
|
||||
const { latest } = require('../../lib/enterprise-server-releases')
|
||||
@@ -6,9 +5,7 @@ const schema = require('../../lib/versions-schema')
|
||||
const { getJSON } = require('../helpers')
|
||||
const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version')
|
||||
|
||||
const describeIf = process.env.FEATURE_NEW_VERSIONS ? describe : describe.skip
|
||||
|
||||
describeIf('versions module', () => {
|
||||
describe('versions module', () => {
|
||||
test('is an object with versions as keys', () => {
|
||||
expect(nonEnterpriseDefaultVersion in allVersions).toBe(true)
|
||||
expect(`enterprise-server@${latest}` in allVersions).toBe(true)
|
||||
@@ -23,7 +20,7 @@ describeIf('versions module', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describeIf('versions middleware', () => {
|
||||
describe('versions middleware', () => {
|
||||
jest.setTimeout(5 * 60 * 1000)
|
||||
|
||||
test('adds res.context.allVersions object', async () => {
|
||||
|
||||
Reference in New Issue
Block a user