From 141e71fe7021f837c2dc7992d83ff7b579725480 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 08:53:13 -0700 Subject: [PATCH 1/7] Bump docker/build-push-action from 5.4.0 to 6.3.0 (#51532) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/azure-preview-env-deploy-public.yml | 2 +- .github/workflows/azure-preview-env-deploy.yml | 2 +- .github/workflows/azure-prod-build-deploy.yml | 2 +- .github/workflows/azure-staging-build-deploy.yml | 2 +- .github/workflows/main-preview-docker-cache.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/azure-preview-env-deploy-public.yml b/.github/workflows/azure-preview-env-deploy-public.yml index fde6c90618b7..6cdf30f44852 100644 --- a/.github/workflows/azure-preview-env-deploy-public.yml +++ b/.github/workflows/azure-preview-env-deploy-public.yml @@ -112,7 +112,7 @@ jobs: run: src/workflows/prune-for-preview-env.sh - name: 'Build and push image' - uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 + uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c with: context: . push: true diff --git a/.github/workflows/azure-preview-env-deploy.yml b/.github/workflows/azure-preview-env-deploy.yml index be10e7fd36e5..3fd51fb3e399 100644 --- a/.github/workflows/azure-preview-env-deploy.yml +++ b/.github/workflows/azure-preview-env-deploy.yml @@ -171,7 +171,7 @@ jobs: run: src/workflows/prune-for-preview-env.sh - name: 'Build and push image' - uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 + uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c with: context: . push: true diff --git a/.github/workflows/azure-prod-build-deploy.yml b/.github/workflows/azure-prod-build-deploy.yml index b70523dbd8a9..3c468c970900 100644 --- a/.github/workflows/azure-prod-build-deploy.yml +++ b/.github/workflows/azure-prod-build-deploy.yml @@ -90,7 +90,7 @@ jobs: token: ${{ secrets.DOCS_BOT_PAT_READPUBLICKEY }} - name: 'Build and push image' - uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 + uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c with: context: . push: true diff --git a/.github/workflows/azure-staging-build-deploy.yml b/.github/workflows/azure-staging-build-deploy.yml index 1769d2ebb23e..df5e29b8fd44 100644 --- a/.github/workflows/azure-staging-build-deploy.yml +++ b/.github/workflows/azure-staging-build-deploy.yml @@ -91,7 +91,7 @@ jobs: run: src/early-access/scripts/merge-early-access.sh - name: 'Build and push image' - uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 + uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c with: context: . push: true diff --git a/.github/workflows/main-preview-docker-cache.yml b/.github/workflows/main-preview-docker-cache.yml index 918cd886c6d2..d8dc052e8994 100644 --- a/.github/workflows/main-preview-docker-cache.yml +++ b/.github/workflows/main-preview-docker-cache.yml @@ -68,7 +68,7 @@ jobs: run: src/workflows/prune-for-preview-env.sh - name: 'Build and push image' - uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 + uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c with: context: . push: true From b43cfca41534f9e5228652744b7dfbcd840810e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 15:53:26 +0000 Subject: [PATCH 2/7] Bump @primer/react from 36.23.0 to 36.24.0 (#51513) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index b46bc00a2941..384d65b12e59 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@primer/css": "^21.3.1", "@primer/octicons": "^19.10.0", "@primer/octicons-react": "^19.10.0", - "@primer/react": "36.23.0", + "@primer/react": "36.24.0", "accept-language-parser": "^1.5.0", "ajv": "^8.16.0", "ajv-errors": "^3.0.0", @@ -2688,9 +2688,9 @@ "integrity": "sha512-/3lNloWONQMiasMAmJl5b85tP86e4uElU1d+kQQOBoVoXttni98DEigqQrKgIdwWaEcbp43IU2ks/9EZdwM2XA==" }, "node_modules/@primer/react": { - "version": "36.23.0", - "resolved": "https://registry.npmjs.org/@primer/react/-/react-36.23.0.tgz", - "integrity": "sha512-4wFDscBnZ+IenYCUqxvX/Yl6Arc2i+pJiJq+qzRxI40pvMefMBSZx3yOdbHMiQDP1gSZsIP+bDofwIk90jDKQg==", + "version": "36.24.0", + "resolved": "https://registry.npmjs.org/@primer/react/-/react-36.24.0.tgz", + "integrity": "sha512-KrKo50myOGtbUJD35ck3Bfkz8R7vdYpeWcIxa8rgyIxFF/iVt3fr4gIId5WbaSzCnEeOKSKGAgssCKPjIJLnAA==", "dependencies": { "@github/combobox-nav": "^2.1.5", "@github/markdown-toolbar-element": "^2.1.0", diff --git a/package.json b/package.json index f83d11245a9d..436179e49427 100644 --- a/package.json +++ b/package.json @@ -233,7 +233,7 @@ "@primer/css": "^21.3.1", "@primer/octicons": "^19.10.0", "@primer/octicons-react": "^19.10.0", - "@primer/react": "36.23.0", + "@primer/react": "36.24.0", "accept-language-parser": "^1.5.0", "ajv": "^8.16.0", "ajv-errors": "^3.0.0", From a0f28464966ab3b9fb072da20e9a4cca8a601aa7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 15:53:40 +0000 Subject: [PATCH 3/7] Bump @typescript-eslint/parser from 7.14.1 to 7.15.0 (#51512) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 50 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/package-lock.json b/package-lock.json index 384d65b12e59..2af560ba71f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -124,7 +124,7 @@ "@types/semver": "^7.5.8", "@types/tcp-port-used": "1.0.4", "@typescript-eslint/eslint-plugin": "^7.13.0", - "@typescript-eslint/parser": "^7.14.1", + "@typescript-eslint/parser": "^7.15.0", "chalk": "^5.0.1", "change-case": "^5.4.4", "commander": "^12.1.0", @@ -3512,15 +3512,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.14.1.tgz", - "integrity": "sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.15.0.tgz", + "integrity": "sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/typescript-estree": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", + "@typescript-eslint/scope-manager": "7.15.0", + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/typescript-estree": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0", "debug": "^4.3.4" }, "engines": { @@ -3540,13 +3540,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.14.1.tgz", - "integrity": "sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz", + "integrity": "sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1" + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -3557,9 +3557,9 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.14.1.tgz", - "integrity": "sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.15.0.tgz", + "integrity": "sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -3570,13 +3570,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.14.1.tgz", - "integrity": "sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz", + "integrity": "sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3598,12 +3598,12 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.14.1.tgz", - "integrity": "sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz", + "integrity": "sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/types": "7.15.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { diff --git a/package.json b/package.json index 436179e49427..ee395960180f 100644 --- a/package.json +++ b/package.json @@ -340,7 +340,7 @@ "@types/semver": "^7.5.8", "@types/tcp-port-used": "1.0.4", "@typescript-eslint/eslint-plugin": "^7.13.0", - "@typescript-eslint/parser": "^7.14.1", + "@typescript-eslint/parser": "^7.15.0", "chalk": "^5.0.1", "change-case": "^5.4.4", "commander": "^12.1.0", From c3e7f293cd85b5ecc16e5e44558bdad3256b480c Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Mon, 8 Jul 2024 09:33:51 -0700 Subject: [PATCH 4/7] Update audit log event data (#51563) --- src/audit-logs/lib/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/audit-logs/lib/config.json b/src/audit-logs/lib/config.json index 87d42551e7e2..d715d0c49199 100644 --- a/src/audit-logs/lib/config.json +++ b/src/audit-logs/lib/config.json @@ -3,5 +3,5 @@ "apiOnlyEvents": "This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", "apiRequestEvent": "This event is only available via audit log streaming." }, - "sha": "a244bf32d6248357f5e491cf0539f5fbec86bb0f" + "sha": "e6a81c02013834968e098fbf3420b7d8ca094bb3" } \ No newline at end of file From c7fe87930dbfd11fe2203dbfb2132a747301977c Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Mon, 8 Jul 2024 09:34:23 -0700 Subject: [PATCH 5/7] GraphQL schema update (#51564) Co-authored-by: rachmari <9831992+rachmari@users.noreply.github.com> --- src/graphql/data/fpt/changelog.json | 20 +++++ src/graphql/data/fpt/schema.docs.graphql | 55 +++++++++++++ src/graphql/data/fpt/schema.json | 98 +++++++++++++++++++++++ src/graphql/data/ghec/schema.docs.graphql | 55 +++++++++++++ src/graphql/data/ghec/schema.json | 98 +++++++++++++++++++++++ 5 files changed, 326 insertions(+) diff --git a/src/graphql/data/fpt/changelog.json b/src/graphql/data/fpt/changelog.json index 6ee68edfec60..e8a1dea7e915 100644 --- a/src/graphql/data/fpt/changelog.json +++ b/src/graphql/data/fpt/changelog.json @@ -1,4 +1,24 @@ [ + { + "schemaChanges": [ + { + "title": "The GraphQL schema includes these changes:", + "changes": [ + "

Type 'ProjectV2PermissionLevel' was added

", + "

Argument 'minPermissionLevel: ProjectV2PermissionLevel' (with default value) added to field 'Issue.projectsV2'

", + "

Argument 'minPermissionLevel: ProjectV2PermissionLevel' (with default value) added to field 'Organization.projectsV2'

", + "

Argument 'minPermissionLevel: ProjectV2PermissionLevel' (with default value) added to field 'ProjectV2Owner.projectsV2'

", + "

Argument 'minPermissionLevel: ProjectV2PermissionLevel' (with default value) added to field 'PullRequest.projectsV2'

", + "

Argument 'minPermissionLevel: ProjectV2PermissionLevel' (with default value) added to field 'Repository.projectsV2'

", + "

Argument 'minPermissionLevel: ProjectV2PermissionLevel' (with default value) added to field 'Team.projectsV2'

", + "

Argument 'minPermissionLevel: ProjectV2PermissionLevel' (with default value) added to field 'User.projectsV2'

" + ] + } + ], + "previewChanges": [], + "upcomingChanges": [], + "date": "2024-07-08" + }, { "schemaChanges": [ { diff --git a/src/graphql/data/fpt/schema.docs.graphql b/src/graphql/data/fpt/schema.docs.graphql index 0f205fcc361b..db2f88f408a3 100644 --- a/src/graphql/data/fpt/schema.docs.graphql +++ b/src/graphql/data/fpt/schema.docs.graphql @@ -18292,6 +18292,11 @@ type Issue implements Assignable & Closable & Comment & Deletable & Labelable & """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -29429,6 +29434,11 @@ type Organization implements Actor & AnnouncementBanner & MemberStatusable & Nod """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -35004,6 +35014,11 @@ interface ProjectV2Owner { """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -35016,6 +35031,26 @@ interface ProjectV2Owner { ): ProjectV2Connection! } +""" +The possible roles of a collaborator on a project. +""" +enum ProjectV2PermissionLevel { + """ + The collaborator can view, edit, and maange the settings of the project + """ + ADMIN + + """ + The collaborator can view the project + """ + READ + + """ + The collaborator can view and edit the project + """ + WRITE +} + """ Recent projects for the owner. """ @@ -36785,6 +36820,11 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -45500,6 +45540,11 @@ type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -54659,6 +54704,11 @@ type Team implements MemberStatusable & Node & Subscribable { """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -61437,6 +61487,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ diff --git a/src/graphql/data/fpt/schema.json b/src/graphql/data/fpt/schema.json index be599b4861b7..c2222d3f9b3d 100644 --- a/src/graphql/data/fpt/schema.json +++ b/src/graphql/data/fpt/schema.json @@ -28543,6 +28543,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -40713,6 +40724,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -50636,6 +50658,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -62376,6 +62409,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -70380,6 +70424,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -75639,6 +75694,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -80716,6 +80782,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -85748,6 +85825,27 @@ } ] }, + { + "name": "ProjectV2PermissionLevel", + "kind": "enums", + "id": "projectv2permissionlevel", + "href": "/graphql/reference/enums#projectv2permissionlevel", + "description": "

The possible roles of a collaborator on a project.

", + "values": [ + { + "name": "ADMIN", + "description": "

The collaborator can view, edit, and maange the settings of the project.

" + }, + { + "name": "READ", + "description": "

The collaborator can view the project.

" + }, + { + "name": "WRITE", + "description": "

The collaborator can view and edit the project.

" + } + ] + }, { "name": "ProjectV2Roles", "kind": "enums", diff --git a/src/graphql/data/ghec/schema.docs.graphql b/src/graphql/data/ghec/schema.docs.graphql index 0f205fcc361b..db2f88f408a3 100644 --- a/src/graphql/data/ghec/schema.docs.graphql +++ b/src/graphql/data/ghec/schema.docs.graphql @@ -18292,6 +18292,11 @@ type Issue implements Assignable & Closable & Comment & Deletable & Labelable & """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -29429,6 +29434,11 @@ type Organization implements Actor & AnnouncementBanner & MemberStatusable & Nod """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -35004,6 +35014,11 @@ interface ProjectV2Owner { """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -35016,6 +35031,26 @@ interface ProjectV2Owner { ): ProjectV2Connection! } +""" +The possible roles of a collaborator on a project. +""" +enum ProjectV2PermissionLevel { + """ + The collaborator can view, edit, and maange the settings of the project + """ + ADMIN + + """ + The collaborator can view the project + """ + READ + + """ + The collaborator can view and edit the project + """ + WRITE +} + """ Recent projects for the owner. """ @@ -36785,6 +36820,11 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -45500,6 +45540,11 @@ type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -54659,6 +54704,11 @@ type Team implements MemberStatusable & Node & Subscribable { """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -61437,6 +61487,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ diff --git a/src/graphql/data/ghec/schema.json b/src/graphql/data/ghec/schema.json index be599b4861b7..c2222d3f9b3d 100644 --- a/src/graphql/data/ghec/schema.json +++ b/src/graphql/data/ghec/schema.json @@ -28543,6 +28543,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -40713,6 +40724,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -50636,6 +50658,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -62376,6 +62409,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -70380,6 +70424,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -75639,6 +75694,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -80716,6 +80782,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -85748,6 +85825,27 @@ } ] }, + { + "name": "ProjectV2PermissionLevel", + "kind": "enums", + "id": "projectv2permissionlevel", + "href": "/graphql/reference/enums#projectv2permissionlevel", + "description": "

The possible roles of a collaborator on a project.

", + "values": [ + { + "name": "ADMIN", + "description": "

The collaborator can view, edit, and maange the settings of the project.

" + }, + { + "name": "READ", + "description": "

The collaborator can view the project.

" + }, + { + "name": "WRITE", + "description": "

The collaborator can view and edit the project.

" + } + ] + }, { "name": "ProjectV2Roles", "kind": "enums", From f908329690f5123306a21e10307ac8c9cafa78b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 10:01:06 -0700 Subject: [PATCH 6/7] Bump @typescript-eslint/eslint-plugin from 7.13.0 to 7.15.0 (#51511) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 139 +++++++++++----------------------------------- package.json | 2 +- 2 files changed, 33 insertions(+), 108 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2af560ba71f7..cdaa9e7b0c3b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -123,7 +123,7 @@ "@types/react-dom": "^18.3.0", "@types/semver": "^7.5.8", "@types/tcp-port-used": "1.0.4", - "@typescript-eslint/eslint-plugin": "^7.13.0", + "@typescript-eslint/eslint-plugin": "^7.15.0", "@typescript-eslint/parser": "^7.15.0", "chalk": "^5.0.1", "change-case": "^5.4.4", @@ -3479,16 +3479,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.13.0.tgz", - "integrity": "sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz", + "integrity": "sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.13.0", - "@typescript-eslint/type-utils": "7.13.0", - "@typescript-eslint/utils": "7.13.0", - "@typescript-eslint/visitor-keys": "7.13.0", + "@typescript-eslint/scope-manager": "7.15.0", + "@typescript-eslint/type-utils": "7.15.0", + "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -3539,7 +3539,7 @@ } } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "node_modules/@typescript-eslint/scope-manager": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz", "integrity": "sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==", @@ -3556,89 +3556,14 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.15.0.tgz", - "integrity": "sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==", - "dev": true, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz", - "integrity": "sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz", - "integrity": "sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.15.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.13.0.tgz", - "integrity": "sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.13.0", - "@typescript-eslint/visitor-keys": "7.13.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.13.0.tgz", - "integrity": "sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.15.0.tgz", + "integrity": "sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.13.0", - "@typescript-eslint/utils": "7.13.0", + "@typescript-eslint/typescript-estree": "7.15.0", + "@typescript-eslint/utils": "7.15.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -3659,9 +3584,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.13.0.tgz", - "integrity": "sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.15.0.tgz", + "integrity": "sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -3672,13 +3597,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.13.0.tgz", - "integrity": "sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz", + "integrity": "sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.13.0", - "@typescript-eslint/visitor-keys": "7.13.0", + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3700,15 +3625,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.13.0.tgz", - "integrity": "sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.15.0.tgz", + "integrity": "sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.13.0", - "@typescript-eslint/types": "7.13.0", - "@typescript-eslint/typescript-estree": "7.13.0" + "@typescript-eslint/scope-manager": "7.15.0", + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/typescript-estree": "7.15.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -3722,12 +3647,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.13.0.tgz", - "integrity": "sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz", + "integrity": "sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/types": "7.15.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { diff --git a/package.json b/package.json index ee395960180f..b169ec16dc95 100644 --- a/package.json +++ b/package.json @@ -339,7 +339,7 @@ "@types/react-dom": "^18.3.0", "@types/semver": "^7.5.8", "@types/tcp-port-used": "1.0.4", - "@typescript-eslint/eslint-plugin": "^7.13.0", + "@typescript-eslint/eslint-plugin": "^7.15.0", "@typescript-eslint/parser": "^7.15.0", "chalk": "^5.0.1", "change-case": "^5.4.4", From 52c3a0bd91837068f0ffadb25aeca1e832238682 Mon Sep 17 00:00:00 2001 From: Annelisa Stephan Date: Mon, 8 Jul 2024 11:07:31 -0700 Subject: [PATCH 7/7] Create SEO article for docs contributor guide (#51466) Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com> Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> --- .../annotating-code-examples.md | 2 +- .../configuring-redirects.md | 1 + .../creating-diagrams-for-github-docs.md | 2 +- .../creating-tool-switchers-in-articles.md | 2 +- .../writing-for-github-docs/index.md | 3 +- .../making-content-findable-in-search.md | 66 +++++++++++++++++++ .../using-videos-in-github-docs.md | 2 +- 7 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 content/contributing/writing-for-github-docs/making-content-findable-in-search.md diff --git a/content/contributing/writing-for-github-docs/annotating-code-examples.md b/content/contributing/writing-for-github-docs/annotating-code-examples.md index 65bd15c1f9a6..6dc17e35d85c 100644 --- a/content/contributing/writing-for-github-docs/annotating-code-examples.md +++ b/content/contributing/writing-for-github-docs/annotating-code-examples.md @@ -1,6 +1,6 @@ --- title: Annotating code examples -shortTitle: Annotating code examples +shortTitle: Annotate code examples intro: "You can annotate longer code examples to explain how they work and how people can customize them for other uses." layout: inline versions: diff --git a/content/contributing/writing-for-github-docs/configuring-redirects.md b/content/contributing/writing-for-github-docs/configuring-redirects.md index 01e1c74bab3b..74e624cc848b 100644 --- a/content/contributing/writing-for-github-docs/configuring-redirects.md +++ b/content/contributing/writing-for-github-docs/configuring-redirects.md @@ -1,5 +1,6 @@ --- title: Configuring redirects +shortTitle: Configure redirects intro: "If an article's title, version, or location changes, you can create a redirect to the current content." versions: feature: 'contributing' diff --git a/content/contributing/writing-for-github-docs/creating-diagrams-for-github-docs.md b/content/contributing/writing-for-github-docs/creating-diagrams-for-github-docs.md index 643c6facab21..8e193d7d9dd2 100644 --- a/content/contributing/writing-for-github-docs/creating-diagrams-for-github-docs.md +++ b/content/contributing/writing-for-github-docs/creating-diagrams-for-github-docs.md @@ -1,6 +1,6 @@ --- title: Creating diagrams for {% data variables.product.prodname_docs %} -shortTitle: Creating diagrams +shortTitle: Create diagrams intro: 'This guide explains when and how to create diagrams for {% data variables.product.prodname_docs %}.' versions: feature: 'contributing' diff --git a/content/contributing/writing-for-github-docs/creating-tool-switchers-in-articles.md b/content/contributing/writing-for-github-docs/creating-tool-switchers-in-articles.md index 41b78dae85bc..b84f450e309a 100644 --- a/content/contributing/writing-for-github-docs/creating-tool-switchers-in-articles.md +++ b/content/contributing/writing-for-github-docs/creating-tool-switchers-in-articles.md @@ -1,6 +1,6 @@ --- title: Creating tool switchers in articles -shortTitle: Creating tool switchers +shortTitle: Create tool switchers intro: 'You can use a tool switcher to show how to complete tasks using specific tools.' versions: feature: 'contributing' diff --git a/content/contributing/writing-for-github-docs/index.md b/content/contributing/writing-for-github-docs/index.md index e791e9ee4f60..e2c648ea2eed 100644 --- a/content/contributing/writing-for-github-docs/index.md +++ b/content/contributing/writing-for-github-docs/index.md @@ -7,8 +7,9 @@ versions: children: - /best-practices-for-github-docs - /about-githubs-documentation-philosophy - - /writing-content-to-be-translated - /content-design-principles + - /writing-content-to-be-translated + - /making-content-findable-in-search - /versioning-documentation - /using-markdown-and-liquid-in-github-docs - /using-yaml-frontmatter diff --git a/content/contributing/writing-for-github-docs/making-content-findable-in-search.md b/content/contributing/writing-for-github-docs/making-content-findable-in-search.md new file mode 100644 index 000000000000..ed3069f80826 --- /dev/null +++ b/content/contributing/writing-for-github-docs/making-content-findable-in-search.md @@ -0,0 +1,66 @@ +--- +title: Making content findable in search +shortTitle: Make content findable +intro: 'Follow these SEO best practices to help users find {% data variables.product.company_short %} documentation using search engines.' +versions: + feature: 'contributing' +--- + +## About search engine optimization (SEO) + +Search engine optimization (SEO) is the practice of earning visibility for web content in search engine results, such as those of Google and Bing. Google search is the top referrer to {% data variables.product.prodname_docs %} and the most common entry point for our users. + +We can plan and write our content to improve SEO. Better SEO improves the experience of people searching for documentation because it makes it more likely for them to find the information they seek using their preferred search terms. + +## Best practices for content SEO + +Good SEO requires planning content for specific audiences and being attentive to the words they use to search. Follow these best practices to improve an article's SEO. + +### Select a target audience + +Understand and write to the specific audience for the content: developers, administrators, or code learners. This helps you to: + +* Use words that your readers use. +* Make content relevant to their needs and tasks. +* Provide the right amount of context and background information. + +### Respond to search intent + +Craft content around **search intent**: the task, question, or problem that drives a member of the target audience to search for information online. + +* Conduct search intent research. For example, analyze search engine results pages (SERPs) for relevant queries. +* Understand user needs. Use multiple sources such as customer feedback, user interviews, and metrics. + +### Use clear language + +Follow guidance in "[AUTOTITLE](/contributing/writing-for-github-docs/best-practices-for-github-docs)," including: + +* Ensure every article has a clear, discrete topic. +* Put higher priority content first in an article. +* Structure articles with clear headings. +* Edit content for consistency following the "[AUTOTITLE](/contributing/style-guide-and-content-model/style-guide)." + +### Incorporate keywords + +Incorporate keywords, or top search terms used by your audience, into page copy and metadata. For example, if you are writing about "billing" but your audience primarily uses "cost" and "payment," use those terms instead. + +Google and Bing both offer keyword research tools to help you discover relevant keywords. The Docs team also consults Google Search Console data to understand what search terms lead to pages on {% data variables.product.prodname_docs %}. + +### Include metadata + +Use complete metadata in the frontmatter. To see the values available, see "[AUTOTITLE](/contributing/writing-for-github-docs/using-yaml-frontmatter)." + +On {% data variables.product.prodname_docs %}, the `intro` element displays as an on-page subhead and serves as the HTML metadata description. The article title serves as the HTML page title. For good SEO: + +* Write the title and `intro` to be complementary and keyword-rich. Consider how they will render in research. +* Accompany all images with keyword-rich alt text, which is also metadata used by search engines. See "[Alt text](/contributing/style-guide-and-content-model/style-guide#alt-text)" in the {% data variables.product.prodname_docs %} Style Guide. + +### Link strategically + +Link frugally to other task-relevant pages on {% data variables.product.prodname_docs %} and high-quality peer sites, following "[Links](/contributing/style-guide-and-content-model/style-guide#links)" in the {% data variables.product.prodname_docs %} Style Guide. + +Ensure that incoming links do not break by carefully maintaining redirects. + +### Maintain accuracy + +Ensure content is free of errors in fact, spelling, and style. Audit content periodically to remove errors such as broken links and to retire unneeded content. See "[AUTOTITLE](/contributing/writing-for-github-docs/configuring-redirects)." diff --git a/content/contributing/writing-for-github-docs/using-videos-in-github-docs.md b/content/contributing/writing-for-github-docs/using-videos-in-github-docs.md index 5ecef052e1ed..94167af8ad49 100644 --- a/content/contributing/writing-for-github-docs/using-videos-in-github-docs.md +++ b/content/contributing/writing-for-github-docs/using-videos-in-github-docs.md @@ -1,6 +1,6 @@ --- title: Using videos in GitHub Docs -shortTitle: Using videos +shortTitle: Use videos intro: 'This guide explains how to create videos that support user needs for {% data variables.product.prodname_docs %}.' versions: feature: 'contributing'