Merge branch 'main' into patch-2
This commit is contained in:
74
.github/actions-scripts/staging-deploy.js
vendored
Executable file
74
.github/actions-scripts/staging-deploy.js
vendored
Executable file
@@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import parsePrUrl from '../../script/deployment/parse-pr-url.js'
|
||||
import getOctokit from '../../script/helpers/github.js'
|
||||
import deployToStaging from '../../script/deployment/deploy-to-staging.js'
|
||||
|
||||
const { GITHUB_TOKEN, HEROKU_API_TOKEN } = process.env
|
||||
|
||||
// Exit if GitHub Actions PAT is not found
|
||||
if (!GITHUB_TOKEN) {
|
||||
throw new Error('You must supply a GITHUB_TOKEN environment variable!')
|
||||
}
|
||||
|
||||
// Exit if Heroku API token is not found
|
||||
if (!HEROKU_API_TOKEN) {
|
||||
throw new Error('You must supply a HEROKU_API_TOKEN environment variable!')
|
||||
}
|
||||
|
||||
// This helper uses the `GITHUB_TOKEN` implicitly!
|
||||
// We're using our usual version of Octokit vs. the provided `github`
|
||||
// instance to avoid versioning discrepancies.
|
||||
const octokit = getOctokit()
|
||||
|
||||
const { RUN_ID, PR_URL, SOURCE_BLOB_URL, CONTEXT_NAME, ACTIONS_RUN_LOG, HEAD_SHA } = process.env
|
||||
if (!RUN_ID) {
|
||||
throw new Error('$RUN_ID not set')
|
||||
}
|
||||
if (!PR_URL) {
|
||||
throw new Error('$PR_URL not set')
|
||||
}
|
||||
if (!SOURCE_BLOB_URL) {
|
||||
throw new Error('$SOURCE_BLOB_URL not set')
|
||||
}
|
||||
if (!CONTEXT_NAME) {
|
||||
throw new Error('$CONTEXT_NAME not set')
|
||||
}
|
||||
if (!ACTIONS_RUN_LOG) {
|
||||
throw new Error('$ACTIONS_RUN_LOG not set')
|
||||
}
|
||||
if (!HEAD_SHA) {
|
||||
throw new Error('$HEAD_SHA not set')
|
||||
}
|
||||
|
||||
const { owner, repo, pullNumber } = parsePrUrl(PR_URL)
|
||||
if (!owner || !repo || !pullNumber) {
|
||||
throw new Error(
|
||||
`'pullRequestUrl' input must match URL format 'https://github.com/github/(docs|docs-internal)/pull/123' but was '${PR_URL}'`
|
||||
)
|
||||
}
|
||||
|
||||
const { data: pullRequest } = await octokit.pulls.get({
|
||||
owner,
|
||||
repo,
|
||||
pull_number: pullNumber,
|
||||
})
|
||||
|
||||
await deployToStaging({
|
||||
octokit,
|
||||
pullRequest,
|
||||
forceRebuild: false,
|
||||
// These parameters will ONLY be set by Actions
|
||||
sourceBlobUrl: SOURCE_BLOB_URL,
|
||||
runId: RUN_ID,
|
||||
})
|
||||
|
||||
await octokit.repos.createCommitStatus({
|
||||
owner,
|
||||
repo,
|
||||
sha: HEAD_SHA,
|
||||
context: CONTEXT_NAME,
|
||||
state: 'success',
|
||||
description: 'Successfully deployed! See logs.',
|
||||
target_url: ACTIONS_RUN_LOG,
|
||||
})
|
||||
50
.github/actions-scripts/staging-undeploy.js
vendored
Executable file
50
.github/actions-scripts/staging-undeploy.js
vendored
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import parsePrUrl from '../../script/deployment/parse-pr-url.js'
|
||||
import getOctokit from '../../script/helpers/github.js'
|
||||
import undeployFromStaging from '../../script/deployment/undeploy-from-staging.js'
|
||||
|
||||
const { GITHUB_TOKEN, HEROKU_API_TOKEN } = process.env
|
||||
|
||||
// Exit if GitHub Actions PAT is not found
|
||||
if (!GITHUB_TOKEN) {
|
||||
throw new Error('You must supply a GITHUB_TOKEN environment variable!')
|
||||
}
|
||||
|
||||
// Exit if Heroku API token is not found
|
||||
if (!HEROKU_API_TOKEN) {
|
||||
throw new Error('You must supply a HEROKU_API_TOKEN environment variable!')
|
||||
}
|
||||
|
||||
// This helper uses the `GITHUB_TOKEN` implicitly!
|
||||
// We're using our usual version of Octokit vs. the provided `github`
|
||||
// instance to avoid versioning discrepancies.
|
||||
const octokit = getOctokit()
|
||||
|
||||
const { RUN_ID, PR_URL } = process.env
|
||||
|
||||
if (!RUN_ID) {
|
||||
throw new Error('$RUN_ID not set')
|
||||
}
|
||||
if (!PR_URL) {
|
||||
throw new Error('$PR_URL not set')
|
||||
}
|
||||
|
||||
const { owner, repo, pullNumber } = parsePrUrl(PR_URL)
|
||||
if (!owner || !repo || !pullNumber) {
|
||||
throw new Error(
|
||||
`'pullRequestUrl' input must match URL format 'https://github.com/github/(docs|docs-internal)/pull/123' but was '${PR_URL}'`
|
||||
)
|
||||
}
|
||||
|
||||
const { data: pullRequest } = await octokit.pulls.get({
|
||||
owner,
|
||||
repo,
|
||||
pull_number: pullNumber,
|
||||
})
|
||||
|
||||
await undeployFromStaging({
|
||||
octokit,
|
||||
pullRequest: pullRequest,
|
||||
runId: RUN_ID,
|
||||
})
|
||||
@@ -27,12 +27,12 @@ jobs:
|
||||
include:
|
||||
- language: pt-BR
|
||||
language_code: pt
|
||||
# - language: zh-CN
|
||||
# language_code: cn
|
||||
# - language: ja-JP
|
||||
# language_code: ja
|
||||
# - language: es-ES
|
||||
# language_code: es
|
||||
- language: zh-CN
|
||||
language_code: cn
|
||||
- language: ja-JP
|
||||
language_code: ja
|
||||
- language: es-ES
|
||||
language_code: es
|
||||
steps:
|
||||
- name: Set branch name
|
||||
id: set-branch
|
||||
@@ -89,7 +89,7 @@ jobs:
|
||||
|
||||
- name: Commit crowdin sync
|
||||
run: |
|
||||
git add .
|
||||
git add translations/${{ matrix.language }}
|
||||
git commit -m "Add crowdin translations" || echo "Nothing to commit"
|
||||
|
||||
- name: 'Setup node'
|
||||
@@ -102,13 +102,13 @@ jobs:
|
||||
- name: Reset files with broken liquid tags
|
||||
run: |
|
||||
node script/i18n/reset-files-with-broken-liquid-tags.js --language=${{ matrix.language_code }}
|
||||
git add . && git commit -m "run script/i18n/reset-files-with-broken-liquid-tags.js --language=${{ matrix.language_code }}" || echo "Nothing to commit"
|
||||
git add translations/${{ matrix.language }} && git commit -m "run script/i18n/reset-files-with-broken-liquid-tags.js --language=${{ matrix.language_code }}" || echo "Nothing to commit"
|
||||
|
||||
# step 5 in docs-engineering/crowdin.md using script from docs-internal#22709
|
||||
- name: Reset known broken files
|
||||
run: |
|
||||
node script/i18n/reset-known-broken-translation-files.js
|
||||
git add . && git commit -m "run script/i18n/reset-known-broken-translation-files.js" || echo "Nothing to commit"
|
||||
git add translations/${{ matrix.language }} && git commit -m "run script/i18n/reset-known-broken-translation-files.js" || echo "Nothing to commit"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.DOCUBOT_REPO_PAT }}
|
||||
|
||||
@@ -116,25 +116,32 @@ jobs:
|
||||
- name: Homogenize frontmatter
|
||||
run: |
|
||||
node script/i18n/homogenize-frontmatter.js
|
||||
git add . && git commit -m "Run script/i18n/homogenize-frontmatter.js" || echo "Nothing to commit"
|
||||
git add translations/${{ matrix.language }} && git commit -m "Run script/i18n/homogenize-frontmatter.js" || echo "Nothing to commit"
|
||||
|
||||
# step 7 in docs-engineering/crowdin.md
|
||||
- name: Fix translation errors
|
||||
run: |
|
||||
node script/i18n/fix-translation-errors.js
|
||||
git add . && git commit -m "Run script/i18n/fix-translation-errors.js" || echo "Nothing to commit"
|
||||
git add translations/${{ matrix.language }} && git commit -m "Run script/i18n/fix-translation-errors.js" || echo "Nothing to commit"
|
||||
|
||||
# step 8a in docs-engineering/crowdin.md
|
||||
- name: Check parsing
|
||||
run: |
|
||||
node script/i18n/lint-translation-files.js --check parsing
|
||||
git add . && git commit -m "Run script/i18n/lint-translation-files.js --check parsing" || echo "Nothing to commit"
|
||||
git add translations/${{ matrix.language }} && git commit -m "Run script/i18n/lint-translation-files.js --check parsing" || echo "Nothing to commit"
|
||||
|
||||
# step 8b in docs-engineering/crowdin.md
|
||||
- name: Check rendering
|
||||
run: |
|
||||
node script/i18n/lint-translation-files.js --check rendering
|
||||
git add . && git commit -m "Run script/i18n/lint-translation-files.js --check rendering" || echo "Nothing to commit"
|
||||
git add translations/${{ matrix.language }} && git commit -m "Run script/i18n/lint-translation-files.js --check rendering" || echo "Nothing to commit"
|
||||
|
||||
- name: Check in CSV report
|
||||
run: |
|
||||
mkdir -p log
|
||||
csvFile=log/${{ matrix.language_code }}-resets.csv
|
||||
script/i18n/report-reset-files.js --report-type=csv --language=${{ matrix.language_code }} --log-file=/tmp/batch.log > $csvFile
|
||||
git add -f $csvFile && git commit -m "Check in ${{ matrix.language }} CSV report" || echo "Nothing to commit"
|
||||
|
||||
- name: Create Pull Request
|
||||
env:
|
||||
@@ -142,11 +149,12 @@ jobs:
|
||||
# We'll try to create the pull request based on the changes we pushed up in the branch.
|
||||
# If there are actually no differences between the branch and `main`, we'll delete it.
|
||||
run: |
|
||||
script/i18n/report-reset-files.js --report-type=pull-request-body --language=${{ matrix.language_code }} --log-file=/tmp/batch.log > /tmp/pr-body.txt
|
||||
git push origin ${{ steps.set-branch.outputs.BRANCH_NAME }}
|
||||
gh pr create -t "New translation batch for ${{ matrix.language }}" \
|
||||
gh pr create --title "New translation batch for ${{ matrix.language }}" \
|
||||
--base=main \
|
||||
--head=${{ steps.set-branch.outputs.BRANCH_NAME }} \
|
||||
-b "New batch for ${{ matrix.language }} created by [this workflow]($GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)" || git push origin :${{ steps.set-branch.outputs.BRANCH_NAME }}
|
||||
--body-file /tmp/pr-body.txt || git push origin :${{ steps.set-branch.outputs.BRANCH_NAME }}
|
||||
|
||||
# When the maximum execution time is reached for this job, Actions cancels the workflow run.
|
||||
# This emits a notification for the first responder to triage.
|
||||
|
||||
2
.github/workflows/prod-build-deploy.yml
vendored
2
.github/workflows/prod-build-deploy.yml
vendored
@@ -21,7 +21,7 @@ concurrency:
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
if: ${{ github.repository == 'github/docs-internal'}}
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }}
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- name: Check out repo
|
||||
|
||||
73
.github/workflows/staging-deploy-pr.yml
vendored
73
.github/workflows/staging-deploy-pr.yml
vendored
@@ -67,6 +67,10 @@ jobs:
|
||||
BUILD_ACTIONS_RUN_ID: ${{ env.BUILD_ACTIONS_RUN_ID }}
|
||||
with:
|
||||
script: |
|
||||
|
||||
// Curious about what version of node you get
|
||||
console.log('Node version:', process.version)
|
||||
|
||||
// In order to find out the PR info for a forked repo, we must query
|
||||
// the API for more info based on the originating workflow run
|
||||
const { BUILD_ACTIONS_RUN_ID } = process.env
|
||||
@@ -482,12 +486,8 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Install one-off development-only dependencies
|
||||
run: npm install --no-save --include=optional esm
|
||||
|
||||
- name: Deploy
|
||||
id: deploy
|
||||
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }}
|
||||
@@ -499,69 +499,8 @@ jobs:
|
||||
ACTIONS_RUN_LOG: ${{ env.ACTIONS_RUN_LOG }}
|
||||
HEAD_SHA: ${{ needs.pr-metadata.outputs.head_sha }}
|
||||
ALLOWED_POLLING_FAILURES_PER_PHASE: '15'
|
||||
with:
|
||||
script: |
|
||||
const { GITHUB_TOKEN, HEROKU_API_TOKEN } = process.env
|
||||
|
||||
// Exit if GitHub Actions PAT is not found
|
||||
if (!GITHUB_TOKEN) {
|
||||
throw new Error('You must supply a GITHUB_TOKEN environment variable!')
|
||||
}
|
||||
|
||||
// Exit if Heroku API token is not found
|
||||
if (!HEROKU_API_TOKEN) {
|
||||
throw new Error('You must supply a HEROKU_API_TOKEN environment variable!')
|
||||
}
|
||||
|
||||
// Workaround to allow us to load ESM files with `require(...)`
|
||||
const esm = require('esm')
|
||||
require = esm({})
|
||||
|
||||
const { default: parsePrUrl } = require('./script/deployment/parse-pr-url')
|
||||
const { default: getOctokit } = require('./script/helpers/github')
|
||||
const { default: deployToStaging } = require('./script/deployment/deploy-to-staging')
|
||||
|
||||
// This helper uses the `GITHUB_TOKEN` implicitly!
|
||||
// We're using our usual version of Octokit vs. the provided `github`
|
||||
// instance to avoid versioning discrepancies.
|
||||
const octokit = getOctokit()
|
||||
|
||||
try {
|
||||
const { PR_URL, SOURCE_BLOB_URL, CONTEXT_NAME, ACTIONS_RUN_LOG, HEAD_SHA } = process.env
|
||||
const { owner, repo, pullNumber } = parsePrUrl(PR_URL)
|
||||
if (!owner || !repo || !pullNumber) {
|
||||
throw new Error(`'pullRequestUrl' input must match URL format 'https://github.com/github/(docs|docs-internal)/pull/123' but was '${PR_URL}'`)
|
||||
}
|
||||
|
||||
const { data: pullRequest } = await octokit.pulls.get({
|
||||
owner,
|
||||
repo,
|
||||
pull_number: pullNumber
|
||||
})
|
||||
|
||||
await deployToStaging({
|
||||
octokit,
|
||||
pullRequest,
|
||||
forceRebuild: false,
|
||||
// These parameters will ONLY be set by Actions
|
||||
sourceBlobUrl: SOURCE_BLOB_URL,
|
||||
runId: context.runId
|
||||
})
|
||||
|
||||
await github.repos.createCommitStatus({
|
||||
owner,
|
||||
repo,
|
||||
sha: HEAD_SHA,
|
||||
context: CONTEXT_NAME,
|
||||
state: 'success',
|
||||
description: 'Successfully deployed! See logs.',
|
||||
target_url: ACTIONS_RUN_LOG
|
||||
})
|
||||
} catch (error) {
|
||||
console.error(`Failed to deploy to staging: ${error.message}`)
|
||||
console.error(error)
|
||||
throw error
|
||||
}
|
||||
RUN_ID: ${{ github.run_id }}
|
||||
run: .github/actions-scripts/staging-deploy.js
|
||||
|
||||
- name: Mark the deployment as inactive if timed out
|
||||
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d
|
||||
|
||||
44
.github/workflows/staging-undeploy-pr.yml
vendored
44
.github/workflows/staging-undeploy-pr.yml
vendored
@@ -69,51 +69,13 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Install one-off development-only dependencies
|
||||
run: npm install --no-save --include=optional esm
|
||||
|
||||
- name: Undeploy
|
||||
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }}
|
||||
with:
|
||||
script: |
|
||||
const { GITHUB_TOKEN, HEROKU_API_TOKEN } = process.env
|
||||
|
||||
// Exit if GitHub Actions PAT is not found
|
||||
if (!GITHUB_TOKEN) {
|
||||
throw new Error('You must supply a GITHUB_TOKEN environment variable!')
|
||||
}
|
||||
|
||||
// Exit if Heroku API token is not found
|
||||
if (!HEROKU_API_TOKEN) {
|
||||
throw new Error('You must supply a HEROKU_API_TOKEN environment variable!')
|
||||
}
|
||||
|
||||
// Workaround to allow us to load ESM files with `require(...)`
|
||||
const esm = require('esm')
|
||||
require = esm({})
|
||||
|
||||
const { default: getOctokit } = require('./script/helpers/github')
|
||||
const { default: undeployFromStaging } = require('./script/deployment/undeploy-from-staging')
|
||||
|
||||
// This helper uses the `GITHUB_TOKEN` implicitly!
|
||||
// We're using our usual version of Octokit vs. the provided `github`
|
||||
// instance to avoid versioning discrepancies.
|
||||
const octokit = getOctokit()
|
||||
|
||||
try {
|
||||
await undeployFromStaging({
|
||||
octokit,
|
||||
pullRequest: context.payload.pull_request,
|
||||
runId: context.runId
|
||||
})
|
||||
} catch (error) {
|
||||
console.error(`Failed to undeploy from staging: ${error.message}`)
|
||||
console.error(error)
|
||||
throw error
|
||||
}
|
||||
RUN_ID: ${{ github.run_id }}
|
||||
PR_URL: ${{ github.event.pull_request.html_url }}
|
||||
run: .github/actions-scripts/staging-undeploy.js
|
||||
|
||||
- if: ${{ always() }}
|
||||
name: Remove the label from the PR to unblock deployment
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# GitHub Docs <!-- omit in toc -->
|
||||
# GitHub Docs <!-- omit in toc -->
|
||||
|
||||
This repository contains the documentation website code and Markdown source files for [docs.github.com](https://docs.github.com).
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import { MarkdownContent } from 'components/ui/MarkdownContent'
|
||||
import { Lead } from 'components/ui/Lead'
|
||||
import { ArticleGridLayout } from './ArticleGridLayout'
|
||||
import { PlatformPicker } from 'components/article/PlatformPicker'
|
||||
import { ToolPicker } from 'components/article/ToolPicker'
|
||||
|
||||
// Mapping of a "normal" article to it's interactive counterpart
|
||||
const interactiveAlternatives: Record<string, { href: string }> = {
|
||||
@@ -52,6 +53,7 @@ export const ArticlePage = () => {
|
||||
contributor,
|
||||
permissions,
|
||||
includesPlatformSpecificContent,
|
||||
includesToolSpecificContent,
|
||||
product,
|
||||
miniTocItems,
|
||||
currentLearningTrack,
|
||||
@@ -111,6 +113,7 @@ export const ArticlePage = () => {
|
||||
)}
|
||||
|
||||
{includesPlatformSpecificContent && <PlatformPicker variant="underlinenav" />}
|
||||
{includesToolSpecificContent && <ToolPicker variant="underlinenav" />}
|
||||
|
||||
{product && (
|
||||
<Callout
|
||||
|
||||
@@ -12,9 +12,11 @@ const platforms = [
|
||||
{ id: 'linux', label: 'Linux' },
|
||||
]
|
||||
|
||||
// Nota bene: platform === os
|
||||
|
||||
// Imperatively modify article content to show only the selected platform
|
||||
// find all platform-specific *block* elements and hide or show as appropriate
|
||||
// example: {% mac } block content {% mac %}
|
||||
// example: {% mac %} block content {% endmac %}
|
||||
function showPlatformSpecificContent(platform: string) {
|
||||
const markdowns = Array.from(document.querySelectorAll<HTMLElement>('.extended-markdown'))
|
||||
markdowns
|
||||
|
||||
117
components/article/ToolPicker.tsx
Normal file
117
components/article/ToolPicker.tsx
Normal file
@@ -0,0 +1,117 @@
|
||||
import { useEffect, useState } from 'react'
|
||||
import Cookies from 'js-cookie'
|
||||
import { UnderlineNav } from '@primer/components'
|
||||
import { sendEvent, EventType } from 'components/lib/events'
|
||||
import { preserveAnchorNodePosition } from 'scroll-anchoring'
|
||||
|
||||
import { useArticleContext } from 'components/context/ArticleContext'
|
||||
|
||||
// example: http://localhost:4000/en/codespaces/developing-in-codespaces/creating-a-codespace
|
||||
|
||||
// Nota bene: tool === application
|
||||
// Nota bene: picker === switcher
|
||||
|
||||
const supportedTools = ['cli', 'desktop', 'webui', 'curl', 'codespaces', 'vscode']
|
||||
const toolTitles = {
|
||||
webui: 'Web browser',
|
||||
cli: 'GitHub CLI',
|
||||
curl: 'cURL',
|
||||
desktop: 'Desktop',
|
||||
codespaces: 'Codespaces',
|
||||
vscode: 'Visual Studio Code',
|
||||
} as Record<string, string>
|
||||
|
||||
// Imperatively modify article content to show only the selected tool
|
||||
// find all platform-specific *block* elements and hide or show as appropriate
|
||||
// example: {% webui %} block content {% endwebui %}
|
||||
function showToolSpecificContent(tool: string) {
|
||||
const markdowns = Array.from(document.querySelectorAll<HTMLElement>('.extended-markdown'))
|
||||
markdowns
|
||||
.filter((el) => supportedTools.some((tool) => el.classList.contains(tool)))
|
||||
.forEach((el) => {
|
||||
el.style.display = el.classList.contains(tool) ? '' : 'none'
|
||||
})
|
||||
|
||||
// find all tool-specific *inline* elements and hide or show as appropriate
|
||||
// example: <span class="tool-webui">inline content</span>
|
||||
const toolEls = Array.from(
|
||||
document.querySelectorAll<HTMLElement>(supportedTools.map((tool) => `.tool-${tool}`).join(', '))
|
||||
)
|
||||
toolEls.forEach((el) => {
|
||||
el.style.display = el.classList.contains(`tool-${tool}`) ? '' : 'none'
|
||||
})
|
||||
}
|
||||
|
||||
function getDefaultTool(defaultTool: string | undefined, detectedTools: Array<string>): string {
|
||||
// If there is a default tool and the tool is present on this page
|
||||
if (defaultTool && detectedTools.includes(defaultTool)) return defaultTool
|
||||
|
||||
// Default to webui if present (this is generally the case where we show UI/CLI/Desktop info)
|
||||
if (detectedTools.includes('webui')) return 'webui'
|
||||
|
||||
// Default to cli if present (this is generally the case where we show curl/CLI info)
|
||||
if (detectedTools.includes('cli')) return 'cli'
|
||||
|
||||
// Otherwise, just choose the first detected tool
|
||||
return detectedTools[0]
|
||||
}
|
||||
|
||||
type Props = {
|
||||
variant?: 'subnav' | 'tabnav' | 'underlinenav'
|
||||
}
|
||||
export const ToolPicker = ({ variant = 'subnav' }: Props) => {
|
||||
const { defaultTool, detectedTools } = useArticleContext()
|
||||
const [currentTool, setCurrentTool] = useState(getDefaultTool(defaultTool, detectedTools))
|
||||
|
||||
const sharedContainerProps = {
|
||||
'data-testid': 'tool-picker',
|
||||
'aria-label': 'Tool picker',
|
||||
'data-default-tool': defaultTool,
|
||||
className: 'mb-4',
|
||||
}
|
||||
|
||||
// Run on mount for client-side only features
|
||||
useEffect(() => {
|
||||
// If the user selected a tool preference and the tool is present on this page
|
||||
// Has to be client-side only for cookie reading
|
||||
const cookieValue = Cookies.get('toolPreferred')
|
||||
if (cookieValue && detectedTools.includes(cookieValue)) {
|
||||
setCurrentTool(cookieValue)
|
||||
}
|
||||
}, [])
|
||||
|
||||
function onClickTool(tool: string) {
|
||||
setCurrentTool(tool)
|
||||
preserveAnchorNodePosition(document, () => {
|
||||
showToolSpecificContent(tool)
|
||||
})
|
||||
sendEvent({
|
||||
type: EventType.preference,
|
||||
preference_name: 'application',
|
||||
preference_value: tool,
|
||||
})
|
||||
Cookies.set('toolPreferred', tool, { sameSite: 'strict', secure: true })
|
||||
}
|
||||
|
||||
if (variant === 'underlinenav') {
|
||||
return (
|
||||
<UnderlineNav {...sharedContainerProps}>
|
||||
{detectedTools.map((tool) => (
|
||||
<UnderlineNav.Link
|
||||
key={tool}
|
||||
data-tool={tool}
|
||||
as="button"
|
||||
selected={tool === currentTool}
|
||||
onClick={() => {
|
||||
onClickTool(tool)
|
||||
}}
|
||||
>
|
||||
{toolTitles[tool]}
|
||||
</UnderlineNav.Link>
|
||||
))}
|
||||
</UnderlineNav>
|
||||
)
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
@@ -22,10 +22,13 @@ export type ArticleContextT = {
|
||||
contributor: { name: string; URL: string } | null
|
||||
permissions?: string
|
||||
includesPlatformSpecificContent: boolean
|
||||
includesToolSpecificContent: boolean
|
||||
defaultPlatform?: string
|
||||
defaultTool?: string
|
||||
product?: string
|
||||
currentLearningTrack?: LearningTrack
|
||||
detectedPlatforms: Array<string>
|
||||
detectedTools: Array<string>
|
||||
}
|
||||
|
||||
export const ArticleContext = createContext<ArticleContextT | null>(null)
|
||||
@@ -60,9 +63,12 @@ export const getArticleContextFromRequest = (req: any): ArticleContextT => {
|
||||
contributor: page.contributor || null,
|
||||
permissions: page.permissions || '',
|
||||
includesPlatformSpecificContent: page.includesPlatformSpecificContent || false,
|
||||
includesToolSpecificContent: page.includesToolSpecificContent || false,
|
||||
defaultPlatform: page.defaultPlatform || '',
|
||||
defaultTool: page.defaultTool || '',
|
||||
product: page.product || '',
|
||||
currentLearningTrack: req.context.currentLearningTrack,
|
||||
detectedPlatforms: page.detectedPlatforms || [],
|
||||
detectedTools: page.detectedTools || [],
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,100 +0,0 @@
|
||||
import Cookies from 'js-cookie'
|
||||
import { preserveAnchorNodePosition } from 'scroll-anchoring'
|
||||
|
||||
import { sendEvent, EventType } from './events'
|
||||
|
||||
const supportedTools = ['cli', 'desktop', 'webui', 'curl', 'codespaces', 'vscode']
|
||||
|
||||
export default function displayToolSpecificContent() {
|
||||
const toolElements = Array.from(document.querySelectorAll('.extended-markdown')).filter((el) =>
|
||||
supportedTools.some((tool) => el.classList.contains(tool))
|
||||
) as Array<HTMLElement>
|
||||
|
||||
if (!toolElements.length) return
|
||||
|
||||
const detectedTools = toolElements.flatMap((el) =>
|
||||
Array.from(el.classList).filter((className) => supportedTools.includes(className))
|
||||
) as Array<string>
|
||||
|
||||
const tool = getDefaultTool(detectedTools)
|
||||
|
||||
showToolSpecificContent(tool, toolElements)
|
||||
|
||||
hideSwitcherLinks(detectedTools)
|
||||
|
||||
highlightTabForTool(tool)
|
||||
|
||||
// configure links for switching tool content
|
||||
switcherLinks().forEach((link) => {
|
||||
link.addEventListener('click', (event) => {
|
||||
event.preventDefault()
|
||||
const target = event.target as HTMLElement
|
||||
highlightTabForTool(target.dataset.tool || '')
|
||||
preserveAnchorNodePosition(document, () => {
|
||||
showToolSpecificContent(target.dataset.tool || '', toolElements)
|
||||
})
|
||||
|
||||
// Save this preference as a cookie.
|
||||
Cookies.set('toolPreferred', target.dataset.tool || '', { sameSite: 'strict', secure: true })
|
||||
|
||||
// Send event data
|
||||
sendEvent({
|
||||
type: EventType.preference,
|
||||
preference_name: 'application',
|
||||
preference_value: target.dataset.tool,
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function highlightTabForTool(tool: string) {
|
||||
// (de)activate switcher link appearances
|
||||
switcherLinks().forEach((link) => {
|
||||
link.dataset.tool === tool ? link.classList.add('selected') : link.classList.remove('selected')
|
||||
})
|
||||
}
|
||||
|
||||
function showToolSpecificContent(tool: string, toolElements: Array<HTMLElement>) {
|
||||
// show the content only for the highlighted tool
|
||||
toolElements
|
||||
.filter((el) => supportedTools.some((tool) => el.classList.contains(tool)))
|
||||
.forEach((el) => {
|
||||
el.style.display = el.classList.contains(tool) ? '' : 'none'
|
||||
})
|
||||
}
|
||||
|
||||
// hide links for any tool-specific sections that are not present
|
||||
function hideSwitcherLinks(detectedTools: Array<string>) {
|
||||
const links = Array.from(document.querySelectorAll('a.tool-switcher')) as Array<HTMLAnchorElement>
|
||||
links.forEach((link) => {
|
||||
if (detectedTools.includes(link.dataset.tool || '')) return
|
||||
link.style.display = 'none'
|
||||
})
|
||||
}
|
||||
|
||||
function getDefaultTool(detectedTools: Array<string>): string {
|
||||
// If the user selected a tool preference and the tool is present on this page
|
||||
const cookieValue = Cookies.get('toolPreferred')
|
||||
if (cookieValue && detectedTools.includes(cookieValue)) return cookieValue
|
||||
|
||||
// If there is a default tool and the tool is present on this page
|
||||
const defaultToolEl = document.querySelector('[data-default-tool]') as HTMLElement
|
||||
|
||||
const defaultToolValue = defaultToolEl ? defaultToolEl.dataset.defaultTool : ''
|
||||
if (defaultToolValue && detectedTools.includes(defaultToolValue)) {
|
||||
return defaultToolValue
|
||||
}
|
||||
|
||||
// Default to webui if present (this is generally the case where we show UI/CLI/Desktop info)
|
||||
if (detectedTools.includes('webui')) return 'webui'
|
||||
|
||||
// Default to cli if present (this is generally the case where we show curl/CLI info)
|
||||
if (detectedTools.includes('cli')) return 'cli'
|
||||
|
||||
// Otherwise, just choose the first detected tool
|
||||
return detectedTools[0]
|
||||
}
|
||||
|
||||
function switcherLinks() {
|
||||
return Array.from(document.querySelectorAll('a.tool-switcher')) as Array<HTMLAnchorElement>
|
||||
}
|
||||
@@ -147,7 +147,8 @@ Email notifications from {% data variables.product.product_location %} contain t
|
||||
- There are updates in repositories or team discussions you're watching or in a conversation you're participating in. For more information, see "[About participating and watching notifications](#about-participating-and-watching-notifications)."
|
||||
- You gain access to a new repository or you've joined a new team. For more information, see "[Automatic watching](#automatic-watching)."{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
- There are new {% data variables.product.prodname_dependabot_alerts %} in your repository. For more information, see "[{% data variables.product.prodname_dependabot_alerts %} notification options](#dependabot-alerts-notification-options)." {% endif %} {% ifversion fpt or ghec %}
|
||||
- There are workflow runs updates on repositories set up with {% data variables.product.prodname_actions %}. For more information, see "[{% data variables.product.prodname_actions %} notification options](#github-actions-notification-options)."{% endif %}
|
||||
- There are workflow runs updates on repositories set up with {% data variables.product.prodname_actions %}. For more information, see "[{% data variables.product.prodname_actions %} notification options](#github-actions-notification-options)."{% endif %}{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5668 %}
|
||||
- There are new deploy keys added to repositories that belong to organizations that you're an owner of. For more information, see "[Organization alerts notification options](#organization-alerts-notification-options)."{% endif %}
|
||||
|
||||
## Automatic watching
|
||||
|
||||
@@ -206,7 +207,7 @@ If you are a member of more than one organization, you can configure each one to
|
||||
{% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization2 %}
|
||||
{% data reusables.notifications.vulnerable-dependency-notification-options %}
|
||||
|
||||
For more information about the notification delivery methods available to you, and advice on optimizing your notifications for {% ifversion fpt or ghes or ghec %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)."
|
||||
For more information about the notification delivery methods available to you, and advice on optimizing your notifications for {% data variables.product.prodname_dependabot_alerts %}, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes or ghec %}
|
||||
@@ -218,6 +219,13 @@ Choose how you want to receive workflow run updates for repositories that you ar
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5668 %}
|
||||
## Organization alerts notification options
|
||||
|
||||
If you're an organization owner, you'll receive email notifications by default when organization members add new deploy keys to repositories within the organization. You can unsubscribe from these notifications. On the notification settings page, under "Organization alerts", unselect **Email**.
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes or ghec %}
|
||||
## Managing your notification settings with {% data variables.product.prodname_mobile %}
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ To add a `repo:` filter, you must include the owner of the repository in the que
|
||||
|
||||
### Supported `is:` queries
|
||||
|
||||
To filter notifications for specific activity on {% data variables.product.product_location %}, you can use the `is` query. For example, to only see repository invitation updates, use `is:repository-invitation`{% ifversion not ghae %}, and to only see {% data variables.product.prodname_dependabot %} alerts, use `is:repository-vulnerability-alert`{% endif %}.
|
||||
To filter notifications for specific activity on {% data variables.product.product_location %}, you can use the `is` query. For example, to only see repository invitation updates, use `is:repository-invitation`{% ifversion not ghae %}, and to only see {% data variables.product.prodname_dependabot_alerts %}, use `is:repository-vulnerability-alert`{% endif %}.
|
||||
|
||||
- `is:check-suite`
|
||||
- `is:commit`
|
||||
|
||||
@@ -45,7 +45,7 @@ The repository owner has full control of the repository. In addition to the acti
|
||||
| Delete packages | "[Deleting packages](/packages/learn-github-packages/deleting-a-package)" |{% endif %}
|
||||
| Customize the repository's social media preview | "[Customizing your repository's social media preview](/github/administering-a-repository/customizing-your-repositorys-social-media-preview)" |
|
||||
| Create a template from the repository | "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)" |{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
| Control access to {% data variables.product.prodname_dependabot_alerts %} alerts for vulnerable dependencies | "[Managing security and analysis settings for your repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)" |{% endif %}{% ifversion fpt or ghec %}
|
||||
| Control access to {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies | "[Managing security and analysis settings for your repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)" |{% endif %}{% ifversion fpt or ghec %}
|
||||
| Dismiss {% data variables.product.prodname_dependabot_alerts %} in the repository | "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)" |
|
||||
| Manage data use for a private repository | "[Managing data use settings for your private repository](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository)"|{% endif %}
|
||||
| Define code owners for the repository | "[About code owners](/github/creating-cloning-and-archiving-repositories/about-code-owners)" |
|
||||
|
||||
@@ -38,12 +38,11 @@ To add the {% data variables.product.prodname_dotcom %} OIDC provider to IAM, se
|
||||
|
||||
To configure the role and trust in IAM, see the AWS documentation for ["Assuming a Role"](https://github.com/aws-actions/configure-aws-credentials#assuming-a-role) and ["Creating a role for web identity or OpenID connect federation"](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html).
|
||||
|
||||
By default, the validation only includes the audience (`aud`) condition, so you must manually add a subject (`sub`) condition. Edit the trust relationship to add the `sub` field to the validation conditions. For example:
|
||||
Edit the trust relationship to add the `sub` field to the validation conditions. For example:
|
||||
|
||||
```json{:copy}
|
||||
"Condition": {
|
||||
"StringEquals": {
|
||||
"token.actions.githubusercontent.com:aud": "https://github.com/octo-org",
|
||||
"token.actions.githubusercontent.com:sub": "repo:octo-org/octo-repo:ref:refs/heads/octo-branch"
|
||||
}
|
||||
}
|
||||
@@ -86,7 +85,7 @@ env:
|
||||
# permission can be added at job level or workflow level
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write # This is required for actions/checkout@v1
|
||||
contents: read # This is required for actions/checkout@v1
|
||||
jobs:
|
||||
S3PackageUpload:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -96,6 +96,6 @@ jobs:
|
||||
name: 'gcloud'
|
||||
run: |-
|
||||
gcloud auth login --brief --cred-file="${{ steps.auth.outputs.credentials_file_path }}"
|
||||
gcloud config list
|
||||
gcloud services list
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
@@ -306,7 +306,7 @@ if: {% raw %}${{ cancelled() }}{% endraw %}
|
||||
|
||||
### failure
|
||||
|
||||
Returns `true` when any previous step of a job fails.
|
||||
Returns `true` when any previous step of a job fails. If you have a chain of dependent jobs, `failure()` returns `true` if any ancestor job fails.
|
||||
|
||||
#### Example
|
||||
|
||||
|
||||
@@ -27,6 +27,10 @@ You can configure {% data variables.product.prodname_code_scanning %} to run {%
|
||||
|
||||
{% data reusables.code-scanning.enabling-options %}
|
||||
|
||||
## Checking whether your license includes {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
{% data reusables.advanced-security.check-for-ghas-license %}
|
||||
|
||||
## Prerequisites for {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
- A license for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghes > 3.0 %} (see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)"){% endif %}
|
||||
|
||||
@@ -22,6 +22,10 @@ topics:
|
||||
|
||||
{% data reusables.secret-scanning.about-secret-scanning %} For more information, see "[About {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/about-secret-scanning)."
|
||||
|
||||
## Checking whether your license includes {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
{% data reusables.advanced-security.check-for-ghas-license %}
|
||||
|
||||
## Prerequisites for {% data variables.product.prodname_secret_scanning %}
|
||||
|
||||
|
||||
@@ -31,33 +35,20 @@ topics:
|
||||
|
||||
- {% data variables.product.prodname_secret_scanning_caps %} enabled in the management console (see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your enterprise](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)")
|
||||
|
||||
## Checking support for the SSSE3 flag on your vCPUs
|
||||
### Checking support for the SSSE3 flag on your vCPUs
|
||||
|
||||
The SSSE3 set of instructions is required because {% data variables.product.prodname_secret_scanning %} leverages hardware accelerated pattern matching to find potential credentials committed to your {% data variables.product.prodname_dotcom %} repositories. SSSE3 is enabled for most modern CPUs. You can check whether SSSE3 is enabled for the vCPUs available to your {% data variables.product.prodname_ghe_server %} instance.
|
||||
|
||||
1. Connect to the administrative shell for your {% data variables.product.prodname_ghe_server %} instance. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)."
|
||||
2. Enter the following command:
|
||||
|
||||
```shell
|
||||
grep -iE '^flags.*ssse3' /proc/cpuinfo >/dev/null | echo $?
|
||||
```
|
||||
```shell
|
||||
grep -iE '^flags.*ssse3' /proc/cpuinfo >/dev/null | echo $?
|
||||
```
|
||||
|
||||
If this returns the value `0`, it means that the SSSE3 flag is available and enabled. You can now enable {% data variables.product.prodname_secret_scanning %} for {% data variables.product.product_location %}. For more information, see "[Enabling {% data variables.product.prodname_secret_scanning %}](#enabling-secret-scanning)" below.
|
||||
If this returns the value `0`, it means that the SSSE3 flag is available and enabled. You can now enable {% data variables.product.prodname_secret_scanning %} for {% data variables.product.product_location %}. For more information, see "[Enabling {% data variables.product.prodname_secret_scanning %}](#enabling-secret-scanning)" below.
|
||||
|
||||
If this doesn't return `0`, SSSE3 is not enabled on your VM/KVM. You need to refer to the documentation of the hardware/hypervisor on how to enable the flag, or make it available to guest VMs.
|
||||
|
||||
### Checking whether you have an {% data variables.product.prodname_advanced_security %} license
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.management-console %}
|
||||
1. Check if there is {% ifversion ghes < 3.2 %}an **{% data variables.product.prodname_advanced_security %}**{% else %}a **Security**{% endif %} entry in the left sidebar.
|
||||
{% ifversion ghes < 3.2 %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
|
||||
{% data reusables.enterprise_management_console.advanced-security-license %}
|
||||
If this doesn't return `0`, SSSE3 is not enabled on your VM/KVM. You need to refer to the documentation of the hardware/hypervisor on how to enable the flag, or make it available to guest VMs.
|
||||
|
||||
## Enabling {% data variables.product.prodname_secret_scanning %}
|
||||
|
||||
|
||||
@@ -28,17 +28,6 @@ When you enable {% data variables.product.prodname_GH_advanced_security %} for y
|
||||
For guidance on a phased deployment of GitHub Advanced Security, see "[Deploying GitHub Advanced Security in your enterprise](/admin/advanced-security/deploying-github-advanced-security-in-your-enterprise)."
|
||||
{% endif %}
|
||||
|
||||
## Prerequisites for enabling {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
1. Upgrade your license for {% data variables.product.product_name %} to include {% data variables.product.prodname_GH_advanced_security %}.{% ifversion ghes > 3.0 %} For information about licensing, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)."{% endif %}
|
||||
2. Download the new license file. For more information, see "[Downloading your license for {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise)."
|
||||
3. Upload the new license file to {% data variables.product.product_location %}. For more information, see "[Uploading a new license to {% data variables.product.prodname_ghe_server %}](/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server)."{% ifversion ghes %}
|
||||
4. Review the prerequisites for the features you plan to enable.
|
||||
|
||||
- {% data variables.product.prodname_code_scanning_capc %}, see "[Configuring {% data variables.product.prodname_code_scanning %} for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#prerequisites-for-code-scanning)."
|
||||
- {% data variables.product.prodname_secret_scanning_caps %}, see "[Configuring {% data variables.product.prodname_secret_scanning %} for your appliance](/admin/advanced-security/configuring-secret-scanning-for-your-appliance#prerequisites-for-secret-scanning)."{% endif %}
|
||||
- {% data variables.product.prodname_dependabot %}, see "[Enabling the dependency graph and {% data variables.product.prodname_dependabot_alerts %} on your enterprise account](/admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-the-dependency-graph-and-dependabot-alerts-on-your-enterprise-account)."
|
||||
|
||||
## Checking whether your license includes {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
{% ifversion ghes > 3.0 %}
|
||||
@@ -58,6 +47,17 @@ For guidance on a phased deployment of GitHub Advanced Security, see "[Deploying
|
||||
{% data reusables.enterprise_management_console.advanced-security-license %}
|
||||
{% endif %}
|
||||
|
||||
## Prerequisites for enabling {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
1. Upgrade your license for {% data variables.product.product_name %} to include {% data variables.product.prodname_GH_advanced_security %}.{% ifversion ghes > 3.0 %} For information about licensing, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)."{% endif %}
|
||||
2. Download the new license file. For more information, see "[Downloading your license for {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise)."
|
||||
3. Upload the new license file to {% data variables.product.product_location %}. For more information, see "[Uploading a new license to {% data variables.product.prodname_ghe_server %}](/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server)."{% ifversion ghes %}
|
||||
4. Review the prerequisites for the features you plan to enable.
|
||||
|
||||
- {% data variables.product.prodname_code_scanning_capc %}, see "[Configuring {% data variables.product.prodname_code_scanning %} for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#prerequisites-for-code-scanning)."
|
||||
- {% data variables.product.prodname_secret_scanning_caps %}, see "[Configuring {% data variables.product.prodname_secret_scanning %} for your appliance](/admin/advanced-security/configuring-secret-scanning-for-your-appliance#prerequisites-for-secret-scanning)."{% endif %}
|
||||
- {% data variables.product.prodname_dependabot %}, see "[Enabling the dependency graph and {% data variables.product.prodname_dependabot_alerts %} on your enterprise account](/admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-the-dependency-graph-and-dependabot-alerts-on-your-enterprise-account)."
|
||||
|
||||
## Enabling and disabling {% data variables.product.prodname_GH_advanced_security %} features
|
||||
|
||||
{% data reusables.enterprise_management_console.enable-disable-security-features %}
|
||||
|
||||
@@ -26,8 +26,8 @@ Some administrative ports are required to configure {% data variables.product.pr
|
||||
|---|---|---|
|
||||
| 8443 | HTTPS | Secure web-based {% data variables.enterprise.management_console %}. Required for basic installation and configuration. |
|
||||
| 8080 | HTTP | Plain-text web-based {% data variables.enterprise.management_console %}. Not required unless SSL is disabled manually. |
|
||||
| 122 | SSH | Shell access for {% data variables.product.product_location %}. Required to be open to incoming connections from all other nodes in a High Availability configuration. The default SSH port (22) is dedicated to Git and SSH application network traffic. |
|
||||
| 1194/UDP | VPN | Secure replication network tunnel in High Availability configuration. Required to be open to all other nodes in the configuration.|
|
||||
| 122 | SSH | Shell access for {% data variables.product.product_location %}. Required to be open to incoming connections between all nodes in a high availability configuration. The default SSH port (22) is dedicated to Git and SSH application network traffic. |
|
||||
| 1194/UDP | VPN | Secure replication network tunnel in high availability configuration. Required to be open for communication between all nodes in the configuration.|
|
||||
| 123/UDP| NTP | Required for time protocol operation. |
|
||||
| 161/UDP | SNMP | Required for network monitoring protocol operation. |
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Enabling the dependency graph and Dependabot alerts on your enterprise account
|
||||
intro: 'You can connect {% data variables.product.product_location %} to {% data variables.product.prodname_ghe_cloud %} and enable the dependency graph and {% data variables.product.prodname_dependabot %} alerts in repositories in your instance.'
|
||||
intro: 'You can connect {% data variables.product.product_location %} to {% data variables.product.prodname_ghe_cloud %} and enable the dependency graph and {% data variables.product.prodname_dependabot_alerts %} in repositories in your instance.'
|
||||
shortTitle: Enable dependency analysis
|
||||
redirect_from:
|
||||
- /enterprise/admin/installation/enabling-security-alerts-for-vulnerable-dependencies-on-github-enterprise-server
|
||||
@@ -9,7 +9,7 @@ redirect_from:
|
||||
- /admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server
|
||||
- /admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server
|
||||
- /admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server
|
||||
permissions: 'Enterprise owners who are also owners of the connected {% data variables.product.prodname_ghe_cloud %} organization or enterprise account can enable the dependency graph and {% data variables.product.prodname_dependabot %} alerts on {% data variables.product.product_location %}.'
|
||||
permissions: 'Enterprise owners who are also owners of the connected {% data variables.product.prodname_ghe_cloud %} organization or enterprise account can enable the dependency graph and {% data variables.product.prodname_dependabot_alerts %} on {% data variables.product.product_location %}.'
|
||||
versions:
|
||||
ghes: '*'
|
||||
ghae: issue-4864
|
||||
|
||||
@@ -186,3 +186,4 @@ The `ghe-repl-teardown` command disables replication mode completely, removing t
|
||||
## Further reading
|
||||
|
||||
- "[Creating a high availability replica](/enterprise/{{ currentVersion }}/admin/guides/installation/creating-a-high-availability-replica)"
|
||||
- "[Network ports](/admin/configuration/configuring-network-settings/network-ports)"
|
||||
@@ -19,15 +19,16 @@ shortTitle: Create HA replica
|
||||
## Creating a high availability replica
|
||||
|
||||
1. Set up a new {% data variables.product.prodname_ghe_server %} appliance on your desired platform. The replica appliance should mirror the primary appliance's CPU, RAM, and storage settings. We recommend that you install the replica appliance in an independent environment. The underlying hardware, software, and network components should be isolated from those of the primary appliance. If you are a using a cloud provider, use a separate region or zone. For more information, see ["Setting up a {% data variables.product.prodname_ghe_server %} instance"](/enterprise/{{ currentVersion }}/admin/guides/installation/setting-up-a-github-enterprise-server-instance).
|
||||
2. In a browser, navigate to the new replica appliance's IP address and upload your {% data variables.product.prodname_enterprise %} license.
|
||||
1. Ensure that both the primary appliance and the new replica appliance can communicate with each other over ports 122/TCP and 1194/UDP. For more information, see "[Network ports](/admin/configuration/configuring-network-settings/network-ports#administrative-ports)."
|
||||
1. In a browser, navigate to the new replica appliance's IP address and upload your {% data variables.product.prodname_enterprise %} license.
|
||||
{% data reusables.enterprise_installation.replica-steps %}
|
||||
6. Connect to the replica appliance's IP address using SSH.
|
||||
1. Connect to the replica appliance's IP address using SSH.
|
||||
```shell
|
||||
$ ssh -p 122 admin@<em>REPLICA IP</em>
|
||||
```
|
||||
{% data reusables.enterprise_installation.generate-replication-key-pair %}
|
||||
{% data reusables.enterprise_installation.add-ssh-key-to-primary %}
|
||||
9. To verify the connection to the primary and enable replica mode for the new replica, run `ghe-repl-setup` again.
|
||||
1. To verify the connection to the primary and enable replica mode for the new replica, run `ghe-repl-setup` again.
|
||||
```shell
|
||||
$ ghe-repl-setup <em>PRIMARY IP</em>
|
||||
```
|
||||
|
||||
@@ -37,7 +37,7 @@ Both types of {% data variables.product.prodname_dependabot %} update have the f
|
||||
- Configure {% data variables.product.product_location %} to use {% data variables.product.prodname_actions %}. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for GitHub Enterprise Server](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server)."
|
||||
- Set up one or more {% data variables.product.prodname_actions %} self-hosted runners for {% data variables.product.prodname_dependabot %}. For more information, see "[Setting up self-hosted runners for {% data variables.product.prodname_dependabot %} updates](#setting-up-self-hosted-runners-for-dependabot-updates)" below.
|
||||
|
||||
Additionally, {% data variables.product.prodname_dependabot_security_updates %} rely on the dependency graph, vulnerability data from {% data variables.product.prodname_github_connect %}, and {% data variables.product.prodname_dependabot_alerts %}. These features must be enabled on {% data variables.product.product_location %}. For more information, see "[Enabling the dependency graph and {% data variables.product.prodname_dependabot %} alerts on your enterprise account](/admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-the-dependency-graph-and-dependabot-alerts-on-your-enterprise-account)."
|
||||
Additionally, {% data variables.product.prodname_dependabot_security_updates %} rely on the dependency graph, vulnerability data from {% data variables.product.prodname_github_connect %}, and {% data variables.product.prodname_dependabot_alerts %}. These features must be enabled on {% data variables.product.product_location %}. For more information, see "[Enabling the dependency graph and {% data variables.product.prodname_dependabot_alerts %} on your enterprise account](/admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-the-dependency-graph-and-dependabot-alerts-on-your-enterprise-account)."
|
||||
|
||||
## Setting up self-hosted runners for {% data variables.product.prodname_dependabot %} updates
|
||||
|
||||
|
||||
@@ -69,8 +69,7 @@ You can choose to disable {% data variables.product.prodname_actions %} for all
|
||||
|
||||
{% data reusables.actions.about-artifact-log-retention %}
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.business %}
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.actions-tab %}
|
||||
{% data reusables.github-actions.change-retention-period-for-artifacts-logs %}
|
||||
|
||||
@@ -23,3 +23,6 @@ shortTitle: Deploy keys
|
||||

|
||||
|
||||
For more information, see "[Managing deploy keys](/guides/managing-deploy-keys)."
|
||||
|
||||
## Further reading
|
||||
- [Configuring notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#organization-alerts-notification-options)
|
||||
|
||||
@@ -72,7 +72,7 @@ For more information about viewing and resolving {% data variables.product.prodn
|
||||
Repository administrators and organization owners can grant users and teams access to {% data variables.product.prodname_secret_scanning %} alerts. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.0 or ghec %}
|
||||
To monitor results from {% data variables.product.prodname_secret_scanning %} across your private repositories or your organization, you can use the {% data variables.product.prodname_secret_scanning %} API. For more information about API endpoints, see "[{% data variables.product.prodname_secret_scanning_caps %}](/rest/reference/secret-scanning)."{% endif %}
|
||||
To monitor results from {% data variables.product.prodname_secret_scanning %} across your {% ifversion fpt or ghec %}private {% endif %}repositories{% ifversion ghes > 3.1 %} or your organization{% endif %}, you can use the {% data variables.product.prodname_secret_scanning %} API. For more information about API endpoints, see "[{% data variables.product.prodname_secret_scanning_caps %}](/rest/reference/secret-scanning)."{% endif %}
|
||||
|
||||
{% ifversion ghes or ghae %}
|
||||
## List of supported secrets{% else %}
|
||||
|
||||
@@ -20,7 +20,6 @@ topics:
|
||||
- Dependencies
|
||||
shortTitle: Dependabot alerts
|
||||
---
|
||||
<!--For this article in earlier GHES versions, see /content/github/managing-security-vulnerabilities-->
|
||||
<!--Marketing-LINK: From /features/security/software-supply-chain page "About alerts for vulnerable dependencies ".-->
|
||||
|
||||
## About vulnerable dependencies
|
||||
@@ -50,7 +49,7 @@ For a list of the ecosystems that {% data variables.product.product_name %} can
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## {% data variables.product.prodname_dependabot %} alerts for vulnerable dependencies
|
||||
## {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies
|
||||
|
||||
{% data reusables.repositories.enable-security-alerts %}
|
||||
|
||||
@@ -75,7 +74,7 @@ For repositories where {% data variables.product.prodname_dependabot_security_up
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
## Access to {% data variables.product.prodname_dependabot %} alerts
|
||||
## Access to {% data variables.product.prodname_dependabot_alerts %}
|
||||
|
||||
You can see all of the alerts that affect a particular project{% ifversion fpt or ghec %} on the repository's Security tab or{% endif %} in the repository's dependency graph. For more information, see "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)."
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ topics:
|
||||
|
||||
{% data variables.product.prodname_dependabot_security_updates %} make it easier for you to fix vulnerable dependencies in your repository. If you enable this feature, when a {% data variables.product.prodname_dependabot %} alert is raised for a vulnerable dependency in the dependency graph of your repository, {% data variables.product.prodname_dependabot %} automatically tries to fix it. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)" and "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)."
|
||||
|
||||
{% data variables.product.prodname_dotcom %} may send {% data variables.product.prodname_dependabot %} alerts to repositories affected by a vulnerability disclosed by a recently published {% data variables.product.prodname_dotcom %} security advisory. {% data reusables.security-advisory.link-browsing-advisory-db %}
|
||||
{% data variables.product.prodname_dotcom %} may send {% data variables.product.prodname_dependabot_alerts %} to repositories affected by a vulnerability disclosed by a recently published {% data variables.product.prodname_dotcom %} security advisory. {% data reusables.security-advisory.link-browsing-advisory-db %}
|
||||
|
||||
{% data variables.product.prodname_dependabot %} checks whether it's possible to upgrade the vulnerable dependency to a fixed version without disrupting the dependency graph for the repository. Then {% data variables.product.prodname_dependabot %} raises a pull request to update the dependency to the minimum version that includes the patch and links the pull request to the {% data variables.product.prodname_dependabot %} alert, or reports an error on the alert. For more information, see "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)."
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Configuring notifications for vulnerable dependencies
|
||||
shortTitle: Configuring notifications
|
||||
intro: 'Optimize how you receive notifications about {% data variables.product.prodname_dependabot %} alerts.'
|
||||
intro: 'Optimize how you receive notifications about {% data variables.product.prodname_dependabot_alerts %}.'
|
||||
redirect_from:
|
||||
- /github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies
|
||||
- /code-security/supply-chain-security/configuring-notifications-for-vulnerable-dependencies
|
||||
@@ -50,7 +50,7 @@ You can configure notification settings for yourself or your organization from t
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** You can filter your notifications on {% data variables.product.company_short %} to show {% data variables.product.prodname_dependabot %} alerts. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#dependabot-custom-filters)."
|
||||
**Note:** You can filter your notifications on {% data variables.product.company_short %} to show {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#dependabot-custom-filters)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Managing vulnerabilities in your project's dependencies
|
||||
intro: 'You can track your repository''s dependencies and receive {% ifversion fpt or ghes %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} when {% data variables.product.product_name %} detects vulnerable dependencies.'
|
||||
intro: 'You can track your repository''s dependencies and receive {% data variables.product.prodname_dependabot_alerts %} when {% data variables.product.product_name %} detects vulnerable dependencies.'
|
||||
redirect_from:
|
||||
- /articles/updating-your-project-s-dependencies/
|
||||
- /articles/updating-your-projects-dependencies/
|
||||
|
||||
@@ -42,7 +42,7 @@ The results of dependency detection reported by {% data variables.product.produc
|
||||
|
||||
## Why don't I get vulnerability alerts for some ecosystems?
|
||||
|
||||
{% data variables.product.prodname_dotcom %} limits its support for vulnerability alerts to a set of ecosystems where we can provide high-quality, actionable data. Curated vulnerabilities in the {% data variables.product.prodname_advisory_database %}, the dependency graph, {% ifversion fpt or ghec %}{% data variables.product.prodname_dependabot %} security updates, {% endif %}and {% data variables.product.prodname_dependabot %} alerts are provided for several ecosystems, including Java’s Maven, JavaScript’s npm and Yarn, .NET’s NuGet, Python’s pip, Ruby's RubyGems, and PHP’s Composer. We'll continue to add support for more ecosystems over time. For an overview of the package ecosystems that we support, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems)."
|
||||
{% data variables.product.prodname_dotcom %} limits its support for vulnerability alerts to a set of ecosystems where we can provide high-quality, actionable data. Curated vulnerabilities in the {% data variables.product.prodname_advisory_database %}, the dependency graph, {% ifversion fpt or ghec %}{% data variables.product.prodname_dependabot %} security updates, {% endif %}and {% data variables.product.prodname_dependabot_alerts %} are provided for several ecosystems, including Java’s Maven, JavaScript’s npm and Yarn, .NET’s NuGet, Python’s pip, Ruby's RubyGems, and PHP’s Composer. We'll continue to add support for more ecosystems over time. For an overview of the package ecosystems that we support, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems)."
|
||||
|
||||
It's worth noting that {% data variables.product.prodname_dotcom %} Security Advisories may exist for other ecosystems. The information in a security advisory is provided by the maintainers of a particular repository. This data is not curated in the same way as information for the supported ecosystems. {% ifversion fpt or ghec %}For more information, see "[About {% data variables.product.prodname_dotcom %} Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)."{% endif %}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ topics:
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
Your repository's {% data variables.product.prodname_dependabot %} alerts tab lists all open and closed {% data variables.product.prodname_dependabot_alerts %}{% ifversion fpt or ghec or ghes > 3.2 %} and corresponding {% data variables.product.prodname_dependabot_security_updates %}{% endif %}. You can sort the list of alerts by selecting the drop-down menu, and you can click into specific alerts for more details. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."
|
||||
Your repository's {% data variables.product.prodname_dependabot_alerts %} tab lists all open and closed {% data variables.product.prodname_dependabot_alerts %}{% ifversion fpt or ghec or ghes > 3.2 %} and corresponding {% data variables.product.prodname_dependabot_security_updates %}{% endif %}. You can sort the list of alerts by selecting the drop-down menu, and you can click into specific alerts for more details. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."
|
||||
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
You can enable automatic security updates for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)."
|
||||
|
||||
@@ -185,3 +185,7 @@ This means that you cannot automate the creation of accounts. But if you want to
|
||||
[collaborator]: /articles/inviting-collaborators-to-a-personal-repository
|
||||
[outside-collaborator]: /articles/adding-outside-collaborators-to-repositories-in-your-organization
|
||||
[team]: /articles/adding-organization-members-to-a-team
|
||||
|
||||
## Further reading
|
||||
- [Configuring notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#organization-alerts-notification-options)
|
||||
|
||||
|
||||
@@ -39,8 +39,8 @@ To search for specific events, use the `action` qualifier in your query. Actions
|
||||
| [`billing`](#billing-category-actions) | Contains all activities related to your organization's billing.
|
||||
| [`business`](#business-category-actions) | Contains activities related to business settings for an enterprise. |
|
||||
| [`codespaces`](#codespaces-category-actions) | Contains all activities related to your organization's codespaces. |{% endif %}{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
| [`dependabot_alerts`](#dependabot_alerts-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot %} alerts in existing repositories. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)."
|
||||
| [`dependabot_alerts_new_repos`](#dependabot_alerts_new_repos-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot %} alerts in new repositories created in the organization.
|
||||
| [`dependabot_alerts`](#dependabot_alerts-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_alerts %} in existing repositories. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)."
|
||||
| [`dependabot_alerts_new_repos`](#dependabot_alerts_new_repos-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_alerts %} in new repositories created in the organization.
|
||||
| [`dependabot_security_updates`](#dependabot_security_updates-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_security_updates %} in existing repositories. For more information, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)."
|
||||
| [`dependabot_security_updates_new_repos`](#dependabot_security_updates_new_repos-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_security_updates %} for new repositories created in the organization.{% endif %}{% ifversion fpt or ghec %}
|
||||
| [`dependency_graph`](#dependency_graph-category-actions) | Contains organization-level configuration activities for dependency graphs for repositories. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)."
|
||||
@@ -71,7 +71,7 @@ To search for specific events, use the `action` qualifier in your query. Actions
|
||||
| [`repository_dependency_graph`](#repository_dependency_graph-category-actions) | Contains repository-level activities related to enabling or disabling the dependency graph for a {% ifversion fpt or ghec %}private {% endif %}repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)."{% endif %}
|
||||
| [`repository_secret_scanning`](#repository_secret_scanning-category-actions) | Contains repository-level activities related to secret scanning. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." {% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
| [`repository_vulnerability_alert`](#repository_vulnerability_alert-category-actions) | Contains all activities related to [{% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies).{% endif %}{% ifversion fpt or ghec %}
|
||||
| [`repository_vulnerability_alerts`](#repository_vulnerability_alerts-category-actions) | Contains repository-level configuration activities for {% data variables.product.prodname_dependabot %} alerts.{% endif %}{% ifversion ghec %}
|
||||
| [`repository_vulnerability_alerts`](#repository_vulnerability_alerts-category-actions) | Contains repository-level configuration activities for {% data variables.product.prodname_dependabot_alerts %}.{% endif %}{% ifversion ghec %}
|
||||
| [`role`](#role-category-actions) | Contains all activities related to [custom repository roles](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization).{% endif %}
|
||||
| [`secret_scanning`](#secret_scanning-category-actions) | Contains organization-level configuration activities for secret scanning in existing repositories. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)."
|
||||
| [`secret_scanning_new_repos`](#secret_scanning_new_repos-category-actions) | Contains organization-level configuration activities for secret scanning for new repositories created in the organization. {% ifversion fpt or ghec %}
|
||||
@@ -661,8 +661,8 @@ For more information, see "[Managing the publication of {% data variables.produc
|
||||
|
||||
| Action | Description
|
||||
|------------------|-------------------
|
||||
| `create` | Triggered when {% data variables.product.product_name %} creates a {% ifversion fpt or ghes or ghec %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alert for a repository that uses a vulnerable dependency. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)."
|
||||
| `dismiss` | Triggered when an organization owner or person with admin access to the repository dismisses a {% ifversion fpt or ghes or ghec %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alert about a vulnerable dependency.
|
||||
| `create` | Triggered when {% data variables.product.product_name %} creates a {% data variables.product.prodname_dependabot %} alert for a repository that uses a vulnerable dependency. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)."
|
||||
| `dismiss` | Triggered when an organization owner or person with admin access to the repository dismisses a {% data variables.product.prodname_dependabot %} alert about a vulnerable dependency.
|
||||
| `resolve` | Triggered when someone with write access to a repository pushes changes to update and resolve a vulnerability in a project dependency.
|
||||
|
||||
{% endif %}{% ifversion fpt or ghec %}
|
||||
|
||||
@@ -79,7 +79,7 @@ Any team members that have set their status to "Busy" will not be selected for r
|
||||

|
||||
9. Optionally, to always skip certain members of the team, select **Never assign certain team members**. Then, select one or more team members you'd like to always skip.
|
||||

|
||||
{% ifversion fpt or ghec or ghae-next or ghes > 3.2 %}
|
||||
{% ifversion fpt or ghec or ghae-issue-5108 or ghes > 3.2 %}
|
||||
11. Optionally, to include members of child teams as potential reviewers when assigning requests, select **Child team members**.
|
||||
12. Optionally, to count any members whose review has already been requested against the total number of members to assign, select **Count existing requests**.
|
||||
13. Optionally, to remove the review request from the team when assigning team members, select **Team review request**.
|
||||
|
||||
@@ -120,6 +120,12 @@ A MIME type is a header that a server sends to a browser, providing information
|
||||
|
||||
While you can't specify custom MIME types on a per-file or per-repository basis, you can add or modify MIME types for use on {% data variables.product.prodname_pages %}. For more information, see [the mime-db contributing guidelines](https://github.com/jshttp/mime-db#adding-custom-media-types).
|
||||
|
||||
{% ifversion fpt %}
|
||||
## Data collection
|
||||
|
||||
When a {% data variables.product.prodname_pages %} site is visited, the visitor's IP address is logged and stored for security purposes, regardless of whether the visitor has signed into {% data variables.product.prodname_dotcom %} or not. For more information about {% data variables.product.prodname_dotcom %}'s security practices, see <a href="/articles/github-privacy-statement/" class="dotcom-only">{% data variables.product.prodname_dotcom %} Privacy Statement</a>.
|
||||
{% endif %}
|
||||
|
||||
## Further reading
|
||||
|
||||
- [{% data variables.product.prodname_pages %}](https://lab.github.com/githubtraining/github-pages) on {% data variables.product.prodname_learning %}
|
||||
|
||||
@@ -42,7 +42,7 @@ By default, the restrictions of a branch protection rule don't apply to people w
|
||||
For each branch protection rule, you can choose to enable or disable the following settings.
|
||||
- [Require pull request reviews before merging](#require-pull-request-reviews-before-merging)
|
||||
- [Require status checks before merging](#require-status-checks-before-merging)
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-issue-4382 or ghec %}
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
- [Require conversation resolution before merging](#require-conversation-resolution-before-merging){% endif %}
|
||||
- [Require signed commits](#require-signed-commits)
|
||||
- [Require linear history](#require-linear-history)
|
||||
@@ -99,7 +99,7 @@ You can set up required status checks to either be "loose" or "strict." The type
|
||||
|
||||
For troubleshooting information, see "[Troubleshooting required status checks](/github/administering-a-repository/troubleshooting-required-status-checks)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-issue-4382 or ghec %}
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
### Require conversation resolution before merging
|
||||
|
||||
Requires all comments on the pull request to be resolved before it can be merged to a protected branch. This ensures that all comments are addressed or acknowledged before merge.
|
||||
|
||||
@@ -80,7 +80,7 @@ When you create a branch rule, the branch you specify doesn't have to exist yet
|
||||

|
||||
- Search for status checks, selecting the checks you want to require.
|
||||

|
||||
{%- ifversion fpt or ghes > 3.1 or ghae-issue-4382 %}
|
||||
{%- ifversion fpt or ghes > 3.1 or ghae-next %}
|
||||
1. Optionally, select **Require conversation resolution before merging**.
|
||||

|
||||
{%- endif %}
|
||||
|
||||
@@ -37,7 +37,7 @@ Each CODEOWNERS file assigns the code owners for a single branch in the reposito
|
||||
|
||||
For code owners to receive review requests, the CODEOWNERS file must be on the base branch of the pull request. For example, if you assign `@octocat` as the code owner for *.js* files on the `gh-pages` branch of your repository, `@octocat` will receive review requests when a pull request with changes to *.js* files is opened between the head branch and `gh-pages`.
|
||||
|
||||
{% ifversion fpt or ghae or ghes > 3.2 or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 or ghae-issue-9273 %}
|
||||
## CODEOWNERS file size
|
||||
|
||||
CODEOWNERS files must be under 3 MB in size. A CODEOWNERS file over this limit will not be loaded, which means that code owner information is not shown and the appropriate code owners will not be requested to review changes in a pull request.
|
||||
|
||||
@@ -21,12 +21,6 @@ miniTocMaxHeadingLevel: 3
|
||||
{% ifversion fpt or ghec or ghes > 3.2 or ghae-issue-4742 %}
|
||||
## Autolinks
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Note:** The Autolinks API is in beta and may change.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
To help streamline your workflow, you can use the API to add autolinks to external resources like JIRA issues and Zendesk tickets. For more information, see "[Configuring autolinks to reference external resources](/github/administering-a-repository/configuring-autolinks-to-reference-external-resources)."
|
||||
|
||||
{% data variables.product.prodname_github_apps %} require repository administration permissions with read or write access to use the Autolinks API.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
You can identify if your enterprise has a {% data variables.product.prodname_GH_advanced_security %} license by reviewing {% ifversion ghes = 3.0 %}the {% data variables.enterprise.management_console %}{% elsif ghes > 3.0 %}your enterprise settings{% endif %}. For more information, see "[Enabling GitHub Advanced Security for your enterprise](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise#checking-whether-your-license-includes-github-advanced-security)."
|
||||
@@ -1 +1 @@
|
||||
If you can't see {% ifversion ghes < 3.2 %}**{% data variables.product.prodname_advanced_security %}**{% else %}**Security**{% endif %} in the sidebar, it means that your license doesn't include support for {% data variables.product.prodname_advanced_security %} features, including {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_secret_scanning %}. The {% data variables.product.prodname_advanced_security %} license gives you and your users access to features that help you make your repositories and code more secure. {% ifversion ghes %}For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/about-github-advanced-security)" or contact {% data variables.contact.contact_enterprise_sales %}.{% endif %}
|
||||
If you can't see **{% data variables.product.prodname_advanced_security %}** in the sidebar, it means that your license doesn't include support for {% data variables.product.prodname_advanced_security %} features, including {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_secret_scanning %}. The {% data variables.product.prodname_advanced_security %} license gives you and your users access to features that help you make your repositories and code more secure. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/about-github-advanced-security)" or contact {% data variables.contact.contact_enterprise_sales %}.
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
{% ifversion ghes or ghae-issue-4864 %}
|
||||
Enterprise owners must enable {% data variables.product.prodname_dependabot %} alerts for vulnerable dependencies for {% data variables.product.product_location %} before you can use this feature. For more information, see "[Enabling the dependency graph and {% data variables.product.prodname_dependabot_alerts %} on your enterprise account](/admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-the-dependency-graph-and-dependabot-alerts-on-your-enterprise-account)."
|
||||
Enterprise owners must enable {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies for {% data variables.product.product_location %} before you can use this feature. For more information, see "[Enabling the dependency graph and {% data variables.product.prodname_dependabot_alerts %} on your enterprise account](/admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-the-dependency-graph-and-dependabot-alerts-on-your-enterprise-account)."
|
||||
{% endif %}
|
||||
|
||||
@@ -1 +1 @@
|
||||
Email notifications for {% ifversion fpt or ghes or ghec %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} that affect one or more repositories include the `X-GitHub-Severity` header field. You can use the value of the `X-GitHub-Severity` header field to filter email notifications for {% ifversion fpt or ghes or ghec %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}.
|
||||
Email notifications for {% data variables.product.prodname_dependabot_alerts %} that affect one or more repositories include the `X-GitHub-Severity` header field. You can use the value of the `X-GitHub-Severity` header field to filter email notifications for {% data variables.product.prodname_dependabot_alerts %}.
|
||||
|
||||
@@ -100,6 +100,8 @@ Google | Google Cloud Storage Service Account Access Key ID | google_cloud_stora
|
||||
{%- ifversion fpt or ghec or ghes > 3.2 %}
|
||||
Google | Google Cloud Storage User Access Key ID | google_cloud_storage_user_access_key_id{% endif %}
|
||||
{%- ifversion fpt or ghec or ghes > 3.3 %}
|
||||
Google | Google OAuth Access Token | google_oauth_access_token{% endif %}
|
||||
{%- ifversion fpt or ghec or ghes > 3.3 %}
|
||||
Google | Google OAuth Client ID | google_oauth_client_id{% endif %}
|
||||
{%- ifversion fpt or ghec or ghes > 3.3 %}
|
||||
Google | Google OAuth Client Secret | google_oauth_client_secret{% endif %}
|
||||
|
||||
@@ -15,7 +15,7 @@ contact_dmca: >-
|
||||
contact_privacy: >-
|
||||
{% ifversion fpt or ghec %}[Privacy contact form](https://github.com/contact/privacy){% endif %}
|
||||
|
||||
contact_enterprise_sales: "[GitHub's Sales team](https://enterprise.github.com/contact)"
|
||||
contact_enterprise_sales: "[GitHub's Sales team](https://github.com/enterprise/contact)"
|
||||
|
||||
contact_feedback_actions: '[Feedback form for GitHub Actions](https://support.github.com/contact/feedback?contact[category]=actions)'
|
||||
|
||||
|
||||
@@ -1,11 +1 @@
|
||||
<nav class="UnderlineNav my-3" id="tool-switcher"
|
||||
{%- if page.defaultTool %} data-default-tool="{{ page.defaultTool }}"{% endif %}>
|
||||
<div class="UnderlineNav-body">
|
||||
<a href="#" class="UnderlineNav-item tool-switcher" data-tool="webui">Web browser</a>
|
||||
<a href="#" class="UnderlineNav-item tool-switcher" data-tool="cli">GitHub CLI</a>
|
||||
<a href="#" class="UnderlineNav-item tool-switcher" data-tool="curl">cURL</a>
|
||||
<a href="#" class="UnderlineNav-item tool-switcher" data-tool="desktop">Desktop</a>
|
||||
<a href="#" class="UnderlineNav-item tool-switcher" data-tool="codespaces">Codespaces</a>
|
||||
<a href="#" class="UnderlineNav-item tool-switcher" data-tool="vscode">Visual Studio Code</a>
|
||||
</div>
|
||||
</nav>
|
||||
<span class="tool-switcher"></span>
|
||||
|
||||
17
lib/page.js
17
lib/page.js
@@ -250,16 +250,19 @@ class Page {
|
||||
})
|
||||
}
|
||||
|
||||
this.detectedPlatforms = [
|
||||
(html.includes('extended-markdown mac') || html.includes('platform-mac')) && 'mac',
|
||||
(html.includes('extended-markdown windows') || html.includes('platform-windows')) &&
|
||||
'windows',
|
||||
(html.includes('extended-markdown linux') || html.includes('platform-linux')) && 'linux',
|
||||
].filter(Boolean)
|
||||
|
||||
// set a flag so layout knows whether to render a mac/windows/linux switcher element
|
||||
this.detectedPlatforms = ['mac', 'windows', 'linux'].filter(
|
||||
(platform) =>
|
||||
html.includes(`extended-markdown ${platform}`) || html.includes(`platform-${platform}`)
|
||||
)
|
||||
this.includesPlatformSpecificContent = this.detectedPlatforms.length > 0
|
||||
|
||||
// set flags for webui, cli, etc switcher element
|
||||
this.detectedTools = ['cli', 'desktop', 'webui', 'curl', 'codespaces', 'vscode'].filter(
|
||||
(tool) => html.includes(`extended-markdown ${tool}`) || html.includes(`tool-${tool}`)
|
||||
)
|
||||
this.includesToolSpecificContent = this.detectedTools.length > 0
|
||||
|
||||
return html
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -41482,7 +41482,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"description": "The rendering mode.",
|
||||
"description": "The rendering mode. Can be either `markdown` or `gfm`.",
|
||||
"enum": [
|
||||
"markdown",
|
||||
"gfm"
|
||||
@@ -41492,7 +41492,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"context": {
|
||||
"description": "The repository context to use when creating references in `gfm` mode.",
|
||||
"description": "The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
@@ -110865,9 +110865,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
@@ -172659,6 +172661,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -175144,6 +175152,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -179715,6 +179729,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -192259,7 +192279,9 @@
|
||||
"site_admin": false,
|
||||
"permissions": {
|
||||
"pull": true,
|
||||
"triage": true,
|
||||
"push": true,
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"role_name": "write"
|
||||
@@ -207539,6 +207561,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -212446,314 +212474,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/repos/{owner}/{repo}/content_references/{content_reference_id}/attachments": {
|
||||
"post": {
|
||||
"summary": "Create a content attachment",
|
||||
"description": "Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` and `repository` `full_name` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment.\n\nThe app must create a content attachment within six hours of the content reference URL being posted. See \"[Using content attachments](https://docs.github.com/apps/using-content-attachments/)\" for details about content attachments.\n\nYou must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.",
|
||||
"tags": [
|
||||
"apps"
|
||||
],
|
||||
"operationId": "apps/create-content-attachment",
|
||||
"externalDocs": {
|
||||
"description": "API method documentation",
|
||||
"url": "https://docs.github.com/rest/reference/apps#create-a-content-attachment"
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "owner",
|
||||
"description": "The owner of the repository. Determined from the `repository` `full_name` of the `content_reference` event.",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "repo",
|
||||
"description": "The name of the repository. Determined from the `repository` `full_name` of the `content_reference` event.",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "content_reference_id",
|
||||
"description": "The `id` of the `content_reference` event.",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"title": {
|
||||
"description": "The title of the attachment",
|
||||
"example": "Title of the attachment",
|
||||
"type": "string",
|
||||
"maxLength": 1024
|
||||
},
|
||||
"body": {
|
||||
"description": "The body of the attachment",
|
||||
"example": "Body of the attachment",
|
||||
"type": "string",
|
||||
"maxLength": 262144
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"title",
|
||||
"body"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"title": "ContentReferenceAttachment",
|
||||
"description": "Content Reference attachments allow you to provide context around URLs posted in comments",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"description": "The ID of the attachment",
|
||||
"example": 21,
|
||||
"type": "integer"
|
||||
},
|
||||
"title": {
|
||||
"description": "The title of the attachment",
|
||||
"example": "Title of the attachment",
|
||||
"type": "string",
|
||||
"maxLength": 1024
|
||||
},
|
||||
"body": {
|
||||
"description": "The body of the attachment",
|
||||
"example": "Body of the attachment",
|
||||
"type": "string",
|
||||
"maxLength": 262144
|
||||
},
|
||||
"node_id": {
|
||||
"description": "The node_id of the content attachment",
|
||||
"example": "MDE3OkNvbnRlbnRBdHRhY2htZW50MjE=",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"title",
|
||||
"body"
|
||||
]
|
||||
},
|
||||
"examples": {
|
||||
"default": {
|
||||
"value": {
|
||||
"id": 101,
|
||||
"title": "[A-1234] Error found in core/models.py file'",
|
||||
"body": "You have used an email that already exists for the user_email_uniq field.\n ## DETAILS:\n\nThe (email)=(Octocat@github.com) already exists.\n\n The error was found in core/models.py in get_or_create_user at line 62.\n\n self.save()"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"422": {
|
||||
"description": "Validation failed",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"title": "Validation Error",
|
||||
"description": "Validation Error",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"message",
|
||||
"documentation_url"
|
||||
],
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"documentation_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"errors": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code"
|
||||
],
|
||||
"properties": {
|
||||
"resource": {
|
||||
"type": "string"
|
||||
},
|
||||
"field": {
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"code": {
|
||||
"type": "string"
|
||||
},
|
||||
"index": {
|
||||
"type": "integer"
|
||||
},
|
||||
"value": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"nullable": true
|
||||
},
|
||||
{
|
||||
"type": "array",
|
||||
"nullable": true,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Resource not found",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"title": "Basic Error",
|
||||
"description": "Basic Error",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"documentation_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"410": {
|
||||
"description": "Gone",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"title": "Basic Error",
|
||||
"description": "Basic Error",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"documentation_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"415": {
|
||||
"description": "Preview header missing",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"message",
|
||||
"documentation_url"
|
||||
],
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"documentation_url": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"304": {
|
||||
"description": "Not modified"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"title": "Basic Error",
|
||||
"description": "Basic Error",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"documentation_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-github": {
|
||||
"githubCloudOnly": false,
|
||||
"enabledForGitHubApps": true,
|
||||
"previews": [
|
||||
{
|
||||
"required": true,
|
||||
"name": "corsair",
|
||||
"note": "To access the Content Attachments API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.corsair-preview+json\n```"
|
||||
}
|
||||
],
|
||||
"category": "apps",
|
||||
"subcategory": "installations"
|
||||
}
|
||||
}
|
||||
},
|
||||
"/repos/{owner}/{repo}/contents/{path}": {
|
||||
"get": {
|
||||
"summary": "Get repository content",
|
||||
@@ -294744,7 +294464,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -295139,7 +294859,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -384465,9 +384185,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
|
||||
@@ -46921,7 +46921,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"description": "The rendering mode.",
|
||||
"description": "The rendering mode. Can be either `markdown` or `gfm`.",
|
||||
"enum": [
|
||||
"markdown",
|
||||
"gfm"
|
||||
@@ -46931,7 +46931,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"context": {
|
||||
"description": "The repository context to use when creating references in `gfm` mode.",
|
||||
"description": "The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
@@ -94018,9 +94018,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
@@ -146349,6 +146351,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -148818,6 +148826,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -153357,6 +153371,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -172444,6 +172464,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -254559,7 +254585,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -254954,7 +254980,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -331102,9 +331128,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
|
||||
@@ -46946,7 +46946,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"description": "The rendering mode.",
|
||||
"description": "The rendering mode. Can be either `markdown` or `gfm`.",
|
||||
"enum": [
|
||||
"markdown",
|
||||
"gfm"
|
||||
@@ -46956,7 +46956,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"context": {
|
||||
"description": "The repository context to use when creating references in `gfm` mode.",
|
||||
"description": "The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
@@ -94333,9 +94333,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
@@ -148282,6 +148284,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -150751,6 +150759,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -155290,6 +155304,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -175450,6 +175470,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -257565,7 +257591,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -257960,7 +257986,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -336009,9 +336035,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
|
||||
@@ -47902,7 +47902,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"description": "The rendering mode.",
|
||||
"description": "The rendering mode. Can be either `markdown` or `gfm`.",
|
||||
"enum": [
|
||||
"markdown",
|
||||
"gfm"
|
||||
@@ -47912,7 +47912,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"context": {
|
||||
"description": "The repository context to use when creating references in `gfm` mode.",
|
||||
"description": "The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
@@ -96311,9 +96311,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
@@ -151908,6 +151910,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -154389,6 +154397,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -158952,6 +158966,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -179175,6 +179195,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -264305,7 +264331,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -264700,7 +264726,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -343939,9 +343965,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
|
||||
@@ -48115,7 +48115,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"description": "The rendering mode.",
|
||||
"description": "The rendering mode. Can be either `markdown` or `gfm`.",
|
||||
"enum": [
|
||||
"markdown",
|
||||
"gfm"
|
||||
@@ -48125,7 +48125,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"context": {
|
||||
"description": "The repository context to use when creating references in `gfm` mode.",
|
||||
"description": "The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
@@ -98944,9 +98944,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
@@ -158901,6 +158903,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -161382,6 +161390,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -165945,6 +165959,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -186103,6 +186123,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -271059,7 +271085,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -271454,7 +271480,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -350708,9 +350734,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
|
||||
@@ -31651,7 +31651,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"description": "The rendering mode.",
|
||||
"description": "The rendering mode. Can be either `markdown` or `gfm`.",
|
||||
"enum": [
|
||||
"markdown",
|
||||
"gfm"
|
||||
@@ -31661,7 +31661,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"context": {
|
||||
"description": "The repository context to use when creating references in `gfm` mode.",
|
||||
"description": "The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
@@ -67417,9 +67417,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
@@ -122062,6 +122064,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -124543,6 +124551,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -129106,6 +129120,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -149044,6 +149064,12 @@
|
||||
},
|
||||
"check_runs_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"rerequestable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"runs_rerequestable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -153631,314 +153657,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/repos/{owner}/{repo}/content_references/{content_reference_id}/attachments": {
|
||||
"post": {
|
||||
"summary": "Create a content attachment",
|
||||
"description": "Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` and `repository` `full_name` of the content reference from the [`content_reference` event](https://docs.github.com/github-ae@latest/webhooks/event-payloads/#content_reference) to create an attachment.\n\nThe app must create a content attachment within six hours of the content reference URL being posted. See \"[Using content attachments](https://docs.github.com/github-ae@latest/apps/using-content-attachments/)\" for details about content attachments.\n\nYou must use an [installation access token](https://docs.github.com/github-ae@latest/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.",
|
||||
"tags": [
|
||||
"apps"
|
||||
],
|
||||
"operationId": "apps/create-content-attachment",
|
||||
"externalDocs": {
|
||||
"description": "API method documentation",
|
||||
"url": "https://docs.github.com/github-ae@latest/rest/reference/apps#create-a-content-attachment"
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "owner",
|
||||
"description": "The owner of the repository. Determined from the `repository` `full_name` of the `content_reference` event.",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "repo",
|
||||
"description": "The name of the repository. Determined from the `repository` `full_name` of the `content_reference` event.",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "content_reference_id",
|
||||
"description": "The `id` of the `content_reference` event.",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"title": {
|
||||
"description": "The title of the attachment",
|
||||
"example": "Title of the attachment",
|
||||
"type": "string",
|
||||
"maxLength": 1024
|
||||
},
|
||||
"body": {
|
||||
"description": "The body of the attachment",
|
||||
"example": "Body of the attachment",
|
||||
"type": "string",
|
||||
"maxLength": 262144
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"title",
|
||||
"body"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"title": "ContentReferenceAttachment",
|
||||
"description": "Content Reference attachments allow you to provide context around URLs posted in comments",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"description": "The ID of the attachment",
|
||||
"example": 21,
|
||||
"type": "integer"
|
||||
},
|
||||
"title": {
|
||||
"description": "The title of the attachment",
|
||||
"example": "Title of the attachment",
|
||||
"type": "string",
|
||||
"maxLength": 1024
|
||||
},
|
||||
"body": {
|
||||
"description": "The body of the attachment",
|
||||
"example": "Body of the attachment",
|
||||
"type": "string",
|
||||
"maxLength": 262144
|
||||
},
|
||||
"node_id": {
|
||||
"description": "The node_id of the content attachment",
|
||||
"example": "MDE3OkNvbnRlbnRBdHRhY2htZW50MjE=",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"title",
|
||||
"body"
|
||||
]
|
||||
},
|
||||
"examples": {
|
||||
"default": {
|
||||
"value": {
|
||||
"id": 101,
|
||||
"title": "[A-1234] Error found in core/models.py file'",
|
||||
"body": "You have used an email that already exists for the user_email_uniq field.\n ## DETAILS:\n\nThe (email)=(Octocat@github.com) already exists.\n\n The error was found in core/models.py in get_or_create_user at line 62.\n\n self.save()"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"422": {
|
||||
"description": "Validation failed",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"title": "Validation Error",
|
||||
"description": "Validation Error",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"message",
|
||||
"documentation_url"
|
||||
],
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"documentation_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"errors": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code"
|
||||
],
|
||||
"properties": {
|
||||
"resource": {
|
||||
"type": "string"
|
||||
},
|
||||
"field": {
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"code": {
|
||||
"type": "string"
|
||||
},
|
||||
"index": {
|
||||
"type": "integer"
|
||||
},
|
||||
"value": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"nullable": true
|
||||
},
|
||||
{
|
||||
"type": "array",
|
||||
"nullable": true,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Resource not found",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"title": "Basic Error",
|
||||
"description": "Basic Error",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"documentation_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"410": {
|
||||
"description": "Gone",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"title": "Basic Error",
|
||||
"description": "Basic Error",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"documentation_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"415": {
|
||||
"description": "Preview header missing",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"message",
|
||||
"documentation_url"
|
||||
],
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"documentation_url": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"304": {
|
||||
"description": "Not modified"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"title": "Basic Error",
|
||||
"description": "Basic Error",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"documentation_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-github": {
|
||||
"githubCloudOnly": false,
|
||||
"enabledForGitHubApps": true,
|
||||
"previews": [
|
||||
{
|
||||
"required": true,
|
||||
"name": "corsair",
|
||||
"note": "To access the Content Attachments API during the preview period, you must provide a custom [media type](https://docs.github.com/github-ae@latest/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.corsair-preview+json\n```"
|
||||
}
|
||||
],
|
||||
"category": "apps",
|
||||
"subcategory": "installations"
|
||||
}
|
||||
}
|
||||
},
|
||||
"/repos/{owner}/{repo}/contents/{path}": {
|
||||
"get": {
|
||||
"summary": "Get repository content",
|
||||
@@ -231953,7 +231671,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -232348,7 +232066,7 @@
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "A short description of the label."
|
||||
"description": "A short description of the label. Must be 100 characters or fewer."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -308497,9 +308215,11 @@
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"pull": true,
|
||||
"triage": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4049476895fb239bc51e71ebd336338d41529afc67d2098dce429533dc003237
|
||||
size 641041
|
||||
oid sha256:765ec393f48b1da26a6ec01436aff63a8ae0e58e00c229abff36abc768ae815a
|
||||
size 640925
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b0b2a1a218d1543eb344ae20b572c55b3e95859c5f6418dca4f7738ea730489c
|
||||
size 1111649
|
||||
oid sha256:d3af4a355dc9287243762e9fca0e81b368f00323637d47b2d1ae530465506d8f
|
||||
size 1112102
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7166c39064400d935ff68fd4194d024349115b4015d7584f63a14e571b80f113
|
||||
size 944974
|
||||
oid sha256:cb52ad0e124e1ba0ae0d13fbb735bf115a4690ee0615713e900a6a81e7084b79
|
||||
size 945815
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2ab881358f1b65eafb4780c410dc4cd0252cd02171e3faf47c0d8938e930bbfa
|
||||
size 3858188
|
||||
oid sha256:44ea78b2bdcc346b8b969966ddb6408e4e2b1a38e2e450125fb64da66db12e2d
|
||||
size 3859149
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2f88d199c16319f387dc7befa2247fdf161a1ff43c149ecb1474f68da324a301
|
||||
size 584420
|
||||
oid sha256:e5a647e342279eaf5584b7efc8ae882687590309a65ad9ea58bbb41a9bca6381
|
||||
size 584641
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2034c5b57c8f2fa0e1c49c827a213b0472109bff6cdf11067bf58912b0698e6a
|
||||
size 2455540
|
||||
oid sha256:2e1118a4c589e04b76e48b8853df7d4db78d97d766278e38611a7b045f3df4c6
|
||||
size 2455855
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:995025c3a0e1fdda18833647304d9eae5b457f3858a8dffa41b47424105b94e1
|
||||
size 666491
|
||||
oid sha256:b0d040087150c6a6c12b5cde92cf2407c4d712dad54eafebd63a23a9b662faf7
|
||||
size 666681
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a0a5ee449971aad8ba85fb09e59062fee537eaea68340681c2966fb4f41752df
|
||||
size 3450524
|
||||
oid sha256:edac4bc4b93b88b6031bc49f12105dcb3455dffdbf9225d78dd05f385133722f
|
||||
size 3450530
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ea29db113ce85355e408b98557371bd7a31d53f4762a12a5c21e39fc9f305aca
|
||||
size 544965
|
||||
oid sha256:ffe05aee1a3475001951342c6034623b586effa1771512997950a7555b39b029
|
||||
size 544919
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:84c39d3b1c41752c800066cb8a5edcb17958c47a285c55e4ce04640babb70294
|
||||
size 2233851
|
||||
oid sha256:e4b888ff599cd91683af7cb3c2b6b4f7f264324c2735c7ad03bc4eea85bef8b6
|
||||
size 2233755
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4cb5ad2c1880cfa82c66379bd78ecb662809dd42df225f42c2ef5fa1a56a3932
|
||||
size 655625
|
||||
oid sha256:6a0a32e9e01c7a8260399755d053889d512ce023b4bc0b09c0c36149eb9b2d93
|
||||
size 655749
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:aaaaa5076b294583fae46c0e057558041cb0d804800dc9f18c604f8cabbc02c6
|
||||
size 1144090
|
||||
oid sha256:ed84b47b595ddb325b765ae7c948562be5b0069d566334f0107a62a79c3a8e28
|
||||
size 1144272
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2a8af3d531106d3f834ec517068786b91dd52cb9caf1c2fb8d06acf50c1d4643
|
||||
size 970024
|
||||
oid sha256:07d08cdfbc14d71fb44c735380e9c9560d0e77fd72523954204abf997633b509
|
||||
size 969935
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a52ee2080910250bde000300baf084993d065171a5591f2b369bf867f31f7bae
|
||||
size 3951668
|
||||
oid sha256:4509329dd6b077f819e8a83cae92a77afde1e116d621c53c1ccf29fa8ba61c23
|
||||
size 3951588
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:241912f2b98df27791f1aae857b74571e7ef08fb9b745b10ec8ea61f61dc20dd
|
||||
size 597228
|
||||
oid sha256:50ad6cbc376ffeac08e48ccdb2b7acddfb7ea049bc4415540e968afa80aa3d43
|
||||
size 597236
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:23d4b5c4f3ed1c7ec69d038c5ca55fd5886d9baf932c00699ccfa995d4595e90
|
||||
size 2514879
|
||||
oid sha256:ba438c4ff9465333863b1259cdc2a026480618940be5e52ee7db63c6db8e23cd
|
||||
size 2514233
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e520026797499331e24221d53fd73c24fcf935225aeb4c548613b366748adfc4
|
||||
size 681223
|
||||
oid sha256:7f01c489a0c4fd9ecdccef6aced09c78baae77341c167a916d51f7fe4fa572bd
|
||||
size 681395
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:77a9b49b1b495ffd78c382b9325ad5d58d819577c4ab14533861826f476de0f6
|
||||
size 3533386
|
||||
oid sha256:a046dd133aa4f1e2e8522c0e02e32a5c06e1b6208c42a67850f21c385a0be672
|
||||
size 3533703
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:264928ca75f4ac57c795299d25af5ca67d9240baa9918377831f552c33e3eda7
|
||||
size 557069
|
||||
oid sha256:c65fe5c0c685beaa01f8e9985470a07f038ae9c810564d2b748868066971e274
|
||||
size 557059
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:67aad2a80ed7724c9f58a7daf685a33abbefd97f9f0c2ec21529db1eb1d5a649
|
||||
size 2289490
|
||||
oid sha256:aed5e4e922e7395f615ceeb58526617938c26b64ea524e78e4061b63e6cebb65
|
||||
size 2289478
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4f2aa508681440af8d93fc5b4f10ef5753627be6f80c1c2c08b89c35c40e11b0
|
||||
size 668718
|
||||
oid sha256:adc19edd60060198af984af275eaf23093e610ae19414f83ad7e655574a23b26
|
||||
size 668760
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4d832c1719ed684a7f5b35953d50d7250a5938c021c7829989e5e0393160b908
|
||||
size 1169094
|
||||
oid sha256:9adc3df5e1f9149c6a0e85c984f02cdbc7b8cd6ee2fcc1c95f37841c88c92373
|
||||
size 1168954
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c60fd8d5dce9adf6c582b098427b9509ee3dbf5241d4310ca7fc94ae7fc88483
|
||||
size 1000821
|
||||
oid sha256:85111370ff228c4c4bbf7b5062429e913e5df093a3324bd98b164d6d2d5f6335
|
||||
size 1001021
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ac61b65215de8922fe562b8bd49306d518d11e52c5807b166386716194a67295
|
||||
size 4070323
|
||||
oid sha256:9d748b84215b4a694c4a772ef8080bdba553a614ed3ca9b80d262b06adf806b2
|
||||
size 4071039
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f62f8658e0c0c2b0495a1a39bfd342e9159a5653d3e384942b7af8b9971b7ab5
|
||||
size 608258
|
||||
oid sha256:feef9067a613f92b7801a7270671f2cf9a87e1230a3a6bbab445f900edaaa61f
|
||||
size 608086
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0871545c7f18518daa953bcba6292e5637272ffce62b9bcd681f21688d87fde6
|
||||
size 2565982
|
||||
oid sha256:40fedf9b3e1758ba377871a5c276ce3b0becc1ecbcc89db1bbe038062e95bd22
|
||||
size 2565960
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:522045dfc163bf0c1c07650b75fec174dc9e51f0171e46a07d4b9a06d91192db
|
||||
size 693703
|
||||
oid sha256:6dba6850e17175b2ba80625c25c80767e83dafc1141684bef1527dd374fa821f
|
||||
size 693741
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fd516842b0faff9a784672ae5e3a6b73401d0322260275f0ccb235065bc17b34
|
||||
size 3605119
|
||||
oid sha256:5803bc091bf14bc0cc2501a76fa251ca8c87c780e3b145740190f9924baeb00b
|
||||
size 3605453
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e59ad385a800b9a365266e860ccdeae0821ee015aa70c556cbbb7d14119b47c1
|
||||
size 567333
|
||||
oid sha256:40ea222448b43780b9514cc1017f371f19958bea633494f7cf314288d7b9e9fe
|
||||
size 567279
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0ef9cf8810cb83d8c70bd329adf8dd6ba7c9524de2a90a1e3390b958b5fa4a37
|
||||
size 2331617
|
||||
oid sha256:0051c5a322753b60c9001866dae71c8f1b40ccf4a9c8f6e2b6da2e52844c1bed
|
||||
size 2332035
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:83d0f55f34c14378cfc55869db81d610e4e82ec44c6e3654a39735f0c69fcef6
|
||||
size 691539
|
||||
oid sha256:687f9e046e1c9028751be8268ad80f91506c15fa26dafabb5b880a947617002b
|
||||
size 691490
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:55918d08e38df87aab5502ae5389233815f720405e90f3d876f7d27fdd47722e
|
||||
size 1226449
|
||||
oid sha256:7d289a260c70805c15f16f9af67d4ae50876bc6d68dfe2259bc5428abeefda52
|
||||
size 1226772
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:14f9c12a3c7ad88c0bf99ac93153af53cb0464b863c78a624064e3c580c4efb2
|
||||
size 1034557
|
||||
oid sha256:601214acc7589ef6d583faf3af111093c6fc713655ff4d41bf3121da44f5f869
|
||||
size 1034999
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fa363ef21cf719ecef4ba4b13ecf2f6c642fbc4aebdc086640f766c89c5ec171
|
||||
size 4166266
|
||||
oid sha256:56969f2c7c81006bf4601c5494cedbed2b7fb1c414e74d81ea46e016b12a0312
|
||||
size 4167809
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e20a7f3795818920308100b30595796c4c170eba4c62680f4b70d577a3be3765
|
||||
size 626610
|
||||
oid sha256:28b830b30b4d03fb666569ab1991e00873ad0c5bf8e544786659e98061df39b1
|
||||
size 626891
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1f9a60b978506e84f321d83607e682bfb86fcbeaea57d74325fb8b16efa0bb8c
|
||||
size 2665818
|
||||
oid sha256:696c8847d1b6fd77f86bd84cd7679ec38b0ec97cf2eece9063de5a7b61aae312
|
||||
size 2666359
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d307f62694f67f388457f9cd9c9c8b81256dfe1d22c0b7eed1a6a3d5f25030d9
|
||||
size 716392
|
||||
oid sha256:508c7effe09399dffbe8c4bdb4fae646861b74c34ca5a913197fb1f8db1259d3
|
||||
size 716241
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user