From b7cf5c68f08851d293a8321aa1b917fc564c9941 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 14:25:48 +0000 Subject: [PATCH 01/38] Keep keyboard focus when a breadcrumb chevron hides (#64056) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../tests/playwright-rendering.spec.ts | 15 ++++++++++- .../page-header/BreadcrumbsScroller.tsx | 25 +++++++++++++++++-- .../components/ui/IconButton/IconButton.tsx | 3 ++- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/fixtures/tests/playwright-rendering.spec.ts b/src/fixtures/tests/playwright-rendering.spec.ts index 609e8fe67e54..367a2563c6dd 100644 --- a/src/fixtures/tests/playwright-rendering.spec.ts +++ b/src/fixtures/tests/playwright-rendering.spec.ts @@ -2053,12 +2053,25 @@ test.describe('secondary-bar breadcrumb scroller', () => { await expect.poll(scrollLeftOf).toBeGreaterThan(afterOneLeft) // Drive off chevron visibility because smooth scrolling can leave sub-pixel scrollLeft. + // Tab in for keyboard focus, which a hiding chevron must hand to the other chevron. + await page.getByTestId('sidebar-collapse-toggle').focus() + await page.keyboard.press('Tab') + await expect(leftChevron).toBeFocused() + expect(await leftChevron.evaluate((el) => el.matches(':focus-visible'))).toBe(true) for (let i = 0; i < 6 && (await leftChevron.isVisible()); i++) { - await leftChevron.click() + await page.keyboard.press('Enter') await page.waitForTimeout(200) } await expect(leftChevron).toBeHidden() await expect.poll(scrollLeftOf).toBeLessThanOrEqual(1) + await expect(rightChevron).toBeFocused() + + for (let i = 0; i < 10 && (await rightChevron.isVisible()); i++) { + await page.keyboard.press('Enter') + await page.waitForTimeout(200) + } + await expect(rightChevron).toBeHidden() + await expect(leftChevron).toBeFocused() }) }) diff --git a/src/frame/components/page-header/BreadcrumbsScroller.tsx b/src/frame/components/page-header/BreadcrumbsScroller.tsx index 521964c7b0aa..fb12abf0ce38 100644 --- a/src/frame/components/page-header/BreadcrumbsScroller.tsx +++ b/src/frame/components/page-header/BreadcrumbsScroller.tsx @@ -25,15 +25,34 @@ export const BreadcrumbsScroller = () => { const scrollerRef = useRef(null) const [canScrollLeft, setCanScrollLeft] = useState(false) const [canScrollRight, setCanScrollRight] = useState(false) + const pendingFocus = useRef<'left' | 'right' | null>(null) const updateScrollState = useCallback(() => { const el = scrollRef.current if (!el) return // 1px thresholds avoid sub-pixel rounding leaving a chevron stuck on. - setCanScrollLeft(el.scrollLeft > 1) - setCanScrollRight(el.scrollLeft < el.scrollWidth - el.clientWidth - 1) + const nextLeft = el.scrollLeft > 1 + const nextRight = el.scrollLeft < el.scrollWidth - el.clientWidth - 1 + // Hand keyboard focus to the other chevron, not the body. Mouse focus would pop its tooltip open. + const active = document.activeElement + const focusedSide = + active && scrollerRef.current?.contains(active) && active.matches(':focus-visible') + ? active.closest('[data-chevron]')?.getAttribute('data-chevron') + : null + if (focusedSide === 'left' && !nextLeft && nextRight) pendingFocus.current = 'right' + if (focusedSide === 'right' && !nextRight && nextLeft) pendingFocus.current = 'left' + setCanScrollLeft(nextLeft) + setCanScrollRight(nextRight) }, []) + // Runs after commit so it focuses the remounted, visible chevron. + useEffect(() => { + const side = pendingFocus.current + if (!side) return + pendingFocus.current = null + scrollerRef.current?.querySelector(`[data-chevron="${side}"]`)?.focus() + }, [canScrollLeft, canScrollRight]) + // Anchor only on mount and real width changes, so user and keyboard scrolling can move left. const anchorRight = useCallback(() => { const el = scrollRef.current @@ -127,6 +146,7 @@ export const BreadcrumbsScroller = () => { aria-hidden={!canScrollLeft} tabIndex={canScrollLeft ? undefined : -1} onClick={scrollLeftClick} + data-chevron="left" />
{ aria-hidden={!canScrollRight} tabIndex={canScrollRight ? undefined : -1} onClick={scrollRightClick} + data-chevron="right" />
) diff --git a/src/frame/components/ui/IconButton/IconButton.tsx b/src/frame/components/ui/IconButton/IconButton.tsx index 3dbe903669b1..1bc3c48699c3 100644 --- a/src/frame/components/ui/IconButton/IconButton.tsx +++ b/src/frame/components/ui/IconButton/IconButton.tsx @@ -18,7 +18,8 @@ export type IconButtonProps = Omit< // With a tooltip, the tooltip text labels the button through aria-labelledby, so // the button carries no aria-label and screen readers hear one name. Hidden buttons -// skip the tooltip because nothing can hover or focus them. +// skip the tooltip because nothing can hover or focus them. Hiding a focused button +// remounts it and drops focus, so callers must move focus to another element once it hides. export const IconButton = ({ icon: Icon, 'aria-label': ariaLabel, From 26b356a41cd9968c889a28d204ee9dee5db74b64 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 14:25:54 +0000 Subject: [PATCH 02/38] Restore the enterprise account link after the create-account reusable (#64094) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- data/reusables/enterprise/create-an-enterprise-account.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/data/reusables/enterprise/create-an-enterprise-account.md b/data/reusables/enterprise/create-an-enterprise-account.md index d24a42b8c3f5..52f1cd4fed73 100644 --- a/data/reusables/enterprise/create-an-enterprise-account.md +++ b/data/reusables/enterprise/create-an-enterprise-account.md @@ -2,6 +2,4 @@ -If you currently use {% data variables.product.prodname_ghe_cloud %} with a single organization, we encourage you to create an enterprise account. - - +If you currently use {% data variables.product.prodname_ghe_cloud %} with a single organization, we encourage you to create an enterprise account. From bb93064028ed2f3d03ca44ab69cf5d4f0c562dfa Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 14:26:02 +0000 Subject: [PATCH 03/38] Show object and list argument defaults in GraphQL reference docs (#64120) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../graphql-reference-transformer.test.ts | 11 +++ src/graphql/components/types.tsx | 2 +- src/graphql/lib/validator.ts | 4 +- src/graphql/scripts/utils/process-schemas.ts | 5 +- src/graphql/scripts/utils/schema-helpers.ts | 21 ++++-- src/graphql/tests/default-values.ts | 67 +++++++++++++++++++ 6 files changed, 99 insertions(+), 11 deletions(-) create mode 100644 src/graphql/tests/default-values.ts diff --git a/src/article-api/tests/graphql-reference-transformer.test.ts b/src/article-api/tests/graphql-reference-transformer.test.ts index ec77151fa850..38cc8f3448b0 100644 --- a/src/article-api/tests/graphql-reference-transformer.test.ts +++ b/src/article-api/tests/graphql-reference-transformer.test.ts @@ -41,6 +41,14 @@ vi.mock('@/graphql/lib/index', () => ({ description: 'The owner.', type: 'String!', }, + { + name: 'orderBy', + id: 'orderby', + href: '/graphql/reference/input-objects#widgetorder', + description: 'Ordering options.', + type: 'WidgetOrder', + defaultValue: '{field: UPDATED_AT, direction: DESC}', + }, ], }, ], @@ -129,6 +137,9 @@ describe('GraphQLReferenceTransformer default values', () => { expect(lineFor('`followRenames` (Boolean)')).toContain('Default: `true`.') expect(lineFor('`dryRun` (Boolean)')).toContain('Default: `false`.') expect(lineFor('`owner` (String!)')).not.toContain('Default:') + expect(lineFor('`orderBy` (WidgetOrder)')).toContain( + 'Default: `{field: UPDATED_AT, direction: DESC}`.', + ) expect(lineFor('`includeHidden` (Boolean)')).toContain('Default: `false`.') expect(lineFor('`includeVisible` (Boolean)')).toContain('Default: `true`.') diff --git a/src/graphql/components/types.tsx b/src/graphql/components/types.tsx index 54c214cf0c94..919ac5302b1b 100644 --- a/src/graphql/components/types.tsx +++ b/src/graphql/components/types.tsx @@ -35,7 +35,7 @@ export type GraphqlT = { isDeprecated?: boolean deprecationReason?: string preview?: PreviewT - defaultValue?: boolean + defaultValue?: string | boolean } export type ImplementsT = { diff --git a/src/graphql/lib/validator.ts b/src/graphql/lib/validator.ts index b0560561a7c7..b14c9f15a9d9 100644 --- a/src/graphql/lib/validator.ts +++ b/src/graphql/lib/validator.ts @@ -1,7 +1,7 @@ // src/graphql/tests/validate-schema.ts reads these schemas to validate generated data. interface JSONSchema { - type?: string + type?: string | string[] required?: string[] properties?: Record items?: JSONSchema @@ -116,7 +116,7 @@ corePropsPlusArgs.properties!.args = { } corePropsPlusArgs.properties!.args.items!.properties!.defaultValue = { - type: 'boolean', + type: ['boolean', 'string'], } const corePropsNoType = dup(coreProps) diff --git a/src/graphql/scripts/utils/process-schemas.ts b/src/graphql/scripts/utils/process-schemas.ts index a6ade603dd05..a87eb24d8719 100755 --- a/src/graphql/scripts/utils/process-schemas.ts +++ b/src/graphql/scripts/utils/process-schemas.ts @@ -511,10 +511,7 @@ export default async function processSchemas( (field.arguments || []).map(async (arg: InputValueDefinitionNode) => { const queryArg: Partial = {} queryArg.name = arg.name.value - queryArg.defaultValue = - arg.defaultValue && 'value' in arg.defaultValue - ? arg.defaultValue.value - : undefined + queryArg.defaultValue = helpers.getDefaultValue(arg.defaultValue) const argType = helpers.getType(arg) if (!argType) return queryArg.type = argType diff --git a/src/graphql/scripts/utils/schema-helpers.ts b/src/graphql/scripts/utils/schema-helpers.ts index 2f47582d1d18..7852ff476bcf 100644 --- a/src/graphql/scripts/utils/schema-helpers.ts +++ b/src/graphql/scripts/utils/schema-helpers.ts @@ -9,8 +9,15 @@ import { isEnumType, isInputObjectType, GraphQLSchema, + Kind, + print, } from 'graphql' -import type { ConstDirectiveNode, TypeNode, InputValueDefinitionNode } from 'graphql/language' +import type { + ConstDirectiveNode, + ConstValueNode, + TypeNode, + InputValueDefinitionNode, +} from 'graphql/language' import path from 'path' import { slugPrefixForUrlKind } from '@/graphql/lib/categories' @@ -28,7 +35,7 @@ interface TypeInfo { interface ArgumentInfo { name: string - // GraphQL scalar default values come through the AST as a string or boolean. + // Scalar defaults keep their AST string or boolean. Object and list defaults are printed as SDL. defaultValue?: string | boolean description: string type: TypeInfo @@ -79,8 +86,7 @@ async function getArguments( const newArg: Partial = {} const type: Partial = {} newArg.name = arg.name.value - newArg.defaultValue = - arg.defaultValue && 'value' in arg.defaultValue ? arg.defaultValue.value : undefined + newArg.defaultValue = getDefaultValue(arg.defaultValue) newArg.description = arg.description ? await getDescription(arg.description.value, context) : '' const typeName = getType(arg) if (!typeName) continue @@ -97,6 +103,12 @@ async function getArguments( return newArgs } +function getDefaultValue(node?: ConstValueNode): string | boolean | undefined { + if (!node || node.kind === Kind.NULL) return undefined + // Object and list nodes have no scalar value, so render them the way the schema writes them. + return 'value' in node ? node.value : print(node) +} + // buildCategoryHref returns anchors like /graphql/reference/repos#object-repository for rewrites. export function buildCategoryHref(category: string, urlKind: string, id: string): string { return `/graphql/reference/${category}#${slugPrefixForUrlKind(urlKind)}-${id}` @@ -268,6 +280,7 @@ function removeMarkers(str: string): string { const helpers = { getArguments, + getDefaultValue, getDeprecationReason, getDeprecationStatus, getDescription, diff --git a/src/graphql/tests/default-values.ts b/src/graphql/tests/default-values.ts new file mode 100644 index 000000000000..874180c8541f --- /dev/null +++ b/src/graphql/tests/default-values.ts @@ -0,0 +1,67 @@ +import { describe, expect, test } from 'vitest' + +import { validateJson } from '@/tests/lib/validate-json-schema' +import { schemaValidator } from '../lib/validator' +import processSchemas from '../scripts/utils/process-schemas' + +const IDL = ` +directive @docsCategory(name: String!) on ENUM | FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | UNION + +enum OrderField { CREATED_AT UPDATED_AT } +enum OrderDirection { ASC DESC } +enum Affiliation { OWNER COLLABORATOR } + +input Ord { + field: OrderField + direction: OrderDirection +} + +type Query { + things(orderBy: Ord = {field: UPDATED_AT, direction: DESC}, flag: Boolean = false): Thing +} + +type Thing { + items( + orderBy: Ord = {field: CREATED_AT, direction: ASC} + affiliations: [Affiliation] = [OWNER, COLLABORATOR] + ids: [ID!] = ["a"] + first: Int = 25 + flag: Boolean = false + name: String = null + after: String + ): String +} +` + +type Arg = { name: string; defaultValue?: string | boolean } + +function defaultsByName(args: Arg[] | undefined): Record { + return Object.fromEntries((args || []).map((arg) => [arg.name, arg.defaultValue])) +} + +describe('GraphQL argument default values', () => { + test('keeps object, list, and scalar defaults on query and field arguments', async () => { + const data = await processSchemas(IDL, []) + + const query = data.queries.find((q) => q.name === 'things')! + expect(defaultsByName(query.args)).toEqual({ + orderBy: '{field: UPDATED_AT, direction: DESC}', + flag: false, + }) + + const thing = data.objects.find((o) => o.name === 'Thing')! + const items = thing.fields!.find((f) => f.name === 'items')! + expect(defaultsByName(items.arguments as Arg[])).toEqual({ + orderBy: '{field: CREATED_AT, direction: ASC}', + affiliations: '[OWNER, COLLABORATOR]', + ids: '["a"]', + first: '25', + flag: false, + name: undefined, + after: undefined, + }) + + const { isValid, errors } = validateJson(schemaValidator.queries, query) + expect(isValid, JSON.stringify(errors)).toBe(true) + }) +}) From 2465196801e948461294c23e8edfc58a44cc4a6e Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 14:26:08 +0000 Subject: [PATCH 04/38] Validate the Copilot model supported clients table in CI (#64156) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Hector A. Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/data-directory/lib/data-schemas/index.ts | 3 + .../tables/copilot/model-supported-clients.ts | 64 +++++++++---------- src/data-directory/tests/data-schemas.ts | 25 ++++++++ 3 files changed, 58 insertions(+), 34 deletions(-) diff --git a/src/data-directory/lib/data-schemas/index.ts b/src/data-directory/lib/data-schemas/index.ts index 403e0efe9305..fa023e5d10da 100644 --- a/src/data-directory/lib/data-schemas/index.ts +++ b/src/data-directory/lib/data-schemas/index.ts @@ -67,6 +67,9 @@ const manualSchemas: DataSchemas = { 'data/tables/copilot/model-deprecation-history.yml': resolveSchemaPath( 'tables/copilot/model-deprecation-history.ts', ), + 'data/tables/copilot/model-supported-clients.yml': resolveSchemaPath( + 'tables/copilot/model-supported-clients.ts', + ), } const dataSchemas: DataSchemas = { diff --git a/src/data-directory/lib/data-schemas/tables/copilot/model-supported-clients.ts b/src/data-directory/lib/data-schemas/tables/copilot/model-supported-clients.ts index 84475d8305aa..1697009efacc 100644 --- a/src/data-directory/lib/data-schemas/tables/copilot/model-supported-clients.ts +++ b/src/data-directory/lib/data-schemas/tables/copilot/model-supported-clients.ts @@ -1,38 +1,34 @@ const modelsSupportedClientsSchema = { - type: 'object', - additionalProperties: false, - required: ['models'], - properties: { - models: { - type: 'object', - items: { - type: 'object', - additionalProperties: false, - required: ['name', 'dotcom', 'vscode', 'vs', 'eclipse', 'xcode', 'jetbrains'], - properties: { - name: { - type: 'string', - lintable: true, - }, - dotcom: { - type: 'boolean', - }, - vscode: { - type: 'boolean', - }, - vs: { - type: 'boolean', - }, - eclipse: { - type: 'boolean', - }, - xcode: { - type: 'boolean', - }, - jetbrains: { - type: 'boolean', - }, - }, + type: 'array', + items: { + type: 'object', + additionalProperties: false, + required: ['name', 'dotcom', 'cli', 'vscode', 'vs', 'eclipse', 'xcode', 'jetbrains'], + properties: { + name: { + type: 'string', + lintable: true, + }, + dotcom: { + type: 'boolean', + }, + cli: { + type: 'boolean', + }, + vscode: { + type: 'boolean', + }, + vs: { + type: 'boolean', + }, + eclipse: { + type: 'boolean', + }, + xcode: { + type: 'boolean', + }, + jetbrains: { + type: 'boolean', }, }, }, diff --git a/src/data-directory/tests/data-schemas.ts b/src/data-directory/tests/data-schemas.ts index 231f4fd78663..34a358fc98a0 100644 --- a/src/data-directory/tests/data-schemas.ts +++ b/src/data-directory/tests/data-schemas.ts @@ -51,6 +51,31 @@ describe('single data files', () => { }) }) +describe('Copilot model supported clients table', () => { + const filepath = 'data/tables/copilot/model-supported-clients.yml' + + test('rejects rows with invalid client columns', async () => { + expect(dataSchemas[filepath]).toBeDefined() + const schema = (await import(dataSchemas[filepath])).default + const loadRows = () => load(readFileSync(filepath, 'utf8')) as Record[] + + expect(validateJson(schema, loadRows()).isValid).toBe(true) + + const stringValue = loadRows() + stringValue[0].cli = 'yes' + expect(validateJson(schema, stringValue).isValid).toBe(false) + + const missingColumn = loadRows() + delete missingColumn[0].cli + expect(validateJson(schema, missingColumn).isValid).toBe(false) + + const misspelledColumn = loadRows() + delete misspelledColumn[0].jetbrains + misspelledColumn[0].jetbrain = true + expect(validateJson(schema, misspelledColumn).isValid).toBe(false) + }) +}) + describe('YAML-powered tables', () => { test('all table files have corresponding schemas', () => { const tablesDir = join(process.cwd(), 'data/tables') From 10ba7c7f13f0b3faac9f24b699fa240f27194dda Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 14:26:14 +0000 Subject: [PATCH 05/38] Keep nested indentation when reloading existing release notes (#64181) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/ghes-releases/lib/parse-release-notes.ts | 12 +++- .../tests/generate-release-notes.ts | 65 +++++++++++++++++++ 2 files changed, 75 insertions(+), 2 deletions(-) diff --git a/src/ghes-releases/lib/parse-release-notes.ts b/src/ghes-releases/lib/parse-release-notes.ts index ef64a7f3698f..c7e708272ee1 100644 --- a/src/ghes-releases/lib/parse-release-notes.ts +++ b/src/ghes-releases/lib/parse-release-notes.ts @@ -128,6 +128,7 @@ export function loadExistingEntriesFromString(content: string): { let currentSourceUrl: string | null = null let currentHeading: string | null = null let currentNote: string[] = [] + let noteIndent: number | null = null let inNote = false // Hand-written sections can use grouped headings too, so only generated sections may set a heading. let inGeneratedSection = true @@ -157,6 +158,7 @@ export function loadExistingEntriesFromString(content: string): { } } currentNote = [] + noteIndent = null inNote = false } @@ -189,8 +191,14 @@ export function loadExistingEntriesFromString(content: string): { } if (inNote) { - if (line.trim() === '' || line.match(/^\s{4,}/)) { - currentNote.push(line.replace(/^\s{6,}/, '').trimEnd()) + const lineIndent = line.length - line.trimStart().length + const isBlank = line.trim() === '' + // YAML ends a block at the first non-empty line indented less than the block. + const endsBlock = !isBlank && noteIndent !== null && lineIndent < noteIndent + if (!endsBlock && (isBlank || line.match(/^\s{4,}/))) { + // YAML takes a block's indent from its first non-empty line, so deeper indents are markdown nesting. + if (noteIndent === null && !isBlank) noteIndent = lineIndent + currentNote.push(line.slice(noteIndent ?? lineIndent).trimEnd()) } else { flushNote() const reHeading = line.match(/^\s+-\s+heading:\s+(.+)/) diff --git a/src/ghes-releases/tests/generate-release-notes.ts b/src/ghes-releases/tests/generate-release-notes.ts index 53b987acf9af..7dd1098bd3bb 100644 --- a/src/ghes-releases/tests/generate-release-notes.ts +++ b/src/ghes-releases/tests/generate-release-notes.ts @@ -289,6 +289,71 @@ sections: expect(result.entries[0].notes).toEqual(['First note.', 'Second note from same issue.']) }) + test('keeps nested indentation when reloading generated notes', () => { + const note = [ + 'You can now configure the feature:', + '', + '1. Enable the setting.', + '', + ' This paragraph continues the first step.', + '', + ' ```shell', + ' ghe-config app.example.enabled true', + ' ```', + '', + '1. Apply the configuration.', + '', + '* Parent item', + ' * Child item', + ].join('\n') + const yaml = buildReleaseNotesYaml( + [ + { + heading: 'GitHub Actions', + notes: [note], + sourceUrl: 'https://github.com/github/releases/issues/100', + }, + { + heading: 'Some Other Heading', + notes: [note], + sourceUrl: 'https://github.com/github/releases/issues/101', + }, + ], + false, + ['GitHub Actions'], + ) + const result = loadExistingEntriesFromString(yaml) + expect(result.entries.map((e) => e.notes)).toEqual([[note], [note]]) + }) + + test('uses the first content line as the base indent of a note', () => { + const content = `sections: + changes: + # https://github.com/github/releases/issues/100 + - | + Parent paragraph. + + * Item + * Nested item +` + const result = loadExistingEntriesFromString(content) + expect(result.entries[0].notes).toEqual(['Parent paragraph.\n\n* Item\n * Nested item']) + }) + + test('ends a note at a less indented comment that is not a release issue URL', () => { + const content = `sections: + closing_down: + # https://github.com/github/releases/issues/100 + - | + First note. + # https://github.com/github/ghes/issues/200 + - | + Second note. +` + const result = loadExistingEntriesFromString(content) + expect(result.entries[0].notes[0]).toBe('First note.') + }) + test('does not attribute errata or known issues to the previous source URL', () => { const result = loadExistingEntriesFromString(handEditedFile) const closing = result.entries.filter((e) => e.heading === 'Closing down') From 57c8d9b0c8ebeaca1cf92bc71edd00bb903d3ab4 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 14:26:22 +0000 Subject: [PATCH 06/38] Fix case matching and similar output in reusables potential-uses (#64191) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../scripts/reusables-cli/README.md | 2 +- .../reusables-cli/find/potential-uses.ts | 2 +- .../scripts/reusables-cli/shared.ts | 1 + src/content-render/tests/reusables-cli.ts | 28 ++++++++++++++++++- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/content-render/scripts/reusables-cli/README.md b/src/content-render/scripts/reusables-cli/README.md index 75dd77bf6473..e41c7861a331 100644 --- a/src/content-render/scripts/reusables-cli/README.md +++ b/src/content-render/scripts/reusables-cli/README.md @@ -123,7 +123,7 @@ In these cases you can skip these reusables from being checked by the `find pote #### Similarity search -This may or may not be a useful search. It does a looser search to find places where the reusable _may_ be usable. You can include this type of search with the `-s` flag. You can alter the "threshold" used by the scoring algorithm to show more (higher number) or less (lower number) potential results with the `-t` flag. +This may or may not be a useful search. It does a looser search to find places where the reusable _may_ be usable. You can include this type of search with the `-s` flag. You can alter the "threshold" used by the scoring algorithm to show more (lower number) or fewer (higher number) potential results with the `-t` flag. The threshold is a number that finds how similar the words in the reusable are to the words in a given article. diff --git a/src/content-render/scripts/reusables-cli/find/potential-uses.ts b/src/content-render/scripts/reusables-cli/find/potential-uses.ts index af2886568cbe..b52e7e6b405f 100644 --- a/src/content-render/scripts/reusables-cli/find/potential-uses.ts +++ b/src/content-render/scripts/reusables-cli/find/potential-uses.ts @@ -93,5 +93,5 @@ export function findPotentialUses({ console.log(`${reusableCount}/${reusableFiles.length} reusables checked...`) console.log(`\nFound ${filesThatCouldUseReusable.length} files that could use reusables.`) - printFindsWithLineNumbers(absolute, filesThatCouldUseReusable) + printFindsWithLineNumbers(absolute, filesThatCouldUseReusable, filesThatCouldUseReusableSimilar) } diff --git a/src/content-render/scripts/reusables-cli/shared.ts b/src/content-render/scripts/reusables-cli/shared.ts index 5f30e7a3972e..77a8bddf256c 100644 --- a/src/content-render/scripts/reusables-cli/shared.ts +++ b/src/content-render/scripts/reusables-cli/shared.ts @@ -121,6 +121,7 @@ export function getAllReusablesFilePaths(): string[] { export function findIndicesOfSubstringInString(substr: string, str: string): number[] { str = str.toLowerCase() + substr = substr.toLowerCase() const result: number[] = [] diff --git a/src/content-render/tests/reusables-cli.ts b/src/content-render/tests/reusables-cli.ts index 3258788a03e1..2003bb92a99e 100644 --- a/src/content-render/tests/reusables-cli.ts +++ b/src/content-render/tests/reusables-cli.ts @@ -1,6 +1,9 @@ import { describe, expect, test } from 'vitest' -import { getIndicesOfLiquidVariable } from '@/content-render/scripts/reusables-cli/shared' +import { + findIndicesOfSubstringInString, + getIndicesOfLiquidVariable, +} from '@/content-render/scripts/reusables-cli/shared' describe('getIndicesOfLiquidVariable', () => { test('finds data and indented_data_reference tags', () => { @@ -29,3 +32,26 @@ describe('getIndicesOfLiquidVariable', () => { expect(getIndicesOfLiquidVariable('reusables.foo.bar', contents)).toEqual([]) }) }) + +describe('findIndicesOfSubstringInString', () => { + const reusable = '1. On {% data variables.product.prodname_dotcom %}, navigate to the main page' + + test('finds a mixed-case needle', () => { + const content = `Intro\n\n${reusable} of the repository.\n` + expect(findIndicesOfSubstringInString(reusable, content)).toEqual([7]) + }) + + test('ignores case on both sides', () => { + const content = `Intro\n\n${reusable.toUpperCase()}\n` + expect(findIndicesOfSubstringInString(reusable, content)).toEqual([7]) + }) + + test('returns every occurrence', () => { + const content = `${reusable}\n${reusable}\n` + expect(findIndicesOfSubstringInString(reusable, content)).toEqual([0, reusable.length + 1]) + }) + + test('returns an empty array when the needle is missing', () => { + expect(findIndicesOfSubstringInString(reusable, 'Nothing to see here.')).toEqual([]) + }) +}) From a55d456a8eeff10409a5c87f4550be276feac75d Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 14:26:29 +0000 Subject: [PATCH 07/38] Keep the anchor on GraphQL legacy redirects with a query or cookie (#64229) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/redirects/middleware/handle-redirects.ts | 11 ++- .../tests/routing/developer-site-redirects.ts | 17 ++++ .../tests/unit/handle-redirects-fragment.ts | 82 +++++++++++++++++++ 3 files changed, 108 insertions(+), 2 deletions(-) create mode 100644 src/redirects/tests/unit/handle-redirects-fragment.ts diff --git a/src/redirects/middleware/handle-redirects.ts b/src/redirects/middleware/handle-redirects.ts index 4b4a8f3570ef..f4f87705c184 100644 --- a/src/redirects/middleware/handle-redirects.ts +++ b/src/redirects/middleware/handle-redirects.ts @@ -112,7 +112,13 @@ export default function handleRedirects(req: ExtendedRequest, res: Response, nex redirectWithoutQueryParams = graphqlRewrite } - redirect = queryParams ? redirectWithoutQueryParams + queryParams : redirectWithoutQueryParams + // The query must come before the fragment, or browsers treat it as part of the anchor. + const hashIndex = redirectWithoutQueryParams.indexOf('#') + const hash = hashIndex >= 0 ? redirectWithoutQueryParams.slice(hashIndex) : '' + const redirectPath = hash + ? redirectWithoutQueryParams.slice(0, hashIndex) + : redirectWithoutQueryParams + redirect = redirectPath + (queryParams || '') + hash // Query values can contain ://, so check only the destination path. const isExternal = redirectWithoutQueryParams.includes('://') @@ -146,7 +152,8 @@ export default function handleRedirects(req: ExtendedRequest, res: Response, nex } if (preference.redirectTo) { languageAndVersionCacheControl(res) - return res.safeRedirect(302, preference.redirectTo + (queryParams || '')) + // Keep the fragment because the original request had none for the browser to carry over. + return res.safeRedirect(302, preference.redirectTo + (queryParams || '') + hash) } } diff --git a/src/redirects/tests/routing/developer-site-redirects.ts b/src/redirects/tests/routing/developer-site-redirects.ts index 43f11426455d..239e1c8150b6 100644 --- a/src/redirects/tests/routing/developer-site-redirects.ts +++ b/src/redirects/tests/routing/developer-site-redirects.ts @@ -5,6 +5,7 @@ import { beforeAll, describe, expect, test, vi } from 'vitest' import enterpriseServerReleases from '@/versions/lib/enterprise-server-releases' import { get } from '@/tests/helpers/e2etest' import readJsonFile from '@/frame/lib/read-json-file' +import { USER_VERSION_COOKIE_NAME } from '@/frame/lib/constants' describe('developer redirects', () => { vi.setConfig({ testTimeout: 60 * 1000 }) @@ -58,6 +59,22 @@ describe('developer redirects', () => { expect(enumRes.statusCode).toBe(301) const enumResFinalPath = '/en/graphql/reference/search#enum-searchtype' expect(enumRes.headers.location).toBe(enumResFinalPath) + + const queryRes = await get('/en/v4/scalar/boolean?utm_source=foo') + expect(queryRes.statusCode).toBe(301) + expect(queryRes.headers.location).toBe( + '/en/graphql/reference/other?utm_source=foo#scalar-boolean', + ) + }) + + test('graphql reference paths keep the fragment with a version cookie', async () => { + const res = await get('/en/v4/enum/searchtype', { + headers: { Cookie: `${USER_VERSION_COOKIE_NAME}=enterprise-cloud@latest` }, + }) + expect(res.statusCode).toBe(302) + expect(res.headers.location).toBe( + '/en/enterprise-cloud@latest/graphql/reference/search#enum-searchtype', + ) }) }) diff --git a/src/redirects/tests/unit/handle-redirects-fragment.ts b/src/redirects/tests/unit/handle-redirects-fragment.ts new file mode 100644 index 000000000000..862715ef0b9a --- /dev/null +++ b/src/redirects/tests/unit/handle-redirects-fragment.ts @@ -0,0 +1,82 @@ +import { describe, expect, test } from 'vitest' +import type { NextFunction, Response } from 'express' + +import handleRedirects from '@/redirects/middleware/handle-redirects' +import type { Context, ExtendedRequest } from '@/types' + +const redirects = { + '/v4/enum/searchtype': '/graphql/reference/enums#searchtype', + '/v4/scalar/boolean': '/graphql/reference/scalars#boolean', +} + +const pages = { + '/en/graphql/reference/search': {}, + '/en/graphql/reference/other': {}, + '/en/enterprise-cloud@latest/graphql/reference/search': {}, + '/en/enterprise-cloud@latest/graphql/reference/other': {}, +} + +function run(url: string, userVersion?: string) { + const parsed = new URL(url, 'https://docs.github.com') + const req = { + path: parsed.pathname, + url, + originalUrl: url, + query: Object.fromEntries(parsed.searchParams), + userVersion, + context: { userLanguage: 'en', pages, redirects } as unknown as Context, + } as unknown as ExtendedRequest + + const result: { statusCode?: number; location?: string } = {} + const res = { + set() { + return res + }, + append() { + return res + }, + hasHeader() { + return false + }, + safeRedirect(status: number, location: string) { + result.statusCode = status + result.location = location + }, + } as unknown as Response + + const next: NextFunction = () => {} + handleRedirects(req, res, next) + return result +} + +describe('handleRedirects with fragment targets', () => { + test('puts the query string before the fragment', () => { + const result = run('/en/v4/scalar/boolean?utm_source=foo') + expect(result.statusCode).toBe(301) + expect(result.location).toBe('/en/graphql/reference/other?utm_source=foo#scalar-boolean') + }) + + test('keeps the fragment on version cookie redirects', () => { + const result = run('/en/v4/enum/searchtype', 'enterprise-cloud@latest') + expect(result.statusCode).toBe(302) + expect(result.location).toBe( + '/en/enterprise-cloud@latest/graphql/reference/search#enum-searchtype', + ) + }) + + test('keeps the fragment on language-less version cookie redirects', () => { + const result = run('/v4/enum/searchtype', 'enterprise-cloud@latest') + expect(result.statusCode).toBe(302) + expect(result.location).toBe( + '/en/enterprise-cloud@latest/graphql/reference/search#enum-searchtype', + ) + }) + + test('puts the query string before the fragment on version cookie redirects', () => { + const result = run('/en/v4/scalar/boolean?utm_source=foo', 'enterprise-cloud@latest') + expect(result.statusCode).toBe(302) + expect(result.location).toBe( + '/en/enterprise-cloud@latest/graphql/reference/other?utm_source=foo#scalar-boolean', + ) + }) +}) From 8fb89ee5b5e9d8fde93bd584b244cf846ec71c8f Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 14:26:36 +0000 Subject: [PATCH 08/38] Reuse one Elasticsearch client per process for search requests (#64240) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/search/lib/helpers/get-client.ts | 15 ++++++++--- src/search/tests/get-client.ts | 38 ++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 src/search/tests/get-client.ts diff --git a/src/search/lib/helpers/get-client.ts b/src/search/lib/helpers/get-client.ts index 19e11c606f8e..91ee3a06b5b7 100644 --- a/src/search/lib/helpers/get-client.ts +++ b/src/search/lib/helpers/get-client.ts @@ -6,6 +6,10 @@ const logger = createLogger(import.meta.url) const DEFAULT_REQUEST_TIMEOUT = 5000 +// Each Client owns a keep-alive connection pool, so reuse one per process +// instead of opening new connections on every search. +const clients = new Map() + export function getElasticsearchClient( overrideURL = '', verbose = false, @@ -15,10 +19,13 @@ export function getElasticsearchClient( if (verbose) { logger.info('Connecting to Elasticsearch URL', { url: safeUrlDisplay(node) }) } - const client = new Client({ - node, - requestTimeout: options?.requestTimeout ?? DEFAULT_REQUEST_TIMEOUT, - }) + const requestTimeout = options?.requestTimeout ?? DEFAULT_REQUEST_TIMEOUT + const key = `${node}|${requestTimeout}` + let client = clients.get(key) + if (!client) { + client = new Client({ node, requestTimeout }) + clients.set(key, client) + } return client } diff --git a/src/search/tests/get-client.ts b/src/search/tests/get-client.ts new file mode 100644 index 000000000000..6b30f779fa04 --- /dev/null +++ b/src/search/tests/get-client.ts @@ -0,0 +1,38 @@ +import { afterAll, beforeAll, describe, expect, test, vi } from 'vitest' +import type { Client } from '@elastic/elasticsearch' +import { getElasticsearchClient } from '@/search/lib/helpers/get-client' + +describe('getElasticsearchClient', () => { + const created = new Set() + + function getClient(...args: Parameters) { + const client = getElasticsearchClient(...args) + created.add(client) + return client + } + + beforeAll(() => { + vi.stubEnv('ELASTICSEARCH_URL', 'http://localhost:9200') + }) + + afterAll(async () => { + vi.unstubAllEnvs() + await Promise.all([...created].map((client) => client.close())) + }) + + test('returns the same client for repeated calls', () => { + expect(getClient()).toBe(getClient()) + }) + + test('returns a different client for a different request timeout', () => { + const custom = getClient('', false, { requestTimeout: 60_000 }) + expect(custom).not.toBe(getClient()) + expect(custom).toBe(getClient('', false, { requestTimeout: 60_000 })) + }) + + test('returns a different client for a different URL', () => { + const other = getClient('http://localhost:9201') + expect(other).not.toBe(getClient()) + expect(other).toBe(getClient('http://localhost:9201')) + }) +}) From 16e4cd6805b058e6db82a66dd02dc88d6652861e Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 15:18:11 +0000 Subject: [PATCH 09/38] Keep reordered data and octicon tags in translated content (#64013) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../lib/correct-translation-content.ts | 47 ++++++-- .../tests/correct-translation-content.ts | 104 ++++++++++++++++++ 2 files changed, 142 insertions(+), 9 deletions(-) diff --git a/src/languages/lib/correct-translation-content.ts b/src/languages/lib/correct-translation-content.ts index 59d26a54f161..cba38696f8f1 100644 --- a/src/languages/lib/correct-translation-content.ts +++ b/src/languages/lib/correct-translation-content.ts @@ -1727,12 +1727,16 @@ export function correctTranslatedContentStrings( translatedMatches.length === englishNames.length && translatedMatches.some((m, i) => m[1] !== englishNames[i]) ) { + const aligned = realignTagArgs( + translatedMatches.map((m) => m[1]), + englishNames, + ) let i = 0 content = content.replace( /(\{%-?\s*octicon\s+")([^"]*)(")/g, - (_match, prefix, _name, suffix) => { - const englishName = englishNames[i++] - return `${prefix}${englishName}${suffix}` + (match, prefix, name, suffix) => { + const englishName = aligned[i++] + return englishName === name ? match : `${prefix}${englishName}${suffix}` }, ) } else if (englishNames.length > 0) { @@ -1779,12 +1783,16 @@ export function correctTranslatedContentStrings( translatedMatches.length === englishArgs.length && translatedMatches.some((m, i) => m[1].trim() !== englishArgs[i]) ) { + const aligned = realignTagArgs( + translatedMatches.map((m) => m[1].trim()), + englishArgs, + ) let i = 0 content = content.replace( /(\{%-?\s*indented_data_reference\s+)([^%]*?)(\s*-?%\})/g, - (_match, prefix, _args, suffix) => { - const englishArg = englishArgs[i++] - return `${prefix}${englishArg}${suffix}` + (match, prefix, args, suffix) => { + const englishArg = aligned[i++] + return englishArg === args.trim() ? match : `${prefix}${englishArg}${suffix}` }, ) } else if (englishArgs.length > 0) { @@ -1816,12 +1824,16 @@ export function correctTranslatedContentStrings( translatedMatches.length === englishArgs.length && translatedMatches.some((m, i) => m[1].trim() !== englishArgs[i]) ) { + const aligned = realignTagArgs( + translatedMatches.map((m) => m[1].trim()), + englishArgs, + ) let i = 0 content = content.replace( /(\{%-?\s*data\s+)([^%]*?)(\s*-?%\})/g, - (_match, prefix, _args, suffix) => { - const englishArg = englishArgs[i++] - return `${prefix}${englishArg}${suffix}` + (match, prefix, args, suffix) => { + const englishArg = aligned[i++] + return englishArg === args.trim() ? match : `${prefix}${englishArg}${suffix}` }, ) } else if (englishArgs.length > 0) { @@ -2129,6 +2141,23 @@ export function correctTranslatedContentStrings( return content } +// Translators may reorder valid tags to fit the sentence, so keep each known argument +// up to its English count and fill the rest with the English arguments still unused. +function realignTagArgs(translated: string[], english: string[]): string[] { + const remaining = new Map() + for (const arg of english) remaining.set(arg, (remaining.get(arg) ?? 0) + 1) + const take = (arg: string) => { + const count = remaining.get(arg) ?? 0 + if (count === 0) return false + remaining.set(arg, count - 1) + return true + } + const kept = translated.map(take) + const unused = english.filter(take) + let next = 0 + return translated.map((arg, i) => (kept[i] ? arg : unused[next++])) +} + // Rejoin markers that the translation pipeline split from their content, which breaks rendering. // Markers allow 0 to 3 leading spaces, matching CommonMark. // Continuations need 6+ spaces, so 4-space indented code stays untouched. diff --git a/src/languages/tests/correct-translation-content.ts b/src/languages/tests/correct-translation-content.ts index 0392fc1d04ef..3389dbc09c45 100644 --- a/src/languages/tests/correct-translation-content.ts +++ b/src/languages/tests/correct-translation-content.ts @@ -3679,6 +3679,110 @@ Para más información, consulta "[AUTOTITLE](/path)". }) }) + describe('tags reordered relative to English', () => { + test('keeps data tags that a translation reorders', () => { + const english = + 'With {% data variables.product.github %}, use {% data variables.product.prodname_ghe_server %}.' + const ja = + '{% data variables.product.prodname_ghe_server %}は{% data variables.product.github %}です' + expect(fix(ja, 'ja', english)).toBe(ja) + }) + + test('still replaces an unknown data argument with the English one at that index', () => { + const english = + 'With {% data variables.product.github %}, use {% data variables.product.prodname_ghe_server %}.' + expect( + fix( + '{% data variables.produit.github %}と{% data variables.product.prodname_ghe_server %}', + 'fr', + english, + ), + ).toBe( + '{% data variables.product.github %}と{% data variables.product.prodname_ghe_server %}', + ) + }) + + test('keeps reordered octicons and replaces unknown octicon names', () => { + const english = '{% octicon "check" aria-hidden="true" %} and {% octicon "x" %}' + const swapped = '{% octicon "x" %}と{% octicon "check" aria-hidden="true" %}' + expect(fix(swapped, 'ja', english)).toBe(swapped) + expect(fix('{% octicon "foo" aria-hidden="true" %}と{% octicon "x" %}', 'ja', english)).toBe( + '{% octicon "check" aria-hidden="true" %}と{% octicon "x" %}', + ) + }) + + test('keeps reordered indented_data_reference tags', () => { + const english = [ + '{% indented_data_reference reusables.foo.one spaces=3 %}', + '{% indented_data_reference reusables.foo.two spaces=3 %}', + ].join('\n') + const swapped = [ + '{% indented_data_reference reusables.foo.two spaces=3 %}', + '{% indented_data_reference reusables.foo.one spaces=3 %}', + ].join('\n') + expect(fix(swapped, 'ja', english)).toBe(swapped) + }) + + test('fills a garbled data argument with the unused English one when tags are reordered', () => { + const english = + 'With {% data variables.product.github %}, use {% data variables.product.prodname_ghe_server %}.' + expect( + fix( + '{% data variables.product.prodname_ghe_server %}と{% data variables.produit.github %}', + 'ja', + english, + ), + ).toBe( + '{% data variables.product.prodname_ghe_server %}と{% data variables.product.github %}', + ) + }) + + test('replaces excess duplicate data arguments with the missing English one', () => { + const english = + 'With {% data variables.product.github %}, use {% data variables.product.prodname_ghe_server %}.' + expect( + fix( + '{% data variables.product.prodname_ghe_server %}と{% data variables.product.prodname_ghe_server %}', + 'ja', + english, + ), + ).toBe( + '{% data variables.product.prodname_ghe_server %}と{% data variables.product.github %}', + ) + }) + + test('fills unknown and excess octicon names with the unused English ones', () => { + const english = '{% octicon "check" aria-hidden="true" %} and {% octicon "x" %}' + expect(fix('{% octicon "x" %}と{% octicon "foo" aria-hidden="true" %}', 'ja', english)).toBe( + '{% octicon "x" %}と{% octicon "check" aria-hidden="true" %}', + ) + expect(fix('{% octicon "x" %}と{% octicon "x" aria-hidden="true" %}', 'ja', english)).toBe( + '{% octicon "x" %}と{% octicon "check" aria-hidden="true" %}', + ) + }) + + test('fills unknown and excess indented_data_reference arguments with the unused English ones', () => { + const english = [ + '{% indented_data_reference reusables.foo.one spaces=3 %}', + '{% indented_data_reference reusables.foo.two spaces=3 %}', + ].join('\n') + const expected = [ + '{% indented_data_reference reusables.foo.two spaces=3 %}', + '{% indented_data_reference reusables.foo.one spaces=3 %}', + ].join('\n') + const garbled = [ + '{% indented_data_reference reusables.foo.two spaces=3 %}', + '{% indented_data_reference reusables.fou.one spaces=3 %}', + ].join('\n') + const duplicated = [ + '{% indented_data_reference reusables.foo.two spaces=3 %}', + '{% indented_data_reference reusables.foo.two spaces=3 %}', + ].join('\n') + expect(fix(garbled, 'ja', english)).toBe(expected) + expect(fix(duplicated, 'ja', english)).toBe(expected) + }) + }) + describe('Chinese glued 数据reusables and Russian alert tags', () => { test('fixes {% 数据reusables. and leaves valid input unchanged', () => { expect(fix('{% 数据reusables.apps.optional_feature_activation %}', 'zh')).toBe( From eddaaab48fb2361901ed78bc7333424cd6ee47ec Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 15:18:19 +0000 Subject: [PATCH 10/38] Stop GHD017 crashing on Liquid errors in block scalar frontmatter (#64106) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../lib/linting-rules/liquid-syntax.ts | 13 +++++++------ src/content-linter/tests/unit/liquid-syntax.ts | 13 +++++++++++++ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/content-linter/lib/linting-rules/liquid-syntax.ts b/src/content-linter/lib/linting-rules/liquid-syntax.ts index fc8ac2f28646..8aa950783ece 100644 --- a/src/content-linter/lib/linting-rules/liquid-syntax.ts +++ b/src/content-linter/lib/linting-rules/liquid-syntax.ts @@ -34,14 +34,15 @@ export const frontmatterLiquidSyntax = { if (!isLiquidError(error)) throw error const { errorDescription, columnNumber } = getErrorMessageInfo((error as Error).message) const lineNumber = params.lines.findIndex((line) => line.trim().startsWith(`${key}:`)) + 1 + const line = params.lines[lineNumber - 1] // Offset for the key, colon, space, and 1-based column; missing spaces throw YAMLException. const startRange = columnNumber + key.length + 3 - // Clamp the range to the line length when Liquid reports past the end. - const endRange = - startRange + value.length - 1 > params.lines[lineNumber - 1].length - ? params.lines[lineNumber - 1].length - startRange + 1 - : value.length - const range: [number, number] = [startRange, endRange] + // Block and multiline values continue on later lines, so the column does not map to the key line. + const isBlockScalar = /^[|>]/.test(line.slice(line.indexOf(':') + 1).trim()) + const range: [number, number] | null = + !isBlockScalar && startRange <= line.length + ? [startRange, Math.min(value.length, line.length - startRange + 1)] + : null addError( onError, lineNumber, diff --git a/src/content-linter/tests/unit/liquid-syntax.ts b/src/content-linter/tests/unit/liquid-syntax.ts index f27f940a82d3..8040186836a7 100644 --- a/src/content-linter/tests/unit/liquid-syntax.ts +++ b/src/content-linter/tests/unit/liquid-syntax.ts @@ -23,6 +23,19 @@ describe(frontmatterLiquidSyntax.names.join(' - '), () => { expect(errors.map((error) => error.lineNumber)).toEqual([2, 3, 4, 5]) expect(errors[0].errorRange).toEqual([9, 40]) }) + test.each([ + ['intro: >-', ' Learn how {% dta variables.product.prodname_copilot %} works.'], + ['intro: |', ' {% data variables.foo }'], + ['intro: >-', ' {% data variables.foo }'], + ])('Block scalar "%s" with "%s" reports on the key line', async (keyLine, valueLine) => { + const markdown = ['---', 'title: Title', keyLine, valueLine, '---'].join('\n') + const result = await runRule(frontmatterLiquidSyntax, { strings: { markdown }, ...fmOptions }) + const errors = result.markdown + expect(errors.length).toBe(1) + expect(errors[0].lineNumber).toBe(3) + expect(errors[0].errorDetail).toContain('Liquid syntax error') + expect(errors[0].errorRange).toBeNull() + }) test('Liquid error message that contains a comma reports the full description', async () => { const markdown = ['---', 'title: "{% data foo }, and more"', '---'].join('\n') const result = await runRule(frontmatterLiquidSyntax, { strings: { markdown }, ...fmOptions }) From f075b6806cfa72d91d688099e37a5806c5209a5e Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 15:18:26 +0000 Subject: [PATCH 11/38] Keep the query string on language-code redirects (#64138) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/languages/tests/redirects.ts | 2 ++ .../middleware/language-code-redirects.ts | 5 ++++- .../tests/unit/language-code-redirects.ts | 21 ++++++++++++------- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/languages/tests/redirects.ts b/src/languages/tests/redirects.ts index 67a895889faa..7e5aa91dcf23 100644 --- a/src/languages/tests/redirects.ts +++ b/src/languages/tests/redirects.ts @@ -53,6 +53,8 @@ describe('redirects', () => { ['/zh-Hans', '/zh'], ['/zh-hant/get-started', '/zh/get-started'], ['/kr', '/ko'], + ['/jp/search?query=actions', '/ja/search?query=actions'], + ['/cn/rest?apiVersion=2022-11-28', '/zh/rest?apiVersion=2022-11-28'], ])('redirects %s to %s', async (from, to_) => { const res = await get(from) expect(res.statusCode).toBe(301) diff --git a/src/redirects/middleware/language-code-redirects.ts b/src/redirects/middleware/language-code-redirects.ts index 65d630d00a42..1f166a67a1d8 100644 --- a/src/redirects/middleware/language-code-redirects.ts +++ b/src/redirects/middleware/language-code-redirects.ts @@ -36,7 +36,10 @@ export default function languageCodeRedirects( const [code, pattern] = matched if (code && pattern) { defaultCacheControl(res) - return res.safeRedirect(301, req.path.replace(pattern, `/${code}`)) + // Keep the query string so search terms and selectors such as apiVersion survive. + const queryIndex = req.url.indexOf('?') + const query = queryIndex === -1 ? '' : req.url.slice(queryIndex) + return res.safeRedirect(301, req.path.replace(pattern, `/${code}`) + query) } } return next() diff --git a/src/redirects/tests/unit/language-code-redirects.ts b/src/redirects/tests/unit/language-code-redirects.ts index faf19dfc3ce1..abe1bb302a3c 100644 --- a/src/redirects/tests/unit/language-code-redirects.ts +++ b/src/redirects/tests/unit/language-code-redirects.ts @@ -10,8 +10,8 @@ vi.mock('@/languages/lib/languages-server', async () => { return { default: languages } }) -function run(path: string) { - const req = { path } as ExtendedRequest +function run(url: string) { + const req = { url, path: url.split('?')[0] } as ExtendedRequest const res = { hasHeader: () => false, set: vi.fn(), safeRedirect: vi.fn() } const next = vi.fn() languageCodeRedirects(req, res as unknown as Response, next as NextFunction) @@ -22,21 +22,28 @@ describe('languageCodeRedirects', () => { test.each([ ['/jp', '/ja'], ['/cn/get-started', '/zh/get-started'], + ['/cn/rest/repos', '/zh/rest/repos'], ['/zh-CN', '/zh'], ['/zh-TW/get-started', '/zh/get-started'], ['/zh-Hans', '/zh'], ['/zh-Hans/get-started', '/zh/get-started'], ['/zh-hant/get-started', '/zh/get-started'], ['/zh-Hans-CN/get-started', '/zh/get-started'], + ['/jp/search?query=actions', '/ja/search?query=actions'], + ['/cn/rest/repos?apiVersion=2022-11-28', '/zh/rest/repos?apiVersion=2022-11-28'], + ['/zh-TW/actions?tool=cli&platform=mac', '/zh/actions?tool=cli&platform=mac'], ])('redirects %s to %s', (from, to) => { const { res, next } = run(from) expect(res.safeRedirect).toHaveBeenCalledWith(301, to) expect(next).not.toHaveBeenCalled() }) - test.each(['/zh', '/zh/get-started', '/en/zh-Hans'])('passes %s through', (path) => { - const { res, next } = run(path) - expect(res.safeRedirect).not.toHaveBeenCalled() - expect(next).toHaveBeenCalled() - }) + test.each(['/zh', '/zh/get-started', '/en/zh-Hans', '/ja/search?query=jp'])( + 'passes %s through', + (url) => { + const { res, next } = run(url) + expect(res.safeRedirect).not.toHaveBeenCalled() + expect(next).toHaveBeenCalledOnce() + }, + ) }) From 1b27b657a5d7122d7f67f1860e6567433d1294b7 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 15:22:58 +0000 Subject: [PATCH 12/38] Keep docs results when Enter repeats the shown Copilot question (#64052) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../tests/playwright-rendering.spec.ts | 30 ++++++++++++++++ src/search/components/input/SearchOverlay.tsx | 6 ++++ src/search/components/input/search-options.ts | 4 ++- src/search/tests/search-options.ts | 34 +++++++++++++++++++ 4 files changed, 73 insertions(+), 1 deletion(-) diff --git a/src/fixtures/tests/playwright-rendering.spec.ts b/src/fixtures/tests/playwright-rendering.spec.ts index 367a2563c6dd..44a2a2a3e4a6 100644 --- a/src/fixtures/tests/playwright-rendering.spec.ts +++ b/src/fixtures/tests/playwright-rendering.spec.ts @@ -880,6 +880,36 @@ test.describe('search dialog', () => { await expect(input).toHaveAttribute('aria-activedescendant', 'search-option-reference-0') }) + test('pressing Enter again on the shown answer keeps the docs rows', async ({ page }) => { + let aiRequests = 0 + await page.route('**/api/ai-search/v1', (route) => { + aiRequests++ + return route.fulfill({ + status: 200, + headers: { 'Content-Type': 'application/x-ndjson' }, + body: '{"chunkType":"MESSAGE_CHUNK","text":"An answer."}\n', + }) + }) + await mockSearch(page) + await page.goto('/') + await turnOffExperimentsInPage(page) + + await page.getByTestId('toggle-search').click() + const input = page.getByTestId('overlay-search-input') + await input.fill('foo') + await expect(page.locator('#search-option-general-0')).toBeVisible() + await input.press('Enter') // nothing selected: ask Copilot + await expect(page.getByText('An answer.')).toBeVisible() + await expect(page.locator('#search-option-general-0')).toBeVisible() + + // The same question is already answered, so Enter must not swap the docs rows for a spinner. + await input.press('Enter') + await page.waitForTimeout(1500) + await expect(page.locator('#search-option-general-0')).toBeVisible() + await expect(page.getByText('An answer.')).toBeVisible() + expect(aiRequests).toBe(1) + }) + // A flash can last one frame, so record every text the page adds instead of the end state. async function recordAddedText(page: Page) { await page.evaluate(() => { diff --git a/src/search/components/input/SearchOverlay.tsx b/src/search/components/input/SearchOverlay.tsx index e9c17e594cb7..eccaa974698f 100644 --- a/src/search/components/input/SearchOverlay.tsx +++ b/src/search/components/input/SearchOverlay.tsx @@ -319,6 +319,12 @@ export function SearchOverlay({ // AI results replace suggestions, so keep focus in the input after selection. const aiSearchOptionOnSelect = (selectedOption: AutocompleteSearchHit) => { + // Re-asking the shown question changes no state that refetches, so loading would never clear. + if (isAskAIState && selectedOption.term === aiQuery) { + setActiveId(null) + inputRef.current?.focus() + return + } if (selectedOption.term) { askAIEventGroupId.current = uuidv4() // Send the event here because cached results skip executeAISearch. diff --git a/src/search/components/input/search-options.ts b/src/search/components/input/search-options.ts index b4015b554283..58e0c2c4f114 100644 --- a/src/search/components/input/search-options.ts +++ b/src/search/components/input/search-options.ts @@ -158,8 +158,10 @@ export function buildSearchOptions({ noResults = true } + // Match SearchGroups: while ask-AI docs load, a spinner replaces the docs rows. + const docsHidden = isAskAIState && !aiSearchError && searchLoading // Must match render order: AI rows or references, then docs rows, then view-all last. - const rows = suggestionsHidden ? [] : [...ai, ...references, ...general] + const rows = suggestionsHidden ? [] : [...ai, ...references, ...(docsHidden ? [] : general)] const options = [...rows, ...(viewAll ? [viewAll] : [])] return { options, ai, references, general, viewAll, noResults } diff --git a/src/search/tests/search-options.ts b/src/search/tests/search-options.ts index 48a33c176f21..f7243aec6bbb 100644 --- a/src/search/tests/search-options.ts +++ b/src/search/tests/search-options.ts @@ -208,4 +208,38 @@ describe('buildSearchOptions', () => { // The renderer's slices are untouched, so the rows come back unchanged afterwards. expect(model.general).toHaveLength(3) }) + + test('docs rows behind the ask-AI docs spinner leave the arrow-key order', () => { + const model = buildSearchOptions({ + ...base, + isAskAIState: true, + searchLoading: true, + aiReferences: references(2), + generalSearchResults: generalHits(3), + showViewAllResults: true, + }) + expect(model.options.map((option) => option.id)).toEqual([ + 'search-option-reference-0', + 'search-option-reference-1', + VIEW_ALL_OPTION_ID, + ]) + // The renderer still draws the docs group, with its spinner, from this slice. + expect(model.general).toHaveLength(3) + }) + + test('docs rows stay arrow-reachable while loading after an ask-AI error', () => { + // On an AI error the renderer shows the docs rows, not the ask-AI spinner. + const model = buildSearchOptions({ + ...base, + isAskAIState: true, + searchLoading: true, + aiSearchError: true, + generalSearchResults: generalHits(3), + }) + expect(model.options.map((option) => option.id)).toEqual([ + 'search-option-general-0', + 'search-option-general-1', + 'search-option-general-2', + ]) + }) }) From 456c0a9bd40a91457f914ad236fd6fd755eeafc8 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 15:25:49 +0000 Subject: [PATCH 13/38] Find reusables included with indented_data_reference in review links (#64130) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/workflows/lib/in-liquid.ts | 6 ++++++ src/workflows/tests/in-liquid.ts | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 src/workflows/tests/in-liquid.ts diff --git a/src/workflows/lib/in-liquid.ts b/src/workflows/lib/in-liquid.ts index f34641b4020e..4ca35c83eace 100644 --- a/src/workflows/lib/in-liquid.ts +++ b/src/workflows/lib/in-liquid.ts @@ -27,6 +27,12 @@ export function inLiquid(filePath: string, fileContents: string, needle: string) if (args === needle) { return true } + } else if (token.name === 'indented_data_reference') { + // The reference is followed by an optional spaces=N argument. + const [reference] = token.args.trim().split(/\s+/) + if (reference === needle) { + return true + } } } return false diff --git a/src/workflows/tests/in-liquid.ts b/src/workflows/tests/in-liquid.ts new file mode 100644 index 000000000000..adaa7b4ceb56 --- /dev/null +++ b/src/workflows/tests/in-liquid.ts @@ -0,0 +1,35 @@ +import { describe, expect, test } from 'vitest' + +import { inLiquid } from '@/workflows/lib/in-liquid' + +// inLiquid caches tokens by file path, so each case uses its own path. +describe('inLiquid', () => { + test('finds a data tag', () => { + const contents = 'Intro\n\n{% data reusables.a.b %}\n' + expect(inLiquid('content/data-tag.md', contents, 'reusables.a.b')).toBe(true) + }) + + test('finds an indented_data_reference tag', () => { + const contents = '1. Step\n\n {% indented_data_reference reusables.a.b spaces=3 %}\n' + expect(inLiquid('content/indented-tag.md', contents, 'reusables.a.b')).toBe(true) + }) + + test('finds an indented_data_reference tag without spaces', () => { + const contents = '{% indented_data_reference reusables.a.b %}\n' + expect(inLiquid('content/indented-tag-no-spaces.md', contents, 'reusables.a.b')).toBe(true) + }) + + test('does not match a data tag with a longer reference', () => { + const contents = '{% data reusables.a.bc %}\n' + expect(inLiquid('content/data-tag-prefix.md', contents, 'reusables.a.b')).toBe(false) + }) + + test('does not match an indented_data_reference tag with a longer reference', () => { + const contents = '{% indented_data_reference reusables.a.b-c spaces=3 %}\n' + expect(inLiquid('content/indented-tag-prefix.md', contents, 'reusables.a.b')).toBe(false) + }) + + test('returns false for content without Liquid', () => { + expect(inLiquid('content/no-liquid.md', 'Plain text\n', 'reusables.a.b')).toBe(false) + }) +}) From 05ee135e0fc48ff6d20cfd2490b994cd4a0c3c2e Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 15:26:05 +0000 Subject: [PATCH 14/38] Route .dockerignore changes to the docs engineering review board (#64297) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 805f2678-e1fb-4c57-8fd1-1272c5875980 --- .github/instructions/code.instructions.md | 2 +- .github/workflows/reviewers-docs-engineering.yml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/instructions/code.instructions.md b/.github/instructions/code.instructions.md index ecbc07a28695..42da8346d6a2 100644 --- a/.github/instructions/code.instructions.md +++ b/.github/instructions/code.instructions.md @@ -1,5 +1,5 @@ --- -applyTo: "src/**,.github/**,config/**,.devcontainer/**,**Dockerfile,package*.json" +applyTo: "src/**,.github/**,config/**,.devcontainer/**,**Dockerfile,.dockerignore,package*.json" --- # Copilot code instructions for docs.github.com diff --git a/.github/workflows/reviewers-docs-engineering.yml b/.github/workflows/reviewers-docs-engineering.yml index 4424239f8a41..c541b80b6b8f 100644 --- a/.github/workflows/reviewers-docs-engineering.yml +++ b/.github/workflows/reviewers-docs-engineering.yml @@ -23,6 +23,7 @@ on: - 'config/**' - '.devcontainer/**' - '**Dockerfile' + - '.dockerignore' - 'package*.json' - .github/workflows/reviewers-docs-engineering.yml @@ -85,7 +86,7 @@ jobs: exit 0 fi lockfile=$(echo "$changed" | grep -c '^package-lock\.json$' || true) - other_eng=$(echo "$changed" | grep -cE '(\.tsx?$|\.scss$|^src/|^package\.json$|^\.github/|^config/|^\.devcontainer/|Dockerfile)' || true) + other_eng=$(echo "$changed" | grep -cE '(\.tsx?$|\.scss$|^src/|^package\.json$|^\.github/|^config/|^\.devcontainer/|Dockerfile|^\.dockerignore$)' || true) if [ "$lockfile" -gt 0 ] && [ "$other_eng" -eq 0 ]; then echo "lockfile_only=true" >> "$GITHUB_OUTPUT" else From c29e50d2488cdd5d2790e768cda06908fa838a12 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 15:29:29 +0000 Subject: [PATCH 15/38] Open the weekly content lint report when only warnings exist (#64019) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../lint-entire-content-data-markdown.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint-entire-content-data-markdown.yml b/.github/workflows/lint-entire-content-data-markdown.yml index 11abcb189cd7..fb88e9ffde06 100644 --- a/.github/workflows/lint-entire-content-data-markdown.yml +++ b/.github/workflows/lint-entire-content-data-markdown.yml @@ -34,13 +34,23 @@ jobs: run: npm run lint-content -- --paths content data --output-file /tmp/lint-results.json - name: Open issue in docs-content - if: ${{ always() && steps.linting-content-data.outcome == 'failure' }} + if: ${{ always() && steps.linting-content-data.outcome != 'skipped' }} env: GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }} REPORT_AUTHOR: docs-bot REPORT_LABEL: broken content markdown report REPORT_REPOSITORY: github/docs-content - run: npm run lint-report -- --path /tmp/lint-results.json + LINT_OUTCOME: ${{ steps.linting-content-data.outcome }} + # The linter exits 0 with warnings only, and writes no results file when the content is clean. + run: | + if [ -f /tmp/lint-results.json ]; then + npm run lint-report -- --path /tmp/lint-results.json + elif [ "$LINT_OUTCOME" != success ]; then + echo "Content linter failed without writing /tmp/lint-results.json" + exit 1 + else + echo "No lint results to report" + fi - uses: ./.github/actions/create-workflow-failure-issue id: create-failure-issue From d92a8fe90c27ebc00fa210a47bb94529519ccdbd Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 15:32:41 +0000 Subject: [PATCH 16/38] Render the CodeQL CLI manual index as a TOC in markdown output (#63921) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 Copilot-Session: fb5d8be8-479c-4950-8197-ef0220dbdcb0 --- .../templates/codeql-cli-page.template.md | 11 +++ .../tests/codeql-cli-transformer.test.ts | 75 +++++++++++++++++++ .../tests/codeql-cli-transformer.ts | 12 +++ .../transformers/codeql-cli-transformer.ts | 19 ++++- .../codeql-cli/codeql-cli-manual/index.md | 6 +- 5 files changed, 120 insertions(+), 3 deletions(-) create mode 100644 src/article-api/tests/codeql-cli-transformer.test.ts diff --git a/src/article-api/templates/codeql-cli-page.template.md b/src/article-api/templates/codeql-cli-page.template.md index a497a9dde462..3518052cf097 100644 --- a/src/article-api/templates/codeql-cli-page.template.md +++ b/src/article-api/templates/codeql-cli-page.template.md @@ -5,3 +5,14 @@ {% endif %} {{ content }} + +{% if links.size > 0 %} +## Links + +{% for link in links %} +* [{{ link.title }}]({{ link.href }}) +{% if link.intro %} + {{ link.intro }} +{% endif %} +{% endfor %} +{% endif %} diff --git a/src/article-api/tests/codeql-cli-transformer.test.ts b/src/article-api/tests/codeql-cli-transformer.test.ts new file mode 100644 index 000000000000..84ec576ff3be --- /dev/null +++ b/src/article-api/tests/codeql-cli-transformer.test.ts @@ -0,0 +1,75 @@ +import { describe, expect, test, vi } from 'vitest' + +import { transformerRegistry } from '@/article-api/transformers/index' +import { CodeQLCliTransformer } from '@/article-api/transformers/codeql-cli-transformer' +import type { Context, Page } from '@/types' + +vi.mock('@/article-api/lib/get-link-data', () => ({ + getLinkData: async (href: string) => ({ + href: `/en/code-security/codeql-cli/codeql-cli-manual${href}`, + title: href.slice(1), + intro: '', + }), +})) + +const versionNote = '> [!NOTE]\n> This content describes the most recent release of the CodeQL CLI.' + +const manualIndexPage = { + autogenerated: 'codeql-cli', + relativePath: 'code-security/reference/code-scanning/codeql/codeql-cli-manual/index.md', + documentType: 'subcategory', + title: 'CodeQL CLI commands manual', + intro: '', + languageCode: 'en', + children: ['/bqrs-decode', '/database-analyze'], + render: async () => versionNote, + renderProp: async () => '', +} as unknown as Page + +const commandPage = { + autogenerated: 'codeql-cli', + relativePath: + 'code-security/reference/code-scanning/codeql/codeql-cli-manual/database-analyze.md', + documentType: 'article', + title: 'database analyze', + intro: '', + languageCode: 'en', + render: async () => '## Synopsis', + renderProp: async () => '', +} as unknown as Page + +describe('CodeQLCliTransformer', () => { + const transformer = new CodeQLCliTransformer() + + test('registry routes the manual index and command pages to CodeQLCliTransformer', () => { + expect(transformerRegistry.findTransformer(manualIndexPage)).toBeInstanceOf( + CodeQLCliTransformer, + ) + expect(transformerRegistry.findTransformer(commandPage)).toBeInstanceOf(CodeQLCliTransformer) + }) + + test('manual index keeps the body note and lists command links', async () => { + const result = await transformer.transform(manualIndexPage, '/en/manual', {} as Context) + + expect(result).toContain('# CodeQL CLI commands manual') + expect(result).toContain('This content describes the most recent release of the CodeQL CLI.') + expect(result).toContain('## Links') + expect(result).toContain( + '* [bqrs-decode](/en/code-security/codeql-cli/codeql-cli-manual/bqrs-decode)', + ) + expect(result).toContain( + '* [database-analyze](/en/code-security/codeql-cli/codeql-cli-manual/database-analyze)', + ) + }) + + test('command pages have no links section', async () => { + const result = await transformer.transform( + commandPage, + '/en/manual/database-analyze', + {} as Context, + ) + + expect(result).toContain('## Synopsis') + expect(result).not.toContain('## Links') + }) +}) diff --git a/src/article-api/tests/codeql-cli-transformer.ts b/src/article-api/tests/codeql-cli-transformer.ts index 1218fe7c0786..b8ca39fccc0f 100644 --- a/src/article-api/tests/codeql-cli-transformer.ts +++ b/src/article-api/tests/codeql-cli-transformer.ts @@ -36,6 +36,18 @@ describe('codeql cli article body api', () => { expect(res.body).not.toContain('') }) + test('manual index page keeps its body and lists links to command pages', async () => { + const res = await get(makeURL('/en/code-security/codeql-cli/codeql-cli-manual')) + + expect(res.statusCode).toBe(200) + expect(res.headers['content-type']).toContain('text/markdown') + + expect(res.body).toContain('# CodeQL CLI Manual') + expect(res.body).toContain('This content describes the most recent release of the CodeQL CLI.') + expect(res.body).toContain('## Links') + expect(res.body).toContain('](/en/code-security/codeql-cli/codeql-cli-manual/database-analyze)') + }) + test('canTransform returns false for non-codeql-cli pages', async () => { const res = await get(makeURL('/en/get-started/start-your-journey/hello-world')) expect(res.statusCode).toBe(200) diff --git a/src/article-api/transformers/codeql-cli-transformer.ts b/src/article-api/transformers/codeql-cli-transformer.ts index 5ff69c840a9a..88be814230d0 100644 --- a/src/article-api/transformers/codeql-cli-transformer.ts +++ b/src/article-api/transformers/codeql-cli-transformer.ts @@ -1,9 +1,15 @@ import type { Context, Page } from '@/types' -import type { PageTransformer } from './types' +import type { LinkData, PageTransformer } from './types' import { renderLiquid } from '@/content-render/liquid/index' import { loadTemplate } from '@/article-api/lib/load-template' +import { resolvePath } from '@/article-api/lib/resolve-path' +import { getLinkData } from '@/article-api/lib/get-link-data' import { stripHtmlCommentsAndNormalizeWhitespace } from '@/article-api/lib/strip-html-comments' +interface CodeQLCliPage extends Page { + children?: string[] +} + export class CodeQLCliTransformer implements PageTransformer { templateName = 'codeql-cli-page.template.md' @@ -11,19 +17,28 @@ export class CodeQLCliTransformer implements PageTransformer { return page.autogenerated === 'codeql-cli' } - async transform(page: Page, _pathname: string, context: Context): Promise { + async transform(page: Page, pathname: string, context: Context): Promise { // Fully generated CodeQL CLI pages need markdownRequested=true to render markdown output. context.markdownRequested = true const content = await page.render(context) const intro = page.intro ? await page.renderProp('intro', context, { textOnly: true }) : '' + // The manual index has a body note and child command pages, so keep both like the HTML TOC page. + const children = (page as CodeQLCliPage).children || [] + const languageCode = page.languageCode || 'en' + const childLinks = await Promise.all( + children.map((href) => getLinkData(href, languageCode, pathname, context, resolvePath)), + ) + const links = childLinks.filter((link): link is LinkData => link !== null && Boolean(link.href)) + const templateData: Record = { page: { title: page.title, intro, }, content, + links, } const templateContent = loadTemplate(this.templateName) diff --git a/src/fixtures/fixtures/content/code-security/codeql-cli/codeql-cli-manual/index.md b/src/fixtures/fixtures/content/code-security/codeql-cli/codeql-cli-manual/index.md index c62b5a479950..1b7455cd48e4 100644 --- a/src/fixtures/fixtures/content/code-security/codeql-cli/codeql-cli-manual/index.md +++ b/src/fixtures/fixtures/content/code-security/codeql-cli/codeql-cli-manual/index.md @@ -5,6 +5,10 @@ versions: fpt: '*' ghes: '*' ghec: '*' +autogenerated: codeql-cli children: - /database-analyze ---- \ No newline at end of file +--- + +> [!NOTE] +> This content describes the most recent release of the CodeQL CLI. From e0a5b6497406e6baebdf9c43cc3e2e2e272a1f7a Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 15:32:49 +0000 Subject: [PATCH 17/38] Allow all search API params in the query string shield (#64208) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../handle-invalid-query-strings.ts | 10 +- .../tests/handle-invalid-query-strings.ts | 104 ++++++++++++++++++ 2 files changed, 108 insertions(+), 6 deletions(-) create mode 100644 src/shielding/tests/handle-invalid-query-strings.ts diff --git a/src/shielding/middleware/handle-invalid-query-strings.ts b/src/shielding/middleware/handle-invalid-query-strings.ts index cc3de12dfa7a..bbe5dab3dc9d 100644 --- a/src/shielding/middleware/handle-invalid-query-strings.ts +++ b/src/shielding/middleware/handle-invalid-query-strings.ts @@ -15,27 +15,25 @@ export const MAX_UNFAMILIAR_KEYS_REDIRECT = 3 const RECOGNIZED_KEYS_BY_PREFIX = { '/_next/data/': ['versionId', 'productId', 'restPage', 'apiVersion', 'category', 'subcategory'], - // Match the general search params in src/search/lib/search-request-params/search-params-objects.ts. + // Keep in sync with GENERAL_SEARCH_PARAMS_OBJ in src/search/lib/search-request-params/search-params-objects.ts. '/api/search': [ 'query', 'language', 'version', 'page', - 'product', - 'autocomplete', - 'limit', 'size', 'sort', 'highlights', + 'autocomplete', 'debug', 'include', 'toplevel', 'aggregate', ], - '/api/combined-search': ['query', 'version', 'size', 'debug'], + '/api/search/combined-search': ['query', 'version', 'size', 'debug'], '/api/anchor-redirect': ['hash', 'path'], '/api/webhooks': ['category', 'version'], - '/api/pageinfo': ['pathname'], + '/api/article': ['pathname'], } const RECOGNIZED_KEYS_BY_ANY = new Set([ diff --git a/src/shielding/tests/handle-invalid-query-strings.ts b/src/shielding/tests/handle-invalid-query-strings.ts new file mode 100644 index 000000000000..5808eb5e0228 --- /dev/null +++ b/src/shielding/tests/handle-invalid-query-strings.ts @@ -0,0 +1,104 @@ +import type { NextFunction, Response } from 'express' +import { afterEach, describe, expect, test, vi } from 'vitest' + +import { getSearchRequestParamsObject } from '@/search/lib/search-request-params/search-params-objects' +import handleInvalidQuerystrings, { + MAX_UNFAMILIAR_KEYS_REDIRECT, +} from '@/shielding/middleware/handle-invalid-query-strings' +import type { ExtendedRequest } from '@/types' + +vi.mock('@/observability/lib/statsd', () => ({ + default: { increment: vi.fn() }, +})) + +describe('handleInvalidQuerystrings middleware', () => { + afterEach(() => { + vi.clearAllMocks() + }) + + test.each<{ name: string; query: Record }>([ + { + name: 'local search proxy request', + query: { + query: 'actions', + version: 'free-pro-team', + language: 'en', + page: '1', + aggregate: 'toplevel', + toplevel: 'GitHub Actions', + size: '10', + include: 'toplevel', + client_name: 'docs.github.com-client', + }, + }, + { + name: 'size, sort, and highlights', + query: { query: 'foo', size: '20', sort: 'relevance', highlights: 'title' }, + }, + { + name: 'debug, include, and toplevel', + query: { query: 'git', debug: '1', include: 'intro', toplevel: 'Get started' }, + }, + ])('allows /api/search/v1 params: $name', ({ query }) => { + const { next, res } = runMiddleware('/api/search/v1', query) + + expect(res.redirect).toBeUndefined() + expect(next).toHaveBeenCalledOnce() + }) + + const generalSearchKeys = [ + ...new Set(getSearchRequestParamsObject('generalSearch').map(({ key }) => key)), + ] + + test.each(generalSearchKeys)('allows general search param %s on /api/search/v1', (key) => { + // One short of the redirect threshold, so a missing allowlist entry tips it over. + const query: Record = { [key]: 'x' } + for (let i = 1; i < MAX_UNFAMILIAR_KEYS_REDIRECT; i++) { + query[`unfamiliar${i}`] = 'x' + } + + const { next, res } = runMiddleware('/api/search/v1', query) + + expect(res.redirect).toBeUndefined() + expect(next).toHaveBeenCalledOnce() + }) + + test('redirects /api/search/v1 requests with too many unrecognized params', () => { + const { next, res } = runMiddleware('/api/search/v1', { + query: 'foo', + a: '1', + b: '2', + c: '3', + }) + + expect(next).not.toHaveBeenCalled() + expect(res.redirect).toEqual({ status: 302, url: '/api/search/v1?query=foo' }) + }) +}) + +function runMiddleware(path: string, query: Record) { + const req = { method: 'GET', path, query } as unknown as ExtendedRequest + const res = buildResponse() + const next = vi.fn() as NextFunction + + handleInvalidQuerystrings(req, res as unknown as Response, next) + + return { next, res } +} + +function buildResponse() { + const res = { + headers: {} as Record, + redirect: undefined as { status: number; url: string } | undefined, + hasHeader: vi.fn(() => false), + set(name: string, value: string) { + res.headers[name] = value + return res + }, + safeRedirect(status: number, url: string) { + res.redirect = { status, url } + }, + } + + return res +} From 2f28ed920fe11ab30f091f0a5dae5698fb1cab8c Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 15:38:26 +0000 Subject: [PATCH 18/38] Remove mdast-util-from-markdown patch and patch-package (#64290) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8c3f03dd-0670-4f78-ab3c-cc61defb1dd6 --- .github/actions/node-npm-setup/action.yml | 3 +- Dockerfile | 1 - package-lock.json | 209 +----------------- package.json | 6 +- patches/mdast-util-from-markdown+2.0.3.patch | 75 ------- .../unallowed-contribution-filters.yml | 1 - 6 files changed, 7 insertions(+), 288 deletions(-) delete mode 100644 patches/mdast-util-from-markdown+2.0.3.patch diff --git a/.github/actions/node-npm-setup/action.yml b/.github/actions/node-npm-setup/action.yml index 372fc0132c03..8e4bb2999881 100644 --- a/.github/actions/node-npm-setup/action.yml +++ b/.github/actions/node-npm-setup/action.yml @@ -13,8 +13,7 @@ runs: SEGMENT_DOWNLOAD_TIMEOUT_MINS: '1' with: path: node_modules - # The postinstall script applies patches/ during npm ci, so patch changes must miss the cache. - key: ${{ runner.os }}-node_modules-${{ hashFiles('package*.json', 'patches/**') }}-${{ hashFiles('.github/actions/node-npm-setup/action.yml') }} + key: ${{ runner.os }}-node_modules-${{ hashFiles('package*.json') }}-${{ hashFiles('.github/actions/node-npm-setup/action.yml') }} # The npm download cache only helps npm ci, so skip its 153 MB restore when node_modules hits. - name: Setup Node.js diff --git a/Dockerfile b/Dockerfile index fb5b15f2b161..dacef476896a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,7 +43,6 @@ FROM base AS all_deps USER node:node WORKDIR $APP_HOME COPY --chown=node:node package.json package-lock.json ./ -COPY --chown=node:node patches patches/ RUN npm ci --registry https://registry.npmjs.org/ FROM all_deps AS prod_deps diff --git a/package-lock.json b/package-lock.json index 74eb4c4fac24..8370a7190340 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,7 +5,6 @@ "packages": { "": { "name": "docs.github.com", - "hasInstallScript": true, "license": "(MIT AND CC-BY-4.0)", "dependencies": { "@elastic/elasticsearch": "8.19.1", @@ -60,7 +59,7 @@ "liquidjs": "^10.27.0", "lodash-es": "^4.18.0", "lowlight": "^3.3.0", - "mdast-util-from-markdown": "^2.0.3", + "mdast-util-from-markdown": "^2.1.0", "mdast-util-to-hast": "^13.2.1", "mdast-util-to-markdown": "2.1.2", "mdast-util-to-string": "^4.0.0", @@ -166,7 +165,6 @@ "nock": "^15.0.1", "nodemon": "3.1.10", "ora": "^9.3.0", - "patch-package": "^8.0.1", "prettier": "^3.8.1", "sass": "^1.97.3", "start-server-and-test": "^3.0.0", @@ -5389,13 +5387,6 @@ "dev": true, "license": "0BSD" }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/abbrev": { "version": "1.1.1", "dev": true, @@ -6498,22 +6489,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -8670,16 +8645,6 @@ "node": ">= 0.8" } }, - "node_modules/find-yarn-workspace-root": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "micromatch": "^4.0.2" - } - }, "node_modules/flat": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/flat/-/flat-6.0.1.tgz", @@ -8805,19 +8770,6 @@ "node": ">= 0.8" } }, - "node_modules/fs-extra": { - "version": "10.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -10463,26 +10415,6 @@ "version": "1.0.0", "license": "MIT" }, - "node_modules/json-stable-stringify": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", - "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "isarray": "^2.0.5", - "jsonify": "^0.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "dev": true, @@ -10499,16 +10431,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/jsonify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", - "dev": true, - "license": "Public Domain", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -10540,16 +10462,6 @@ "node": ">=0.10.0" } }, - "node_modules/klaw-sync": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", - "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.11" - } - }, "node_modules/language-subtag-registry": { "version": "0.3.22", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", @@ -11173,9 +11085,9 @@ } }, "node_modules/mdast-util-from-markdown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", - "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.1.0.tgz", + "integrity": "sha512-KRLgmPaP2H1ul2bpoJkOS+9pAcDAAj9Nu1mqLnh8NLeJG5tlvj42TH80PIGBpROWlRXLk0lDrWNuZCFy/tsB4A==", "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", @@ -12789,109 +12701,6 @@ "node": ">= 0.8" } }, - "node_modules/patch-package": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz", - "integrity": "sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@yarnpkg/lockfile": "^1.1.0", - "chalk": "^4.1.2", - "ci-info": "^3.7.0", - "cross-spawn": "^7.0.3", - "find-yarn-workspace-root": "^2.0.0", - "fs-extra": "^10.0.0", - "json-stable-stringify": "^1.0.2", - "klaw-sync": "^6.0.0", - "minimist": "^1.2.6", - "open": "^7.4.2", - "semver": "^7.5.3", - "slash": "^2.0.0", - "tmp": "^0.2.4", - "yaml": "^2.2.2" - }, - "bin": { - "patch-package": "index.js" - }, - "engines": { - "node": ">=14", - "npm": ">5" - } - }, - "node_modules/patch-package/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/patch-package/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/patch-package/node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/patch-package/node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/patch-package/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -14791,16 +14600,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.14" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", diff --git a/package.json b/package.json index ad117e1c7aa5..cd24f908500b 100644 --- a/package.json +++ b/package.json @@ -120,8 +120,7 @@ "validate-github-github-docs-urls": "tsx src/links/scripts/validate-github-github-docs-urls/index.ts", "warmup-remotejson": "tsx src/archives/scripts/warmup-remotejson.ts", "what-docs-early-access-branch": "tsx src/early-access/scripts/what-docs-early-access-branch.ts", - "writers": "tsx src/workflows/writers-help-metadata.ts", - "postinstall": "npx --no-install patch-package --error-on-fail" + "writers": "tsx src/workflows/writers-help-metadata.ts" }, "lint-staged": { "*.{ts,tsx}": "eslint --cache --fix", @@ -219,7 +218,7 @@ "liquidjs": "^10.27.0", "lodash-es": "^4.18.0", "lowlight": "^3.3.0", - "mdast-util-from-markdown": "^2.0.3", + "mdast-util-from-markdown": "^2.1.0", "mdast-util-to-hast": "^13.2.1", "mdast-util-to-markdown": "2.1.2", "mdast-util-to-string": "^4.0.0", @@ -325,7 +324,6 @@ "nock": "^15.0.1", "nodemon": "3.1.10", "ora": "^9.3.0", - "patch-package": "^8.0.1", "prettier": "^3.8.1", "sass": "^1.97.3", "start-server-and-test": "^3.0.0", diff --git a/patches/mdast-util-from-markdown+2.0.3.patch b/patches/mdast-util-from-markdown+2.0.3.patch deleted file mode 100644 index c7eabf399357..000000000000 --- a/patches/mdast-util-from-markdown+2.0.3.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff --git a/node_modules/mdast-util-from-markdown/lib/index.js b/node_modules/mdast-util-from-markdown/lib/index.js -index 90e17be..794871f 100644 ---- a/node_modules/mdast-util-from-markdown/lib/index.js -+++ b/node_modules/mdast-util-from-markdown/lib/index.js -@@ -287,6 +287,8 @@ function compiler(options) { - let firstBlankLineIndex; - /** @type {boolean | undefined} */ - let atMarker; -+ const insertPositions = []; -+ const insertEvents = []; - while (++index <= length) { - const event = events[index]; - switch (event[1].type) { -@@ -331,7 +333,7 @@ function compiler(options) { - if (listItem) { - let tailIndex = index; - lineIndex = undefined; -- while (tailIndex--) { -+ while (tailIndex-- > start) { - const tailEvent = events[tailIndex]; - if (tailEvent[1].type === "lineEnding" || tailEvent[1].type === "lineEndingBlank") { - if (tailEvent[0] === 'exit') continue; -@@ -353,9 +355,8 @@ function compiler(options) { - - // Fix position. - listItem.end = Object.assign({}, lineIndex ? events[lineIndex][1].start : event[1].end); -- events.splice(lineIndex || index, 0, ['exit', listItem, event[2]]); -- index++; -- length++; -+ insertPositions.push(lineIndex || index); -+ insertEvents.push(['exit', listItem, event[2]]); - } - - // Create a new list item. -@@ -369,16 +370,36 @@ function compiler(options) { - end: undefined - }; - listItem = item; -- events.splice(index, 0, ['enter', item, event[2]]); -- index++; -- length++; -+ insertPositions.push(index); -+ insertEvents.push(['enter', item, event[2]]); - firstBlankLineIndex = undefined; - atMarker = true; - } - } - } -+ // Apply deferred insertions in a single backward pass. -+ const insertCount = insertPositions.length; -+ if (insertCount > 0) { -+ const previousLength = events.length; -+ const rangeEnd = length; -+ events.length = previousLength + insertCount; -+ // Shift the tail to make room for insertions. -+ for (let t = previousLength - 1; t > rangeEnd; t--) { -+ events[t + insertCount] = events[t]; -+ } -+ // Merge original events with insertions, writing backwards. -+ let writeIndex = rangeEnd + insertCount; -+ let readIndex = rangeEnd; -+ for (let i = insertCount - 1; i >= 0; i--) { -+ const position = insertPositions[i]; -+ while (readIndex >= position) { -+ events[writeIndex--] = events[readIndex--]; -+ } -+ events[writeIndex--] = insertEvents[i]; -+ } -+ } - events[start][1]._spread = listSpread; -- return length; -+ return length + insertCount; - } - - /** diff --git a/src/workflows/unallowed-contribution-filters.yml b/src/workflows/unallowed-contribution-filters.yml index 5bdd0ce97c16..89bed15bc0ae 100644 --- a/src/workflows/unallowed-contribution-filters.yml +++ b/src/workflows/unallowed-contribution-filters.yml @@ -7,7 +7,6 @@ notAllowed: - 'config/**' - 'contributing/**' - 'src/**' - - 'patches/**' - 'content/actions/how-tos/secure-your-work/security-harden-deployments/**' - 'content/README.md' contentTypes: From af2c025b86331e5e53ec294fc05d2ff4d8e5f49d Mon Sep 17 00:00:00 2001 From: "Babak K. Shandiz" Date: Wed, 21 Oct 2026 15:50:46 +0000 Subject: [PATCH 19/38] Add "Authenticating with GitHub CLI" article (#63332) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com> Copilot-Session: ac178b5a-5b62-49bd-9e83-4796c7ddec46 --- .../authenticating-with-github-cli.md | 184 ++++++++++++++++++ content/github-cli/github-cli/index.md | 1 + content/github-cli/github-cli/quickstart.md | 3 + 3 files changed, 188 insertions(+) create mode 100644 content/github-cli/github-cli/authenticating-with-github-cli.md diff --git a/content/github-cli/github-cli/authenticating-with-github-cli.md b/content/github-cli/github-cli/authenticating-with-github-cli.md new file mode 100644 index 000000000000..92da771ef16d --- /dev/null +++ b/content/github-cli/github-cli/authenticating-with-github-cli.md @@ -0,0 +1,184 @@ +--- +title: Authenticating with GitHub CLI +intro: 'Learn the ways to authenticate {% data variables.product.prodname_cli %}, from interactive sign-in to environment variables, expiring tokens, and {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +contentType: concepts +category: + - Learn the basics +--- + +## About authentication in {% data variables.product.prodname_cli %} + +Most {% data variables.product.prodname_cli %} commands act on your behalf on {% data variables.product.github %}, so you need to authenticate before you can use them. {% data variables.product.prodname_cli %} supports several ways to authenticate, depending on whether you are working interactively at your computer or running commands in a script or an automated environment. + +* For interactive use, sign in once with `gh auth login` and {% data variables.product.prodname_cli %} stores your credentials for you. +* For scripts and automation, provide a token through an environment variable. +* For workflows, use the token that {% data variables.product.prodname_actions %} provides. + +You can also opt in to expiring credentials that refresh automatically, which reduce the risk of a leaked token. + +## Signing in interactively + +1. To authenticate at your computer, run the following command from your terminal. + + ```shell + gh auth login + ``` + +1. Follow the on-screen prompts to finish signing in. When asked where you use {% data variables.product.github %}: + + * If you use {% data variables.product.prodname_dotcom_the_website %}, select **{% data variables.product.prodname_dotcom_the_website %}**. + * If you use a different host, select **Other**, then enter your hostname, for example `octocorp.ghe.com`. + +By default, {% data variables.product.prodname_cli %} stores your credentials in your operating system's keyring where one is available, and otherwise in a plain text configuration file. You do not need to manage this file yourself. + +## Authenticating with an environment variable + +For scripts and other non-interactive uses, you can provide a token through an environment variable instead of signing in. Set `GH_TOKEN` for {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_ghe_cloud %}, or `GH_ENTERPRISE_TOKEN` for {% data variables.product.prodname_ghe_server %}. + +```shell +GH_TOKEN=YOUR-TOKEN gh api user +``` + +Replace `YOUR-TOKEN` with your token. When one of these variables is set, {% data variables.product.prodname_cli %} uses it instead of any stored credentials and does not write the token to disk. To set a default host for commands that are not tied to a specific repository, set the `GH_HOST` environment variable. + +## Authenticating in {% data variables.product.prodname_actions %} + +In a {% data variables.product.prodname_actions %} workflow, authenticate {% data variables.product.prodname_cli %} by passing the automatically provided `GITHUB_TOKEN` through the `GH_TOKEN` environment variable. This works for both {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_ghe_cloud %}. + +```yaml +steps: + - name: List open issues + env: + GH_TOKEN: {% raw %}${{ github.token }}{% endraw %} + run: gh issue list --repo {% raw %}${{ github.repository }}{% endraw %} +``` + +For more information about the token that {% data variables.product.prodname_actions %} provides, see [AUTOTITLE](/actions/concepts/security/github_token). + +On {% data variables.product.prodname_ghe_server %}, set `GH_ENTERPRISE_TOKEN` instead of `GH_TOKEN`, and set `GH_HOST` to your {% data variables.product.prodname_ghe_server %} host so that {% data variables.product.prodname_cli %} authenticates to the right instance. The following example uses `ghes.example.com` as the host. + +```yaml +steps: + - name: List open issues + env: + GH_HOST: ghes.example.com + GH_ENTERPRISE_TOKEN: {% raw %}${{ github.token }}{% endraw %} + run: gh issue list --repo {% raw %}${{ github.repository }}{% endraw %} +``` + +## Authenticating Git over HTTPS + +When you choose HTTPS as your preferred protocol for Git operations and confirm that you want to authenticate to Git with your {% data variables.product.github %} credentials, {% data variables.product.prodname_cli %} configures itself as a Git credential helper if you do not already have one configured. This lets you run Git commands such as `git push` and `git pull` without setting up a separate credential manager or using SSH. If you already use another credential helper, {% data variables.product.prodname_cli %} stores your new credentials in that helper instead. + +You can set this up at any time by running the following command. + +```shell +gh auth setup-git +``` + +To configure Git for a single host instead of all authenticated hosts, use the `--hostname` flag, for example `gh auth setup-git --hostname github.com`. + +## Using expiring, refreshable tokens + +By default, {% data variables.product.prodname_cli %} authenticates with a long-lived token that does not expire. If such a token is leaked, it grants access until you manually revoke it. + +Expiring tokens reduce that risk. When you opt in, {% data variables.product.prodname_cli %} stores an expiring access token together with a rotating refresh token. The access token expires within hours, and {% data variables.product.prodname_cli %} automatically exchanges the refresh token for a new one whenever a fresh access token is needed. You stay authenticated without signing in again, while a leaked access token becomes unusable within hours instead of lasting indefinitely. + +This behavior is opt-in and backward compatible. If you do not opt in, nothing changes, and existing sign-ins and manually supplied tokens continue to work as before. + +### Opting in + +Expiring tokens require {% data variables.product.prodname_cli %} version v2.103.0 or later. + +{% ifversion oauth-token-expiration %} +Expiring tokens are available on {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_ghe_cloud %}{% else %}{% data variables.product.prodname_ghe_server %}{% endif %}. For more information about how expiring OAuth tokens and refresh tokens work, see [AUTOTITLE](/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#expiring-access-tokens). +{% else %} +Expiring tokens are not available in this version of {% data variables.product.prodname_ghe_server %}. Opting in falls back to the existing non-expiring behavior. +{% endif %} + +To request expiring credentials, add the `--expiring` flag when you sign in. + +```shell +gh auth login --expiring +``` + +Whether you receive expiring credentials depends on server support. The `--expiring` flag requests them. If the server does not support them, {% data variables.product.prodname_cli %} falls back to a normal, non-expiring token and displays an informational message. + +After you opt in, {% data variables.product.prodname_cli %} refreshes the credential for you whenever it is needed, so there is nothing new to run day to day. + +To opt in for every sign-in without passing the flag each time, enable the setting: + +```shell +gh config set expiring_credentials enabled +``` + +### Using expiring tokens with Git + +To use expiring tokens for Git operations over HTTPS, {% data variables.product.prodname_cli %} must be your Git credential helper, so that it can serve and refresh the rotating credential for Git. When you sign in with expiring credentials, {% data variables.product.prodname_cli %} asks you to configure it as your Git credential helper if it is not already. To make sure {% data variables.product.prodname_cli %} is set up as the helper at any time, run `gh auth setup-git`. + +We also recommend upgrading to Git 2.46 or newer. On Git 2.46 and later, {% data variables.product.prodname_cli %} can mark an expiring credential so that a caching credential helper does not store it past its lifetime. On older versions of Git, {% data variables.product.prodname_cli %} still works but prints a one-time recommendation to upgrade. + +## Reading the stored token + +Some scripts and extensions need the token that {% data variables.product.prodname_cli %} is using, for example to authenticate a `curl` request or another HTTP client. To print the active token, run the following command. + +```shell +gh auth token +``` + +For an expiring credential, {% data variables.product.prodname_cli %} refreshes the access token if needed before printing it, so the token you receive is valid. To read the token for a specific host, use the `--hostname` flag. To print the current token without refreshing it, use the `--no-refresh` flag. + +## Refreshing or adding scopes + +Over time, a command may require additional scopes that your credentials do not yet have. + +If you use expiring tokens, pass the `--expiring` flag (or enable the `expiring_credentials` setting) when you run `gh auth refresh`. Otherwise, changing scopes can replace your expiring credential with a non-expiring one. + +To change the scopes on your existing credentials, use the following command. + +```shell +gh auth refresh --scopes SCOPES +``` + +Replace `SCOPES` with a comma-separated list of the scopes you need. + +This is separate from the automatic refresh of an expiring token, which happens in the background and does not change your scopes. See [Using expiring, refreshable tokens](#using-expiring-refreshable-tokens). + +## Checking authentication status + +To see which accounts you are signed in to, along with details such as token expiry, run the following command. + +```shell +gh auth status +``` + +By default, the token itself is hidden. When a token is expired or near expiry, `gh auth status` refreshes it as part of reporting status. + +Use these flags to customize the output and refresh behavior: + +* To include the token in the output, add `--show-token`. +* For machine-readable output, use `--json`, which you can combine with `--show-token`. +* To report the current state without refreshing, add `--no-refresh`. + +## Signing out + +To sign out of an account, run the following command and follow the prompts. + +```shell +gh auth logout +``` + +To sign out of a specific host without being prompted to choose one, use the `--hostname` flag, for example `gh auth logout --hostname github.com`. + +## Using multiple accounts + +You can authenticate to more than one account and switch between them with `gh auth switch`. For more information, see [AUTOTITLE](/github-cli/github-cli/using-multiple-accounts). + +## Further reading + +* [AUTOTITLE](/github-cli/github-cli/github-cli-reference) +* [{% data variables.product.prodname_cli %} online manual](https://cli.github.com/manual/gh) diff --git a/content/github-cli/github-cli/index.md b/content/github-cli/github-cli/index.md index 54cf9a745403..b39f803b4ad1 100644 --- a/content/github-cli/github-cli/index.md +++ b/content/github-cli/github-cli/index.md @@ -9,6 +9,7 @@ versions: children: - /about-github-cli - /quickstart + - /authenticating-with-github-cli - /attaching-files-with-github-cli - /using-multiple-accounts - /creating-github-cli-extensions diff --git a/content/github-cli/github-cli/quickstart.md b/content/github-cli/github-cli/quickstart.md index 514136e614e8..80fc0275cdd6 100644 --- a/content/github-cli/github-cli/quickstart.md +++ b/content/github-cli/github-cli/quickstart.md @@ -20,6 +20,8 @@ category: {% data reusables.rest-api.github-cli-install-and-auth %} +For more ways to authenticate, including environment variables, {% data variables.product.prodname_actions %}, and expiring tokens, see [AUTOTITLE](/github-cli/github-cli/authenticating-with-github-cli). + ## Some useful commands > [!NOTE] @@ -93,5 +95,6 @@ If you need to use the {% data variables.product.prodname_cli %} across multiple ## Further reading +* [AUTOTITLE](/github-cli/github-cli/authenticating-with-github-cli) * [AUTOTITLE](/github-cli/github-cli/github-cli-reference) * [{% data variables.product.prodname_cli %} online manual](https://cli.github.com/manual/gh) From d7bfd80966b07c2693a3b40b3904c9f8d9979655 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:02:37 +0000 Subject: [PATCH 20/38] Add a regression test for repeated English heading IDs on translated pages (#63929) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 Copilot-Session: fb5d8be8-479c-4950-8197-ef0220dbdcb0 --- src/content-render/tests/render-content.ts | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/content-render/tests/render-content.ts b/src/content-render/tests/render-content.ts index b6da3a9199f7..033f78b5787b 100644 --- a/src/content-render/tests/render-content.ts +++ b/src/content-render/tests/render-content.ts @@ -139,6 +139,30 @@ describe('renderContent', () => { } }) + test('gives repeated translated headings suffixed English IDs', async () => { + const template = nl(` +## Uno + +### プロンプトの例 + +## Dos + +### プロンプトの例 + +## Extra + +## Extra +`) + const englishHeadings = { Uno: 'One', プロンプトの例: 'Example prompts', Dos: 'Two' } + for (let i = 0; i < 2; i++) { + const html = await renderContent(template, { englishHeadings }) + const $ = load(html) + const ids = (tag: string) => Array.from($(tag), (el) => $(el).attr('id')) + expect(ids('h2')).toEqual(['one', 'two', 'extra', 'extra-1']) + expect(ids('h3')).toEqual(['example-prompts', 'example-prompts-1']) + } + }) + test('does syntax highlighting', async () => { let template = nl(` \`\`\`js From 957a8abf61de72ecef6f985a8ed24540db30ef1f Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:02:50 +0000 Subject: [PATCH 21/38] Store resolved landing carousels on the request, not the shared page (#63979) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 Copilot-Session: fb5d8be8-479c-4950-8197-ef0220dbdcb0 --- src/frame/middleware/resolve-carousels.ts | 8 +- src/frame/tests/resolve-carousels.test.ts | 89 +++++++++++++++-------- src/landings/context/LandingContext.tsx | 7 +- src/types/types.ts | 1 + 4 files changed, 64 insertions(+), 41 deletions(-) diff --git a/src/frame/middleware/resolve-carousels.ts b/src/frame/middleware/resolve-carousels.ts index f62a56a223c1..c9eeeb2599c9 100644 --- a/src/frame/middleware/resolve-carousels.ts +++ b/src/frame/middleware/resolve-carousels.ts @@ -5,10 +5,9 @@ import Permalink from '@/frame/lib/permalink' import { createLogger } from '@/observability/logger/index' -// Page adds rawCarousels and carousels at runtime, but the Page type omits them. +// Page adds rawCarousels at runtime, but the Page type omits it. interface PageCarouselProps { rawCarousels?: Record - carousels?: Record } const logger = createLogger('middleware:resolve-carousels') @@ -164,9 +163,8 @@ async function resolveCarousels( } } - if (page && Object.keys(resolvedCarousels).length > 0) { - ;(page as unknown as PageCarouselProps).carousels = resolvedCarousels - } + // Every version shares one page object, so per-version results belong on the request. + req.context!.carousels = resolvedCarousels } } catch (error) { logger.error('Error in resolveCarousels middleware:', { error }) diff --git a/src/frame/tests/resolve-carousels.test.ts b/src/frame/tests/resolve-carousels.test.ts index 6ab7767ed4e4..ac82f3abac0c 100644 --- a/src/frame/tests/resolve-carousels.test.ts +++ b/src/frame/tests/resolve-carousels.test.ts @@ -119,9 +119,7 @@ describe('resolveCarousels middleware', () => { req.context!.pages, req.context!.redirects, ) - expect( - (req.context!.page as Page & { carousels?: Record }).carousels, - ).toEqual({ + expect(req.context!.carousels).toEqual({ recommended: [ { title: 'Test Article', @@ -161,9 +159,7 @@ describe('resolveCarousels middleware', () => { await resolveCarousels(req, mockRes, mockNext) - expect( - (req.context!.page as Page & { carousels?: Record }).carousels, - ).toEqual({ + expect(req.context!.carousels).toEqual({ recommended: [ { title: 'Article One', @@ -198,9 +194,7 @@ describe('resolveCarousels middleware', () => { req.context!.pages, req.context!.redirects, ) - expect( - (req.context!.page as Page & { carousels?: Record }).carousels, - ).toBeUndefined() + expect(req.context!.carousels).toEqual({}) expect(mockNext).toHaveBeenCalled() }) @@ -234,9 +228,7 @@ describe('resolveCarousels middleware', () => { await resolveCarousels(req, mockRes, mockNext) - expect( - (req.context!.page as Page & { carousels?: Record }).carousels, - ).toEqual({ + expect(req.context!.carousels).toEqual({ recommended: [ { title: 'Valid Article', @@ -278,9 +270,7 @@ describe('resolveCarousels middleware', () => { req.context!.pages, req.context!.redirects, ) - expect( - (req.context!.page as Page & { carousels?: Record }).carousels, - ).toEqual({ + expect(req.context!.carousels).toEqual({ recommended: [ { title: 'Relative Article', @@ -315,9 +305,7 @@ describe('resolveCarousels middleware', () => { req.context!.redirects, ) - expect( - (req.context!.page as Page & { carousels?: Record }).carousels, - ).toEqual({ + expect(req.context!.carousels).toEqual({ recommended: [ { title: 'Tutorial Page', @@ -350,9 +338,7 @@ describe('resolveCarousels middleware', () => { await resolveCarousels(req, mockRes, mockNext) - expect( - (req.context!.page as Page & { carousels?: Record }).carousels, - ).toBeUndefined() + expect(req.context!.carousels).toEqual({}) expect(mockNext).toHaveBeenCalled() }) @@ -372,9 +358,7 @@ describe('resolveCarousels middleware', () => { await resolveCarousels(req, mockRes, mockNext) - expect( - (req.context!.page as Page & { carousels?: Record }).carousels, - ).toEqual({ + expect(req.context!.carousels).toEqual({ recommended: [ { title: 'Duplicate Article', @@ -387,6 +371,53 @@ describe('resolveCarousels middleware', () => { expect(mockNext).toHaveBeenCalled() }) + test('keeps carousels per request when versions share one page object', async () => { + const ghecOnlyPage = createMockPage({ + title: 'GHEC Only', + intro: 'GHEC intro', + relativePath: 'admin/ghec-only.md', + applicableVersions: ['enterprise-cloud@latest'], + }) + const ghesOnlyPage = createMockPage({ + title: 'GHES Only', + intro: 'GHES intro', + relativePath: 'admin/ghes-only.md', + applicableVersions: ['enterprise-server@3.18'], + }) + + mockFindPage.mockImplementation((path: string) => { + if (path === '/en/admin/ghec-only') return ghecOnlyPage + if (path === '/en/admin/ghes-only') return ghesOnlyPage + return undefined + }) + + const rawCarousels = { recommended: ['/admin/ghec-only', '/admin/ghes-only'] } + const sharedPage = { rawCarousels, carousels: rawCarousels } as TestPage & { + carousels?: Record + } + + const ghecReq = createMockRequest(sharedPage, { currentVersion: 'enterprise-cloud@latest' }) + const ghesReq = createMockRequest(sharedPage, { currentVersion: 'enterprise-server@3.18' }) + expect(ghecReq.context!.page).toBe(ghesReq.context!.page) + + await resolveCarousels(ghecReq, mockRes, mockNext) + await resolveCarousels(ghesReq, mockRes, mockNext) + + const expectedGhec: Record = { + recommended: [ + { title: 'GHEC Only', intro: 'GHEC intro', href: '/admin/ghec-only', category: ['admin'] }, + ], + } + const expectedGhes: Record = { + recommended: [ + { title: 'GHES Only', intro: 'GHES intro', href: '/admin/ghes-only', category: ['admin'] }, + ], + } + expect(ghecReq.context!.carousels).toEqual(expectedGhec) + expect(ghesReq.context!.carousels).toEqual(expectedGhes) + expect(sharedPage.carousels).toBe(rawCarousels) + }) + test('renders title and intro from raw frontmatter, not the last rendered values', async () => { // title and intro hold output from an earlier render for another version. const testPage = createMockPage({ @@ -409,9 +440,8 @@ describe('resolveCarousels middleware', () => { expect(testPage.renderProp).toHaveBeenCalledWith('title', req.context, { textOnly: true }) expect(testPage.renderProp).toHaveBeenCalledWith('intro', req.context, { textOnly: true }) - expect( - (req.context!.page as Page & { carousels?: Record }).carousels, - ).toEqual({ + expect(req.context!.page).not.toHaveProperty('carousels') + expect(req.context!.carousels).toEqual({ recommended: [ { title: 'Audit log for GHES', @@ -454,9 +484,8 @@ describe('resolveCarousels middleware', () => { await resolveCarousels(req, mockRes, mockNext) - expect( - (req.context!.page as Page & { carousels?: Record }).carousels, - ).toEqual({ + expect(req.context!.page).not.toHaveProperty('carousels') + expect(req.context!.carousels).toEqual({ recommended: [ { title: 'English article title', diff --git a/src/landings/context/LandingContext.tsx b/src/landings/context/LandingContext.tsx index c2145df52749..8da9448fdcd6 100644 --- a/src/landings/context/LandingContext.tsx +++ b/src/landings/context/LandingContext.tsx @@ -30,7 +30,6 @@ export type LandingContextT = { } type LandingPage = NonNullable & { - carousels?: LandingContextT['carousels'] includedCategories?: string[] heroImage?: string product?: string @@ -68,11 +67,7 @@ export const getLandingContextFromRequest = async ( } const carousels = - landingType !== 'discovery' && landingType !== 'bespoke' - ? {} - : page.carousels && typeof page.carousels === 'object' - ? (page.carousels as LandingContextT['carousels']) - : {} + landingType !== 'discovery' && landingType !== 'bespoke' ? {} : (context.carousels ?? {}) // Middleware resolves journey tracks because server-side APIs cannot run client-side. const journeyTracks: JourneyTrack[] = Array.isArray(context.journeyTracks) diff --git a/src/types/types.ts b/src/types/types.ts index 0b1ff39d964d..6d9ffbf1e7ea 100644 --- a/src/types/types.ts +++ b/src/types/types.ts @@ -171,6 +171,7 @@ export type Context = { currentProductName?: string productGroups?: ProductGroup[] featuredLinks?: FeaturedLinksExpanded + carousels?: Record renderedPage?: string renderedPageHast?: import('hast').Root miniTocItems?: MiniTocItem[] From 8ac0ab474abce2ab1662317a29822059a375a08d Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:03:09 +0000 Subject: [PATCH 22/38] Validate the Copilot models and pricing table against its schema (#64157) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Hector A. Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/data-directory/lib/data-schemas/index.ts | 3 + .../tables/copilot/models-and-pricing.ts | 121 +++++++++--------- src/data-directory/tests/data-schemas.ts | 21 +++ 3 files changed, 81 insertions(+), 64 deletions(-) diff --git a/src/data-directory/lib/data-schemas/index.ts b/src/data-directory/lib/data-schemas/index.ts index fa023e5d10da..6b188f89c659 100644 --- a/src/data-directory/lib/data-schemas/index.ts +++ b/src/data-directory/lib/data-schemas/index.ts @@ -70,6 +70,9 @@ const manualSchemas: DataSchemas = { 'data/tables/copilot/model-supported-clients.yml': resolveSchemaPath( 'tables/copilot/model-supported-clients.ts', ), + 'data/tables/copilot/models-and-pricing.yml': resolveSchemaPath( + 'tables/copilot/models-and-pricing.ts', + ), } const dataSchemas: DataSchemas = { diff --git a/src/data-directory/lib/data-schemas/tables/copilot/models-and-pricing.ts b/src/data-directory/lib/data-schemas/tables/copilot/models-and-pricing.ts index 992153a91100..1e74d30a9dfe 100644 --- a/src/data-directory/lib/data-schemas/tables/copilot/models-and-pricing.ts +++ b/src/data-directory/lib/data-schemas/tables/copilot/models-and-pricing.ts @@ -1,68 +1,61 @@ const modelsAndPricingSchema = { - type: 'object', - additionalProperties: false, - required: ['models'], - properties: { - models: { - type: 'array', - items: { - type: 'object', - additionalProperties: false, - required: [ - 'model', - 'provider', - 'release_status', - 'category', - 'input', - 'cached_input', - 'output', - ], - properties: { - model: { - type: 'string', - lintable: true, - }, - provider: { - type: 'string', - enum: ['openai', 'anthropic', 'google', 'microsoft', 'xai', 'github'], - }, - release_status: { - type: 'string', - lintable: true, - }, - category: { - type: 'string', - lintable: true, - }, - input: { - type: 'string', - lintable: true, - }, - cached_input: { - type: 'string', - lintable: true, - }, - output: { - type: 'string', - lintable: true, - }, - threshold: { - type: 'string', - lintable: true, - }, - tier: { - type: 'string', - lintable: true, - }, - cache_write: { - type: 'string', - lintable: true, - }, - notes: { - type: 'string', - lintable: true, - }, - }, + type: 'array', + items: { + type: 'object', + additionalProperties: false, + required: [ + 'model', + 'provider', + 'release_status', + 'category', + 'input', + 'cached_input', + 'output', + ], + properties: { + model: { + type: 'string', + lintable: true, + }, + provider: { + type: 'string', + enum: ['openai', 'anthropic', 'google', 'microsoft', 'moonshot_ai', 'xai', 'github'], + }, + release_status: { + type: 'string', + lintable: true, + }, + category: { + type: 'string', + lintable: true, + }, + input: { + type: 'string', + lintable: true, + }, + cached_input: { + type: 'string', + lintable: true, + }, + output: { + type: 'string', + lintable: true, + }, + threshold: { + type: 'string', + lintable: true, + }, + tier: { + type: 'string', + lintable: true, + }, + cache_write: { + type: 'string', + lintable: true, + }, + notes: { + type: 'string', + lintable: true, }, }, }, diff --git a/src/data-directory/tests/data-schemas.ts b/src/data-directory/tests/data-schemas.ts index 34a358fc98a0..fd891ffb0c6c 100644 --- a/src/data-directory/tests/data-schemas.ts +++ b/src/data-directory/tests/data-schemas.ts @@ -99,3 +99,24 @@ describe('YAML-powered tables', () => { expect(dataSchemas['data/tables/copilot/auto-model-selection.yml']).toBeDefined() }) }) + +describe('Copilot models and pricing table', () => { + test('rejects a wrongly cased provider and a misspelled price key', async () => { + const schema = (await import(dataSchemas['data/tables/copilot/models-and-pricing.yml'])).default + const entry = { + model: 'Claude Example', + provider: 'Anthropic', + release_status: 'GA', + category: 'Versatile', + input: '$1.00', + cached_input: '$0.10', + ouput: '$5.00', + } + const { isValid, errors } = validateJson(schema, [entry]) + expect(isValid).toBe(false) + const messages = (errors || []).map((error) => `${error.instancePath} ${error.message}`) + expect(messages).toContain('/0/provider must be equal to one of the allowed values') + expect(messages).toContain("/0 must have required property 'output'") + expect(messages).toContain('/0 must NOT have additional properties') + }) +}) From 12926bdfe50358e9faccf2618612da35eba0db2b Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:06:48 +0000 Subject: [PATCH 23/38] Add regression tests for enum notes on string array body params (#64223) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../utils/tests/get-body-params.test.ts | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/rest/scripts/utils/tests/get-body-params.test.ts b/src/rest/scripts/utils/tests/get-body-params.test.ts index e2314801e599..08eb6cda2169 100644 --- a/src/rest/scripts/utils/tests/get-body-params.test.ts +++ b/src/rest/scripts/utils/tests/get-body-params.test.ts @@ -486,3 +486,38 @@ describe('getBodyParams — OAS 3.1 nullable handling', () => { expect(params[0].childParamsGroups?.map(({ name }) => name)).toEqual(['id']) }) }) + +describe('getBodyParams enum notes on arrays of strings', () => { + it('adds supported values without "undefined" when the param has no description', async () => { + const schema: Schema = { + type: 'object', + properties: { + schemas: { + type: 'array', + items: { type: 'string', enum: ['urn:ietf:params:scim:api:messages:2.0:PatchOp'] }, + }, + }, + } + const params = await getBodyParams(schema, false) + expect(params[0].description).toBe( + 'Supported values are: urn:ietf:params:scim:api:messages:2.0:PatchOp', + ) + }) + + it('appends supported values on a new line after an existing description', async () => { + const schema: Schema = { + type: 'object', + properties: { + languages: { + type: 'array', + description: 'Langs.', + items: { type: 'string', enum: ['go', 'ruby'] }, + }, + }, + } + const params = await getBodyParams(schema, false) + expect(params[0].description).toBe( + 'Langs.\nSupported values are: go, ruby', + ) + }) +}) From 0aea843d1c2b23f3681a0173ae26211d8c5a91b5 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:11:47 +0000 Subject: [PATCH 24/38] Walk first parents only when finding PRs in a deploy batch (#64103) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/workflows/find-past-built-pr.ts | 28 +++++---- src/workflows/tests/find-past-built-pr.ts | 72 ++++++++++++++++++++--- 2 files changed, 81 insertions(+), 19 deletions(-) diff --git a/src/workflows/find-past-built-pr.ts b/src/workflows/find-past-built-pr.ts index d9cc96f9a524..5334372854fc 100644 --- a/src/workflows/find-past-built-pr.ts +++ b/src/workflows/find-past-built-pr.ts @@ -8,11 +8,12 @@ import { octoSecondaryRatelimitRetry } from './secondary-ratelimit-retry' export const GONE_TO_PRODUCTION_MARKER = '' // The merge queue can batch multiple PRs into a single deploy. Walk back from -// the deployed HEAD commit through main's linear squash-merged ancestry to find -// every PR in the batch. The deployed SHA bounds the search, so it cannot include -// a later batch. The SHA comes from the deploy that triggered this run, because -// one /_build read can return a newer deploy that is still rolling out. Manual -// runs have no deploy SHA and fall back to /_build. +// the deployed HEAD commit along first parents only to find every PR in the +// batch, because repo-sync merges bring in github/docs history whose PR numbers +// belong to the public repo. The deployed SHA bounds the search, so it cannot +// include a later batch. The SHA comes from the deploy that triggered this run, +// because one /_build read can return a newer deploy that is still rolling out. +// Manual runs have no deploy SHA and fall back to /_build. // // Default to the merge queue's max batch size. Overshooting into an already // notified batch is harmless because marker dedupe skips existing comments. @@ -45,16 +46,23 @@ export async function findBatchPrNumbers( sha: string, maxCommits: number = BATCH_MAX_COMMITS, ): Promise { - const { data: commits } = await octoSecondaryRatelimitRetry(() => - octokit.rest.repos.listCommits({ owner, repo, sha, per_page: maxCommits }), - ) - const numbers: number[] = [] - for (const commit of commits) { + let current: string | undefined = sha + for (let i = 0; i < maxCommits && current; i++) { + const ref: string = current + // listCommits follows every parent, so fetch one commit at a time and step to parents[0]. + const { data: commits } = await octoSecondaryRatelimitRetry(() => + octokit.rest.repos.listCommits({ owner, repo, sha: ref, per_page: 1 }), + ) + const commit = commits[0] + if (!commit) { + break + } const number = extractPrNumber(commit.commit.message) if (number !== null && !numbers.includes(number)) { numbers.push(number) } + current = commit.parents[0]?.sha } return numbers } diff --git a/src/workflows/tests/find-past-built-pr.ts b/src/workflows/tests/find-past-built-pr.ts index 475fff405251..4db52620c11a 100644 --- a/src/workflows/tests/find-past-built-pr.ts +++ b/src/workflows/tests/find-past-built-pr.ts @@ -11,16 +11,17 @@ import { } from '../find-past-built-pr' type FakeComment = { body?: string; user?: { login: string } } +type FakeCommit = { message: string; parents: string[] } interface FakeOptions { - commitMessages?: string[] + commits?: Record comments?: Record locked?: Record failCreateOn?: number[] } function makeFakeOctokit(options: FakeOptions = {}) { - const { commitMessages = [], comments = {}, locked = {}, failCreateOn = [] } = options + const { commits = {}, comments = {}, locked = {}, failCreateOn = [] } = options const createComment = vi.fn(async ({ issue_number }: { issue_number: number; body?: string }) => { if (failCreateOn.includes(issue_number)) { @@ -31,9 +32,25 @@ function makeFakeOctokit(options: FakeOptions = {}) { const listComments = vi.fn() - const listCommits = vi.fn(async () => ({ - data: commitMessages.map((message) => ({ commit: { message } })), - })) + // Like the real API, this lists every reachable commit, following all parents. + const listCommits = vi.fn(async ({ sha, per_page = 30 }: { sha: string; per_page?: number }) => { + const queue = [sha] + const seen = new Set() + const data = [] + while (queue.length > 0 && data.length < per_page) { + const current = queue.shift()! + const commit = commits[current] + if (seen.has(current) || !commit) continue + seen.add(current) + data.push({ + sha: current, + commit: { message: commit.message }, + parents: commit.parents.map((parent) => ({ sha: parent })), + }) + queue.push(...commit.parents) + } + return { data } + }) const fake = { rest: { @@ -78,22 +95,59 @@ describe('extractPrNumber', () => { }) }) +function linearHistory(headSha: string, messages: string[]): Record { + const commits: Record = {} + for (const [index, message] of messages.entries()) { + const sha = index === 0 ? headSha : `parent${index}` + const parents = index < messages.length - 1 ? [`parent${index + 1}`] : [] + commits[sha] = { message, parents } + } + return commits +} + describe('findBatchPrNumbers', () => { test('returns deduped PR numbers from the deployed SHA ancestry', async () => { const { octokit } = makeFakeOctokit({ - commitMessages: ['Head PR (#5)', 'Middle PR (#4)', 'First PR (#3)', 'No PR here'], + commits: linearHistory('abc123', [ + 'Head PR (#5)', + 'Middle PR (#4)', + 'Revert "Middle PR (#4)"', + 'First PR (#3)', + 'No PR here', + ]), }) const numbers = await findBatchPrNumbers(octokit, 'github', 'docs-internal', 'abc123') expect(numbers).toEqual([5, 4, 3]) }) test('caps the lookback at the configured batch size', async () => { - const { octokit, listCommits } = makeFakeOctokit({ commitMessages: ['Head PR (#9)'] }) - await findBatchPrNumbers(octokit, 'github', 'docs-internal', 'abc123', 5) + const { octokit, listCommits } = makeFakeOctokit({ + commits: linearHistory('abc123', ['A (#9)', 'B (#8)', 'C (#7)', 'D (#6)', 'E (#5)']), + }) + const numbers = await findBatchPrNumbers(octokit, 'github', 'docs-internal', 'abc123', 3) + expect(numbers).toEqual([9, 8, 7]) + expect(listCommits).toHaveBeenCalledTimes(3) expect(listCommits).toHaveBeenCalledWith( - expect.objectContaining({ sha: 'abc123', per_page: 5 }), + expect.objectContaining({ sha: 'abc123', per_page: 1 }), ) }) + + test('follows first parents only, skipping repo-sync side history', async () => { + const { octokit, listCommits } = makeFakeOctokit({ + commits: { + head: { + message: 'Merge pull request #63880 from github/repo-sync', + parents: ['a', 'side'], + }, + a: { message: 'Internal PR (#63761)', parents: ['b'] }, + b: { message: 'Another internal PR (#63842)', parents: [] }, + side: { message: 'Public repo PR (#46333)', parents: ['b'] }, + }, + }) + const numbers = await findBatchPrNumbers(octokit, 'github', 'docs-internal', 'head') + expect(numbers).toEqual([63761, 63842]) + expect(listCommits).not.toHaveBeenCalledWith(expect.objectContaining({ sha: 'side' })) + }) }) describe('ensureProductionComment', () => { From b0ce5cccddd94f499f11fb3bc63e8909eb0a36d9 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:17:42 +0000 Subject: [PATCH 25/38] Key REST schema "(see above)" dedupe on shape, not only title (#64193) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 Copilot-Session: fb5d8be8-479c-4950-8197-ef0220dbdcb0 --- src/article-api/lib/summarize-schema.ts | 51 +++++++++------ .../tests/summarize-schema.test.ts | 62 +++++++++++++++++++ 2 files changed, 94 insertions(+), 19 deletions(-) diff --git a/src/article-api/lib/summarize-schema.ts b/src/article-api/lib/summarize-schema.ts index 93e0010eb08b..65089a8c0fb5 100644 --- a/src/article-api/lib/summarize-schema.ts +++ b/src/article-api/lib/summarize-schema.ts @@ -61,16 +61,29 @@ function renderTypeConstraints(schema: JsonSchema): string { return parts.join(', ') || 'object' } +// The OpenAPI description reuses some titles for different shapes, so the key includes the fields. +function schemaKey(schema: JsonSchema): string { + const keys = Object.keys(schema.properties || {}).sort() + const required = [...(schema.required || [])].sort() + return `${schema.title}|${keys.join(',')}|${required.join(',')}` +} + +type SeenShapes = Map> + +function recordShape(title: string, schema: JsonSchema, seen: SeenShapes): Set { + const shapes = seen.get(title) || new Set() + shapes.add(schemaKey(schema)) + seen.set(title, shapes) + return shapes +} + // Large REST response schemas can reuse titled objects such as Simple User dozens of times. -function shouldReference( - title: string | undefined, - canExpand: boolean, - seen: Set, -): boolean { - if (!canExpand || !title) return false - if (seen.has(title)) return true - seen.add(title) - return false +function shouldReference(schema: JsonSchema, canExpand: boolean, seen: SeenShapes): boolean { + if (!canExpand || !schema.title) return false + const known = seen.get(schema.title)?.has(schemaKey(schema)) || false + const shapes = recordShape(schema.title, schema, seen) + // "(see above)" names only the title, so a title with several shapes expands every time. + return known && shapes.size === 1 } function renderCompositionVariants( @@ -78,7 +91,7 @@ function renderCompositionVariants( variants: JsonSchema[], indent: number, depth: number, - seen: Set, + seen: SeenShapes, ): string { const prefix = ' '.repeat(indent) const label = keyword.replace('Of', ' of') @@ -87,7 +100,7 @@ function renderCompositionVariants( for (const variant of variants) { const name = variant.title || renderTypeConstraints(variant) const canExpand = depth < MAX_DEPTH && Boolean(variant.properties) - if (shouldReference(variant.title, canExpand, seen)) { + if (shouldReference(variant, canExpand, seen)) { lines.push(`${prefix} * **${name}** (see above)`) continue } @@ -105,7 +118,7 @@ function renderProperties( schema: JsonSchema, indent: number, depth: number, - seen: Set, + seen: SeenShapes, requiredFields?: string[], ): string { const props = schema.properties || {} @@ -123,7 +136,7 @@ function renderProperties( for (const variant of prop[compositionKey]!) { const vName = variant.title || renderTypeConstraints(variant) const canExpand = depth < MAX_DEPTH && Boolean(variant.properties) - if (shouldReference(variant.title, canExpand, seen)) { + if (shouldReference(variant, canExpand, seen)) { lines.push(`${prefix} * **${vName}** (see above)`) continue } @@ -145,7 +158,7 @@ function renderProperties( const itemKey = (['oneOf', 'anyOf', 'allOf'] as const).find((k) => prop.items![k]) if (itemKey) { const label = `${itemTitle ? `array of \`${itemTitle}\`` : 'array of items'}${isNullable ? ' or null' : ''}` - if (shouldReference(itemTitle, depth < MAX_DEPTH, seen)) { + if (shouldReference(prop.items, depth < MAX_DEPTH, seen)) { lines.push(`${prefix}* \`${name}\`: ${reqStr}${label} (see above)`) } else { lines.push(`${prefix}* \`${name}\`: ${reqStr}${label}:`) @@ -159,7 +172,7 @@ function renderProperties( continue } const canExpand = Boolean(prop.items.properties) && depth < MAX_DEPTH - if (shouldReference(itemTitle, canExpand, seen)) { + if (shouldReference(prop.items, canExpand, seen)) { lines.push( `${prefix}* \`${name}\`: ${reqStr}array of \`${itemTitle}\`${isNullable ? ' or null' : ''} (see above)`, ) @@ -176,7 +189,7 @@ function renderProperties( } } else if (prop.properties && depth < MAX_DEPTH) { const label = prop.title ? `\`${prop.title}\`` : renderTypeConstraints(prop) - if (shouldReference(prop.title, true, seen)) { + if (shouldReference(prop, true, seen)) { lines.push(`${prefix}* \`${name}\`: ${reqStr}${label} (see above)`) } else { lines.push(`${prefix}* \`${name}\`: ${reqStr}${label}:`) @@ -194,7 +207,7 @@ function renderProperties( export function summarizeSchema(schema: JsonSchema): string { if (!schema || typeof schema !== 'object') return '' - const seen = new Set() + const seen: SeenShapes = new Map() for (const keyword of ['oneOf', 'anyOf', 'allOf'] as const) { if (schema[keyword]) { @@ -224,7 +237,7 @@ export function summarizeSchema(schema: JsonSchema): string { for (const variant of items[compositionKey]!) { const name = variant.title || renderTypeConstraints(variant) const canExpand = Boolean(variant.properties) - if (shouldReference(variant.title, canExpand, seen)) { + if (shouldReference(variant, canExpand, seen)) { lines.push(` * **${name}** (see above)`) continue } @@ -240,7 +253,7 @@ export function summarizeSchema(schema: JsonSchema): string { if (items.properties) { const label = itemTitle ? `\`${itemTitle}\`` : 'objects' const nullSuffix = isNullable ? ' or null' : '' - if (itemTitle) seen.add(itemTitle) + if (itemTitle) recordShape(itemTitle, items, seen) return `Array${constraintStr} of ${label}${nullSuffix}:\n${renderProperties(items, 1, 1, seen)}` } diff --git a/src/article-api/tests/summarize-schema.test.ts b/src/article-api/tests/summarize-schema.test.ts index b1238a9324c8..78e425bd6200 100644 --- a/src/article-api/tests/summarize-schema.test.ts +++ b/src/article-api/tests/summarize-schema.test.ts @@ -240,6 +240,68 @@ describe('summarizeSchema — repeated titled type deduplication', () => { expect((result.match(/\(see above\)/g) || []).length).toBeGreaterThanOrEqual(2) }) + it('expands every occurrence of a title that has more than one shape', () => { + const fullType: Schema = { + type: 'object', + title: 'Issue Type', + required: ['id', 'description'], + properties: { + id: { type: 'integer' }, + description: { type: 'string' }, + is_enabled: { type: 'boolean' }, + }, + } + const eventType: Schema = { + type: 'object', + title: 'Issue Type', + required: ['id'], + properties: { + id: { type: 'integer' }, + color: { type: 'string' }, + }, + } + const schema: Schema = { + type: 'object', + properties: { + type: fullType, + issue_type: eventType, + prev_issue_type: { ...eventType }, + }, + } + const result = summarizeSchema(schema) + expect(result).toContain('`issue_type`: `Issue Type`:') + expect(result).toContain('`prev_issue_type`: `Issue Type`:') + expect(result.match(/`color`/g)?.length).toBe(2) + expect(result).not.toContain('(see above)') + }) + + it('treats a top-level array item title as one of the shapes for that title', () => { + const schema: Schema = { + type: 'array', + items: { + type: 'object', + title: 'Issue Type', + properties: { + id: { type: 'integer' }, + description: { type: 'string' }, + parent: { + type: 'object', + title: 'Issue Type', + properties: { id: { type: 'integer' }, color: { type: 'string' } }, + }, + sibling: { + type: 'object', + title: 'Issue Type', + properties: { id: { type: 'integer' }, color: { type: 'string' } }, + }, + }, + }, + } + const result = summarizeSchema(schema) + expect(result).toContain('`sibling`: `Issue Type`:') + expect(result).not.toContain('(see above)') + }) + it('does not reference untitled (anonymous) objects', () => { const anon: Schema = { type: 'object', From 51ea6dd173cdc7774ee3cd1fe4ef084364ad3478 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:22:04 +0000 Subject: [PATCH 26/38] Return 500 when dynamic WebP conversion fails (#64088) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 Copilot-Session: fb5d8be8-479c-4950-8197-ef0220dbdcb0 --- src/assets/middleware/dynamic-assets.ts | 11 ++-- src/assets/tests/dynamic-assets-errors.ts | 62 +++++++++++++++++++++++ 2 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 src/assets/tests/dynamic-assets-errors.ts diff --git a/src/assets/middleware/dynamic-assets.ts b/src/assets/middleware/dynamic-assets.ts index d20748f73625..712f262a8b1c 100644 --- a/src/assets/middleware/dynamic-assets.ts +++ b/src/assets/middleware/dynamic-assets.ts @@ -87,11 +87,12 @@ export default async function dynamicAssets( assetCacheControl(res) return res.type('image/webp').send(buffer) } catch (catchError) { - if ( - catchError instanceof Error && - 'code' in catchError && - !isFileNotFoundError((catchError as NodeJS.ErrnoException).code) - ) { + // Sharp errors have no code, so only a missing source file may fall through to the cached 404. + const code = + catchError instanceof Error && 'code' in catchError + ? (catchError as NodeJS.ErrnoException).code + : undefined + if (!isFileNotFoundError(code)) { logger.error('Failed to process dynamic asset', { path: req.path, error: catchError }) throw catchError } diff --git a/src/assets/tests/dynamic-assets-errors.ts b/src/assets/tests/dynamic-assets-errors.ts new file mode 100644 index 000000000000..a697d8bb2a64 --- /dev/null +++ b/src/assets/tests/dynamic-assets-errors.ts @@ -0,0 +1,62 @@ +import nodePath from 'path' + +import { afterEach, describe, expect, test, vi } from 'vitest' +import type { Response } from 'express' + +import type { ExtendedRequest } from '@/types' + +const { readFile } = vi.hoisted(() => ({ readFile: vi.fn() })) + +vi.mock('fs/promises', () => ({ default: { readFile } })) + +const { default: dynamicAssets } = await import('@/assets/middleware/dynamic-assets') + +function makeReq(path: string) { + return { url: path, path, method: 'GET', query: {} } as unknown as ExtendedRequest +} + +function makeRes() { + const res = { + status: vi.fn(() => res), + type: vi.fn(() => res), + set: vi.fn(() => res), + setHeader: vi.fn(() => res), + hasHeader: vi.fn(() => false), + getHeader: vi.fn(), + send: vi.fn(() => res), + } + return res +} + +describe('dynamic assets error handling', () => { + afterEach(() => { + readFile.mockReset() + }) + + test('rethrows when sharp cannot decode the source PNG', async () => { + readFile.mockResolvedValue(Buffer.from('garbage')) + const res = makeRes() + await expect( + dynamicAssets(makeReq('/assets/images/x.webp'), res as unknown as Response, vi.fn()), + ).rejects.toThrow() + expect(res.status).not.toHaveBeenCalledWith(404) + }) + + test('rethrows when a resized source PNG cannot be decoded', async () => { + readFile.mockResolvedValue(Buffer.from('garbage')) + const res = makeRes() + await expect( + dynamicAssets(makeReq('/assets/mw-1440/images/x.webp'), res as unknown as Response, vi.fn()), + ).rejects.toThrow() + expect(res.status).not.toHaveBeenCalledWith(404) + }) + + test('responds 404 when the source PNG does not exist', async () => { + readFile.mockRejectedValue(Object.assign(new Error('not found'), { code: 'ENOENT' })) + const res = makeRes() + await dynamicAssets(makeReq('/assets/images/x.webp'), res as unknown as Response, vi.fn()) + expect(readFile).toHaveBeenCalledWith(nodePath.resolve('assets/images/x.png')) + expect(res.status).toHaveBeenCalledWith(404) + expect(res.send).toHaveBeenCalledWith('Asset not found') + }) +}) From b3d6fa63b151ee03dbf6740516365c1288937b04 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:26:41 +0000 Subject: [PATCH 27/38] Fix GHD016 autofix to unquote only the flagged Liquid args (#64176) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../liquid-quoted-conditional-arg.ts | 36 +++++++++++-------- .../unit/liquid-quoted-conditional-args.ts | 20 +++++++++++ 2 files changed, 41 insertions(+), 15 deletions(-) diff --git a/src/content-linter/lib/linting-rules/liquid-quoted-conditional-arg.ts b/src/content-linter/lib/linting-rules/liquid-quoted-conditional-arg.ts index 980d67fb39aa..b62733781d24 100644 --- a/src/content-linter/lib/linting-rules/liquid-quoted-conditional-arg.ts +++ b/src/content-linter/lib/linting-rules/liquid-quoted-conditional-arg.ts @@ -10,6 +10,14 @@ import type { RuleParams, RuleErrorCallback, Rule } from '../../types' const comparisonOperators = new Set(['==', '!=', '<>', '<', '>', '<=', '>=', 'contains']) +function isQuotedConditionalArg(args: string[], index: number): boolean { + if (!isStringQuoted(args[index])) return false + // A quoted string is valid as an operand of a comparison operator. + const prev = index > 0 ? args[index - 1] : '' + const next = index < args.length - 1 ? args[index + 1] : '' + return !comparisonOperators.has(prev) && !comparisonOperators.has(next) +} + export const liquidQuotedConditionalArg: Rule = { names: ['GHD016', 'liquid-quoted-conditional-arg'], description: 'Liquid conditional tags should not quote the conditional argument', @@ -20,19 +28,8 @@ export const liquidQuotedConditionalArg: Rule = { .filter((token): token is TagToken => token.kind === TokenKind.Tag) .filter((token) => conditionalTags.includes(token.name)) .filter((token) => { - const tokensArray = token.args.split(/\s+/g) - if ( - tokensArray.some((arg, index) => { - if (!isStringQuoted(arg)) return false - // A quoted string is valid as an operand of a comparison operator. - const prev = index > 0 ? tokensArray[index - 1] : '' - const next = index < tokensArray.length - 1 ? tokensArray[index + 1] : '' - if (comparisonOperators.has(prev) || comparisonOperators.has(next)) return false - return true - }) - ) - return true - return false + const args = token.args.split(/\s+/g) + return args.some((_, index) => isQuotedConditionalArg(args, index)) }) if (!tokens.length) return @@ -42,8 +39,17 @@ export const liquidQuotedConditionalArg: Rule = { const { lineNumber, column, length } = getPositionData(token, lines) // lineNumber starts at 1, but lines indexes from 0. const line = lines[lineNumber - 1].slice(column - 1, column - 1 + length) - const replaceWith = token.args.slice(1, token.args.length - 1) - const replaceString = line.replace(token.args, replaceWith) + // Splitting on a capture group keeps the whitespace at odd indexes so the args rejoin unchanged. + const parts = token.args.split(/(\s+)/) + const args = parts.filter((_, index) => index % 2 === 0) + const replaceWith = parts + .map((part, index) => + index % 2 === 0 && isQuotedConditionalArg(args, index / 2) + ? part.replace(/^['"](.*)['"]([?!]?)$/, '$1$2') + : part, + ) + .join('') + const replaceString = line.replace(token.args, () => replaceWith) addError( onError, diff --git a/src/content-linter/tests/unit/liquid-quoted-conditional-args.ts b/src/content-linter/tests/unit/liquid-quoted-conditional-args.ts index a58147032512..f99b1d755ff3 100644 --- a/src/content-linter/tests/unit/liquid-quoted-conditional-args.ts +++ b/src/content-linter/tests/unit/liquid-quoted-conditional-args.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from 'vitest' +import { applyFixes } from 'markdownlint-rule-helpers' import { runRule } from '../../lib/init-test' import { liquidQuotedConditionalArg } from '../../lib/linting-rules/liquid-quoted-conditional-arg' @@ -134,4 +135,23 @@ describe(liquidQuotedConditionalArg.names.join(' - '), () => { expect(errors.length).toBe(1) expect(errors[0].lineNumber).toBe(9) }) + test('autofix removes only the offending quotes', async () => { + const cases = [ + ['{% ifversion "ghec" %}', '{% ifversion ghec %}'], + ['{% ifversion "fpt" or ghec %}', '{% ifversion fpt or ghec %}'], + ['{% ifversion fpt and "ghec" %}', '{% ifversion fpt and ghec %}'], + ['{% if page.x == "y" or "z" %}', '{% if page.x == "y" or z %}'], + ['{% unless "this" %}x', '{% unless this %}x'], + [ + 'Intro {% ifversion "ghes" %}Text{% endif %} more', + 'Intro {% ifversion ghes %}Text{% endif %} more', + ], + ['Use {% if "x" %}bar{% endif %}.', 'Use {% if x %}bar{% endif %}.'], + ] + for (const [markdown, expected] of cases) { + const result = await runRule(liquidQuotedConditionalArg, { strings: { markdown } }) + expect(result.markdown.length).toBe(1) + expect(applyFixes(markdown, result.markdown)).toBe(expected) + } + }) }) From 9c5a5176bffc3e68164d0c8d3e9501c336382f96 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:26:54 +0000 Subject: [PATCH 28/38] Format reusables in blockquotes based on their own line (#64188) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/content-render/liquid/data.ts | 10 ++++------ src/content-render/tests/data.ts | 31 +++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/src/content-render/liquid/data.ts b/src/content-render/liquid/data.ts index 8c659bd5f137..12c6c383a0a7 100644 --- a/src/content-render/liquid/data.ts +++ b/src/content-render/liquid/data.ts @@ -83,12 +83,10 @@ const blockquoteRegexp = /^\n?([ \t]*>[ \t]?)/ function handleBlockquote(tagToken: TagToken, text: string): string { if (text.split('\n').length <= 1) return text - const { input, content } = tagToken - if (!content) return text - const inputLine = input.split('\n').find((line) => line.includes(content)) - if (!inputLine || !blockquoteRegexp.test(inputLine)) return text - - const match = inputLine.match(blockquoteRegexp) + // Use this tag's own position because the same tag text can appear on other lines. + const { input, begin } = tagToken + const lineStart = input.lastIndexOf('\n', begin - 1) + 1 + const match = input.slice(lineStart, begin).match(blockquoteRegexp) if (!match) return text const start = match[0] return text diff --git a/src/content-render/tests/data.ts b/src/content-render/tests/data.ts index 40c0cdbcdfaa..4b543cff0093 100644 --- a/src/content-render/tests/data.ts +++ b/src/content-render/tests/data.ts @@ -2,6 +2,7 @@ import { afterAll, beforeAll, describe, expect, test } from 'vitest' import Page from '@/frame/lib/page' import { liquid } from '@/content-render/index' +import { renderLiquid } from '@/content-render/liquid/index' import languages from '@/languages/lib/languages-server' import nonEnterpriseDefaultVersion from '@/versions/lib/non-enterprise-default-version' import { DataDirectory } from '@/tests/helpers/data-directory' @@ -20,6 +21,8 @@ describe('data tag', () => { }, reusables: { indented_code: 'Intro\n\n```yaml\nfoo:\n bar: 1\n list:\n - a\n```', + multi: 'First line.\n\nSecond paragraph.', + 'multi-longer': 'L1\nL2', }, ui: { alerts: {}, @@ -74,4 +77,32 @@ describe('data tag', () => { ) expect(rendered).toContain('> foo:\n> bar: 1\n> list:\n> - a\n') }) + + test('prefixes only the blockquote use when a reusable appears in a blockquote first', async () => { + const rendered = await renderLiquid( + '> [!NOTE]\n> {% data reusables.multi %}\n\nText.\n\n{% data reusables.multi %}', + { currentLanguage: 'en' }, + ) + expect(rendered).toBe( + '> [!NOTE]\n> First line.\n> \n> Second paragraph.\n\nText.\n\nFirst line.\n\nSecond paragraph.', + ) + }) + + test('prefixes only the blockquote use when a reusable appears in a blockquote last', async () => { + const rendered = await renderLiquid( + '{% data reusables.multi %}\n\nText.\n\n> [!NOTE]\n> {% data reusables.multi %}', + { currentLanguage: 'en' }, + ) + expect(rendered).toBe( + 'First line.\n\nSecond paragraph.\n\nText.\n\n> [!NOTE]\n> First line.\n> \n> Second paragraph.', + ) + }) + + test('does not prefix a reusable whose path is a prefix of a blockquoted reusable', async () => { + const rendered = await renderLiquid( + '> {% data reusables.multi-longer %}\n\n{% data reusables.multi %}', + { currentLanguage: 'en' }, + ) + expect(rendered).toBe('> L1\n> L2\n\nFirst line.\n\nSecond paragraph.') + }) }) From 659925f48606f675dcb1d248d2c45b5a231d13b7 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:28:07 +0000 Subject: [PATCH 29/38] Honor the version cookie for articles without a Free/Pro/Team version (#64015) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/redirects/lib/version-preference.ts | 15 +++++++--- src/redirects/tests/version-preference.ts | 35 ++++++++++++++++++++++- 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/src/redirects/lib/version-preference.ts b/src/redirects/lib/version-preference.ts index 4995ef26c58e..dcb12f0fc7eb 100644 --- a/src/redirects/lib/version-preference.ts +++ b/src/redirects/lib/version-preference.ts @@ -1,6 +1,6 @@ import { allVersions, allVersionKeys } from '@/versions/lib/all-versions' import nonEnterpriseDefaultVersion from '@/versions/lib/non-enterprise-default-version' -import { getPathWithoutLanguage } from '@/frame/lib/path-utils' +import { getPathWithoutLanguage, getPathWithoutVersion } from '@/frame/lib/path-utils' // detect-version.ts rejects cookie values outside allVersionKeys. const alternateVersions = allVersionKeys.filter((v) => v !== nonEnterpriseDefaultVersion) @@ -41,6 +41,9 @@ const NOTHING: VersionPreference = { vary: false } // explicit /free-pro-team@latest prefix before this point. // // resolvedPath builds the versioned candidate so renamed articles resolve in one hop. +// +// Versionless URLs for articles without Free/Pro/Team resolve to their first version, and the +// cookie still overrides that default. The follow-up request names a version, so it cannot loop. export function getVersionPreference( requestPath: string, resolvedPath: string, @@ -50,11 +53,15 @@ export function getVersionPreference( // External redirects are not ours to version. if (resolvedPath.includes('://')) return NOTHING - if (pathNamesAVersion(requestPath) || pathNamesAVersion(resolvedPath)) return NOTHING + if (pathNamesAVersion(requestPath)) return NOTHING + + // getPathWithoutVersion keeps deprecated and legacy version segments, which still win. + const candidate = getPathWithoutVersion(resolvedPath) + if (pathNamesAVersion(candidate)) return NOTHING // Language-less paths read a slug as the language and miss the language-prefixed pages lookup. - const language = resolvedPath.split('/')[1] - const withoutLanguage = getPathWithoutLanguage(resolvedPath) + const language = candidate.split('/')[1] + const withoutLanguage = getPathWithoutLanguage(candidate) // pages keys omit .md, but .md requests must redirect to .md versioned articles. const extension = withoutLanguage.endsWith('.md') ? '.md' : '' diff --git a/src/redirects/tests/version-preference.ts b/src/redirects/tests/version-preference.ts index 6af4a642ffc4..9479e34cf069 100644 --- a/src/redirects/tests/version-preference.ts +++ b/src/redirects/tests/version-preference.ts @@ -8,6 +8,7 @@ const GHES = `enterprise-server@${latest}` // pages stands in for req.context.pages, keyed by full versioned permalink. // /actions/versioned exists in all three versions; /actions/fpt-only exists only unversioned. +// /actions/no-fpt has no Free/Pro/Team version, like much of /admin. const pages = Object.fromEntries( [ '/en/actions/versioned', @@ -16,6 +17,8 @@ const pages = Object.fromEntries( '/en/actions/fpt-only', '/en/actions/ghec-only', `/en/${GHEC}/actions/ghec-only`, + `/en/${GHEC}/actions/no-fpt`, + `/en/${GHES}/actions/no-fpt`, '/ja/actions/versioned', `/ja/${GHEC}/actions/versioned`, '/en', @@ -126,6 +129,36 @@ describe('getVersionPreference', () => { ).toEqual({ vary: true, redirectTo: `/en/${GHEC}/actions/versioned.md` }) }) + // Versionless URLs for articles without Free/Pro/Team resolve to their first version. + // The cookie still overrides that default because the reader named no version. + test('overrides the first-version fallback for articles without Free/Pro/Team', () => { + expect( + getVersionPreference('/en/actions/no-fpt', `/en/${GHEC}/actions/no-fpt`, GHES, pages), + ).toEqual({ vary: true, redirectTo: `/en/${GHES}/actions/no-fpt` }) + }) + + test('varies on the first-version fallback without a cookie', () => { + expect( + getVersionPreference('/en/actions/no-fpt', `/en/${GHEC}/actions/no-fpt`, undefined, pages), + ).toEqual({ vary: true }) + }) + + test('leaves an explicitly versioned URL alone when the target is versioned too', () => { + const path = `/en/${GHEC}/actions/no-fpt` + expect(getVersionPreference(path, path, GHES, pages)).toEqual({ vary: false }) + }) + + test('leaves a deprecated version target alone', () => { + expect( + getVersionPreference( + '/en/actions/no-fpt', + '/en/enterprise-server@3.0/actions/no-fpt', + GHES, + pages, + ), + ).toEqual({ vary: false }) + }) + test('redirects a language homepage to the preferred version', () => { expect(getVersionPreference('/en', '/en', GHEC, pages)).toEqual({ vary: true, @@ -160,7 +193,7 @@ describe('getVersionPreference', () => { }) }) - // Versioned redirect targets short-circuit on pathNamesAVersion, so they cannot bounce back. + // The follow-up request names a version, so it short-circuits on pathNamesAVersion. test('cannot loop', () => { const first = getVersionPreference( '/en/actions/versioned', From 9602132ef0f3fd6e529a8dca016573f181f454c6 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:31:18 +0000 Subject: [PATCH 30/38] Stop marking common webhook parameters required for every event (#64232) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 Copilot-Session: fb5d8be8-479c-4950-8197-ef0220dbdcb0 --- .../templates/webhooks-page.template.md | 4 +- .../tests/webhooks-common-params.test.ts | 109 ++++++++++++++++++ src/article-api/tests/webhooks-transformer.ts | 2 +- .../transformers/webhooks-transformer.ts | 11 +- 4 files changed, 122 insertions(+), 4 deletions(-) create mode 100644 src/article-api/tests/webhooks-common-params.test.ts diff --git a/src/article-api/templates/webhooks-page.template.md b/src/article-api/templates/webhooks-page.template.md index ed282118a35a..59136b904db7 100644 --- a/src/article-api/templates/webhooks-page.template.md +++ b/src/article-api/templates/webhooks-page.template.md @@ -11,14 +11,14 @@ {% if commonParams.size > 0 %} ## Common payload parameters -Most webhook events include these standard parameters: +Many webhook events include these parameters. Not every event includes each one, and whether a parameter is required varies by event. | Name | Type | Description | |------|------|-------------| {% for param in commonParams %}| `{{ param.name }}` | `{{ param.type }}` | {% if param.isRequired %}**Required.** {% endif %}{{ param.description }} | {% endfor %} -Events below list only their additional parameters beyond these common ones. +Events below omit these common parameters from their own tables. {% endif %} {% for webhook in webhooks %} diff --git a/src/article-api/tests/webhooks-common-params.test.ts b/src/article-api/tests/webhooks-common-params.test.ts new file mode 100644 index 000000000000..9b66f7b52ed8 --- /dev/null +++ b/src/article-api/tests/webhooks-common-params.test.ts @@ -0,0 +1,109 @@ +import { beforeAll, describe, expect, test, vi } from 'vitest' + +import { WebhooksTransformer } from '@/article-api/transformers/webhooks-transformer' +import { getWebhooks } from '@/webhooks/lib/index' +import { allVersions } from '@/versions/lib/all-versions' +import type { Context, Page } from '@/types' + +// Wrap the real loader so the real-data tests keep using synced data while one test injects a fixture. +vi.mock('@/webhooks/lib/index', async (importOriginal) => { + const actual = await importOriginal() + return { ...actual, getWebhooks: vi.fn(actual.getWebhooks) } +}) + +const stubPage = { + autogenerated: 'webhooks', + title: 'Webhook events and payloads', + intro: '', + renderProp: async () => '', +} as unknown as Page + +function getCommonRow(body: string, name: string): string { + const commonSection = body.split('## Common payload parameters')[1]?.split('\n## ')[0] || '' + return commonSection.split('\n').find((line) => line.startsWith(`| \`${name}\` |`)) || '' +} + +async function renderBody(currentVersion = 'free-pro-team@latest'): Promise { + const context = { + currentVersion, + currentVersionObj: allVersions[currentVersion], + allVersions, + } as unknown as Context + return await new WebhooksTransformer().transform( + stubPage, + '/en/webhooks/webhook-events-and-payloads', + context, + ) +} + +function makeAction(params: Array<[string, boolean]>) { + return { + bodyParameters: params.map(([paramName, isRequired]) => ({ + name: paramName, + type: 'object', + description: `The ${paramName}.`, + isRequired, + })), + } +} + +describe('WebhooksTransformer common parameters', () => { + let body = '' + + beforeAll(async () => { + body = await renderBody() + }) + + // Some events, such as push, have no action field, so the shared rows cannot be required for all events. + test('common parameters are not marked required when some events omit them', () => { + for (const name of ['action', 'repository', 'sender']) { + const row = getCommonRow(body, name) + expect(row).toBeTruthy() + expect(row).not.toContain('**Required.**') + } + }) + + test('common section says required status varies by event', () => { + expect(body).toContain('whether a parameter is required varies by event') + }) +}) + +describe('WebhooksTransformer common parameters with fixture data', () => { + test('marks a common row required only when every event requires it', async () => { + vi.mocked(getWebhooks).mockResolvedValueOnce({ + first: { + default: makeAction([ + ['action', true], + ['repository', true], + ['sender', true], + ]), + }, + second: { + opened: makeAction([ + ['action', true], + ['repository', true], + ['sender', true], + ]), + closed: makeAction([ + ['action', true], + ['repository', false], + ['sender', true], + ]), + }, + third: { + default: makeAction([ + ['repository', true], + ['sender', true], + ]), + }, + } as unknown as Awaited>) + // Prepared webhooks are cached per version, so use a version the real-data tests do not load. + const fixtureBody = await renderBody('enterprise-cloud@latest') + + expect(getCommonRow(fixtureBody, 'sender')).toContain('**Required.**') + expect(getCommonRow(fixtureBody, 'repository')).toBeTruthy() + expect(getCommonRow(fixtureBody, 'repository')).not.toContain('**Required.**') + expect(getCommonRow(fixtureBody, 'action')).toBeTruthy() + expect(getCommonRow(fixtureBody, 'action')).not.toContain('**Required.**') + }) +}) diff --git a/src/article-api/tests/webhooks-transformer.ts b/src/article-api/tests/webhooks-transformer.ts index 4cf7a48394a5..463c0322856f 100644 --- a/src/article-api/tests/webhooks-transformer.ts +++ b/src/article-api/tests/webhooks-transformer.ts @@ -119,7 +119,7 @@ describe('Webhooks transformer', () => { expect(res.statusCode).toBe(200) expect(res.body).toContain('## Common payload parameters') - expect(res.body).toContain('Most webhook events include these standard parameters') + expect(res.body).toContain('Many webhook events include these parameters') const commonSection = res.body.split('## Common payload parameters')[1]?.split('\n## ')[0] || '' expect(commonSection).toContain('`sender`') diff --git a/src/article-api/transformers/webhooks-transformer.ts b/src/article-api/transformers/webhooks-transformer.ts index 3cdc7c7c06ac..62811318276f 100644 --- a/src/article-api/transformers/webhooks-transformer.ts +++ b/src/article-api/transformers/webhooks-transformer.ts @@ -75,10 +75,19 @@ async function prepareWebhooks(currentVersion: string) { ) // Omit high-frequency body parameters from rows; summarize matches from the first webhook. - const commonParams = + const commonParams = ( preparedWebhooks[0]?.actions[0]?.bodyParameters.filter((p: { name: string }) => commonParamNames.has(p.name), ) || [] + ).map((param) => ({ + ...param, + // The shared row replaces every event's own row, so it is required only if every event requires it. + isRequired: preparedWebhooks.every((webhook) => + webhook.actions.every((action) => + action.bodyParameters.some((p) => p.name === param.name && p.isRequired), + ), + ), + })) for (const webhook of preparedWebhooks) { for (const action of webhook.actions) { action.bodyParameters = action.bodyParameters.filter( From 1da9769e08966d16e9b302a78002bc4253f5b8fe Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:36:33 +0000 Subject: [PATCH 31/38] Report header and separator column mismatches in GHD047 (#64218) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../linting-rules/table-column-integrity.ts | 12 +++++++++++ .../unit/table-column-integrity-simple.ts | 21 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/src/content-linter/lib/linting-rules/table-column-integrity.ts b/src/content-linter/lib/linting-rules/table-column-integrity.ts index 7d39cb4541da..d44e9c12d6ac 100644 --- a/src/content-linter/lib/linting-rules/table-column-integrity.ts +++ b/src/content-linter/lib/linting-rules/table-column-integrity.ts @@ -100,6 +100,18 @@ export const tableColumnIntegrity = { headerCountWithComments === countColumns(nextLine) ? headerCountWithComments : headerCount + // GFM renders the block as plain text when header and separator cell counts differ. + const separatorColumnCount = countColumns(nextLine) + if (separatorColumnCount !== expectedColumnCount) { + addError( + onError, + i + 2, + `Table separator row has ${separatorColumnCount} columns but header has ${expectedColumnCount}. The table will not render. Give the header and separator rows the same number of columns.`, + nextLine, + getRange(nextLine, nextLine.trim()), + null, // No fix possible + ) + } continue } } diff --git a/src/content-linter/tests/unit/table-column-integrity-simple.ts b/src/content-linter/tests/unit/table-column-integrity-simple.ts index bca8bc9cc861..3b61e081cba9 100644 --- a/src/content-linter/tests/unit/table-column-integrity-simple.ts +++ b/src/content-linter/tests/unit/table-column-integrity-simple.ts @@ -52,6 +52,27 @@ describe(tableColumnIntegrity.names.join(' - '), () => { } }) + test('Separator row with fewer columns than header causes error', async () => { + const markdown = ['| Name | Age | City |', '| --- | --- |', '| Bob | 30 | Paris |'].join('\n') + const result = await runRule(tableColumnIntegrity, { strings: { markdown } }) + const errors = result.markdown + expect(errors.length).toBe(1) + expect(errors[0].lineNumber).toBe(2) + expect(errors[0].errorDetail).toContain('Table separator row has 2 columns but header has 3') + }) + + test('Separator row with more columns than header causes error', async () => { + const markdown = ['| Name | Age |', '| --- | --- | --- |', '| Bob | 30 |'].join('\n') + const result = await runRule(tableColumnIntegrity, { strings: { markdown } }) + const errors = result.markdown + expect(errors.length).toBe(1) + expect(errors[0].lineNumber).toBe(2) + expect(errors[0].errorDetail).toContain('Table separator row has 3 columns but header has 2') + expect(errors[0].errorDetail).toContain( + 'Give the header and separator rows the same number of columns', + ) + }) + test('Rows after a row without a closing pipe are still checked', async () => { const markdown = ['| A | B |', '| --- | --- |', '| x | y', '| p | q | r |'].join('\n') const result = await runRule(tableColumnIntegrity, { strings: { markdown } }) From 47b26d6e705058af86132441d583d61eeca77b2c Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Wed, 21 Oct 2026 16:40:36 +0000 Subject: [PATCH 32/38] GraphQL schema update (#64329) Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> --- src/graphql/data/fpt/schema-actions.json | 1 + src/graphql/data/fpt/schema-apps.json | 1 + src/graphql/data/fpt/schema-commits.json | 3 + src/graphql/data/fpt/schema-deployments.json | 8 +- src/graphql/data/fpt/schema-discussions.json | 4 + .../data/fpt/schema-enterprise-admin.json | 35 +++ src/graphql/data/fpt/schema-git.json | 1 + src/graphql/data/fpt/schema-issues.json | 205 ++++++++-------- src/graphql/data/fpt/schema-orgs.json | 22 ++ src/graphql/data/fpt/schema-packages.json | 23 +- .../data/fpt/schema-projects-classic.json | 18 +- src/graphql/data/fpt/schema-projects.json | 25 +- src/graphql/data/fpt/schema-pulls.json | 225 +++++++++--------- src/graphql/data/fpt/schema-repos.json | 34 ++- .../data/fpt/schema-security-advisories.json | 3 + src/graphql/data/fpt/schema-sponsors.json | 12 +- src/graphql/data/fpt/schema-teams.json | 5 +- src/graphql/data/fpt/schema-users.json | 23 +- src/graphql/data/ghec/schema-actions.json | 1 + src/graphql/data/ghec/schema-apps.json | 1 + src/graphql/data/ghec/schema-commits.json | 3 + src/graphql/data/ghec/schema-deployments.json | 8 +- src/graphql/data/ghec/schema-discussions.json | 4 + .../data/ghec/schema-enterprise-admin.json | 35 +++ src/graphql/data/ghec/schema-git.json | 1 + src/graphql/data/ghec/schema-issues.json | 205 ++++++++-------- src/graphql/data/ghec/schema-orgs.json | 22 ++ src/graphql/data/ghec/schema-packages.json | 23 +- .../data/ghec/schema-projects-classic.json | 18 +- src/graphql/data/ghec/schema-projects.json | 25 +- src/graphql/data/ghec/schema-pulls.json | 225 +++++++++--------- src/graphql/data/ghec/schema-repos.json | 34 ++- .../data/ghec/schema-security-advisories.json | 3 + src/graphql/data/ghec/schema-sponsors.json | 12 +- src/graphql/data/ghec/schema-teams.json | 5 +- src/graphql/data/ghec/schema-users.json | 23 +- .../data/ghes-3.18/schema-actions.json | 1 + src/graphql/data/ghes-3.18/schema-apps.json | 1 + .../data/ghes-3.18/schema-commits.json | 3 + .../data/ghes-3.18/schema-deployments.json | 8 +- .../data/ghes-3.18/schema-discussions.json | 4 + .../ghes-3.18/schema-enterprise-admin.json | 28 +++ src/graphql/data/ghes-3.18/schema-git.json | 1 + src/graphql/data/ghes-3.18/schema-issues.json | 154 ++++++------ src/graphql/data/ghes-3.18/schema-orgs.json | 13 + .../data/ghes-3.18/schema-packages.json | 23 +- .../ghes-3.18/schema-projects-classic.json | 18 +- .../data/ghes-3.18/schema-projects.json | 18 +- src/graphql/data/ghes-3.18/schema-pulls.json | 185 +++++++------- src/graphql/data/ghes-3.18/schema-repos.json | 17 +- src/graphql/data/ghes-3.18/schema-search.json | 4 +- src/graphql/data/ghes-3.18/schema-teams.json | 5 +- src/graphql/data/ghes-3.18/schema-users.json | 16 +- .../data/ghes-3.19/schema-actions.json | 1 + src/graphql/data/ghes-3.19/schema-apps.json | 1 + .../data/ghes-3.19/schema-commits.json | 3 + .../data/ghes-3.19/schema-deployments.json | 8 +- .../data/ghes-3.19/schema-discussions.json | 4 + .../ghes-3.19/schema-enterprise-admin.json | 28 +++ src/graphql/data/ghes-3.19/schema-git.json | 1 + src/graphql/data/ghes-3.19/schema-issues.json | 172 ++++++------- src/graphql/data/ghes-3.19/schema-orgs.json | 13 + .../data/ghes-3.19/schema-packages.json | 23 +- .../ghes-3.19/schema-projects-classic.json | 18 +- .../data/ghes-3.19/schema-projects.json | 18 +- src/graphql/data/ghes-3.19/schema-pulls.json | 193 +++++++-------- src/graphql/data/ghes-3.19/schema-repos.json | 17 +- src/graphql/data/ghes-3.19/schema-search.json | 4 +- src/graphql/data/ghes-3.19/schema-teams.json | 5 +- src/graphql/data/ghes-3.19/schema-users.json | 16 +- .../data/ghes-3.20/schema-actions.json | 1 + src/graphql/data/ghes-3.20/schema-apps.json | 1 + .../data/ghes-3.20/schema-commits.json | 3 + .../data/ghes-3.20/schema-deployments.json | 8 +- .../data/ghes-3.20/schema-discussions.json | 4 + .../ghes-3.20/schema-enterprise-admin.json | 28 +++ src/graphql/data/ghes-3.20/schema-git.json | 1 + src/graphql/data/ghes-3.20/schema-issues.json | 186 ++++++++------- src/graphql/data/ghes-3.20/schema-orgs.json | 13 + .../data/ghes-3.20/schema-packages.json | 23 +- .../ghes-3.20/schema-projects-classic.json | 18 +- .../data/ghes-3.20/schema-projects.json | 24 +- src/graphql/data/ghes-3.20/schema-pulls.json | 209 ++++++++-------- src/graphql/data/ghes-3.20/schema-repos.json | 17 +- src/graphql/data/ghes-3.20/schema-teams.json | 5 +- src/graphql/data/ghes-3.20/schema-users.json | 16 +- .../data/ghes-3.21/schema-actions.json | 1 + src/graphql/data/ghes-3.21/schema-apps.json | 1 + .../data/ghes-3.21/schema-commits.json | 3 + .../data/ghes-3.21/schema-deployments.json | 8 +- .../data/ghes-3.21/schema-discussions.json | 4 + .../ghes-3.21/schema-enterprise-admin.json | 27 +++ src/graphql/data/ghes-3.21/schema-git.json | 1 + src/graphql/data/ghes-3.21/schema-issues.json | 198 +++++++-------- src/graphql/data/ghes-3.21/schema-orgs.json | 14 ++ .../data/ghes-3.21/schema-packages.json | 23 +- .../ghes-3.21/schema-projects-classic.json | 18 +- .../data/ghes-3.21/schema-projects.json | 24 +- src/graphql/data/ghes-3.21/schema-pulls.json | 213 +++++++++-------- src/graphql/data/ghes-3.21/schema-repos.json | 17 +- src/graphql/data/ghes-3.21/schema-teams.json | 5 +- src/graphql/data/ghes-3.21/schema-users.json | 16 +- .../data/ghes-3.22/schema-actions.json | 1 + src/graphql/data/ghes-3.22/schema-apps.json | 1 + .../data/ghes-3.22/schema-commits.json | 3 + .../data/ghes-3.22/schema-deployments.json | 8 +- .../data/ghes-3.22/schema-discussions.json | 4 + .../ghes-3.22/schema-enterprise-admin.json | 30 +++ src/graphql/data/ghes-3.22/schema-git.json | 1 + src/graphql/data/ghes-3.22/schema-issues.json | 204 ++++++++-------- src/graphql/data/ghes-3.22/schema-orgs.json | 14 ++ .../data/ghes-3.22/schema-packages.json | 23 +- .../ghes-3.22/schema-projects-classic.json | 18 +- .../data/ghes-3.22/schema-projects.json | 25 +- src/graphql/data/ghes-3.22/schema-pulls.json | 213 +++++++++-------- src/graphql/data/ghes-3.22/schema-repos.json | 18 +- src/graphql/data/ghes-3.22/schema-teams.json | 5 +- src/graphql/data/ghes-3.22/schema-users.json | 16 +- 118 files changed, 2526 insertions(+), 1508 deletions(-) diff --git a/src/graphql/data/fpt/schema-actions.json b/src/graphql/data/fpt/schema-actions.json index 2a7e17586ad3..897f7b79dc50 100644 --- a/src/graphql/data/fpt/schema-actions.json +++ b/src/graphql/data/fpt/schema-actions.json @@ -99,6 +99,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the connection.

", "type": { "name": "WorkflowRunOrder", diff --git a/src/graphql/data/fpt/schema-apps.json b/src/graphql/data/fpt/schema-apps.json index e49ccb185f13..a59161723875 100644 --- a/src/graphql/data/fpt/schema-apps.json +++ b/src/graphql/data/fpt/schema-apps.json @@ -271,6 +271,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", diff --git a/src/graphql/data/fpt/schema-commits.json b/src/graphql/data/fpt/schema-commits.json index c517be6cb3bc..a697859f2f73 100644 --- a/src/graphql/data/fpt/schema-commits.json +++ b/src/graphql/data/fpt/schema-commits.json @@ -129,6 +129,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -433,6 +434,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -1449,6 +1451,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: OCCURRED_AT, direction: DESC}", "description": "

Ordering options for commit contributions returned from the connection.

", "type": { "name": "CommitContributionOrder", diff --git a/src/graphql/data/fpt/schema-deployments.json b/src/graphql/data/fpt/schema-deployments.json index c6a8836db4ad..b8836596848f 100644 --- a/src/graphql/data/fpt/schema-deployments.json +++ b/src/graphql/data/fpt/schema-deployments.json @@ -326,7 +326,7 @@ "name": "DeployedEvent", "id": "deployedevent", "href": "/graphql/reference/deployments#object-deployedevent", - "description": "

Represents adeployedevent on a given pull request.

", + "description": "

Represents a deployed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -359,7 +359,7 @@ }, { "name": "deployment", - "description": "

The deployment associated with thedeployedevent.

", + "description": "

The deployment associated with the deployed event.

", "type": "Deployment!", "id": "deployment", "href": "/graphql/reference/deployments#object-deployment" @@ -380,7 +380,7 @@ }, { "name": "ref", - "description": "

The ref associated with thedeployedevent.

", + "description": "

The ref associated with the deployed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -633,7 +633,7 @@ "name": "DeploymentEnvironmentChangedEvent", "id": "deploymentenvironmentchangedevent", "href": "/graphql/reference/deployments#object-deploymentenvironmentchangedevent", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

", + "description": "

Represents a deployment_environment_changed event on a given pull request.

", "isDeprecated": false, "implements": [ { diff --git a/src/graphql/data/fpt/schema-discussions.json b/src/graphql/data/fpt/schema-discussions.json index 008909b2d427..b0bf1de3e549 100644 --- a/src/graphql/data/fpt/schema-discussions.json +++ b/src/graphql/data/fpt/schema-discussions.json @@ -705,6 +705,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -1788,6 +1789,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: AUTHORED_ORDER, direction: ASC}", "description": "

How to order the options for the discussion poll.

", "type": { "name": "DiscussionPollOptionOrder", @@ -2155,6 +2157,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -2173,6 +2176,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", diff --git a/src/graphql/data/fpt/schema-enterprise-admin.json b/src/graphql/data/fpt/schema-enterprise-admin.json index 2df44d085839..326db77485bf 100644 --- a/src/graphql/data/fpt/schema-enterprise-admin.json +++ b/src/graphql/data/fpt/schema-enterprise-admin.json @@ -1903,6 +1903,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ID, direction: ASC}", "description": "

Ordering options for enterprise teams returned from the connection.

", "type": { "name": "EnterpriseTeamOrder", @@ -1991,6 +1992,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for the returned vulnerabilities.

", "type": { "name": "SecurityVulnerabilityOrder", @@ -2088,6 +2090,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for members returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -2185,6 +2188,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", @@ -2439,6 +2443,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for repositories returned from the connection.

", "type": { "name": "RepositoryOrder", @@ -3127,6 +3132,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for administrators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -3276,6 +3282,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3353,6 +3360,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3434,6 +3442,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -3498,6 +3507,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: HOST_NAME, direction: ASC}", "description": "

Ordering options for Enterprise Server installations returned.

", "type": { "name": "EnterpriseServerInstallationOrder", @@ -3613,6 +3623,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -3702,6 +3713,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3793,6 +3805,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3863,6 +3876,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3933,6 +3947,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4003,6 +4018,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4080,6 +4096,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4150,6 +4167,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4234,6 +4252,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4315,6 +4334,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for outside collaborators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -4405,6 +4425,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending enterprise administrator invitations returned from the connection.

", "type": { "name": "EnterpriseAdministratorInvitationOrder", @@ -4477,6 +4498,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending repository collaborator invitations returned from the connection.

", "type": { "name": "RepositoryInvitationOrder", @@ -4612,6 +4634,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending enterprise member invitations returned from the connection.

", "type": { "name": "EnterpriseMemberInvitationOrder", @@ -4682,6 +4705,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4752,6 +4776,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4822,6 +4847,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4885,6 +4911,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for support entitlement users returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -4962,6 +4989,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -5189,6 +5217,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for Enterprise Server user accounts returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountOrder", @@ -5243,6 +5272,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for Enterprise Server user accounts uploads returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountsUploadOrder", @@ -5448,6 +5478,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: EMAIL, direction: ASC}", "description": "

Ordering options for Enterprise Server user account emails returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountEmailOrder", @@ -5885,6 +5916,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ID, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "EnterpriseTeamOrganizationOrder", @@ -5967,6 +5999,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ID, direction: ASC}", "description": "

Order for the connection.

", "type": { "name": "EnterpriseTeamMemberOrder", @@ -6214,6 +6247,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: HOST_NAME, direction: ASC}", "description": "

Ordering options for installations returned from the connection.

", "type": { "name": "EnterpriseServerInstallationOrder", @@ -6307,6 +6341,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", diff --git a/src/graphql/data/fpt/schema-git.json b/src/graphql/data/fpt/schema-git.json index 546a3f92b287..e0243452e304 100644 --- a/src/graphql/data/fpt/schema-git.json +++ b/src/graphql/data/fpt/schema-git.json @@ -727,6 +727,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for repository rules.

", "type": { "name": "RepositoryRuleOrder", diff --git a/src/graphql/data/fpt/schema-issues.json b/src/graphql/data/fpt/schema-issues.json index 071f422db655..df9c24df4a2e 100644 --- a/src/graphql/data/fpt/schema-issues.json +++ b/src/graphql/data/fpt/schema-issues.json @@ -1743,7 +1743,7 @@ "name": "AssignedEvent", "id": "assignedevent", "href": "/graphql/reference/issues#object-assignedevent", - "description": "

Represents anassignedevent on any assignable object.

", + "description": "

Represents an assigned event on any assignable object.

", "isDeprecated": false, "implements": [ { @@ -1871,7 +1871,7 @@ "name": "BlockedByAddedEvent", "id": "blockedbyaddedevent", "href": "/graphql/reference/issues#object-blockedbyaddedevent", - "description": "

Represents ablocked_by_addedevent on a given issue.

", + "description": "

Represents a blocked_by_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -1916,7 +1916,7 @@ "name": "BlockedByRemovedEvent", "id": "blockedbyremovedevent", "href": "/graphql/reference/issues#object-blockedbyremovedevent", - "description": "

Represents ablocked_by_removedevent on a given issue.

", + "description": "

Represents a blocked_by_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -1961,7 +1961,7 @@ "name": "BlockingAddedEvent", "id": "blockingaddedevent", "href": "/graphql/reference/issues#object-blockingaddedevent", - "description": "

Represents ablocking_addedevent on a given issue.

", + "description": "

Represents a blocking_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -2006,7 +2006,7 @@ "name": "BlockingRemovedEvent", "id": "blockingremovedevent", "href": "/graphql/reference/issues#object-blockingremovedevent", - "description": "

Represents ablocking_removedevent on a given issue.

", + "description": "

Represents a blocking_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -2051,7 +2051,7 @@ "name": "ClosedEvent", "id": "closedevent", "href": "/graphql/reference/issues#object-closedevent", - "description": "

Represents aclosedevent on any Closable.

", + "description": "

Represents a closed event on any Closable.

", "isDeprecated": false, "implements": [ { @@ -2143,7 +2143,7 @@ "name": "CommentDeletedEvent", "id": "commentdeletedevent", "href": "/graphql/reference/issues#object-commentdeletedevent", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

", + "description": "

Represents a comment_deleted event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2195,7 +2195,7 @@ "name": "ConnectedEvent", "id": "connectedevent", "href": "/graphql/reference/issues#object-connectedevent", - "description": "

Represents aconnectedevent on a given issue or pull request.

", + "description": "

Represents a connected event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2254,7 +2254,7 @@ "name": "ConvertedNoteToIssueEvent", "id": "convertednotetoissueevent", "href": "/graphql/reference/issues#object-convertednotetoissueevent", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

", + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2324,7 +2324,7 @@ "name": "ConvertedToDiscussionEvent", "id": "convertedtodiscussionevent", "href": "/graphql/reference/issues#object-convertedtodiscussionevent", - "description": "

Represents aconverted_to_discussionevent on a given issue.

", + "description": "

Represents a converted_to_discussion event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -2461,7 +2461,7 @@ "name": "DemilestonedEvent", "id": "demilestonedevent", "href": "/graphql/reference/issues#object-demilestonedevent", - "description": "

Represents ademilestonedevent on a given issue or pull request.

", + "description": "

Represents a demilestoned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2494,7 +2494,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with thedemilestonedevent.

", + "description": "

Identifies the milestone title associated with the demilestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -2513,7 +2513,7 @@ "name": "DisconnectedEvent", "id": "disconnectedevent", "href": "/graphql/reference/issues#object-disconnectedevent", - "description": "

Represents adisconnectedevent on a given issue or pull request.

", + "description": "

Represents a disconnected event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2808,6 +2808,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -2862,6 +2863,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -3252,6 +3254,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -3418,6 +3421,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -3584,6 +3588,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -3724,6 +3729,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELATES_TO_ADDED_AT, direction: DESC}", "description": "

Ordering options for related issues.

", "type": { "name": "IssueRelatesToOrder", @@ -4784,7 +4790,7 @@ "name": "IssueCommentPinnedEvent", "id": "issuecommentpinnedevent", "href": "/graphql/reference/issues#object-issuecommentpinnedevent", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

", + "description": "

Represents a issue_comment_pinned event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -4817,7 +4823,7 @@ }, { "name": "issueComment", - "description": "

Identifies the issue comment associated with theissue_comment_pinnedevent.

", + "description": "

Identifies the issue comment associated with the issue_comment_pinned event.

", "type": "IssueComment", "id": "issuecomment", "href": "/graphql/reference/issues#object-issuecomment" @@ -4829,7 +4835,7 @@ "name": "IssueCommentUnpinnedEvent", "id": "issuecommentunpinnedevent", "href": "/graphql/reference/issues#object-issuecommentunpinnedevent", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

", + "description": "

Represents a issue_comment_unpinned event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -4862,7 +4868,7 @@ }, { "name": "issueComment", - "description": "

Identifies the issue comment associated with theissue_comment_unpinnedevent.

", + "description": "

Identifies the issue comment associated with the issue_comment_unpinned event.

", "type": "IssueComment", "id": "issuecomment", "href": "/graphql/reference/issues#object-issuecomment" @@ -4959,6 +4965,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -5043,7 +5050,7 @@ "name": "IssueFieldAddedEvent", "id": "issuefieldaddedevent", "href": "/graphql/reference/issues#object-issuefieldaddedevent", - "description": "

Represents aissue_field_addedevent on a given issue.

", + "description": "

Represents a issue_field_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -5116,7 +5123,7 @@ "name": "IssueFieldChangedEvent", "id": "issuefieldchangedevent", "href": "/graphql/reference/issues#object-issuefieldchangedevent", - "description": "

Represents aissue_field_changedevent on a given issue.

", + "description": "

Represents a issue_field_changed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -5566,7 +5573,7 @@ "name": "IssueFieldRemovedEvent", "id": "issuefieldremovedevent", "href": "/graphql/reference/issues#object-issuefieldremovedevent", - "description": "

Represents aissue_field_removedevent on a given issue.

", + "description": "

Represents a issue_field_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -6212,6 +6219,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -6548,7 +6556,7 @@ "name": "IssueTypeAddedEvent", "id": "issuetypeaddedevent", "href": "/graphql/reference/issues#object-issuetypeaddedevent", - "description": "

Represents aissue_type_addedevent on a given issue.

", + "description": "

Represents a issue_type_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -6600,7 +6608,7 @@ "name": "IssueTypeChangedEvent", "id": "issuetypechangedevent", "href": "/graphql/reference/issues#object-issuetypechangedevent", - "description": "

Represents aissue_type_changedevent on a given issue.

", + "description": "

Represents a issue_type_changed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -6719,7 +6727,7 @@ "name": "IssueTypeRemovedEvent", "id": "issuetyperemovedevent", "href": "/graphql/reference/issues#object-issuetyperemovedevent", - "description": "

Represents aissue_type_removedevent on a given issue.

", + "description": "

Represents a issue_type_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -7127,7 +7135,7 @@ "name": "LabeledEvent", "id": "labeledevent", "href": "/graphql/reference/issues#object-labeledevent", - "description": "

Represents alabeledevent on a given issue or pull request.

", + "description": "

Represents a labeled event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7167,7 +7175,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with thelabeledevent.

", + "description": "

Identifies the label associated with the labeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -7277,7 +7285,7 @@ "name": "LockedEvent", "id": "lockedevent", "href": "/graphql/reference/issues#object-lockedevent", - "description": "

Represents alockedevent on a given issue or pull request.

", + "description": "

Represents a locked event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7329,7 +7337,7 @@ "name": "MarkedAsDuplicateEvent", "id": "markedasduplicateevent", "href": "/graphql/reference/issues#object-markedasduplicateevent", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7388,7 +7396,7 @@ "name": "MentionedEvent", "id": "mentionedevent", "href": "/graphql/reference/issues#object-mentionedevent", - "description": "

Represents amentionedevent on a given issue or pull request.

", + "description": "

Represents a mentioned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7831,7 +7839,7 @@ "name": "MilestonedEvent", "id": "milestonedevent", "href": "/graphql/reference/issues#object-milestonedevent", - "description": "

Represents amilestonedevent on a given issue or pull request.

", + "description": "

Represents a milestoned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7864,7 +7872,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with themilestonedevent.

", + "description": "

Identifies the milestone title associated with the milestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -7883,7 +7891,7 @@ "name": "ParentIssueAddedEvent", "id": "parentissueaddedevent", "href": "/graphql/reference/issues#object-parentissueaddedevent", - "description": "

Represents aparent_issue_addedevent on a given issue.

", + "description": "

Represents a parent_issue_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -7928,7 +7936,7 @@ "name": "ParentIssueRemovedEvent", "id": "parentissueremovedevent", "href": "/graphql/reference/issues#object-parentissueremovedevent", - "description": "

Represents aparent_issue_removedevent on a given issue.

", + "description": "

Represents a parent_issue_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -8282,7 +8290,7 @@ "name": "PinnedEvent", "id": "pinnedevent", "href": "/graphql/reference/issues#object-pinnedevent", - "description": "

Represents apinnedevent on a given issue or pull request.

", + "description": "

Represents a pinned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -8512,7 +8520,7 @@ "name": "ReferencedEvent", "id": "referencedevent", "href": "/graphql/reference/issues#object-referencedevent", - "description": "

Represents areferencedevent on a given ReferencedSubject.

", + "description": "

Represents a referenced event on a given ReferencedSubject.

", "isDeprecated": false, "implements": [ { @@ -8531,14 +8539,14 @@ }, { "name": "commit", - "description": "

Identifies the commit associated with thereferencedevent.

", + "description": "

Identifies the commit associated with the referenced event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "commitRepository", - "description": "

Identifies the repository associated with thereferencedevent.

", + "description": "

Identifies the repository associated with the referenced event.

", "type": "Repository!", "id": "repository", "href": "/graphql/reference/repos#object-repository" @@ -8585,7 +8593,7 @@ "name": "RenamedTitleEvent", "id": "renamedtitleevent", "href": "/graphql/reference/issues#object-renamedtitleevent", - "description": "

Represents arenamedevent on a given issue or pull request.

", + "description": "

Represents a renamed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -8644,7 +8652,7 @@ "name": "ReopenedEvent", "id": "reopenedevent", "href": "/graphql/reference/issues#object-reopenedevent", - "description": "

Represents areopenedevent on any Closable.

", + "description": "

Represents a reopened event on any Closable.

", "isDeprecated": false, "implements": [ { @@ -8696,7 +8704,7 @@ "name": "SubIssueAddedEvent", "id": "subissueaddedevent", "href": "/graphql/reference/issues#object-subissueaddedevent", - "description": "

Represents asub_issue_addedevent on a given issue.

", + "description": "

Represents a sub_issue_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -8741,7 +8749,7 @@ "name": "SubIssueRemovedEvent", "id": "subissueremovedevent", "href": "/graphql/reference/issues#object-subissueremovedevent", - "description": "

Represents asub_issue_removedevent on a given issue.

", + "description": "

Represents a sub_issue_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -8817,7 +8825,7 @@ "name": "SubscribedEvent", "id": "subscribedevent", "href": "/graphql/reference/issues#object-subscribedevent", - "description": "

Represents asubscribedevent on a given Subscribable.

", + "description": "

Represents a subscribed event on a given Subscribable.

", "isDeprecated": false, "implements": [ { @@ -8862,7 +8870,7 @@ "name": "TransferredEvent", "id": "transferredevent", "href": "/graphql/reference/issues#object-transferredevent", - "description": "

Represents atransferredevent on a given issue or pull request.

", + "description": "

Represents a transferred event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -8914,7 +8922,7 @@ "name": "UnassignedEvent", "id": "unassignedevent", "href": "/graphql/reference/issues#object-unassignedevent", - "description": "

Represents anunassignedevent on any assignable object.

", + "description": "

Represents an unassigned event on any assignable object.

", "isDeprecated": false, "implements": [ { @@ -8975,7 +8983,7 @@ "name": "UnlabeledEvent", "id": "unlabeledevent", "href": "/graphql/reference/issues#object-unlabeledevent", - "description": "

Represents anunlabeledevent on a given issue or pull request.

", + "description": "

Represents an unlabeled event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -9015,7 +9023,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with theunlabeledevent.

", + "description": "

Identifies the label associated with the unlabeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -9034,7 +9042,7 @@ "name": "UnlockedEvent", "id": "unlockedevent", "href": "/graphql/reference/issues#object-unlockedevent", - "description": "

Represents anunlockedevent on a given issue or pull request.

", + "description": "

Represents an unlocked event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -9079,7 +9087,7 @@ "name": "UnmarkedAsDuplicateEvent", "id": "unmarkedasduplicateevent", "href": "/graphql/reference/issues#object-unmarkedasduplicateevent", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -9138,7 +9146,7 @@ "name": "UnpinnedEvent", "id": "unpinnedevent", "href": "/graphql/reference/issues#object-unpinnedevent", - "description": "

Represents anunpinnedevent on a given issue or pull request.

", + "description": "

Represents an unpinned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -9183,7 +9191,7 @@ "name": "UnsubscribedEvent", "id": "unsubscribedevent", "href": "/graphql/reference/issues#object-unsubscribedevent", - "description": "

Represents anunsubscribedevent on a given Subscribable.

", + "description": "

Represents an unsubscribed event on a given Subscribable.

", "isDeprecated": false, "implements": [ { @@ -9716,6 +9724,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -10255,55 +10264,55 @@ "values": [ { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ADDED_TO_PROJECT_V2_EVENT", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

" + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_FROM_DRAFT_EVENT", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

" + "description": "

Represents a converted_from_draft event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -10311,11 +10320,11 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "ISSUE_COMMENT", @@ -10323,139 +10332,139 @@ }, { "name": "ISSUE_COMMENT_PINNED_EVENT", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

" + "description": "

Represents a issue_comment_pinned event on a given issue.

" }, { "name": "ISSUE_COMMENT_UNPINNED_EVENT", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

" + "description": "

Represents a issue_comment_unpinned event on a given issue.

" }, { "name": "ISSUE_FIELD_ADDED_EVENT", - "description": "

Represents aissue_field_addedevent on a given issue.

" + "description": "

Represents a issue_field_added event on a given issue.

" }, { "name": "ISSUE_FIELD_CHANGED_EVENT", - "description": "

Represents aissue_field_changedevent on a given issue.

" + "description": "

Represents a issue_field_changed event on a given issue.

" }, { "name": "ISSUE_FIELD_REMOVED_EVENT", - "description": "

Represents aissue_field_removedevent on a given issue.

" + "description": "

Represents a issue_field_removed event on a given issue.

" }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PROJECT_V2_ITEM_STATUS_CHANGED_EVENT", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

" + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_PROJECT_V2_EVENT", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

" + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "issues" diff --git a/src/graphql/data/fpt/schema-orgs.json b/src/graphql/data/fpt/schema-orgs.json index 2b3f7fca351b..14278b7855b5 100644 --- a/src/graphql/data/fpt/schema-orgs.json +++ b/src/graphql/data/fpt/schema-orgs.json @@ -6739,6 +6739,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the returned audit log entries.

", "type": { "name": "AuditLogOrder", @@ -6868,6 +6869,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -6929,6 +6931,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for enterprise owners returned from the connection.

", "type": { "name": "OrgEnterpriseOwnerOrder", @@ -7031,6 +7034,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for the returned vulnerabilities.

", "type": { "name": "SecurityVulnerabilityOrder", @@ -7117,6 +7121,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -7210,6 +7215,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue fields returned from the connection.

", "type": { "name": "IssueFieldOrder", @@ -7264,6 +7270,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -7325,6 +7332,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: SPONSOR_LOGIN, direction: ASC}", "description": "

Ordering options for results returned from the connection.

", "type": { "name": "SponsorAndLifetimeValueOrder", @@ -7402,6 +7410,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for mannequins returned from the connection.

", "type": { "name": "MannequinOrder", @@ -7456,6 +7465,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -7613,6 +7623,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -8026,6 +8037,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -8188,6 +8200,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -8424,6 +8437,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -8442,6 +8456,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -8496,6 +8511,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for repository migrations returned.

", "type": { "name": "RepositoryMigrationOrder", @@ -8681,6 +8697,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for the users and organizations returned from the connection.

", "type": { "name": "SponsorOrder", @@ -8735,6 +8752,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for sponsors returned from the connection.

", "type": { "name": "SponsorOrder", @@ -8762,6 +8780,7 @@ "arguments": [ { "name": "actions", + "defaultValue": "[]", "description": "

Filter activities to only the specified actions.

", "type": { "name": "[SponsorsActivityAction!]", @@ -8827,6 +8846,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: TIMESTAMP, direction: DESC}", "description": "

Ordering options for activity returned from the connection.

", "type": { "name": "SponsorsActivityOrder", @@ -8954,6 +8974,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for sponsorship updates returned from the connection.

", "type": { "name": "SponsorshipNewsletterOrder", @@ -9278,6 +9299,7 @@ }, { "name": "sponsorableLogins", + "defaultValue": "[]", "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", "type": { "name": "[String!]", diff --git a/src/graphql/data/fpt/schema-packages.json b/src/graphql/data/fpt/schema-packages.json index 05d1f325eb1b..9911b24f2394 100644 --- a/src/graphql/data/fpt/schema-packages.json +++ b/src/graphql/data/fpt/schema-packages.json @@ -153,6 +153,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageVersionOrder", @@ -479,6 +480,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering of the returned package files.

", "type": { "name": "PackageFileOrder", @@ -701,6 +703,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -774,19 +777,27 @@ }, { "name": "DOCKER", - "description": "

A docker image.

" + "description": "

A docker image.

", + "isDeprecated": true, + "deprecationReason": "

DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2021-06-21 UTC.

" }, { "name": "MAVEN", - "description": "

A maven package.

" + "description": "

A maven package.

", + "isDeprecated": true, + "deprecationReason": "

MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2023-02-10 UTC.

" }, { "name": "NPM", - "description": "

An npm package.

" + "description": "

An npm package.

", + "isDeprecated": true, + "deprecationReason": "

NPM will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "NUGET", - "description": "

A nuget package.

" + "description": "

A nuget package.

", + "isDeprecated": true, + "deprecationReason": "

NUGET will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "PYPI", @@ -794,7 +805,9 @@ }, { "name": "RUBYGEMS", - "description": "

A rubygems package.

" + "description": "

A rubygems package.

", + "isDeprecated": true, + "deprecationReason": "

RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-12-28 UTC.

" } ], "category": "packages" diff --git a/src/graphql/data/fpt/schema-projects-classic.json b/src/graphql/data/fpt/schema-projects-classic.json index d5fed054db23..f328b96a383f 100644 --- a/src/graphql/data/fpt/schema-projects-classic.json +++ b/src/graphql/data/fpt/schema-projects-classic.json @@ -550,7 +550,7 @@ "name": "AddedToProjectEvent", "id": "addedtoprojectevent", "href": "/graphql/reference/projects-classic#object-addedtoprojectevent", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

", + "description": "

Represents a added_to_project event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -624,7 +624,7 @@ "name": "MovedColumnsInProjectEvent", "id": "movedcolumnsinprojectevent", "href": "/graphql/reference/projects-classic#object-movedcolumnsinprojectevent", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

", + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -887,6 +887,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1220,6 +1221,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1539,7 +1541,7 @@ "name": "RemovedFromProjectEvent", "id": "removedfromprojectevent", "href": "/graphql/reference/projects-classic#object-removedfromprojectevent", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

", + "description": "

Represents a removed_from_project event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -1753,11 +1755,15 @@ "values": [ { "name": "ARCHIVED", - "description": "

A project card that is archived.

" + "description": "

A project card that is archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" }, { "name": "NOT_ARCHIVED", - "description": "

A project card that is not archived.

" + "description": "

A project card that is not archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" } ], "category": "projects-classic" @@ -1832,7 +1838,7 @@ "name": "ProjectState", "id": "projectstate", "href": "/graphql/reference/projects-classic#enum-projectstate", - "description": "

State of the project; eitheropenor 'closed'.

", + "description": "

State of the project; either open or 'closed'.

", "isDeprecated": false, "values": [ { diff --git a/src/graphql/data/fpt/schema-projects.json b/src/graphql/data/fpt/schema-projects.json index be0a4337d73a..b05ab337f94b 100644 --- a/src/graphql/data/fpt/schema-projects.json +++ b/src/graphql/data/fpt/schema-projects.json @@ -1044,7 +1044,7 @@ "name": "AddedToProjectV2Event", "id": "addedtoprojectv2event", "href": "/graphql/reference/projects#object-addedtoprojectv2event", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

", + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -1429,6 +1429,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -1470,6 +1471,7 @@ }, { "name": "archivedStates", + "defaultValue": "[NOT_ARCHIVED]", "description": "

Filter items by their archived state. Defaults to only returning items that are not archived.

", "type": { "name": "[ProjectV2ItemArchivedState!]", @@ -1506,6 +1508,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 items returned from the connection.

", "type": { "name": "ProjectV2ItemOrder", @@ -1598,6 +1601,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for repositories returned from the connection.

", "type": { "name": "RepositoryOrder", @@ -1666,6 +1670,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Order for connection.

", "type": { "name": "ProjectV2StatusOrder", @@ -1720,6 +1725,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for teams returned from this connection.

", "type": { "name": "TeamOrder", @@ -1841,6 +1847,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 views returned from the connection.

", "type": { "name": "ProjectV2ViewOrder", @@ -1913,6 +1920,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for project v2 workflows returned from the connection.

", "type": { "name": "ProjectV2WorkflowOrder", @@ -2296,7 +2304,7 @@ }, { "name": "fieldValueByName", - "description": "

The field value of the first project field which matches thenameargument that is set on the item.

", + "description": "

The field value of the first project field which matches the name argument that is set on the item.

", "type": "ProjectV2ItemFieldValue", "id": "projectv2itemfieldvalue", "href": "/graphql/reference/projects#union-projectv2itemfieldvalue", @@ -2357,6 +2365,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 item field values returned from the connection.

", "type": { "name": "ProjectV2ItemFieldValueOrder", @@ -2963,6 +2972,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -3402,7 +3412,7 @@ "name": "ProjectV2ItemStatusChangedEvent", "id": "projectv2itemstatuschangedevent", "href": "/graphql/reference/projects#object-projectv2itemstatuschangedevent", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

", + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -4360,6 +4370,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4428,6 +4439,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4484,6 +4496,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4672,6 +4685,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4728,6 +4742,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4782,6 +4797,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -5057,7 +5073,7 @@ "name": "RemovedFromProjectV2Event", "id": "removedfromprojectv2event", "href": "/graphql/reference/projects#object-removedfromprojectv2event", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

", + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -5348,6 +5364,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", diff --git a/src/graphql/data/fpt/schema-pulls.json b/src/graphql/data/fpt/schema-pulls.json index fc87b6686822..06990755d946 100644 --- a/src/graphql/data/fpt/schema-pulls.json +++ b/src/graphql/data/fpt/schema-pulls.json @@ -1224,7 +1224,7 @@ "name": "AddedToMergeQueueEvent", "id": "addedtomergequeueevent", "href": "/graphql/reference/pulls#object-addedtomergequeueevent", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

", + "description": "

Represents an added_to_merge_queue event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1283,7 +1283,7 @@ "name": "AddedToStackEvent", "id": "addedtostackevent", "href": "/graphql/reference/pulls#object-addedtostackevent", - "description": "

Represents anadded_to_stackevent on a given pull request.

", + "description": "

Represents an added_to_stack event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1342,7 +1342,7 @@ "name": "AutoMergeDisabledEvent", "id": "automergedisabledevent", "href": "/graphql/reference/pulls#object-automergedisabledevent", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

", + "description": "

Represents a auto_merge_disabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1408,7 +1408,7 @@ "name": "AutoMergeEnabledEvent", "id": "automergeenabledevent", "href": "/graphql/reference/pulls#object-automergeenabledevent", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

", + "description": "

Represents a auto_merge_enabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1519,7 +1519,7 @@ "name": "AutoRebaseEnabledEvent", "id": "autorebaseenabledevent", "href": "/graphql/reference/pulls#object-autorebaseenabledevent", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

", + "description": "

Represents a auto_rebase_enabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1571,7 +1571,7 @@ "name": "AutoSquashEnabledEvent", "id": "autosquashenabledevent", "href": "/graphql/reference/pulls#object-autosquashenabledevent", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

", + "description": "

Represents a auto_squash_enabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1623,7 +1623,7 @@ "name": "AutomaticBaseChangeFailedEvent", "id": "automaticbasechangefailedevent", "href": "/graphql/reference/pulls#object-automaticbasechangefailedevent", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

", + "description": "

Represents a automatic_base_change_failed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1682,7 +1682,7 @@ "name": "AutomaticBaseChangeSucceededEvent", "id": "automaticbasechangesucceededevent", "href": "/graphql/reference/pulls#object-automaticbasechangesucceededevent", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

", + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1741,7 +1741,7 @@ "name": "BaseRefChangedEvent", "id": "baserefchangedevent", "href": "/graphql/reference/pulls#object-baserefchangedevent", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

", + "description": "

Represents a base_ref_changed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -1807,7 +1807,7 @@ "name": "BaseRefDeletedEvent", "id": "baserefdeletedevent", "href": "/graphql/reference/pulls#object-baserefdeletedevent", - "description": "

Represents abase_ref_deletedevent on a given pull request.

", + "description": "

Represents a base_ref_deleted event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1859,7 +1859,7 @@ "name": "BaseRefForcePushedEvent", "id": "baserefforcepushedevent", "href": "/graphql/reference/pulls#object-baserefforcepushedevent", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a base_ref_force_pushed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1878,14 +1878,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -1913,7 +1913,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thebase_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the base_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -1925,7 +1925,7 @@ "name": "ConvertToDraftEvent", "id": "converttodraftevent", "href": "/graphql/reference/pulls#object-converttodraftevent", - "description": "

Represents aconvert_to_draftevent on a given pull request.

", + "description": "

Represents a convert_to_draft event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1989,7 +1989,7 @@ "name": "ConvertedFromDraftEvent", "id": "convertedfromdraftevent", "href": "/graphql/reference/pulls#object-convertedfromdraftevent", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

", + "description": "

Represents a converted_from_draft event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2094,7 +2094,7 @@ "name": "HeadRefDeletedEvent", "id": "headrefdeletedevent", "href": "/graphql/reference/pulls#object-headrefdeletedevent", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

", + "description": "

Represents a head_ref_deleted event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -2153,7 +2153,7 @@ "name": "HeadRefForcePushedEvent", "id": "headrefforcepushedevent", "href": "/graphql/reference/pulls#object-headrefforcepushedevent", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a head_ref_force_pushed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -2172,14 +2172,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -2207,7 +2207,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thehead_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the head_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -2219,7 +2219,7 @@ "name": "HeadRefRestoredEvent", "id": "headrefrestoredevent", "href": "/graphql/reference/pulls#object-headrefrestoredevent", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

", + "description": "

Represents a head_ref_restored event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -2647,7 +2647,7 @@ "name": "MergedEvent", "id": "mergedevent", "href": "/graphql/reference/pulls#object-mergedevent", - "description": "

Represents amergedevent on a given pull request.

", + "description": "

Represents a merged event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -3428,6 +3428,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -3705,6 +3706,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -3871,6 +3873,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -5097,6 +5100,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -6373,6 +6377,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -7257,7 +7262,7 @@ "name": "ReadyForReviewEvent", "id": "readyforreviewevent", "href": "/graphql/reference/pulls#object-readyforreviewevent", - "description": "

Represents aready_for_reviewevent on a given pull request.

", + "description": "

Represents a ready_for_review event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -7321,7 +7326,7 @@ "name": "RemovedFromMergeQueueEvent", "id": "removedfrommergequeueevent", "href": "/graphql/reference/pulls#object-removedfrommergequeueevent", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

", + "description": "

Represents a removed_from_merge_queue event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -7340,7 +7345,7 @@ }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for theremoved_from_merge_queueevent.

", + "description": "

Identifies the before commit SHA for the removed_from_merge_queue event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -7394,7 +7399,7 @@ "name": "RemovedFromStackEvent", "id": "removedfromstackevent", "href": "/graphql/reference/pulls#object-removedfromstackevent", - "description": "

Represents aremoved_from_stackevent on a given pull request.

", + "description": "

Represents a removed_from_stack event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -7544,7 +7549,7 @@ "name": "ReviewDismissedEvent", "id": "reviewdismissedevent", "href": "/graphql/reference/pulls#object-reviewdismissedevent", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

", + "description": "

Represents a review_dismissed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7582,7 +7587,7 @@ }, { "name": "dismissalMessage", - "description": "

Identifies the optional message associated with thereview_dismissedevent.

", + "description": "

Identifies the optional message associated with the review_dismissed event.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -7603,7 +7608,7 @@ }, { "name": "previousReviewState", - "description": "

Identifies the previous state of the review with thereview_dismissedevent.

", + "description": "

Identifies the previous state of the review with the review_dismissed event.

", "type": "PullRequestReviewState!", "id": "pullrequestreviewstate", "href": "/graphql/reference/pulls#enum-pullrequestreviewstate" @@ -7631,7 +7636,7 @@ }, { "name": "review", - "description": "

Identifies the review associated with thereview_dismissedevent.

", + "description": "

Identifies the review associated with the review_dismissed event.

", "type": "PullRequestReview", "id": "pullrequestreview", "href": "/graphql/reference/pulls#object-pullrequestreview" @@ -7762,7 +7767,7 @@ "name": "ReviewRequestRemovedEvent", "id": "reviewrequestremovedevent", "href": "/graphql/reference/pulls#object-reviewrequestremovedevent", - "description": "

Represents anreview_request_removedevent on a given pull request.

", + "description": "

Represents an review_request_removed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -7814,7 +7819,7 @@ "name": "ReviewRequestedEvent", "id": "reviewrequestedevent", "href": "/graphql/reference/pulls#object-reviewrequestedevent", - "description": "

Represents anreview_requestedevent on a given pull request.

", + "description": "

Represents an review_requested event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -8216,7 +8221,9 @@ }, { "name": "DRAFT", - "description": "

The merge is blocked due to the pull request being a draft.

" + "description": "

The merge is blocked due to the pull request being a draft.

", + "isDeprecated": true, + "deprecationReason": "

DRAFT state will be removed from this enum and isDraft should be used instead Use PullRequest.isDraft instead. Removal on 2021-01-01 UTC.

" }, { "name": "HAS_HOOKS", @@ -8553,107 +8560,107 @@ "values": [ { "name": "ADDED_TO_MERGE_QUEUE_EVENT", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

" + "description": "

Represents an added_to_merge_queue event on a given pull request.

" }, { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ADDED_TO_PROJECT_V2_EVENT", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

" + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

" }, { "name": "ADDED_TO_STACK_EVENT", - "description": "

Represents anadded_to_stackevent on a given pull request.

" + "description": "

Represents an added_to_stack event on a given pull request.

" }, { "name": "ARCHIVED_EVENT", - "description": "

Represents anarchivedevent on a given pull request.

" + "description": "

Represents an archived event on a given pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "AUTOMATIC_BASE_CHANGE_FAILED_EVENT", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

" + "description": "

Represents a automatic_base_change_failed event on a given pull request.

" }, { "name": "AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

" + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

" }, { "name": "AUTO_MERGE_DISABLED_EVENT", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

" + "description": "

Represents a auto_merge_disabled event on a given pull request.

" }, { "name": "AUTO_MERGE_ENABLED_EVENT", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

" + "description": "

Represents a auto_merge_enabled event on a given pull request.

" }, { "name": "AUTO_REBASE_ENABLED_EVENT", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

" + "description": "

Represents a auto_rebase_enabled event on a given pull request.

" }, { "name": "AUTO_SQUASH_ENABLED_EVENT", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

" + "description": "

Represents a auto_squash_enabled event on a given pull request.

" }, { "name": "BASE_REF_CHANGED_EVENT", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

" + "description": "

Represents a base_ref_changed event on a given issue or pull request.

" }, { "name": "BASE_REF_DELETED_EVENT", - "description": "

Represents abase_ref_deletedevent on a given pull request.

" + "description": "

Represents a base_ref_deleted event on a given pull request.

" }, { "name": "BASE_REF_FORCE_PUSHED_EVENT", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a base_ref_force_pushed event on a given pull request.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_FROM_DRAFT_EVENT", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

" + "description": "

Represents a converted_from_draft event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CONVERT_TO_DRAFT_EVENT", - "description": "

Represents aconvert_to_draftevent on a given pull request.

" + "description": "

Represents a convert_to_draft event on a given pull request.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -8661,31 +8668,31 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DEPLOYED_EVENT", - "description": "

Represents adeployedevent on a given pull request.

" + "description": "

Represents a deployed event on a given pull request.

" }, { "name": "DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

" + "description": "

Represents a deployment_environment_changed event on a given pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "HEAD_REF_DELETED_EVENT", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

" + "description": "

Represents a head_ref_deleted event on a given pull request.

" }, { "name": "HEAD_REF_FORCE_PUSHED_EVENT", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a head_ref_force_pushed event on a given pull request.

" }, { "name": "HEAD_REF_RESTORED_EVENT", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

" + "description": "

Represents a head_ref_restored event on a given pull request.

" }, { "name": "ISSUE_COMMENT", @@ -8693,79 +8700,79 @@ }, { "name": "ISSUE_COMMENT_PINNED_EVENT", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

" + "description": "

Represents a issue_comment_pinned event on a given issue.

" }, { "name": "ISSUE_COMMENT_UNPINNED_EVENT", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

" + "description": "

Represents a issue_comment_unpinned event on a given issue.

" }, { "name": "ISSUE_FIELD_ADDED_EVENT", - "description": "

Represents aissue_field_addedevent on a given issue.

" + "description": "

Represents a issue_field_added event on a given issue.

" }, { "name": "ISSUE_FIELD_CHANGED_EVENT", - "description": "

Represents aissue_field_changedevent on a given issue.

" + "description": "

Represents a issue_field_changed event on a given issue.

" }, { "name": "ISSUE_FIELD_REMOVED_EVENT", - "description": "

Represents aissue_field_removedevent on a given issue.

" + "description": "

Represents a issue_field_removed event on a given issue.

" }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MERGED_EVENT", - "description": "

Represents amergedevent on a given pull request.

" + "description": "

Represents a merged event on a given pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PROJECT_V2_ITEM_STATUS_CHANGED_EVENT", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

" + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

" }, { "name": "PULL_REQUEST_COMMIT", @@ -8789,95 +8796,95 @@ }, { "name": "READY_FOR_REVIEW_EVENT", - "description": "

Represents aready_for_reviewevent on a given pull request.

" + "description": "

Represents a ready_for_review event on a given pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_MERGE_QUEUE_EVENT", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

" + "description": "

Represents a removed_from_merge_queue event on a given pull request.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_PROJECT_V2_EVENT", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

" + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_STACK_EVENT", - "description": "

Represents aremoved_from_stackevent on a given pull request.

" + "description": "

Represents a removed_from_stack event on a given pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "REVIEW_DISMISSED_EVENT", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

" + "description": "

Represents a review_dismissed event on a given issue or pull request.

" }, { "name": "REVIEW_REQUESTED_EVENT", - "description": "

Represents anreview_requestedevent on a given pull request.

" + "description": "

Represents an review_requested event on a given pull request.

" }, { "name": "REVIEW_REQUEST_REMOVED_EVENT", - "description": "

Represents anreview_request_removedevent on a given pull request.

" + "description": "

Represents an review_request_removed event on a given pull request.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNARCHIVED_EVENT", - "description": "

Represents anunarchivedevent on a given pull request.

" + "description": "

Represents an unarchived event on a given pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "pulls" diff --git a/src/graphql/data/fpt/schema-repos.json b/src/graphql/data/fpt/schema-repos.json index fdd049200b5d..39973b625ce2 100644 --- a/src/graphql/data/fpt/schema-repos.json +++ b/src/graphql/data/fpt/schema-repos.json @@ -1001,7 +1001,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -3641,6 +3641,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -3818,6 +3819,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -3827,6 +3829,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -3906,6 +3909,7 @@ }, { "name": "names", + "defaultValue": "[]", "description": "

The names of the environments to be returned.

", "type": { "name": "[String!]", @@ -3915,6 +3919,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "Environments", @@ -4029,6 +4034,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -4294,6 +4300,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue fields returned from the connection.

", "type": { "name": "IssueFieldOrder", @@ -4391,6 +4398,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -4544,6 +4552,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -4936,6 +4945,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -5060,6 +5070,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "PinnedEnvironmentOrder", @@ -5309,6 +5320,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -8065,6 +8077,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -8652,6 +8665,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -9678,19 +9692,27 @@ "values": [ { "name": "NOT_RELEVANT", - "description": "

The suggested topic is not relevant to the repository.

" + "description": "

The suggested topic is not relevant to the repository.

", + "isDeprecated": true, + "deprecationReason": "

Suggested topics are no longer supported Removal on 2024-04-01 UTC.

" }, { "name": "PERSONAL_PREFERENCE", - "description": "

The viewer does not like the suggested topic.

" + "description": "

The viewer does not like the suggested topic.

", + "isDeprecated": true, + "deprecationReason": "

Suggested topics are no longer supported Removal on 2024-04-01 UTC.

" }, { "name": "TOO_GENERAL", - "description": "

The suggested topic is too general for the repository.

" + "description": "

The suggested topic is too general for the repository.

", + "isDeprecated": true, + "deprecationReason": "

Suggested topics are no longer supported Removal on 2024-04-01 UTC.

" }, { "name": "TOO_SPECIFIC", - "description": "

The suggested topic is too specific for the repository (e.g. #ruby-on-rails-version-4-2-1).

" + "description": "

The suggested topic is too specific for the repository (e.g. #ruby-on-rails-version-4-2-1).

", + "isDeprecated": true, + "deprecationReason": "

Suggested topics are no longer supported Removal on 2024-04-01 UTC.

" } ], "category": "repos" @@ -10547,7 +10569,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" diff --git a/src/graphql/data/fpt/schema-security-advisories.json b/src/graphql/data/fpt/schema-security-advisories.json index c3fda6561f6c..432cffb3ce9f 100644 --- a/src/graphql/data/fpt/schema-security-advisories.json +++ b/src/graphql/data/fpt/schema-security-advisories.json @@ -72,6 +72,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "type": "SecurityAdvisoryOrder", "id": "securityadvisoryorder", "href": "/graphql/reference/security-advisories#input-object-securityadvisoryorder", @@ -169,6 +170,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "type": "SecurityVulnerabilityOrder", "id": "securityvulnerabilityorder", "href": "/graphql/reference/security-advisories#input-object-securityvulnerabilityorder", @@ -648,6 +650,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for the returned topics.

", "type": { "name": "SecurityVulnerabilityOrder", diff --git a/src/graphql/data/fpt/schema-sponsors.json b/src/graphql/data/fpt/schema-sponsors.json index ea8a37a9e980..55e54564fe2c 100644 --- a/src/graphql/data/fpt/schema-sponsors.json +++ b/src/graphql/data/fpt/schema-sponsors.json @@ -59,6 +59,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "type": "SponsorableOrder", "id": "sponsorableorder", "href": "/graphql/reference/sponsors#input-object-sponsorableorder", @@ -848,6 +849,7 @@ "arguments": [ { "name": "featureableTypes", + "defaultValue": "[REPOSITORY, USER]", "description": "

The types of featured items to return.

", "type": { "name": "[SponsorsListingFeaturedItemFeatureableType!]", @@ -996,6 +998,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: MONTHLY_PRICE_IN_CENTS, direction: ASC}", "description": "

Ordering options for Sponsors tiers returned from the connection.

", "type": { "name": "SponsorsTierOrder", @@ -1808,6 +1811,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: SPONSOR_LOGIN, direction: ASC}", "description": "

Ordering options for results returned from the connection.

", "type": { "name": "SponsorAndLifetimeValueOrder", @@ -1869,6 +1873,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for the users and organizations returned from the connection.

", "type": { "name": "SponsorOrder", @@ -1923,6 +1928,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for sponsors returned from the connection.

", "type": { "name": "SponsorOrder", @@ -1950,6 +1956,7 @@ "arguments": [ { "name": "actions", + "defaultValue": "[]", "description": "

Filter activities to only the specified actions.

", "type": { "name": "[SponsorsActivityAction!]", @@ -2015,6 +2022,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: TIMESTAMP, direction: DESC}", "description": "

Ordering options for activity returned from the connection.

", "type": { "name": "SponsorsActivityOrder", @@ -2142,6 +2150,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for sponsorship updates returned from the connection.

", "type": { "name": "SponsorshipNewsletterOrder", @@ -2316,6 +2325,7 @@ }, { "name": "sponsorableLogins", + "defaultValue": "[]", "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", "type": { "name": "[String!]", @@ -3768,7 +3778,7 @@ }, { "name": "fiscalHostLogin", - "description": "

The username of the supported fiscal host's GitHub organization, if you want\nto receive sponsorship payouts through a fiscal host rather than directly to a\nbank account. For example,Open-Source-Collectivefor Open Source Collective\nor 'numfocus' for numFOCUS. Case insensitive. See https://docs.github.com/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts\nfor more information.

", + "description": "

The username of the supported fiscal host's GitHub organization, if you want\nto receive sponsorship payouts through a fiscal host rather than directly to a\nbank account. For example, Open-Source-Collective for Open Source Collective\nor numfocus for numFOCUS. Case insensitive. See https://docs.github.com/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts\nfor more information.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" diff --git a/src/graphql/data/fpt/schema-teams.json b/src/graphql/data/fpt/schema-teams.json index 7cbd92ae338f..5b68d31316a0 100644 --- a/src/graphql/data/fpt/schema-teams.json +++ b/src/graphql/data/fpt/schema-teams.json @@ -443,6 +443,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -642,6 +643,7 @@ }, { "name": "filterBy", + "defaultValue": "{}", "description": "

Filtering options for projects returned from this connection.

", "type": { "name": "ProjectV2Filters", @@ -679,6 +681,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -2311,7 +2314,7 @@ "name": "TeamMemberRole", "id": "teammemberrole", "href": "/graphql/reference/teams#enum-teammemberrole", - "description": "

The possible team member roles; eithermaintaineror 'member'.

", + "description": "

The possible team member roles; either maintainer or 'member'.

", "isDeprecated": false, "values": [ { diff --git a/src/graphql/data/fpt/schema-users.json b/src/graphql/data/fpt/schema-users.json index 20b7c5244865..dde2a23b8a67 100644 --- a/src/graphql/data/fpt/schema-users.json +++ b/src/graphql/data/fpt/schema-users.json @@ -739,6 +739,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -894,6 +895,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -987,6 +989,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -1070,6 +1073,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -2051,6 +2055,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for repositories.

", "type": { "name": "RepositoryOrder", @@ -3557,6 +3562,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the User's enterprises.

", "type": { "name": "EnterpriseOrder", @@ -4103,6 +4109,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: SPONSOR_LOGIN, direction: ASC}", "description": "

Ordering options for results returned from the connection.

", "type": { "name": "SponsorAndLifetimeValueOrder", @@ -4329,6 +4336,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4652,6 +4660,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4956,6 +4965,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5228,6 +5238,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -5246,6 +5257,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -5307,6 +5319,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

The field to order saved replies by.

", "type": { "name": "SavedReplyOrder", @@ -5406,6 +5419,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for the users and organizations returned from the connection.

", "type": { "name": "SponsorOrder", @@ -5460,6 +5474,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for sponsors returned from the connection.

", "type": { "name": "SponsorOrder", @@ -5487,6 +5502,7 @@ "arguments": [ { "name": "actions", + "defaultValue": "[]", "description": "

Filter activities to only the specified actions.

", "type": { "name": "[SponsorsActivityAction!]", @@ -5552,6 +5568,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: TIMESTAMP, direction: DESC}", "description": "

Ordering options for activity returned from the connection.

", "type": { "name": "SponsorsActivityOrder", @@ -5679,6 +5696,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for sponsorship updates returned from the connection.

", "type": { "name": "SponsorshipNewsletterOrder", @@ -5993,6 +6011,7 @@ }, { "name": "sponsorableLogins", + "defaultValue": "[]", "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", "type": { "name": "[String!]", @@ -6192,6 +6211,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -6233,7 +6253,7 @@ "name": "UserBlockedEvent", "id": "userblockedevent", "href": "/graphql/reference/users#object-userblockedevent", - "description": "

Represents auser_blockedevent on a given user.

", + "description": "

Represents a user_blocked event on a given user.

", "isDeprecated": false, "implements": [ { @@ -7131,6 +7151,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", diff --git a/src/graphql/data/ghec/schema-actions.json b/src/graphql/data/ghec/schema-actions.json index 2a7e17586ad3..897f7b79dc50 100644 --- a/src/graphql/data/ghec/schema-actions.json +++ b/src/graphql/data/ghec/schema-actions.json @@ -99,6 +99,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the connection.

", "type": { "name": "WorkflowRunOrder", diff --git a/src/graphql/data/ghec/schema-apps.json b/src/graphql/data/ghec/schema-apps.json index e49ccb185f13..a59161723875 100644 --- a/src/graphql/data/ghec/schema-apps.json +++ b/src/graphql/data/ghec/schema-apps.json @@ -271,6 +271,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", diff --git a/src/graphql/data/ghec/schema-commits.json b/src/graphql/data/ghec/schema-commits.json index c517be6cb3bc..a697859f2f73 100644 --- a/src/graphql/data/ghec/schema-commits.json +++ b/src/graphql/data/ghec/schema-commits.json @@ -129,6 +129,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -433,6 +434,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -1449,6 +1451,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: OCCURRED_AT, direction: DESC}", "description": "

Ordering options for commit contributions returned from the connection.

", "type": { "name": "CommitContributionOrder", diff --git a/src/graphql/data/ghec/schema-deployments.json b/src/graphql/data/ghec/schema-deployments.json index c6a8836db4ad..b8836596848f 100644 --- a/src/graphql/data/ghec/schema-deployments.json +++ b/src/graphql/data/ghec/schema-deployments.json @@ -326,7 +326,7 @@ "name": "DeployedEvent", "id": "deployedevent", "href": "/graphql/reference/deployments#object-deployedevent", - "description": "

Represents adeployedevent on a given pull request.

", + "description": "

Represents a deployed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -359,7 +359,7 @@ }, { "name": "deployment", - "description": "

The deployment associated with thedeployedevent.

", + "description": "

The deployment associated with the deployed event.

", "type": "Deployment!", "id": "deployment", "href": "/graphql/reference/deployments#object-deployment" @@ -380,7 +380,7 @@ }, { "name": "ref", - "description": "

The ref associated with thedeployedevent.

", + "description": "

The ref associated with the deployed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -633,7 +633,7 @@ "name": "DeploymentEnvironmentChangedEvent", "id": "deploymentenvironmentchangedevent", "href": "/graphql/reference/deployments#object-deploymentenvironmentchangedevent", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

", + "description": "

Represents a deployment_environment_changed event on a given pull request.

", "isDeprecated": false, "implements": [ { diff --git a/src/graphql/data/ghec/schema-discussions.json b/src/graphql/data/ghec/schema-discussions.json index 008909b2d427..b0bf1de3e549 100644 --- a/src/graphql/data/ghec/schema-discussions.json +++ b/src/graphql/data/ghec/schema-discussions.json @@ -705,6 +705,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -1788,6 +1789,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: AUTHORED_ORDER, direction: ASC}", "description": "

How to order the options for the discussion poll.

", "type": { "name": "DiscussionPollOptionOrder", @@ -2155,6 +2157,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -2173,6 +2176,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", diff --git a/src/graphql/data/ghec/schema-enterprise-admin.json b/src/graphql/data/ghec/schema-enterprise-admin.json index 2df44d085839..326db77485bf 100644 --- a/src/graphql/data/ghec/schema-enterprise-admin.json +++ b/src/graphql/data/ghec/schema-enterprise-admin.json @@ -1903,6 +1903,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ID, direction: ASC}", "description": "

Ordering options for enterprise teams returned from the connection.

", "type": { "name": "EnterpriseTeamOrder", @@ -1991,6 +1992,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for the returned vulnerabilities.

", "type": { "name": "SecurityVulnerabilityOrder", @@ -2088,6 +2090,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for members returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -2185,6 +2188,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", @@ -2439,6 +2443,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for repositories returned from the connection.

", "type": { "name": "RepositoryOrder", @@ -3127,6 +3132,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for administrators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -3276,6 +3282,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3353,6 +3360,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3434,6 +3442,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -3498,6 +3507,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: HOST_NAME, direction: ASC}", "description": "

Ordering options for Enterprise Server installations returned.

", "type": { "name": "EnterpriseServerInstallationOrder", @@ -3613,6 +3623,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -3702,6 +3713,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3793,6 +3805,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3863,6 +3876,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3933,6 +3947,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4003,6 +4018,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4080,6 +4096,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4150,6 +4167,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4234,6 +4252,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4315,6 +4334,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for outside collaborators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -4405,6 +4425,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending enterprise administrator invitations returned from the connection.

", "type": { "name": "EnterpriseAdministratorInvitationOrder", @@ -4477,6 +4498,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending repository collaborator invitations returned from the connection.

", "type": { "name": "RepositoryInvitationOrder", @@ -4612,6 +4634,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending enterprise member invitations returned from the connection.

", "type": { "name": "EnterpriseMemberInvitationOrder", @@ -4682,6 +4705,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4752,6 +4776,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4822,6 +4847,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4885,6 +4911,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for support entitlement users returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -4962,6 +4989,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -5189,6 +5217,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for Enterprise Server user accounts returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountOrder", @@ -5243,6 +5272,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for Enterprise Server user accounts uploads returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountsUploadOrder", @@ -5448,6 +5478,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: EMAIL, direction: ASC}", "description": "

Ordering options for Enterprise Server user account emails returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountEmailOrder", @@ -5885,6 +5916,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ID, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "EnterpriseTeamOrganizationOrder", @@ -5967,6 +5999,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ID, direction: ASC}", "description": "

Order for the connection.

", "type": { "name": "EnterpriseTeamMemberOrder", @@ -6214,6 +6247,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: HOST_NAME, direction: ASC}", "description": "

Ordering options for installations returned from the connection.

", "type": { "name": "EnterpriseServerInstallationOrder", @@ -6307,6 +6341,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", diff --git a/src/graphql/data/ghec/schema-git.json b/src/graphql/data/ghec/schema-git.json index 546a3f92b287..e0243452e304 100644 --- a/src/graphql/data/ghec/schema-git.json +++ b/src/graphql/data/ghec/schema-git.json @@ -727,6 +727,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for repository rules.

", "type": { "name": "RepositoryRuleOrder", diff --git a/src/graphql/data/ghec/schema-issues.json b/src/graphql/data/ghec/schema-issues.json index 071f422db655..df9c24df4a2e 100644 --- a/src/graphql/data/ghec/schema-issues.json +++ b/src/graphql/data/ghec/schema-issues.json @@ -1743,7 +1743,7 @@ "name": "AssignedEvent", "id": "assignedevent", "href": "/graphql/reference/issues#object-assignedevent", - "description": "

Represents anassignedevent on any assignable object.

", + "description": "

Represents an assigned event on any assignable object.

", "isDeprecated": false, "implements": [ { @@ -1871,7 +1871,7 @@ "name": "BlockedByAddedEvent", "id": "blockedbyaddedevent", "href": "/graphql/reference/issues#object-blockedbyaddedevent", - "description": "

Represents ablocked_by_addedevent on a given issue.

", + "description": "

Represents a blocked_by_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -1916,7 +1916,7 @@ "name": "BlockedByRemovedEvent", "id": "blockedbyremovedevent", "href": "/graphql/reference/issues#object-blockedbyremovedevent", - "description": "

Represents ablocked_by_removedevent on a given issue.

", + "description": "

Represents a blocked_by_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -1961,7 +1961,7 @@ "name": "BlockingAddedEvent", "id": "blockingaddedevent", "href": "/graphql/reference/issues#object-blockingaddedevent", - "description": "

Represents ablocking_addedevent on a given issue.

", + "description": "

Represents a blocking_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -2006,7 +2006,7 @@ "name": "BlockingRemovedEvent", "id": "blockingremovedevent", "href": "/graphql/reference/issues#object-blockingremovedevent", - "description": "

Represents ablocking_removedevent on a given issue.

", + "description": "

Represents a blocking_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -2051,7 +2051,7 @@ "name": "ClosedEvent", "id": "closedevent", "href": "/graphql/reference/issues#object-closedevent", - "description": "

Represents aclosedevent on any Closable.

", + "description": "

Represents a closed event on any Closable.

", "isDeprecated": false, "implements": [ { @@ -2143,7 +2143,7 @@ "name": "CommentDeletedEvent", "id": "commentdeletedevent", "href": "/graphql/reference/issues#object-commentdeletedevent", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

", + "description": "

Represents a comment_deleted event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2195,7 +2195,7 @@ "name": "ConnectedEvent", "id": "connectedevent", "href": "/graphql/reference/issues#object-connectedevent", - "description": "

Represents aconnectedevent on a given issue or pull request.

", + "description": "

Represents a connected event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2254,7 +2254,7 @@ "name": "ConvertedNoteToIssueEvent", "id": "convertednotetoissueevent", "href": "/graphql/reference/issues#object-convertednotetoissueevent", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

", + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2324,7 +2324,7 @@ "name": "ConvertedToDiscussionEvent", "id": "convertedtodiscussionevent", "href": "/graphql/reference/issues#object-convertedtodiscussionevent", - "description": "

Represents aconverted_to_discussionevent on a given issue.

", + "description": "

Represents a converted_to_discussion event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -2461,7 +2461,7 @@ "name": "DemilestonedEvent", "id": "demilestonedevent", "href": "/graphql/reference/issues#object-demilestonedevent", - "description": "

Represents ademilestonedevent on a given issue or pull request.

", + "description": "

Represents a demilestoned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2494,7 +2494,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with thedemilestonedevent.

", + "description": "

Identifies the milestone title associated with the demilestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -2513,7 +2513,7 @@ "name": "DisconnectedEvent", "id": "disconnectedevent", "href": "/graphql/reference/issues#object-disconnectedevent", - "description": "

Represents adisconnectedevent on a given issue or pull request.

", + "description": "

Represents a disconnected event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2808,6 +2808,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -2862,6 +2863,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -3252,6 +3254,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -3418,6 +3421,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -3584,6 +3588,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -3724,6 +3729,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELATES_TO_ADDED_AT, direction: DESC}", "description": "

Ordering options for related issues.

", "type": { "name": "IssueRelatesToOrder", @@ -4784,7 +4790,7 @@ "name": "IssueCommentPinnedEvent", "id": "issuecommentpinnedevent", "href": "/graphql/reference/issues#object-issuecommentpinnedevent", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

", + "description": "

Represents a issue_comment_pinned event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -4817,7 +4823,7 @@ }, { "name": "issueComment", - "description": "

Identifies the issue comment associated with theissue_comment_pinnedevent.

", + "description": "

Identifies the issue comment associated with the issue_comment_pinned event.

", "type": "IssueComment", "id": "issuecomment", "href": "/graphql/reference/issues#object-issuecomment" @@ -4829,7 +4835,7 @@ "name": "IssueCommentUnpinnedEvent", "id": "issuecommentunpinnedevent", "href": "/graphql/reference/issues#object-issuecommentunpinnedevent", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

", + "description": "

Represents a issue_comment_unpinned event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -4862,7 +4868,7 @@ }, { "name": "issueComment", - "description": "

Identifies the issue comment associated with theissue_comment_unpinnedevent.

", + "description": "

Identifies the issue comment associated with the issue_comment_unpinned event.

", "type": "IssueComment", "id": "issuecomment", "href": "/graphql/reference/issues#object-issuecomment" @@ -4959,6 +4965,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -5043,7 +5050,7 @@ "name": "IssueFieldAddedEvent", "id": "issuefieldaddedevent", "href": "/graphql/reference/issues#object-issuefieldaddedevent", - "description": "

Represents aissue_field_addedevent on a given issue.

", + "description": "

Represents a issue_field_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -5116,7 +5123,7 @@ "name": "IssueFieldChangedEvent", "id": "issuefieldchangedevent", "href": "/graphql/reference/issues#object-issuefieldchangedevent", - "description": "

Represents aissue_field_changedevent on a given issue.

", + "description": "

Represents a issue_field_changed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -5566,7 +5573,7 @@ "name": "IssueFieldRemovedEvent", "id": "issuefieldremovedevent", "href": "/graphql/reference/issues#object-issuefieldremovedevent", - "description": "

Represents aissue_field_removedevent on a given issue.

", + "description": "

Represents a issue_field_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -6212,6 +6219,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -6548,7 +6556,7 @@ "name": "IssueTypeAddedEvent", "id": "issuetypeaddedevent", "href": "/graphql/reference/issues#object-issuetypeaddedevent", - "description": "

Represents aissue_type_addedevent on a given issue.

", + "description": "

Represents a issue_type_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -6600,7 +6608,7 @@ "name": "IssueTypeChangedEvent", "id": "issuetypechangedevent", "href": "/graphql/reference/issues#object-issuetypechangedevent", - "description": "

Represents aissue_type_changedevent on a given issue.

", + "description": "

Represents a issue_type_changed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -6719,7 +6727,7 @@ "name": "IssueTypeRemovedEvent", "id": "issuetyperemovedevent", "href": "/graphql/reference/issues#object-issuetyperemovedevent", - "description": "

Represents aissue_type_removedevent on a given issue.

", + "description": "

Represents a issue_type_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -7127,7 +7135,7 @@ "name": "LabeledEvent", "id": "labeledevent", "href": "/graphql/reference/issues#object-labeledevent", - "description": "

Represents alabeledevent on a given issue or pull request.

", + "description": "

Represents a labeled event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7167,7 +7175,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with thelabeledevent.

", + "description": "

Identifies the label associated with the labeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -7277,7 +7285,7 @@ "name": "LockedEvent", "id": "lockedevent", "href": "/graphql/reference/issues#object-lockedevent", - "description": "

Represents alockedevent on a given issue or pull request.

", + "description": "

Represents a locked event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7329,7 +7337,7 @@ "name": "MarkedAsDuplicateEvent", "id": "markedasduplicateevent", "href": "/graphql/reference/issues#object-markedasduplicateevent", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7388,7 +7396,7 @@ "name": "MentionedEvent", "id": "mentionedevent", "href": "/graphql/reference/issues#object-mentionedevent", - "description": "

Represents amentionedevent on a given issue or pull request.

", + "description": "

Represents a mentioned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7831,7 +7839,7 @@ "name": "MilestonedEvent", "id": "milestonedevent", "href": "/graphql/reference/issues#object-milestonedevent", - "description": "

Represents amilestonedevent on a given issue or pull request.

", + "description": "

Represents a milestoned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7864,7 +7872,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with themilestonedevent.

", + "description": "

Identifies the milestone title associated with the milestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -7883,7 +7891,7 @@ "name": "ParentIssueAddedEvent", "id": "parentissueaddedevent", "href": "/graphql/reference/issues#object-parentissueaddedevent", - "description": "

Represents aparent_issue_addedevent on a given issue.

", + "description": "

Represents a parent_issue_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -7928,7 +7936,7 @@ "name": "ParentIssueRemovedEvent", "id": "parentissueremovedevent", "href": "/graphql/reference/issues#object-parentissueremovedevent", - "description": "

Represents aparent_issue_removedevent on a given issue.

", + "description": "

Represents a parent_issue_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -8282,7 +8290,7 @@ "name": "PinnedEvent", "id": "pinnedevent", "href": "/graphql/reference/issues#object-pinnedevent", - "description": "

Represents apinnedevent on a given issue or pull request.

", + "description": "

Represents a pinned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -8512,7 +8520,7 @@ "name": "ReferencedEvent", "id": "referencedevent", "href": "/graphql/reference/issues#object-referencedevent", - "description": "

Represents areferencedevent on a given ReferencedSubject.

", + "description": "

Represents a referenced event on a given ReferencedSubject.

", "isDeprecated": false, "implements": [ { @@ -8531,14 +8539,14 @@ }, { "name": "commit", - "description": "

Identifies the commit associated with thereferencedevent.

", + "description": "

Identifies the commit associated with the referenced event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "commitRepository", - "description": "

Identifies the repository associated with thereferencedevent.

", + "description": "

Identifies the repository associated with the referenced event.

", "type": "Repository!", "id": "repository", "href": "/graphql/reference/repos#object-repository" @@ -8585,7 +8593,7 @@ "name": "RenamedTitleEvent", "id": "renamedtitleevent", "href": "/graphql/reference/issues#object-renamedtitleevent", - "description": "

Represents arenamedevent on a given issue or pull request.

", + "description": "

Represents a renamed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -8644,7 +8652,7 @@ "name": "ReopenedEvent", "id": "reopenedevent", "href": "/graphql/reference/issues#object-reopenedevent", - "description": "

Represents areopenedevent on any Closable.

", + "description": "

Represents a reopened event on any Closable.

", "isDeprecated": false, "implements": [ { @@ -8696,7 +8704,7 @@ "name": "SubIssueAddedEvent", "id": "subissueaddedevent", "href": "/graphql/reference/issues#object-subissueaddedevent", - "description": "

Represents asub_issue_addedevent on a given issue.

", + "description": "

Represents a sub_issue_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -8741,7 +8749,7 @@ "name": "SubIssueRemovedEvent", "id": "subissueremovedevent", "href": "/graphql/reference/issues#object-subissueremovedevent", - "description": "

Represents asub_issue_removedevent on a given issue.

", + "description": "

Represents a sub_issue_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -8817,7 +8825,7 @@ "name": "SubscribedEvent", "id": "subscribedevent", "href": "/graphql/reference/issues#object-subscribedevent", - "description": "

Represents asubscribedevent on a given Subscribable.

", + "description": "

Represents a subscribed event on a given Subscribable.

", "isDeprecated": false, "implements": [ { @@ -8862,7 +8870,7 @@ "name": "TransferredEvent", "id": "transferredevent", "href": "/graphql/reference/issues#object-transferredevent", - "description": "

Represents atransferredevent on a given issue or pull request.

", + "description": "

Represents a transferred event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -8914,7 +8922,7 @@ "name": "UnassignedEvent", "id": "unassignedevent", "href": "/graphql/reference/issues#object-unassignedevent", - "description": "

Represents anunassignedevent on any assignable object.

", + "description": "

Represents an unassigned event on any assignable object.

", "isDeprecated": false, "implements": [ { @@ -8975,7 +8983,7 @@ "name": "UnlabeledEvent", "id": "unlabeledevent", "href": "/graphql/reference/issues#object-unlabeledevent", - "description": "

Represents anunlabeledevent on a given issue or pull request.

", + "description": "

Represents an unlabeled event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -9015,7 +9023,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with theunlabeledevent.

", + "description": "

Identifies the label associated with the unlabeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -9034,7 +9042,7 @@ "name": "UnlockedEvent", "id": "unlockedevent", "href": "/graphql/reference/issues#object-unlockedevent", - "description": "

Represents anunlockedevent on a given issue or pull request.

", + "description": "

Represents an unlocked event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -9079,7 +9087,7 @@ "name": "UnmarkedAsDuplicateEvent", "id": "unmarkedasduplicateevent", "href": "/graphql/reference/issues#object-unmarkedasduplicateevent", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -9138,7 +9146,7 @@ "name": "UnpinnedEvent", "id": "unpinnedevent", "href": "/graphql/reference/issues#object-unpinnedevent", - "description": "

Represents anunpinnedevent on a given issue or pull request.

", + "description": "

Represents an unpinned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -9183,7 +9191,7 @@ "name": "UnsubscribedEvent", "id": "unsubscribedevent", "href": "/graphql/reference/issues#object-unsubscribedevent", - "description": "

Represents anunsubscribedevent on a given Subscribable.

", + "description": "

Represents an unsubscribed event on a given Subscribable.

", "isDeprecated": false, "implements": [ { @@ -9716,6 +9724,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -10255,55 +10264,55 @@ "values": [ { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ADDED_TO_PROJECT_V2_EVENT", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

" + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_FROM_DRAFT_EVENT", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

" + "description": "

Represents a converted_from_draft event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -10311,11 +10320,11 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "ISSUE_COMMENT", @@ -10323,139 +10332,139 @@ }, { "name": "ISSUE_COMMENT_PINNED_EVENT", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

" + "description": "

Represents a issue_comment_pinned event on a given issue.

" }, { "name": "ISSUE_COMMENT_UNPINNED_EVENT", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

" + "description": "

Represents a issue_comment_unpinned event on a given issue.

" }, { "name": "ISSUE_FIELD_ADDED_EVENT", - "description": "

Represents aissue_field_addedevent on a given issue.

" + "description": "

Represents a issue_field_added event on a given issue.

" }, { "name": "ISSUE_FIELD_CHANGED_EVENT", - "description": "

Represents aissue_field_changedevent on a given issue.

" + "description": "

Represents a issue_field_changed event on a given issue.

" }, { "name": "ISSUE_FIELD_REMOVED_EVENT", - "description": "

Represents aissue_field_removedevent on a given issue.

" + "description": "

Represents a issue_field_removed event on a given issue.

" }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PROJECT_V2_ITEM_STATUS_CHANGED_EVENT", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

" + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_PROJECT_V2_EVENT", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

" + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "issues" diff --git a/src/graphql/data/ghec/schema-orgs.json b/src/graphql/data/ghec/schema-orgs.json index 2b3f7fca351b..14278b7855b5 100644 --- a/src/graphql/data/ghec/schema-orgs.json +++ b/src/graphql/data/ghec/schema-orgs.json @@ -6739,6 +6739,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the returned audit log entries.

", "type": { "name": "AuditLogOrder", @@ -6868,6 +6869,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -6929,6 +6931,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for enterprise owners returned from the connection.

", "type": { "name": "OrgEnterpriseOwnerOrder", @@ -7031,6 +7034,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for the returned vulnerabilities.

", "type": { "name": "SecurityVulnerabilityOrder", @@ -7117,6 +7121,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -7210,6 +7215,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue fields returned from the connection.

", "type": { "name": "IssueFieldOrder", @@ -7264,6 +7270,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -7325,6 +7332,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: SPONSOR_LOGIN, direction: ASC}", "description": "

Ordering options for results returned from the connection.

", "type": { "name": "SponsorAndLifetimeValueOrder", @@ -7402,6 +7410,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for mannequins returned from the connection.

", "type": { "name": "MannequinOrder", @@ -7456,6 +7465,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -7613,6 +7623,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -8026,6 +8037,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -8188,6 +8200,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -8424,6 +8437,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -8442,6 +8456,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -8496,6 +8511,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for repository migrations returned.

", "type": { "name": "RepositoryMigrationOrder", @@ -8681,6 +8697,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for the users and organizations returned from the connection.

", "type": { "name": "SponsorOrder", @@ -8735,6 +8752,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for sponsors returned from the connection.

", "type": { "name": "SponsorOrder", @@ -8762,6 +8780,7 @@ "arguments": [ { "name": "actions", + "defaultValue": "[]", "description": "

Filter activities to only the specified actions.

", "type": { "name": "[SponsorsActivityAction!]", @@ -8827,6 +8846,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: TIMESTAMP, direction: DESC}", "description": "

Ordering options for activity returned from the connection.

", "type": { "name": "SponsorsActivityOrder", @@ -8954,6 +8974,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for sponsorship updates returned from the connection.

", "type": { "name": "SponsorshipNewsletterOrder", @@ -9278,6 +9299,7 @@ }, { "name": "sponsorableLogins", + "defaultValue": "[]", "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", "type": { "name": "[String!]", diff --git a/src/graphql/data/ghec/schema-packages.json b/src/graphql/data/ghec/schema-packages.json index 05d1f325eb1b..9911b24f2394 100644 --- a/src/graphql/data/ghec/schema-packages.json +++ b/src/graphql/data/ghec/schema-packages.json @@ -153,6 +153,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageVersionOrder", @@ -479,6 +480,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering of the returned package files.

", "type": { "name": "PackageFileOrder", @@ -701,6 +703,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -774,19 +777,27 @@ }, { "name": "DOCKER", - "description": "

A docker image.

" + "description": "

A docker image.

", + "isDeprecated": true, + "deprecationReason": "

DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2021-06-21 UTC.

" }, { "name": "MAVEN", - "description": "

A maven package.

" + "description": "

A maven package.

", + "isDeprecated": true, + "deprecationReason": "

MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2023-02-10 UTC.

" }, { "name": "NPM", - "description": "

An npm package.

" + "description": "

An npm package.

", + "isDeprecated": true, + "deprecationReason": "

NPM will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "NUGET", - "description": "

A nuget package.

" + "description": "

A nuget package.

", + "isDeprecated": true, + "deprecationReason": "

NUGET will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "PYPI", @@ -794,7 +805,9 @@ }, { "name": "RUBYGEMS", - "description": "

A rubygems package.

" + "description": "

A rubygems package.

", + "isDeprecated": true, + "deprecationReason": "

RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-12-28 UTC.

" } ], "category": "packages" diff --git a/src/graphql/data/ghec/schema-projects-classic.json b/src/graphql/data/ghec/schema-projects-classic.json index d5fed054db23..f328b96a383f 100644 --- a/src/graphql/data/ghec/schema-projects-classic.json +++ b/src/graphql/data/ghec/schema-projects-classic.json @@ -550,7 +550,7 @@ "name": "AddedToProjectEvent", "id": "addedtoprojectevent", "href": "/graphql/reference/projects-classic#object-addedtoprojectevent", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

", + "description": "

Represents a added_to_project event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -624,7 +624,7 @@ "name": "MovedColumnsInProjectEvent", "id": "movedcolumnsinprojectevent", "href": "/graphql/reference/projects-classic#object-movedcolumnsinprojectevent", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

", + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -887,6 +887,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1220,6 +1221,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1539,7 +1541,7 @@ "name": "RemovedFromProjectEvent", "id": "removedfromprojectevent", "href": "/graphql/reference/projects-classic#object-removedfromprojectevent", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

", + "description": "

Represents a removed_from_project event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -1753,11 +1755,15 @@ "values": [ { "name": "ARCHIVED", - "description": "

A project card that is archived.

" + "description": "

A project card that is archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" }, { "name": "NOT_ARCHIVED", - "description": "

A project card that is not archived.

" + "description": "

A project card that is not archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" } ], "category": "projects-classic" @@ -1832,7 +1838,7 @@ "name": "ProjectState", "id": "projectstate", "href": "/graphql/reference/projects-classic#enum-projectstate", - "description": "

State of the project; eitheropenor 'closed'.

", + "description": "

State of the project; either open or 'closed'.

", "isDeprecated": false, "values": [ { diff --git a/src/graphql/data/ghec/schema-projects.json b/src/graphql/data/ghec/schema-projects.json index be0a4337d73a..b05ab337f94b 100644 --- a/src/graphql/data/ghec/schema-projects.json +++ b/src/graphql/data/ghec/schema-projects.json @@ -1044,7 +1044,7 @@ "name": "AddedToProjectV2Event", "id": "addedtoprojectv2event", "href": "/graphql/reference/projects#object-addedtoprojectv2event", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

", + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -1429,6 +1429,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -1470,6 +1471,7 @@ }, { "name": "archivedStates", + "defaultValue": "[NOT_ARCHIVED]", "description": "

Filter items by their archived state. Defaults to only returning items that are not archived.

", "type": { "name": "[ProjectV2ItemArchivedState!]", @@ -1506,6 +1508,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 items returned from the connection.

", "type": { "name": "ProjectV2ItemOrder", @@ -1598,6 +1601,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for repositories returned from the connection.

", "type": { "name": "RepositoryOrder", @@ -1666,6 +1670,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Order for connection.

", "type": { "name": "ProjectV2StatusOrder", @@ -1720,6 +1725,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for teams returned from this connection.

", "type": { "name": "TeamOrder", @@ -1841,6 +1847,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 views returned from the connection.

", "type": { "name": "ProjectV2ViewOrder", @@ -1913,6 +1920,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for project v2 workflows returned from the connection.

", "type": { "name": "ProjectV2WorkflowOrder", @@ -2296,7 +2304,7 @@ }, { "name": "fieldValueByName", - "description": "

The field value of the first project field which matches thenameargument that is set on the item.

", + "description": "

The field value of the first project field which matches the name argument that is set on the item.

", "type": "ProjectV2ItemFieldValue", "id": "projectv2itemfieldvalue", "href": "/graphql/reference/projects#union-projectv2itemfieldvalue", @@ -2357,6 +2365,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 item field values returned from the connection.

", "type": { "name": "ProjectV2ItemFieldValueOrder", @@ -2963,6 +2972,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -3402,7 +3412,7 @@ "name": "ProjectV2ItemStatusChangedEvent", "id": "projectv2itemstatuschangedevent", "href": "/graphql/reference/projects#object-projectv2itemstatuschangedevent", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

", + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -4360,6 +4370,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4428,6 +4439,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4484,6 +4496,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4672,6 +4685,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4728,6 +4742,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4782,6 +4797,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -5057,7 +5073,7 @@ "name": "RemovedFromProjectV2Event", "id": "removedfromprojectv2event", "href": "/graphql/reference/projects#object-removedfromprojectv2event", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

", + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -5348,6 +5364,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", diff --git a/src/graphql/data/ghec/schema-pulls.json b/src/graphql/data/ghec/schema-pulls.json index 50a09d16e35e..a75b07669bd0 100644 --- a/src/graphql/data/ghec/schema-pulls.json +++ b/src/graphql/data/ghec/schema-pulls.json @@ -1224,7 +1224,7 @@ "name": "AddedToMergeQueueEvent", "id": "addedtomergequeueevent", "href": "/graphql/reference/pulls#object-addedtomergequeueevent", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

", + "description": "

Represents an added_to_merge_queue event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1283,7 +1283,7 @@ "name": "AddedToStackEvent", "id": "addedtostackevent", "href": "/graphql/reference/pulls#object-addedtostackevent", - "description": "

Represents anadded_to_stackevent on a given pull request.

", + "description": "

Represents an added_to_stack event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1342,7 +1342,7 @@ "name": "AutoMergeDisabledEvent", "id": "automergedisabledevent", "href": "/graphql/reference/pulls#object-automergedisabledevent", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

", + "description": "

Represents a auto_merge_disabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1408,7 +1408,7 @@ "name": "AutoMergeEnabledEvent", "id": "automergeenabledevent", "href": "/graphql/reference/pulls#object-automergeenabledevent", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

", + "description": "

Represents a auto_merge_enabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1519,7 +1519,7 @@ "name": "AutoRebaseEnabledEvent", "id": "autorebaseenabledevent", "href": "/graphql/reference/pulls#object-autorebaseenabledevent", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

", + "description": "

Represents a auto_rebase_enabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1571,7 +1571,7 @@ "name": "AutoSquashEnabledEvent", "id": "autosquashenabledevent", "href": "/graphql/reference/pulls#object-autosquashenabledevent", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

", + "description": "

Represents a auto_squash_enabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1623,7 +1623,7 @@ "name": "AutomaticBaseChangeFailedEvent", "id": "automaticbasechangefailedevent", "href": "/graphql/reference/pulls#object-automaticbasechangefailedevent", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

", + "description": "

Represents a automatic_base_change_failed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1682,7 +1682,7 @@ "name": "AutomaticBaseChangeSucceededEvent", "id": "automaticbasechangesucceededevent", "href": "/graphql/reference/pulls#object-automaticbasechangesucceededevent", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

", + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1741,7 +1741,7 @@ "name": "BaseRefChangedEvent", "id": "baserefchangedevent", "href": "/graphql/reference/pulls#object-baserefchangedevent", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

", + "description": "

Represents a base_ref_changed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -1807,7 +1807,7 @@ "name": "BaseRefDeletedEvent", "id": "baserefdeletedevent", "href": "/graphql/reference/pulls#object-baserefdeletedevent", - "description": "

Represents abase_ref_deletedevent on a given pull request.

", + "description": "

Represents a base_ref_deleted event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1859,7 +1859,7 @@ "name": "BaseRefForcePushedEvent", "id": "baserefforcepushedevent", "href": "/graphql/reference/pulls#object-baserefforcepushedevent", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a base_ref_force_pushed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1878,14 +1878,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -1913,7 +1913,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thebase_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the base_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -1925,7 +1925,7 @@ "name": "ConvertToDraftEvent", "id": "converttodraftevent", "href": "/graphql/reference/pulls#object-converttodraftevent", - "description": "

Represents aconvert_to_draftevent on a given pull request.

", + "description": "

Represents a convert_to_draft event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1989,7 +1989,7 @@ "name": "ConvertedFromDraftEvent", "id": "convertedfromdraftevent", "href": "/graphql/reference/pulls#object-convertedfromdraftevent", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

", + "description": "

Represents a converted_from_draft event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2094,7 +2094,7 @@ "name": "HeadRefDeletedEvent", "id": "headrefdeletedevent", "href": "/graphql/reference/pulls#object-headrefdeletedevent", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

", + "description": "

Represents a head_ref_deleted event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -2153,7 +2153,7 @@ "name": "HeadRefForcePushedEvent", "id": "headrefforcepushedevent", "href": "/graphql/reference/pulls#object-headrefforcepushedevent", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a head_ref_force_pushed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -2172,14 +2172,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -2207,7 +2207,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thehead_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the head_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -2219,7 +2219,7 @@ "name": "HeadRefRestoredEvent", "id": "headrefrestoredevent", "href": "/graphql/reference/pulls#object-headrefrestoredevent", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

", + "description": "

Represents a head_ref_restored event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -2647,7 +2647,7 @@ "name": "MergedEvent", "id": "mergedevent", "href": "/graphql/reference/pulls#object-mergedevent", - "description": "

Represents amergedevent on a given pull request.

", + "description": "

Represents a merged event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -3428,6 +3428,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -3705,6 +3706,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -3871,6 +3873,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -5097,6 +5100,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -6373,6 +6377,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -7257,7 +7262,7 @@ "name": "ReadyForReviewEvent", "id": "readyforreviewevent", "href": "/graphql/reference/pulls#object-readyforreviewevent", - "description": "

Represents aready_for_reviewevent on a given pull request.

", + "description": "

Represents a ready_for_review event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -7321,7 +7326,7 @@ "name": "RemovedFromMergeQueueEvent", "id": "removedfrommergequeueevent", "href": "/graphql/reference/pulls#object-removedfrommergequeueevent", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

", + "description": "

Represents a removed_from_merge_queue event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -7340,7 +7345,7 @@ }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for theremoved_from_merge_queueevent.

", + "description": "

Identifies the before commit SHA for the removed_from_merge_queue event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -7394,7 +7399,7 @@ "name": "RemovedFromStackEvent", "id": "removedfromstackevent", "href": "/graphql/reference/pulls#object-removedfromstackevent", - "description": "

Represents aremoved_from_stackevent on a given pull request.

", + "description": "

Represents a removed_from_stack event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -7544,7 +7549,7 @@ "name": "ReviewDismissedEvent", "id": "reviewdismissedevent", "href": "/graphql/reference/pulls#object-reviewdismissedevent", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

", + "description": "

Represents a review_dismissed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7582,7 +7587,7 @@ }, { "name": "dismissalMessage", - "description": "

Identifies the optional message associated with thereview_dismissedevent.

", + "description": "

Identifies the optional message associated with the review_dismissed event.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -7603,7 +7608,7 @@ }, { "name": "previousReviewState", - "description": "

Identifies the previous state of the review with thereview_dismissedevent.

", + "description": "

Identifies the previous state of the review with the review_dismissed event.

", "type": "PullRequestReviewState!", "id": "pullrequestreviewstate", "href": "/graphql/reference/pulls#enum-pullrequestreviewstate" @@ -7631,7 +7636,7 @@ }, { "name": "review", - "description": "

Identifies the review associated with thereview_dismissedevent.

", + "description": "

Identifies the review associated with the review_dismissed event.

", "type": "PullRequestReview", "id": "pullrequestreview", "href": "/graphql/reference/pulls#object-pullrequestreview" @@ -7762,7 +7767,7 @@ "name": "ReviewRequestRemovedEvent", "id": "reviewrequestremovedevent", "href": "/graphql/reference/pulls#object-reviewrequestremovedevent", - "description": "

Represents anreview_request_removedevent on a given pull request.

", + "description": "

Represents an review_request_removed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -7814,7 +7819,7 @@ "name": "ReviewRequestedEvent", "id": "reviewrequestedevent", "href": "/graphql/reference/pulls#object-reviewrequestedevent", - "description": "

Represents anreview_requestedevent on a given pull request.

", + "description": "

Represents an review_requested event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -8216,7 +8221,9 @@ }, { "name": "DRAFT", - "description": "

The merge is blocked due to the pull request being a draft.

" + "description": "

The merge is blocked due to the pull request being a draft.

", + "isDeprecated": true, + "deprecationReason": "

DRAFT state will be removed from this enum and isDraft should be used instead Use PullRequest.isDraft instead. Removal on 2021-01-01 UTC.

" }, { "name": "HAS_HOOKS", @@ -8553,107 +8560,107 @@ "values": [ { "name": "ADDED_TO_MERGE_QUEUE_EVENT", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

" + "description": "

Represents an added_to_merge_queue event on a given pull request.

" }, { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ADDED_TO_PROJECT_V2_EVENT", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

" + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

" }, { "name": "ADDED_TO_STACK_EVENT", - "description": "

Represents anadded_to_stackevent on a given pull request.

" + "description": "

Represents an added_to_stack event on a given pull request.

" }, { "name": "ARCHIVED_EVENT", - "description": "

Represents anarchivedevent on a given pull request.

" + "description": "

Represents an archived event on a given pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "AUTOMATIC_BASE_CHANGE_FAILED_EVENT", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

" + "description": "

Represents a automatic_base_change_failed event on a given pull request.

" }, { "name": "AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

" + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

" }, { "name": "AUTO_MERGE_DISABLED_EVENT", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

" + "description": "

Represents a auto_merge_disabled event on a given pull request.

" }, { "name": "AUTO_MERGE_ENABLED_EVENT", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

" + "description": "

Represents a auto_merge_enabled event on a given pull request.

" }, { "name": "AUTO_REBASE_ENABLED_EVENT", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

" + "description": "

Represents a auto_rebase_enabled event on a given pull request.

" }, { "name": "AUTO_SQUASH_ENABLED_EVENT", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

" + "description": "

Represents a auto_squash_enabled event on a given pull request.

" }, { "name": "BASE_REF_CHANGED_EVENT", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

" + "description": "

Represents a base_ref_changed event on a given issue or pull request.

" }, { "name": "BASE_REF_DELETED_EVENT", - "description": "

Represents abase_ref_deletedevent on a given pull request.

" + "description": "

Represents a base_ref_deleted event on a given pull request.

" }, { "name": "BASE_REF_FORCE_PUSHED_EVENT", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a base_ref_force_pushed event on a given pull request.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_FROM_DRAFT_EVENT", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

" + "description": "

Represents a converted_from_draft event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CONVERT_TO_DRAFT_EVENT", - "description": "

Represents aconvert_to_draftevent on a given pull request.

" + "description": "

Represents a convert_to_draft event on a given pull request.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -8661,31 +8668,31 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DEPLOYED_EVENT", - "description": "

Represents adeployedevent on a given pull request.

" + "description": "

Represents a deployed event on a given pull request.

" }, { "name": "DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

" + "description": "

Represents a deployment_environment_changed event on a given pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "HEAD_REF_DELETED_EVENT", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

" + "description": "

Represents a head_ref_deleted event on a given pull request.

" }, { "name": "HEAD_REF_FORCE_PUSHED_EVENT", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a head_ref_force_pushed event on a given pull request.

" }, { "name": "HEAD_REF_RESTORED_EVENT", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

" + "description": "

Represents a head_ref_restored event on a given pull request.

" }, { "name": "ISSUE_COMMENT", @@ -8693,79 +8700,79 @@ }, { "name": "ISSUE_COMMENT_PINNED_EVENT", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

" + "description": "

Represents a issue_comment_pinned event on a given issue.

" }, { "name": "ISSUE_COMMENT_UNPINNED_EVENT", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

" + "description": "

Represents a issue_comment_unpinned event on a given issue.

" }, { "name": "ISSUE_FIELD_ADDED_EVENT", - "description": "

Represents aissue_field_addedevent on a given issue.

" + "description": "

Represents a issue_field_added event on a given issue.

" }, { "name": "ISSUE_FIELD_CHANGED_EVENT", - "description": "

Represents aissue_field_changedevent on a given issue.

" + "description": "

Represents a issue_field_changed event on a given issue.

" }, { "name": "ISSUE_FIELD_REMOVED_EVENT", - "description": "

Represents aissue_field_removedevent on a given issue.

" + "description": "

Represents a issue_field_removed event on a given issue.

" }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MERGED_EVENT", - "description": "

Represents amergedevent on a given pull request.

" + "description": "

Represents a merged event on a given pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PROJECT_V2_ITEM_STATUS_CHANGED_EVENT", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

" + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

" }, { "name": "PULL_REQUEST_COMMIT", @@ -8789,95 +8796,95 @@ }, { "name": "READY_FOR_REVIEW_EVENT", - "description": "

Represents aready_for_reviewevent on a given pull request.

" + "description": "

Represents a ready_for_review event on a given pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_MERGE_QUEUE_EVENT", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

" + "description": "

Represents a removed_from_merge_queue event on a given pull request.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_PROJECT_V2_EVENT", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

" + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_STACK_EVENT", - "description": "

Represents aremoved_from_stackevent on a given pull request.

" + "description": "

Represents a removed_from_stack event on a given pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "REVIEW_DISMISSED_EVENT", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

" + "description": "

Represents a review_dismissed event on a given issue or pull request.

" }, { "name": "REVIEW_REQUESTED_EVENT", - "description": "

Represents anreview_requestedevent on a given pull request.

" + "description": "

Represents an review_requested event on a given pull request.

" }, { "name": "REVIEW_REQUEST_REMOVED_EVENT", - "description": "

Represents anreview_request_removedevent on a given pull request.

" + "description": "

Represents an review_request_removed event on a given pull request.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNARCHIVED_EVENT", - "description": "

Represents anunarchivedevent on a given pull request.

" + "description": "

Represents an unarchived event on a given pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "pulls" diff --git a/src/graphql/data/ghec/schema-repos.json b/src/graphql/data/ghec/schema-repos.json index 8aa62538cad2..d26ab3453bd1 100644 --- a/src/graphql/data/ghec/schema-repos.json +++ b/src/graphql/data/ghec/schema-repos.json @@ -1001,7 +1001,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -3641,6 +3641,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -3818,6 +3819,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -3827,6 +3829,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -3906,6 +3909,7 @@ }, { "name": "names", + "defaultValue": "[]", "description": "

The names of the environments to be returned.

", "type": { "name": "[String!]", @@ -3915,6 +3919,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "Environments", @@ -4029,6 +4034,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -4294,6 +4300,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue fields returned from the connection.

", "type": { "name": "IssueFieldOrder", @@ -4391,6 +4398,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -4544,6 +4552,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -4936,6 +4945,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -5060,6 +5070,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "PinnedEnvironmentOrder", @@ -5309,6 +5320,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -8065,6 +8077,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -8652,6 +8665,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -9678,19 +9692,27 @@ "values": [ { "name": "NOT_RELEVANT", - "description": "

The suggested topic is not relevant to the repository.

" + "description": "

The suggested topic is not relevant to the repository.

", + "isDeprecated": true, + "deprecationReason": "

Suggested topics are no longer supported Removal on 2024-04-01 UTC.

" }, { "name": "PERSONAL_PREFERENCE", - "description": "

The viewer does not like the suggested topic.

" + "description": "

The viewer does not like the suggested topic.

", + "isDeprecated": true, + "deprecationReason": "

Suggested topics are no longer supported Removal on 2024-04-01 UTC.

" }, { "name": "TOO_GENERAL", - "description": "

The suggested topic is too general for the repository.

" + "description": "

The suggested topic is too general for the repository.

", + "isDeprecated": true, + "deprecationReason": "

Suggested topics are no longer supported Removal on 2024-04-01 UTC.

" }, { "name": "TOO_SPECIFIC", - "description": "

The suggested topic is too specific for the repository (e.g. #ruby-on-rails-version-4-2-1).

" + "description": "

The suggested topic is too specific for the repository (e.g. #ruby-on-rails-version-4-2-1).

", + "isDeprecated": true, + "deprecationReason": "

Suggested topics are no longer supported Removal on 2024-04-01 UTC.

" } ], "category": "repos" @@ -10547,7 +10569,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" diff --git a/src/graphql/data/ghec/schema-security-advisories.json b/src/graphql/data/ghec/schema-security-advisories.json index c3fda6561f6c..432cffb3ce9f 100644 --- a/src/graphql/data/ghec/schema-security-advisories.json +++ b/src/graphql/data/ghec/schema-security-advisories.json @@ -72,6 +72,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "type": "SecurityAdvisoryOrder", "id": "securityadvisoryorder", "href": "/graphql/reference/security-advisories#input-object-securityadvisoryorder", @@ -169,6 +170,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "type": "SecurityVulnerabilityOrder", "id": "securityvulnerabilityorder", "href": "/graphql/reference/security-advisories#input-object-securityvulnerabilityorder", @@ -648,6 +650,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for the returned topics.

", "type": { "name": "SecurityVulnerabilityOrder", diff --git a/src/graphql/data/ghec/schema-sponsors.json b/src/graphql/data/ghec/schema-sponsors.json index ea8a37a9e980..55e54564fe2c 100644 --- a/src/graphql/data/ghec/schema-sponsors.json +++ b/src/graphql/data/ghec/schema-sponsors.json @@ -59,6 +59,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "type": "SponsorableOrder", "id": "sponsorableorder", "href": "/graphql/reference/sponsors#input-object-sponsorableorder", @@ -848,6 +849,7 @@ "arguments": [ { "name": "featureableTypes", + "defaultValue": "[REPOSITORY, USER]", "description": "

The types of featured items to return.

", "type": { "name": "[SponsorsListingFeaturedItemFeatureableType!]", @@ -996,6 +998,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: MONTHLY_PRICE_IN_CENTS, direction: ASC}", "description": "

Ordering options for Sponsors tiers returned from the connection.

", "type": { "name": "SponsorsTierOrder", @@ -1808,6 +1811,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: SPONSOR_LOGIN, direction: ASC}", "description": "

Ordering options for results returned from the connection.

", "type": { "name": "SponsorAndLifetimeValueOrder", @@ -1869,6 +1873,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for the users and organizations returned from the connection.

", "type": { "name": "SponsorOrder", @@ -1923,6 +1928,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for sponsors returned from the connection.

", "type": { "name": "SponsorOrder", @@ -1950,6 +1956,7 @@ "arguments": [ { "name": "actions", + "defaultValue": "[]", "description": "

Filter activities to only the specified actions.

", "type": { "name": "[SponsorsActivityAction!]", @@ -2015,6 +2022,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: TIMESTAMP, direction: DESC}", "description": "

Ordering options for activity returned from the connection.

", "type": { "name": "SponsorsActivityOrder", @@ -2142,6 +2150,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for sponsorship updates returned from the connection.

", "type": { "name": "SponsorshipNewsletterOrder", @@ -2316,6 +2325,7 @@ }, { "name": "sponsorableLogins", + "defaultValue": "[]", "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", "type": { "name": "[String!]", @@ -3768,7 +3778,7 @@ }, { "name": "fiscalHostLogin", - "description": "

The username of the supported fiscal host's GitHub organization, if you want\nto receive sponsorship payouts through a fiscal host rather than directly to a\nbank account. For example,Open-Source-Collectivefor Open Source Collective\nor 'numfocus' for numFOCUS. Case insensitive. See https://docs.github.com/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts\nfor more information.

", + "description": "

The username of the supported fiscal host's GitHub organization, if you want\nto receive sponsorship payouts through a fiscal host rather than directly to a\nbank account. For example, Open-Source-Collective for Open Source Collective\nor numfocus for numFOCUS. Case insensitive. See https://docs.github.com/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts\nfor more information.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" diff --git a/src/graphql/data/ghec/schema-teams.json b/src/graphql/data/ghec/schema-teams.json index 7cbd92ae338f..5b68d31316a0 100644 --- a/src/graphql/data/ghec/schema-teams.json +++ b/src/graphql/data/ghec/schema-teams.json @@ -443,6 +443,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -642,6 +643,7 @@ }, { "name": "filterBy", + "defaultValue": "{}", "description": "

Filtering options for projects returned from this connection.

", "type": { "name": "ProjectV2Filters", @@ -679,6 +681,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -2311,7 +2314,7 @@ "name": "TeamMemberRole", "id": "teammemberrole", "href": "/graphql/reference/teams#enum-teammemberrole", - "description": "

The possible team member roles; eithermaintaineror 'member'.

", + "description": "

The possible team member roles; either maintainer or 'member'.

", "isDeprecated": false, "values": [ { diff --git a/src/graphql/data/ghec/schema-users.json b/src/graphql/data/ghec/schema-users.json index 20b7c5244865..dde2a23b8a67 100644 --- a/src/graphql/data/ghec/schema-users.json +++ b/src/graphql/data/ghec/schema-users.json @@ -739,6 +739,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -894,6 +895,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -987,6 +989,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -1070,6 +1073,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -2051,6 +2055,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for repositories.

", "type": { "name": "RepositoryOrder", @@ -3557,6 +3562,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the User's enterprises.

", "type": { "name": "EnterpriseOrder", @@ -4103,6 +4109,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: SPONSOR_LOGIN, direction: ASC}", "description": "

Ordering options for results returned from the connection.

", "type": { "name": "SponsorAndLifetimeValueOrder", @@ -4329,6 +4336,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4652,6 +4660,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4956,6 +4965,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5228,6 +5238,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -5246,6 +5257,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -5307,6 +5319,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

The field to order saved replies by.

", "type": { "name": "SavedReplyOrder", @@ -5406,6 +5419,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for the users and organizations returned from the connection.

", "type": { "name": "SponsorOrder", @@ -5460,6 +5474,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: RELEVANCE, direction: DESC}", "description": "

Ordering options for sponsors returned from the connection.

", "type": { "name": "SponsorOrder", @@ -5487,6 +5502,7 @@ "arguments": [ { "name": "actions", + "defaultValue": "[]", "description": "

Filter activities to only the specified actions.

", "type": { "name": "[SponsorsActivityAction!]", @@ -5552,6 +5568,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: TIMESTAMP, direction: DESC}", "description": "

Ordering options for activity returned from the connection.

", "type": { "name": "SponsorsActivityOrder", @@ -5679,6 +5696,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for sponsorship updates returned from the connection.

", "type": { "name": "SponsorshipNewsletterOrder", @@ -5993,6 +6011,7 @@ }, { "name": "sponsorableLogins", + "defaultValue": "[]", "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", "type": { "name": "[String!]", @@ -6192,6 +6211,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -6233,7 +6253,7 @@ "name": "UserBlockedEvent", "id": "userblockedevent", "href": "/graphql/reference/users#object-userblockedevent", - "description": "

Represents auser_blockedevent on a given user.

", + "description": "

Represents a user_blocked event on a given user.

", "isDeprecated": false, "implements": [ { @@ -7131,6 +7151,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", diff --git a/src/graphql/data/ghes-3.18/schema-actions.json b/src/graphql/data/ghes-3.18/schema-actions.json index 7f6eb13c016a..d5bcd1d1ebd9 100644 --- a/src/graphql/data/ghes-3.18/schema-actions.json +++ b/src/graphql/data/ghes-3.18/schema-actions.json @@ -98,6 +98,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the connection.

", "type": { "name": "WorkflowRunOrder", diff --git a/src/graphql/data/ghes-3.18/schema-apps.json b/src/graphql/data/ghes-3.18/schema-apps.json index fe0b27324356..6c6d18fe829f 100644 --- a/src/graphql/data/ghes-3.18/schema-apps.json +++ b/src/graphql/data/ghes-3.18/schema-apps.json @@ -93,6 +93,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", diff --git a/src/graphql/data/ghes-3.18/schema-commits.json b/src/graphql/data/ghes-3.18/schema-commits.json index 6c7c4bb50960..a3d17a5ea088 100644 --- a/src/graphql/data/ghes-3.18/schema-commits.json +++ b/src/graphql/data/ghes-3.18/schema-commits.json @@ -127,6 +127,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -431,6 +432,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -1436,6 +1438,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: OCCURRED_AT, direction: DESC}", "description": "

Ordering options for commit contributions returned from the connection.

", "type": { "name": "CommitContributionOrder", diff --git a/src/graphql/data/ghes-3.18/schema-deployments.json b/src/graphql/data/ghes-3.18/schema-deployments.json index 4be37a8043f8..d2045fe67a7f 100644 --- a/src/graphql/data/ghes-3.18/schema-deployments.json +++ b/src/graphql/data/ghes-3.18/schema-deployments.json @@ -316,7 +316,7 @@ "name": "DeployedEvent", "id": "deployedevent", "href": "/graphql/reference/deployments#object-deployedevent", - "description": "

Represents adeployedevent on a given pull request.

", + "description": "

Represents a deployed event on a given pull request.

", "implements": [ { "name": "Node", @@ -348,7 +348,7 @@ }, { "name": "deployment", - "description": "

The deployment associated with thedeployedevent.

", + "description": "

The deployment associated with the deployed event.

", "type": "Deployment!", "id": "deployment", "href": "/graphql/reference/deployments#object-deployment" @@ -369,7 +369,7 @@ }, { "name": "ref", - "description": "

The ref associated with thedeployedevent.

", + "description": "

The ref associated with the deployed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -621,7 +621,7 @@ "name": "DeploymentEnvironmentChangedEvent", "id": "deploymentenvironmentchangedevent", "href": "/graphql/reference/deployments#object-deploymentenvironmentchangedevent", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

", + "description": "

Represents a deployment_environment_changed event on a given pull request.

", "implements": [ { "name": "Node", diff --git a/src/graphql/data/ghes-3.18/schema-discussions.json b/src/graphql/data/ghes-3.18/schema-discussions.json index 8bf2b4663609..a71c6f368b27 100644 --- a/src/graphql/data/ghes-3.18/schema-discussions.json +++ b/src/graphql/data/ghes-3.18/schema-discussions.json @@ -691,6 +691,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -1764,6 +1765,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: AUTHORED_ORDER, direction: ASC}", "description": "

How to order the options for the discussion poll.

", "type": { "name": "DiscussionPollOptionOrder", @@ -2128,6 +2130,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -2146,6 +2149,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", diff --git a/src/graphql/data/ghes-3.18/schema-enterprise-admin.json b/src/graphql/data/ghes-3.18/schema-enterprise-admin.json index b2840f89d41e..a45ba3b9bfeb 100644 --- a/src/graphql/data/ghes-3.18/schema-enterprise-admin.json +++ b/src/graphql/data/ghes-3.18/schema-enterprise-admin.json @@ -1230,6 +1230,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for members returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -1327,6 +1328,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", @@ -2069,6 +2071,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for administrators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -2218,6 +2221,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2295,6 +2299,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2376,6 +2381,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -2491,6 +2497,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -2573,6 +2580,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2664,6 +2672,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2734,6 +2743,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2804,6 +2814,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2874,6 +2885,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2951,6 +2963,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3021,6 +3034,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3098,6 +3112,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3179,6 +3194,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for outside collaborators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -3269,6 +3285,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending enterprise administrator invitations returned from the connection.

", "type": { "name": "EnterpriseAdministratorInvitationOrder", @@ -3341,6 +3358,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending repository collaborator invitations returned from the connection.

", "type": { "name": "RepositoryInvitationOrder", @@ -3483,6 +3501,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3553,6 +3572,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3623,6 +3643,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3693,6 +3714,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3770,6 +3792,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3995,6 +4018,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for Enterprise Server user accounts returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountOrder", @@ -4049,6 +4073,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for Enterprise Server user accounts uploads returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountsUploadOrder", @@ -4193,6 +4218,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: EMAIL, direction: ASC}", "description": "

Ordering options for Enterprise Server user account emails returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountEmailOrder", @@ -4659,6 +4685,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: HOST_NAME, direction: ASC}", "description": "

Ordering options for installations returned from the connection.

", "type": { "name": "EnterpriseServerInstallationOrder", @@ -4752,6 +4779,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", diff --git a/src/graphql/data/ghes-3.18/schema-git.json b/src/graphql/data/ghes-3.18/schema-git.json index 89902cad157b..8d38cdabe9e9 100644 --- a/src/graphql/data/ghes-3.18/schema-git.json +++ b/src/graphql/data/ghes-3.18/schema-git.json @@ -716,6 +716,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for repository rules.

", "type": { "name": "RepositoryRuleOrder", diff --git a/src/graphql/data/ghes-3.18/schema-issues.json b/src/graphql/data/ghes-3.18/schema-issues.json index e18c04c779d6..690e64d48a11 100644 --- a/src/graphql/data/ghes-3.18/schema-issues.json +++ b/src/graphql/data/ghes-3.18/schema-issues.json @@ -1109,7 +1109,7 @@ "name": "AssignedEvent", "id": "assignedevent", "href": "/graphql/reference/issues#object-assignedevent", - "description": "

Represents anassignedevent on any assignable object.

", + "description": "

Represents an assigned event on any assignable object.

", "implements": [ { "name": "Node", @@ -1229,7 +1229,7 @@ "name": "ClosedEvent", "id": "closedevent", "href": "/graphql/reference/issues#object-closedevent", - "description": "

Represents aclosedevent on any Closable.

", + "description": "

Represents a closed event on any Closable.

", "implements": [ { "name": "Node", @@ -1313,7 +1313,7 @@ "name": "CommentDeletedEvent", "id": "commentdeletedevent", "href": "/graphql/reference/issues#object-commentdeletedevent", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

", + "description": "

Represents a comment_deleted event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1364,7 +1364,7 @@ "name": "ConnectedEvent", "id": "connectedevent", "href": "/graphql/reference/issues#object-connectedevent", - "description": "

Represents aconnectedevent on a given issue or pull request.

", + "description": "

Represents a connected event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1422,7 +1422,7 @@ "name": "ConvertedNoteToIssueEvent", "id": "convertednotetoissueevent", "href": "/graphql/reference/issues#object-convertednotetoissueevent", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

", + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1491,7 +1491,7 @@ "name": "ConvertedToDiscussionEvent", "id": "convertedtodiscussionevent", "href": "/graphql/reference/issues#object-convertedtodiscussionevent", - "description": "

Represents aconverted_to_discussionevent on a given issue.

", + "description": "

Represents a converted_to_discussion event on a given issue.

", "implements": [ { "name": "Node", @@ -1626,7 +1626,7 @@ "name": "DemilestonedEvent", "id": "demilestonedevent", "href": "/graphql/reference/issues#object-demilestonedevent", - "description": "

Represents ademilestonedevent on a given issue or pull request.

", + "description": "

Represents a demilestoned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1658,7 +1658,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with thedemilestonedevent.

", + "description": "

Identifies the milestone title associated with the demilestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -1677,7 +1677,7 @@ "name": "DisconnectedEvent", "id": "disconnectedevent", "href": "/graphql/reference/issues#object-disconnectedevent", - "description": "

Represents adisconnectedevent on a given issue or pull request.

", + "description": "

Represents a disconnected event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -2244,6 +2244,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -2396,6 +2397,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -2562,6 +2564,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -3601,6 +3604,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -3760,6 +3764,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -4088,7 +4093,7 @@ "name": "IssueTypeAddedEvent", "id": "issuetypeaddedevent", "href": "/graphql/reference/issues#object-issuetypeaddedevent", - "description": "

Represents aissue_type_addedevent on a given issue.

", + "description": "

Represents a issue_type_added event on a given issue.

", "implements": [ { "name": "Node", @@ -4132,7 +4137,7 @@ "name": "IssueTypeChangedEvent", "id": "issuetypechangedevent", "href": "/graphql/reference/issues#object-issuetypechangedevent", - "description": "

Represents aissue_type_changedevent on a given issue.

", + "description": "

Represents a issue_type_changed event on a given issue.

", "implements": [ { "name": "Node", @@ -4243,7 +4248,7 @@ "name": "IssueTypeRemovedEvent", "id": "issuetyperemovedevent", "href": "/graphql/reference/issues#object-issuetyperemovedevent", - "description": "

Represents aissue_type_removedevent on a given issue.

", + "description": "

Represents a issue_type_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -4604,7 +4609,7 @@ "name": "LabeledEvent", "id": "labeledevent", "href": "/graphql/reference/issues#object-labeledevent", - "description": "

Represents alabeledevent on a given issue or pull request.

", + "description": "

Represents a labeled event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -4636,7 +4641,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with thelabeledevent.

", + "description": "

Identifies the label associated with the labeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -4745,7 +4750,7 @@ "name": "LockedEvent", "id": "lockedevent", "href": "/graphql/reference/issues#object-lockedevent", - "description": "

Represents alockedevent on a given issue or pull request.

", + "description": "

Represents a locked event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -4796,7 +4801,7 @@ "name": "MarkedAsDuplicateEvent", "id": "markedasduplicateevent", "href": "/graphql/reference/issues#object-markedasduplicateevent", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -4854,7 +4859,7 @@ "name": "MentionedEvent", "id": "mentionedevent", "href": "/graphql/reference/issues#object-mentionedevent", - "description": "

Represents amentionedevent on a given issue or pull request.

", + "description": "

Represents a mentioned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5295,7 +5300,7 @@ "name": "MilestonedEvent", "id": "milestonedevent", "href": "/graphql/reference/issues#object-milestonedevent", - "description": "

Represents amilestonedevent on a given issue or pull request.

", + "description": "

Represents a milestoned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5327,7 +5332,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with themilestonedevent.

", + "description": "

Identifies the milestone title associated with the milestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -5346,7 +5351,7 @@ "name": "ParentIssueAddedEvent", "id": "parentissueaddedevent", "href": "/graphql/reference/issues#object-parentissueaddedevent", - "description": "

Represents aparent_issue_addedevent on a given issue.

", + "description": "

Represents a parent_issue_added event on a given issue.

", "implements": [ { "name": "Node", @@ -5390,7 +5395,7 @@ "name": "ParentIssueRemovedEvent", "id": "parentissueremovedevent", "href": "/graphql/reference/issues#object-parentissueremovedevent", - "description": "

Represents aparent_issue_removedevent on a given issue.

", + "description": "

Represents a parent_issue_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -5434,7 +5439,7 @@ "name": "PinnedEvent", "id": "pinnedevent", "href": "/graphql/reference/issues#object-pinnedevent", - "description": "

Represents apinnedevent on a given issue or pull request.

", + "description": "

Represents a pinned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5596,7 +5601,7 @@ "name": "ReferencedEvent", "id": "referencedevent", "href": "/graphql/reference/issues#object-referencedevent", - "description": "

Represents areferencedevent on a given ReferencedSubject.

", + "description": "

Represents a referenced event on a given ReferencedSubject.

", "implements": [ { "name": "Node", @@ -5614,14 +5619,14 @@ }, { "name": "commit", - "description": "

Identifies the commit associated with thereferencedevent.

", + "description": "

Identifies the commit associated with the referenced event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "commitRepository", - "description": "

Identifies the repository associated with thereferencedevent.

", + "description": "

Identifies the repository associated with the referenced event.

", "type": "Repository!", "id": "repository", "href": "/graphql/reference/repos#object-repository" @@ -5668,7 +5673,7 @@ "name": "RenamedTitleEvent", "id": "renamedtitleevent", "href": "/graphql/reference/issues#object-renamedtitleevent", - "description": "

Represents arenamedevent on a given issue or pull request.

", + "description": "

Represents a renamed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5726,7 +5731,7 @@ "name": "ReopenedEvent", "id": "reopenedevent", "href": "/graphql/reference/issues#object-reopenedevent", - "description": "

Represents areopenedevent on any Closable.

", + "description": "

Represents a reopened event on any Closable.

", "implements": [ { "name": "Node", @@ -5777,7 +5782,7 @@ "name": "SubIssueAddedEvent", "id": "subissueaddedevent", "href": "/graphql/reference/issues#object-subissueaddedevent", - "description": "

Represents asub_issue_addedevent on a given issue.

", + "description": "

Represents a sub_issue_added event on a given issue.

", "implements": [ { "name": "Node", @@ -5821,7 +5826,7 @@ "name": "SubIssueRemovedEvent", "id": "subissueremovedevent", "href": "/graphql/reference/issues#object-subissueremovedevent", - "description": "

Represents asub_issue_removedevent on a given issue.

", + "description": "

Represents a sub_issue_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -5895,7 +5900,7 @@ "name": "SubscribedEvent", "id": "subscribedevent", "href": "/graphql/reference/issues#object-subscribedevent", - "description": "

Represents asubscribedevent on a given Subscribable.

", + "description": "

Represents a subscribed event on a given Subscribable.

", "implements": [ { "name": "Node", @@ -5939,7 +5944,7 @@ "name": "TransferredEvent", "id": "transferredevent", "href": "/graphql/reference/issues#object-transferredevent", - "description": "

Represents atransferredevent on a given issue or pull request.

", + "description": "

Represents a transferred event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5990,7 +5995,7 @@ "name": "UnassignedEvent", "id": "unassignedevent", "href": "/graphql/reference/issues#object-unassignedevent", - "description": "

Represents anunassignedevent on any assignable object.

", + "description": "

Represents an unassigned event on any assignable object.

", "implements": [ { "name": "Node", @@ -6050,7 +6055,7 @@ "name": "UnlabeledEvent", "id": "unlabeledevent", "href": "/graphql/reference/issues#object-unlabeledevent", - "description": "

Represents anunlabeledevent on a given issue or pull request.

", + "description": "

Represents an unlabeled event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6082,7 +6087,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with theunlabeledevent.

", + "description": "

Identifies the label associated with the unlabeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -6101,7 +6106,7 @@ "name": "UnlockedEvent", "id": "unlockedevent", "href": "/graphql/reference/issues#object-unlockedevent", - "description": "

Represents anunlockedevent on a given issue or pull request.

", + "description": "

Represents an unlocked event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6145,7 +6150,7 @@ "name": "UnmarkedAsDuplicateEvent", "id": "unmarkedasduplicateevent", "href": "/graphql/reference/issues#object-unmarkedasduplicateevent", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6203,7 +6208,7 @@ "name": "UnpinnedEvent", "id": "unpinnedevent", "href": "/graphql/reference/issues#object-unpinnedevent", - "description": "

Represents anunpinnedevent on a given issue or pull request.

", + "description": "

Represents an unpinned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6247,7 +6252,7 @@ "name": "UnsubscribedEvent", "id": "unsubscribedevent", "href": "/graphql/reference/issues#object-unsubscribedevent", - "description": "

Represents anunsubscribedevent on a given Subscribable.

", + "description": "

Represents an unsubscribed event on a given Subscribable.

", "implements": [ { "name": "Node", @@ -6698,6 +6703,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -6987,31 +6993,31 @@ "values": [ { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -7019,11 +7025,11 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "ISSUE_COMMENT", @@ -7031,111 +7037,111 @@ }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "issues" diff --git a/src/graphql/data/ghes-3.18/schema-orgs.json b/src/graphql/data/ghes-3.18/schema-orgs.json index f00209e51ef2..18a1e5ca8e83 100644 --- a/src/graphql/data/ghes-3.18/schema-orgs.json +++ b/src/graphql/data/ghes-3.18/schema-orgs.json @@ -6644,6 +6644,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the returned audit log entries.

", "type": { "name": "AuditLogOrder", @@ -6773,6 +6774,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -6834,6 +6836,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for enterprise owners returned from the connection.

", "type": { "name": "OrgEnterpriseOwnerOrder", @@ -6920,6 +6923,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -6988,6 +6992,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -7072,6 +7077,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for mannequins returned from the connection.

", "type": { "name": "MannequinOrder", @@ -7126,6 +7132,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -7276,6 +7283,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -7644,6 +7652,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -7806,6 +7815,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -7979,6 +7989,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -7997,6 +8008,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -8051,6 +8063,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for repository migrations returned.

", "type": { "name": "RepositoryMigrationOrder", diff --git a/src/graphql/data/ghes-3.18/schema-packages.json b/src/graphql/data/ghes-3.18/schema-packages.json index cf269b0d72b6..3f3e8c1856f9 100644 --- a/src/graphql/data/ghes-3.18/schema-packages.json +++ b/src/graphql/data/ghes-3.18/schema-packages.json @@ -151,6 +151,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageVersionOrder", @@ -473,6 +474,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering of the returned package files.

", "type": { "name": "PackageFileOrder", @@ -693,6 +695,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -763,19 +766,27 @@ }, { "name": "DOCKER", - "description": "

A docker image.

" + "description": "

A docker image.

", + "isDeprecated": true, + "deprecationReason": "

DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2021-06-21 UTC.

" }, { "name": "MAVEN", - "description": "

A maven package.

" + "description": "

A maven package.

", + "isDeprecated": true, + "deprecationReason": "

MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2023-02-10 UTC.

" }, { "name": "NPM", - "description": "

An npm package.

" + "description": "

An npm package.

", + "isDeprecated": true, + "deprecationReason": "

NPM will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "NUGET", - "description": "

A nuget package.

" + "description": "

A nuget package.

", + "isDeprecated": true, + "deprecationReason": "

NUGET will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "PYPI", @@ -783,7 +794,9 @@ }, { "name": "RUBYGEMS", - "description": "

A rubygems package.

" + "description": "

A rubygems package.

", + "isDeprecated": true, + "deprecationReason": "

RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-12-28 UTC.

" } ], "category": "packages" diff --git a/src/graphql/data/ghes-3.18/schema-projects-classic.json b/src/graphql/data/ghes-3.18/schema-projects-classic.json index c48a890aa4fb..a80afabea5fd 100644 --- a/src/graphql/data/ghes-3.18/schema-projects-classic.json +++ b/src/graphql/data/ghes-3.18/schema-projects-classic.json @@ -550,7 +550,7 @@ "name": "AddedToProjectEvent", "id": "addedtoprojectevent", "href": "/graphql/reference/projects-classic#object-addedtoprojectevent", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

", + "description": "

Represents a added_to_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -623,7 +623,7 @@ "name": "MovedColumnsInProjectEvent", "id": "movedcolumnsinprojectevent", "href": "/graphql/reference/projects-classic#object-movedcolumnsinprojectevent", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

", + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -884,6 +884,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1215,6 +1216,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1533,7 +1535,7 @@ "name": "RemovedFromProjectEvent", "id": "removedfromprojectevent", "href": "/graphql/reference/projects-classic#object-removedfromprojectevent", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

", + "description": "

Represents a removed_from_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1744,11 +1746,15 @@ "values": [ { "name": "ARCHIVED", - "description": "

A project card that is archived.

" + "description": "

A project card that is archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" }, { "name": "NOT_ARCHIVED", - "description": "

A project card that is not archived.

" + "description": "

A project card that is not archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" } ], "category": "projects-classic" @@ -1820,7 +1826,7 @@ "name": "ProjectState", "id": "projectstate", "href": "/graphql/reference/projects-classic#enum-projectstate", - "description": "

State of the project; eitheropenor 'closed'.

", + "description": "

State of the project; either open or 'closed'.

", "values": [ { "name": "CLOSED", diff --git a/src/graphql/data/ghes-3.18/schema-projects.json b/src/graphql/data/ghes-3.18/schema-projects.json index a6645f742972..ceacb2520de1 100644 --- a/src/graphql/data/ghes-3.18/schema-projects.json +++ b/src/graphql/data/ghes-3.18/schema-projects.json @@ -1214,6 +1214,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -1282,6 +1283,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 items returned from the connection.

", "type": { "name": "ProjectV2ItemOrder", @@ -1364,6 +1366,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for repositories returned from the connection.

", "type": { "name": "RepositoryOrder", @@ -1432,6 +1435,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Order for connection.

", "type": { "name": "ProjectV2StatusOrder", @@ -1486,6 +1490,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for teams returned from this connection.

", "type": { "name": "TeamOrder", @@ -1607,6 +1612,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 views returned from the connection.

", "type": { "name": "ProjectV2ViewOrder", @@ -1679,6 +1685,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for project v2 workflows returned from the connection.

", "type": { "name": "ProjectV2WorkflowOrder", @@ -2046,7 +2053,7 @@ }, { "name": "fieldValueByName", - "description": "

The field value of the first project field which matches thenameargument that is set on the item.

", + "description": "

The field value of the first project field which matches the name argument that is set on the item.

", "type": "ProjectV2ItemFieldValue", "id": "projectv2itemfieldvalue", "href": "/graphql/reference/projects#union-projectv2itemfieldvalue", @@ -2107,6 +2114,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 item field values returned from the connection.

", "type": { "name": "ProjectV2ItemFieldValueOrder", @@ -2622,6 +2630,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -3727,6 +3736,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -3795,6 +3805,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -3851,6 +3862,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4039,6 +4051,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4095,6 +4108,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4149,6 +4163,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4568,6 +4583,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", diff --git a/src/graphql/data/ghes-3.18/schema-pulls.json b/src/graphql/data/ghes-3.18/schema-pulls.json index 37d03a16a462..c44d9d276072 100644 --- a/src/graphql/data/ghes-3.18/schema-pulls.json +++ b/src/graphql/data/ghes-3.18/schema-pulls.json @@ -975,7 +975,7 @@ "name": "AddedToMergeQueueEvent", "id": "addedtomergequeueevent", "href": "/graphql/reference/pulls#object-addedtomergequeueevent", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

", + "description": "

Represents an added_to_merge_queue event on a given pull request.

", "implements": [ { "name": "Node", @@ -1033,7 +1033,7 @@ "name": "AutoMergeDisabledEvent", "id": "automergedisabledevent", "href": "/graphql/reference/pulls#object-automergedisabledevent", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

", + "description": "

Represents a auto_merge_disabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1098,7 +1098,7 @@ "name": "AutoMergeEnabledEvent", "id": "automergeenabledevent", "href": "/graphql/reference/pulls#object-automergeenabledevent", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

", + "description": "

Represents a auto_merge_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1207,7 +1207,7 @@ "name": "AutoRebaseEnabledEvent", "id": "autorebaseenabledevent", "href": "/graphql/reference/pulls#object-autorebaseenabledevent", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

", + "description": "

Represents a auto_rebase_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1258,7 +1258,7 @@ "name": "AutoSquashEnabledEvent", "id": "autosquashenabledevent", "href": "/graphql/reference/pulls#object-autosquashenabledevent", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

", + "description": "

Represents a auto_squash_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1309,7 +1309,7 @@ "name": "AutomaticBaseChangeFailedEvent", "id": "automaticbasechangefailedevent", "href": "/graphql/reference/pulls#object-automaticbasechangefailedevent", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

", + "description": "

Represents a automatic_base_change_failed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1367,7 +1367,7 @@ "name": "AutomaticBaseChangeSucceededEvent", "id": "automaticbasechangesucceededevent", "href": "/graphql/reference/pulls#object-automaticbasechangesucceededevent", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

", + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

", "implements": [ { "name": "Node", @@ -1425,7 +1425,7 @@ "name": "BaseRefChangedEvent", "id": "baserefchangedevent", "href": "/graphql/reference/pulls#object-baserefchangedevent", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

", + "description": "

Represents a base_ref_changed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1490,7 +1490,7 @@ "name": "BaseRefDeletedEvent", "id": "baserefdeletedevent", "href": "/graphql/reference/pulls#object-baserefdeletedevent", - "description": "

Represents abase_ref_deletedevent on a given pull request.

", + "description": "

Represents a base_ref_deleted event on a given pull request.

", "implements": [ { "name": "Node", @@ -1541,7 +1541,7 @@ "name": "BaseRefForcePushedEvent", "id": "baserefforcepushedevent", "href": "/graphql/reference/pulls#object-baserefforcepushedevent", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a base_ref_force_pushed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1559,14 +1559,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -1594,7 +1594,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thebase_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the base_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -1606,7 +1606,7 @@ "name": "ConvertToDraftEvent", "id": "converttodraftevent", "href": "/graphql/reference/pulls#object-converttodraftevent", - "description": "

Represents aconvert_to_draftevent on a given pull request.

", + "description": "

Represents a convert_to_draft event on a given pull request.

", "implements": [ { "name": "Node", @@ -1669,7 +1669,7 @@ "name": "HeadRefDeletedEvent", "id": "headrefdeletedevent", "href": "/graphql/reference/pulls#object-headrefdeletedevent", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

", + "description": "

Represents a head_ref_deleted event on a given pull request.

", "implements": [ { "name": "Node", @@ -1727,7 +1727,7 @@ "name": "HeadRefForcePushedEvent", "id": "headrefforcepushedevent", "href": "/graphql/reference/pulls#object-headrefforcepushedevent", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a head_ref_force_pushed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1745,14 +1745,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -1780,7 +1780,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thehead_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the head_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -1792,7 +1792,7 @@ "name": "HeadRefRestoredEvent", "id": "headrefrestoredevent", "href": "/graphql/reference/pulls#object-headrefrestoredevent", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

", + "description": "

Represents a head_ref_restored event on a given pull request.

", "implements": [ { "name": "Node", @@ -2215,7 +2215,7 @@ "name": "MergedEvent", "id": "mergedevent", "href": "/graphql/reference/pulls#object-mergedevent", - "description": "

Represents amergedevent on a given pull request.

", + "description": "

Represents a merged event on a given pull request.

", "implements": [ { "name": "Node", @@ -2984,6 +2984,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -3261,6 +3262,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -3427,6 +3429,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4574,6 +4577,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -5770,6 +5774,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -6455,7 +6460,7 @@ "name": "ReadyForReviewEvent", "id": "readyforreviewevent", "href": "/graphql/reference/pulls#object-readyforreviewevent", - "description": "

Represents aready_for_reviewevent on a given pull request.

", + "description": "

Represents a ready_for_review event on a given pull request.

", "implements": [ { "name": "Node", @@ -6518,7 +6523,7 @@ "name": "RemovedFromMergeQueueEvent", "id": "removedfrommergequeueevent", "href": "/graphql/reference/pulls#object-removedfrommergequeueevent", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

", + "description": "

Represents a removed_from_merge_queue event on a given pull request.

", "implements": [ { "name": "Node", @@ -6536,7 +6541,7 @@ }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for theremoved_from_merge_queueevent.

", + "description": "

Identifies the before commit SHA for the removed_from_merge_queue event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -6650,7 +6655,7 @@ "name": "ReviewDismissedEvent", "id": "reviewdismissedevent", "href": "/graphql/reference/pulls#object-reviewdismissedevent", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

", + "description": "

Represents a review_dismissed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6687,7 +6692,7 @@ }, { "name": "dismissalMessage", - "description": "

Identifies the optional message associated with thereview_dismissedevent.

", + "description": "

Identifies the optional message associated with the review_dismissed event.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -6708,7 +6713,7 @@ }, { "name": "previousReviewState", - "description": "

Identifies the previous state of the review with thereview_dismissedevent.

", + "description": "

Identifies the previous state of the review with the review_dismissed event.

", "type": "PullRequestReviewState!", "id": "pullrequestreviewstate", "href": "/graphql/reference/pulls#enum-pullrequestreviewstate" @@ -6736,7 +6741,7 @@ }, { "name": "review", - "description": "

Identifies the review associated with thereview_dismissedevent.

", + "description": "

Identifies the review associated with the review_dismissed event.

", "type": "PullRequestReview", "id": "pullrequestreview", "href": "/graphql/reference/pulls#object-pullrequestreview" @@ -6866,7 +6871,7 @@ "name": "ReviewRequestRemovedEvent", "id": "reviewrequestremovedevent", "href": "/graphql/reference/pulls#object-reviewrequestremovedevent", - "description": "

Represents anreview_request_removedevent on a given pull request.

", + "description": "

Represents an review_request_removed event on a given pull request.

", "implements": [ { "name": "Node", @@ -6917,7 +6922,7 @@ "name": "ReviewRequestedEvent", "id": "reviewrequestedevent", "href": "/graphql/reference/pulls#object-reviewrequestedevent", - "description": "

Represents anreview_requestedevent on a given pull request.

", + "description": "

Represents an review_requested event on a given pull request.

", "implements": [ { "name": "Node", @@ -7217,7 +7222,9 @@ }, { "name": "DRAFT", - "description": "

The merge is blocked due to the pull request being a draft.

" + "description": "

The merge is blocked due to the pull request being a draft.

", + "isDeprecated": true, + "deprecationReason": "

DRAFT state will be removed from this enum and isDraft should be used instead Use PullRequest.isDraft instead. Removal on 2021-01-01 UTC.

" }, { "name": "HAS_HOOKS", @@ -7502,75 +7509,75 @@ "values": [ { "name": "ADDED_TO_MERGE_QUEUE_EVENT", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

" + "description": "

Represents an added_to_merge_queue event on a given pull request.

" }, { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "AUTOMATIC_BASE_CHANGE_FAILED_EVENT", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

" + "description": "

Represents a automatic_base_change_failed event on a given pull request.

" }, { "name": "AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

" + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

" }, { "name": "AUTO_MERGE_DISABLED_EVENT", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

" + "description": "

Represents a auto_merge_disabled event on a given pull request.

" }, { "name": "AUTO_MERGE_ENABLED_EVENT", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

" + "description": "

Represents a auto_merge_enabled event on a given pull request.

" }, { "name": "AUTO_REBASE_ENABLED_EVENT", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

" + "description": "

Represents a auto_rebase_enabled event on a given pull request.

" }, { "name": "AUTO_SQUASH_ENABLED_EVENT", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

" + "description": "

Represents a auto_squash_enabled event on a given pull request.

" }, { "name": "BASE_REF_CHANGED_EVENT", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

" + "description": "

Represents a base_ref_changed event on a given issue or pull request.

" }, { "name": "BASE_REF_DELETED_EVENT", - "description": "

Represents abase_ref_deletedevent on a given pull request.

" + "description": "

Represents a base_ref_deleted event on a given pull request.

" }, { "name": "BASE_REF_FORCE_PUSHED_EVENT", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a base_ref_force_pushed event on a given pull request.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CONVERT_TO_DRAFT_EVENT", - "description": "

Represents aconvert_to_draftevent on a given pull request.

" + "description": "

Represents a convert_to_draft event on a given pull request.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -7578,31 +7585,31 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DEPLOYED_EVENT", - "description": "

Represents adeployedevent on a given pull request.

" + "description": "

Represents a deployed event on a given pull request.

" }, { "name": "DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

" + "description": "

Represents a deployment_environment_changed event on a given pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "HEAD_REF_DELETED_EVENT", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

" + "description": "

Represents a head_ref_deleted event on a given pull request.

" }, { "name": "HEAD_REF_FORCE_PUSHED_EVENT", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a head_ref_force_pushed event on a given pull request.

" }, { "name": "HEAD_REF_RESTORED_EVENT", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

" + "description": "

Represents a head_ref_restored event on a given pull request.

" }, { "name": "ISSUE_COMMENT", @@ -7610,55 +7617,55 @@ }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MERGED_EVENT", - "description": "

Represents amergedevent on a given pull request.

" + "description": "

Represents a merged event on a given pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PULL_REQUEST_COMMIT", @@ -7682,83 +7689,83 @@ }, { "name": "READY_FOR_REVIEW_EVENT", - "description": "

Represents aready_for_reviewevent on a given pull request.

" + "description": "

Represents a ready_for_review event on a given pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_MERGE_QUEUE_EVENT", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

" + "description": "

Represents a removed_from_merge_queue event on a given pull request.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "REVIEW_DISMISSED_EVENT", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

" + "description": "

Represents a review_dismissed event on a given issue or pull request.

" }, { "name": "REVIEW_REQUESTED_EVENT", - "description": "

Represents anreview_requestedevent on a given pull request.

" + "description": "

Represents an review_requested event on a given pull request.

" }, { "name": "REVIEW_REQUEST_REMOVED_EVENT", - "description": "

Represents anreview_request_removedevent on a given pull request.

" + "description": "

Represents an review_request_removed event on a given pull request.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "pulls" diff --git a/src/graphql/data/ghes-3.18/schema-repos.json b/src/graphql/data/ghes-3.18/schema-repos.json index e6f088208d0a..c7be2b7a7c77 100644 --- a/src/graphql/data/ghes-3.18/schema-repos.json +++ b/src/graphql/data/ghes-3.18/schema-repos.json @@ -697,7 +697,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -3327,6 +3327,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -3504,6 +3505,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -3513,6 +3515,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -3592,6 +3595,7 @@ }, { "name": "names", + "defaultValue": "[]", "description": "

The names of the environments to be returned.

", "type": { "name": "[String!]", @@ -3601,6 +3605,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "Environments", @@ -3715,6 +3720,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -3988,6 +3994,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -4141,6 +4148,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -4533,6 +4541,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4657,6 +4666,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "PinnedEnvironmentOrder", @@ -4906,6 +4916,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -7250,6 +7261,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -7801,6 +7813,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -9125,7 +9138,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" diff --git a/src/graphql/data/ghes-3.18/schema-search.json b/src/graphql/data/ghes-3.18/schema-search.json index fe5fcf33c8e3..08a28101aacf 100644 --- a/src/graphql/data/ghes-3.18/schema-search.json +++ b/src/graphql/data/ghes-3.18/schema-search.json @@ -234,7 +234,9 @@ }, { "name": "ISSUE_ADVANCED", - "description": "

Returns results matching issues in repositories.

" + "description": "

Returns results matching issues in repositories.

", + "isDeprecated": true, + "deprecationReason": "

Search for issues and pull requests will be overridden by advanced search on September 4, 2025. You can read more about this change on https://github.blog/changelog/2025-03-06-github-issues-projects-api-support-for-issues-advanced-search-and-more/. Removal on 2025-09-04 UTC.

" }, { "name": "REPOSITORY", diff --git a/src/graphql/data/ghes-3.18/schema-teams.json b/src/graphql/data/ghes-3.18/schema-teams.json index cbfe22fa8327..f5a10f6e7d9b 100644 --- a/src/graphql/data/ghes-3.18/schema-teams.json +++ b/src/graphql/data/ghes-3.18/schema-teams.json @@ -530,6 +530,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -729,6 +730,7 @@ }, { "name": "filterBy", + "defaultValue": "{}", "description": "

Filtering options for projects returned from this connection.

", "type": { "name": "ProjectV2Filters", @@ -766,6 +768,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -2369,7 +2372,7 @@ "name": "TeamMemberRole", "id": "teammemberrole", "href": "/graphql/reference/teams#enum-teammemberrole", - "description": "

The possible team member roles; eithermaintaineror 'member'.

", + "description": "

The possible team member roles; either maintainer or 'member'.

", "values": [ { "name": "MAINTAINER", diff --git a/src/graphql/data/ghes-3.18/schema-users.json b/src/graphql/data/ghes-3.18/schema-users.json index e4dc5849ebd9..a0a9057efed9 100644 --- a/src/graphql/data/ghes-3.18/schema-users.json +++ b/src/graphql/data/ghes-3.18/schema-users.json @@ -732,6 +732,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -887,6 +888,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -980,6 +982,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -1063,6 +1066,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -2039,6 +2043,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for repositories.

", "type": { "name": "RepositoryOrder", @@ -3466,6 +3471,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the User's enterprises.

", "type": { "name": "EnterpriseOrder", @@ -4131,6 +4137,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4454,6 +4461,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4758,6 +4766,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5030,6 +5039,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -5048,6 +5058,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -5109,6 +5120,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

The field to order saved replies by.

", "type": { "name": "SavedReplyOrder", @@ -5449,6 +5461,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5490,7 +5503,7 @@ "name": "UserBlockedEvent", "id": "userblockedevent", "href": "/graphql/reference/users#object-userblockedevent", - "description": "

Represents auser_blockedevent on a given user.

", + "description": "

Represents a user_blocked event on a given user.

", "implements": [ { "name": "Node", @@ -6377,6 +6390,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", diff --git a/src/graphql/data/ghes-3.19/schema-actions.json b/src/graphql/data/ghes-3.19/schema-actions.json index 7f6eb13c016a..d5bcd1d1ebd9 100644 --- a/src/graphql/data/ghes-3.19/schema-actions.json +++ b/src/graphql/data/ghes-3.19/schema-actions.json @@ -98,6 +98,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the connection.

", "type": { "name": "WorkflowRunOrder", diff --git a/src/graphql/data/ghes-3.19/schema-apps.json b/src/graphql/data/ghes-3.19/schema-apps.json index fe0b27324356..6c6d18fe829f 100644 --- a/src/graphql/data/ghes-3.19/schema-apps.json +++ b/src/graphql/data/ghes-3.19/schema-apps.json @@ -93,6 +93,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", diff --git a/src/graphql/data/ghes-3.19/schema-commits.json b/src/graphql/data/ghes-3.19/schema-commits.json index 3084fae6d74b..0a4d9160ded1 100644 --- a/src/graphql/data/ghes-3.19/schema-commits.json +++ b/src/graphql/data/ghes-3.19/schema-commits.json @@ -127,6 +127,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -431,6 +432,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -1443,6 +1445,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: OCCURRED_AT, direction: DESC}", "description": "

Ordering options for commit contributions returned from the connection.

", "type": { "name": "CommitContributionOrder", diff --git a/src/graphql/data/ghes-3.19/schema-deployments.json b/src/graphql/data/ghes-3.19/schema-deployments.json index 4be37a8043f8..d2045fe67a7f 100644 --- a/src/graphql/data/ghes-3.19/schema-deployments.json +++ b/src/graphql/data/ghes-3.19/schema-deployments.json @@ -316,7 +316,7 @@ "name": "DeployedEvent", "id": "deployedevent", "href": "/graphql/reference/deployments#object-deployedevent", - "description": "

Represents adeployedevent on a given pull request.

", + "description": "

Represents a deployed event on a given pull request.

", "implements": [ { "name": "Node", @@ -348,7 +348,7 @@ }, { "name": "deployment", - "description": "

The deployment associated with thedeployedevent.

", + "description": "

The deployment associated with the deployed event.

", "type": "Deployment!", "id": "deployment", "href": "/graphql/reference/deployments#object-deployment" @@ -369,7 +369,7 @@ }, { "name": "ref", - "description": "

The ref associated with thedeployedevent.

", + "description": "

The ref associated with the deployed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -621,7 +621,7 @@ "name": "DeploymentEnvironmentChangedEvent", "id": "deploymentenvironmentchangedevent", "href": "/graphql/reference/deployments#object-deploymentenvironmentchangedevent", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

", + "description": "

Represents a deployment_environment_changed event on a given pull request.

", "implements": [ { "name": "Node", diff --git a/src/graphql/data/ghes-3.19/schema-discussions.json b/src/graphql/data/ghes-3.19/schema-discussions.json index 891cc298a653..7c511d7b5c37 100644 --- a/src/graphql/data/ghes-3.19/schema-discussions.json +++ b/src/graphql/data/ghes-3.19/schema-discussions.json @@ -691,6 +691,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -1771,6 +1772,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: AUTHORED_ORDER, direction: ASC}", "description": "

How to order the options for the discussion poll.

", "type": { "name": "DiscussionPollOptionOrder", @@ -2135,6 +2137,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -2153,6 +2156,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", diff --git a/src/graphql/data/ghes-3.19/schema-enterprise-admin.json b/src/graphql/data/ghes-3.19/schema-enterprise-admin.json index 3cd9b1d41939..1beae808581e 100644 --- a/src/graphql/data/ghes-3.19/schema-enterprise-admin.json +++ b/src/graphql/data/ghes-3.19/schema-enterprise-admin.json @@ -1230,6 +1230,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for members returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -1327,6 +1328,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", @@ -2069,6 +2071,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for administrators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -2218,6 +2221,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2295,6 +2299,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2376,6 +2381,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -2491,6 +2497,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -2573,6 +2580,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2664,6 +2672,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2734,6 +2743,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2804,6 +2814,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2874,6 +2885,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2951,6 +2963,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3021,6 +3034,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3098,6 +3112,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3179,6 +3194,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for outside collaborators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -3269,6 +3285,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending enterprise administrator invitations returned from the connection.

", "type": { "name": "EnterpriseAdministratorInvitationOrder", @@ -3341,6 +3358,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending repository collaborator invitations returned from the connection.

", "type": { "name": "RepositoryInvitationOrder", @@ -3483,6 +3501,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3553,6 +3572,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3623,6 +3643,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3693,6 +3714,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3770,6 +3792,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3995,6 +4018,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for Enterprise Server user accounts returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountOrder", @@ -4049,6 +4073,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for Enterprise Server user accounts uploads returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountsUploadOrder", @@ -4193,6 +4218,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: EMAIL, direction: ASC}", "description": "

Ordering options for Enterprise Server user account emails returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountEmailOrder", @@ -4659,6 +4685,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: HOST_NAME, direction: ASC}", "description": "

Ordering options for installations returned from the connection.

", "type": { "name": "EnterpriseServerInstallationOrder", @@ -4752,6 +4779,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", diff --git a/src/graphql/data/ghes-3.19/schema-git.json b/src/graphql/data/ghes-3.19/schema-git.json index 89902cad157b..8d38cdabe9e9 100644 --- a/src/graphql/data/ghes-3.19/schema-git.json +++ b/src/graphql/data/ghes-3.19/schema-git.json @@ -716,6 +716,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for repository rules.

", "type": { "name": "RepositoryRuleOrder", diff --git a/src/graphql/data/ghes-3.19/schema-issues.json b/src/graphql/data/ghes-3.19/schema-issues.json index b02b46fed305..7b4d1c3880bb 100644 --- a/src/graphql/data/ghes-3.19/schema-issues.json +++ b/src/graphql/data/ghes-3.19/schema-issues.json @@ -1185,7 +1185,7 @@ "name": "AssignedEvent", "id": "assignedevent", "href": "/graphql/reference/issues#object-assignedevent", - "description": "

Represents anassignedevent on any assignable object.

", + "description": "

Represents an assigned event on any assignable object.

", "implements": [ { "name": "Node", @@ -1305,7 +1305,7 @@ "name": "BlockedByAddedEvent", "id": "blockedbyaddedevent", "href": "/graphql/reference/issues#object-blockedbyaddedevent", - "description": "

Represents ablocked_by_addedevent on a given issue.

", + "description": "

Represents a blocked_by_added event on a given issue.

", "implements": [ { "name": "Node", @@ -1349,7 +1349,7 @@ "name": "BlockedByRemovedEvent", "id": "blockedbyremovedevent", "href": "/graphql/reference/issues#object-blockedbyremovedevent", - "description": "

Represents ablocked_by_removedevent on a given issue.

", + "description": "

Represents a blocked_by_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -1393,7 +1393,7 @@ "name": "BlockingAddedEvent", "id": "blockingaddedevent", "href": "/graphql/reference/issues#object-blockingaddedevent", - "description": "

Represents ablocking_addedevent on a given issue.

", + "description": "

Represents a blocking_added event on a given issue.

", "implements": [ { "name": "Node", @@ -1437,7 +1437,7 @@ "name": "BlockingRemovedEvent", "id": "blockingremovedevent", "href": "/graphql/reference/issues#object-blockingremovedevent", - "description": "

Represents ablocking_removedevent on a given issue.

", + "description": "

Represents a blocking_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -1481,7 +1481,7 @@ "name": "ClosedEvent", "id": "closedevent", "href": "/graphql/reference/issues#object-closedevent", - "description": "

Represents aclosedevent on any Closable.

", + "description": "

Represents a closed event on any Closable.

", "implements": [ { "name": "Node", @@ -1565,7 +1565,7 @@ "name": "CommentDeletedEvent", "id": "commentdeletedevent", "href": "/graphql/reference/issues#object-commentdeletedevent", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

", + "description": "

Represents a comment_deleted event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1616,7 +1616,7 @@ "name": "ConnectedEvent", "id": "connectedevent", "href": "/graphql/reference/issues#object-connectedevent", - "description": "

Represents aconnectedevent on a given issue or pull request.

", + "description": "

Represents a connected event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1674,7 +1674,7 @@ "name": "ConvertedNoteToIssueEvent", "id": "convertednotetoissueevent", "href": "/graphql/reference/issues#object-convertednotetoissueevent", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

", + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1743,7 +1743,7 @@ "name": "ConvertedToDiscussionEvent", "id": "convertedtodiscussionevent", "href": "/graphql/reference/issues#object-convertedtodiscussionevent", - "description": "

Represents aconverted_to_discussionevent on a given issue.

", + "description": "

Represents a converted_to_discussion event on a given issue.

", "implements": [ { "name": "Node", @@ -1878,7 +1878,7 @@ "name": "DemilestonedEvent", "id": "demilestonedevent", "href": "/graphql/reference/issues#object-demilestonedevent", - "description": "

Represents ademilestonedevent on a given issue or pull request.

", + "description": "

Represents a demilestoned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1910,7 +1910,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with thedemilestonedevent.

", + "description": "

Identifies the milestone title associated with the demilestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -1929,7 +1929,7 @@ "name": "DisconnectedEvent", "id": "disconnectedevent", "href": "/graphql/reference/issues#object-disconnectedevent", - "description": "

Represents adisconnectedevent on a given issue or pull request.

", + "description": "

Represents a disconnected event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -2222,6 +2222,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -2276,6 +2277,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -2611,6 +2613,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -2763,6 +2766,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -2929,6 +2933,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -3982,6 +3987,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -4164,6 +4170,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -4492,7 +4499,7 @@ "name": "IssueTypeAddedEvent", "id": "issuetypeaddedevent", "href": "/graphql/reference/issues#object-issuetypeaddedevent", - "description": "

Represents aissue_type_addedevent on a given issue.

", + "description": "

Represents a issue_type_added event on a given issue.

", "implements": [ { "name": "Node", @@ -4536,7 +4543,7 @@ "name": "IssueTypeChangedEvent", "id": "issuetypechangedevent", "href": "/graphql/reference/issues#object-issuetypechangedevent", - "description": "

Represents aissue_type_changedevent on a given issue.

", + "description": "

Represents a issue_type_changed event on a given issue.

", "implements": [ { "name": "Node", @@ -4647,7 +4654,7 @@ "name": "IssueTypeRemovedEvent", "id": "issuetyperemovedevent", "href": "/graphql/reference/issues#object-issuetyperemovedevent", - "description": "

Represents aissue_type_removedevent on a given issue.

", + "description": "

Represents a issue_type_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -5008,7 +5015,7 @@ "name": "LabeledEvent", "id": "labeledevent", "href": "/graphql/reference/issues#object-labeledevent", - "description": "

Represents alabeledevent on a given issue or pull request.

", + "description": "

Represents a labeled event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5040,7 +5047,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with thelabeledevent.

", + "description": "

Identifies the label associated with the labeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -5149,7 +5156,7 @@ "name": "LockedEvent", "id": "lockedevent", "href": "/graphql/reference/issues#object-lockedevent", - "description": "

Represents alockedevent on a given issue or pull request.

", + "description": "

Represents a locked event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5200,7 +5207,7 @@ "name": "MarkedAsDuplicateEvent", "id": "markedasduplicateevent", "href": "/graphql/reference/issues#object-markedasduplicateevent", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5258,7 +5265,7 @@ "name": "MentionedEvent", "id": "mentionedevent", "href": "/graphql/reference/issues#object-mentionedevent", - "description": "

Represents amentionedevent on a given issue or pull request.

", + "description": "

Represents a mentioned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5699,7 +5706,7 @@ "name": "MilestonedEvent", "id": "milestonedevent", "href": "/graphql/reference/issues#object-milestonedevent", - "description": "

Represents amilestonedevent on a given issue or pull request.

", + "description": "

Represents a milestoned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5731,7 +5738,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with themilestonedevent.

", + "description": "

Identifies the milestone title associated with the milestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -5750,7 +5757,7 @@ "name": "ParentIssueAddedEvent", "id": "parentissueaddedevent", "href": "/graphql/reference/issues#object-parentissueaddedevent", - "description": "

Represents aparent_issue_addedevent on a given issue.

", + "description": "

Represents a parent_issue_added event on a given issue.

", "implements": [ { "name": "Node", @@ -5794,7 +5801,7 @@ "name": "ParentIssueRemovedEvent", "id": "parentissueremovedevent", "href": "/graphql/reference/issues#object-parentissueremovedevent", - "description": "

Represents aparent_issue_removedevent on a given issue.

", + "description": "

Represents a parent_issue_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -5838,7 +5845,7 @@ "name": "PinnedEvent", "id": "pinnedevent", "href": "/graphql/reference/issues#object-pinnedevent", - "description": "

Represents apinnedevent on a given issue or pull request.

", + "description": "

Represents a pinned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6000,7 +6007,7 @@ "name": "ReferencedEvent", "id": "referencedevent", "href": "/graphql/reference/issues#object-referencedevent", - "description": "

Represents areferencedevent on a given ReferencedSubject.

", + "description": "

Represents a referenced event on a given ReferencedSubject.

", "implements": [ { "name": "Node", @@ -6018,14 +6025,14 @@ }, { "name": "commit", - "description": "

Identifies the commit associated with thereferencedevent.

", + "description": "

Identifies the commit associated with the referenced event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "commitRepository", - "description": "

Identifies the repository associated with thereferencedevent.

", + "description": "

Identifies the repository associated with the referenced event.

", "type": "Repository!", "id": "repository", "href": "/graphql/reference/repos#object-repository" @@ -6072,7 +6079,7 @@ "name": "RenamedTitleEvent", "id": "renamedtitleevent", "href": "/graphql/reference/issues#object-renamedtitleevent", - "description": "

Represents arenamedevent on a given issue or pull request.

", + "description": "

Represents a renamed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6130,7 +6137,7 @@ "name": "ReopenedEvent", "id": "reopenedevent", "href": "/graphql/reference/issues#object-reopenedevent", - "description": "

Represents areopenedevent on any Closable.

", + "description": "

Represents a reopened event on any Closable.

", "implements": [ { "name": "Node", @@ -6181,7 +6188,7 @@ "name": "SubIssueAddedEvent", "id": "subissueaddedevent", "href": "/graphql/reference/issues#object-subissueaddedevent", - "description": "

Represents asub_issue_addedevent on a given issue.

", + "description": "

Represents a sub_issue_added event on a given issue.

", "implements": [ { "name": "Node", @@ -6225,7 +6232,7 @@ "name": "SubIssueRemovedEvent", "id": "subissueremovedevent", "href": "/graphql/reference/issues#object-subissueremovedevent", - "description": "

Represents asub_issue_removedevent on a given issue.

", + "description": "

Represents a sub_issue_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -6299,7 +6306,7 @@ "name": "SubscribedEvent", "id": "subscribedevent", "href": "/graphql/reference/issues#object-subscribedevent", - "description": "

Represents asubscribedevent on a given Subscribable.

", + "description": "

Represents a subscribed event on a given Subscribable.

", "implements": [ { "name": "Node", @@ -6343,7 +6350,7 @@ "name": "TransferredEvent", "id": "transferredevent", "href": "/graphql/reference/issues#object-transferredevent", - "description": "

Represents atransferredevent on a given issue or pull request.

", + "description": "

Represents a transferred event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6394,7 +6401,7 @@ "name": "UnassignedEvent", "id": "unassignedevent", "href": "/graphql/reference/issues#object-unassignedevent", - "description": "

Represents anunassignedevent on any assignable object.

", + "description": "

Represents an unassigned event on any assignable object.

", "implements": [ { "name": "Node", @@ -6454,7 +6461,7 @@ "name": "UnlabeledEvent", "id": "unlabeledevent", "href": "/graphql/reference/issues#object-unlabeledevent", - "description": "

Represents anunlabeledevent on a given issue or pull request.

", + "description": "

Represents an unlabeled event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6486,7 +6493,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with theunlabeledevent.

", + "description": "

Identifies the label associated with the unlabeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -6505,7 +6512,7 @@ "name": "UnlockedEvent", "id": "unlockedevent", "href": "/graphql/reference/issues#object-unlockedevent", - "description": "

Represents anunlockedevent on a given issue or pull request.

", + "description": "

Represents an unlocked event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6549,7 +6556,7 @@ "name": "UnmarkedAsDuplicateEvent", "id": "unmarkedasduplicateevent", "href": "/graphql/reference/issues#object-unmarkedasduplicateevent", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6607,7 +6614,7 @@ "name": "UnpinnedEvent", "id": "unpinnedevent", "href": "/graphql/reference/issues#object-unpinnedevent", - "description": "

Represents anunpinnedevent on a given issue or pull request.

", + "description": "

Represents an unpinned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6651,7 +6658,7 @@ "name": "UnsubscribedEvent", "id": "unsubscribedevent", "href": "/graphql/reference/issues#object-unsubscribedevent", - "description": "

Represents anunsubscribedevent on a given Subscribable.

", + "description": "

Represents an unsubscribed event on a given Subscribable.

", "implements": [ { "name": "Node", @@ -7102,6 +7109,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -7415,47 +7423,47 @@ "values": [ { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -7463,11 +7471,11 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "ISSUE_COMMENT", @@ -7475,111 +7483,111 @@ }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "issues" diff --git a/src/graphql/data/ghes-3.19/schema-orgs.json b/src/graphql/data/ghes-3.19/schema-orgs.json index f00209e51ef2..18a1e5ca8e83 100644 --- a/src/graphql/data/ghes-3.19/schema-orgs.json +++ b/src/graphql/data/ghes-3.19/schema-orgs.json @@ -6644,6 +6644,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the returned audit log entries.

", "type": { "name": "AuditLogOrder", @@ -6773,6 +6774,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -6834,6 +6836,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for enterprise owners returned from the connection.

", "type": { "name": "OrgEnterpriseOwnerOrder", @@ -6920,6 +6923,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -6988,6 +6992,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -7072,6 +7077,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for mannequins returned from the connection.

", "type": { "name": "MannequinOrder", @@ -7126,6 +7132,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -7276,6 +7283,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -7644,6 +7652,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -7806,6 +7815,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -7979,6 +7989,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -7997,6 +8008,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -8051,6 +8063,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for repository migrations returned.

", "type": { "name": "RepositoryMigrationOrder", diff --git a/src/graphql/data/ghes-3.19/schema-packages.json b/src/graphql/data/ghes-3.19/schema-packages.json index cf269b0d72b6..3f3e8c1856f9 100644 --- a/src/graphql/data/ghes-3.19/schema-packages.json +++ b/src/graphql/data/ghes-3.19/schema-packages.json @@ -151,6 +151,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageVersionOrder", @@ -473,6 +474,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering of the returned package files.

", "type": { "name": "PackageFileOrder", @@ -693,6 +695,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -763,19 +766,27 @@ }, { "name": "DOCKER", - "description": "

A docker image.

" + "description": "

A docker image.

", + "isDeprecated": true, + "deprecationReason": "

DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2021-06-21 UTC.

" }, { "name": "MAVEN", - "description": "

A maven package.

" + "description": "

A maven package.

", + "isDeprecated": true, + "deprecationReason": "

MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2023-02-10 UTC.

" }, { "name": "NPM", - "description": "

An npm package.

" + "description": "

An npm package.

", + "isDeprecated": true, + "deprecationReason": "

NPM will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "NUGET", - "description": "

A nuget package.

" + "description": "

A nuget package.

", + "isDeprecated": true, + "deprecationReason": "

NUGET will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "PYPI", @@ -783,7 +794,9 @@ }, { "name": "RUBYGEMS", - "description": "

A rubygems package.

" + "description": "

A rubygems package.

", + "isDeprecated": true, + "deprecationReason": "

RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-12-28 UTC.

" } ], "category": "packages" diff --git a/src/graphql/data/ghes-3.19/schema-projects-classic.json b/src/graphql/data/ghes-3.19/schema-projects-classic.json index c48a890aa4fb..a80afabea5fd 100644 --- a/src/graphql/data/ghes-3.19/schema-projects-classic.json +++ b/src/graphql/data/ghes-3.19/schema-projects-classic.json @@ -550,7 +550,7 @@ "name": "AddedToProjectEvent", "id": "addedtoprojectevent", "href": "/graphql/reference/projects-classic#object-addedtoprojectevent", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

", + "description": "

Represents a added_to_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -623,7 +623,7 @@ "name": "MovedColumnsInProjectEvent", "id": "movedcolumnsinprojectevent", "href": "/graphql/reference/projects-classic#object-movedcolumnsinprojectevent", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

", + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -884,6 +884,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1215,6 +1216,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1533,7 +1535,7 @@ "name": "RemovedFromProjectEvent", "id": "removedfromprojectevent", "href": "/graphql/reference/projects-classic#object-removedfromprojectevent", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

", + "description": "

Represents a removed_from_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1744,11 +1746,15 @@ "values": [ { "name": "ARCHIVED", - "description": "

A project card that is archived.

" + "description": "

A project card that is archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" }, { "name": "NOT_ARCHIVED", - "description": "

A project card that is not archived.

" + "description": "

A project card that is not archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" } ], "category": "projects-classic" @@ -1820,7 +1826,7 @@ "name": "ProjectState", "id": "projectstate", "href": "/graphql/reference/projects-classic#enum-projectstate", - "description": "

State of the project; eitheropenor 'closed'.

", + "description": "

State of the project; either open or 'closed'.

", "values": [ { "name": "CLOSED", diff --git a/src/graphql/data/ghes-3.19/schema-projects.json b/src/graphql/data/ghes-3.19/schema-projects.json index a6645f742972..ceacb2520de1 100644 --- a/src/graphql/data/ghes-3.19/schema-projects.json +++ b/src/graphql/data/ghes-3.19/schema-projects.json @@ -1214,6 +1214,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -1282,6 +1283,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 items returned from the connection.

", "type": { "name": "ProjectV2ItemOrder", @@ -1364,6 +1366,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for repositories returned from the connection.

", "type": { "name": "RepositoryOrder", @@ -1432,6 +1435,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Order for connection.

", "type": { "name": "ProjectV2StatusOrder", @@ -1486,6 +1490,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for teams returned from this connection.

", "type": { "name": "TeamOrder", @@ -1607,6 +1612,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 views returned from the connection.

", "type": { "name": "ProjectV2ViewOrder", @@ -1679,6 +1685,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for project v2 workflows returned from the connection.

", "type": { "name": "ProjectV2WorkflowOrder", @@ -2046,7 +2053,7 @@ }, { "name": "fieldValueByName", - "description": "

The field value of the first project field which matches thenameargument that is set on the item.

", + "description": "

The field value of the first project field which matches the name argument that is set on the item.

", "type": "ProjectV2ItemFieldValue", "id": "projectv2itemfieldvalue", "href": "/graphql/reference/projects#union-projectv2itemfieldvalue", @@ -2107,6 +2114,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 item field values returned from the connection.

", "type": { "name": "ProjectV2ItemFieldValueOrder", @@ -2622,6 +2630,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -3727,6 +3736,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -3795,6 +3805,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -3851,6 +3862,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4039,6 +4051,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4095,6 +4108,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4149,6 +4163,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4568,6 +4583,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", diff --git a/src/graphql/data/ghes-3.19/schema-pulls.json b/src/graphql/data/ghes-3.19/schema-pulls.json index 1c47874461e1..33fc9a03c4bc 100644 --- a/src/graphql/data/ghes-3.19/schema-pulls.json +++ b/src/graphql/data/ghes-3.19/schema-pulls.json @@ -975,7 +975,7 @@ "name": "AddedToMergeQueueEvent", "id": "addedtomergequeueevent", "href": "/graphql/reference/pulls#object-addedtomergequeueevent", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

", + "description": "

Represents an added_to_merge_queue event on a given pull request.

", "implements": [ { "name": "Node", @@ -1033,7 +1033,7 @@ "name": "AutoMergeDisabledEvent", "id": "automergedisabledevent", "href": "/graphql/reference/pulls#object-automergedisabledevent", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

", + "description": "

Represents a auto_merge_disabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1098,7 +1098,7 @@ "name": "AutoMergeEnabledEvent", "id": "automergeenabledevent", "href": "/graphql/reference/pulls#object-automergeenabledevent", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

", + "description": "

Represents a auto_merge_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1207,7 +1207,7 @@ "name": "AutoRebaseEnabledEvent", "id": "autorebaseenabledevent", "href": "/graphql/reference/pulls#object-autorebaseenabledevent", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

", + "description": "

Represents a auto_rebase_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1258,7 +1258,7 @@ "name": "AutoSquashEnabledEvent", "id": "autosquashenabledevent", "href": "/graphql/reference/pulls#object-autosquashenabledevent", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

", + "description": "

Represents a auto_squash_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1309,7 +1309,7 @@ "name": "AutomaticBaseChangeFailedEvent", "id": "automaticbasechangefailedevent", "href": "/graphql/reference/pulls#object-automaticbasechangefailedevent", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

", + "description": "

Represents a automatic_base_change_failed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1367,7 +1367,7 @@ "name": "AutomaticBaseChangeSucceededEvent", "id": "automaticbasechangesucceededevent", "href": "/graphql/reference/pulls#object-automaticbasechangesucceededevent", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

", + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

", "implements": [ { "name": "Node", @@ -1425,7 +1425,7 @@ "name": "BaseRefChangedEvent", "id": "baserefchangedevent", "href": "/graphql/reference/pulls#object-baserefchangedevent", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

", + "description": "

Represents a base_ref_changed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1490,7 +1490,7 @@ "name": "BaseRefDeletedEvent", "id": "baserefdeletedevent", "href": "/graphql/reference/pulls#object-baserefdeletedevent", - "description": "

Represents abase_ref_deletedevent on a given pull request.

", + "description": "

Represents a base_ref_deleted event on a given pull request.

", "implements": [ { "name": "Node", @@ -1541,7 +1541,7 @@ "name": "BaseRefForcePushedEvent", "id": "baserefforcepushedevent", "href": "/graphql/reference/pulls#object-baserefforcepushedevent", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a base_ref_force_pushed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1559,14 +1559,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -1594,7 +1594,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thebase_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the base_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -1606,7 +1606,7 @@ "name": "ConvertToDraftEvent", "id": "converttodraftevent", "href": "/graphql/reference/pulls#object-converttodraftevent", - "description": "

Represents aconvert_to_draftevent on a given pull request.

", + "description": "

Represents a convert_to_draft event on a given pull request.

", "implements": [ { "name": "Node", @@ -1692,7 +1692,7 @@ "name": "HeadRefDeletedEvent", "id": "headrefdeletedevent", "href": "/graphql/reference/pulls#object-headrefdeletedevent", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

", + "description": "

Represents a head_ref_deleted event on a given pull request.

", "implements": [ { "name": "Node", @@ -1750,7 +1750,7 @@ "name": "HeadRefForcePushedEvent", "id": "headrefforcepushedevent", "href": "/graphql/reference/pulls#object-headrefforcepushedevent", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a head_ref_force_pushed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1768,14 +1768,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -1803,7 +1803,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thehead_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the head_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -1815,7 +1815,7 @@ "name": "HeadRefRestoredEvent", "id": "headrefrestoredevent", "href": "/graphql/reference/pulls#object-headrefrestoredevent", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

", + "description": "

Represents a head_ref_restored event on a given pull request.

", "implements": [ { "name": "Node", @@ -2238,7 +2238,7 @@ "name": "MergedEvent", "id": "mergedevent", "href": "/graphql/reference/pulls#object-mergedevent", - "description": "

Represents amergedevent on a given pull request.

", + "description": "

Represents a merged event on a given pull request.

", "implements": [ { "name": "Node", @@ -3007,6 +3007,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -3284,6 +3285,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -3450,6 +3452,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4597,6 +4600,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -5807,6 +5811,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -6492,7 +6497,7 @@ "name": "ReadyForReviewEvent", "id": "readyforreviewevent", "href": "/graphql/reference/pulls#object-readyforreviewevent", - "description": "

Represents aready_for_reviewevent on a given pull request.

", + "description": "

Represents a ready_for_review event on a given pull request.

", "implements": [ { "name": "Node", @@ -6555,7 +6560,7 @@ "name": "RemovedFromMergeQueueEvent", "id": "removedfrommergequeueevent", "href": "/graphql/reference/pulls#object-removedfrommergequeueevent", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

", + "description": "

Represents a removed_from_merge_queue event on a given pull request.

", "implements": [ { "name": "Node", @@ -6573,7 +6578,7 @@ }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for theremoved_from_merge_queueevent.

", + "description": "

Identifies the before commit SHA for the removed_from_merge_queue event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -6687,7 +6692,7 @@ "name": "ReviewDismissedEvent", "id": "reviewdismissedevent", "href": "/graphql/reference/pulls#object-reviewdismissedevent", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

", + "description": "

Represents a review_dismissed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6724,7 +6729,7 @@ }, { "name": "dismissalMessage", - "description": "

Identifies the optional message associated with thereview_dismissedevent.

", + "description": "

Identifies the optional message associated with the review_dismissed event.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -6745,7 +6750,7 @@ }, { "name": "previousReviewState", - "description": "

Identifies the previous state of the review with thereview_dismissedevent.

", + "description": "

Identifies the previous state of the review with the review_dismissed event.

", "type": "PullRequestReviewState!", "id": "pullrequestreviewstate", "href": "/graphql/reference/pulls#enum-pullrequestreviewstate" @@ -6773,7 +6778,7 @@ }, { "name": "review", - "description": "

Identifies the review associated with thereview_dismissedevent.

", + "description": "

Identifies the review associated with the review_dismissed event.

", "type": "PullRequestReview", "id": "pullrequestreview", "href": "/graphql/reference/pulls#object-pullrequestreview" @@ -6903,7 +6908,7 @@ "name": "ReviewRequestRemovedEvent", "id": "reviewrequestremovedevent", "href": "/graphql/reference/pulls#object-reviewrequestremovedevent", - "description": "

Represents anreview_request_removedevent on a given pull request.

", + "description": "

Represents an review_request_removed event on a given pull request.

", "implements": [ { "name": "Node", @@ -6954,7 +6959,7 @@ "name": "ReviewRequestedEvent", "id": "reviewrequestedevent", "href": "/graphql/reference/pulls#object-reviewrequestedevent", - "description": "

Represents anreview_requestedevent on a given pull request.

", + "description": "

Represents an review_requested event on a given pull request.

", "implements": [ { "name": "Node", @@ -7254,7 +7259,9 @@ }, { "name": "DRAFT", - "description": "

The merge is blocked due to the pull request being a draft.

" + "description": "

The merge is blocked due to the pull request being a draft.

", + "isDeprecated": true, + "deprecationReason": "

DRAFT state will be removed from this enum and isDraft should be used instead Use PullRequest.isDraft instead. Removal on 2021-01-01 UTC.

" }, { "name": "HAS_HOOKS", @@ -7539,91 +7546,91 @@ "values": [ { "name": "ADDED_TO_MERGE_QUEUE_EVENT", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

" + "description": "

Represents an added_to_merge_queue event on a given pull request.

" }, { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "AUTOMATIC_BASE_CHANGE_FAILED_EVENT", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

" + "description": "

Represents a automatic_base_change_failed event on a given pull request.

" }, { "name": "AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

" + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

" }, { "name": "AUTO_MERGE_DISABLED_EVENT", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

" + "description": "

Represents a auto_merge_disabled event on a given pull request.

" }, { "name": "AUTO_MERGE_ENABLED_EVENT", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

" + "description": "

Represents a auto_merge_enabled event on a given pull request.

" }, { "name": "AUTO_REBASE_ENABLED_EVENT", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

" + "description": "

Represents a auto_rebase_enabled event on a given pull request.

" }, { "name": "AUTO_SQUASH_ENABLED_EVENT", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

" + "description": "

Represents a auto_squash_enabled event on a given pull request.

" }, { "name": "BASE_REF_CHANGED_EVENT", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

" + "description": "

Represents a base_ref_changed event on a given issue or pull request.

" }, { "name": "BASE_REF_DELETED_EVENT", - "description": "

Represents abase_ref_deletedevent on a given pull request.

" + "description": "

Represents a base_ref_deleted event on a given pull request.

" }, { "name": "BASE_REF_FORCE_PUSHED_EVENT", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a base_ref_force_pushed event on a given pull request.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CONVERT_TO_DRAFT_EVENT", - "description": "

Represents aconvert_to_draftevent on a given pull request.

" + "description": "

Represents a convert_to_draft event on a given pull request.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -7631,31 +7638,31 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DEPLOYED_EVENT", - "description": "

Represents adeployedevent on a given pull request.

" + "description": "

Represents a deployed event on a given pull request.

" }, { "name": "DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

" + "description": "

Represents a deployment_environment_changed event on a given pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "HEAD_REF_DELETED_EVENT", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

" + "description": "

Represents a head_ref_deleted event on a given pull request.

" }, { "name": "HEAD_REF_FORCE_PUSHED_EVENT", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a head_ref_force_pushed event on a given pull request.

" }, { "name": "HEAD_REF_RESTORED_EVENT", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

" + "description": "

Represents a head_ref_restored event on a given pull request.

" }, { "name": "ISSUE_COMMENT", @@ -7663,55 +7670,55 @@ }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MERGED_EVENT", - "description": "

Represents amergedevent on a given pull request.

" + "description": "

Represents a merged event on a given pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PULL_REQUEST_COMMIT", @@ -7735,83 +7742,83 @@ }, { "name": "READY_FOR_REVIEW_EVENT", - "description": "

Represents aready_for_reviewevent on a given pull request.

" + "description": "

Represents a ready_for_review event on a given pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_MERGE_QUEUE_EVENT", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

" + "description": "

Represents a removed_from_merge_queue event on a given pull request.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "REVIEW_DISMISSED_EVENT", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

" + "description": "

Represents a review_dismissed event on a given issue or pull request.

" }, { "name": "REVIEW_REQUESTED_EVENT", - "description": "

Represents anreview_requestedevent on a given pull request.

" + "description": "

Represents an review_requested event on a given pull request.

" }, { "name": "REVIEW_REQUEST_REMOVED_EVENT", - "description": "

Represents anreview_request_removedevent on a given pull request.

" + "description": "

Represents an review_request_removed event on a given pull request.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "pulls" diff --git a/src/graphql/data/ghes-3.19/schema-repos.json b/src/graphql/data/ghes-3.19/schema-repos.json index 8a77c40a9d4a..567fe06ea803 100644 --- a/src/graphql/data/ghes-3.19/schema-repos.json +++ b/src/graphql/data/ghes-3.19/schema-repos.json @@ -697,7 +697,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -3327,6 +3327,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -3504,6 +3505,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -3513,6 +3515,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -3592,6 +3595,7 @@ }, { "name": "names", + "defaultValue": "[]", "description": "

The names of the environments to be returned.

", "type": { "name": "[String!]", @@ -3601,6 +3605,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "Environments", @@ -3715,6 +3720,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -3988,6 +3994,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -4141,6 +4148,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -4533,6 +4541,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4657,6 +4666,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "PinnedEnvironmentOrder", @@ -4906,6 +4916,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -7257,6 +7268,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -7808,6 +7820,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -9145,7 +9158,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" diff --git a/src/graphql/data/ghes-3.19/schema-search.json b/src/graphql/data/ghes-3.19/schema-search.json index fe5fcf33c8e3..4650c067e5cd 100644 --- a/src/graphql/data/ghes-3.19/schema-search.json +++ b/src/graphql/data/ghes-3.19/schema-search.json @@ -234,7 +234,9 @@ }, { "name": "ISSUE_ADVANCED", - "description": "

Returns results matching issues in repositories.

" + "description": "

Returns results matching issues in repositories.

", + "isDeprecated": true, + "deprecationReason": "

Search for issues and pull requests will be overridden by advanced search on November 4, 2025. You can read more about this change on https://github.blog/changelog/2025-03-06-github-issues-projects-api-support-for-issues-advanced-search-and-more/. Removal on 2025-11-04 UTC.

" }, { "name": "REPOSITORY", diff --git a/src/graphql/data/ghes-3.19/schema-teams.json b/src/graphql/data/ghes-3.19/schema-teams.json index cbfe22fa8327..f5a10f6e7d9b 100644 --- a/src/graphql/data/ghes-3.19/schema-teams.json +++ b/src/graphql/data/ghes-3.19/schema-teams.json @@ -530,6 +530,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -729,6 +730,7 @@ }, { "name": "filterBy", + "defaultValue": "{}", "description": "

Filtering options for projects returned from this connection.

", "type": { "name": "ProjectV2Filters", @@ -766,6 +768,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -2369,7 +2372,7 @@ "name": "TeamMemberRole", "id": "teammemberrole", "href": "/graphql/reference/teams#enum-teammemberrole", - "description": "

The possible team member roles; eithermaintaineror 'member'.

", + "description": "

The possible team member roles; either maintainer or 'member'.

", "values": [ { "name": "MAINTAINER", diff --git a/src/graphql/data/ghes-3.19/schema-users.json b/src/graphql/data/ghes-3.19/schema-users.json index 4c9a68eccc03..5fbbd0f3cb68 100644 --- a/src/graphql/data/ghes-3.19/schema-users.json +++ b/src/graphql/data/ghes-3.19/schema-users.json @@ -732,6 +732,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -887,6 +888,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -980,6 +982,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -1063,6 +1066,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -2039,6 +2043,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for repositories.

", "type": { "name": "RepositoryOrder", @@ -3466,6 +3471,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the User's enterprises.

", "type": { "name": "EnterpriseOrder", @@ -4131,6 +4137,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4454,6 +4461,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4758,6 +4766,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5030,6 +5039,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -5048,6 +5058,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -5109,6 +5120,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

The field to order saved replies by.

", "type": { "name": "SavedReplyOrder", @@ -5449,6 +5461,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5490,7 +5503,7 @@ "name": "UserBlockedEvent", "id": "userblockedevent", "href": "/graphql/reference/users#object-userblockedevent", - "description": "

Represents auser_blockedevent on a given user.

", + "description": "

Represents a user_blocked event on a given user.

", "implements": [ { "name": "Node", @@ -6377,6 +6390,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", diff --git a/src/graphql/data/ghes-3.20/schema-actions.json b/src/graphql/data/ghes-3.20/schema-actions.json index 7f6eb13c016a..d5bcd1d1ebd9 100644 --- a/src/graphql/data/ghes-3.20/schema-actions.json +++ b/src/graphql/data/ghes-3.20/schema-actions.json @@ -98,6 +98,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the connection.

", "type": { "name": "WorkflowRunOrder", diff --git a/src/graphql/data/ghes-3.20/schema-apps.json b/src/graphql/data/ghes-3.20/schema-apps.json index fe0b27324356..6c6d18fe829f 100644 --- a/src/graphql/data/ghes-3.20/schema-apps.json +++ b/src/graphql/data/ghes-3.20/schema-apps.json @@ -93,6 +93,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", diff --git a/src/graphql/data/ghes-3.20/schema-commits.json b/src/graphql/data/ghes-3.20/schema-commits.json index 3084fae6d74b..0a4d9160ded1 100644 --- a/src/graphql/data/ghes-3.20/schema-commits.json +++ b/src/graphql/data/ghes-3.20/schema-commits.json @@ -127,6 +127,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -431,6 +432,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -1443,6 +1445,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: OCCURRED_AT, direction: DESC}", "description": "

Ordering options for commit contributions returned from the connection.

", "type": { "name": "CommitContributionOrder", diff --git a/src/graphql/data/ghes-3.20/schema-deployments.json b/src/graphql/data/ghes-3.20/schema-deployments.json index 4be37a8043f8..d2045fe67a7f 100644 --- a/src/graphql/data/ghes-3.20/schema-deployments.json +++ b/src/graphql/data/ghes-3.20/schema-deployments.json @@ -316,7 +316,7 @@ "name": "DeployedEvent", "id": "deployedevent", "href": "/graphql/reference/deployments#object-deployedevent", - "description": "

Represents adeployedevent on a given pull request.

", + "description": "

Represents a deployed event on a given pull request.

", "implements": [ { "name": "Node", @@ -348,7 +348,7 @@ }, { "name": "deployment", - "description": "

The deployment associated with thedeployedevent.

", + "description": "

The deployment associated with the deployed event.

", "type": "Deployment!", "id": "deployment", "href": "/graphql/reference/deployments#object-deployment" @@ -369,7 +369,7 @@ }, { "name": "ref", - "description": "

The ref associated with thedeployedevent.

", + "description": "

The ref associated with the deployed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -621,7 +621,7 @@ "name": "DeploymentEnvironmentChangedEvent", "id": "deploymentenvironmentchangedevent", "href": "/graphql/reference/deployments#object-deploymentenvironmentchangedevent", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

", + "description": "

Represents a deployment_environment_changed event on a given pull request.

", "implements": [ { "name": "Node", diff --git a/src/graphql/data/ghes-3.20/schema-discussions.json b/src/graphql/data/ghes-3.20/schema-discussions.json index 891cc298a653..7c511d7b5c37 100644 --- a/src/graphql/data/ghes-3.20/schema-discussions.json +++ b/src/graphql/data/ghes-3.20/schema-discussions.json @@ -691,6 +691,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -1771,6 +1772,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: AUTHORED_ORDER, direction: ASC}", "description": "

How to order the options for the discussion poll.

", "type": { "name": "DiscussionPollOptionOrder", @@ -2135,6 +2137,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -2153,6 +2156,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", diff --git a/src/graphql/data/ghes-3.20/schema-enterprise-admin.json b/src/graphql/data/ghes-3.20/schema-enterprise-admin.json index 472ab3f336a8..82901dda73f9 100644 --- a/src/graphql/data/ghes-3.20/schema-enterprise-admin.json +++ b/src/graphql/data/ghes-3.20/schema-enterprise-admin.json @@ -1230,6 +1230,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for members returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -1327,6 +1328,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", @@ -2132,6 +2134,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for administrators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -2281,6 +2284,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2358,6 +2362,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2439,6 +2444,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -2554,6 +2560,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -2636,6 +2643,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2727,6 +2735,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2797,6 +2806,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2867,6 +2877,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2937,6 +2948,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3014,6 +3026,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3084,6 +3097,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3161,6 +3175,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3242,6 +3257,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for outside collaborators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -3332,6 +3348,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending enterprise administrator invitations returned from the connection.

", "type": { "name": "EnterpriseAdministratorInvitationOrder", @@ -3404,6 +3421,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending repository collaborator invitations returned from the connection.

", "type": { "name": "RepositoryInvitationOrder", @@ -3546,6 +3564,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3616,6 +3635,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3686,6 +3706,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3756,6 +3777,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3833,6 +3855,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4058,6 +4081,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for Enterprise Server user accounts returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountOrder", @@ -4112,6 +4136,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for Enterprise Server user accounts uploads returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountsUploadOrder", @@ -4256,6 +4281,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: EMAIL, direction: ASC}", "description": "

Ordering options for Enterprise Server user account emails returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountEmailOrder", @@ -4722,6 +4748,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: HOST_NAME, direction: ASC}", "description": "

Ordering options for installations returned from the connection.

", "type": { "name": "EnterpriseServerInstallationOrder", @@ -4815,6 +4842,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", diff --git a/src/graphql/data/ghes-3.20/schema-git.json b/src/graphql/data/ghes-3.20/schema-git.json index 89902cad157b..8d38cdabe9e9 100644 --- a/src/graphql/data/ghes-3.20/schema-git.json +++ b/src/graphql/data/ghes-3.20/schema-git.json @@ -716,6 +716,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for repository rules.

", "type": { "name": "RepositoryRuleOrder", diff --git a/src/graphql/data/ghes-3.20/schema-issues.json b/src/graphql/data/ghes-3.20/schema-issues.json index 789e86289fcc..c37cd25306f5 100644 --- a/src/graphql/data/ghes-3.20/schema-issues.json +++ b/src/graphql/data/ghes-3.20/schema-issues.json @@ -1185,7 +1185,7 @@ "name": "AssignedEvent", "id": "assignedevent", "href": "/graphql/reference/issues#object-assignedevent", - "description": "

Represents anassignedevent on any assignable object.

", + "description": "

Represents an assigned event on any assignable object.

", "implements": [ { "name": "Node", @@ -1305,7 +1305,7 @@ "name": "BlockedByAddedEvent", "id": "blockedbyaddedevent", "href": "/graphql/reference/issues#object-blockedbyaddedevent", - "description": "

Represents ablocked_by_addedevent on a given issue.

", + "description": "

Represents a blocked_by_added event on a given issue.

", "implements": [ { "name": "Node", @@ -1349,7 +1349,7 @@ "name": "BlockedByRemovedEvent", "id": "blockedbyremovedevent", "href": "/graphql/reference/issues#object-blockedbyremovedevent", - "description": "

Represents ablocked_by_removedevent on a given issue.

", + "description": "

Represents a blocked_by_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -1393,7 +1393,7 @@ "name": "BlockingAddedEvent", "id": "blockingaddedevent", "href": "/graphql/reference/issues#object-blockingaddedevent", - "description": "

Represents ablocking_addedevent on a given issue.

", + "description": "

Represents a blocking_added event on a given issue.

", "implements": [ { "name": "Node", @@ -1437,7 +1437,7 @@ "name": "BlockingRemovedEvent", "id": "blockingremovedevent", "href": "/graphql/reference/issues#object-blockingremovedevent", - "description": "

Represents ablocking_removedevent on a given issue.

", + "description": "

Represents a blocking_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -1481,7 +1481,7 @@ "name": "ClosedEvent", "id": "closedevent", "href": "/graphql/reference/issues#object-closedevent", - "description": "

Represents aclosedevent on any Closable.

", + "description": "

Represents a closed event on any Closable.

", "implements": [ { "name": "Node", @@ -1565,7 +1565,7 @@ "name": "CommentDeletedEvent", "id": "commentdeletedevent", "href": "/graphql/reference/issues#object-commentdeletedevent", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

", + "description": "

Represents a comment_deleted event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1616,7 +1616,7 @@ "name": "ConnectedEvent", "id": "connectedevent", "href": "/graphql/reference/issues#object-connectedevent", - "description": "

Represents aconnectedevent on a given issue or pull request.

", + "description": "

Represents a connected event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1674,7 +1674,7 @@ "name": "ConvertedNoteToIssueEvent", "id": "convertednotetoissueevent", "href": "/graphql/reference/issues#object-convertednotetoissueevent", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

", + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1743,7 +1743,7 @@ "name": "ConvertedToDiscussionEvent", "id": "convertedtodiscussionevent", "href": "/graphql/reference/issues#object-convertedtodiscussionevent", - "description": "

Represents aconverted_to_discussionevent on a given issue.

", + "description": "

Represents a converted_to_discussion event on a given issue.

", "implements": [ { "name": "Node", @@ -1878,7 +1878,7 @@ "name": "DemilestonedEvent", "id": "demilestonedevent", "href": "/graphql/reference/issues#object-demilestonedevent", - "description": "

Represents ademilestonedevent on a given issue or pull request.

", + "description": "

Represents a demilestoned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1910,7 +1910,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with thedemilestonedevent.

", + "description": "

Identifies the milestone title associated with the demilestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -1929,7 +1929,7 @@ "name": "DisconnectedEvent", "id": "disconnectedevent", "href": "/graphql/reference/issues#object-disconnectedevent", - "description": "

Represents adisconnectedevent on a given issue or pull request.

", + "description": "

Represents a disconnected event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -2222,6 +2222,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -2276,6 +2277,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -2611,6 +2613,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -2763,6 +2766,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -2929,6 +2933,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -3982,6 +3987,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -4178,6 +4184,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -4506,7 +4513,7 @@ "name": "IssueTypeAddedEvent", "id": "issuetypeaddedevent", "href": "/graphql/reference/issues#object-issuetypeaddedevent", - "description": "

Represents aissue_type_addedevent on a given issue.

", + "description": "

Represents a issue_type_added event on a given issue.

", "implements": [ { "name": "Node", @@ -4550,7 +4557,7 @@ "name": "IssueTypeChangedEvent", "id": "issuetypechangedevent", "href": "/graphql/reference/issues#object-issuetypechangedevent", - "description": "

Represents aissue_type_changedevent on a given issue.

", + "description": "

Represents a issue_type_changed event on a given issue.

", "implements": [ { "name": "Node", @@ -4661,7 +4668,7 @@ "name": "IssueTypeRemovedEvent", "id": "issuetyperemovedevent", "href": "/graphql/reference/issues#object-issuetyperemovedevent", - "description": "

Represents aissue_type_removedevent on a given issue.

", + "description": "

Represents a issue_type_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -5022,7 +5029,7 @@ "name": "LabeledEvent", "id": "labeledevent", "href": "/graphql/reference/issues#object-labeledevent", - "description": "

Represents alabeledevent on a given issue or pull request.

", + "description": "

Represents a labeled event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5054,7 +5061,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with thelabeledevent.

", + "description": "

Identifies the label associated with the labeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -5163,7 +5170,7 @@ "name": "LockedEvent", "id": "lockedevent", "href": "/graphql/reference/issues#object-lockedevent", - "description": "

Represents alockedevent on a given issue or pull request.

", + "description": "

Represents a locked event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5214,7 +5221,7 @@ "name": "MarkedAsDuplicateEvent", "id": "markedasduplicateevent", "href": "/graphql/reference/issues#object-markedasduplicateevent", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5272,7 +5279,7 @@ "name": "MentionedEvent", "id": "mentionedevent", "href": "/graphql/reference/issues#object-mentionedevent", - "description": "

Represents amentionedevent on a given issue or pull request.

", + "description": "

Represents a mentioned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5713,7 +5720,7 @@ "name": "MilestonedEvent", "id": "milestonedevent", "href": "/graphql/reference/issues#object-milestonedevent", - "description": "

Represents amilestonedevent on a given issue or pull request.

", + "description": "

Represents a milestoned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -5745,7 +5752,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with themilestonedevent.

", + "description": "

Identifies the milestone title associated with the milestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -5764,7 +5771,7 @@ "name": "ParentIssueAddedEvent", "id": "parentissueaddedevent", "href": "/graphql/reference/issues#object-parentissueaddedevent", - "description": "

Represents aparent_issue_addedevent on a given issue.

", + "description": "

Represents a parent_issue_added event on a given issue.

", "implements": [ { "name": "Node", @@ -5808,7 +5815,7 @@ "name": "ParentIssueRemovedEvent", "id": "parentissueremovedevent", "href": "/graphql/reference/issues#object-parentissueremovedevent", - "description": "

Represents aparent_issue_removedevent on a given issue.

", + "description": "

Represents a parent_issue_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -5852,7 +5859,7 @@ "name": "PinnedEvent", "id": "pinnedevent", "href": "/graphql/reference/issues#object-pinnedevent", - "description": "

Represents apinnedevent on a given issue or pull request.

", + "description": "

Represents a pinned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6014,7 +6021,7 @@ "name": "ReferencedEvent", "id": "referencedevent", "href": "/graphql/reference/issues#object-referencedevent", - "description": "

Represents areferencedevent on a given ReferencedSubject.

", + "description": "

Represents a referenced event on a given ReferencedSubject.

", "implements": [ { "name": "Node", @@ -6032,14 +6039,14 @@ }, { "name": "commit", - "description": "

Identifies the commit associated with thereferencedevent.

", + "description": "

Identifies the commit associated with the referenced event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "commitRepository", - "description": "

Identifies the repository associated with thereferencedevent.

", + "description": "

Identifies the repository associated with the referenced event.

", "type": "Repository!", "id": "repository", "href": "/graphql/reference/repos#object-repository" @@ -6086,7 +6093,7 @@ "name": "RenamedTitleEvent", "id": "renamedtitleevent", "href": "/graphql/reference/issues#object-renamedtitleevent", - "description": "

Represents arenamedevent on a given issue or pull request.

", + "description": "

Represents a renamed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6144,7 +6151,7 @@ "name": "ReopenedEvent", "id": "reopenedevent", "href": "/graphql/reference/issues#object-reopenedevent", - "description": "

Represents areopenedevent on any Closable.

", + "description": "

Represents a reopened event on any Closable.

", "implements": [ { "name": "Node", @@ -6195,7 +6202,7 @@ "name": "SubIssueAddedEvent", "id": "subissueaddedevent", "href": "/graphql/reference/issues#object-subissueaddedevent", - "description": "

Represents asub_issue_addedevent on a given issue.

", + "description": "

Represents a sub_issue_added event on a given issue.

", "implements": [ { "name": "Node", @@ -6239,7 +6246,7 @@ "name": "SubIssueRemovedEvent", "id": "subissueremovedevent", "href": "/graphql/reference/issues#object-subissueremovedevent", - "description": "

Represents asub_issue_removedevent on a given issue.

", + "description": "

Represents a sub_issue_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -6313,7 +6320,7 @@ "name": "SubscribedEvent", "id": "subscribedevent", "href": "/graphql/reference/issues#object-subscribedevent", - "description": "

Represents asubscribedevent on a given Subscribable.

", + "description": "

Represents a subscribed event on a given Subscribable.

", "implements": [ { "name": "Node", @@ -6357,7 +6364,7 @@ "name": "TransferredEvent", "id": "transferredevent", "href": "/graphql/reference/issues#object-transferredevent", - "description": "

Represents atransferredevent on a given issue or pull request.

", + "description": "

Represents a transferred event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6408,7 +6415,7 @@ "name": "UnassignedEvent", "id": "unassignedevent", "href": "/graphql/reference/issues#object-unassignedevent", - "description": "

Represents anunassignedevent on any assignable object.

", + "description": "

Represents an unassigned event on any assignable object.

", "implements": [ { "name": "Node", @@ -6468,7 +6475,7 @@ "name": "UnlabeledEvent", "id": "unlabeledevent", "href": "/graphql/reference/issues#object-unlabeledevent", - "description": "

Represents anunlabeledevent on a given issue or pull request.

", + "description": "

Represents an unlabeled event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6500,7 +6507,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with theunlabeledevent.

", + "description": "

Identifies the label associated with the unlabeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -6519,7 +6526,7 @@ "name": "UnlockedEvent", "id": "unlockedevent", "href": "/graphql/reference/issues#object-unlockedevent", - "description": "

Represents anunlockedevent on a given issue or pull request.

", + "description": "

Represents an unlocked event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6563,7 +6570,7 @@ "name": "UnmarkedAsDuplicateEvent", "id": "unmarkedasduplicateevent", "href": "/graphql/reference/issues#object-unmarkedasduplicateevent", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6621,7 +6628,7 @@ "name": "UnpinnedEvent", "id": "unpinnedevent", "href": "/graphql/reference/issues#object-unpinnedevent", - "description": "

Represents anunpinnedevent on a given issue or pull request.

", + "description": "

Represents an unpinned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6665,7 +6672,7 @@ "name": "UnsubscribedEvent", "id": "unsubscribedevent", "href": "/graphql/reference/issues#object-unsubscribedevent", - "description": "

Represents anunsubscribedevent on a given Subscribable.

", + "description": "

Represents an unsubscribed event on a given Subscribable.

", "implements": [ { "name": "Node", @@ -7116,6 +7123,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -7429,55 +7437,55 @@ "values": [ { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ADDED_TO_PROJECT_V2_EVENT", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

" + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_FROM_DRAFT_EVENT", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

" + "description": "

Represents a converted_from_draft event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -7485,11 +7493,11 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "ISSUE_COMMENT", @@ -7497,131 +7505,131 @@ }, { "name": "ISSUE_FIELD_ADDED_EVENT", - "description": "

Represents aissue_field_addedevent on a given issue.

" + "description": "

Represents a issue_field_added event on a given issue.

" }, { "name": "ISSUE_FIELD_CHANGED_EVENT", - "description": "

Represents aissue_field_changedevent on a given issue.

" + "description": "

Represents a issue_field_changed event on a given issue.

" }, { "name": "ISSUE_FIELD_REMOVED_EVENT", - "description": "

Represents aissue_field_removedevent on a given issue.

" + "description": "

Represents a issue_field_removed event on a given issue.

" }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PROJECT_V2_ITEM_STATUS_CHANGED_EVENT", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

" + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_PROJECT_V2_EVENT", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

" + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "issues" diff --git a/src/graphql/data/ghes-3.20/schema-orgs.json b/src/graphql/data/ghes-3.20/schema-orgs.json index 64b9b6a77a19..9a17aea4bf99 100644 --- a/src/graphql/data/ghes-3.20/schema-orgs.json +++ b/src/graphql/data/ghes-3.20/schema-orgs.json @@ -6644,6 +6644,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the returned audit log entries.

", "type": { "name": "AuditLogOrder", @@ -6773,6 +6774,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -6834,6 +6836,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for enterprise owners returned from the connection.

", "type": { "name": "OrgEnterpriseOwnerOrder", @@ -6920,6 +6923,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -6988,6 +6992,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -7072,6 +7077,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for mannequins returned from the connection.

", "type": { "name": "MannequinOrder", @@ -7126,6 +7132,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -7276,6 +7283,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -7644,6 +7652,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -7806,6 +7815,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -8042,6 +8052,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -8060,6 +8071,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -8114,6 +8126,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for repository migrations returned.

", "type": { "name": "RepositoryMigrationOrder", diff --git a/src/graphql/data/ghes-3.20/schema-packages.json b/src/graphql/data/ghes-3.20/schema-packages.json index cf269b0d72b6..3f3e8c1856f9 100644 --- a/src/graphql/data/ghes-3.20/schema-packages.json +++ b/src/graphql/data/ghes-3.20/schema-packages.json @@ -151,6 +151,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageVersionOrder", @@ -473,6 +474,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering of the returned package files.

", "type": { "name": "PackageFileOrder", @@ -693,6 +695,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -763,19 +766,27 @@ }, { "name": "DOCKER", - "description": "

A docker image.

" + "description": "

A docker image.

", + "isDeprecated": true, + "deprecationReason": "

DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2021-06-21 UTC.

" }, { "name": "MAVEN", - "description": "

A maven package.

" + "description": "

A maven package.

", + "isDeprecated": true, + "deprecationReason": "

MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2023-02-10 UTC.

" }, { "name": "NPM", - "description": "

An npm package.

" + "description": "

An npm package.

", + "isDeprecated": true, + "deprecationReason": "

NPM will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "NUGET", - "description": "

A nuget package.

" + "description": "

A nuget package.

", + "isDeprecated": true, + "deprecationReason": "

NUGET will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "PYPI", @@ -783,7 +794,9 @@ }, { "name": "RUBYGEMS", - "description": "

A rubygems package.

" + "description": "

A rubygems package.

", + "isDeprecated": true, + "deprecationReason": "

RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-12-28 UTC.

" } ], "category": "packages" diff --git a/src/graphql/data/ghes-3.20/schema-projects-classic.json b/src/graphql/data/ghes-3.20/schema-projects-classic.json index c48a890aa4fb..a80afabea5fd 100644 --- a/src/graphql/data/ghes-3.20/schema-projects-classic.json +++ b/src/graphql/data/ghes-3.20/schema-projects-classic.json @@ -550,7 +550,7 @@ "name": "AddedToProjectEvent", "id": "addedtoprojectevent", "href": "/graphql/reference/projects-classic#object-addedtoprojectevent", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

", + "description": "

Represents a added_to_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -623,7 +623,7 @@ "name": "MovedColumnsInProjectEvent", "id": "movedcolumnsinprojectevent", "href": "/graphql/reference/projects-classic#object-movedcolumnsinprojectevent", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

", + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -884,6 +884,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1215,6 +1216,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1533,7 +1535,7 @@ "name": "RemovedFromProjectEvent", "id": "removedfromprojectevent", "href": "/graphql/reference/projects-classic#object-removedfromprojectevent", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

", + "description": "

Represents a removed_from_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1744,11 +1746,15 @@ "values": [ { "name": "ARCHIVED", - "description": "

A project card that is archived.

" + "description": "

A project card that is archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" }, { "name": "NOT_ARCHIVED", - "description": "

A project card that is not archived.

" + "description": "

A project card that is not archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" } ], "category": "projects-classic" @@ -1820,7 +1826,7 @@ "name": "ProjectState", "id": "projectstate", "href": "/graphql/reference/projects-classic#enum-projectstate", - "description": "

State of the project; eitheropenor 'closed'.

", + "description": "

State of the project; either open or 'closed'.

", "values": [ { "name": "CLOSED", diff --git a/src/graphql/data/ghes-3.20/schema-projects.json b/src/graphql/data/ghes-3.20/schema-projects.json index 8fd43d275ede..45cf9a12a140 100644 --- a/src/graphql/data/ghes-3.20/schema-projects.json +++ b/src/graphql/data/ghes-3.20/schema-projects.json @@ -888,7 +888,7 @@ "name": "AddedToProjectV2Event", "id": "addedtoprojectv2event", "href": "/graphql/reference/projects#object-addedtoprojectv2event", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

", + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1270,6 +1270,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -1338,6 +1339,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 items returned from the connection.

", "type": { "name": "ProjectV2ItemOrder", @@ -1430,6 +1432,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for repositories returned from the connection.

", "type": { "name": "RepositoryOrder", @@ -1498,6 +1501,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Order for connection.

", "type": { "name": "ProjectV2StatusOrder", @@ -1552,6 +1556,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for teams returned from this connection.

", "type": { "name": "TeamOrder", @@ -1673,6 +1678,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 views returned from the connection.

", "type": { "name": "ProjectV2ViewOrder", @@ -1745,6 +1751,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for project v2 workflows returned from the connection.

", "type": { "name": "ProjectV2WorkflowOrder", @@ -2112,7 +2119,7 @@ }, { "name": "fieldValueByName", - "description": "

The field value of the first project field which matches thenameargument that is set on the item.

", + "description": "

The field value of the first project field which matches the name argument that is set on the item.

", "type": "ProjectV2ItemFieldValue", "id": "projectv2itemfieldvalue", "href": "/graphql/reference/projects#union-projectv2itemfieldvalue", @@ -2173,6 +2180,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 item field values returned from the connection.

", "type": { "name": "ProjectV2ItemFieldValueOrder", @@ -2688,6 +2696,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -3098,7 +3107,7 @@ "name": "ProjectV2ItemStatusChangedEvent", "id": "projectv2itemstatuschangedevent", "href": "/graphql/reference/projects#object-projectv2itemstatuschangedevent", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

", + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -3863,6 +3872,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -3931,6 +3941,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -3987,6 +3998,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4175,6 +4187,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4231,6 +4244,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4285,6 +4299,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4504,7 +4519,7 @@ "name": "RemovedFromProjectV2Event", "id": "removedfromprojectv2event", "href": "/graphql/reference/projects#object-removedfromprojectv2event", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

", + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -4783,6 +4798,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", diff --git a/src/graphql/data/ghes-3.20/schema-pulls.json b/src/graphql/data/ghes-3.20/schema-pulls.json index e5fb9ad34d7d..abd70ea47f94 100644 --- a/src/graphql/data/ghes-3.20/schema-pulls.json +++ b/src/graphql/data/ghes-3.20/schema-pulls.json @@ -975,7 +975,7 @@ "name": "AddedToMergeQueueEvent", "id": "addedtomergequeueevent", "href": "/graphql/reference/pulls#object-addedtomergequeueevent", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

", + "description": "

Represents an added_to_merge_queue event on a given pull request.

", "implements": [ { "name": "Node", @@ -1033,7 +1033,7 @@ "name": "AutoMergeDisabledEvent", "id": "automergedisabledevent", "href": "/graphql/reference/pulls#object-automergedisabledevent", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

", + "description": "

Represents a auto_merge_disabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1098,7 +1098,7 @@ "name": "AutoMergeEnabledEvent", "id": "automergeenabledevent", "href": "/graphql/reference/pulls#object-automergeenabledevent", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

", + "description": "

Represents a auto_merge_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1207,7 +1207,7 @@ "name": "AutoRebaseEnabledEvent", "id": "autorebaseenabledevent", "href": "/graphql/reference/pulls#object-autorebaseenabledevent", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

", + "description": "

Represents a auto_rebase_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1258,7 +1258,7 @@ "name": "AutoSquashEnabledEvent", "id": "autosquashenabledevent", "href": "/graphql/reference/pulls#object-autosquashenabledevent", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

", + "description": "

Represents a auto_squash_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1309,7 +1309,7 @@ "name": "AutomaticBaseChangeFailedEvent", "id": "automaticbasechangefailedevent", "href": "/graphql/reference/pulls#object-automaticbasechangefailedevent", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

", + "description": "

Represents a automatic_base_change_failed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1367,7 +1367,7 @@ "name": "AutomaticBaseChangeSucceededEvent", "id": "automaticbasechangesucceededevent", "href": "/graphql/reference/pulls#object-automaticbasechangesucceededevent", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

", + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

", "implements": [ { "name": "Node", @@ -1425,7 +1425,7 @@ "name": "BaseRefChangedEvent", "id": "baserefchangedevent", "href": "/graphql/reference/pulls#object-baserefchangedevent", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

", + "description": "

Represents a base_ref_changed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1490,7 +1490,7 @@ "name": "BaseRefDeletedEvent", "id": "baserefdeletedevent", "href": "/graphql/reference/pulls#object-baserefdeletedevent", - "description": "

Represents abase_ref_deletedevent on a given pull request.

", + "description": "

Represents a base_ref_deleted event on a given pull request.

", "implements": [ { "name": "Node", @@ -1541,7 +1541,7 @@ "name": "BaseRefForcePushedEvent", "id": "baserefforcepushedevent", "href": "/graphql/reference/pulls#object-baserefforcepushedevent", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a base_ref_force_pushed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1559,14 +1559,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -1594,7 +1594,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thebase_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the base_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -1606,7 +1606,7 @@ "name": "ConvertToDraftEvent", "id": "converttodraftevent", "href": "/graphql/reference/pulls#object-converttodraftevent", - "description": "

Represents aconvert_to_draftevent on a given pull request.

", + "description": "

Represents a convert_to_draft event on a given pull request.

", "implements": [ { "name": "Node", @@ -1669,7 +1669,7 @@ "name": "ConvertedFromDraftEvent", "id": "convertedfromdraftevent", "href": "/graphql/reference/pulls#object-convertedfromdraftevent", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

", + "description": "

Represents a converted_from_draft event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1748,7 +1748,7 @@ "name": "HeadRefDeletedEvent", "id": "headrefdeletedevent", "href": "/graphql/reference/pulls#object-headrefdeletedevent", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

", + "description": "

Represents a head_ref_deleted event on a given pull request.

", "implements": [ { "name": "Node", @@ -1806,7 +1806,7 @@ "name": "HeadRefForcePushedEvent", "id": "headrefforcepushedevent", "href": "/graphql/reference/pulls#object-headrefforcepushedevent", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a head_ref_force_pushed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1824,14 +1824,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -1859,7 +1859,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thehead_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the head_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -1871,7 +1871,7 @@ "name": "HeadRefRestoredEvent", "id": "headrefrestoredevent", "href": "/graphql/reference/pulls#object-headrefrestoredevent", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

", + "description": "

Represents a head_ref_restored event on a given pull request.

", "implements": [ { "name": "Node", @@ -2294,7 +2294,7 @@ "name": "MergedEvent", "id": "mergedevent", "href": "/graphql/reference/pulls#object-mergedevent", - "description": "

Represents amergedevent on a given pull request.

", + "description": "

Represents a merged event on a given pull request.

", "implements": [ { "name": "Node", @@ -3063,6 +3063,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -3340,6 +3341,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -3506,6 +3508,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4698,6 +4701,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -5908,6 +5912,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -6593,7 +6598,7 @@ "name": "ReadyForReviewEvent", "id": "readyforreviewevent", "href": "/graphql/reference/pulls#object-readyforreviewevent", - "description": "

Represents aready_for_reviewevent on a given pull request.

", + "description": "

Represents a ready_for_review event on a given pull request.

", "implements": [ { "name": "Node", @@ -6656,7 +6661,7 @@ "name": "RemovedFromMergeQueueEvent", "id": "removedfrommergequeueevent", "href": "/graphql/reference/pulls#object-removedfrommergequeueevent", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

", + "description": "

Represents a removed_from_merge_queue event on a given pull request.

", "implements": [ { "name": "Node", @@ -6674,7 +6679,7 @@ }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for theremoved_from_merge_queueevent.

", + "description": "

Identifies the before commit SHA for the removed_from_merge_queue event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -6818,7 +6823,7 @@ "name": "ReviewDismissedEvent", "id": "reviewdismissedevent", "href": "/graphql/reference/pulls#object-reviewdismissedevent", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

", + "description": "

Represents a review_dismissed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6855,7 +6860,7 @@ }, { "name": "dismissalMessage", - "description": "

Identifies the optional message associated with thereview_dismissedevent.

", + "description": "

Identifies the optional message associated with the review_dismissed event.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -6876,7 +6881,7 @@ }, { "name": "previousReviewState", - "description": "

Identifies the previous state of the review with thereview_dismissedevent.

", + "description": "

Identifies the previous state of the review with the review_dismissed event.

", "type": "PullRequestReviewState!", "id": "pullrequestreviewstate", "href": "/graphql/reference/pulls#enum-pullrequestreviewstate" @@ -6904,7 +6909,7 @@ }, { "name": "review", - "description": "

Identifies the review associated with thereview_dismissedevent.

", + "description": "

Identifies the review associated with the review_dismissed event.

", "type": "PullRequestReview", "id": "pullrequestreview", "href": "/graphql/reference/pulls#object-pullrequestreview" @@ -7034,7 +7039,7 @@ "name": "ReviewRequestRemovedEvent", "id": "reviewrequestremovedevent", "href": "/graphql/reference/pulls#object-reviewrequestremovedevent", - "description": "

Represents anreview_request_removedevent on a given pull request.

", + "description": "

Represents an review_request_removed event on a given pull request.

", "implements": [ { "name": "Node", @@ -7085,7 +7090,7 @@ "name": "ReviewRequestedEvent", "id": "reviewrequestedevent", "href": "/graphql/reference/pulls#object-reviewrequestedevent", - "description": "

Represents anreview_requestedevent on a given pull request.

", + "description": "

Represents an review_requested event on a given pull request.

", "implements": [ { "name": "Node", @@ -7475,7 +7480,9 @@ }, { "name": "DRAFT", - "description": "

The merge is blocked due to the pull request being a draft.

" + "description": "

The merge is blocked due to the pull request being a draft.

", + "isDeprecated": true, + "deprecationReason": "

DRAFT state will be removed from this enum and isDraft should be used instead Use PullRequest.isDraft instead. Removal on 2021-01-01 UTC.

" }, { "name": "HAS_HOOKS", @@ -7760,99 +7767,99 @@ "values": [ { "name": "ADDED_TO_MERGE_QUEUE_EVENT", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

" + "description": "

Represents an added_to_merge_queue event on a given pull request.

" }, { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ADDED_TO_PROJECT_V2_EVENT", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

" + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "AUTOMATIC_BASE_CHANGE_FAILED_EVENT", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

" + "description": "

Represents a automatic_base_change_failed event on a given pull request.

" }, { "name": "AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

" + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

" }, { "name": "AUTO_MERGE_DISABLED_EVENT", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

" + "description": "

Represents a auto_merge_disabled event on a given pull request.

" }, { "name": "AUTO_MERGE_ENABLED_EVENT", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

" + "description": "

Represents a auto_merge_enabled event on a given pull request.

" }, { "name": "AUTO_REBASE_ENABLED_EVENT", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

" + "description": "

Represents a auto_rebase_enabled event on a given pull request.

" }, { "name": "AUTO_SQUASH_ENABLED_EVENT", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

" + "description": "

Represents a auto_squash_enabled event on a given pull request.

" }, { "name": "BASE_REF_CHANGED_EVENT", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

" + "description": "

Represents a base_ref_changed event on a given issue or pull request.

" }, { "name": "BASE_REF_DELETED_EVENT", - "description": "

Represents abase_ref_deletedevent on a given pull request.

" + "description": "

Represents a base_ref_deleted event on a given pull request.

" }, { "name": "BASE_REF_FORCE_PUSHED_EVENT", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a base_ref_force_pushed event on a given pull request.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_FROM_DRAFT_EVENT", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

" + "description": "

Represents a converted_from_draft event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CONVERT_TO_DRAFT_EVENT", - "description": "

Represents aconvert_to_draftevent on a given pull request.

" + "description": "

Represents a convert_to_draft event on a given pull request.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -7860,31 +7867,31 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DEPLOYED_EVENT", - "description": "

Represents adeployedevent on a given pull request.

" + "description": "

Represents a deployed event on a given pull request.

" }, { "name": "DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

" + "description": "

Represents a deployment_environment_changed event on a given pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "HEAD_REF_DELETED_EVENT", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

" + "description": "

Represents a head_ref_deleted event on a given pull request.

" }, { "name": "HEAD_REF_FORCE_PUSHED_EVENT", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a head_ref_force_pushed event on a given pull request.

" }, { "name": "HEAD_REF_RESTORED_EVENT", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

" + "description": "

Represents a head_ref_restored event on a given pull request.

" }, { "name": "ISSUE_COMMENT", @@ -7892,71 +7899,71 @@ }, { "name": "ISSUE_FIELD_ADDED_EVENT", - "description": "

Represents aissue_field_addedevent on a given issue.

" + "description": "

Represents a issue_field_added event on a given issue.

" }, { "name": "ISSUE_FIELD_CHANGED_EVENT", - "description": "

Represents aissue_field_changedevent on a given issue.

" + "description": "

Represents a issue_field_changed event on a given issue.

" }, { "name": "ISSUE_FIELD_REMOVED_EVENT", - "description": "

Represents aissue_field_removedevent on a given issue.

" + "description": "

Represents a issue_field_removed event on a given issue.

" }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MERGED_EVENT", - "description": "

Represents amergedevent on a given pull request.

" + "description": "

Represents a merged event on a given pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PROJECT_V2_ITEM_STATUS_CHANGED_EVENT", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

" + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

" }, { "name": "PULL_REQUEST_COMMIT", @@ -7980,87 +7987,87 @@ }, { "name": "READY_FOR_REVIEW_EVENT", - "description": "

Represents aready_for_reviewevent on a given pull request.

" + "description": "

Represents a ready_for_review event on a given pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_MERGE_QUEUE_EVENT", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

" + "description": "

Represents a removed_from_merge_queue event on a given pull request.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_PROJECT_V2_EVENT", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

" + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "REVIEW_DISMISSED_EVENT", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

" + "description": "

Represents a review_dismissed event on a given issue or pull request.

" }, { "name": "REVIEW_REQUESTED_EVENT", - "description": "

Represents anreview_requestedevent on a given pull request.

" + "description": "

Represents an review_requested event on a given pull request.

" }, { "name": "REVIEW_REQUEST_REMOVED_EVENT", - "description": "

Represents anreview_request_removedevent on a given pull request.

" + "description": "

Represents an review_request_removed event on a given pull request.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "pulls" diff --git a/src/graphql/data/ghes-3.20/schema-repos.json b/src/graphql/data/ghes-3.20/schema-repos.json index d1ab923420a4..224432b16df9 100644 --- a/src/graphql/data/ghes-3.20/schema-repos.json +++ b/src/graphql/data/ghes-3.20/schema-repos.json @@ -852,7 +852,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -3482,6 +3482,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -3659,6 +3660,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -3668,6 +3670,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -3747,6 +3750,7 @@ }, { "name": "names", + "defaultValue": "[]", "description": "

The names of the environments to be returned.

", "type": { "name": "[String!]", @@ -3756,6 +3760,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "Environments", @@ -3870,6 +3875,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -4143,6 +4149,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -4296,6 +4303,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -4688,6 +4696,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4812,6 +4821,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "PinnedEnvironmentOrder", @@ -5061,6 +5071,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -7711,6 +7722,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -8262,6 +8274,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -9815,7 +9828,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" diff --git a/src/graphql/data/ghes-3.20/schema-teams.json b/src/graphql/data/ghes-3.20/schema-teams.json index cbfe22fa8327..f5a10f6e7d9b 100644 --- a/src/graphql/data/ghes-3.20/schema-teams.json +++ b/src/graphql/data/ghes-3.20/schema-teams.json @@ -530,6 +530,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -729,6 +730,7 @@ }, { "name": "filterBy", + "defaultValue": "{}", "description": "

Filtering options for projects returned from this connection.

", "type": { "name": "ProjectV2Filters", @@ -766,6 +768,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -2369,7 +2372,7 @@ "name": "TeamMemberRole", "id": "teammemberrole", "href": "/graphql/reference/teams#enum-teammemberrole", - "description": "

The possible team member roles; eithermaintaineror 'member'.

", + "description": "

The possible team member roles; either maintainer or 'member'.

", "values": [ { "name": "MAINTAINER", diff --git a/src/graphql/data/ghes-3.20/schema-users.json b/src/graphql/data/ghes-3.20/schema-users.json index 3f27a017b360..3782db1305f8 100644 --- a/src/graphql/data/ghes-3.20/schema-users.json +++ b/src/graphql/data/ghes-3.20/schema-users.json @@ -732,6 +732,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -887,6 +888,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -980,6 +982,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -1063,6 +1066,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -2039,6 +2043,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for repositories.

", "type": { "name": "RepositoryOrder", @@ -3471,6 +3476,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the User's enterprises.

", "type": { "name": "EnterpriseOrder", @@ -4136,6 +4142,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4459,6 +4466,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4763,6 +4771,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5035,6 +5044,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -5053,6 +5063,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -5114,6 +5125,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

The field to order saved replies by.

", "type": { "name": "SavedReplyOrder", @@ -5475,6 +5487,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5516,7 +5529,7 @@ "name": "UserBlockedEvent", "id": "userblockedevent", "href": "/graphql/reference/users#object-userblockedevent", - "description": "

Represents auser_blockedevent on a given user.

", + "description": "

Represents a user_blocked event on a given user.

", "implements": [ { "name": "Node", @@ -6403,6 +6416,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", diff --git a/src/graphql/data/ghes-3.21/schema-actions.json b/src/graphql/data/ghes-3.21/schema-actions.json index 7f6eb13c016a..d5bcd1d1ebd9 100644 --- a/src/graphql/data/ghes-3.21/schema-actions.json +++ b/src/graphql/data/ghes-3.21/schema-actions.json @@ -98,6 +98,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the connection.

", "type": { "name": "WorkflowRunOrder", diff --git a/src/graphql/data/ghes-3.21/schema-apps.json b/src/graphql/data/ghes-3.21/schema-apps.json index fe0b27324356..6c6d18fe829f 100644 --- a/src/graphql/data/ghes-3.21/schema-apps.json +++ b/src/graphql/data/ghes-3.21/schema-apps.json @@ -93,6 +93,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", diff --git a/src/graphql/data/ghes-3.21/schema-commits.json b/src/graphql/data/ghes-3.21/schema-commits.json index 48eeee18da34..e7a90efc20cc 100644 --- a/src/graphql/data/ghes-3.21/schema-commits.json +++ b/src/graphql/data/ghes-3.21/schema-commits.json @@ -127,6 +127,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -431,6 +432,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -1443,6 +1445,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: OCCURRED_AT, direction: DESC}", "description": "

Ordering options for commit contributions returned from the connection.

", "type": { "name": "CommitContributionOrder", diff --git a/src/graphql/data/ghes-3.21/schema-deployments.json b/src/graphql/data/ghes-3.21/schema-deployments.json index 4be37a8043f8..d2045fe67a7f 100644 --- a/src/graphql/data/ghes-3.21/schema-deployments.json +++ b/src/graphql/data/ghes-3.21/schema-deployments.json @@ -316,7 +316,7 @@ "name": "DeployedEvent", "id": "deployedevent", "href": "/graphql/reference/deployments#object-deployedevent", - "description": "

Represents adeployedevent on a given pull request.

", + "description": "

Represents a deployed event on a given pull request.

", "implements": [ { "name": "Node", @@ -348,7 +348,7 @@ }, { "name": "deployment", - "description": "

The deployment associated with thedeployedevent.

", + "description": "

The deployment associated with the deployed event.

", "type": "Deployment!", "id": "deployment", "href": "/graphql/reference/deployments#object-deployment" @@ -369,7 +369,7 @@ }, { "name": "ref", - "description": "

The ref associated with thedeployedevent.

", + "description": "

The ref associated with the deployed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -621,7 +621,7 @@ "name": "DeploymentEnvironmentChangedEvent", "id": "deploymentenvironmentchangedevent", "href": "/graphql/reference/deployments#object-deploymentenvironmentchangedevent", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

", + "description": "

Represents a deployment_environment_changed event on a given pull request.

", "implements": [ { "name": "Node", diff --git a/src/graphql/data/ghes-3.21/schema-discussions.json b/src/graphql/data/ghes-3.21/schema-discussions.json index 891cc298a653..7c511d7b5c37 100644 --- a/src/graphql/data/ghes-3.21/schema-discussions.json +++ b/src/graphql/data/ghes-3.21/schema-discussions.json @@ -691,6 +691,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -1771,6 +1772,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: AUTHORED_ORDER, direction: ASC}", "description": "

How to order the options for the discussion poll.

", "type": { "name": "DiscussionPollOptionOrder", @@ -2135,6 +2137,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -2153,6 +2156,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", diff --git a/src/graphql/data/ghes-3.21/schema-enterprise-admin.json b/src/graphql/data/ghes-3.21/schema-enterprise-admin.json index c79897ad9e2a..ae75e1e7addb 100644 --- a/src/graphql/data/ghes-3.21/schema-enterprise-admin.json +++ b/src/graphql/data/ghes-3.21/schema-enterprise-admin.json @@ -1261,6 +1261,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for members returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -1358,6 +1359,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", @@ -2163,6 +2165,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for administrators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -2312,6 +2315,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2389,6 +2393,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2470,6 +2475,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -2585,6 +2591,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -2674,6 +2681,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2765,6 +2773,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2835,6 +2844,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2905,6 +2915,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2975,6 +2986,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3052,6 +3064,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3122,6 +3135,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3199,6 +3213,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3280,6 +3295,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for outside collaborators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -3370,6 +3386,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending enterprise administrator invitations returned from the connection.

", "type": { "name": "EnterpriseAdministratorInvitationOrder", @@ -3442,6 +3459,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending repository collaborator invitations returned from the connection.

", "type": { "name": "RepositoryInvitationOrder", @@ -3584,6 +3602,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3654,6 +3673,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3724,6 +3744,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3810,6 +3831,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4035,6 +4057,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for Enterprise Server user accounts returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountOrder", @@ -4089,6 +4112,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for Enterprise Server user accounts uploads returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountsUploadOrder", @@ -4233,6 +4257,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: EMAIL, direction: ASC}", "description": "

Ordering options for Enterprise Server user account emails returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountEmailOrder", @@ -4699,6 +4724,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: HOST_NAME, direction: ASC}", "description": "

Ordering options for installations returned from the connection.

", "type": { "name": "EnterpriseServerInstallationOrder", @@ -4792,6 +4818,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", diff --git a/src/graphql/data/ghes-3.21/schema-git.json b/src/graphql/data/ghes-3.21/schema-git.json index 89902cad157b..8d38cdabe9e9 100644 --- a/src/graphql/data/ghes-3.21/schema-git.json +++ b/src/graphql/data/ghes-3.21/schema-git.json @@ -716,6 +716,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for repository rules.

", "type": { "name": "RepositoryRuleOrder", diff --git a/src/graphql/data/ghes-3.21/schema-issues.json b/src/graphql/data/ghes-3.21/schema-issues.json index 72ef26a184d2..a2f6ec8c878e 100644 --- a/src/graphql/data/ghes-3.21/schema-issues.json +++ b/src/graphql/data/ghes-3.21/schema-issues.json @@ -1492,7 +1492,7 @@ "name": "AssignedEvent", "id": "assignedevent", "href": "/graphql/reference/issues#object-assignedevent", - "description": "

Represents anassignedevent on any assignable object.

", + "description": "

Represents an assigned event on any assignable object.

", "implements": [ { "name": "Node", @@ -1612,7 +1612,7 @@ "name": "BlockedByAddedEvent", "id": "blockedbyaddedevent", "href": "/graphql/reference/issues#object-blockedbyaddedevent", - "description": "

Represents ablocked_by_addedevent on a given issue.

", + "description": "

Represents a blocked_by_added event on a given issue.

", "implements": [ { "name": "Node", @@ -1656,7 +1656,7 @@ "name": "BlockedByRemovedEvent", "id": "blockedbyremovedevent", "href": "/graphql/reference/issues#object-blockedbyremovedevent", - "description": "

Represents ablocked_by_removedevent on a given issue.

", + "description": "

Represents a blocked_by_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -1700,7 +1700,7 @@ "name": "BlockingAddedEvent", "id": "blockingaddedevent", "href": "/graphql/reference/issues#object-blockingaddedevent", - "description": "

Represents ablocking_addedevent on a given issue.

", + "description": "

Represents a blocking_added event on a given issue.

", "implements": [ { "name": "Node", @@ -1744,7 +1744,7 @@ "name": "BlockingRemovedEvent", "id": "blockingremovedevent", "href": "/graphql/reference/issues#object-blockingremovedevent", - "description": "

Represents ablocking_removedevent on a given issue.

", + "description": "

Represents a blocking_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -1788,7 +1788,7 @@ "name": "ClosedEvent", "id": "closedevent", "href": "/graphql/reference/issues#object-closedevent", - "description": "

Represents aclosedevent on any Closable.

", + "description": "

Represents a closed event on any Closable.

", "implements": [ { "name": "Node", @@ -1872,7 +1872,7 @@ "name": "CommentDeletedEvent", "id": "commentdeletedevent", "href": "/graphql/reference/issues#object-commentdeletedevent", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

", + "description": "

Represents a comment_deleted event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1923,7 +1923,7 @@ "name": "ConnectedEvent", "id": "connectedevent", "href": "/graphql/reference/issues#object-connectedevent", - "description": "

Represents aconnectedevent on a given issue or pull request.

", + "description": "

Represents a connected event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1981,7 +1981,7 @@ "name": "ConvertedNoteToIssueEvent", "id": "convertednotetoissueevent", "href": "/graphql/reference/issues#object-convertednotetoissueevent", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

", + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -2050,7 +2050,7 @@ "name": "ConvertedToDiscussionEvent", "id": "convertedtodiscussionevent", "href": "/graphql/reference/issues#object-convertedtodiscussionevent", - "description": "

Represents aconverted_to_discussionevent on a given issue.

", + "description": "

Represents a converted_to_discussion event on a given issue.

", "implements": [ { "name": "Node", @@ -2185,7 +2185,7 @@ "name": "DemilestonedEvent", "id": "demilestonedevent", "href": "/graphql/reference/issues#object-demilestonedevent", - "description": "

Represents ademilestonedevent on a given issue or pull request.

", + "description": "

Represents a demilestoned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -2217,7 +2217,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with thedemilestonedevent.

", + "description": "

Identifies the milestone title associated with the demilestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -2236,7 +2236,7 @@ "name": "DisconnectedEvent", "id": "disconnectedevent", "href": "/graphql/reference/issues#object-disconnectedevent", - "description": "

Represents adisconnectedevent on a given issue or pull request.

", + "description": "

Represents a disconnected event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -2529,6 +2529,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -2583,6 +2584,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -2963,6 +2965,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -3122,6 +3125,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -3288,6 +3292,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4297,7 +4302,7 @@ "name": "IssueCommentPinnedEvent", "id": "issuecommentpinnedevent", "href": "/graphql/reference/issues#object-issuecommentpinnedevent", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

", + "description": "

Represents a issue_comment_pinned event on a given issue.

", "implements": [ { "name": "Node", @@ -4329,7 +4334,7 @@ }, { "name": "issueComment", - "description": "

Identifies the issue comment associated with theissue_comment_pinnedevent.

", + "description": "

Identifies the issue comment associated with the issue_comment_pinned event.

", "type": "IssueComment", "id": "issuecomment", "href": "/graphql/reference/issues#object-issuecomment" @@ -4341,7 +4346,7 @@ "name": "IssueCommentUnpinnedEvent", "id": "issuecommentunpinnedevent", "href": "/graphql/reference/issues#object-issuecommentunpinnedevent", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

", + "description": "

Represents a issue_comment_unpinned event on a given issue.

", "implements": [ { "name": "Node", @@ -4373,7 +4378,7 @@ }, { "name": "issueComment", - "description": "

Identifies the issue comment associated with theissue_comment_unpinnedevent.

", + "description": "

Identifies the issue comment associated with the issue_comment_unpinned event.

", "type": "IssueComment", "id": "issuecomment", "href": "/graphql/reference/issues#object-issuecomment" @@ -4469,6 +4474,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -5284,6 +5290,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -5619,7 +5626,7 @@ "name": "IssueTypeAddedEvent", "id": "issuetypeaddedevent", "href": "/graphql/reference/issues#object-issuetypeaddedevent", - "description": "

Represents aissue_type_addedevent on a given issue.

", + "description": "

Represents a issue_type_added event on a given issue.

", "implements": [ { "name": "Node", @@ -5663,7 +5670,7 @@ "name": "IssueTypeChangedEvent", "id": "issuetypechangedevent", "href": "/graphql/reference/issues#object-issuetypechangedevent", - "description": "

Represents aissue_type_changedevent on a given issue.

", + "description": "

Represents a issue_type_changed event on a given issue.

", "implements": [ { "name": "Node", @@ -5774,7 +5781,7 @@ "name": "IssueTypeRemovedEvent", "id": "issuetyperemovedevent", "href": "/graphql/reference/issues#object-issuetyperemovedevent", - "description": "

Represents aissue_type_removedevent on a given issue.

", + "description": "

Represents a issue_type_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -6135,7 +6142,7 @@ "name": "LabeledEvent", "id": "labeledevent", "href": "/graphql/reference/issues#object-labeledevent", - "description": "

Represents alabeledevent on a given issue or pull request.

", + "description": "

Represents a labeled event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6167,7 +6174,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with thelabeledevent.

", + "description": "

Identifies the label associated with the labeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -6276,7 +6283,7 @@ "name": "LockedEvent", "id": "lockedevent", "href": "/graphql/reference/issues#object-lockedevent", - "description": "

Represents alockedevent on a given issue or pull request.

", + "description": "

Represents a locked event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6327,7 +6334,7 @@ "name": "MarkedAsDuplicateEvent", "id": "markedasduplicateevent", "href": "/graphql/reference/issues#object-markedasduplicateevent", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6385,7 +6392,7 @@ "name": "MentionedEvent", "id": "mentionedevent", "href": "/graphql/reference/issues#object-mentionedevent", - "description": "

Represents amentionedevent on a given issue or pull request.

", + "description": "

Represents a mentioned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6826,7 +6833,7 @@ "name": "MilestonedEvent", "id": "milestonedevent", "href": "/graphql/reference/issues#object-milestonedevent", - "description": "

Represents amilestonedevent on a given issue or pull request.

", + "description": "

Represents a milestoned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6858,7 +6865,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with themilestonedevent.

", + "description": "

Identifies the milestone title associated with the milestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -6877,7 +6884,7 @@ "name": "ParentIssueAddedEvent", "id": "parentissueaddedevent", "href": "/graphql/reference/issues#object-parentissueaddedevent", - "description": "

Represents aparent_issue_addedevent on a given issue.

", + "description": "

Represents a parent_issue_added event on a given issue.

", "implements": [ { "name": "Node", @@ -6921,7 +6928,7 @@ "name": "ParentIssueRemovedEvent", "id": "parentissueremovedevent", "href": "/graphql/reference/issues#object-parentissueremovedevent", - "description": "

Represents aparent_issue_removedevent on a given issue.

", + "description": "

Represents a parent_issue_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -6965,7 +6972,7 @@ "name": "PinnedEvent", "id": "pinnedevent", "href": "/graphql/reference/issues#object-pinnedevent", - "description": "

Represents apinnedevent on a given issue or pull request.

", + "description": "

Represents a pinned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -7192,7 +7199,7 @@ "name": "ReferencedEvent", "id": "referencedevent", "href": "/graphql/reference/issues#object-referencedevent", - "description": "

Represents areferencedevent on a given ReferencedSubject.

", + "description": "

Represents a referenced event on a given ReferencedSubject.

", "implements": [ { "name": "Node", @@ -7210,14 +7217,14 @@ }, { "name": "commit", - "description": "

Identifies the commit associated with thereferencedevent.

", + "description": "

Identifies the commit associated with the referenced event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "commitRepository", - "description": "

Identifies the repository associated with thereferencedevent.

", + "description": "

Identifies the repository associated with the referenced event.

", "type": "Repository!", "id": "repository", "href": "/graphql/reference/repos#object-repository" @@ -7264,7 +7271,7 @@ "name": "RenamedTitleEvent", "id": "renamedtitleevent", "href": "/graphql/reference/issues#object-renamedtitleevent", - "description": "

Represents arenamedevent on a given issue or pull request.

", + "description": "

Represents a renamed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -7322,7 +7329,7 @@ "name": "ReopenedEvent", "id": "reopenedevent", "href": "/graphql/reference/issues#object-reopenedevent", - "description": "

Represents areopenedevent on any Closable.

", + "description": "

Represents a reopened event on any Closable.

", "implements": [ { "name": "Node", @@ -7373,7 +7380,7 @@ "name": "SubIssueAddedEvent", "id": "subissueaddedevent", "href": "/graphql/reference/issues#object-subissueaddedevent", - "description": "

Represents asub_issue_addedevent on a given issue.

", + "description": "

Represents a sub_issue_added event on a given issue.

", "implements": [ { "name": "Node", @@ -7417,7 +7424,7 @@ "name": "SubIssueRemovedEvent", "id": "subissueremovedevent", "href": "/graphql/reference/issues#object-subissueremovedevent", - "description": "

Represents asub_issue_removedevent on a given issue.

", + "description": "

Represents a sub_issue_removed event on a given issue.

", "implements": [ { "name": "Node", @@ -7491,7 +7498,7 @@ "name": "SubscribedEvent", "id": "subscribedevent", "href": "/graphql/reference/issues#object-subscribedevent", - "description": "

Represents asubscribedevent on a given Subscribable.

", + "description": "

Represents a subscribed event on a given Subscribable.

", "implements": [ { "name": "Node", @@ -7535,7 +7542,7 @@ "name": "TransferredEvent", "id": "transferredevent", "href": "/graphql/reference/issues#object-transferredevent", - "description": "

Represents atransferredevent on a given issue or pull request.

", + "description": "

Represents a transferred event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -7586,7 +7593,7 @@ "name": "UnassignedEvent", "id": "unassignedevent", "href": "/graphql/reference/issues#object-unassignedevent", - "description": "

Represents anunassignedevent on any assignable object.

", + "description": "

Represents an unassigned event on any assignable object.

", "implements": [ { "name": "Node", @@ -7646,7 +7653,7 @@ "name": "UnlabeledEvent", "id": "unlabeledevent", "href": "/graphql/reference/issues#object-unlabeledevent", - "description": "

Represents anunlabeledevent on a given issue or pull request.

", + "description": "

Represents an unlabeled event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -7678,7 +7685,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with theunlabeledevent.

", + "description": "

Identifies the label associated with the unlabeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -7697,7 +7704,7 @@ "name": "UnlockedEvent", "id": "unlockedevent", "href": "/graphql/reference/issues#object-unlockedevent", - "description": "

Represents anunlockedevent on a given issue or pull request.

", + "description": "

Represents an unlocked event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -7741,7 +7748,7 @@ "name": "UnmarkedAsDuplicateEvent", "id": "unmarkedasduplicateevent", "href": "/graphql/reference/issues#object-unmarkedasduplicateevent", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -7799,7 +7806,7 @@ "name": "UnpinnedEvent", "id": "unpinnedevent", "href": "/graphql/reference/issues#object-unpinnedevent", - "description": "

Represents anunpinnedevent on a given issue or pull request.

", + "description": "

Represents an unpinned event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -7843,7 +7850,7 @@ "name": "UnsubscribedEvent", "id": "unsubscribedevent", "href": "/graphql/reference/issues#object-unsubscribedevent", - "description": "

Represents anunsubscribedevent on a given Subscribable.

", + "description": "

Represents an unsubscribed event on a given Subscribable.

", "implements": [ { "name": "Node", @@ -8354,6 +8361,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -8767,55 +8775,55 @@ "values": [ { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ADDED_TO_PROJECT_V2_EVENT", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

" + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_FROM_DRAFT_EVENT", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

" + "description": "

Represents a converted_from_draft event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -8823,11 +8831,11 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "ISSUE_COMMENT", @@ -8835,139 +8843,139 @@ }, { "name": "ISSUE_COMMENT_PINNED_EVENT", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

" + "description": "

Represents a issue_comment_pinned event on a given issue.

" }, { "name": "ISSUE_COMMENT_UNPINNED_EVENT", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

" + "description": "

Represents a issue_comment_unpinned event on a given issue.

" }, { "name": "ISSUE_FIELD_ADDED_EVENT", - "description": "

Represents aissue_field_addedevent on a given issue.

" + "description": "

Represents a issue_field_added event on a given issue.

" }, { "name": "ISSUE_FIELD_CHANGED_EVENT", - "description": "

Represents aissue_field_changedevent on a given issue.

" + "description": "

Represents a issue_field_changed event on a given issue.

" }, { "name": "ISSUE_FIELD_REMOVED_EVENT", - "description": "

Represents aissue_field_removedevent on a given issue.

" + "description": "

Represents a issue_field_removed event on a given issue.

" }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PROJECT_V2_ITEM_STATUS_CHANGED_EVENT", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

" + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_PROJECT_V2_EVENT", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

" + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "issues" diff --git a/src/graphql/data/ghes-3.21/schema-orgs.json b/src/graphql/data/ghes-3.21/schema-orgs.json index a6a741776c9d..79e73b10c53f 100644 --- a/src/graphql/data/ghes-3.21/schema-orgs.json +++ b/src/graphql/data/ghes-3.21/schema-orgs.json @@ -6644,6 +6644,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the returned audit log entries.

", "type": { "name": "AuditLogOrder", @@ -6773,6 +6774,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -6834,6 +6836,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for enterprise owners returned from the connection.

", "type": { "name": "OrgEnterpriseOwnerOrder", @@ -6920,6 +6923,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -6988,6 +6992,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue fields returned from the connection.

", "type": { "name": "IssueFieldOrder", @@ -7042,6 +7047,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -7126,6 +7132,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for mannequins returned from the connection.

", "type": { "name": "MannequinOrder", @@ -7180,6 +7187,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -7330,6 +7338,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -7698,6 +7707,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -7860,6 +7870,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -8096,6 +8107,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -8114,6 +8126,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -8168,6 +8181,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for repository migrations returned.

", "type": { "name": "RepositoryMigrationOrder", diff --git a/src/graphql/data/ghes-3.21/schema-packages.json b/src/graphql/data/ghes-3.21/schema-packages.json index cf269b0d72b6..3f3e8c1856f9 100644 --- a/src/graphql/data/ghes-3.21/schema-packages.json +++ b/src/graphql/data/ghes-3.21/schema-packages.json @@ -151,6 +151,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageVersionOrder", @@ -473,6 +474,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering of the returned package files.

", "type": { "name": "PackageFileOrder", @@ -693,6 +695,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -763,19 +766,27 @@ }, { "name": "DOCKER", - "description": "

A docker image.

" + "description": "

A docker image.

", + "isDeprecated": true, + "deprecationReason": "

DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2021-06-21 UTC.

" }, { "name": "MAVEN", - "description": "

A maven package.

" + "description": "

A maven package.

", + "isDeprecated": true, + "deprecationReason": "

MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2023-02-10 UTC.

" }, { "name": "NPM", - "description": "

An npm package.

" + "description": "

An npm package.

", + "isDeprecated": true, + "deprecationReason": "

NPM will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "NUGET", - "description": "

A nuget package.

" + "description": "

A nuget package.

", + "isDeprecated": true, + "deprecationReason": "

NUGET will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "PYPI", @@ -783,7 +794,9 @@ }, { "name": "RUBYGEMS", - "description": "

A rubygems package.

" + "description": "

A rubygems package.

", + "isDeprecated": true, + "deprecationReason": "

RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-12-28 UTC.

" } ], "category": "packages" diff --git a/src/graphql/data/ghes-3.21/schema-projects-classic.json b/src/graphql/data/ghes-3.21/schema-projects-classic.json index c48a890aa4fb..a80afabea5fd 100644 --- a/src/graphql/data/ghes-3.21/schema-projects-classic.json +++ b/src/graphql/data/ghes-3.21/schema-projects-classic.json @@ -550,7 +550,7 @@ "name": "AddedToProjectEvent", "id": "addedtoprojectevent", "href": "/graphql/reference/projects-classic#object-addedtoprojectevent", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

", + "description": "

Represents a added_to_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -623,7 +623,7 @@ "name": "MovedColumnsInProjectEvent", "id": "movedcolumnsinprojectevent", "href": "/graphql/reference/projects-classic#object-movedcolumnsinprojectevent", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

", + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -884,6 +884,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1215,6 +1216,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1533,7 +1535,7 @@ "name": "RemovedFromProjectEvent", "id": "removedfromprojectevent", "href": "/graphql/reference/projects-classic#object-removedfromprojectevent", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

", + "description": "

Represents a removed_from_project event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1744,11 +1746,15 @@ "values": [ { "name": "ARCHIVED", - "description": "

A project card that is archived.

" + "description": "

A project card that is archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" }, { "name": "NOT_ARCHIVED", - "description": "

A project card that is not archived.

" + "description": "

A project card that is not archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" } ], "category": "projects-classic" @@ -1820,7 +1826,7 @@ "name": "ProjectState", "id": "projectstate", "href": "/graphql/reference/projects-classic#enum-projectstate", - "description": "

State of the project; eitheropenor 'closed'.

", + "description": "

State of the project; either open or 'closed'.

", "values": [ { "name": "CLOSED", diff --git a/src/graphql/data/ghes-3.21/schema-projects.json b/src/graphql/data/ghes-3.21/schema-projects.json index 6c49cdb7a44a..c8ed217d1153 100644 --- a/src/graphql/data/ghes-3.21/schema-projects.json +++ b/src/graphql/data/ghes-3.21/schema-projects.json @@ -919,7 +919,7 @@ "name": "AddedToProjectV2Event", "id": "addedtoprojectv2event", "href": "/graphql/reference/projects#object-addedtoprojectv2event", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

", + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1301,6 +1301,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -1369,6 +1370,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 items returned from the connection.

", "type": { "name": "ProjectV2ItemOrder", @@ -1461,6 +1463,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for repositories returned from the connection.

", "type": { "name": "RepositoryOrder", @@ -1529,6 +1532,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Order for connection.

", "type": { "name": "ProjectV2StatusOrder", @@ -1583,6 +1587,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for teams returned from this connection.

", "type": { "name": "TeamOrder", @@ -1704,6 +1709,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 views returned from the connection.

", "type": { "name": "ProjectV2ViewOrder", @@ -1776,6 +1782,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for project v2 workflows returned from the connection.

", "type": { "name": "ProjectV2WorkflowOrder", @@ -2143,7 +2150,7 @@ }, { "name": "fieldValueByName", - "description": "

The field value of the first project field which matches thenameargument that is set on the item.

", + "description": "

The field value of the first project field which matches the name argument that is set on the item.

", "type": "ProjectV2ItemFieldValue", "id": "projectv2itemfieldvalue", "href": "/graphql/reference/projects#union-projectv2itemfieldvalue", @@ -2204,6 +2211,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 item field values returned from the connection.

", "type": { "name": "ProjectV2ItemFieldValueOrder", @@ -2719,6 +2727,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -3152,7 +3161,7 @@ "name": "ProjectV2ItemStatusChangedEvent", "id": "projectv2itemstatuschangedevent", "href": "/graphql/reference/projects#object-projectv2itemstatuschangedevent", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

", + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -3917,6 +3926,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -3985,6 +3995,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4041,6 +4052,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4229,6 +4241,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4285,6 +4298,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4339,6 +4353,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4558,7 +4573,7 @@ "name": "RemovedFromProjectV2Event", "id": "removedfromprojectv2event", "href": "/graphql/reference/projects#object-removedfromprojectv2event", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

", + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -4837,6 +4852,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", diff --git a/src/graphql/data/ghes-3.21/schema-pulls.json b/src/graphql/data/ghes-3.21/schema-pulls.json index b8627fd206a4..3aabf822234a 100644 --- a/src/graphql/data/ghes-3.21/schema-pulls.json +++ b/src/graphql/data/ghes-3.21/schema-pulls.json @@ -1020,7 +1020,7 @@ "name": "AddedToMergeQueueEvent", "id": "addedtomergequeueevent", "href": "/graphql/reference/pulls#object-addedtomergequeueevent", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

", + "description": "

Represents an added_to_merge_queue event on a given pull request.

", "implements": [ { "name": "Node", @@ -1078,7 +1078,7 @@ "name": "AutoMergeDisabledEvent", "id": "automergedisabledevent", "href": "/graphql/reference/pulls#object-automergedisabledevent", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

", + "description": "

Represents a auto_merge_disabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1143,7 +1143,7 @@ "name": "AutoMergeEnabledEvent", "id": "automergeenabledevent", "href": "/graphql/reference/pulls#object-automergeenabledevent", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

", + "description": "

Represents a auto_merge_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1252,7 +1252,7 @@ "name": "AutoRebaseEnabledEvent", "id": "autorebaseenabledevent", "href": "/graphql/reference/pulls#object-autorebaseenabledevent", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

", + "description": "

Represents a auto_rebase_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1303,7 +1303,7 @@ "name": "AutoSquashEnabledEvent", "id": "autosquashenabledevent", "href": "/graphql/reference/pulls#object-autosquashenabledevent", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

", + "description": "

Represents a auto_squash_enabled event on a given pull request.

", "implements": [ { "name": "Node", @@ -1354,7 +1354,7 @@ "name": "AutomaticBaseChangeFailedEvent", "id": "automaticbasechangefailedevent", "href": "/graphql/reference/pulls#object-automaticbasechangefailedevent", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

", + "description": "

Represents a automatic_base_change_failed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1412,7 +1412,7 @@ "name": "AutomaticBaseChangeSucceededEvent", "id": "automaticbasechangesucceededevent", "href": "/graphql/reference/pulls#object-automaticbasechangesucceededevent", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

", + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

", "implements": [ { "name": "Node", @@ -1470,7 +1470,7 @@ "name": "BaseRefChangedEvent", "id": "baserefchangedevent", "href": "/graphql/reference/pulls#object-baserefchangedevent", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

", + "description": "

Represents a base_ref_changed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1535,7 +1535,7 @@ "name": "BaseRefDeletedEvent", "id": "baserefdeletedevent", "href": "/graphql/reference/pulls#object-baserefdeletedevent", - "description": "

Represents abase_ref_deletedevent on a given pull request.

", + "description": "

Represents a base_ref_deleted event on a given pull request.

", "implements": [ { "name": "Node", @@ -1586,7 +1586,7 @@ "name": "BaseRefForcePushedEvent", "id": "baserefforcepushedevent", "href": "/graphql/reference/pulls#object-baserefforcepushedevent", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a base_ref_force_pushed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1604,14 +1604,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -1639,7 +1639,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thebase_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the base_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -1651,7 +1651,7 @@ "name": "ConvertToDraftEvent", "id": "converttodraftevent", "href": "/graphql/reference/pulls#object-converttodraftevent", - "description": "

Represents aconvert_to_draftevent on a given pull request.

", + "description": "

Represents a convert_to_draft event on a given pull request.

", "implements": [ { "name": "Node", @@ -1714,7 +1714,7 @@ "name": "ConvertedFromDraftEvent", "id": "convertedfromdraftevent", "href": "/graphql/reference/pulls#object-convertedfromdraftevent", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

", + "description": "

Represents a converted_from_draft event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -1793,7 +1793,7 @@ "name": "HeadRefDeletedEvent", "id": "headrefdeletedevent", "href": "/graphql/reference/pulls#object-headrefdeletedevent", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

", + "description": "

Represents a head_ref_deleted event on a given pull request.

", "implements": [ { "name": "Node", @@ -1851,7 +1851,7 @@ "name": "HeadRefForcePushedEvent", "id": "headrefforcepushedevent", "href": "/graphql/reference/pulls#object-headrefforcepushedevent", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a head_ref_force_pushed event on a given pull request.

", "implements": [ { "name": "Node", @@ -1869,14 +1869,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -1904,7 +1904,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thehead_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the head_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -1916,7 +1916,7 @@ "name": "HeadRefRestoredEvent", "id": "headrefrestoredevent", "href": "/graphql/reference/pulls#object-headrefrestoredevent", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

", + "description": "

Represents a head_ref_restored event on a given pull request.

", "implements": [ { "name": "Node", @@ -2339,7 +2339,7 @@ "name": "MergedEvent", "id": "mergedevent", "href": "/graphql/reference/pulls#object-mergedevent", - "description": "

Represents amergedevent on a given pull request.

", + "description": "

Represents a merged event on a given pull request.

", "implements": [ { "name": "Node", @@ -3108,6 +3108,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -3385,6 +3386,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -3551,6 +3553,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4752,6 +4755,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -5962,6 +5966,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -6647,7 +6652,7 @@ "name": "ReadyForReviewEvent", "id": "readyforreviewevent", "href": "/graphql/reference/pulls#object-readyforreviewevent", - "description": "

Represents aready_for_reviewevent on a given pull request.

", + "description": "

Represents a ready_for_review event on a given pull request.

", "implements": [ { "name": "Node", @@ -6710,7 +6715,7 @@ "name": "RemovedFromMergeQueueEvent", "id": "removedfrommergequeueevent", "href": "/graphql/reference/pulls#object-removedfrommergequeueevent", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

", + "description": "

Represents a removed_from_merge_queue event on a given pull request.

", "implements": [ { "name": "Node", @@ -6728,7 +6733,7 @@ }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for theremoved_from_merge_queueevent.

", + "description": "

Identifies the before commit SHA for the removed_from_merge_queue event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -6872,7 +6877,7 @@ "name": "ReviewDismissedEvent", "id": "reviewdismissedevent", "href": "/graphql/reference/pulls#object-reviewdismissedevent", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

", + "description": "

Represents a review_dismissed event on a given issue or pull request.

", "implements": [ { "name": "Node", @@ -6909,7 +6914,7 @@ }, { "name": "dismissalMessage", - "description": "

Identifies the optional message associated with thereview_dismissedevent.

", + "description": "

Identifies the optional message associated with the review_dismissed event.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -6930,7 +6935,7 @@ }, { "name": "previousReviewState", - "description": "

Identifies the previous state of the review with thereview_dismissedevent.

", + "description": "

Identifies the previous state of the review with the review_dismissed event.

", "type": "PullRequestReviewState!", "id": "pullrequestreviewstate", "href": "/graphql/reference/pulls#enum-pullrequestreviewstate" @@ -6958,7 +6963,7 @@ }, { "name": "review", - "description": "

Identifies the review associated with thereview_dismissedevent.

", + "description": "

Identifies the review associated with the review_dismissed event.

", "type": "PullRequestReview", "id": "pullrequestreview", "href": "/graphql/reference/pulls#object-pullrequestreview" @@ -7088,7 +7093,7 @@ "name": "ReviewRequestRemovedEvent", "id": "reviewrequestremovedevent", "href": "/graphql/reference/pulls#object-reviewrequestremovedevent", - "description": "

Represents anreview_request_removedevent on a given pull request.

", + "description": "

Represents an review_request_removed event on a given pull request.

", "implements": [ { "name": "Node", @@ -7139,7 +7144,7 @@ "name": "ReviewRequestedEvent", "id": "reviewrequestedevent", "href": "/graphql/reference/pulls#object-reviewrequestedevent", - "description": "

Represents anreview_requestedevent on a given pull request.

", + "description": "

Represents an review_requested event on a given pull request.

", "implements": [ { "name": "Node", @@ -7529,7 +7534,9 @@ }, { "name": "DRAFT", - "description": "

The merge is blocked due to the pull request being a draft.

" + "description": "

The merge is blocked due to the pull request being a draft.

", + "isDeprecated": true, + "deprecationReason": "

DRAFT state will be removed from this enum and isDraft should be used instead Use PullRequest.isDraft instead. Removal on 2021-01-01 UTC.

" }, { "name": "HAS_HOOKS", @@ -7831,99 +7838,99 @@ "values": [ { "name": "ADDED_TO_MERGE_QUEUE_EVENT", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

" + "description": "

Represents an added_to_merge_queue event on a given pull request.

" }, { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ADDED_TO_PROJECT_V2_EVENT", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

" + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "AUTOMATIC_BASE_CHANGE_FAILED_EVENT", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

" + "description": "

Represents a automatic_base_change_failed event on a given pull request.

" }, { "name": "AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

" + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

" }, { "name": "AUTO_MERGE_DISABLED_EVENT", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

" + "description": "

Represents a auto_merge_disabled event on a given pull request.

" }, { "name": "AUTO_MERGE_ENABLED_EVENT", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

" + "description": "

Represents a auto_merge_enabled event on a given pull request.

" }, { "name": "AUTO_REBASE_ENABLED_EVENT", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

" + "description": "

Represents a auto_rebase_enabled event on a given pull request.

" }, { "name": "AUTO_SQUASH_ENABLED_EVENT", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

" + "description": "

Represents a auto_squash_enabled event on a given pull request.

" }, { "name": "BASE_REF_CHANGED_EVENT", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

" + "description": "

Represents a base_ref_changed event on a given issue or pull request.

" }, { "name": "BASE_REF_DELETED_EVENT", - "description": "

Represents abase_ref_deletedevent on a given pull request.

" + "description": "

Represents a base_ref_deleted event on a given pull request.

" }, { "name": "BASE_REF_FORCE_PUSHED_EVENT", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a base_ref_force_pushed event on a given pull request.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_FROM_DRAFT_EVENT", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

" + "description": "

Represents a converted_from_draft event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CONVERT_TO_DRAFT_EVENT", - "description": "

Represents aconvert_to_draftevent on a given pull request.

" + "description": "

Represents a convert_to_draft event on a given pull request.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -7931,31 +7938,31 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DEPLOYED_EVENT", - "description": "

Represents adeployedevent on a given pull request.

" + "description": "

Represents a deployed event on a given pull request.

" }, { "name": "DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

" + "description": "

Represents a deployment_environment_changed event on a given pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "HEAD_REF_DELETED_EVENT", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

" + "description": "

Represents a head_ref_deleted event on a given pull request.

" }, { "name": "HEAD_REF_FORCE_PUSHED_EVENT", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a head_ref_force_pushed event on a given pull request.

" }, { "name": "HEAD_REF_RESTORED_EVENT", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

" + "description": "

Represents a head_ref_restored event on a given pull request.

" }, { "name": "ISSUE_COMMENT", @@ -7963,79 +7970,79 @@ }, { "name": "ISSUE_COMMENT_PINNED_EVENT", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

" + "description": "

Represents a issue_comment_pinned event on a given issue.

" }, { "name": "ISSUE_COMMENT_UNPINNED_EVENT", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

" + "description": "

Represents a issue_comment_unpinned event on a given issue.

" }, { "name": "ISSUE_FIELD_ADDED_EVENT", - "description": "

Represents aissue_field_addedevent on a given issue.

" + "description": "

Represents a issue_field_added event on a given issue.

" }, { "name": "ISSUE_FIELD_CHANGED_EVENT", - "description": "

Represents aissue_field_changedevent on a given issue.

" + "description": "

Represents a issue_field_changed event on a given issue.

" }, { "name": "ISSUE_FIELD_REMOVED_EVENT", - "description": "

Represents aissue_field_removedevent on a given issue.

" + "description": "

Represents a issue_field_removed event on a given issue.

" }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MERGED_EVENT", - "description": "

Represents amergedevent on a given pull request.

" + "description": "

Represents a merged event on a given pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PROJECT_V2_ITEM_STATUS_CHANGED_EVENT", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

" + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

" }, { "name": "PULL_REQUEST_COMMIT", @@ -8059,87 +8066,87 @@ }, { "name": "READY_FOR_REVIEW_EVENT", - "description": "

Represents aready_for_reviewevent on a given pull request.

" + "description": "

Represents a ready_for_review event on a given pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_MERGE_QUEUE_EVENT", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

" + "description": "

Represents a removed_from_merge_queue event on a given pull request.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_PROJECT_V2_EVENT", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

" + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "REVIEW_DISMISSED_EVENT", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

" + "description": "

Represents a review_dismissed event on a given issue or pull request.

" }, { "name": "REVIEW_REQUESTED_EVENT", - "description": "

Represents anreview_requestedevent on a given pull request.

" + "description": "

Represents an review_requested event on a given pull request.

" }, { "name": "REVIEW_REQUEST_REMOVED_EVENT", - "description": "

Represents anreview_request_removedevent on a given pull request.

" + "description": "

Represents an review_request_removed event on a given pull request.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "pulls" diff --git a/src/graphql/data/ghes-3.21/schema-repos.json b/src/graphql/data/ghes-3.21/schema-repos.json index 2002dedc47bc..9eed5d735b74 100644 --- a/src/graphql/data/ghes-3.21/schema-repos.json +++ b/src/graphql/data/ghes-3.21/schema-repos.json @@ -852,7 +852,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -3482,6 +3482,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -3659,6 +3660,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -3668,6 +3670,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -3747,6 +3750,7 @@ }, { "name": "names", + "defaultValue": "[]", "description": "

The names of the environments to be returned.

", "type": { "name": "[String!]", @@ -3756,6 +3760,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "Environments", @@ -3870,6 +3875,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -4150,6 +4156,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -4303,6 +4310,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -4695,6 +4703,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4819,6 +4828,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "PinnedEnvironmentOrder", @@ -5068,6 +5078,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -7739,6 +7750,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -8304,6 +8316,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -9869,7 +9882,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" diff --git a/src/graphql/data/ghes-3.21/schema-teams.json b/src/graphql/data/ghes-3.21/schema-teams.json index 777f70cc993d..592ccb5928ec 100644 --- a/src/graphql/data/ghes-3.21/schema-teams.json +++ b/src/graphql/data/ghes-3.21/schema-teams.json @@ -435,6 +435,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -634,6 +635,7 @@ }, { "name": "filterBy", + "defaultValue": "{}", "description": "

Filtering options for projects returned from this connection.

", "type": { "name": "ProjectV2Filters", @@ -671,6 +673,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -2265,7 +2268,7 @@ "name": "TeamMemberRole", "id": "teammemberrole", "href": "/graphql/reference/teams#enum-teammemberrole", - "description": "

The possible team member roles; eithermaintaineror 'member'.

", + "description": "

The possible team member roles; either maintainer or 'member'.

", "values": [ { "name": "MAINTAINER", diff --git a/src/graphql/data/ghes-3.21/schema-users.json b/src/graphql/data/ghes-3.21/schema-users.json index 06721cc503cc..e7b8baf87b25 100644 --- a/src/graphql/data/ghes-3.21/schema-users.json +++ b/src/graphql/data/ghes-3.21/schema-users.json @@ -732,6 +732,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -887,6 +888,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -980,6 +982,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -1063,6 +1066,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -2039,6 +2043,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for repositories.

", "type": { "name": "RepositoryOrder", @@ -3471,6 +3476,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the User's enterprises.

", "type": { "name": "EnterpriseOrder", @@ -4136,6 +4142,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4459,6 +4466,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4763,6 +4771,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5035,6 +5044,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -5053,6 +5063,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -5114,6 +5125,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

The field to order saved replies by.

", "type": { "name": "SavedReplyOrder", @@ -5482,6 +5494,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5523,7 +5536,7 @@ "name": "UserBlockedEvent", "id": "userblockedevent", "href": "/graphql/reference/users#object-userblockedevent", - "description": "

Represents auser_blockedevent on a given user.

", + "description": "

Represents a user_blocked event on a given user.

", "implements": [ { "name": "Node", @@ -6410,6 +6423,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", diff --git a/src/graphql/data/ghes-3.22/schema-actions.json b/src/graphql/data/ghes-3.22/schema-actions.json index 2a7e17586ad3..897f7b79dc50 100644 --- a/src/graphql/data/ghes-3.22/schema-actions.json +++ b/src/graphql/data/ghes-3.22/schema-actions.json @@ -99,6 +99,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the connection.

", "type": { "name": "WorkflowRunOrder", diff --git a/src/graphql/data/ghes-3.22/schema-apps.json b/src/graphql/data/ghes-3.22/schema-apps.json index cbe03ef7d0ce..3ac4702fc337 100644 --- a/src/graphql/data/ghes-3.22/schema-apps.json +++ b/src/graphql/data/ghes-3.22/schema-apps.json @@ -94,6 +94,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", diff --git a/src/graphql/data/ghes-3.22/schema-commits.json b/src/graphql/data/ghes-3.22/schema-commits.json index c517be6cb3bc..a697859f2f73 100644 --- a/src/graphql/data/ghes-3.22/schema-commits.json +++ b/src/graphql/data/ghes-3.22/schema-commits.json @@ -129,6 +129,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -433,6 +434,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -1449,6 +1451,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: OCCURRED_AT, direction: DESC}", "description": "

Ordering options for commit contributions returned from the connection.

", "type": { "name": "CommitContributionOrder", diff --git a/src/graphql/data/ghes-3.22/schema-deployments.json b/src/graphql/data/ghes-3.22/schema-deployments.json index c6a8836db4ad..b8836596848f 100644 --- a/src/graphql/data/ghes-3.22/schema-deployments.json +++ b/src/graphql/data/ghes-3.22/schema-deployments.json @@ -326,7 +326,7 @@ "name": "DeployedEvent", "id": "deployedevent", "href": "/graphql/reference/deployments#object-deployedevent", - "description": "

Represents adeployedevent on a given pull request.

", + "description": "

Represents a deployed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -359,7 +359,7 @@ }, { "name": "deployment", - "description": "

The deployment associated with thedeployedevent.

", + "description": "

The deployment associated with the deployed event.

", "type": "Deployment!", "id": "deployment", "href": "/graphql/reference/deployments#object-deployment" @@ -380,7 +380,7 @@ }, { "name": "ref", - "description": "

The ref associated with thedeployedevent.

", + "description": "

The ref associated with the deployed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -633,7 +633,7 @@ "name": "DeploymentEnvironmentChangedEvent", "id": "deploymentenvironmentchangedevent", "href": "/graphql/reference/deployments#object-deploymentenvironmentchangedevent", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

", + "description": "

Represents a deployment_environment_changed event on a given pull request.

", "isDeprecated": false, "implements": [ { diff --git a/src/graphql/data/ghes-3.22/schema-discussions.json b/src/graphql/data/ghes-3.22/schema-discussions.json index 008909b2d427..b0bf1de3e549 100644 --- a/src/graphql/data/ghes-3.22/schema-discussions.json +++ b/src/graphql/data/ghes-3.22/schema-discussions.json @@ -705,6 +705,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -1788,6 +1789,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: AUTHORED_ORDER, direction: ASC}", "description": "

How to order the options for the discussion poll.

", "type": { "name": "DiscussionPollOptionOrder", @@ -2155,6 +2157,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -2173,6 +2176,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", diff --git a/src/graphql/data/ghes-3.22/schema-enterprise-admin.json b/src/graphql/data/ghes-3.22/schema-enterprise-admin.json index 6b256b502654..4f083ace5bd6 100644 --- a/src/graphql/data/ghes-3.22/schema-enterprise-admin.json +++ b/src/graphql/data/ghes-3.22/schema-enterprise-admin.json @@ -1331,6 +1331,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ID, direction: ASC}", "description": "

Ordering options for enterprise teams returned from the connection.

", "type": { "name": "EnterpriseTeamOrder", @@ -1426,6 +1427,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for members returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -1523,6 +1525,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", @@ -2335,6 +2338,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for administrators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -2484,6 +2488,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2561,6 +2566,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2642,6 +2648,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -2757,6 +2764,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -2846,6 +2854,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -2937,6 +2946,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3007,6 +3017,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3077,6 +3088,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3147,6 +3159,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3224,6 +3237,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3294,6 +3308,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3371,6 +3386,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3452,6 +3468,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for outside collaborators returned from the connection.

", "type": { "name": "EnterpriseMemberOrder", @@ -3542,6 +3559,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending enterprise administrator invitations returned from the connection.

", "type": { "name": "EnterpriseAdministratorInvitationOrder", @@ -3614,6 +3632,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for pending repository collaborator invitations returned from the connection.

", "type": { "name": "RepositoryInvitationOrder", @@ -3756,6 +3775,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3826,6 +3846,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3896,6 +3917,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -3982,6 +4004,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations with this setting.

", "type": { "name": "OrganizationOrder", @@ -4209,6 +4232,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for Enterprise Server user accounts returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountOrder", @@ -4263,6 +4287,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for Enterprise Server user accounts uploads returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountsUploadOrder", @@ -4408,6 +4433,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: EMAIL, direction: ASC}", "description": "

Ordering options for Enterprise Server user account emails returned from the connection.

", "type": { "name": "EnterpriseServerUserAccountEmailOrder", @@ -4845,6 +4871,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ID, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "EnterpriseTeamOrganizationOrder", @@ -4927,6 +4954,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ID, direction: ASC}", "description": "

Order for the connection.

", "type": { "name": "EnterpriseTeamMemberOrder", @@ -5174,6 +5202,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: HOST_NAME, direction: ASC}", "description": "

Ordering options for installations returned from the connection.

", "type": { "name": "EnterpriseServerInstallationOrder", @@ -5267,6 +5296,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for organizations returned from the connection.

", "type": { "name": "OrganizationOrder", diff --git a/src/graphql/data/ghes-3.22/schema-git.json b/src/graphql/data/ghes-3.22/schema-git.json index 546a3f92b287..e0243452e304 100644 --- a/src/graphql/data/ghes-3.22/schema-git.json +++ b/src/graphql/data/ghes-3.22/schema-git.json @@ -727,6 +727,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for repository rules.

", "type": { "name": "RepositoryRuleOrder", diff --git a/src/graphql/data/ghes-3.22/schema-issues.json b/src/graphql/data/ghes-3.22/schema-issues.json index 3013108cb52f..cf083ed59773 100644 --- a/src/graphql/data/ghes-3.22/schema-issues.json +++ b/src/graphql/data/ghes-3.22/schema-issues.json @@ -1537,7 +1537,7 @@ "name": "AssignedEvent", "id": "assignedevent", "href": "/graphql/reference/issues#object-assignedevent", - "description": "

Represents anassignedevent on any assignable object.

", + "description": "

Represents an assigned event on any assignable object.

", "isDeprecated": false, "implements": [ { @@ -1658,7 +1658,7 @@ "name": "BlockedByAddedEvent", "id": "blockedbyaddedevent", "href": "/graphql/reference/issues#object-blockedbyaddedevent", - "description": "

Represents ablocked_by_addedevent on a given issue.

", + "description": "

Represents a blocked_by_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -1703,7 +1703,7 @@ "name": "BlockedByRemovedEvent", "id": "blockedbyremovedevent", "href": "/graphql/reference/issues#object-blockedbyremovedevent", - "description": "

Represents ablocked_by_removedevent on a given issue.

", + "description": "

Represents a blocked_by_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -1748,7 +1748,7 @@ "name": "BlockingAddedEvent", "id": "blockingaddedevent", "href": "/graphql/reference/issues#object-blockingaddedevent", - "description": "

Represents ablocking_addedevent on a given issue.

", + "description": "

Represents a blocking_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -1793,7 +1793,7 @@ "name": "BlockingRemovedEvent", "id": "blockingremovedevent", "href": "/graphql/reference/issues#object-blockingremovedevent", - "description": "

Represents ablocking_removedevent on a given issue.

", + "description": "

Represents a blocking_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -1838,7 +1838,7 @@ "name": "ClosedEvent", "id": "closedevent", "href": "/graphql/reference/issues#object-closedevent", - "description": "

Represents aclosedevent on any Closable.

", + "description": "

Represents a closed event on any Closable.

", "isDeprecated": false, "implements": [ { @@ -1923,7 +1923,7 @@ "name": "CommentDeletedEvent", "id": "commentdeletedevent", "href": "/graphql/reference/issues#object-commentdeletedevent", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

", + "description": "

Represents a comment_deleted event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -1975,7 +1975,7 @@ "name": "ConnectedEvent", "id": "connectedevent", "href": "/graphql/reference/issues#object-connectedevent", - "description": "

Represents aconnectedevent on a given issue or pull request.

", + "description": "

Represents a connected event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2034,7 +2034,7 @@ "name": "ConvertedNoteToIssueEvent", "id": "convertednotetoissueevent", "href": "/graphql/reference/issues#object-convertednotetoissueevent", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

", + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2104,7 +2104,7 @@ "name": "ConvertedToDiscussionEvent", "id": "convertedtodiscussionevent", "href": "/graphql/reference/issues#object-convertedtodiscussionevent", - "description": "

Represents aconverted_to_discussionevent on a given issue.

", + "description": "

Represents a converted_to_discussion event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -2241,7 +2241,7 @@ "name": "DemilestonedEvent", "id": "demilestonedevent", "href": "/graphql/reference/issues#object-demilestonedevent", - "description": "

Represents ademilestonedevent on a given issue or pull request.

", + "description": "

Represents a demilestoned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2274,7 +2274,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with thedemilestonedevent.

", + "description": "

Identifies the milestone title associated with the demilestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -2293,7 +2293,7 @@ "name": "DisconnectedEvent", "id": "disconnectedevent", "href": "/graphql/reference/issues#object-disconnectedevent", - "description": "

Represents adisconnectedevent on a given issue or pull request.

", + "description": "

Represents a disconnected event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -2588,6 +2588,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -2642,6 +2643,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DEPENDENCY_ADDED_AT, direction: DESC}", "description": "

Ordering options for dependencies.

", "type": { "name": "IssueDependencyOrder", @@ -3022,6 +3024,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -3181,6 +3184,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -3347,6 +3351,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4357,7 +4362,7 @@ "name": "IssueCommentPinnedEvent", "id": "issuecommentpinnedevent", "href": "/graphql/reference/issues#object-issuecommentpinnedevent", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

", + "description": "

Represents a issue_comment_pinned event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -4390,7 +4395,7 @@ }, { "name": "issueComment", - "description": "

Identifies the issue comment associated with theissue_comment_pinnedevent.

", + "description": "

Identifies the issue comment associated with the issue_comment_pinned event.

", "type": "IssueComment", "id": "issuecomment", "href": "/graphql/reference/issues#object-issuecomment" @@ -4402,7 +4407,7 @@ "name": "IssueCommentUnpinnedEvent", "id": "issuecommentunpinnedevent", "href": "/graphql/reference/issues#object-issuecommentunpinnedevent", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

", + "description": "

Represents a issue_comment_unpinned event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -4435,7 +4440,7 @@ }, { "name": "issueComment", - "description": "

Identifies the issue comment associated with theissue_comment_unpinnedevent.

", + "description": "

Identifies the issue comment associated with the issue_comment_unpinned event.

", "type": "IssueComment", "id": "issuecomment", "href": "/graphql/reference/issues#object-issuecomment" @@ -4532,6 +4537,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -4616,7 +4622,7 @@ "name": "IssueFieldAddedEvent", "id": "issuefieldaddedevent", "href": "/graphql/reference/issues#object-issuefieldaddedevent", - "description": "

Represents aissue_field_addedevent on a given issue.

", + "description": "

Represents a issue_field_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -4675,7 +4681,7 @@ "name": "IssueFieldChangedEvent", "id": "issuefieldchangedevent", "href": "/graphql/reference/issues#object-issuefieldchangedevent", - "description": "

Represents aissue_field_changedevent on a given issue.

", + "description": "

Represents a issue_field_changed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -5104,7 +5110,7 @@ "name": "IssueFieldRemovedEvent", "id": "issuefieldremovedevent", "href": "/graphql/reference/issues#object-issuefieldremovedevent", - "description": "

Represents aissue_field_removedevent on a given issue.

", + "description": "

Represents a issue_field_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -5712,6 +5718,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -6048,7 +6055,7 @@ "name": "IssueTypeAddedEvent", "id": "issuetypeaddedevent", "href": "/graphql/reference/issues#object-issuetypeaddedevent", - "description": "

Represents aissue_type_addedevent on a given issue.

", + "description": "

Represents a issue_type_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -6093,7 +6100,7 @@ "name": "IssueTypeChangedEvent", "id": "issuetypechangedevent", "href": "/graphql/reference/issues#object-issuetypechangedevent", - "description": "

Represents aissue_type_changedevent on a given issue.

", + "description": "

Represents a issue_type_changed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -6205,7 +6212,7 @@ "name": "IssueTypeRemovedEvent", "id": "issuetyperemovedevent", "href": "/graphql/reference/issues#object-issuetyperemovedevent", - "description": "

Represents aissue_type_removedevent on a given issue.

", + "description": "

Represents a issue_type_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -6568,7 +6575,7 @@ "name": "LabeledEvent", "id": "labeledevent", "href": "/graphql/reference/issues#object-labeledevent", - "description": "

Represents alabeledevent on a given issue or pull request.

", + "description": "

Represents a labeled event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -6601,7 +6608,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with thelabeledevent.

", + "description": "

Identifies the label associated with the labeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -6711,7 +6718,7 @@ "name": "LockedEvent", "id": "lockedevent", "href": "/graphql/reference/issues#object-lockedevent", - "description": "

Represents alockedevent on a given issue or pull request.

", + "description": "

Represents a locked event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -6763,7 +6770,7 @@ "name": "MarkedAsDuplicateEvent", "id": "markedasduplicateevent", "href": "/graphql/reference/issues#object-markedasduplicateevent", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -6822,7 +6829,7 @@ "name": "MentionedEvent", "id": "mentionedevent", "href": "/graphql/reference/issues#object-mentionedevent", - "description": "

Represents amentionedevent on a given issue or pull request.

", + "description": "

Represents a mentioned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7265,7 +7272,7 @@ "name": "MilestonedEvent", "id": "milestonedevent", "href": "/graphql/reference/issues#object-milestonedevent", - "description": "

Represents amilestonedevent on a given issue or pull request.

", + "description": "

Represents a milestoned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7298,7 +7305,7 @@ }, { "name": "milestoneTitle", - "description": "

Identifies the milestone title associated with themilestonedevent.

", + "description": "

Identifies the milestone title associated with the milestoned event.

", "type": "String!", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -7317,7 +7324,7 @@ "name": "ParentIssueAddedEvent", "id": "parentissueaddedevent", "href": "/graphql/reference/issues#object-parentissueaddedevent", - "description": "

Represents aparent_issue_addedevent on a given issue.

", + "description": "

Represents a parent_issue_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -7362,7 +7369,7 @@ "name": "ParentIssueRemovedEvent", "id": "parentissueremovedevent", "href": "/graphql/reference/issues#object-parentissueremovedevent", - "description": "

Represents aparent_issue_removedevent on a given issue.

", + "description": "

Represents a parent_issue_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -7407,7 +7414,7 @@ "name": "PinnedEvent", "id": "pinnedevent", "href": "/graphql/reference/issues#object-pinnedevent", - "description": "

Represents apinnedevent on a given issue or pull request.

", + "description": "

Represents a pinned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7637,7 +7644,7 @@ "name": "ReferencedEvent", "id": "referencedevent", "href": "/graphql/reference/issues#object-referencedevent", - "description": "

Represents areferencedevent on a given ReferencedSubject.

", + "description": "

Represents a referenced event on a given ReferencedSubject.

", "isDeprecated": false, "implements": [ { @@ -7656,14 +7663,14 @@ }, { "name": "commit", - "description": "

Identifies the commit associated with thereferencedevent.

", + "description": "

Identifies the commit associated with the referenced event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "commitRepository", - "description": "

Identifies the repository associated with thereferencedevent.

", + "description": "

Identifies the repository associated with the referenced event.

", "type": "Repository!", "id": "repository", "href": "/graphql/reference/repos#object-repository" @@ -7710,7 +7717,7 @@ "name": "RenamedTitleEvent", "id": "renamedtitleevent", "href": "/graphql/reference/issues#object-renamedtitleevent", - "description": "

Represents arenamedevent on a given issue or pull request.

", + "description": "

Represents a renamed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7769,7 +7776,7 @@ "name": "ReopenedEvent", "id": "reopenedevent", "href": "/graphql/reference/issues#object-reopenedevent", - "description": "

Represents areopenedevent on any Closable.

", + "description": "

Represents a reopened event on any Closable.

", "isDeprecated": false, "implements": [ { @@ -7821,7 +7828,7 @@ "name": "SubIssueAddedEvent", "id": "subissueaddedevent", "href": "/graphql/reference/issues#object-subissueaddedevent", - "description": "

Represents asub_issue_addedevent on a given issue.

", + "description": "

Represents a sub_issue_added event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -7866,7 +7873,7 @@ "name": "SubIssueRemovedEvent", "id": "subissueremovedevent", "href": "/graphql/reference/issues#object-subissueremovedevent", - "description": "

Represents asub_issue_removedevent on a given issue.

", + "description": "

Represents a sub_issue_removed event on a given issue.

", "isDeprecated": false, "implements": [ { @@ -7942,7 +7949,7 @@ "name": "SubscribedEvent", "id": "subscribedevent", "href": "/graphql/reference/issues#object-subscribedevent", - "description": "

Represents asubscribedevent on a given Subscribable.

", + "description": "

Represents a subscribed event on a given Subscribable.

", "isDeprecated": false, "implements": [ { @@ -7987,7 +7994,7 @@ "name": "TransferredEvent", "id": "transferredevent", "href": "/graphql/reference/issues#object-transferredevent", - "description": "

Represents atransferredevent on a given issue or pull request.

", + "description": "

Represents a transferred event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -8039,7 +8046,7 @@ "name": "UnassignedEvent", "id": "unassignedevent", "href": "/graphql/reference/issues#object-unassignedevent", - "description": "

Represents anunassignedevent on any assignable object.

", + "description": "

Represents an unassigned event on any assignable object.

", "isDeprecated": false, "implements": [ { @@ -8100,7 +8107,7 @@ "name": "UnlabeledEvent", "id": "unlabeledevent", "href": "/graphql/reference/issues#object-unlabeledevent", - "description": "

Represents anunlabeledevent on a given issue or pull request.

", + "description": "

Represents an unlabeled event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -8133,7 +8140,7 @@ }, { "name": "label", - "description": "

Identifies the label associated with theunlabeledevent.

", + "description": "

Identifies the label associated with the unlabeled event.

", "type": "Label!", "id": "label", "href": "/graphql/reference/issues#object-label" @@ -8152,7 +8159,7 @@ "name": "UnlockedEvent", "id": "unlockedevent", "href": "/graphql/reference/issues#object-unlockedevent", - "description": "

Represents anunlockedevent on a given issue or pull request.

", + "description": "

Represents an unlocked event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -8197,7 +8204,7 @@ "name": "UnmarkedAsDuplicateEvent", "id": "unmarkedasduplicateevent", "href": "/graphql/reference/issues#object-unmarkedasduplicateevent", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

", + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -8256,7 +8263,7 @@ "name": "UnpinnedEvent", "id": "unpinnedevent", "href": "/graphql/reference/issues#object-unpinnedevent", - "description": "

Represents anunpinnedevent on a given issue or pull request.

", + "description": "

Represents an unpinned event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -8301,7 +8308,7 @@ "name": "UnsubscribedEvent", "id": "unsubscribedevent", "href": "/graphql/reference/issues#object-unsubscribedevent", - "description": "

Represents anunsubscribedevent on a given Subscribable.

", + "description": "

Represents an unsubscribed event on a given Subscribable.

", "isDeprecated": false, "implements": [ { @@ -8827,6 +8834,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -9278,55 +9286,55 @@ "values": [ { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ADDED_TO_PROJECT_V2_EVENT", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

" + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_FROM_DRAFT_EVENT", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

" + "description": "

Represents a converted_from_draft event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -9334,11 +9342,11 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "ISSUE_COMMENT", @@ -9346,139 +9354,139 @@ }, { "name": "ISSUE_COMMENT_PINNED_EVENT", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

" + "description": "

Represents a issue_comment_pinned event on a given issue.

" }, { "name": "ISSUE_COMMENT_UNPINNED_EVENT", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

" + "description": "

Represents a issue_comment_unpinned event on a given issue.

" }, { "name": "ISSUE_FIELD_ADDED_EVENT", - "description": "

Represents aissue_field_addedevent on a given issue.

" + "description": "

Represents a issue_field_added event on a given issue.

" }, { "name": "ISSUE_FIELD_CHANGED_EVENT", - "description": "

Represents aissue_field_changedevent on a given issue.

" + "description": "

Represents a issue_field_changed event on a given issue.

" }, { "name": "ISSUE_FIELD_REMOVED_EVENT", - "description": "

Represents aissue_field_removedevent on a given issue.

" + "description": "

Represents a issue_field_removed event on a given issue.

" }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PROJECT_V2_ITEM_STATUS_CHANGED_EVENT", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

" + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_PROJECT_V2_EVENT", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

" + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "issues" diff --git a/src/graphql/data/ghes-3.22/schema-orgs.json b/src/graphql/data/ghes-3.22/schema-orgs.json index 4a86343747fd..451201e3cfc9 100644 --- a/src/graphql/data/ghes-3.22/schema-orgs.json +++ b/src/graphql/data/ghes-3.22/schema-orgs.json @@ -6747,6 +6747,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for the returned audit log entries.

", "type": { "name": "AuditLogOrder", @@ -6876,6 +6877,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: DOMAIN, direction: ASC}", "description": "

Ordering options for verifiable domains returned.

", "type": { "name": "VerifiableDomainOrder", @@ -6937,6 +6939,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: LOGIN, direction: ASC}", "description": "

Ordering options for enterprise owners returned from the connection.

", "type": { "name": "OrgEnterpriseOwnerOrder", @@ -7023,6 +7026,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: ALLOW_LIST_VALUE, direction: ASC}", "description": "

Ordering options for IP allow list entries returned.

", "type": { "name": "IpAllowListEntryOrder", @@ -7091,6 +7095,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue fields returned from the connection.

", "type": { "name": "IssueFieldOrder", @@ -7145,6 +7150,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -7229,6 +7235,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for mannequins returned from the connection.

", "type": { "name": "MannequinOrder", @@ -7283,6 +7290,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -7433,6 +7441,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -7801,6 +7810,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -7963,6 +7973,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -8199,6 +8210,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -8217,6 +8229,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -8271,6 +8284,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for repository migrations returned.

", "type": { "name": "RepositoryMigrationOrder", diff --git a/src/graphql/data/ghes-3.22/schema-packages.json b/src/graphql/data/ghes-3.22/schema-packages.json index 05d1f325eb1b..9911b24f2394 100644 --- a/src/graphql/data/ghes-3.22/schema-packages.json +++ b/src/graphql/data/ghes-3.22/schema-packages.json @@ -153,6 +153,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageVersionOrder", @@ -479,6 +480,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering of the returned package files.

", "type": { "name": "PackageFileOrder", @@ -701,6 +703,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -774,19 +777,27 @@ }, { "name": "DOCKER", - "description": "

A docker image.

" + "description": "

A docker image.

", + "isDeprecated": true, + "deprecationReason": "

DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2021-06-21 UTC.

" }, { "name": "MAVEN", - "description": "

A maven package.

" + "description": "

A maven package.

", + "isDeprecated": true, + "deprecationReason": "

MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2023-02-10 UTC.

" }, { "name": "NPM", - "description": "

An npm package.

" + "description": "

An npm package.

", + "isDeprecated": true, + "deprecationReason": "

NPM will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "NUGET", - "description": "

A nuget package.

" + "description": "

A nuget package.

", + "isDeprecated": true, + "deprecationReason": "

NUGET will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC.

" }, { "name": "PYPI", @@ -794,7 +805,9 @@ }, { "name": "RUBYGEMS", - "description": "

A rubygems package.

" + "description": "

A rubygems package.

", + "isDeprecated": true, + "deprecationReason": "

RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-12-28 UTC.

" } ], "category": "packages" diff --git a/src/graphql/data/ghes-3.22/schema-projects-classic.json b/src/graphql/data/ghes-3.22/schema-projects-classic.json index d5fed054db23..f328b96a383f 100644 --- a/src/graphql/data/ghes-3.22/schema-projects-classic.json +++ b/src/graphql/data/ghes-3.22/schema-projects-classic.json @@ -550,7 +550,7 @@ "name": "AddedToProjectEvent", "id": "addedtoprojectevent", "href": "/graphql/reference/projects-classic#object-addedtoprojectevent", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

", + "description": "

Represents a added_to_project event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -624,7 +624,7 @@ "name": "MovedColumnsInProjectEvent", "id": "movedcolumnsinprojectevent", "href": "/graphql/reference/projects-classic#object-movedcolumnsinprojectevent", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

", + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -887,6 +887,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1220,6 +1221,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -1539,7 +1541,7 @@ "name": "RemovedFromProjectEvent", "id": "removedfromprojectevent", "href": "/graphql/reference/projects-classic#object-removedfromprojectevent", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

", + "description": "

Represents a removed_from_project event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -1753,11 +1755,15 @@ "values": [ { "name": "ARCHIVED", - "description": "

A project card that is archived.

" + "description": "

A project card that is archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" }, { "name": "NOT_ARCHIVED", - "description": "

A project card that is not archived.

" + "description": "

A project card that is not archived.

", + "isDeprecated": true, + "deprecationReason": "

Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. Removal on 2025-04-01 UTC.

" } ], "category": "projects-classic" @@ -1832,7 +1838,7 @@ "name": "ProjectState", "id": "projectstate", "href": "/graphql/reference/projects-classic#enum-projectstate", - "description": "

State of the project; eitheropenor 'closed'.

", + "description": "

State of the project; either open or 'closed'.

", "isDeprecated": false, "values": [ { diff --git a/src/graphql/data/ghes-3.22/schema-projects.json b/src/graphql/data/ghes-3.22/schema-projects.json index 5d790008b6b7..7660b593f4b5 100644 --- a/src/graphql/data/ghes-3.22/schema-projects.json +++ b/src/graphql/data/ghes-3.22/schema-projects.json @@ -948,7 +948,7 @@ "name": "AddedToProjectV2Event", "id": "addedtoprojectv2event", "href": "/graphql/reference/projects#object-addedtoprojectv2event", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

", + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -1333,6 +1333,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -1374,6 +1375,7 @@ }, { "name": "archivedStates", + "defaultValue": "[NOT_ARCHIVED]", "description": "

Filter items by their archived state. Defaults to only returning items that are not archived.

", "type": { "name": "[ProjectV2ItemArchivedState!]", @@ -1410,6 +1412,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 items returned from the connection.

", "type": { "name": "ProjectV2ItemOrder", @@ -1502,6 +1505,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for repositories returned from the connection.

", "type": { "name": "RepositoryOrder", @@ -1570,6 +1574,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Order for connection.

", "type": { "name": "ProjectV2StatusOrder", @@ -1624,6 +1629,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for teams returned from this connection.

", "type": { "name": "TeamOrder", @@ -1745,6 +1751,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 views returned from the connection.

", "type": { "name": "ProjectV2ViewOrder", @@ -1817,6 +1824,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for project v2 workflows returned from the connection.

", "type": { "name": "ProjectV2WorkflowOrder", @@ -2186,7 +2194,7 @@ }, { "name": "fieldValueByName", - "description": "

The field value of the first project field which matches thenameargument that is set on the item.

", + "description": "

The field value of the first project field which matches the name argument that is set on the item.

", "type": "ProjectV2ItemFieldValue", "id": "projectv2itemfieldvalue", "href": "/graphql/reference/projects#union-projectv2itemfieldvalue", @@ -2247,6 +2255,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for project v2 item field values returned from the connection.

", "type": { "name": "ProjectV2ItemFieldValueOrder", @@ -2768,6 +2777,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for pull requests.

", "type": { "name": "PullRequestOrder", @@ -3207,7 +3217,7 @@ "name": "ProjectV2ItemStatusChangedEvent", "id": "projectv2itemstatuschangedevent", "href": "/graphql/reference/projects#object-projectv2itemstatuschangedevent", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

", + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -3982,6 +3992,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4050,6 +4061,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4106,6 +4118,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4294,6 +4307,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4350,6 +4364,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4404,6 +4419,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the project v2 fields returned from the connection.

", "type": { "name": "ProjectV2FieldOrder", @@ -4624,7 +4640,7 @@ "name": "RemovedFromProjectV2Event", "id": "removedfromprojectv2event", "href": "/graphql/reference/projects#object-removedfromprojectv2event", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

", + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -4908,6 +4924,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", diff --git a/src/graphql/data/ghes-3.22/schema-pulls.json b/src/graphql/data/ghes-3.22/schema-pulls.json index d37db6d9f797..519d52805ca8 100644 --- a/src/graphql/data/ghes-3.22/schema-pulls.json +++ b/src/graphql/data/ghes-3.22/schema-pulls.json @@ -1178,7 +1178,7 @@ "name": "AddedToMergeQueueEvent", "id": "addedtomergequeueevent", "href": "/graphql/reference/pulls#object-addedtomergequeueevent", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

", + "description": "

Represents an added_to_merge_queue event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1237,7 +1237,7 @@ "name": "AutoMergeDisabledEvent", "id": "automergedisabledevent", "href": "/graphql/reference/pulls#object-automergedisabledevent", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

", + "description": "

Represents a auto_merge_disabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1303,7 +1303,7 @@ "name": "AutoMergeEnabledEvent", "id": "automergeenabledevent", "href": "/graphql/reference/pulls#object-automergeenabledevent", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

", + "description": "

Represents a auto_merge_enabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1414,7 +1414,7 @@ "name": "AutoRebaseEnabledEvent", "id": "autorebaseenabledevent", "href": "/graphql/reference/pulls#object-autorebaseenabledevent", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

", + "description": "

Represents a auto_rebase_enabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1466,7 +1466,7 @@ "name": "AutoSquashEnabledEvent", "id": "autosquashenabledevent", "href": "/graphql/reference/pulls#object-autosquashenabledevent", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

", + "description": "

Represents a auto_squash_enabled event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1518,7 +1518,7 @@ "name": "AutomaticBaseChangeFailedEvent", "id": "automaticbasechangefailedevent", "href": "/graphql/reference/pulls#object-automaticbasechangefailedevent", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

", + "description": "

Represents a automatic_base_change_failed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1577,7 +1577,7 @@ "name": "AutomaticBaseChangeSucceededEvent", "id": "automaticbasechangesucceededevent", "href": "/graphql/reference/pulls#object-automaticbasechangesucceededevent", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

", + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1636,7 +1636,7 @@ "name": "BaseRefChangedEvent", "id": "baserefchangedevent", "href": "/graphql/reference/pulls#object-baserefchangedevent", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

", + "description": "

Represents a base_ref_changed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -1702,7 +1702,7 @@ "name": "BaseRefDeletedEvent", "id": "baserefdeletedevent", "href": "/graphql/reference/pulls#object-baserefdeletedevent", - "description": "

Represents abase_ref_deletedevent on a given pull request.

", + "description": "

Represents a base_ref_deleted event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1754,7 +1754,7 @@ "name": "BaseRefForcePushedEvent", "id": "baserefforcepushedevent", "href": "/graphql/reference/pulls#object-baserefforcepushedevent", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a base_ref_force_pushed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1773,14 +1773,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thebase_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the base_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -1808,7 +1808,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thebase_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the base_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -1820,7 +1820,7 @@ "name": "ConvertToDraftEvent", "id": "converttodraftevent", "href": "/graphql/reference/pulls#object-converttodraftevent", - "description": "

Represents aconvert_to_draftevent on a given pull request.

", + "description": "

Represents a convert_to_draft event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -1884,7 +1884,7 @@ "name": "ConvertedFromDraftEvent", "id": "convertedfromdraftevent", "href": "/graphql/reference/pulls#object-convertedfromdraftevent", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

", + "description": "

Represents a converted_from_draft event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -1965,7 +1965,7 @@ "name": "HeadRefDeletedEvent", "id": "headrefdeletedevent", "href": "/graphql/reference/pulls#object-headrefdeletedevent", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

", + "description": "

Represents a head_ref_deleted event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -2024,7 +2024,7 @@ "name": "HeadRefForcePushedEvent", "id": "headrefforcepushedevent", "href": "/graphql/reference/pulls#object-headrefforcepushedevent", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

", + "description": "

Represents a head_ref_force_pushed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -2043,14 +2043,14 @@ }, { "name": "afterCommit", - "description": "

Identifies the after commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the after commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for thehead_ref_force_pushedevent.

", + "description": "

Identifies the before commit SHA for the head_ref_force_pushed event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -2078,7 +2078,7 @@ }, { "name": "ref", - "description": "

Identifies the fully qualified ref name for thehead_ref_force_pushedevent.

", + "description": "

Identifies the fully qualified ref name for the head_ref_force_pushed event.

", "type": "Ref", "id": "ref", "href": "/graphql/reference/git#object-ref" @@ -2090,7 +2090,7 @@ "name": "HeadRefRestoredEvent", "id": "headrefrestoredevent", "href": "/graphql/reference/pulls#object-headrefrestoredevent", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

", + "description": "

Represents a head_ref_restored event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -2518,7 +2518,7 @@ "name": "MergedEvent", "id": "mergedevent", "href": "/graphql/reference/pulls#object-mergedevent", - "description": "

Represents amergedevent on a given pull request.

", + "description": "

Represents a merged event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -3289,6 +3289,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -3566,6 +3567,7 @@ }, { "name": "archivedStates", + "defaultValue": "[ARCHIVED, NOT_ARCHIVED]", "description": "

A list of archived states to filter the cards by.

", "type": { "name": "[ProjectCardArchivedState]", @@ -3732,6 +3734,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4937,6 +4940,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -6206,6 +6210,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -6895,7 +6900,7 @@ "name": "ReadyForReviewEvent", "id": "readyforreviewevent", "href": "/graphql/reference/pulls#object-readyforreviewevent", - "description": "

Represents aready_for_reviewevent on a given pull request.

", + "description": "

Represents a ready_for_review event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -6959,7 +6964,7 @@ "name": "RemovedFromMergeQueueEvent", "id": "removedfrommergequeueevent", "href": "/graphql/reference/pulls#object-removedfrommergequeueevent", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

", + "description": "

Represents a removed_from_merge_queue event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -6978,7 +6983,7 @@ }, { "name": "beforeCommit", - "description": "

Identifies the before commit SHA for theremoved_from_merge_queueevent.

", + "description": "

Identifies the before commit SHA for the removed_from_merge_queue event.

", "type": "Commit", "id": "commit", "href": "/graphql/reference/commits#object-commit" @@ -7123,7 +7128,7 @@ "name": "ReviewDismissedEvent", "id": "reviewdismissedevent", "href": "/graphql/reference/pulls#object-reviewdismissedevent", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

", + "description": "

Represents a review_dismissed event on a given issue or pull request.

", "isDeprecated": false, "implements": [ { @@ -7161,7 +7166,7 @@ }, { "name": "dismissalMessage", - "description": "

Identifies the optional message associated with thereview_dismissedevent.

", + "description": "

Identifies the optional message associated with the review_dismissed event.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -7182,7 +7187,7 @@ }, { "name": "previousReviewState", - "description": "

Identifies the previous state of the review with thereview_dismissedevent.

", + "description": "

Identifies the previous state of the review with the review_dismissed event.

", "type": "PullRequestReviewState!", "id": "pullrequestreviewstate", "href": "/graphql/reference/pulls#enum-pullrequestreviewstate" @@ -7210,7 +7215,7 @@ }, { "name": "review", - "description": "

Identifies the review associated with thereview_dismissedevent.

", + "description": "

Identifies the review associated with the review_dismissed event.

", "type": "PullRequestReview", "id": "pullrequestreview", "href": "/graphql/reference/pulls#object-pullrequestreview" @@ -7341,7 +7346,7 @@ "name": "ReviewRequestRemovedEvent", "id": "reviewrequestremovedevent", "href": "/graphql/reference/pulls#object-reviewrequestremovedevent", - "description": "

Represents anreview_request_removedevent on a given pull request.

", + "description": "

Represents an review_request_removed event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -7393,7 +7398,7 @@ "name": "ReviewRequestedEvent", "id": "reviewrequestedevent", "href": "/graphql/reference/pulls#object-reviewrequestedevent", - "description": "

Represents anreview_requestedevent on a given pull request.

", + "description": "

Represents an review_requested event on a given pull request.

", "isDeprecated": false, "implements": [ { @@ -7795,7 +7800,9 @@ }, { "name": "DRAFT", - "description": "

The merge is blocked due to the pull request being a draft.

" + "description": "

The merge is blocked due to the pull request being a draft.

", + "isDeprecated": true, + "deprecationReason": "

DRAFT state will be removed from this enum and isDraft should be used instead Use PullRequest.isDraft instead. Removal on 2021-01-01 UTC.

" }, { "name": "HAS_HOOKS", @@ -8110,99 +8117,99 @@ "values": [ { "name": "ADDED_TO_MERGE_QUEUE_EVENT", - "description": "

Represents anadded_to_merge_queueevent on a given pull request.

" + "description": "

Represents an added_to_merge_queue event on a given pull request.

" }, { "name": "ADDED_TO_PROJECT_EVENT", - "description": "

Represents aadded_to_projectevent on a given issue or pull request.

" + "description": "

Represents a added_to_project event on a given issue or pull request.

" }, { "name": "ADDED_TO_PROJECT_V2_EVENT", - "description": "

Represents aadded_to_project_v2event on a given issue or pull request.

" + "description": "

Represents a added_to_project_v2 event on a given issue or pull request.

" }, { "name": "ASSIGNED_EVENT", - "description": "

Represents anassignedevent on any assignable object.

" + "description": "

Represents an assigned event on any assignable object.

" }, { "name": "AUTOMATIC_BASE_CHANGE_FAILED_EVENT", - "description": "

Represents aautomatic_base_change_failedevent on a given pull request.

" + "description": "

Represents a automatic_base_change_failed event on a given pull request.

" }, { "name": "AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT", - "description": "

Represents aautomatic_base_change_succeededevent on a given pull request.

" + "description": "

Represents a automatic_base_change_succeeded event on a given pull request.

" }, { "name": "AUTO_MERGE_DISABLED_EVENT", - "description": "

Represents aauto_merge_disabledevent on a given pull request.

" + "description": "

Represents a auto_merge_disabled event on a given pull request.

" }, { "name": "AUTO_MERGE_ENABLED_EVENT", - "description": "

Represents aauto_merge_enabledevent on a given pull request.

" + "description": "

Represents a auto_merge_enabled event on a given pull request.

" }, { "name": "AUTO_REBASE_ENABLED_EVENT", - "description": "

Represents aauto_rebase_enabledevent on a given pull request.

" + "description": "

Represents a auto_rebase_enabled event on a given pull request.

" }, { "name": "AUTO_SQUASH_ENABLED_EVENT", - "description": "

Represents aauto_squash_enabledevent on a given pull request.

" + "description": "

Represents a auto_squash_enabled event on a given pull request.

" }, { "name": "BASE_REF_CHANGED_EVENT", - "description": "

Represents abase_ref_changedevent on a given issue or pull request.

" + "description": "

Represents a base_ref_changed event on a given issue or pull request.

" }, { "name": "BASE_REF_DELETED_EVENT", - "description": "

Represents abase_ref_deletedevent on a given pull request.

" + "description": "

Represents a base_ref_deleted event on a given pull request.

" }, { "name": "BASE_REF_FORCE_PUSHED_EVENT", - "description": "

Represents abase_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a base_ref_force_pushed event on a given pull request.

" }, { "name": "BLOCKED_BY_ADDED_EVENT", - "description": "

Represents ablocked_by_addedevent on a given issue.

" + "description": "

Represents a blocked_by_added event on a given issue.

" }, { "name": "BLOCKED_BY_REMOVED_EVENT", - "description": "

Represents ablocked_by_removedevent on a given issue.

" + "description": "

Represents a blocked_by_removed event on a given issue.

" }, { "name": "BLOCKING_ADDED_EVENT", - "description": "

Represents ablocking_addedevent on a given issue.

" + "description": "

Represents a blocking_added event on a given issue.

" }, { "name": "BLOCKING_REMOVED_EVENT", - "description": "

Represents ablocking_removedevent on a given issue.

" + "description": "

Represents a blocking_removed event on a given issue.

" }, { "name": "CLOSED_EVENT", - "description": "

Represents aclosedevent on any Closable.

" + "description": "

Represents a closed event on any Closable.

" }, { "name": "COMMENT_DELETED_EVENT", - "description": "

Represents acomment_deletedevent on a given issue or pull request.

" + "description": "

Represents a comment_deleted event on a given issue or pull request.

" }, { "name": "CONNECTED_EVENT", - "description": "

Represents aconnectedevent on a given issue or pull request.

" + "description": "

Represents a connected event on a given issue or pull request.

" }, { "name": "CONVERTED_FROM_DRAFT_EVENT", - "description": "

Represents aconverted_from_draftevent on a given issue or pull request.

" + "description": "

Represents a converted_from_draft event on a given issue or pull request.

" }, { "name": "CONVERTED_NOTE_TO_ISSUE_EVENT", - "description": "

Represents aconverted_note_to_issueevent on a given issue or pull request.

" + "description": "

Represents a converted_note_to_issue event on a given issue or pull request.

" }, { "name": "CONVERTED_TO_DISCUSSION_EVENT", - "description": "

Represents aconverted_to_discussionevent on a given issue.

" + "description": "

Represents a converted_to_discussion event on a given issue.

" }, { "name": "CONVERT_TO_DRAFT_EVENT", - "description": "

Represents aconvert_to_draftevent on a given pull request.

" + "description": "

Represents a convert_to_draft event on a given pull request.

" }, { "name": "CROSS_REFERENCED_EVENT", @@ -8210,31 +8217,31 @@ }, { "name": "DEMILESTONED_EVENT", - "description": "

Represents ademilestonedevent on a given issue or pull request.

" + "description": "

Represents a demilestoned event on a given issue or pull request.

" }, { "name": "DEPLOYED_EVENT", - "description": "

Represents adeployedevent on a given pull request.

" + "description": "

Represents a deployed event on a given pull request.

" }, { "name": "DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT", - "description": "

Represents adeployment_environment_changedevent on a given pull request.

" + "description": "

Represents a deployment_environment_changed event on a given pull request.

" }, { "name": "DISCONNECTED_EVENT", - "description": "

Represents adisconnectedevent on a given issue or pull request.

" + "description": "

Represents a disconnected event on a given issue or pull request.

" }, { "name": "HEAD_REF_DELETED_EVENT", - "description": "

Represents ahead_ref_deletedevent on a given pull request.

" + "description": "

Represents a head_ref_deleted event on a given pull request.

" }, { "name": "HEAD_REF_FORCE_PUSHED_EVENT", - "description": "

Represents ahead_ref_force_pushedevent on a given pull request.

" + "description": "

Represents a head_ref_force_pushed event on a given pull request.

" }, { "name": "HEAD_REF_RESTORED_EVENT", - "description": "

Represents ahead_ref_restoredevent on a given pull request.

" + "description": "

Represents a head_ref_restored event on a given pull request.

" }, { "name": "ISSUE_COMMENT", @@ -8242,79 +8249,79 @@ }, { "name": "ISSUE_COMMENT_PINNED_EVENT", - "description": "

Represents aissue_comment_pinnedevent on a given issue.

" + "description": "

Represents a issue_comment_pinned event on a given issue.

" }, { "name": "ISSUE_COMMENT_UNPINNED_EVENT", - "description": "

Represents aissue_comment_unpinnedevent on a given issue.

" + "description": "

Represents a issue_comment_unpinned event on a given issue.

" }, { "name": "ISSUE_FIELD_ADDED_EVENT", - "description": "

Represents aissue_field_addedevent on a given issue.

" + "description": "

Represents a issue_field_added event on a given issue.

" }, { "name": "ISSUE_FIELD_CHANGED_EVENT", - "description": "

Represents aissue_field_changedevent on a given issue.

" + "description": "

Represents a issue_field_changed event on a given issue.

" }, { "name": "ISSUE_FIELD_REMOVED_EVENT", - "description": "

Represents aissue_field_removedevent on a given issue.

" + "description": "

Represents a issue_field_removed event on a given issue.

" }, { "name": "ISSUE_TYPE_ADDED_EVENT", - "description": "

Represents aissue_type_addedevent on a given issue.

" + "description": "

Represents a issue_type_added event on a given issue.

" }, { "name": "ISSUE_TYPE_CHANGED_EVENT", - "description": "

Represents aissue_type_changedevent on a given issue.

" + "description": "

Represents a issue_type_changed event on a given issue.

" }, { "name": "ISSUE_TYPE_REMOVED_EVENT", - "description": "

Represents aissue_type_removedevent on a given issue.

" + "description": "

Represents a issue_type_removed event on a given issue.

" }, { "name": "LABELED_EVENT", - "description": "

Represents alabeledevent on a given issue or pull request.

" + "description": "

Represents a labeled event on a given issue or pull request.

" }, { "name": "LOCKED_EVENT", - "description": "

Represents alockedevent on a given issue or pull request.

" + "description": "

Represents a locked event on a given issue or pull request.

" }, { "name": "MARKED_AS_DUPLICATE_EVENT", - "description": "

Represents amarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents a marked_as_duplicate event on a given issue or pull request.

" }, { "name": "MENTIONED_EVENT", - "description": "

Represents amentionedevent on a given issue or pull request.

" + "description": "

Represents a mentioned event on a given issue or pull request.

" }, { "name": "MERGED_EVENT", - "description": "

Represents amergedevent on a given pull request.

" + "description": "

Represents a merged event on a given pull request.

" }, { "name": "MILESTONED_EVENT", - "description": "

Represents amilestonedevent on a given issue or pull request.

" + "description": "

Represents a milestoned event on a given issue or pull request.

" }, { "name": "MOVED_COLUMNS_IN_PROJECT_EVENT", - "description": "

Represents amoved_columns_in_projectevent on a given issue or pull request.

" + "description": "

Represents a moved_columns_in_project event on a given issue or pull request.

" }, { "name": "PARENT_ISSUE_ADDED_EVENT", - "description": "

Represents aparent_issue_addedevent on a given issue.

" + "description": "

Represents a parent_issue_added event on a given issue.

" }, { "name": "PARENT_ISSUE_REMOVED_EVENT", - "description": "

Represents aparent_issue_removedevent on a given issue.

" + "description": "

Represents a parent_issue_removed event on a given issue.

" }, { "name": "PINNED_EVENT", - "description": "

Represents apinnedevent on a given issue or pull request.

" + "description": "

Represents a pinned event on a given issue or pull request.

" }, { "name": "PROJECT_V2_ITEM_STATUS_CHANGED_EVENT", - "description": "

Represents aproject_v2_item_status_changedevent on a given issue or pull request.

" + "description": "

Represents a project_v2_item_status_changed event on a given issue or pull request.

" }, { "name": "PULL_REQUEST_COMMIT", @@ -8338,87 +8345,87 @@ }, { "name": "READY_FOR_REVIEW_EVENT", - "description": "

Represents aready_for_reviewevent on a given pull request.

" + "description": "

Represents a ready_for_review event on a given pull request.

" }, { "name": "REFERENCED_EVENT", - "description": "

Represents areferencedevent on a given ReferencedSubject.

" + "description": "

Represents a referenced event on a given ReferencedSubject.

" }, { "name": "REMOVED_FROM_MERGE_QUEUE_EVENT", - "description": "

Represents aremoved_from_merge_queueevent on a given pull request.

" + "description": "

Represents a removed_from_merge_queue event on a given pull request.

" }, { "name": "REMOVED_FROM_PROJECT_EVENT", - "description": "

Represents aremoved_from_projectevent on a given issue or pull request.

" + "description": "

Represents a removed_from_project event on a given issue or pull request.

" }, { "name": "REMOVED_FROM_PROJECT_V2_EVENT", - "description": "

Represents aremoved_from_project_v2event on a given issue or pull request.

" + "description": "

Represents a removed_from_project_v2 event on a given issue or pull request.

" }, { "name": "RENAMED_TITLE_EVENT", - "description": "

Represents arenamedevent on a given issue or pull request.

" + "description": "

Represents a renamed event on a given issue or pull request.

" }, { "name": "REOPENED_EVENT", - "description": "

Represents areopenedevent on any Closable.

" + "description": "

Represents a reopened event on any Closable.

" }, { "name": "REVIEW_DISMISSED_EVENT", - "description": "

Represents areview_dismissedevent on a given issue or pull request.

" + "description": "

Represents a review_dismissed event on a given issue or pull request.

" }, { "name": "REVIEW_REQUESTED_EVENT", - "description": "

Represents anreview_requestedevent on a given pull request.

" + "description": "

Represents an review_requested event on a given pull request.

" }, { "name": "REVIEW_REQUEST_REMOVED_EVENT", - "description": "

Represents anreview_request_removedevent on a given pull request.

" + "description": "

Represents an review_request_removed event on a given pull request.

" }, { "name": "SUBSCRIBED_EVENT", - "description": "

Represents asubscribedevent on a given Subscribable.

" + "description": "

Represents a subscribed event on a given Subscribable.

" }, { "name": "SUB_ISSUE_ADDED_EVENT", - "description": "

Represents asub_issue_addedevent on a given issue.

" + "description": "

Represents a sub_issue_added event on a given issue.

" }, { "name": "SUB_ISSUE_REMOVED_EVENT", - "description": "

Represents asub_issue_removedevent on a given issue.

" + "description": "

Represents a sub_issue_removed event on a given issue.

" }, { "name": "TRANSFERRED_EVENT", - "description": "

Represents atransferredevent on a given issue or pull request.

" + "description": "

Represents a transferred event on a given issue or pull request.

" }, { "name": "UNASSIGNED_EVENT", - "description": "

Represents anunassignedevent on any assignable object.

" + "description": "

Represents an unassigned event on any assignable object.

" }, { "name": "UNLABELED_EVENT", - "description": "

Represents anunlabeledevent on a given issue or pull request.

" + "description": "

Represents an unlabeled event on a given issue or pull request.

" }, { "name": "UNLOCKED_EVENT", - "description": "

Represents anunlockedevent on a given issue or pull request.

" + "description": "

Represents an unlocked event on a given issue or pull request.

" }, { "name": "UNMARKED_AS_DUPLICATE_EVENT", - "description": "

Represents anunmarked_as_duplicateevent on a given issue or pull request.

" + "description": "

Represents an unmarked_as_duplicate event on a given issue or pull request.

" }, { "name": "UNPINNED_EVENT", - "description": "

Represents anunpinnedevent on a given issue or pull request.

" + "description": "

Represents an unpinned event on a given issue or pull request.

" }, { "name": "UNSUBSCRIBED_EVENT", - "description": "

Represents anunsubscribedevent on a given Subscribable.

" + "description": "

Represents an unsubscribed event on a given Subscribable.

" }, { "name": "USER_BLOCKED_EVENT", - "description": "

Represents auser_blockedevent on a given user.

" + "description": "

Represents a user_blocked event on a given user.

" } ], "category": "pulls" diff --git a/src/graphql/data/ghes-3.22/schema-repos.json b/src/graphql/data/ghes-3.22/schema-repos.json index 31fb07a7c914..fb0bb1225f99 100644 --- a/src/graphql/data/ghes-3.22/schema-repos.json +++ b/src/graphql/data/ghes-3.22/schema-repos.json @@ -877,7 +877,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" @@ -3517,6 +3517,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for deployments returned from the connection.

", "type": { "name": "DeploymentOrder", @@ -3694,6 +3695,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -3703,6 +3705,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -3782,6 +3785,7 @@ }, { "name": "names", + "defaultValue": "[]", "description": "

The names of the environments to be returned.

", "type": { "name": "[String!]", @@ -3791,6 +3795,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "Environments", @@ -3905,6 +3910,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -4149,6 +4155,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue fields returned from the connection.

", "type": { "name": "IssueFieldOrder", @@ -4246,6 +4253,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for issue types returned from the connection.

", "type": { "name": "IssueTypeOrder", @@ -4399,6 +4407,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: ASC}", "description": "

Ordering options for labels returned from the connection.

", "type": { "name": "LabelOrder", @@ -4791,6 +4800,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4915,6 +4925,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: POSITION, direction: ASC}", "description": "

Ordering options for the environments.

", "type": { "name": "PinnedEnvironmentOrder", @@ -5164,6 +5175,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -7882,6 +7894,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -8459,6 +8472,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -10070,7 +10084,7 @@ }, { "name": "source", - "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "description": "

The source of the property. Choose custom or 'system'. Defaults to custom if not specified.

", "type": "String", "id": "string", "href": "/graphql/reference/other#scalar-string" diff --git a/src/graphql/data/ghes-3.22/schema-teams.json b/src/graphql/data/ghes-3.22/schema-teams.json index 7cbd92ae338f..5b68d31316a0 100644 --- a/src/graphql/data/ghes-3.22/schema-teams.json +++ b/src/graphql/data/ghes-3.22/schema-teams.json @@ -443,6 +443,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", @@ -642,6 +643,7 @@ }, { "name": "filterBy", + "defaultValue": "{}", "description": "

Filtering options for projects returned from this connection.

", "type": { "name": "ProjectV2Filters", @@ -679,6 +681,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -2311,7 +2314,7 @@ "name": "TeamMemberRole", "id": "teammemberrole", "href": "/graphql/reference/teams#enum-teammemberrole", - "description": "

The possible team member roles; eithermaintaineror 'member'.

", + "description": "

The possible team member roles; either maintainer or 'member'.

", "isDeprecated": false, "values": [ { diff --git a/src/graphql/data/ghes-3.22/schema-users.json b/src/graphql/data/ghes-3.22/schema-users.json index 0d03ca5df87b..a25f52ef0b6d 100644 --- a/src/graphql/data/ghes-3.22/schema-users.json +++ b/src/graphql/data/ghes-3.22/schema-users.json @@ -745,6 +745,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -900,6 +901,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -993,6 +995,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -1076,6 +1079,7 @@ }, { "name": "orderBy", + "defaultValue": "{direction: DESC}", "description": "

Ordering options for contributions returned from the connection.

", "type": { "name": "ContributionOrder", @@ -2057,6 +2061,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for repositories.

", "type": { "name": "RepositoryOrder", @@ -3558,6 +3563,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NAME, direction: ASC}", "description": "

Ordering options for the User's enterprises.

", "type": { "name": "EnterpriseOrder", @@ -4223,6 +4229,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering of the returned packages.

", "type": { "name": "PackageOrder", @@ -4546,6 +4553,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: NUMBER, direction: DESC}", "description": "

How to order the returned projects.

", "type": { "name": "ProjectV2Order", @@ -4850,6 +4858,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5122,6 +5131,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: CREATED_AT, direction: DESC}", "description": "

Ordering options for discussions returned from the connection.

", "type": { "name": "DiscussionOrder", @@ -5140,6 +5150,7 @@ }, { "name": "states", + "defaultValue": "[]", "description": "

A list of states to filter the discussions by.

", "type": { "name": "[DiscussionState!]", @@ -5201,6 +5212,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

The field to order saved replies by.

", "type": { "name": "SavedReplyOrder", @@ -5569,6 +5581,7 @@ }, { "name": "ownerAffiliations", + "defaultValue": "[OWNER, COLLABORATOR]", "description": "

Array of owner's affiliation options for repositories returned from the\nconnection. For example, OWNER will include only repositories that the\norganization or user being viewed owns.

", "type": { "name": "[RepositoryAffiliation]", @@ -5610,7 +5623,7 @@ "name": "UserBlockedEvent", "id": "userblockedevent", "href": "/graphql/reference/users#object-userblockedevent", - "description": "

Represents auser_blockedevent on a given user.

", + "description": "

Represents a user_blocked event on a given user.

", "isDeprecated": false, "implements": [ { @@ -6508,6 +6521,7 @@ }, { "name": "orderBy", + "defaultValue": "{field: UPDATED_AT, direction: DESC}", "description": "

Ordering options for user statuses returned from the connection.

", "type": { "name": "UserStatusOrder", From eb225b641946730155a27a08580af0059d3c3001 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:41:07 +0000 Subject: [PATCH 33/38] Keep the locale in the URL when search updates the home page (#64127) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../tests/playwright-rendering.spec.ts | 32 +++++++++++++++++ src/frame/components/hooks/useQueryParam.ts | 11 ++---- src/frame/components/lib/shallow-query-url.ts | 19 +++++++++++ src/frame/tests/shallow-query-url.ts | 34 +++++++++++++++++++ .../components/hooks/useMultiQueryParams.ts | 11 ++---- 5 files changed, 91 insertions(+), 16 deletions(-) create mode 100644 src/frame/components/lib/shallow-query-url.ts create mode 100644 src/frame/tests/shallow-query-url.ts diff --git a/src/fixtures/tests/playwright-rendering.spec.ts b/src/fixtures/tests/playwright-rendering.spec.ts index 44a2a2a3e4a6..20aa436592d3 100644 --- a/src/fixtures/tests/playwright-rendering.spec.ts +++ b/src/fixtures/tests/playwright-rendering.spec.ts @@ -565,6 +565,38 @@ test.describe('search dialog', () => { await expect(page).not.toHaveURL(/search-overlay-open/) }) + test('search on the home page keeps the locale and stays shallow', async ({ page }) => { + await mockSearch(page) + await page.goto('/en') + await turnOffExperimentsInPage(page) + + // A document request here means Next turned the shallow URL update into a full page load. + const navigations: string[] = [] + page.on('request', (request) => { + if (request.isNavigationRequest()) navigations.push(request.url()) + }) + + await page.getByTestId('toggle-search').click() + const input = page.getByTestId('overlay-search-input') + await input.fill('foo') + // A bare `/` would go through the root redirect, which can pick another language. + await expect(page).toHaveURL( + (url) => + url.pathname === '/en' && + url.searchParams.get('search-overlay-open') === 'true' && + url.searchParams.get('search-overlay-input') === 'foo', + ) + + await input.press('Escape') + await expect(input).toHaveCount(0) + // Past the 100ms debounce, so a queued write can't change the URL after the check. + await page.waitForTimeout(300) + await expect(page).toHaveURL( + (url) => url.pathname === '/en' && !url.searchParams.has('search-overlay-open'), + ) + expect(navigations).toEqual([]) + }) + test('input method composition keys do not select, ask Copilot, or close', async ({ page }) => { await mockSearch(page) let aiRequests = 0 diff --git a/src/frame/components/hooks/useQueryParam.ts b/src/frame/components/hooks/useQueryParam.ts index b2e1d586578c..79392bec712a 100644 --- a/src/frame/components/hooks/useQueryParam.ts +++ b/src/frame/components/hooks/useQueryParam.ts @@ -3,6 +3,7 @@ import { useRouter } from 'next/router' import { useState, useEffect } from 'react' import { parseDebug } from '@/search/components/hooks/useQuery' +import { buildShallowQueryUrls } from '@/frame/components/lib/shallow-query-url' type UseQueryParamReturn = { debug: boolean @@ -50,15 +51,9 @@ export function useQueryParam( currentParams.delete(queryParamKey) } const paramsString = currentParams.toString() ? `?${currentParams.toString()}` : '' - let newUrl = `${asPathRoot}${paramsString}` - if (asPathRoot !== '/' && router.locale) { - newUrl = `${router.locale}${asPathRoot}${paramsString}` - } - if (!newUrl.startsWith('/')) { - newUrl = `/${newUrl}` - } + const { url, as } = buildShallowQueryUrls(asPathRoot, paramsString, router.locale) - await router.replace(newUrl, undefined, { shallow: true, locale: router.locale, scroll: false }) + await router.replace(url, as, { shallow: true, locale: router.locale, scroll: false }) } if (isBoolean) { diff --git a/src/frame/components/lib/shallow-query-url.ts b/src/frame/components/lib/shallow-query-url.ts new file mode 100644 index 000000000000..eb29c86b7a3f --- /dev/null +++ b/src/frame/components/lib/shallow-query-url.ts @@ -0,0 +1,19 @@ +// Next's asPath omits the locale and router.replace never adds the default one back. +// A bare '/' then hits the root redirect, which picks language and version from cookies. +// On the home page the locale goes only in `as`: Next can't strip it from '/en?query' in `url`, +// so the route would become '/en' and the shallow update would turn into a full page load. +export function buildShallowQueryUrls( + asPathRoot: string, + paramsString: string, + locale?: string, +): { url: string; as: string } { + if (!locale) { + const url = `${asPathRoot}${paramsString}` + return { url, as: url } + } + if (asPathRoot === '/') { + return { url: `/${paramsString}`, as: `/${locale}${paramsString}` } + } + const url = `/${locale}${asPathRoot}${paramsString}` + return { url, as: url } +} diff --git a/src/frame/tests/shallow-query-url.ts b/src/frame/tests/shallow-query-url.ts new file mode 100644 index 000000000000..c0138617d6fe --- /dev/null +++ b/src/frame/tests/shallow-query-url.ts @@ -0,0 +1,34 @@ +import { describe, expect, test } from 'vitest' + +import { buildShallowQueryUrls } from '@/frame/components/lib/shallow-query-url' + +describe('buildShallowQueryUrls', () => { + test('keeps the locale in `as` on the home page and out of `url`', () => { + expect(buildShallowQueryUrls('/', '?search-overlay-open=true', 'en')).toEqual({ + url: '/?search-overlay-open=true', + as: '/en?search-overlay-open=true', + }) + expect(buildShallowQueryUrls('/', '', 'en')).toEqual({ url: '/', as: '/en' }) + expect(buildShallowQueryUrls('/', '?a=b', 'ja')).toEqual({ url: '/?a=b', as: '/ja?a=b' }) + expect(buildShallowQueryUrls('/', '', 'ja')).toEqual({ url: '/', as: '/ja' }) + }) + + test('prefixes other pages with the locale', () => { + expect(buildShallowQueryUrls('/get-started', '?a=b', 'en')).toEqual({ + url: '/en/get-started?a=b', + as: '/en/get-started?a=b', + }) + expect(buildShallowQueryUrls('/enterprise-cloud@latest', '', 'en')).toEqual({ + url: '/en/enterprise-cloud@latest', + as: '/en/enterprise-cloud@latest', + }) + }) + + test('leaves the path alone without a locale', () => { + expect(buildShallowQueryUrls('/', '?a=b', undefined)).toEqual({ url: '/?a=b', as: '/?a=b' }) + expect(buildShallowQueryUrls('/get-started', '', undefined)).toEqual({ + url: '/get-started', + as: '/get-started', + }) + }) +}) diff --git a/src/search/components/hooks/useMultiQueryParams.ts b/src/search/components/hooks/useMultiQueryParams.ts index 4f2050a77745..76bccd455405 100644 --- a/src/search/components/hooks/useMultiQueryParams.ts +++ b/src/search/components/hooks/useMultiQueryParams.ts @@ -1,5 +1,6 @@ import { useRouter } from 'next/router' import { useState, useEffect, useRef, useCallback } from 'react' +import { buildShallowQueryUrls } from '@/frame/components/lib/shallow-query-url' export type QueryParams = { 'search-overlay-input': string @@ -98,13 +99,7 @@ export function useMultiQueryParams(options?: { } } const paramsString = searchParams.toString() ? `?${searchParams.toString()}` : '' - let newUrl = `${asPathRoot}${paramsString}` - if (asPathRoot !== '/' && router.locale) { - newUrl = `${router.locale}${asPathRoot}${paramsString}` - } - if (!newUrl.startsWith('/')) { - newUrl = `/${newUrl}` - } + const { url, as } = buildShallowQueryUrls(asPathRoot, paramsString, router.locale) // Debounce the router push so we don't push a new URL for every keystroke if (pushTimeoutRef.current) clearTimeout(pushTimeoutRef.current) @@ -115,7 +110,7 @@ export function useMultiQueryParams(options?: { // Category and page changes push history entries; search edits replace the current entry. const routerMethod = shouldPushHistory ? router.push : router.replace - await routerMethod(newUrl, undefined, { + await routerMethod(url, as, { shallow: true, locale: router.locale, scroll: false, From 211fac75f8a774b0c424ff58b33ea5593914f884 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:41:14 +0000 Subject: [PATCH 34/38] Keep release notes without a releases source comment on regeneration (#64182) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/ghes-releases/lib/parse-release-notes.ts | 52 +++--- .../tests/generate-release-notes.ts | 165 ++++++++++++++++++ 2 files changed, 187 insertions(+), 30 deletions(-) diff --git a/src/ghes-releases/lib/parse-release-notes.ts b/src/ghes-releases/lib/parse-release-notes.ts index c7e708272ee1..a245bfe17606 100644 --- a/src/ghes-releases/lib/parse-release-notes.ts +++ b/src/ghes-releases/lib/parse-release-notes.ts @@ -130,6 +130,7 @@ export function loadExistingEntriesFromString(content: string): { let currentNote: string[] = [] let noteIndent: number | null = null let inNote = false + let noteMarkerIndent = 0 // Hand-written sections can use grouped headings too, so only generated sections may set a heading. let inGeneratedSection = true @@ -138,23 +139,25 @@ export function loadExistingEntriesFromString(content: string): { currentHeading = SECTION_HEADINGS[key] ?? null } + // Notes without a source comment are hand-written, so keep them with an empty source URL. const flushNote = () => { - if (currentSourceUrl && currentHeading && currentNote.length > 0) { + if (currentHeading && currentNote.length > 0) { const noteText = currentNote.join('\n').trim() if (noteText && noteText !== '...') { - const existing = entries.find( - (e) => e.heading === currentHeading && e.sourceUrl === currentSourceUrl, - ) + const sourceUrl = currentSourceUrl ?? '' + const existing = sourceUrl + ? entries.find((e) => e.heading === currentHeading && e.sourceUrl === sourceUrl) + : undefined if (existing) { existing.notes.push(noteText) } else { entries.push({ - heading: currentHeading!, + heading: currentHeading, notes: [noteText], - sourceUrl: currentSourceUrl!, + sourceUrl, }) } - coveredUrls.add(currentSourceUrl) + if (sourceUrl) coveredUrls.add(sourceUrl) } } currentNote = [] @@ -167,26 +170,33 @@ export function loadExistingEntriesFromString(content: string): { if (headingMatch) { flushNote() if (inGeneratedSection) currentHeading = headingMatch[1].trim() + currentSourceUrl = null continue } const sectionMatch = line.match(SECTION_KEY_PATTERN) if (sectionMatch) { flushNote() + currentSourceUrl = null enterSection(sectionMatch[1]) continue } - const urlMatch = line.match(/^\s*#\s*(https:\/\/github\.com\/github\/releases\/issues\/\d+)/) - if (urlMatch) { + // A comment that is not a URL ends the previous source, so later notes are not attributed to it. + // YAML reads `#` lines at or past a note's content indentation as note text, like shell comments in code blocks. + const commentMatch = line.match(/^(\s*)#\s*(\S*)/) + const noteTextIndent = noteIndent ?? noteMarkerIndent + 1 + if (commentMatch && !(inNote && commentMatch[1].length >= noteTextIndent)) { flushNote() - if (inGeneratedSection) currentSourceUrl = urlMatch[1] + currentSourceUrl = + inGeneratedSection && commentMatch[2].startsWith('https://') ? commentMatch[2] : null continue } if (line.match(/^\s+-\s+\|\s*$/)) { flushNote() inNote = true + noteMarkerIndent = line.length - line.trimStart().length continue } @@ -201,25 +211,6 @@ export function loadExistingEntriesFromString(content: string): { currentNote.push(line.slice(noteIndent ?? lineIndent).trimEnd()) } else { flushNote() - const reHeading = line.match(/^\s+-\s+heading:\s+(.+)/) - if (reHeading) { - if (inGeneratedSection) currentHeading = reHeading[1].trim() - continue - } - const reSection = line.match(SECTION_KEY_PATTERN) - if (reSection) { - enterSection(reSection[1]) - continue - } - const reUrl = line.match(/^\s*#\s*(https:\/\/github\.com\/github\/releases\/issues\/\d+)/) - if (reUrl) { - if (inGeneratedSection) currentSourceUrl = reUrl[1] - continue - } - if (line.match(/^\s+-\s+\|\s*$/)) { - inNote = true - continue - } } } } @@ -259,7 +250,8 @@ export function replaceEntriesForSource( export function appendNoteLines(lines: string[], noteEntries: NoteEntry[], indent: string): void { for (const entry of noteEntries) { - lines.push(`${indent}# ${entry.sourceUrl}`) + // A bare comment keeps a note without a source from joining the previous note's source on reload. + lines.push(entry.sourceUrl ? `${indent}# ${entry.sourceUrl}` : `${indent}#`) for (const note of entry.notes) { lines.push(`${indent}- |`) for (const noteLine of note.split('\n')) { diff --git a/src/ghes-releases/tests/generate-release-notes.ts b/src/ghes-releases/tests/generate-release-notes.ts index 7dd1098bd3bb..adc681d8ed5a 100644 --- a/src/ghes-releases/tests/generate-release-notes.ts +++ b/src/ghes-releases/tests/generate-release-notes.ts @@ -11,6 +11,47 @@ import { replaceEntriesForSource, } from '@/ghes-releases/lib/parse-release-notes' +const handWrittenNotesFile = `date: '2025-01-15' +release_candidate: true +deprecated: false +intro: | + +sections: + + features: + + - heading: GitHub Actions + notes: + # Required Actions Runner version: 2.331.0 + - | + Runner note. + + - heading: APIs + notes: + # https://github.com/github/releases/issues/100 + - | + New endpoint added. + # + - | + Hand-written API note. + + changes: + # https://github.com/github/ghes/issues/18667 + - | + The \`/repos\` path is reserved. + + known_issues: + - | + ... + + closing_down: + - | + LDAP over CAS is closing down. + # https://github.com/github/releases/issues/200 + - | + Legacy API deprecated. +` + const handEditedFile = `date: '2026-05-12' release_candidate: true deprecated: true @@ -289,6 +330,114 @@ sections: expect(result.entries[0].notes).toEqual(['First note.', 'Second note from same issue.']) }) + test('does not attribute hand-written notes to the previous releases issue', () => { + const result = loadExistingEntriesFromString(handWrittenNotesFile) + expect(result.entries).toEqual([ + { + heading: 'GitHub Actions', + notes: ['Runner note.'], + sourceUrl: '', + }, + { + heading: 'APIs', + notes: ['New endpoint added.'], + sourceUrl: 'https://github.com/github/releases/issues/100', + }, + { + heading: 'APIs', + notes: ['Hand-written API note.'], + sourceUrl: '', + }, + { + heading: 'Changes', + notes: ['The `/repos` path is reserved.'], + sourceUrl: 'https://github.com/github/ghes/issues/18667', + }, + { + heading: 'Closing down', + notes: ['LDAP over CAS is closing down.'], + sourceUrl: '', + }, + { + heading: 'Closing down', + notes: ['Legacy API deprecated.'], + sourceUrl: 'https://github.com/github/releases/issues/200', + }, + ]) + expect([...result.coveredUrls]).toEqual([ + 'https://github.com/github/releases/issues/100', + 'https://github.com/github/ghes/issues/18667', + 'https://github.com/github/releases/issues/200', + ]) + }) + + test('keeps # lines inside a note as note content', () => { + const content = `sections: + changes: + # https://github.com/github/releases/issues/100 + - | + Run this command: + + \`\`\`shell + # Enable the feature + ghe-config app.example.enabled true + \`\`\` + - | + Second note. +` + const result = loadExistingEntriesFromString(content) + expect(result.entries).toEqual([ + { + heading: 'Changes', + notes: [ + 'Run this command:\n\n```shell\n# Enable the feature\nghe-config app.example.enabled true\n```', + 'Second note.', + ], + sourceUrl: 'https://github.com/github/releases/issues/100', + }, + ]) + }) + + test('treats a comment less indented than the note text as a source comment', () => { + const content = `sections: + changes: + # https://github.com/github/releases/issues/100 + - | + First note. + # https://github.com/github/releases/issues/200 + - | + Second note. +` + const result = loadExistingEntriesFromString(content) + expect(result.entries).toEqual([ + { + heading: 'Changes', + notes: ['First note.'], + sourceUrl: 'https://github.com/github/releases/issues/100', + }, + { + heading: 'Changes', + notes: ['Second note.'], + sourceUrl: 'https://github.com/github/releases/issues/200', + }, + ]) + }) + + test('keeps hand-written notes when one releases issue is filtered out', () => { + const { entries } = loadExistingEntriesFromString(handWrittenNotesFile) + const kept = entries.filter( + (e) => + e.sourceUrl !== 'https://github.com/github/releases/issues/100' && + e.sourceUrl !== 'https://github.com/github/releases/issues/200', + ) + expect(kept.flatMap((e) => e.notes)).toEqual([ + 'Runner note.', + 'Hand-written API note.', + 'The `/repos` path is reserved.', + 'LDAP over CAS is closing down.', + ]) + }) + test('keeps nested indentation when reloading generated notes', () => { const note = [ 'You can now configure the feature:', @@ -517,6 +666,22 @@ describe('buildReleaseNotesYaml', () => { expect(yaml).toContain('Line one of the note.') }) + test('keeps other source comments and marks notes without a source with a bare comment', () => { + const { entries } = loadExistingEntriesFromString(handWrittenNotesFile) + const yaml = buildReleaseNotesYaml(entries, false, featureHeadings) + + expect(yaml).toContain( + ' changes:\n # https://github.com/github/ghes/issues/18667\n - |\n The `/repos` path is reserved.', + ) + expect(yaml).toContain( + '- heading: GitHub Actions\n notes:\n #\n - |\n Runner note.\n', + ) + expect(yaml).toContain( + ' closing_down:\n #\n - |\n LDAP over CAS is closing down.\n # https://github.com/github/releases/issues/200', + ) + expect(loadExistingEntriesFromString(yaml).entries).toEqual(entries) + }) + test('keeps hand-edited header, known issues, and errata on a rerun', () => { const { entries } = loadExistingEntriesFromString(handEditedFile) const preserved = extractPreservedBlocks(handEditedFile)! From d61f73d9a795737445de57b3e7581266870eed74 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:51:00 +0000 Subject: [PATCH 35/38] Hide fine-grained PAT support on REST pages for excluded permissions (#64000) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/github-apps/scripts/sync.ts | 8 ++- src/github-apps/tests/excluded-actors.ts | 52 +++++++++++++++++++ .../checks.yml | 5 ++ .../contents.yml | 3 ++ .../access_control/programmatic_access.yaml | 20 +++++++ 5 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 src/github-apps/tests/fixtures/prog-access/config/access_control/fine_grained_permissions/programmatic_actor_fine_grained_resources/checks.yml create mode 100644 src/github-apps/tests/fixtures/prog-access/config/access_control/fine_grained_permissions/programmatic_actor_fine_grained_resources/contents.yml create mode 100644 src/github-apps/tests/fixtures/prog-access/config/access_control/programmatic_access.yaml diff --git a/src/github-apps/scripts/sync.ts b/src/github-apps/scripts/sync.ts index 49ceaed09c04..96770af86b5b 100755 --- a/src/github-apps/scripts/sync.ts +++ b/src/github-apps/scripts/sync.ts @@ -406,7 +406,10 @@ export async function getProgAccessData( const operationData: ProgAccessOperationData = { userToServerRest: operation.user_to_server.enabled, serverToServer: operation.server_to_server.enabled, - fineGrainedPat: operation.user_to_server.enabled && !operation.disabled_for_patv2, + fineGrainedPat: + operation.user_to_server.enabled && + !operation.disabled_for_patv2 && + !isOperationExcludedForFineGrainedPat(operation.permission_sets || [], progActorResources), permissions: isRest ? getDisplayPermissions(operation.permission_sets || [], progActorResources) : operation.permission_sets || [], @@ -563,6 +566,7 @@ export function isActorExcluded( } // Operations with no permission sets need no permissions, so they still work with fine-grained PATs. +// Every permission in a set is required, so one excluded permission rules out the whole set. export function isOperationExcludedForFineGrainedPat( permissionSets: Array>, progActorResources: ProgActorResources, @@ -570,7 +574,7 @@ export function isOperationExcludedForFineGrainedPat( return ( permissionSets.length > 0 && permissionSets.every((permissionSet) => - Object.keys(permissionSet).every((permissionName) => + Object.keys(permissionSet).some((permissionName) => isActorExcluded( progActorResources[permissionName]?.excluded_actors, 'fine_grained_pat', diff --git a/src/github-apps/tests/excluded-actors.ts b/src/github-apps/tests/excluded-actors.ts index 23d5a5c48aca..669df74556a2 100644 --- a/src/github-apps/tests/excluded-actors.ts +++ b/src/github-apps/tests/excluded-actors.ts @@ -1,7 +1,9 @@ +import path from 'path' import { describe, expect, test } from 'vitest' import { isActorExcluded, actorTypeMap, + getProgAccessData, isOperationExcludedForFineGrainedPat, } from '../scripts/sync' @@ -121,6 +123,7 @@ describe('excluded_actors filtering', () => { describe('isOperationExcludedForFineGrainedPat', () => { const progActorResources = { checks: { excluded_actors: ['fine_grained_personal_access_token'] }, + legacy: { excluded_actors: ['UserProgrammaticAccess'] }, contents: {}, } @@ -148,4 +151,53 @@ describe('isOperationExcludedForFineGrainedPat', () => { false, ) }) + + test('returns true for the UserProgrammaticAccess alias', () => { + expect(isOperationExcludedForFineGrainedPat([{ legacy: 'read' }], progActorResources)).toBe( + true, + ) + }) + + test('returns true when a set requires an excluded permission alongside an allowed one', () => { + expect( + isOperationExcludedForFineGrainedPat( + [{ checks: 'read', contents: 'read' }], + progActorResources, + ), + ).toBe(true) + }) + + test('returns false when another set has only allowed permissions', () => { + expect( + isOperationExcludedForFineGrainedPat( + [{ checks: 'read', contents: 'read' }, { contents: 'read' }], + progActorResources, + ), + ).toBe(false) + }) + + test('returns false when a permission has no resource definition', () => { + expect(isOperationExcludedForFineGrainedPat([{ unknown: 'read' }], progActorResources)).toBe( + false, + ) + }) +}) + +describe('getProgAccessData fine-grained PAT support', () => { + const fixtureSource = path.join(__dirname, 'fixtures/prog-access') + + test('marks operations whose permissions all exclude fine-grained PATs as unsupported', async () => { + const { progAccessData } = await getProgAccessData(fixtureSource, true) + expect(progAccessData['checks/create'].fineGrainedPat).toBe(false) + expect(progAccessData['checks/create'].userToServerRest).toBe(true) + expect(progAccessData['checks/create'].permissions).toEqual([ + { '"Checks" repository permissions': 'write' }, + ]) + }) + + test('keeps fine-grained PAT support for allowed and permissionless operations', async () => { + const { progAccessData } = await getProgAccessData(fixtureSource, true) + expect(progAccessData['repos/get-content'].fineGrainedPat).toBe(true) + expect(progAccessData['meta/get'].fineGrainedPat).toBe(true) + }) }) diff --git a/src/github-apps/tests/fixtures/prog-access/config/access_control/fine_grained_permissions/programmatic_actor_fine_grained_resources/checks.yml b/src/github-apps/tests/fixtures/prog-access/config/access_control/fine_grained_permissions/programmatic_actor_fine_grained_resources/checks.yml new file mode 100644 index 000000000000..80924853d785 --- /dev/null +++ b/src/github-apps/tests/fixtures/prog-access/config/access_control/fine_grained_permissions/programmatic_actor_fine_grained_resources/checks.yml @@ -0,0 +1,5 @@ +checks: + title: Checks + resource_group: repository + excluded_actors: + - fine_grained_personal_access_token diff --git a/src/github-apps/tests/fixtures/prog-access/config/access_control/fine_grained_permissions/programmatic_actor_fine_grained_resources/contents.yml b/src/github-apps/tests/fixtures/prog-access/config/access_control/fine_grained_permissions/programmatic_actor_fine_grained_resources/contents.yml new file mode 100644 index 000000000000..8c2b39aac935 --- /dev/null +++ b/src/github-apps/tests/fixtures/prog-access/config/access_control/fine_grained_permissions/programmatic_actor_fine_grained_resources/contents.yml @@ -0,0 +1,3 @@ +contents: + title: Contents + resource_group: repository diff --git a/src/github-apps/tests/fixtures/prog-access/config/access_control/programmatic_access.yaml b/src/github-apps/tests/fixtures/prog-access/config/access_control/programmatic_access.yaml new file mode 100644 index 000000000000..5e530f4b957d --- /dev/null +++ b/src/github-apps/tests/fixtures/prog-access/config/access_control/programmatic_access.yaml @@ -0,0 +1,20 @@ +- operation_ids: checks/create + user_to_server: + enabled: true + server_to_server: + enabled: true + permission_sets: + - checks: write +- operation_ids: repos/get-content + user_to_server: + enabled: true + server_to_server: + enabled: true + permission_sets: + - contents: read +- operation_ids: meta/get + user_to_server: + enabled: true + server_to_server: + enabled: true + allows_permissionless_access: true From cad03a8ef67515afb214ea56219771756d784576 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:51:08 +0000 Subject: [PATCH 36/38] List articles that use a changed reusable through other reusables (#64163) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- .../content-changes-table-comment.ts | 19 +++--- src/workflows/lib/in-liquid.ts | 26 ++++++++ .../tests/expand-reusable-needles.ts | 59 +++++++++++++++++++ 3 files changed, 94 insertions(+), 10 deletions(-) create mode 100644 src/workflows/tests/expand-reusable-needles.ts diff --git a/src/workflows/content-changes-table-comment.ts b/src/workflows/content-changes-table-comment.ts index a70bd86a2034..90f003c547e3 100755 --- a/src/workflows/content-changes-table-comment.ts +++ b/src/workflows/content-changes-table-comment.ts @@ -1,7 +1,6 @@ // Run src/workflows/content-changes-table-comment-cli.ts to test this outside Actions. import fs from 'node:fs' -import path from 'node:path' import * as github from '@actions/github' import * as core from '@actions/core' @@ -14,7 +13,7 @@ import getApplicableVersions from '@/versions/lib/get-applicable-versions' import nonEnterpriseDefaultVersion from '@/versions/lib/non-enterprise-default-version' import { allVersionShortnames } from '@/versions/lib/all-versions' import readFrontmatter from '@/frame/lib/read-frontmatter' -import { inLiquid } from './lib/in-liquid' +import { expandReusableNeedles, inLiquid, reusableNeedle } from './lib/in-liquid' import { contentUrlPath } from './lib/content-url-path' const { GITHUB_TOKEN, APP_URL, BASE_SHA, HEAD_SHA } = process.env @@ -70,12 +69,12 @@ async function main(owner: string, repo: string, baseSHA: string, headSHA: strin const filesUsingReusables: File[] = [] if (reusablesFiles.length) { const contentFilePaths = new Set() - const allContentFiles = getAllContentFiles() - for (const reusablesFile of reusablesFiles) { - const relativePath = path - .relative('data/reusables', reusablesFile.filename) - .replace(/\.md$/, '') - const needle = `reusables.${relativePath.split('/').join('.')}` + const allContentFiles = getAllMarkdownFiles('content') + const needles = expandReusableNeedles( + new Set(reusablesFiles.map(({ filename }) => reusableNeedle(filename))), + getAllMarkdownFiles('data/reusables'), + ) + for (const needle of needles) { for (const [contentFilePath, contentFileContents] of allContentFiles) { if (inLiquid(contentFilePath, contentFileContents, needle)) { contentFilePaths.add(contentFilePath) @@ -247,13 +246,13 @@ function makeRow({ return `| ${contentCell} | ${reviewCell} | ${prodCell} | ${note} |` } -function getAllContentFiles(): Map { +function getAllMarkdownFiles(directory: string): Map { const options = { globs: ['**/*.md'], includeBasePath: true, } const contentFiles = new Map() - for (const file of walk('content', options)) { + for (const file of walk(directory, options)) { contentFiles.set(file, fs.readFileSync(file, 'utf-8')) } return contentFiles diff --git a/src/workflows/lib/in-liquid.ts b/src/workflows/lib/in-liquid.ts index 4ca35c83eace..970cd8bdd8cc 100644 --- a/src/workflows/lib/in-liquid.ts +++ b/src/workflows/lib/in-liquid.ts @@ -1,3 +1,5 @@ +import path from 'node:path' + import { getLiquidTokens } from '@/content-linter/lib/helpers/liquid-utils' import type { TagToken } from 'liquidjs' import { TokenKind } from 'liquidjs' @@ -37,3 +39,27 @@ export function inLiquid(filePath: string, fileContents: string, needle: string) } return false } + +export function reusableNeedle(filePath: string) { + const relativePath = path.relative('data/reusables', filePath).replace(/\.md$/, '') + return `reusables.${relativePath.replace(/[\\/]/g, '.')}` +} + +// Reusables often include other reusables, so an article can render a changed +// reusable without referencing it directly. +export function expandReusableNeedles(needles: Set, reusableFiles: Map) { + const expanded = new Set(needles) + const pending = [...needles] + while (pending.length) { + const needle = pending.pop()! + for (const [filePath, fileContents] of reusableFiles) { + const outerNeedle = reusableNeedle(filePath) + if (expanded.has(outerNeedle)) continue + if (inLiquid(filePath, fileContents, needle)) { + expanded.add(outerNeedle) + pending.push(outerNeedle) + } + } + } + return expanded +} diff --git a/src/workflows/tests/expand-reusable-needles.ts b/src/workflows/tests/expand-reusable-needles.ts new file mode 100644 index 000000000000..e9f83bc8c3e6 --- /dev/null +++ b/src/workflows/tests/expand-reusable-needles.ts @@ -0,0 +1,59 @@ +import { describe, expect, test } from 'vitest' + +import { expandReusableNeedles, inLiquid, reusableNeedle } from '@/workflows/lib/in-liquid' + +const reusableFiles = new Map([ + ['data/reusables/nested/a.md', 'Inner text\n'], + ['data/reusables/nested/b.md', 'Before\n\n{% data reusables.nested.a %}\n'], + ['data/reusables/nested/c.md', '{% data reusables.nested.b %}\n\nAfter\n'], + ['data/reusables/nested/d.md', '{% data reusables.nested.e %}\n'], + ['data/reusables/nested/e.md', '{% data reusables.nested.d %}\n'], + ['data/reusables/nested/f.md', '{% data reusables.nested.unrelated %}\n'], + ['data/reusables/nested/g.md', 'Tip\n'], + [ + 'data/reusables/nested/h.md', + '1. Step\n\n {% indented_data_reference reusables.nested.g spaces=3 %}\n', + ], +]) + +describe('reusableNeedle', () => { + test('converts forward and back slashes to dots', () => { + expect(reusableNeedle('data/reusables/nested/b.md')).toBe('reusables.nested.b') + expect(reusableNeedle('data/reusables/nested\\b.md')).toBe('reusables.nested.b') + }) +}) + +describe('expandReusableNeedles', () => { + test('adds reusables that include a needle through other reusables', () => { + const expanded = expandReusableNeedles(new Set(['reusables.nested.a']), reusableFiles) + expect([...expanded].sort()).toEqual([ + 'reusables.nested.a', + 'reusables.nested.b', + 'reusables.nested.c', + ]) + }) + + test('stops on reusables that include each other', () => { + const expanded = expandReusableNeedles(new Set(['reusables.nested.d']), reusableFiles) + expect([...expanded].sort()).toEqual(['reusables.nested.d', 'reusables.nested.e']) + }) + + test('adds reusables that include a needle with indented_data_reference', () => { + const expanded = expandReusableNeedles(new Set(['reusables.nested.g']), reusableFiles) + expect([...expanded].sort()).toEqual(['reusables.nested.g', 'reusables.nested.h']) + }) + + test('keeps needles that no reusable includes', () => { + const expanded = expandReusableNeedles(new Set(['reusables.nested.c']), reusableFiles) + expect([...expanded]).toEqual(['reusables.nested.c']) + }) + + test('finds a content file that includes only the outer reusable', () => { + const contents = 'Intro\n\n{% data reusables.nested.c %}\n' + const expanded = expandReusableNeedles(new Set(['reusables.nested.a']), reusableFiles) + expect(inLiquid('content/outer.md', contents, 'reusables.nested.a')).toBe(false) + expect([...expanded].some((needle) => inLiquid('content/outer.md', contents, needle))).toBe( + true, + ) + }) +}) From 42e98ce600e4867005c4466e925de4b16bb34ad0 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 21 Oct 2026 16:55:33 +0000 Subject: [PATCH 37/38] Show alert titles for mixed-case alert markers (#64152) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bf5940de-658e-4a1a-bffa-3018fb78b138 --- src/content-render/tests/render-content.ts | 13 +++++++++++++ src/content-render/unified/alerts.ts | 9 +++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/content-render/tests/render-content.ts b/src/content-render/tests/render-content.ts index 033f78b5787b..c202998ed667 100644 --- a/src/content-render/tests/render-content.ts +++ b/src/content-render/tests/render-content.ts @@ -332,6 +332,19 @@ var a = 1 expect(alertEl.find('a[href="https://example.com"]').length).toBe(1) }) + test('renders alert titles for mixed-case alert markers', async () => { + const alertTitles = { NOTE: 'Note', TIP: 'Tip' } + const tipHtml = await renderContent(nl('> [!Tip]\n> Body'), { alertTitles }) + const $tip = load(tipHtml) + expect($tip('.ghd-alert').hasClass('ghd-alert-success')).toBe(true) + expect($tip('.ghd-alert-title').text()).toBe('Tip') + + const noteHtml = await renderContent(nl('> [!Note]\n> Body'), { alertTitles }) + const $note = load(noteHtml) + expect($note('.ghd-alert').hasClass('ghd-alert-accent')).toBe(true) + expect($note('.ghd-alert-title').text()).toBe('Note') + }) + describe('markdownRequested output', () => { const markdownContext = { markdownRequested: true, diff --git a/src/content-render/unified/alerts.ts b/src/content-render/unified/alerts.ts index deb0b78d5bf9..da756a037dd4 100644 --- a/src/content-render/unified/alerts.ts +++ b/src/content-render/unified/alerts.ts @@ -32,11 +32,12 @@ export default function alerts({ alertTitles = {} }: { alertTitles?: Record Date: Wed, 21 Oct 2026 17:00:57 +0000 Subject: [PATCH 38/38] Official Copilot support for org installation S2S tokens (#64319) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Max Goldfarb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com> Co-authored-by: docs-bot <77750099+docs-bot@users.noreply.github.com> Co-authored-by: hubwriter Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: github-actions[bot] Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Kevin Heis Co-authored-by: Pantelis <85220850+Pantelis-Santorinios@users.noreply.github.com> Co-authored-by: Carlin Cherry <61124041+carlincherry@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Copilot-Session: ece718f6-8247-4776-90bd-c960b3b61a7f Copilot-Session: 9a4bfecd-e316-4317-a51d-b3121470bdfc Copilot-Session: 37f9dd70-a938-4033-9446-fc296cdcb01f Copilot-Session: 5ec3aa8f-d7ea-435a-95da-fb99d518dac6 --- .../features-agent-loop-diagram-1.png | Bin 72356 -> 72350 bytes .../features-agent-loop-diagram-2.png | Bin 69166 -> 69170 bytes .../products/view-productlicense-use.md | 2 + content/billing/reference/billing-reports.md | 3 + .../organizations-and-enterprises/billing.md | 8 +++ .../organizations-and-enterprises/budgets.md | 2 + .../manage-for-organization/index.md | 2 +- .../manage-app-copilot-access.md | 63 ++++++++++++++++++ .../how-tos/copilot-sdk/auth/authenticate.md | 2 +- .../auth/server-to-server-tokens.md | 52 ++++++--------- .../copilot-sdk/features/cloud-sessions.md | 2 +- .../how-tos/copilot-sdk/features/mcp.md | 40 +++++++++++ .../copilot-sdk/features/remote-sessions.md | 6 +- .../features/steering-and-queueing.md | 2 +- .../copilot-sdk/setup/multi-tenancy.md | 2 +- .../troubleshooting/compatibility.md | 2 +- data/reusables/copilot/org-app-s2s-preview.md | 1 + 17 files changed, 150 insertions(+), 39 deletions(-) create mode 100644 content/copilot/how-tos/administer-copilot/manage-for-organization/manage-app-copilot-access.md create mode 100644 data/reusables/copilot/org-app-s2s-preview.md diff --git a/assets/images/help/copilot/copilot-sdk/features-agent-loop-diagram-1.png b/assets/images/help/copilot/copilot-sdk/features-agent-loop-diagram-1.png index a3368091c6f9f5c2094e4e5de18084e6fef55299..7565fd8cee3a38cee746ac92f4d8da9cab9bad82 100644 GIT binary patch delta 26994 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 D0QdQs delta 27168 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�%E@KeRsW$fpqv)e=O|99H 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 MHQjrKD%P+52g|eVNdN!< diff --git a/assets/images/help/copilot/copilot-sdk/features-agent-loop-diagram-2.png b/assets/images/help/copilot/copilot-sdk/features-agent-loop-diagram-2.png index c40d5372de3da26519cff23918a276ec753ec13b..ef6ab475b5fbb7a1aac9e0867169646ab63e2b54 100644 GIT binary patch delta 25537 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⪻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%0AZ*Ji}Y4uRnorvLjZt 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 Z9DnTRkNz@EL9*{N(lfhUbjk7Q{{iUsKFk0B diff --git a/content/billing/how-tos/products/view-productlicense-use.md b/content/billing/how-tos/products/view-productlicense-use.md index 794ebd328ebd..ec835b016069 100644 --- a/content/billing/how-tos/products/view-productlicense-use.md +++ b/content/billing/how-tos/products/view-productlicense-use.md @@ -107,6 +107,8 @@ You can use the view to answer questions such as: For information about {% data variables.product.prodname_copilot_short %} allowances and how {% data variables.product.prodname_ai_credits_short %} are pooled across your enterprise, see [AUTOTITLE](/copilot/concepts/billing-and-usage/organizations-and-enterprises/billing). +App attribution is not available in the **AI usage** view. To identify usage from a {% data variables.product.prodname_github_app %} installed on an organization, download an AI usage report. Use the “List app installations for an organization” REST API endpoint and match `app_client_id` in the report to `client_id` in the response. The response’s `app_slug` identifies the app, and `id` identifies the installation. See [AUTOTITLE](/rest/orgs/orgs#list-app-installations-for-an-organization). For report field definitions, see [AUTOTITLE](/billing/reference/billing-reports#usage-report-fields). + For information about {% data variables.product.prodname_AS %} AI-credit billing, see [AUTOTITLE](/billing/concepts/product-billing/github-advanced-security#how-ai-feature-usage-is-billed). {% endif %} diff --git a/content/billing/reference/billing-reports.md b/content/billing/reference/billing-reports.md index ccf2010ac3e4..5d781ccbfa4b 100644 --- a/content/billing/reference/billing-reports.md +++ b/content/billing/reference/billing-reports.md @@ -68,6 +68,9 @@ The usage reports contain the following fields. | `net_amount` | The billable amount of usage after applying the `discount_amount`. This is the amount that your account will be billed. `gross_amount - discount_amount = net_amount` | | `username` | The user associated with the usage, if applicable.

Not included in the `Summarized usage report`. | | `organization` | The organization associated with the usage, if applicable. | +| {% ifversion copilot %} | +| `app_client_id` | The client ID of the {% data variables.product.prodname_github_app %} associated with usage billed directly to an organization. Use this field with `organization` to identify an app installation. The field is empty for usage attributed to a user, {% data variables.product.prodname_actions %}, other {% data variables.product.company_short %}-owned apps, and usage from before app attribution was available.

Only available in the `AI usage report` | +| {% endif %} | | `repository` | The repository associated with the usage, if applicable. | | `workflow_path` | The path of the {% data variables.product.prodname_actions %} workflow that generated the usage, if applicable.

Only available in the `Detailed usage report` | | `cost_center_name` | The cost center associated with the usage, if applicable. | diff --git a/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/billing.md b/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/billing.md index 73ed5f1cbe78..6e014d5eec74 100644 --- a/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/billing.md +++ b/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/billing.md @@ -29,6 +29,14 @@ The cost of an interaction depends on two things: the model and the number of to Code completions and {% data variables.copilot.next_edit_suggestions %} are **not** billed in {% data variables.product.prodname_ai_credits_short %}. They remain unlimited for all paid plans. +## How is {% data variables.product.prodname_github_app %} usage billed? + +A {% data variables.product.prodname_github_app %} installed on an organization can use an installation access token to make {% data variables.product.prodname_copilot_short %} requests without a user signing in. The organization that owns the installation pays for the usage, and the organization’s model policies and spending controls apply. + +You cannot create a budget for an individual app or installation. This authentication method does not require the **Allow use of Copilot CLI billed to the organization** policy, which applies to a different authentication path. + +For information about approving access, identifying app usage, and blocking an app, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/manage-app-copilot-access). + ## How do {% data variables.product.prodname_ai_credits_short %} work? Each assigned {% data variables.product.prodname_copilot_short %} license comes with a monthly amount of **included {% data variables.product.prodname_ai_credits_short %}**: diff --git a/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/budgets.md b/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/budgets.md index d368ccf89214..b9b39bed73b7 100644 --- a/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/budgets.md +++ b/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/budgets.md @@ -95,6 +95,8 @@ An organization budget caps metered charges for users who receive their {% data Organization budgets are the only budget option available to organization owners. They can only further restrict usage below any budget set by an enterprise admin, and they cannot override a higher-level budget. +Usage billed directly to an organization from a {% data variables.product.prodname_github_app %} installation counts against the organization budget. You cannot create a budget for an individual app or installation. If **Stop usage when budget limit is reached** is not enabled, the budget only sends alerts and app spending continues after the limit is reached. For information about managing app access, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/manage-app-copilot-access). + If a user receives {% data variables.product.prodname_copilot_short %} licenses from multiple organizations, {% data variables.product.github %} picks one organization at random each billing cycle to bill the seat. This means the user's spend could count against a different organization's budget from month to month, making enforcement unpredictable. To avoid this, ensure each user has a single license through one organization, or use cost center budgets with direct user assignment. ### Enterprise budget diff --git a/content/copilot/how-tos/administer-copilot/manage-for-organization/index.md b/content/copilot/how-tos/administer-copilot/manage-for-organization/index.md index 7721d2a98d1d..8657816c0f27 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-organization/index.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-organization/index.md @@ -14,6 +14,7 @@ children: - /manage-plan - /manage-access - /manage-policies + - /manage-app-copilot-access - /add-copilot-cloud-agent - /configure-runner-for-coding-agent - /prepare-for-custom-agents @@ -22,4 +23,3 @@ children: - /enable-custom-models contentType: how-tos --- - diff --git a/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-app-copilot-access.md b/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-app-copilot-access.md new file mode 100644 index 000000000000..eea35473a1a0 --- /dev/null +++ b/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-app-copilot-access.md @@ -0,0 +1,63 @@ +--- +title: Manage GitHub Apps that use your organization's Copilot +shortTitle: Manage GitHub App access +allowTitleToDifferFromFilename: true +intro: "Control which {% data variables.product.prodname_github_apps %} can use your organization's {% data variables.product.prodname_copilot_short %} and attribute their spending." +versions: + fpt: '*' + ghec: '*' +permissions: Organization owners +product: '{% data variables.copilot.copilot_enterprise_short %} or {% data variables.copilot.copilot_business_short %}' +contentType: how-tos +category: + - Manage Copilot for a team +--- + +> [!NOTE] +> {% data reusables.copilot.org-app-s2s-preview %} + +A {% data variables.product.prodname_github_app %} installed on an organization can use its own installation access token to make {% data variables.product.prodname_copilot_short %} requests without a user signing in. The organization that owns the installation pays for the usage. + +## Understand access and billing + +The app must have the organization **{% data variables.product.prodname_copilot_short %} Requests** permission set to **Read-only**. In this context, **Read-only** does not mean that the app cannot incur costs. The permission authorizes the app to make requests that consume your organization’s {% data variables.product.prodname_ai_credits_short %}. + +This authentication method has the following boundaries: + +* It applies to apps installed on an organization. Personal account and enterprise installations cannot use this authentication method. +* The app can use only models allowed by your organization’s {% data variables.product.prodname_copilot_short %} policies. +* Your organization’s {% data variables.product.prodname_copilot_short %} billing and spending controls apply. You cannot create a budget for an individual app or installation. +* You do not need to enable the **Allow use of {% data variables.copilot.copilot_cli_short %} billed to the organization** policy. That policy applies to a different authentication path. + +This method differs from user authorization, where requests use a user’s identity and are attributed according to that user’s {% data variables.product.prodname_copilot_short %} access. It also differs from {% data variables.product.prodname_actions %}, where workflows use the built-in `GITHUB_TOKEN` and {% data variables.product.prodname_actions %}-specific policies and budgets. + +## Review an app before approving access + +Only approve apps that you trust to spend your organization’s {% data variables.product.prodname_copilot_short %} usage. + +1. Confirm the app’s owner, purpose, and expected usage with the team requesting access. +1. Review all requested organization and repository permissions. Confirm that **{% data variables.product.prodname_copilot_short %} Requests** is an organization permission set to **Read-only**. +1. Review your organization’s model policies and spending controls. If a budget must stop additional usage, make sure **Stop usage when budget limit is reached** is enabled. +1. Install the app or approve its updated permissions. + +For instructions on installing an app, see [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-a-third-party). If an installed app adds the permission, see [AUTOTITLE](/apps/using-github-apps/approving-updated-permissions-for-a-github-app). + +## Identify app usage + +App attribution is available in CSV exports, not in the **AI usage** view on {% data variables.product.github %}. + +1. Download an AI usage report. See [AUTOTITLE](/billing/how-tos/products/view-productlicense-use#downloading-usage-reports). +1. Find rows with your organization in the `organization` column and a value in `app_client_id`. +1. Use the “List app installations for an organization” REST API endpoint and match `app_client_id` from the report to `client_id` in the response. The `app_slug` value identifies the app. See [AUTOTITLE](/rest/orgs/orgs#list-app-installations-for-an-organization). + +The `app_client_id` field is empty for usage attributed to a user, {% data variables.product.prodname_actions %}, other {% data variables.product.company_short %}-owned apps, and historical usage from before app attribution was available. For full field definitions, see [AUTOTITLE](/billing/reference/billing-reports#usage-report-fields). + +## Control app spending + +Usage from an organization-installed app counts against the organization’s {% data variables.product.prodname_copilot_short %} budget. A budget that only sends alerts does not stop spending. To block requests after the limit is reached, enable **Stop usage when budget limit is reached**. + +You cannot create a budget for one app or installation. For more information about organization-level controls, see [AUTOTITLE](/copilot/concepts/billing-and-usage/organizations-and-enterprises/budgets). + +## Block an app's access + +To stop requests from one app installation, suspend or uninstall it for your organization. This also blocks the installation's access to other organization resources. See [AUTOTITLE](/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#blocking-access). diff --git a/content/copilot/how-tos/copilot-sdk/auth/authenticate.md b/content/copilot/how-tos/copilot-sdk/auth/authenticate.md index 602fabaea6b1..04214307f54a 100644 --- a/content/copilot/how-tos/copilot-sdk/auth/authenticate.md +++ b/content/copilot/how-tos/copilot-sdk/auth/authenticate.md @@ -462,7 +462,7 @@ For multi-user server mode, pass a per-session `gitHubToken` so each session run ## Disabling auto-login -To prevent the SDK from automatically using stored credentials or `gh` CLI auth, configure it to disable logged-in-user fallback: +To prevent the SDK from automatically using stored credentials or `gh` CLI auth, configure it to disable logged-in-user fallback. This also ignores environment variable tokens such as `COPILOT_GITHUB_TOKEN`, so you must pass a token through the SDK's explicit token option. The examples below show only the fallback setting: {% codetabs %} {% codetab dotnet %} diff --git a/content/copilot/how-tos/copilot-sdk/auth/server-to-server-tokens.md b/content/copilot/how-tos/copilot-sdk/auth/server-to-server-tokens.md index 3e62fdd458d7..6b540b9f4cf7 100644 --- a/content/copilot/how-tos/copilot-sdk/auth/server-to-server-tokens.md +++ b/content/copilot/how-tos/copilot-sdk/auth/server-to-server-tokens.md @@ -39,25 +39,24 @@ The organization's **Allow use of Copilot CLI billed to the organization** polic For services outside GitHub Actions: -1. Create a GitHub App with the **Copilot Requests** repository permission set to **Read & write**. -1. Install it on the organization that should be billed. The current Copilot permission check requires **All repositories** access. -1. [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app) with a repository ID and the Copilot permission: +1. Create a GitHub App with the **Copilot Requests** organization permission set to **Read-only**. +1. Install it on the organization that usage should be attributed and billed to. +1. [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app) with the Copilot permission: ```json { - "repository_ids": [123456789], "permissions": { - "copilot_requests": "write" + "organization_copilot_requests": "read" } } ``` -1. Pass the resulting `ghs_` token to the runtime as `COPILOT_GITHUB_TOKEN`. +1. Pass the resulting `ghs_` token to the SDK's `gitHubToken`, `github_token`, or equivalent option. For an existing runtime URI, set it as `COPILOT_GITHUB_TOKEN` on the runtime process instead. The organization must be enabled for Copilot requests from GitHub App installations. Installation tokens expire after one hour. -> [!WARNING] -> Do not pass an installation token through the SDK's `gitHubToken`, `github_token`, or equivalent option. That option is for user tokens. Installation tokens must use the runtime environment authentication path. +> [!NOTE] +> No signed-in user is required. `useLoggedInUser: false` turns off automatic credential discovery, including environment variable tokens such as `COPILOT_GITHUB_TOKEN`, so pass the installation token through the SDK's explicit token option. ## Configure the runtime @@ -74,10 +73,7 @@ if (!token) throw new Error("INSTALLATION_TOKEN is required"); const client = new CopilotClient({ connection: RuntimeConnection.forStdio(), - env: { - ...process.env, - COPILOT_GITHUB_TOKEN: token, - }, + gitHubToken: token, useLoggedInUser: false, }); ``` @@ -92,7 +88,7 @@ from copilot import CopilotClient, RuntimeConnection client = CopilotClient( connection=RuntimeConnection.for_stdio(), - env={**os.environ, "COPILOT_GITHUB_TOKEN": os.environ["INSTALLATION_TOKEN"]}, + github_token=os.environ["INSTALLATION_TOKEN"], use_logged_in_user=False, ) ``` @@ -117,7 +113,7 @@ func main() { } client := copilot.NewClient(&copilot.ClientOptions{ Connection: copilot.StdioConnection{}, - Env: append(os.Environ(), "COPILOT_GITHUB_TOKEN="+token), + GitHubToken: token, UseLoggedInUser: copilot.Bool(false), }) _ = client @@ -134,7 +130,7 @@ fn main() { let token = std::env::var("INSTALLATION_TOKEN").expect("INSTALLATION_TOKEN is required"); let options = ClientOptions::new() .with_transport(Transport::Stdio) - .with_env([("COPILOT_GITHUB_TOKEN", token)]) + .with_github_token(token) .with_use_logged_in_user(false); drop(options); } @@ -144,20 +140,15 @@ fn main() { {% codetab dotnet %} ```csharp -using System.Collections; using GitHub.Copilot; var token = Environment.GetEnvironmentVariable("INSTALLATION_TOKEN") ?? throw new InvalidOperationException("INSTALLATION_TOKEN is required"); -var environment = Environment.GetEnvironmentVariables() - .Cast() - .ToDictionary(entry => (string)entry.Key, entry => entry.Value?.ToString() ?? ""); -environment["COPILOT_GITHUB_TOKEN"] = token; await using var client = new CopilotClient(new CopilotClientOptions { Connection = RuntimeConnection.ForStdio(), - Environment = environment, + GitHubToken = token, UseLoggedInUser = false, }); ``` @@ -168,16 +159,13 @@ await using var client = new CopilotClient(new CopilotClientOptions ```java import com.github.copilot.CopilotClient; import com.github.copilot.rpc.CopilotClientOptions; -import java.util.HashMap; import java.util.Objects; -var environment = new HashMap<>(System.getenv()); var token = Objects.requireNonNull( System.getenv("INSTALLATION_TOKEN"), "INSTALLATION_TOKEN is required"); -environment.put("COPILOT_GITHUB_TOKEN", token); try (var client = new CopilotClient(new CopilotClientOptions() - .setEnvironment(environment) + .setGitHubToken(token) .setUseLoggedInUser(false))) { // Use the client. } @@ -186,24 +174,24 @@ try (var client = new CopilotClient(new CopilotClientOptions() {% endcodetab %} {% endcodetabs %} -For in-process FFI, set `COPILOT_GITHUB_TOKEN` in the host environment before loading the runtime; per-client environment options are not supported. For an existing runtime URI, set it on that runtime process. +For in-process FFI, use the same token option; environment variable tokens in the host process are ignored when `useLoggedInUser` is false. For an existing runtime URI, set `COPILOT_GITHUB_TOKEN` on that runtime process. ## Refresh tokens -Mint a new installation token before the current token expires. For a child process, restart the SDK client with the new environment. For an in-process or existing runtime, restart the host runtime with the new token. +Mint a new installation token before the current token expires. For a child process, restart the SDK client with the new token. For an in-process or existing runtime, restart the host runtime with the new token. ## Billing -Usage is attributed and billed to the account that owns the GitHub App installation. Use an organization installation for organization billing; a user-account installation attributes usage to that user. +Usage is attributed and billed to the organization that owns the GitHub App installation. ## Troubleshooting | Symptom | Check | |---|---| -| `401 Unauthorized` | Confirm the organization supports GitHub App installation authentication for Copilot. | -| `403 Resource not accessible by integration` or an error mentioning user information | Confirm the installation token is in `COPILOT_GITHUB_TOKEN`, not the SDK's explicit token option. | -| `403 Forbidden` from the Copilot API | Confirm the token request contains `repository_ids` and `copilot_requests: write`. | -| `403 Forbidden` with the required token request | Confirm the app installation has **All repositories** access, then mint a new token. | +| `401 Unauthorized` | The token may be expired or invalid. Mint a new installation token. | +| `403` stating that Copilot requests with GitHub App installation access tokens are not enabled | Confirm the organization supports GitHub App installation authentication for Copilot. | +| `No GitHub OAuth token or Copilot HMAC key provided` or `Not authenticated` | Confirm the installation token is passed through the SDK's explicit token option. With `useLoggedInUser: false`, the runtime ignores `COPILOT_GITHUB_TOKEN` and other environment variable tokens. | +| `403 Forbidden` from the Copilot API | Confirm the installation has the organization **Copilot Requests** permission, then mint a new token. | | Requested model is unavailable | Confirm the organization's Copilot policy allows the model and the bundled runtime supports it. | | Wrong account billed | Confirm the installation belongs to the intended organization. | diff --git a/content/copilot/how-tos/copilot-sdk/features/cloud-sessions.md b/content/copilot/how-tos/copilot-sdk/features/cloud-sessions.md index b7269d907fc0..dfe0919b2541 100644 --- a/content/copilot/how-tos/copilot-sdk/features/cloud-sessions.md +++ b/content/copilot/how-tos/copilot-sdk/features/cloud-sessions.md @@ -201,7 +201,7 @@ A few notes: ## Accessing the agent session URL -Cloud sessions are inherently remote: once the worker connects, the session is published to `https://github.com/copilot/tasks/{sessionId}` and the runtime emits a `session.info` event with the URL. You do **not** need to call `remote.enable()`— that API is only for syncing a local session to {% data variables.product.github %}. +Cloud sessions are inherently remote: once the worker connects, the session is published to `https://github.com/copilot/tasks/{sessionId}` and the runtime emits a `session.info` event with the URL. You do **not** need to call `remote.enable()`—that API is only for syncing a local session to {% data variables.product.github %}. Capture the URL by subscribing to `session.info` and filtering by `infoType: "remote"`: diff --git a/content/copilot/how-tos/copilot-sdk/features/mcp.md b/content/copilot/how-tos/copilot-sdk/features/mcp.md index db216d2f0afe..3a42c5a9bb60 100644 --- a/content/copilot/how-tos/copilot-sdk/features/mcp.md +++ b/content/copilot/how-tos/copilot-sdk/features/mcp.md @@ -287,6 +287,46 @@ server unchanged. State-only continuations do not invoke either responder. After an existing `mcp.prompts.list_changed` session event, list the named server's prompts again to refresh your application's view. +## Applying sandbox policy before MCP startup + +Pass `sandboxConfig` to `createSession` or `resumeSession` to apply sandbox policy +during construction, before discovered root-config, plugin, or explicitly +configured MCP servers start. It accepts the same configuration as +`session.rpc.options.update({ sandboxConfig })`. + +```typescript +const sandboxConfig = { + enabled: true, + sandboxMcpServers: true, + userPolicy: { network: { allowOutbound: false } }, +}; +const session = await client.createSession({ + onPermissionRequest: approveAll, + sandboxConfig, +}); +``` + +Re-supply the configuration on a cold resume; omission preserves a resident +session's current policy. A resident resume cannot undo processes that already +started. Managed-policy validation uses the same direct-host semantics as an +options update: a conflicting request fails create or resume instead of falling +back to an unsandboxed session, with `data.code` set to +`managed_sandbox_policy_conflict` in the JSON-RPC error. The runtime does not +assign a settings-derived `sandboxConfigSource` to this explicit host configuration. + +A later identical `options.update({ sandboxConfig })` does not restart MCP +servers, including when managed policy has normalized the configuration. A +different effective MCP sandbox policy retains the usual restart behavior. + +Check the runtime `version` returned by `server.connect` (`ConnectResult`) against +the minimum runtime release your application requires for this feature. The SDK +protocol version is not a per-feature capability signal. Older runtimes ignore +unknown create/resume fields, so an application supporting them can send +`sandboxConfig` at open and repeat it in a follow-up options update. That update +is harmless on supporting runtimes, but older runtimes can still start MCP before +the update arrives; require a supporting runtime version when confinement from +the first process is mandatory. + ## Tool configuration You can control which tools are available to an MCP server using the `tools` field. diff --git a/content/copilot/how-tos/copilot-sdk/features/remote-sessions.md b/content/copilot/how-tos/copilot-sdk/features/remote-sessions.md index 86d6c7ac76eb..e1833393c8c4 100644 --- a/content/copilot/how-tos/copilot-sdk/features/remote-sessions.md +++ b/content/copilot/how-tos/copilot-sdk/features/remote-sessions.md @@ -1,7 +1,11 @@ --- title: Remote sessions shortTitle: Remote Sessions -intro: 'Remote sessions sync to {% data variables.product.github %} so users can access locally running {% data variables.product.prodname_copilot_short %} sessions from the agents panel or on mobile. When enabled, the SDK produces a URL to the session log that can be shared as a link or QR code.' +intro: >- + Remote sessions let users access their Copilot session from GitHub web and + mobile via [Mission Control](https://github.com). When enabled, the SDK + connects each session to Mission Control, producing a URL that can be shared + as a link or QR code. versions: fpt: '*' ghec: '*' diff --git a/content/copilot/how-tos/copilot-sdk/features/steering-and-queueing.md b/content/copilot/how-tos/copilot-sdk/features/steering-and-queueing.md index 7ea61b75539e..73ed36405b95 100644 --- a/content/copilot/how-tos/copilot-sdk/features/steering-and-queueing.md +++ b/content/copilot/how-tos/copilot-sdk/features/steering-and-queueing.md @@ -47,7 +47,7 @@ Source identifies origin. Delivery mode requests urgency. Neither requires the r A successful high-level `send` acknowledgement returns a message ID and confirms acceptance, not that the recipient has consumed the message. Do not automatically resend an accepted message merely because no reply appears. Send-and-wait can complete on an idle event without an assistant message. > [!WARNING] -> Remote backends do not necessarily preserve source end to end. The agent session can include source in its local echo without carrying it in the remote HTTP request. A local source event does not prove that the remote worker received the same provenance. +> Remote backends do not necessarily preserve source end to end. Mission Control can include source in its local echo without carrying it in the remote HTTP request. A local source event does not prove that the remote worker received the same provenance. ## Steering (immediate mode) diff --git a/content/copilot/how-tos/copilot-sdk/setup/multi-tenancy.md b/content/copilot/how-tos/copilot-sdk/setup/multi-tenancy.md index 16a90567230d..446f84809f24 100644 --- a/content/copilot/how-tos/copilot-sdk/setup/multi-tenancy.md +++ b/content/copilot/how-tos/copilot-sdk/setup/multi-tenancy.md @@ -299,7 +299,7 @@ Use per-session tokens for content exclusion, model routing, quota checks, and u ## Integration ID -Partners building branded agents can set an integration ID for agent session requests. The runtime reads `GITHUB_COPILOT_INTEGRATION_ID` and stamps it as the `Copilot-Integration-Id` HTTP header on every agent session request. +Partners building branded agents can set an integration ID for Mission Control requests. The runtime reads `GITHUB_COPILOT_INTEGRATION_ID` and stamps it as the `Copilot-Integration-Id` HTTP header on every Mission Control request. ```bash GITHUB_COPILOT_INTEGRATION_ID=my-product-agent copilot --headless --port 4321 diff --git a/content/copilot/how-tos/copilot-sdk/troubleshooting/compatibility.md b/content/copilot/how-tos/copilot-sdk/troubleshooting/compatibility.md index 49a6dfbcb683..5d759835f97a 100644 --- a/content/copilot/how-tos/copilot-sdk/troubleshooting/compatibility.md +++ b/content/copilot/how-tos/copilot-sdk/troubleshooting/compatibility.md @@ -91,7 +91,7 @@ The Copilot SDK communicates with the CLI via JSON-RPC protocol. Features must b | System message | `systemMessage` config | Append or replace | | Custom provider | `provider` config | BYOK support | | Infinite sessions | `infiniteSessions` config | Auto-compaction | -| Permission handler | `onPermissionRequest` | Approve/deny requests; optionally attach a `decisionContext` for auto-approval telemetry | +| Permission handler | `onPermissionRequest` | Approve/deny; `decisionContext.userFeedback` collects explanations only in restricted telemetry | | User input handler | `onUserInputRequest` | Handle ask_user | | Skills | `skillDirectories` config | Custom skills | | Disabled skills | `disabledSkills` config | Disable specific skills | diff --git a/data/reusables/copilot/org-app-s2s-preview.md b/data/reusables/copilot/org-app-s2s-preview.md new file mode 100644 index 000000000000..ade686e5ba11 --- /dev/null +++ b/data/reusables/copilot/org-app-s2s-preview.md @@ -0,0 +1 @@ +Authentication to {% data variables.product.prodname_copilot_short %} with organization installation access tokens is in {% data variables.release-phases.public_preview %} and subject to change.