diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0acb8a96e5..146c40f1f5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -11,7 +11,7 @@ src/ghes-releases/lib/enterprise-dates.json @github/docs-content-enterprise # Requires review of #actions-oidc-integration, docs-engineering/issues/1506 -content/actions/deployment/security-hardening-your-deployments/** @github/oidc +# content/actions/deployment/security-hardening-your-deployments/** @github/oidc # RAI - CELA data/reusables/rai/** @github/legal-product diff --git a/.github/workflows/azure-preview-env-deploy-public.yml b/.github/workflows/azure-preview-env-deploy-public.yml index 020550d37a..16320d0cdd 100644 --- a/.github/workflows/azure-preview-env-deploy-public.yml +++ b/.github/workflows/azure-preview-env-deploy-public.yml @@ -66,7 +66,7 @@ jobs: password: ${{ secrets.NONPROD_REGISTRY_PASSWORD }} - name: Set up Docker Buildx - uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4 + uses: docker/setup-buildx-action@aa33708b10e362ff993539393ff100fa93ed6a27 - name: Check out main branch uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -112,7 +112,7 @@ jobs: run: src/workflows/prune-for-preview-env.sh - name: 'Build and push image' - uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c + uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 with: context: . push: true diff --git a/.github/workflows/azure-preview-env-deploy.yml b/.github/workflows/azure-preview-env-deploy.yml index fd6fd2a918..f89a48ecae 100644 --- a/.github/workflows/azure-preview-env-deploy.yml +++ b/.github/workflows/azure-preview-env-deploy.yml @@ -79,7 +79,7 @@ jobs: password: ${{ secrets.NONPROD_REGISTRY_PASSWORD }} - name: Set up Docker Buildx - uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4 + uses: docker/setup-buildx-action@aa33708b10e362ff993539393ff100fa93ed6a27 - name: Check out PR code uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -171,7 +171,7 @@ jobs: run: src/workflows/prune-for-preview-env.sh - name: 'Build and push image' - uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c + uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 with: context: . push: true diff --git a/.github/workflows/azure-prod-build-deploy.yml b/.github/workflows/azure-prod-build-deploy.yml index bd1cc03963..c6e0539d34 100644 --- a/.github/workflows/azure-prod-build-deploy.yml +++ b/.github/workflows/azure-prod-build-deploy.yml @@ -49,7 +49,7 @@ jobs: password: ${{ secrets.PROD_REGISTRY_PASSWORD }} - name: Set up Docker Buildx - uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4 + uses: docker/setup-buildx-action@aa33708b10e362ff993539393ff100fa93ed6a27 - name: Check out repo uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -92,7 +92,7 @@ jobs: token: ${{ secrets.DOCS_BOT_PAT_READPUBLICKEY }} - name: 'Build and push image' - uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c + uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 with: context: . push: true diff --git a/.github/workflows/azure-staging-build-deploy.yml b/.github/workflows/azure-staging-build-deploy.yml index 1506b74f94..33d9ed119c 100644 --- a/.github/workflows/azure-staging-build-deploy.yml +++ b/.github/workflows/azure-staging-build-deploy.yml @@ -57,7 +57,7 @@ jobs: password: ${{ secrets.NONPROD_REGISTRY_PASSWORD }} - name: Set up Docker Buildx - uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4 + uses: docker/setup-buildx-action@aa33708b10e362ff993539393ff100fa93ed6a27 - name: Check out repo uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -91,7 +91,7 @@ jobs: run: src/early-access/scripts/merge-early-access.sh - name: 'Build and push image' - uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c + uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 with: context: . push: true diff --git a/.github/workflows/delete-orphan-translation-files.yml b/.github/workflows/delete-orphan-translation-files.yml index 1862bae8b9..da1e7cec5e 100644 --- a/.github/workflows/delete-orphan-translation-files.yml +++ b/.github/workflows/delete-orphan-translation-files.yml @@ -95,7 +95,7 @@ jobs: changes=$(git diff --name-only | wc -l) untracked=$(git status --untracked-files --short | wc -l) if [[ $changes -eq 0 ]] && [[ $untracked -eq 0 ]]; then - echo "There are no changes to commit after running src/rest/scripts/update-files.js. Exiting..." + echo "There are no changes to commit or untracked files. Exiting." exit 0 fi diff --git a/.github/workflows/main-preview-docker-cache.yml b/.github/workflows/main-preview-docker-cache.yml index 01c8a64cfc..daa8fb7f3e 100644 --- a/.github/workflows/main-preview-docker-cache.yml +++ b/.github/workflows/main-preview-docker-cache.yml @@ -42,7 +42,7 @@ jobs: password: ${{ secrets.NONPROD_REGISTRY_PASSWORD }} - name: Set up Docker Buildx - uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4 + uses: docker/setup-buildx-action@aa33708b10e362ff993539393ff100fa93ed6a27 - name: Check out repo uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -68,7 +68,7 @@ jobs: run: src/workflows/prune-for-preview-env.sh - name: 'Build and push image' - uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c + uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 with: context: . push: true diff --git a/.github/workflows/sync-audit-logs.yml b/.github/workflows/sync-audit-logs.yml index d2e938bd45..f0226617d1 100644 --- a/.github/workflows/sync-audit-logs.yml +++ b/.github/workflows/sync-audit-logs.yml @@ -55,7 +55,7 @@ jobs: changes=$(git diff --name-only | wc -l) untracked=$(git status --untracked-files --short | wc -l) if [[ $changes -eq 0 ]] && [[ $untracked -eq 0 ]]; then - echo "There are no changes to commit after running src/rest/scripts/update-files.js. Exiting..." + echo "There are no changes to commit or untracked files. Exiting..." exit 0 fi diff --git a/.github/workflows/sync-openapi.yml b/.github/workflows/sync-openapi.yml index e80f1a3a30..7e28c42944 100644 --- a/.github/workflows/sync-openapi.yml +++ b/.github/workflows/sync-openapi.yml @@ -49,7 +49,7 @@ jobs: # Needed for gh GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_WRITEORG_PROJECT }} run: | - src/rest/scripts/update-files.js --source-repo rest-api-description --output rest github-apps webhooks rest-redirects + npm run sync-rest -- --source-repo rest-api-description --output rest github-apps webhooks rest-redirects git status echo "Deleting the cloned github/rest-api-description repo..." rm -rf rest-api-description @@ -73,7 +73,7 @@ jobs: # If nothing to commit, exit now. It's fine. No orphans. changes=$(git diff --name-only | wc -l) if [[ $changes -eq 0 ]]; then - echo "There are no changes to commit after running src/rest/scripts/update-files.js. Exiting..." + echo "There are no changes to commit after running `npm run sync-rest` Exiting..." exit 0 fi diff --git a/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md b/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md index e0db6c9aa4..a0a4401495 100644 --- a/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md +++ b/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md @@ -55,7 +55,7 @@ One benefit of using an email client is that all of your notifications can be ke Sending notifications to your email client also allows you to customize your inbox according to your email client's settings, which can include custom or color-coded labels. -Email notifications also allow flexibility with the types of notifications you receive and allow you to choose different email addresses for updates. For example, you can send certain notifications for a repository to a verified personal email address. For more information, about your email customization options, see "[Customizing your email notifications](#customizing-your-email-notifications)." +Email notifications also allow flexibility with the types of notifications you receive and allow you to choose different email addresses for updates. For example, you can send certain notifications for a repository to a verified personal email address. For more information, about your email customization options, see "[Customizing your email notifications](#customizing-your-email-notifications)." ## About participating and watching notifications diff --git a/content/actions/administering-github-actions/index.md b/content/actions/administering-github-actions/index.md new file mode 100644 index 0000000000..0409446d4a --- /dev/null +++ b/content/actions/administering-github-actions/index.md @@ -0,0 +1,15 @@ +--- +title: Administering GitHub Actions +shortTitle: Administer GitHub Actions +intro: 'Manage {% data variables.product.prodname_actions %} settings for your organization or enterprise.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +children: + - /usage-limits-billing-and-administration + - /viewing-github-actions-usage-metrics-for-your-organization + - /sharing-workflows-secrets-and-runners-with-your-organization + - /managing-environments-for-deployment +--- + diff --git a/content/actions/deployment/targeting-different-environments/managing-environments-for-deployment.md b/content/actions/administering-github-actions/managing-environments-for-deployment.md similarity index 96% rename from content/actions/deployment/targeting-different-environments/managing-environments-for-deployment.md rename to content/actions/administering-github-actions/managing-environments-for-deployment.md index 097f820cf7..2773e58dc5 100644 --- a/content/actions/deployment/targeting-different-environments/managing-environments-for-deployment.md +++ b/content/actions/administering-github-actions/managing-environments-for-deployment.md @@ -3,12 +3,14 @@ title: Managing environments for deployment shortTitle: Manage environments intro: You can create environments and secure those environments with deployment protection rules. A job that references an environment must follow any protection rules for the environment before running or accessing the environment's secrets. product: '{% data reusables.gated-features.environments %}' -permissions: 'Repository owners' +permissions: Repository owners redirect_from: - /actions/reference/environments - /actions/deployment/environments - /actions/deployment/using-environments-for-deployment - /actions/deployment/targeting-different-environments/using-environments-for-deployment + - /actions/deployment/targeting-different-environments + - /actions/deployment/targeting-different-environments/managing-environments-for-deployment topics: - CD - Deployment @@ -230,7 +232,7 @@ Variables stored in an environment are only available to workflow jobs that refe You can also create and configure environments through the REST API. For more information, see "[AUTOTITLE](/rest/deployments/environments)," "[AUTOTITLE](/rest/actions/secrets)," "[AUTOTITLE](/rest/actions/variables)," and "[AUTOTITLE](/rest/deployments/branch-policies)." -Running a workflow that references an environment that does not exist will create an environment with the referenced name. The newly created environment will not have any protection rules or secrets configured. Anyone that can edit workflows in the repository can create environments via a workflow file, but only repository admins can configure the environment. +Running a workflow that references an environment that does not exist will create an environment with the referenced name. If the environment is created from running implicit page builds (for example, from a branch or folder source), the source branch will be added as a protection rule to the environment. Otherwise, the newly created environment will not have any protection rules or secrets configured. Anyone that can edit workflows in the repository can create environments via a workflow file, but only repository admins can configure the environment. ## Deleting an environment diff --git a/content/actions/using-workflows/sharing-workflows-secrets-and-runners-with-your-organization.md b/content/actions/administering-github-actions/sharing-workflows-secrets-and-runners-with-your-organization.md similarity index 97% rename from content/actions/using-workflows/sharing-workflows-secrets-and-runners-with-your-organization.md rename to content/actions/administering-github-actions/sharing-workflows-secrets-and-runners-with-your-organization.md index 79363d1b8d..3936979752 100644 --- a/content/actions/using-workflows/sharing-workflows-secrets-and-runners-with-your-organization.md +++ b/content/actions/administering-github-actions/sharing-workflows-secrets-and-runners-with-your-organization.md @@ -5,6 +5,7 @@ intro: 'Learn how you can use organization features to collaborate with your tea redirect_from: - /actions/learn-github-actions/sharing-workflows-with-your-organization - /actions/learn-github-actions/sharing-workflows-secrets-and-runners-with-your-organization + - /actions/using-workflows/sharing-workflows-secrets-and-runners-with-your-organization versions: fpt: '*' ghes: '*' diff --git a/content/actions/learn-github-actions/usage-limits-billing-and-administration.md b/content/actions/administering-github-actions/usage-limits-billing-and-administration.md similarity index 92% rename from content/actions/learn-github-actions/usage-limits-billing-and-administration.md rename to content/actions/administering-github-actions/usage-limits-billing-and-administration.md index 6d04182652..7c962dfb8a 100644 --- a/content/actions/learn-github-actions/usage-limits-billing-and-administration.md +++ b/content/actions/administering-github-actions/usage-limits-billing-and-administration.md @@ -4,6 +4,7 @@ intro: 'There are usage limits for {% data variables.product.prodname_actions %} redirect_from: - /actions/getting-started-with-github-actions/usage-and-billing-information-for-github-actions - /actions/reference/usage-limits-billing-and-administration + - /actions/learn-github-actions/usage-limits-billing-and-administration versions: fpt: '*' ghes: '*' @@ -92,9 +93,7 @@ In addition to the usage limits, you must ensure that you use {% data variables. ## {% data variables.product.prodname_actions %} usage metrics -{% data reusables.actions.actions-usage-metrics-beta-note %} - -If you are on a {% data variables.product.prodname_ghe_cloud %} plan, organization owners and users with the "View organization Actions usage metrics" permission can view {% data variables.product.prodname_actions %} usage metrics for their organization. These metrics can help understand how and where your Actions minutes are being used. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/organizations/collaborating-with-groups-in-organizations/viewing-usage-metrics-for-github-actions)." +Organization owners and users with the "View organization Actions usage metrics" permission can view {% data variables.product.prodname_actions %} usage metrics for their organization. These metrics can help you understand how and where your Actions minutes are being used. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/organizations/collaborating-with-groups-in-organizations/viewing-usage-metrics-for-github-actions)." When you view usage metrics, it is important to remember that {% data reusables.actions.actions-usage-metrics-not-billing-metrics %} diff --git a/content/actions/monitoring-and-troubleshooting-workflows/viewing-github-actions-usage-metrics-for-your-organization.md b/content/actions/administering-github-actions/viewing-github-actions-usage-metrics-for-your-organization.md similarity index 78% rename from content/actions/monitoring-and-troubleshooting-workflows/viewing-github-actions-usage-metrics-for-your-organization.md rename to content/actions/administering-github-actions/viewing-github-actions-usage-metrics-for-your-organization.md index 790a0fe495..547e755c36 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/viewing-github-actions-usage-metrics-for-your-organization.md +++ b/content/actions/administering-github-actions/viewing-github-actions-usage-metrics-for-your-organization.md @@ -2,15 +2,15 @@ title: Viewing GitHub Actions usage metrics for your organization shortTitle: GitHub Actions usage metrics intro: 'Organization owners and CI/CD administrators can view usage metrics for how and where their organization uses {% data variables.product.prodname_actions %}.' -permissions: 'Organization owners and users with the "View organization Actions usage metrics" permissions.' +permissions: Organization owners and users with the "View organization Actions usage metrics" permissions. product: 'Your organization must be on a {% data variables.product.prodname_ghe_cloud %} plan.' versions: fpt: '*' ghec: '*' +redirect_from: + - /actions/monitoring-and-troubleshooting-workflows/viewing-github-actions-usage-metrics-for-your-organization --- -{% data reusables.actions.actions-usage-metrics-beta-note %} - If you are on a {% data variables.product.prodname_ghe_cloud %} plan, {% data reusables.actions.about-actions-usage-metrics %} For more information about how to use {% data variables.product.prodname_actions %} usage metrics, see "[AUTOTITLE](/enterprise-cloud@latest/organizations/collaborating-with-groups-in-organizations/viewing-usage-metrics-for-github-actions)" in the {% data variables.product.prodname_ghe_cloud %} documentation. diff --git a/content/actions/creating-actions/metadata-syntax-for-github-actions.md b/content/actions/creating-actions/metadata-syntax-for-github-actions.md index 44df2cf5dd..ecdc122f0f 100644 --- a/content/actions/creating-actions/metadata-syntax-for-github-actions.md +++ b/content/actions/creating-actions/metadata-syntax-for-github-actions.md @@ -481,7 +481,7 @@ branding: ### `branding.color` -The background color of the badge. Can be one of: `white`, `yellow`, `blue`, `green`, `orange`, `red`, `purple`, or `gray-dark`. +The background color of the badge. Can be one of: `white`, `black`, `yellow`, `blue`, `green`, `orange`, `red`, `purple`, or `gray-dark`. ### `branding.icon` @@ -725,6 +725,7 @@ Brand icons, and all the following icons, are omitted.
  • sun
  • sunrise
  • sunset
  • +
  • table
  • tablet
  • tag
  • target
  • diff --git a/content/actions/deployment/index.md b/content/actions/deployment/index.md index 8cb009ece2..3498ad6166 100644 --- a/content/actions/deployment/index.md +++ b/content/actions/deployment/index.md @@ -10,7 +10,6 @@ children: - /about-deployments - /deploying-to-your-cloud-provider - /security-hardening-your-deployments - - /targeting-different-environments - /protecting-deployments - /managing-your-deployments - /deploying-xcode-applications diff --git a/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-cloud-providers.md b/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-cloud-providers.md index b69039845d..579154a596 100644 --- a/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-cloud-providers.md +++ b/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-cloud-providers.md @@ -49,7 +49,7 @@ For example, Alibaba Cloud created [`aliyun/configure-aliyun-credentials-action` If your cloud provider doesn't have an official action, or if you prefer to create custom scripts, you can manually request the JSON Web Token (JWT) from {% data variables.product.prodname_dotcom %}'s OIDC provider. -If you're not using an official action, then {% data variables.product.prodname_dotcom %} recommends that you use the Actions core toolkit. Alternatively, you can use the following environment variables to retrieve the token: `ACTIONS_RUNTIME_TOKEN`, `ACTIONS_ID_TOKEN_REQUEST_URL`. +If you're not using an official action, then {% data variables.product.prodname_dotcom %} recommends that you use the Actions core toolkit. Alternatively, you can use the following environment variables to retrieve the token: `ACTIONS_ID_TOKEN_REQUEST_TOKEN`, `ACTIONS_ID_TOKEN_REQUEST_URL`. To update your workflows using this approach, you will need to make three changes to your YAML: diff --git a/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md b/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md index ae4451e476..c6f38f3da2 100644 --- a/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md +++ b/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md @@ -57,7 +57,7 @@ The `google-github-actions/auth` action receives a JWT from the {% data variable This example has a job called `Get_OIDC_ID_token` that uses actions to request a list of services from GCP. -* ``: Replace this with the path to your identity provider in GCP. For example, `projects//locations/global/workloadIdentityPools/` +* ``: Replace this with the path to your identity provider in GCP. For example, `projects//locations/global/workloadIdentityPools//providers/` * ``: Replace this with the name of your service account in GCP. * ``: Replace this with the ID of your GCP project. diff --git a/content/actions/deployment/targeting-different-environments/index.md b/content/actions/deployment/targeting-different-environments/index.md deleted file mode 100644 index 8bd30b17ce..0000000000 --- a/content/actions/deployment/targeting-different-environments/index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Targeting different environments -shortTitle: Target different environments -intro: You can configure environments with protection rules and secrets. A workflow job that references an environment must follow any protection rules for the environment before running or accessing the environment's secrets. -versions: - fpt: '*' - ghes: '*' - ghec: '*' -children: - - /managing-environments-for-deployment ---- - diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller.md index 6497ed0fc6..19cb479e8f 100644 --- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller.md +++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller.md @@ -503,7 +503,7 @@ template: - name: init-dind-externals image: ghcr.io/actions/actions-runner:latest command: - ["cp", "-r", "-v", "/home/runner/externals/.", "/home/runner/tmpDir/"] + ["cp", "-r", "/home/runner/externals/.", "/home/runner/tmpDir/"] volumeMounts: - name: dind-externals mountPath: /home/runner/tmpDir @@ -651,7 +651,7 @@ template: initContainers: - name: init-dind-externals image: ghcr.io/actions/actions-runner:latest - command: ["cp", "-r", "-v", "/home/runner/externals/.", "/home/runner/tmpDir/"] + command: ["cp", "-r", "/home/runner/externals/.", "/home/runner/tmpDir/"] volumeMounts: - name: dind-externals mountPath: /home/runner/tmpDir @@ -753,7 +753,7 @@ template: initContainers: - name: init-dind-externals image: ghcr.io/actions/actions-runner:latest - command: ["cp", "-r", "-v", "/home/runner/externals/.", "/home/runner/tmpDir/"] + command: ["cp", "-r", "/home/runner/externals/.", "/home/runner/tmpDir/"] volumeMounts: - name: dind-externals mountPath: /home/runner/tmpDir diff --git a/content/actions/index.md b/content/actions/index.md index 784041c362..83e156544d 100644 --- a/content/actions/index.md +++ b/content/actions/index.md @@ -1,6 +1,6 @@ --- -title: "{% data variables.product.prodname_actions %} documentation" -shortTitle: "{% data variables.product.prodname_actions %}" +title: '{% data variables.product.prodname_actions %} documentation' +shortTitle: '{% data variables.product.prodname_actions %}' intro: 'Automate, customize, and execute your software development workflows right in your repository with {% data variables.product.prodname_actions %}. You can discover, create, and share actions to perform any job you''d like, including CI/CD, and combine actions in a completely customized workflow.' introLinks: overview: /actions/learn-github-actions/understanding-github-actions @@ -12,7 +12,7 @@ featuredLinks: - /actions/automating-builds-and-tests/about-continuous-integration - /actions/deployment/about-deployments/deploying-with-github-actions - /actions/publishing-packages/about-packaging-with-github-actions - - /actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting + - /actions/monitoring-and-troubleshooting-workflows guideCards: - /actions/learn-github-actions/using-starter-workflows - /actions/publishing-packages/publishing-nodejs-packages @@ -59,6 +59,7 @@ children: - /hosting-your-own-runners - /security-guides - /creating-actions + - /administering-github-actions - /guides --- diff --git a/content/actions/learn-github-actions/index.md b/content/actions/learn-github-actions/index.md index 0f24e9185a..57eaee541e 100644 --- a/content/actions/learn-github-actions/index.md +++ b/content/actions/learn-github-actions/index.md @@ -24,7 +24,6 @@ children: - /expressions - /contexts - /variables - - /using-starter-workflows - - /usage-limits-billing-and-administration + - /using-starter-workflows --- diff --git a/content/actions/learn-github-actions/variables.md b/content/actions/learn-github-actions/variables.md index da64f12e18..9c0093f80d 100644 --- a/content/actions/learn-github-actions/variables.md +++ b/content/actions/learn-github-actions/variables.md @@ -308,6 +308,7 @@ We strongly recommend that actions use variables to access the filesystem rather | `GITHUB_WORKSPACE` | The default working directory on the runner for steps, and the default location of your repository when using the [`checkout`](https://github.com/actions/checkout) action. For example, `/home/runner/work/my-repo-name/my-repo-name`. | | `RUNNER_ARCH` | {% data reusables.actions.runner-arch-description %} | | `RUNNER_DEBUG` | {% data reusables.actions.runner-debug-description %} | +| `RUNNER_ENVIRONMENT` | {% data reusables.actions.runner-environment-description %} | | `RUNNER_NAME` | {% data reusables.actions.runner-name-description %} For example, `Hosted Agent` | | `RUNNER_OS` | {% data reusables.actions.runner-os-description %} For example, `Windows` | | `RUNNER_TEMP` | {% data reusables.actions.runner-temp-directory-description %} For example, `D:\a\_temp` | diff --git a/content/actions/managing-workflow-runs/canceling-a-workflow.md b/content/actions/managing-workflow-runs/canceling-a-workflow.md index c6f5b9c75b..efbd3b1700 100644 --- a/content/actions/managing-workflow-runs/canceling-a-workflow.md +++ b/content/actions/managing-workflow-runs/canceling-a-workflow.md @@ -27,6 +27,6 @@ When canceling workflow run, you may be running other software that uses resourc 1. To cancel the workflow run, the server re-evaluates `if` conditions for all currently running jobs. If the condition evaluates to `true`, the job will not get canceled. For example, the condition `if: always()` would evaluate to true and the job continues to run. When there is no condition, that is the equivalent of the condition `if: success()`, which only runs if the previous step finished successfully. 1. For jobs that need to be canceled, the server sends a cancellation message to all the runner machines with jobs that need to be canceled. -1. For jobs that continue to run, the server re-evaluates `if` conditions for the unfinished steps. If the condition evaluates to `true`, the step continues to run. You can use the `cancelled` expression to apply a status check of `cancelled( )`. For more information see "[AUTOTITLE](/actions/learn-github-actions/expressions#cancelled)." +1. For jobs that continue to run, the server re-evaluates `if` conditions for the unfinished steps. If the condition evaluates to `true`, the step continues to run. You can use the `cancelled` expression to apply a status check of `cancelled()`. For more information see "[AUTOTITLE](/actions/learn-github-actions/expressions#cancelled)." 1. For steps that need to be canceled, the runner machine sends `SIGINT/Ctrl-C` to the step's entry process (`node` for javascript action, `docker` for container action, and `bash/cmd/pwd` when using `run` in a step). If the process doesn't exit within 7500 ms, the runner will send `SIGTERM/Ctrl-Break` to the process, then wait for 2500 ms for the process to exit. If the process is still running, the runner kills the process tree. 1. After the 5 minutes cancellation timeout period, the server will force terminate all jobs and steps that don't finish running or fail to complete the cancellation process. diff --git a/content/actions/monitoring-and-troubleshooting-workflows/index.md b/content/actions/monitoring-and-troubleshooting-workflows/index.md index 032791f6dc..5406af09b8 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/index.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/index.md @@ -1,24 +1,18 @@ --- title: Monitoring and troubleshooting workflows shortTitle: Monitor & troubleshoot -intro: 'You can view the status and results of each step in your workflow, debug a failed workflow, search and download logs, and view billable job execution minutes.' +intro: 'You can view the status and results of each step in your workflow, debug a failed workflow, and search and download logs.' redirect_from: - /articles/viewing-your-repository-s-workflows - /articles/viewing-your-repositorys-workflows + - /actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting versions: fpt: '*' ghes: '*' ghec: '*' children: - - /about-monitoring-and-troubleshooting - - /using-the-visualization-graph - - /adding-a-workflow-status-badge - - /viewing-workflow-run-history - - /viewing-job-execution-time - - /using-workflow-run-logs - - /enabling-debug-logging - - /notifications-for-workflow-runs - - /viewing-github-actions-usage-metrics-for-your-organization - - /working-with-support-for-github-actions ---- + - /monitoring-workflows + - /troubleshooting-workflows +--- + {% data reusables.actions.enterprise-github-hosted-runners %} diff --git a/content/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting.md b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/about-monitoring-workflows.md similarity index 60% rename from content/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting.md rename to content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/about-monitoring-workflows.md index 6d38525359..9cec21768a 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/about-monitoring-workflows.md @@ -1,13 +1,13 @@ --- -title: About monitoring and troubleshooting -intro: 'You can use the tools in {% data variables.product.prodname_actions %} to monitor and debug your workflows.' +title: About monitoring workflows +intro: 'You can use the tools in {% data variables.product.prodname_actions %} to monitor your workflows.' versions: fpt: '*' ghes: '*' ghec: '*' -shortTitle: About monitoring and troubleshooting +shortTitle: About monitoring --- - + {% data reusables.actions.enterprise-github-hosted-runners %} ## Monitoring your workflows @@ -45,21 +45,7 @@ To identify how long a job took to run, you can view its execution time. For mor You can view the status of each job and step in a workflow. For more information, see "[AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history)." -## Troubleshooting your workflows - -### Using workflow run logs - -Each workflow run generates activity logs that you can view, search, and download. For more information, see "[AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs)." - -### Enabling debug logging - -If the workflow logs do not provide enough detail to diagnose why a workflow, job, or step is not working as expected, you can enable additional debug logging. For more information, see "[AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging)." - -### Canceling a workflow - -If you attempt to cancel a workflow and the cancellation doesn't succeed, make sure you aren't using the `always` expression. The `always` expression causes a workflow step to run even when the workflow is canceled, which results in a hanging cancellation. For more information, see "[AUTOTITLE](/actions/learn-github-actions/expressions#always)". - -## Monitoring and troubleshooting self-hosted runners +## Monitoring self-hosted runners If you use self-hosted runners, you can view their activity and diagnose common issues. diff --git a/content/actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge.md b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/adding-a-workflow-status-badge.md similarity index 97% rename from content/actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge.md rename to content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/adding-a-workflow-status-badge.md index 387da242a2..2857b0565d 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/adding-a-workflow-status-badge.md @@ -4,6 +4,7 @@ shortTitle: Add a status badge intro: You can display a status badge in your repository to indicate the status of your workflows. redirect_from: - /actions/managing-workflow-runs/adding-a-workflow-status-badge + - /actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge versions: fpt: '*' ghes: '*' diff --git a/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/index.md b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/index.md new file mode 100644 index 0000000000..15e9f846d0 --- /dev/null +++ b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/index.md @@ -0,0 +1,17 @@ +--- +title: Monitoring workflows +shortTitle: Monitor +intro: 'You can monitor {% data variables.product.prodname_actions %} workflows by using tools like the visualization graph and run logs.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +children: + - /about-monitoring-workflows + - /notifications-for-workflow-runs + - /using-the-visualization-graph + - /viewing-workflow-run-history + - /viewing-job-execution-time + - /adding-a-workflow-status-badge + - /using-workflow-run-logs +--- diff --git a/content/actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs.md b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/notifications-for-workflow-runs.md similarity index 76% rename from content/actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs.md rename to content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/notifications-for-workflow-runs.md index 085df44737..3c09d2db10 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/notifications-for-workflow-runs.md @@ -6,6 +6,8 @@ versions: fpt: '*' ghes: '*' ghec: '*' +redirect_from: + - /actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs --- {% data reusables.actions.enterprise-github-hosted-runners %} diff --git a/content/actions/monitoring-and-troubleshooting-workflows/using-the-visualization-graph.md b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/using-the-visualization-graph.md similarity index 91% rename from content/actions/monitoring-and-troubleshooting-workflows/using-the-visualization-graph.md rename to content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/using-the-visualization-graph.md index 3ddc9bf8d2..c4bc5f5486 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/using-the-visualization-graph.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/using-the-visualization-graph.md @@ -4,6 +4,7 @@ shortTitle: Visualization graph intro: Every workflow run generates a real-time graph that illustrates the run progress. You can use this graph to monitor and debug workflows. redirect_from: - /actions/managing-workflow-runs/using-the-visualization-graph + - /actions/monitoring-and-troubleshooting-workflows/using-the-visualization-graph versions: fpt: '*' ghes: '*' diff --git a/content/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs.md b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/using-workflow-run-logs.md similarity index 99% rename from content/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs.md rename to content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/using-workflow-run-logs.md index 222e296894..9deda463f1 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/using-workflow-run-logs.md @@ -4,6 +4,7 @@ shortTitle: Workflow run logs intro: 'You can view, search, and download the logs for each job in a workflow run.' redirect_from: - /actions/managing-workflow-runs/using-workflow-run-logs + - /actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs versions: fpt: '*' ghes: '*' diff --git a/content/actions/monitoring-and-troubleshooting-workflows/viewing-job-execution-time.md b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-job-execution-time.md similarity index 94% rename from content/actions/monitoring-and-troubleshooting-workflows/viewing-job-execution-time.md rename to content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-job-execution-time.md index 4d9baf8af2..027c0100e1 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/viewing-job-execution-time.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-job-execution-time.md @@ -4,6 +4,7 @@ shortTitle: View job execution time intro: 'You can view the execution time of a job, including the billable minutes that a job accrued.' redirect_from: - /actions/managing-workflow-runs/viewing-job-execution-time + - /actions/monitoring-and-troubleshooting-workflows/viewing-job-execution-time versions: fpt: '*' ghec: '*' diff --git a/content/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history.md b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-workflow-run-history.md similarity index 96% rename from content/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history.md rename to content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-workflow-run-history.md index f801c5a925..8964e48e31 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-workflow-run-history.md @@ -4,6 +4,7 @@ shortTitle: Workflow run history intro: You can view logs for each run of a workflow. Logs include the status for each job and step in a workflow. redirect_from: - /actions/managing-workflow-runs/viewing-workflow-run-history + - /actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history versions: fpt: '*' ghes: '*' diff --git a/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/about-troubleshooting-workflows.md b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/about-troubleshooting-workflows.md new file mode 100644 index 0000000000..0a784bc9c7 --- /dev/null +++ b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/about-troubleshooting-workflows.md @@ -0,0 +1,31 @@ +--- +title: About troubleshooting workflows +intro: 'You can use the tools in {% data variables.product.prodname_actions %} to debug your workflows.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +shortTitle: About troubleshooting +--- + +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Troubleshooting your workflows + +### Using workflow run logs + +Each workflow run generates activity logs that you can view, search, and download. For more information, see "[AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs)." + +### Enabling debug logging + +If the workflow logs do not provide enough detail to diagnose why a workflow, job, or step is not working as expected, you can enable additional debug logging. For more information, see "[AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging)." + +### Canceling a workflow + +If you attempt to cancel a workflow and the cancellation doesn't succeed, make sure you aren't using the `always` expression. The `always` expression causes a workflow step to run even when the workflow is canceled, which results in a hanging cancellation. For more information, see "[AUTOTITLE](/actions/learn-github-actions/expressions#always)". + +## Troubleshooting self-hosted runners + +If you use self-hosted runners, you can view their activity and diagnose common issues. + +For more information, see "[AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners)." diff --git a/content/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging.md b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging.md similarity index 97% rename from content/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging.md rename to content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging.md index f877c13f7a..db0a4b0af7 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging.md @@ -4,6 +4,7 @@ shortTitle: Enable debug logging intro: 'If the workflow logs do not provide enough detail to diagnose why a workflow, job, or step is not working as expected, you can enable additional debug logging.' redirect_from: - /actions/managing-workflow-runs/enabling-debug-logging + - /actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging versions: fpt: '*' ghes: '*' diff --git a/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/index.md b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/index.md new file mode 100644 index 0000000000..749f5a8f72 --- /dev/null +++ b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/index.md @@ -0,0 +1,13 @@ +--- +title: Troubleshooting workflows +shortTitle: Troubleshoot +intro: 'You can troubleshoot {% data variables.product.prodname_actions %} workflows by using tools like debug logging.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +children: + - /about-troubleshooting-workflows + - /enabling-debug-logging + - /working-with-support-for-github-actions +--- diff --git a/content/actions/monitoring-and-troubleshooting-workflows/working-with-support-for-github-actions.md b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/working-with-support-for-github-actions.md similarity index 97% rename from content/actions/monitoring-and-troubleshooting-workflows/working-with-support-for-github-actions.md rename to content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/working-with-support-for-github-actions.md index 989a3630c3..cf75896116 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/working-with-support-for-github-actions.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/working-with-support-for-github-actions.md @@ -9,7 +9,9 @@ type: reference topics: - Actions - Support -shortTitle: Working with {% data variables.contact.github_support %} +shortTitle: 'Working with {% data variables.contact.github_support %}' +redirect_from: + - /actions/monitoring-and-troubleshooting-workflows/working-with-support-for-github-actions --- You can [contact {% data variables.contact.github_support %}](/support/contacting-github-support) for assistance with {% data variables.product.prodname_actions %}. diff --git a/content/actions/using-workflows/index.md b/content/actions/using-workflows/index.md index 9f586d44ef..7d1af2ac95 100644 --- a/content/actions/using-workflows/index.md +++ b/content/actions/using-workflows/index.md @@ -33,6 +33,6 @@ children: - /caching-dependencies-to-speed-up-workflows - /storing-workflow-data-as-artifacts - /creating-starter-workflows-for-your-organization - - /sharing-workflows-secrets-and-runners-with-your-organization - /using-github-cli-in-workflows --- + diff --git a/content/admin/managing-iam/understanding-iam-for-enterprises/abilities-and-restrictions-of-managed-user-accounts.md b/content/admin/managing-iam/understanding-iam-for-enterprises/abilities-and-restrictions-of-managed-user-accounts.md index 11a15e5fdb..f0ce784344 100644 --- a/content/admin/managing-iam/understanding-iam-for-enterprises/abilities-and-restrictions-of-managed-user-accounts.md +++ b/content/admin/managing-iam/understanding-iam-for-enterprises/abilities-and-restrictions-of-managed-user-accounts.md @@ -35,6 +35,7 @@ With {% data variables.product.prodname_emus %}, you can control the user accoun * Cannot install {% data variables.product.prodname_github_apps %} on their user accounts. * Can install {% data variables.product.prodname_github_apps %} on a repository if the app doesn't request organization permissions and if the {% data variables.enterprise.prodname_managed_user %} has admin access to the repository. * Can install {% data variables.product.prodname_github_apps %} on an organization if the {% data variables.enterprise.prodname_managed_user %} is an organization owner. +* Can purchase and install paid {% data variables.product.prodname_github_apps %} only if the {% data variables.enterprise.prodname_managed_user %} is an enterprise owner. * Can create {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %}. {% data reusables.emus.oauth-app-note %} diff --git a/content/apps/github-marketplace/github-marketplace-overview/about-marketplace-badges.md b/content/apps/github-marketplace/github-marketplace-overview/about-marketplace-badges.md index 1ba1050516..8be02a77e5 100644 --- a/content/apps/github-marketplace/github-marketplace-overview/about-marketplace-badges.md +++ b/content/apps/github-marketplace/github-marketplace-overview/about-marketplace-badges.md @@ -21,9 +21,8 @@ Certain apps on the {% data variables.product.prodname_marketplace %} have the { ![Screenshot of a marketplace badge for a {% data variables.product.prodname_github_app %}. The mouse pointer is hovering over an icon displaying the tooltip "Publisher domain and email verified."](/assets/images/marketplace/apps-with-verified-publisher-badge-tooltip.png) -{% note %} -{% data variables.product.prodname_dotcom %} does not analyze the app. The marketplace badge {% octicon "verified" aria-label="The verified badge" %} only confirms that the publisher meets the requirements listed above. -{% endnote %} +> [!WARNING] +> {% data variables.product.prodname_dotcom %} does not analyze or inspect third party code. {% data variables.product.prodname_marketplace %} publishers are responsible for the upkeep and maintenance of any third-party apps. The marketplace badge {% octicon "verified" aria-label="The verified badge" %} only confirms that the publisher meets the requirements listed above. To learn how you can add this badge to your app, see "[AUTOTITLE](/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization)." diff --git a/content/apps/oauth-apps/using-oauth-apps/internal-oauth-apps.md b/content/apps/oauth-apps/using-oauth-apps/internal-oauth-apps.md index a7c60c4a63..18d74fc9c9 100644 --- a/content/apps/oauth-apps/using-oauth-apps/internal-oauth-apps.md +++ b/content/apps/oauth-apps/using-oauth-apps/internal-oauth-apps.md @@ -16,13 +16,16 @@ These internal apps will appear in the user security log, but will not appear in These {% data variables.product.prodname_oauth_apps %} are : -* Git Credentials Manager +* Gist +* Git Credential Manager * GitHub Android -* {% data variables.product.prodname_cli %} -* {% data variables.product.prodname_desktop %} -* GitHub for Unity -* GitHub for VSCode +* GitHub CLI +* GitHub Codespaces for JetBrains +* GitHub Desktop +* GitHub Education +* github-importer-production * GitHub iOS -* GitHub Mac -* GitHub Windows +* GitHub Support +* JetBrains IDE Integration * Visual Studio +* Visual Studio Code diff --git a/content/apps/using-github-apps/internal-github-apps.md b/content/apps/using-github-apps/internal-github-apps.md index d803b606b4..209eef5459 100644 --- a/content/apps/using-github-apps/internal-github-apps.md +++ b/content/apps/using-github-apps/internal-github-apps.md @@ -16,10 +16,17 @@ These internal apps will appear in the user security log, but will not appear in These {% data variables.product.prodname_github_apps %} are: -* {% data variables.product.prodname_classroom %} -* VSCode Auth Provider +* Actions +* Dependabot * Git Src Migrator -* MS Teams +* GitHub Advanced Security +* GitHub Classroom +* GitHub Codespaces +* GitHub Copilot Plugin +* GitHub Merge Queue +* GitHub Pages +* GitHub Project Automation +* GitHub Team Synchronization +* Microsoft Teams for GitHub +* OpenGraph (`custom-og-image`) * Slack -* {% data variables.product.prodname_codespaces %} -* {% data variables.product.prodname_copilot_short %} plugin diff --git a/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md index c05f32d333..be9dfb7727 100644 --- a/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md +++ b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md @@ -32,7 +32,7 @@ This article tells you how to make commits with sensitive data unreachable from * In any clones or forks of your repository * Directly via their SHA-1 hashes in cached views on {% data variables.product.product_name %} -* Through any pull requests that reference them. +* Through any pull requests that reference them You cannot remove sensitive data from other users' clones of your repository, but you can permanently remove cached views and references to the sensitive data in pull requests on {% data variables.product.product_name %} by contacting {% data variables.contact.contact_support %}. diff --git a/content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md b/content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md index c2e2f53d07..99e7f61a85 100644 --- a/content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md +++ b/content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md @@ -52,7 +52,7 @@ Once an authorization is revoked, any tokens associated with the authorization w The owner of an {% data variables.product.prodname_oauth_app %} can revoke an account's authorization of their app, this will also revoke any tokens associated with the authorization. For more information about revoking authorizations of your {% data variables.product.prodname_oauth_app %}, see "[AUTOTITLE](/rest/apps/oauth-applications#delete-an-app-authorization)." -{% data variables.product.prodname_oauth_app %} owners can also revoke individual tokens associated with an authorization. For more information about revoking individual tokens for your {% data variables.product.prodname_oauth_app %}, see "[AUTOTITLE](/rest/apps/oauth-applications#delete-an-app-token)". +{% data variables.product.prodname_oauth_app %} owners can also revoke individual tokens associated with an authorization. For more information about revoking individual tokens for your {% data variables.product.prodname_oauth_app %}, see "[AUTOTITLE](/rest/apps/oauth-applications#delete-an-app-token)." ## Token revoked due to excess of tokens for an {% data variables.product.prodname_oauth_app %} with the same scope diff --git a/content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md b/content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md index 06015da38e..530cef75d4 100644 --- a/content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md +++ b/content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md @@ -50,7 +50,7 @@ To avoid losing your password in the future, we suggest using a secure password 1. Sign in to {% data variables.product.product_name %}. {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.security %} -1. Under "Change password", type your old password, a strong new password, and confirm your new password. For help creating a strong password, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-strong-password)" +1. Under "Change password", type your old password, a strong new password, and confirm your new password. For help creating a strong password, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-strong-password)." 1. Click **Update password**. {% tip %} diff --git a/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md b/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md index 75d184a28e..703313b809 100644 --- a/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md +++ b/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md @@ -64,10 +64,10 @@ If your account's usage surpasses these limits and you have set a spending limit Jobs that run on Windows and macOS runners that {% data variables.product.prodname_dotcom %} hosts consume minutes at 2 and 10 times the rate that jobs on Linux runners consume. For example, using 1,000 Windows minutes would consume 2,000 of the minutes included in your account. Using 1,000 macOS minutes, would consume 10,000 minutes included in your account. | Operating system | Minute multiplier | -|------- | ---------| -| Linux | 1 | -| Windows | 2 | -| macOS| 10 | +|----------------- | ------------------| +| Linux | 1 | +| Windows | 2 | +| macOS | 10 | {% note %} @@ -79,11 +79,11 @@ Jobs that run on Windows and macOS runners that {% data variables.product.prodna #### Per-minute rates for standard runners -| Operating system | Per-minute rate (USD) | -|-----------------------------| ----------------------| -| Linux 2-core | $0.008 | -| Windows 2-core | $0.016 | -| macOS 3 or 4 (M1 or Intel) | $0.08 | +| Operating system | Per-minute rate (USD) | +|---------------------------------------| ----------------------| +| Linux 2-core | $0.008 | +| Windows 2-core | $0.016 | +| macOS 3-core or 4-core (M1 or Intel) | $0.08 | #### Per-minute rates for x64-powered {% data variables.actions.hosted_runners %} @@ -126,7 +126,7 @@ Jobs that run on Windows and macOS runners that {% data variables.product.prodna | Operating system | Per-minute rate (USD) | |---------------------| -----------| | Linux 4-core | $0.07 | -| Windows 4-core | $0.14 | +| Windows 4-core | $0.14 | #### Points to note about rates for runners diff --git a/content/billing/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security.md b/content/billing/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security.md index 170487a728..49e471316a 100644 --- a/content/billing/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security.md +++ b/content/billing/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security.md @@ -49,4 +49,4 @@ You can finish your trial at any time by purchasing {% data variables.product.pr * "[AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security)" * "[AUTOTITLE](/code-security/adopting-github-advanced-security-at-scale)" -* "[AUTOTITLE](/code-security/getting-started/securing-your-organization)" +* "[AUTOTITLE](/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale)" diff --git a/content/billing/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md b/content/billing/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md index ebd8fffd32..7c35cfa6dc 100644 --- a/content/billing/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md +++ b/content/billing/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md @@ -25,4 +25,4 @@ shortTitle: Sign up for Advanced Security ## Further reading * [Introduction to adopting {% data variables.product.prodname_GH_advanced_security %} at scale](/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale) -* [Securing your organization](/code-security/getting-started/securing-your-organization) +* [AUTOTITLE](/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale) diff --git a/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md b/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md index fd96f5cde4..19abb8e836 100644 --- a/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md +++ b/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md @@ -15,13 +15,13 @@ shortTitle: Billing for GitHub Copilot {% endif %} -## About billing for {% data variables.product.prodname_copilot %} +## About billing for {% data variables.product.prodname_copilot_short %} You can set up a {% data variables.product.prodname_copilot %} subscription for your personal account, or for an organization or enterprise. * **For your personal account**, you can set up a subscription to {% data variables.product.prodname_copilot_for_individuals %}. * **For an organization**, you can set up a subscription to {% data variables.product.prodname_copilot_for_business %}, then grant access to members. -* **For an enterprise on {% data variables.product.prodname_ghe_cloud %}**, you can set up a subscription to {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %}, then allow organizations to grant access to members. +* **For an enterprise on {% data variables.product.prodname_ghe_cloud %}**, you can set up a subscription to {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %}, then allow organizations to grant access to members. Enterprises with a {% data variables.product.prodname_copilot_enterprise_short %} subscription can assign either {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %} to each organization in the enterprise. > [!NOTE] A free subscription for {% data variables.product.prodname_copilot %} is available to verified students, teachers, and maintainers of popular open-source repositories on {% data variables.product.company_short %}. See "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/getting-free-access-to-copilot-as-a-student-teacher-or-maintainer)." diff --git a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md index 0e26c828b5..fda9e4d7f8 100644 --- a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md +++ b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md @@ -133,7 +133,7 @@ Creating a {% data variables.product.prodname_codeql %} database without a build To use `autobuild` or manual build steps, you can use advanced setup. ->[!NOTE] For Java analysis, if `build-mode` is set to `none` and Kotlin code is found in the repository, the Kotlin code will not be analyzed and a warning will be produced. See {% ifversion codeql-kotlin-beta %}"[Building Java and Kotlin](#building-java--and-kotlin)"{% else %}"[Building Java](#building-java)"{% endif %}. +>[!NOTE] For Java analysis, if `build-mode` is set to `none` and Kotlin code is found in the repository, the Kotlin code will not be analyzed and a warning will be produced. See "[Building Java and Kotlin](#building-java-and-kotlin)." {% endif %} @@ -269,10 +269,9 @@ If you added manual build steps for compiled languages and {% data variables.pro * [Building C/C++](#building-cc) * [Building C#](#building-c){% ifversion codeql-go-autobuild %} -* [Building Go](#building-go){% endif %}{% ifversion codeql-kotlin-beta %} -* [Building Java and Kotlin](#building-java--and-kotlin){% else %} -* [Building Java](#building-java){% endif %}{% ifversion codeql-swift-beta %} -* [Building Swift](#building-swift){% endif %} +* [Building Go](#building-go){% endif %} +* [Building Java and Kotlin](#building-java-and-kotlin) +* [Building Swift](#building-swift) {% note %} @@ -433,7 +432,7 @@ The `autobuild` process attempts to autodetect a suitable way to install the dep {% endif %} -## Building Java {% ifversion codeql-kotlin-beta %} and Kotlin {% endif %} +## Building Java and Kotlin {% ifversion codeql-no-build %}{% data variables.product.prodname_codeql %} supports the following build modes. @@ -488,8 +487,6 @@ You will also need to install the build system (for example `make`, `cmake`, `ba Windows runners require `powershell.exe` to be on the `PATH`. -{% ifversion codeql-swift-beta %} - ## Building Swift {% ifversion codeql-no-build %}{% data variables.product.prodname_codeql %} supports build modes `autobuild` or `manual` for Swift code. @@ -503,12 +500,6 @@ Windows runners require `powershell.exe` to be on the `PATH`. The `autobuild` process tries to build the biggest target from an Xcode project or workspace. -{% endif %} - -{% ifversion codeql-swift-beta %} - -{% data reusables.code-scanning.beta-swift-support %} - Code scanning of Swift code uses macOS runners by default. {% ifversion fpt or ghec %}Since {% data variables.product.company_short %}-hosted macOS runners are more expensive than Linux and Windows runners, we recommend that you build only the code that you want to analyze. For more information about pricing for {% data variables.product.company_short %}-hosted runners, see "[AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)."{% endif %} {% data reusables.code-scanning.default-setup-swift-self-hosted-runners %} @@ -520,5 +511,3 @@ Code scanning of Swift code uses macOS runners by default. {% ifversion fpt or g You can pass the `archive` and `test` options to `xcodebuild`. However, the standard `xcodebuild` command is recommended as it should be the fastest, and should be all that {% data variables.product.prodname_codeql %} requires for a successful scan. For Swift analysis, you must always explicitly install dependencies managed via CocoaPods or Carthage before generating the {% data variables.product.prodname_codeql %} database. - -{% endif %} diff --git a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.md b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.md index 4677646257..5700c280e2 100644 --- a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.md +++ b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.md @@ -143,7 +143,6 @@ This workflow scans: ## Specifying an operating system -{% ifversion codeql-swift-beta %} {% note %} **Notes**: @@ -154,8 +153,6 @@ This workflow scans: {% endnote %} -{% endif %} - If your code requires a specific operating system to compile, you can configure the operating system in your {% data variables.code-scanning.codeql_workflow %}. Edit the value of `jobs.analyze.runs-on` to specify the operating system for the machine that runs your {% data variables.product.prodname_code_scanning %} actions. {% ifversion ghes %}You specify the operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% else %} ``` yaml copy diff --git a/content/code-security/code-scanning/managing-your-code-scanning-configuration/java-kotlin-built-in-queries.md b/content/code-security/code-scanning/managing-your-code-scanning-configuration/java-kotlin-built-in-queries.md index e039a876d4..a5bfd969a8 100644 --- a/content/code-security/code-scanning/managing-your-code-scanning-configuration/java-kotlin-built-in-queries.md +++ b/content/code-security/code-scanning/managing-your-code-scanning-configuration/java-kotlin-built-in-queries.md @@ -16,8 +16,6 @@ topics: {% data variables.product.prodname_codeql %} includes many queries for analyzing Java and Kotlin code. {% data reusables.code-scanning.codeql-query-tables.query-suite-behavior %} -{% data reusables.code-scanning.beta-kotlin-support %} - ## Built-in queries for Java and Kotlin analysis {% data reusables.code-scanning.codeql-query-tables.codeql-version-info %} diff --git a/content/code-security/code-scanning/managing-your-code-scanning-configuration/swift-built-in-queries.md b/content/code-security/code-scanning/managing-your-code-scanning-configuration/swift-built-in-queries.md index ba9b9faa31..cae02ea131 100644 --- a/content/code-security/code-scanning/managing-your-code-scanning-configuration/swift-built-in-queries.md +++ b/content/code-security/code-scanning/managing-your-code-scanning-configuration/swift-built-in-queries.md @@ -16,8 +16,6 @@ topics: {% data variables.product.prodname_codeql %} includes many queries for analyzing Swift code. {% data reusables.code-scanning.codeql-query-tables.query-suite-behavior %} -{% data reusables.code-scanning.beta-swift-support %} - ## Built-in queries for Swift analysis {% data reusables.code-scanning.codeql-query-tables.codeql-version-info %} diff --git a/content/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build.md b/content/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build.md index d803e3d044..a3d82647c4 100644 --- a/content/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build.md +++ b/content/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build.md @@ -40,13 +40,13 @@ If you want to update the analysis to also include Kotlin files, then {% data va 1. Wait until the Kotlin code is merged into the default branch for the repository. 1. Disable and then re-enable default setup on the "Settings" page for your repository. -This will trigger a new analysis using automatic build detection. See "[AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning)" and "[Building Java and Kotlin](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#building-java--and-kotlin)." +This will trigger a new analysis using automatic build detection. See "[AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning)" and "[Building Java and Kotlin](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#building-java-and-kotlin)." If the automatic build detection fails, you will need to use advanced setup with the correct build commands for the project to analyze both languages. ### {% data variables.product.prodname_code_scanning_caps %} advanced setup -If you already use advanced setup, you can edit the {% data variables.product.prodname_codeql %} workflow and change the build mode for `java-kotlin` from `none` to either `autobuild` to automatically build your project, or `manual` to specify your own build steps. "[Building Java and Kotlin](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#building-java--and-kotlin)." +If you already use advanced setup, you can edit the {% data variables.product.prodname_codeql %} workflow and change the build mode for `java-kotlin` from `none` to either `autobuild` to automatically build your project, or `manual` to specify your own build steps. "[Building Java and Kotlin](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#building-java-and-kotlin)." If you need to convert from default setup to advanced setup, you need enable advanced setup on the on the "Settings" page for your repository and create a {% data variables.product.prodname_codeql %} workflow. Then you can define a `manual` build mode for `java-kotlin` and define the build commands for the project. @@ -57,6 +57,6 @@ Update your calls to run the {% data variables.product.prodname_codeql_cli %} fo ## Further reading * "[AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning)" -* "[Building Java and Kotlin](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#building-java--and-kotlin){% ifversion codeql-no-build %} +* "[Building Java and Kotlin](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#building-java-and-kotlin){% ifversion codeql-no-build %} * "[CodeQL build modes](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#codeql-build-modes)"{% elsif ghes %} * "[Adding build steps for a compiled language](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#adding-build-steps-for-a-compiled-language)"{% endif %} diff --git a/content/code-security/codeql-cli/codeql-cli-manual/bqrs-interpret.md b/content/code-security/codeql-cli/codeql-cli-manual/bqrs-interpret.md index 0c93135268..68de0062e9 100644 --- a/content/code-security/codeql-cli/codeql-cli-manual/bqrs-interpret.md +++ b/content/code-security/codeql-cli/codeql-cli-manual/bqrs-interpret.md @@ -121,6 +121,13 @@ This option has no effect when passed to [codeql bqrs interpret](/code-security/ Available since `v2.15.2`. +#### `--no-sarif-include-alert-provenance` + +\[Advanced] \[SARIF formats only] Do not include alert provenance +information in the SARIF output. + +Available since `v2.18.1`. + #### `--[no-]sarif-group-rules-by-pack` \[SARIF formats only] Place the rule object for each query under its diff --git a/content/code-security/codeql-cli/codeql-cli-manual/database-analyze.md b/content/code-security/codeql-cli/codeql-cli-manual/database-analyze.md index 9745238f10..41983a1245 100644 --- a/content/code-security/codeql-cli/codeql-cli-manual/database-analyze.md +++ b/content/code-security/codeql-cli/codeql-cli-manual/database-analyze.md @@ -167,6 +167,13 @@ This option has no effect when passed to [codeql bqrs interpret](/code-security/ Available since `v2.15.2`. +#### `--no-sarif-include-alert-provenance` + +\[Advanced] \[SARIF formats only] Do not include alert provenance +information in the SARIF output. + +Available since `v2.18.1`. + #### `--[no-]sarif-group-rules-by-pack` \[SARIF formats only] Place the rule object for each query under its diff --git a/content/code-security/codeql-cli/codeql-cli-manual/database-interpret-results.md b/content/code-security/codeql-cli/codeql-cli-manual/database-interpret-results.md index 7779015b9a..7375039caa 100644 --- a/content/code-security/codeql-cli/codeql-cli-manual/database-interpret-results.md +++ b/content/code-security/codeql-cli/codeql-cli-manual/database-interpret-results.md @@ -129,6 +129,13 @@ This option has no effect when passed to [codeql bqrs interpret](/code-security/ Available since `v2.15.2`. +#### `--no-sarif-include-alert-provenance` + +\[Advanced] \[SARIF formats only] Do not include alert provenance +information in the SARIF output. + +Available since `v2.18.1`. + #### `--[no-]sarif-group-rules-by-pack` \[SARIF formats only] Place the rule object for each query under its diff --git a/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs.md b/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs.md index 488cf09e46..aaaaafa3b3 100644 --- a/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs.md +++ b/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs.md @@ -38,8 +38,8 @@ The standard {% data variables.product.prodname_codeql %} packs for all supporte * `codeql/java-queries` * `codeql/javascript-queries` * `codeql/python-queries` - * `codeql/ruby-queries` {% ifversion codeql-swift-beta %} - * `codeql/swift-queries` {% endif %} + * `codeql/ruby-queries` + * `codeql/swift-queries` You can also use the {% data variables.product.prodname_codeql_cli %} to create your own {% data variables.product.prodname_codeql %} packs, add dependencies to packs, and install or update dependencies. For more information, see "[AUTOTITLE](/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/creating-and-working-with-codeql-packs#creating-and-working-with-codeql-packs)." diff --git a/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis.md b/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis.md index 48c977655b..727599cb82 100644 --- a/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis.md +++ b/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis.md @@ -56,8 +56,6 @@ You must specify: {% data reusables.code-scanning.codeql-language-identifiers-table %} - {% data reusables.code-scanning.beta-kotlin-or-swift-support %} - If your codebase has a build command or script that invokes the build process, we recommend that you specify it as well: ```shell @@ -75,7 +73,7 @@ You can specify additional options depending on the location of your source file | {% ifversion codeql-language-identifiers-311 %} | | --language | {% octicon "check" aria-label="Required" %} | Specify the identifier for the language to create a database for, one of: {% data reusables.code-scanning.codeql-languages-keywords %}. When used with --db-cluster, the option accepts a comma-separated list, or can be specified more than once. | | {% else %} | -| --language | {% octicon "check" aria-label="Required" %} | Specify the identifier for the language to create a database for, one of: {% data reusables.code-scanning.codeql-languages-keywords %} (use `javascript` to analyze TypeScript code {% ifversion codeql-kotlin-beta %} and `java` to analyze Kotlin code{% endif %}). When used with --db-cluster, the option accepts a comma-separated list, or can be specified more than once. | +| --language | {% octicon "check" aria-label="Required" %} | Specify the identifier for the language to create a database for, one of: {% data reusables.code-scanning.codeql-languages-keywords %} (use `javascript` to analyze TypeScript code and `java` to analyze Kotlin code). When used with --db-cluster, the option accepts a comma-separated list, or can be specified more than once. | | {% endif %} | | --command | {% octicon "x" aria-label="Optional" %} | **Recommended.** Use to specify the build command or script that invokes the build process for the codebase. Commands are run from the current folder or, where it is defined, from --source-root. Not needed for Python and JavaScript/TypeScript analysis. | | {% ifversion codeql-no-build %} | @@ -286,7 +284,6 @@ The following examples are designed to give you an idea of some of the build com codeql database create java-database --language={% ifversion codeql-language-identifiers-311 %}java-kotlin{% else %}java{% endif %} --command='ant -f build.xml' ``` -{% ifversion codeql-swift-beta %} * Swift project built from an Xcode project or workspace. By default, the largest Swift target is built: It's a good idea to ensure that the project is in a clean state and that there are no build artefacts available. @@ -316,8 +313,6 @@ The following examples are designed to give you an idea of some of the build com codeql database create -l swift -c "./scripts/build.sh" swift-database ``` -{% endif %} - * Project built using Bazel: ```shell diff --git a/content/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates.md b/content/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates.md index 675d8a4b76..1d6c28fce5 100644 --- a/content/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates.md +++ b/content/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates.md @@ -31,7 +31,7 @@ topics: You can enable {% data variables.product.prodname_dependabot_security_updates %} for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates)." -You can enable or disable {% data variables.product.prodname_dependabot_security_updates %} for an individual repository{% ifversion code-security-multi-repo-enablement %}, for a selection of repositories in an organization,{% endif %} or for all repositories owned by your personal account or organization. For more information about enabling security features in an organization, see "[AUTOTITLE](/code-security/getting-started/securing-your-organization)." +You can enable or disable {% data variables.product.prodname_dependabot_security_updates %} for an individual repository{% ifversion code-security-multi-repo-enablement %}, for a selection of repositories in an organization,{% endif %} or for all repositories owned by your personal account or organization. For more information about enabling security features in an organization, see {% ifversion security-configurations-ga %}"[AUTOTITLE](/code-security/securing-your-organization)."{% else %}"[AUTOTITLE](/code-security/getting-started/quickstart-for-securing-your-organization)."{% endif %} {% data reusables.dependabot.dependabot-security-updates-disable-for-alert-rules %} diff --git a/content/code-security/getting-started/quickstart-for-securing-your-organization.md b/content/code-security/getting-started/quickstart-for-securing-your-organization.md index 9a83341db6..2ae6b80fff 100644 --- a/content/code-security/getting-started/quickstart-for-securing-your-organization.md +++ b/content/code-security/getting-started/quickstart-for-securing-your-organization.md @@ -5,9 +5,7 @@ permissions: Organization owners and security managers can manage security featu redirect_from: - /code-security/getting-started/securing-your-organization versions: - fpt: "*" - ghes: "*" - ghec: "*" + ghes: '<3.15' type: how_to topics: - Organizations @@ -34,26 +32,16 @@ As an organization owner, you can give certain users permission to enable or dis Some security features have prerequisites. For example, {% data variables.product.prodname_dependabot_alerts %} use information from the dependency graph, so enabling {% data variables.product.prodname_dependabot_alerts %} automatically enables the dependency graph. -Some features are {% ifversion fpt or ghec %}enabled by default in public repositories. In private repositories, some features are {% endif %}only available to enterprises that use {% data variables.product.prodname_GH_advanced_security %} and have enabled {% data variables.product.prodname_advanced_security %} as a feature for repositories. For more information, see "[AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security#about-advanced-security-features)." +Some features are only available to enterprises that use {% data variables.product.prodname_GH_advanced_security %} and have enabled {% data variables.product.prodname_advanced_security %} as a feature for repositories. For more information, see "[AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security#about-advanced-security-features)." -{% ifversion ghec or ghes %} - -{% note %} - -**Note:** Enterprises can set a policy to manage which organizations can enable {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise)." - -{% endnote %} -{% endif %} +>[!NOTE] +> Enterprises can set a policy to manage which organizations can enable {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise)." There are some features you must configure for each repository individually. For example, to enable {% data variables.product.prodname_dependabot_version_updates %} in a repository, you must add a `dependabot.yml` file specifying where to find information about the project's dependencies. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates)." ## Enabling security features in your organization -{% ifversion security-configurations-ga %} - -You can use {% data variables.product.prodname_security_configurations %} to enable security features using the {% data variables.product.prodname_github_security_configuration %}, or you can create a {% data variables.product.prodname_custom_security_configuration %}. For more information, see "[AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/applying-the-github-recommended-security-configuration-in-your-organization)" and "[AUTOTITLE](/code-security/securing-your-organization/meeting-your-specific-security-needs-with-custom-security-configurations/creating-a-custom-security-configuration)." - -{% elsif security-configurations-beta-and-pre-beta %} +{% ifversion security-configurations-beta-and-pre-beta %} When you have decided to enable a security feature, the next step is to decide how to roll out that feature across your organization. @@ -68,9 +56,7 @@ When you have decided to enable a security feature, the next step is to decide h When you have decided how to enable a feature for your organization's existing repositories, you must also decide how to handle any new repositories that are created in your organization in the future. For more information, see "[Enabling a feature for new repositories](#enabling-a-feature-for-new-repositories)." -{% ifversion ghec or ghes %} For more information about creating a strategy for rolling out security features across a large organization or enterprise, see "[AUTOTITLE](/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale)." -{% endif %} ### Enabling a feature for all repositories @@ -79,7 +65,7 @@ The quickest way to roll out a security feature is to enable it for all reposito Before you enable a feature for all repositories, you should consider the impact this action will have. If you're not sure about the effects a feature will have, it is safest to start by enabling the feature for a limited selection of repositories. Enabling a feature for all repositories at once is likely to be a suitable option in the following situations. * You have an overview of all the repositories in your organization, and you're confident that they'll all benefit from a certain feature. -* If a feature requires resources such as {% data variables.product.prodname_GH_advanced_security %} licenses or {% data variables.product.prodname_actions %} minutes, you have assessed the resources that will be required and are happy to proceed.{% ifversion ghec %} You can take part in a free trial of {% data variables.product.prodname_GH_advanced_security %} to test a {% data variables.product.prodname_GH_advanced_security %} feature across your repositories. For more information about setting up a free trial, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security)."{% endif %} +* If a feature requires resources such as {% data variables.product.prodname_GH_advanced_security %} licenses or {% data variables.product.prodname_actions %} minutes, you have assessed the resources that will be required and are happy to proceed. * If the feature generates notifications or pull requests, you're confident that these will be targeted and relevant for the members who receive them or have to review them. When you're ready to proceed, follow these steps to enable a feature for all repositories. @@ -110,13 +96,9 @@ On this view, you can use checkboxes to select specific repositories, or you can {% else %}When you have identified the repositories that require a feature, you can enable the feature for each repository individually. As an organization owner or security manager, you can configure the security settings for each repository in your organization. For more information, see "[AUTOTITLE](/code-security/getting-started/quickstart-for-securing-your-repository)." -{% ifversion fpt %}For organizations on {% data variables.product.prodname_ghe_cloud %}, you can use the "Security coverage" view to identify repositories that require a feature, then enable that feature for those repositories. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/code-security/security-overview/enabling-security-features-for-multiple-repositories)" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %} - {% endif %} -{% ifversion ghec or ghes %} -If you have a limited number of licenses for {% data variables.product.prodname_GH_advanced_security %}, you may want to prioritize repositories that contain critical projects, or that have the highest commit frequencies. For more information, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)." {% ifversion ghec %}When you use the "Security coverage" view, you can see the number of active committers for the repositories you select, and therefore the number of {% data variables.product.prodname_GH_advanced_security %} licenses that enabling a feature will consume.{% endif %} -{% endif %} +If you have a limited number of licenses for {% data variables.product.prodname_GH_advanced_security %}, you may want to prioritize repositories that contain critical projects, or that have the highest commit frequencies. For more information, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)." {% data reusables.security-overview.settings-limitations %} @@ -138,7 +120,7 @@ You can choose to enable a security feature automatically in all new repositorie When you have enabled a feature, you should communicate with repository administrators and contributors in your organization to assess the impact of the feature. You may need to adjust the configuration of some features at the repository level, or reassess the distribution of security features across your organization. You should also monitor the security alerts that a feature generates, and your members' responses to these alerts. -{% ifversion ghes or ghec %}You{% elsif fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %}{% endif %} can use security overview to see which teams and repositories are affected by security alerts, with a breakdown of alerts by severity. For more information, see{% ifversion ghes or ghec %} "[AUTOTITLE](/code-security/security-overview/assessing-code-security-risk)."{% elsif fpt %} "[AUTOTITLE](/enterprise-cloud@latest/code-security/security-overview/assessing-code-security-risk)" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %} +You can use security overview to see which teams and repositories are affected by security alerts, with a breakdown of alerts by severity. For more information, see "[AUTOTITLE](/code-security/security-overview/assessing-code-security-risk)." {% ifversion security-overview-dashboard %} Security overview also has a dashboard (beta) where you can explore high-level trends and metrics to gain insight into your organization's security landscape. For more information, see "[AUTOTITLE](/code-security/security-overview/viewing-security-insights)." @@ -150,16 +132,6 @@ You can use various tools to monitor the actions that your organization's member To help users report security vulnerabilities, you can create a default security policy that will display in any of your organization's public repositories that do not have their own security policy. For more information, see "[AUTOTITLE](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." -{% ifversion ghec or ghes %} Once your organization's security setup is in place, you may want to prevent users from changing the security settings in a repository. An enterprise owner can prevent repository administrators from enabling or disabling features in a repository. For more information, see "[AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise)." -{% endif %} {% data reusables.security-overview.security-information-about-actions %} - -{% ifversion ghec or fpt %} - -## Further reading - -"[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/accessing-compliance-reports-for-your-organization)" - -{% endif %} diff --git a/content/code-security/index.md b/content/code-security/index.md index da0ce01aba..b49b9c8c8a 100644 --- a/content/code-security/index.md +++ b/content/code-security/index.md @@ -10,7 +10,6 @@ introLinks: featuredLinks: startHere: - /code-security/getting-started/quickstart-for-securing-your-repository - - /code-security/getting-started/quickstart-for-securing-your-organization - '{% ifversion fpt or ghec %}/code-security/security-advisories/working-with-repository-security-advisories/creating-a-repository-security-advisory{% endif %}' - '/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning' guideCards: diff --git a/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md b/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md index 630e10e96a..642b570f40 100644 --- a/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md +++ b/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md @@ -25,7 +25,7 @@ shortTitle: Configure secret scans You can enable {% data variables.secret-scanning.user_alerts %} for any {% ifversion secret-scanning-user-owned-repos %}{% ifversion ghes %}repository{% else %} repository that is owned by an organization, and for repositories owned by user accounts when using {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_emus %}{% endif %}{% elsif fpt %}free public repository that you own{% else %}repository that is owned by an organization{% endif %}. Once enabled, {% data reusables.secret-scanning.secret-scanning-process %}{% ifversion ghes < 3.11 %} {% data variables.product.prodname_secret_scanning_caps %} does not scan issues.{% endif %} {% data reusables.secret-scanning.what-is-scanned %} -You can also enable {% data variables.product.prodname_secret_scanning %} for multiple repositories in an organization at the same time. For more information, see "[AUTOTITLE](/code-security/getting-started/securing-your-organization)." +You can also enable {% data variables.product.prodname_secret_scanning %} for multiple repositories in an organization at the same time. For more information, see {% ifversion security-configurations-ga %}"[AUTOTITLE](/code-security/securing-your-organization)."{% else %}"[AUTOTITLE](/code-security/getting-started/quickstart-for-securing-your-organization)."{% endif %} {% ifversion secret-scanning-enterprise-level %} {% note %} @@ -62,7 +62,6 @@ You can enable the following additional {% data variables.product.prodname_secre ### Enabling validity checks for partner patterns -{% data reusables.secret-scanning.validity-check-partner-patterns-beta %} {% data reusables.gated-features.partner-pattern-validity-check-ghas %} You can allow {% data variables.product.prodname_secret_scanning %} to automatically check the validity of a secret found in your repository by sending it to the relevant partner. For more information on validity checks, see "Checking a secret's validity" in "[AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning#checking-a-secrets-validity)." diff --git a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md index e66b2d79c5..4520fef86c 100644 --- a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md +++ b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md @@ -91,12 +91,6 @@ There are some additional features that can help you to evaluate alerts in order ### Checking a secret's validity -{% ifversion secret-scanning-validity-check-partner-patterns %} - -{% data reusables.secret-scanning.validity-check-partner-patterns-beta %} - -{% endif %} - Validity checks help you prioritize alerts by telling you which secrets are `active` or `inactive`. An `active` secret is one that could still be exploited, so these alerts should be reviewed and remediated as a priority. By default, {% data variables.product.company_short %} checks the validity of {% data variables.product.company_short %} tokens and displays the validitation status of the token in the alert view. diff --git a/content/code-security/securing-your-organization/meeting-your-specific-security-needs-with-custom-security-configurations/creating-a-custom-security-configuration.md b/content/code-security/securing-your-organization/meeting-your-specific-security-needs-with-custom-security-configurations/creating-a-custom-security-configuration.md index b1e33169ab..38751267a1 100644 --- a/content/code-security/securing-your-organization/meeting-your-specific-security-needs-with-custom-security-configurations/creating-a-custom-security-configuration.md +++ b/content/code-security/securing-your-organization/meeting-your-specific-security-needs-with-custom-security-configurations/creating-a-custom-security-configuration.md @@ -34,7 +34,8 @@ With {% data variables.product.prodname_custom_security_configurations %}, you c 1. To help identify your {% data variables.product.prodname_custom_security_configuration %} and clarify its purpose on the "Code {% data variables.product.prodname_security_configurations %}" page, name your configuration and create a description. 1. In the "{% data variables.product.prodname_GH_advanced_security %} features" row, choose whether to include or exclude {% data variables.product.prodname_GH_advanced_security %} (GHAS) features. If you plan to apply a {% data variables.product.prodname_custom_security_configuration %} with GHAS features to private repositories, you must have available GHAS licenses for each active unique committer to those repositories, or the features will not be enabled. To learn more about committers and GHAS licensing, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)." 1. In the "Dependency graph" section of the security settings table, choose whether you want to enable, disable, or keep the existing settings for the following security features: - * Dependency graph. To learn about dependency graph, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." + * Dependency graph. To learn about dependency graph, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)."{%- ifversion maven-transitive-dependencies %} + * Automatic dependency submission. To learn about automatic dependency submission, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-automatic-dependency-submission-for-your-repository)."{%- endif %} * {% data variables.product.prodname_dependabot %}. To learn about {% data variables.product.prodname_dependabot %}, see "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." * Security updates. To learn about security updates, see "[AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates)." diff --git a/content/code-security/security-overview/about-security-overview.md b/content/code-security/security-overview/about-security-overview.md index 3f0ef263c8..12b3aeb236 100644 --- a/content/code-security/security-overview/about-security-overview.md +++ b/content/code-security/security-overview/about-security-overview.md @@ -128,27 +128,29 @@ For information about permissions, see "[Permission to view data in security ove If you are an owner or security manager for an organization, you can see data for all the repositories in the organization in all views. -If you are an organization member, you can view security overview for the organization and see data for repositories where you have access. +If you are an organization or team member, you can view security overview for the organization and see data for repositories where you have an appropriate level of access. {% ifversion security-overview-dashboard %} {% rowheaders %} -| Organization member with | Overview dashboard (beta) view | Risk and alerts views | Coverage view | +| Organization or team member with | Overview dashboard (beta) view | Risk and alerts views | Coverage view | |--------------------|-------------|---------------------|---------| | `admin` access for one or more repositories | View data for those repositories | View data for those repositories | View data for those repositories{% ifversion security-configurations-beta-and-pre-beta %}, and enable and disable security features{% endif %} | -| `write` access for one or more repositories | View {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} data for those repositories | View {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} data for those repositories | No access for those repositories | -| Security alert access for one or more repositories | View all security alert data for those repositories | View all security alert data for those repositories | No access for those repositories +| `write` access for one or more repositories | View {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} data for those repositories | View {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} data for those repositories | No access | +| `read` or `triage` access for one or more repositories | No access | No access | No access | +| Security alert access for one or more repositories | View all security alert data for those repositories | View all security alert data for those repositories | No access | | Custom organization role with permission to view one or more types of security alert | View allowed alert data for all repositories | View allowed alert data for all repositories in all views | No access | {% endrowheaders %} {% else %} {% rowheaders %} -| Organization member with | Risk and alerts views | Coverage view | +| Organization or team member with | Risk and alerts views | Coverage view | |--------------------|-------------|---------------------| | `admin` access for one or more repositories | View data for those repositories | View data for those repositories, and enable and disable security features | -| `write` access for one or more repositories | View {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} data for those repositories | No access for those repositories | -| Security alert access for one or more repositories | View all security alert data for those repositories | No access for those repositories +| `write` access for one or more repositories | View {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} data for those repositories | No access | +| `read` or `triage` access for one or more repositories | No access | No access | +| Security alert access for one or more repositories | View all security alert data for those repositories | No access | | Custom organization role with permission to view one or more types of security alert | View allowed alert data for all repositories in all views | No access | {% endrowheaders %} @@ -185,7 +187,8 @@ If you're an owner of an {% data variables.enterprise.prodname_emu_enterprise %} ## Further reading -* "[AUTOTITLE](/code-security/getting-started/securing-your-repository)" -* "[AUTOTITLE](/code-security/getting-started/securing-your-organization)" +* "[AUTOTITLE](/code-security/getting-started/securing-your-repository)"{% ifversion security-configurations-ga %} +* "[AUTOTITLE](/code-security/securing-your-organization)"{% else %} +* "[AUTOTITLE](/code-security/getting-started/quickstart-for-securing-your-organization)"{% endif %} * "[AUTOTITLE](/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale)" {% endif %} diff --git a/content/code-security/security-overview/enabling-security-features-for-multiple-repositories.md b/content/code-security/security-overview/enabling-security-features-for-multiple-repositories.md index ca1653b7e5..655c0db571 100644 --- a/content/code-security/security-overview/enabling-security-features-for-multiple-repositories.md +++ b/content/code-security/security-overview/enabling-security-features-for-multiple-repositories.md @@ -29,7 +29,7 @@ You can use checkboxes to select which repositories you want to include, or use For more information on filters you can use in different parts of security overview, see "[AUTOTITLE](/code-security/security-overview/filtering-alerts-in-security-overview)." -For more information about the different ways of enabling security features in an organization, see "[AUTOTITLE](/code-security/getting-started/securing-your-organization)." +For more information about the different ways of enabling security features in an organization, see {% ifversion security-configurations-ga %}"[AUTOTITLE](/code-security/securing-your-organization)."{% else %}"[AUTOTITLE](/code-security/getting-started/quickstart-for-securing-your-organization)."{% endif %} ## Enabling security features for multiple repositories diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md index d7a3ac7889..962ae5dc9d 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md @@ -45,12 +45,12 @@ For more information about configuration of the dependency graph, see "[AUTOTITL ## Dependencies included -The dependency graph includes all the dependencies of a repository that are detailed in the manifest and lock files, or their equivalent, for supported ecosystems, as well as any dependencies that are submitted using the {% data variables.dependency-submission-api.name %} (beta). This includes: +The dependency graph includes all the dependencies of a repository that are detailed in the manifest and lock files, or their equivalent, for supported ecosystems, as well as any dependencies that are submitted using the {% data variables.dependency-submission-api.name %}. This includes: -* Direct dependencies, that are explicitly defined in a manifest or lock file or have been submitted using the {% data variables.dependency-submission-api.name %} (beta) +* Direct dependencies, that are explicitly defined in a manifest or lock file or have been submitted using the {% data variables.dependency-submission-api.name %} * Indirect dependencies of these direct dependencies, also known as transitive dependencies or sub-dependencies -The dependency graph identifies indirect dependencies{% ifversion fpt or ghec %} only if they are defined in a lock file or have been submitted using the {% data variables.dependency-submission-api.name %} (beta). For the most reliable graph, you should use lock files (or their equivalent) because they define exactly which versions of the direct and indirect dependencies you currently use. If you use lock files, you also ensure that all contributors to the repository are using the same versions, which will make it easier for you to test and debug code{% else %} from the lock files{% endif %}. If your ecosystem does not have lock files, you can use pre-made actions that resolve transitive dependencies for many ecosystems. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api#using-pre-made-actions)." +The dependency graph identifies indirect dependencies{% ifversion fpt or ghec %} only if they are defined in a lock file or have been submitted using the {% data variables.dependency-submission-api.name %}. For the most reliable graph, you should use lock files (or their equivalent) because they define exactly which versions of the direct and indirect dependencies you currently use. If you use lock files, you also ensure that all contributors to the repository are using the same versions, which will make it easier for you to test and debug code{% else %} from the lock files{% endif %}. If your ecosystem does not have lock files, you can use pre-made actions that resolve transitive dependencies for many ecosystems. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api#using-pre-made-actions)." For more information on how {% data variables.product.product_name %} helps you understand the dependencies in your environment, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security)." @@ -115,7 +115,7 @@ The recommended formats explicitly define which versions are used for all direct {% endnote %} -You can use the {% data variables.dependency-submission-api.name %} (beta) to add dependencies from the package manager or ecosystem of your choice to the dependency graph, even if the ecosystem is not in the supported ecosystem list above. {% data reusables.dependency-graph.dependency-submission-API-short %} +You can use the {% data variables.dependency-submission-api.name %} to add dependencies from the package manager or ecosystem of your choice to the dependency graph, even if the ecosystem is not in the supported ecosystem list above. {% data reusables.dependency-graph.dependency-submission-API-short %} You will only get {% data variables.product.prodname_dependabot_alerts %} for dependencies that are from one of the [supported ecosystems](https://github.com/github/advisory-database#supported-ecosystems) of the {% data variables.product.prodname_advisory_database %}. For more information on the {% data variables.dependency-submission-api.name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)." diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-automatic-dependency-submission-for-your-repository.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-automatic-dependency-submission-for-your-repository.md new file mode 100644 index 0000000000..f322f46ab8 --- /dev/null +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-automatic-dependency-submission-for-your-repository.md @@ -0,0 +1,87 @@ +--- +title: Configuring automatic dependency submission for your repository +shortTitle: Automatic dependency submission +intro: 'You can use automatic dependency submission to submit transitive dependency data in your repository. This enables you to analyze these transitive dependencies using the dependency graph.' +permissions: 'People with admin permissions to a repository, or the security manager role for the repository, can configure automatic dependency submission for that repository.' +redirect_from: + - /early-access/ghas/automatic-dependency-submission-for-maven +versions: + feature: maven-transitive-dependencies +type: how_to +topics: + - Dependency graph + - Dependencies + - Repositories +--- + +## About automatic dependency submission + +> [!NOTE] +> Automatic dependency submission is currently only supported for Maven. + +Dependency graph analyzes the manifest and lock files in a repository, in order to help users understand the dependencies that the repository depends on. However, in some ecosystems, the resolution of transitive dependencies occurs at build-time and {% data variables.product.company_short %} isn't able to automatically discover all dependencies based on the contents of the repository alone. + +When you enable automatic dependency submission for a repository, {% data variables.product.company_short %} automatically identifies the transitive dependencies in the repository and will submit these dependencies to {% data variables.product.company_short %} using the {% data variables.dependency-submission-api.name %}. You can then report on these dependencies using the dependency graph. + +Using automatic dependency submission counts toward your {% data variables.product.prodname_actions %} minutes. For more information, see "[AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)." + +Optionally, you can choose to configure self-hosted runners or {% data variables.product.company_short %}-hosted {% data variables.actions.hosted_runners %} for automatic dependency submission. For more information, see "[Using self-hosted runners for automatic dependency submission](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-automatic-dependency-submission-for-your-repository#using-self-hosted-runners-for-automatic-dependency-submission +)" and "[Using GitHub-hosted larger runners for automatic dependency submission](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-automatic-dependency-submission-for-your-repository#using-github-hosted-larger-runners-for-automatic-dependency-submission +)." + +## Prerequisites + +Dependency graph must be enabled for the repository for you to enable automatic dependency submission. + +You must also enable {% data variables.product.prodname_actions %} for the repository in order to use automatic dependency submission. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository)." + +## Enabling automatic dependency submission + +Repository administrators can enable or disable automatic dependency submission for a repository by following the steps outlined in this procedure. + +Organization owners can enable automatic dependency submission for multiple repositories using a security configuration. For more information, see "[AUTOTITLE](/code-security/securing-your-organization/meeting-your-specific-security-needs-with-custom-security-configurations/creating-a-custom-security-configuration)." + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +1. Under "Dependency graph", click the dropdown menu next to “Automatic dependency submission”, then select **Enabled**. + +Once you've enabled automatic dependency submission for a repository, {% data variables.product.company_short %} will: +* Monitor for changes to the `pom.xml` file in the root of the repository on all branches of the repository. +* Perform an automatic dependency submission on each change. + +You can view details about the automatic workflows run by viewing the **Actions** tab of your repository. + +> [!NOTE] Automatic submission will occur on the first push to the `pom.xml` file after the option is enabled. + +## Using self-hosted runners for automatic dependency submission + +You can configure self-hosted runners to run automatic dependency submission jobs, instead of using the {% data variables.product.prodname_actions %} infrastructure. + +1. Provision one or more self-hosted runners, at the repository or organization level. For more information, see "[AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners)" and "[AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners)." The self-hosted runners must be running on Linux or macOS, and must have Docker installed. +1. Assign a `dependency-submission` label to each runner you want automatic dependency submission to use. For more information, see "[AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners#assigning-a-label-to-a-self-hosted-runner)." +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +1. Under "Dependency graph", click the dropdown menu next to “Automatic dependency submission”, then select **Enabled for labeled runners**. + +Once enabled, automatic dependency submission jobs will run on the self-hosted runners, unless: +* The self-hosted runners are unavailable. +* There aren't any runner groups tagged with a `dependency-submission` label. + +>[!NOTE] When using self-hosted runners, you need to add access to the Maven server settings file to allow the dependency submission workflows to connect to private registries. Dependencies from private registries will be included in the dependency tree in the next `pom.xml` update. For more information about the Maven server settings file, see [Security and Deployment Settings](https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#transitive-dependencies) in the Maven documentation. + +## Using {% data variables.product.company_short %}-hosted {% data variables.actions.hosted_runners %} for automatic dependency submission + +{% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %} users can use {% data variables.actions.hosted_runners %} to run automatic dependency submissions jobs. + +1. Provision a larger runner at the organization level with the name `dependency-submission`. For more information, see "[Adding a {% data variables.actions.hosted_runner %} to an organization](/actions/using-github-hosted-runners/about-larger-runners/managing-larger-runners#adding-a-larger-runner-to-an-organization)." +1. Give your repository access to the runner. For more information, see "[Allowing repositories to access {% data variables.actions.hosted_runners %}](/actions/using-github-hosted-runners/about-larger-runners/managing-larger-runners#allowing-repositories-to-access-larger-runners)." +1. Under "Dependency graph", click the dropdown menu next to “Automatic dependency submission”, then select **Enabled for labeled runners**. + +## Troubleshooting automatic dependency submission + +Automatic dependency submission is currently only supported for Maven. The feature uses the Maven Dependency Tree Submission action. For more information, see the documentation for the [Maven Dependency Tree Dependency Submission](https://github.com/marketplace/actions/maven-dependency-tree-dependency-submission) action in the {% data variables.product.prodname_marketplace %}. If your project uses a non-standard Maven configuration, it may not properly generate the dependencies and submit them to the dependency graph. + +## Further reading + +* "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security)" +* "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)" diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md index 17dfa02750..ccf59ff161 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md @@ -57,6 +57,9 @@ When the dependency graph is first enabled, any manifest and lock files for supp ## Further reading -{% ifversion ghec %}- "[AUTOTITLE](/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-dependencies-in-your-organization)"{% endif %} +{%- ifversion maven-transitive-dependencies %} +* "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-automatic-dependency-submission-for-your-repository)"{%- endif %} +{%- ifversion ghec %} +* "[AUTOTITLE](/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-dependencies-in-your-organization)"{%- endif %} * "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)" * "[AUTOTITLE](/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies)" diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md index b224231af6..ffe34e3c54 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md @@ -54,7 +54,7 @@ Any direct and indirect dependencies that are specified in the repository's mani {% endif %} {% ifversion dependency-graph-repository-view-update %} -Dependencies submitted to a project using the {% data variables.dependency-submission-api.name %} (beta) will show which detector was used for their submission and when they were submitted.{% elsif ghes %}Dependencies submitted to a project using the {% data variables.dependency-submission-api.name %} (beta), although also grouped by ecosystem, are shown separately from dependencies identified through manifest or lock files in the repository. These submitted dependencies appear in the dependency graph as "Snapshot dependencies" because they are submitted as a snapshot, or set, of dependencies.{% else %}{% endif %} For more information on using the {% data variables.dependency-submission-api.name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)." +Dependencies submitted to a project using the {% data variables.dependency-submission-api.name %} will show which detector was used for their submission and when they were submitted.{% elsif ghes %}Dependencies submitted to a project using the {% data variables.dependency-submission-api.name %}, although also grouped by ecosystem, are shown separately from dependencies identified through manifest or lock files in the repository. These submitted dependencies appear in the dependency graph as "Snapshot dependencies" because they are submitted as a snapshot, or set, of dependencies.{% else %}{% endif %} For more information on using the {% data variables.dependency-submission-api.name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)." If vulnerabilities have been detected in the repository, these are shown at the top of the view for users with access to {% data variables.product.prodname_dependabot_alerts %}. diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/index.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/index.md index b4b062040c..5d9b55d951 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/index.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/index.md @@ -13,6 +13,7 @@ children: - /about-supply-chain-security - /about-the-dependency-graph - /configuring-the-dependency-graph + - /configuring-automatic-dependency-submission-for-your-repository - /exporting-a-software-bill-of-materials-for-your-repository - /using-the-dependency-submission-api - /about-dependency-review diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph.md index 59661c7244..764a428779 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph.md @@ -25,7 +25,7 @@ The dependency graph automatically includes information on dependencies that are The dependency graph doesn't automatically include "loose" dependencies. "Loose" dependencies are individual files that are copied from another source and checked into the repository directly or within an archive (such as a ZIP or JAR file), rather than being referenced by in a package manager’s manifest or lockfile. -However, you can use the {% data variables.dependency-submission-api.name %} (beta) to add dependencies to a project's dependency graph, even if the dependencies are not declared in a manifest or lock file, such as dependencies resolved when a project is built. {% data reusables.dependency-graph.dependency-submission-API-short %} For more information on the {% data variables.dependency-submission-api.name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)." +However, you can use the {% data variables.dependency-submission-api.name %} to add dependencies to a project's dependency graph, even if the dependencies are not declared in a manifest or lock file, such as dependencies resolved when a project is built. {% data reusables.dependency-graph.dependency-submission-API-short %} For more information on the {% data variables.dependency-submission-api.name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)." **Check**: Is the missing dependency for a component that's not specified in the repository's manifest or lockfile? @@ -33,7 +33,7 @@ However, you can use the {% data variables.dependency-submission-api.name %} (be The dependency graph analyzes manifests as they’re pushed to {% data variables.product.prodname_dotcom %}. The dependency graph doesn't, therefore, have access to the build environment of the project, so it can't resolve variables used within manifests. If you use variables within a manifest to specify the name, or more commonly the version of a dependency, then that dependency will not automatically be included in the dependency graph. -However, you can use the {% data variables.dependency-submission-api.name %} (beta) to add dependencies to a project's dependency graph, even if the dependencies are only resolved when a project is built. For more information on the {% data variables.dependency-submission-api.name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)." +However, you can use the {% data variables.dependency-submission-api.name %} to add dependencies to a project's dependency graph, even if the dependencies are only resolved when a project is built. For more information on the {% data variables.dependency-submission-api.name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)." **Check**: Is the missing dependency declared in the manifest by using a variable for its name or version? diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api.md index 4fbf900608..1622db9a63 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api.md @@ -13,8 +13,6 @@ versions: ghec: '*' --- -{% data reusables.dependency-submission.dependency-submission-api-beta %} - ## About the {% data variables.dependency-submission-api.name %} {% data reusables.dependency-submission.about-dependency-submission %} diff --git a/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md b/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md index ee5e404abb..93cc84e179 100644 --- a/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md +++ b/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md @@ -64,6 +64,19 @@ In your organization's repositories, blocked users also cannot: 1. Click **Block user**. 1. Optionally, to add a note to describe why a user was blocked, click **Add Note**. The note will be visible to the owners and moderators of the organization. +## Blocking a user on a discussion + +1. Navigate to the discussion whose author you would like to block. +1. In the upper-right corner of the comment, click {% octicon "kebab-horizontal" aria-label="Show options" %}, then click **Block user**. + + ![Screenshot of a pull request comment by octo-user. Below an icon of three horizontal dots, a dropdown menu is expanded, and "Block user" is outlined in orange.](/assets/images/help/repository/comment-menu-block-user.png) + +1. If you'd like to set a time limit for the block, select the **Block user** dropdown menu, and click the amount of time you'd like to block the user. +1. If you'd like to hide all of the comments the user has made in the organization, select **Hide this user's comments** and choose a reason. +1. If you'd like to delete just the discussion you're viewing, select **Delete this discussion**. +1. If you'd like to delete all of the discussions the user has made in the organization, select **Delete all of USER's discussions in ORGANIZATION**. +1. Click **Block user from organization**. + ## Further reading * "[AUTOTITLE](/communities/maintaining-your-safety-on-github/viewing-users-who-are-blocked-from-your-organization)" diff --git a/content/copilot/about-github-copilot/github-copilot-features.md b/content/copilot/about-github-copilot/github-copilot-features.md index 98ad3832f6..4dad153ac5 100644 --- a/content/copilot/about-github-copilot/github-copilot-features.md +++ b/content/copilot/about-github-copilot/github-copilot-features.md @@ -30,6 +30,10 @@ A chat-like interface in the terminal, where you can ask questions about the com AI-generated summaries of the changes that were made in a pull request, which files they impact, and what a reviewer should focus on when they conduct their review. +### {% data variables.product.prodname_copilot_autocomplete_pr %} (beta) _({% data variables.product.prodname_copilot_enterprise_short %} only)_ + +AI-generated text completion to help you write pull request descriptions quickly and accurately. + ### {% data variables.product.prodname_copilot_short %} knowledge bases _({% data variables.product.prodname_copilot_enterprise_short %} only)_ Create and manage collections of documentation to use as context for chatting with {% data variables.product.prodname_copilot_short %}. When you ask a question in {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_dotcom_the_website %} or in {% data variables.product.prodname_vscode_shortname %}, you can specify a knowledge base as the context for your question. diff --git a/content/copilot/about-github-copilot/subscription-plans-for-github-copilot.md b/content/copilot/about-github-copilot/subscription-plans-for-github-copilot.md index 7f1e58a51a..860a09001c 100644 --- a/content/copilot/about-github-copilot/subscription-plans-for-github-copilot.md +++ b/content/copilot/about-github-copilot/subscription-plans-for-github-copilot.md @@ -12,7 +12,7 @@ shortTitle: Subscriptions * **{% data variables.product.prodname_copilot_for_individuals %}** is available to individual {% data variables.product.company_short %} customers who don't have access to {% data variables.product.prodname_copilot_short %} through an organization or enterprise. * **{% data variables.product.prodname_copilot_for_business %}** is available for organizations with a {% data variables.product.prodname_free_team %} or {% data variables.product.prodname_team %} plan, or enterprises on {% data variables.product.prodname_ghe_cloud %}. {% data variables.product.prodname_copilot_business_short %} gives organizations and enterprises control over {% data variables.product.prodname_copilot_short %} policies, including which members can use {% data variables.product.prodname_copilot_short %}. -* **{% data variables.product.prodname_copilot_enterprise %}** is available for enterprises on {% data variables.product.prodname_ghe_cloud %}. In addition to all of the {% data variables.product.prodname_copilot_business_short %} features, {% data variables.product.prodname_copilot_enterprise_short %} provides additional AI features on {% data variables.product.company_short %}. +* **{% data variables.product.prodname_copilot_enterprise %}** is available for enterprises on {% data variables.product.prodname_ghe_cloud %}. In addition to all of the {% data variables.product.prodname_copilot_business_short %} features, {% data variables.product.prodname_copilot_enterprise_short %} provides additional AI features on {% data variables.product.company_short %}. With this subscription plan you can choose to assign either {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %} to each individual organization in the enterprise. {% data variables.product.prodname_copilot_short %} is not currently available for {% data variables.product.prodname_ghe_server %}. diff --git a/content/copilot/managing-copilot/configure-personal-settings/configuring-github-copilot-in-your-environment.md b/content/copilot/managing-copilot/configure-personal-settings/configuring-github-copilot-in-your-environment.md index 6369e776de..87c975bd94 100644 --- a/content/copilot/managing-copilot/configure-personal-settings/configuring-github-copilot-in-your-environment.md +++ b/content/copilot/managing-copilot/configure-personal-settings/configuring-github-copilot-in-your-environment.md @@ -213,7 +213,6 @@ You can use the default keyboard shortcuts in {% data variables.product.prodname |:---|:---|:---| |Show next inline suggestion|Alt+.|Edit.NextSuggestion| |Show previous inline suggestion|Alt+,|Edit.PreviousSuggestion| -|Trigger inline suggestion|Ctrl+Alt+\\|Edit.Copilot.TriggerInlineSuggestion| ### Rebinding keyboard shortcuts diff --git a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/disabling-copilot-for-organizations-in-your-enterprise.md b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/disabling-copilot-for-organizations-in-your-enterprise.md index a50e99d299..f16c76bd93 100644 --- a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/disabling-copilot-for-organizations-in-your-enterprise.md +++ b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/disabling-copilot-for-organizations-in-your-enterprise.md @@ -2,8 +2,8 @@ title: Disabling Copilot for organizations in your enterprise shortTitle: Disable for organizations intro: 'Disable {% data variables.product.prodname_copilot %} for some or all of the organizations in your enterprise.' -permissions: Enterprise admins -product: '{% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %}' +permissions: Enterprise owners +product: 'Enterprises with a subscription to {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %}' versions: feature: copilot-enterprise topics: @@ -12,16 +12,21 @@ redirect_from: - /copilot/managing-copilot/managing-copilot-for-your-enterprise/disabling-copilot-for-organizations-in-your-enterprise --- +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.copilot-tab %} 1. In the "{% data variables.product.prodname_copilot_short %} is active in your enterprise" section, configure the access for your {% data variables.product.prodname_copilot %} subscription. * To disable {% data variables.product.prodname_copilot %} for all organizations in your enterprise, select **Disabled**. * To disable {% data variables.product.prodname_copilot %} for specific organizations, select **Allow for specific organizations**. -1. If you selected **Allow for specific organizations**, select the organizations you want to disable {% data variables.product.prodname_copilot %} for. Then, click the **Set organization permissions** dropdown and select **Disable** to deny {% data variables.product.prodname_copilot %} access for the specified organizations. +1. If you selected **Allow for specific organizations**: - ![Screenshot of the {% data variables.product.prodname_copilot %} policy page. The organization permissions dropdown is outlined in dark orange.](/assets/images/help/copilot/set-org-permissions-enterprise.png) + 1. Under "Access management", locate the organization for which you want to disable {% data variables.product.prodname_copilot_short %}. + 1. To the right of the organization name, select the **Copilot** dropdown menu. + * If your enterprise has a {% data variables.product.prodname_copilot_business_short %} subscription, click **Disabled**. + * If your enterprise has a {% data variables.product.prodname_copilot_enterprise_short %} subscription, click **Remove access**. -1. Review your selection. - * If you selected **Disabled**, you will see a warning that disabling {% data variables.product.prodname_copilot %} will revoke access for all organizations and members. To confirm, click **Confirm and save**. - * If you selected **Allow for specific organizations**, click **Save**. +## Further reading + +* "[AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot)" +* "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise)" diff --git a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise.md b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise.md index 0c5b39c617..5ff6379f39 100644 --- a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise.md +++ b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise.md @@ -2,8 +2,8 @@ title: Enabling Copilot for organizations in your enterprise shortTitle: Enable for organizations intro: 'Enable {% data variables.product.prodname_copilot %} for some or all of the organizations in your enterprise.' -permissions: Enterprise admins -product: '{% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %}' +permissions: Enterprise owners +product: 'Enterprises with a subscription to {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %}' versions: feature: copilot-enterprise topics: @@ -12,18 +12,28 @@ redirect_from: - /copilot/managing-copilot/managing-copilot-for-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise --- -Admins of enterprises that have a {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %} subscription can enable {% data variables.product.prodname_copilot %} for all, none, or some organizations within the enterprise. +Owners of enterprises that have a {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %} subscription can enable {% data variables.product.prodname_copilot %} for all, none, or some organizations within the enterprise. +For enterprises with a {% data variables.product.prodname_copilot_enterprise_short %} subscription, enterprise owners can choose to assign either {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %} to individual organizations in the enterprise. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.copilot-tab %} 1. In the "{% data variables.product.prodname_copilot_short %} is active in your enterprise" section, configure the access for your {% data variables.product.prodname_copilot %} subscription. - * To enable {% data variables.product.prodname_copilot %} for all organizations in your enterprise, both current and future, select **Allow for: All organizations**. + * To enable {% data variables.product.prodname_copilot %} for all organizations in your enterprise, both current and future, select **Allow for all organizations**. * To enable {% data variables.product.prodname_copilot %} for specific organizations, select **Allow for specific organizations**. -1. If you selected **Allow for specific organizations**, select the organizations you want to enable {% data variables.product.prodname_copilot %} for. Then, click the **Set organization permissions** dropdown and select **Enable** to grant {% data variables.product.prodname_copilot %} access for the specified organizations. - -1. Click **Save**. +1. If you selected **Allow for specific organizations**: + 1. Under "Access management", locate the organization for which you want to enable {% data variables.product.prodname_copilot_short %}. + 1. To the right of the organization name, select the **Copilot** dropdown menu. + * If your enterprise has a {% data variables.product.prodname_copilot_business_short %} subscription, click **Enabled**. + * If your enterprise has a {% data variables.product.prodname_copilot_enterprise_short %} subscription, click either **Copilot: Enterprise** or **Copilot: Business** to assign a specific Copilot plan to the organization. ## Next steps -When {% data variables.product.prodname_copilot_short %} is enabled for an organization, owners of the organization can grant access to some or all members of the organization. See "[AUTOTITLE](/copilot/managing-github-copilot-in-your-organization/managing-access-for-copilot-business-in-your-organization)." +After you've enabled {% data variables.product.prodname_copilot_short %} for an organization in your enterprise, owners of the organization can grant access to some or all members of the organization. See "[AUTOTITLE](/copilot/managing-github-copilot-in-your-organization/managing-access-for-copilot-business-in-your-organization)." + +## Further reading + +* "[AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot)" +* "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise)" diff --git a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/viewing-copilot-usage-for-your-enterprise.md b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/viewing-copilot-usage-for-your-enterprise.md index 48b1a8dc09..c28791bd24 100644 --- a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/viewing-copilot-usage-for-your-enterprise.md +++ b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/viewing-copilot-usage-for-your-enterprise.md @@ -30,6 +30,7 @@ If you have a subscription to {% data variables.product.prodname_copilot_for_bus ### At the enterprise-level +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} 1. Under "{% data variables.product.prodname_copilot_short %} monthly usage," view the breakdown of your {% data variables.product.prodname_copilot %} usage. diff --git a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise.md b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise.md index df1dad1478..6e9a7bf091 100644 --- a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise.md +++ b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise.md @@ -43,6 +43,9 @@ With a {% data variables.product.prodname_copilot_enterprise_short %} license, y If you enable "{% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_dotcom_the_website %}", you can also configure additional features: * **Opt in to user feedback collection** - If enabled, members of your enterprise can provide feedback after {% data variables.product.prodname_copilot_short %} generates a pull request summary, and the summary will be sent to {% data variables.product.prodname_dotcom %} for context. If disabled, members of your enterprise can still provide feedback after each {% data variables.product.prodname_copilot_chat_short %} response, and via the "Give feedback" link in conversations. +* **Previews of {% data variables.product.prodname_copilot_short %} features** - If enabled, members of your enterprise can test new {% data variables.product.prodname_copilot_short %} features that are not yet generally available. Be aware that previews of features may have flaws, and the features may be changed or discontinued at any time. Current previews of {% data variables.product.prodname_copilot_short %} features: + + * {% data variables.product.prodname_copilot_autocomplete_pr %}. For more information, see "[Using Copilot text completion](/copilot/using-github-copilot/using-copilot-text-completion)." ### {% data variables.product.prodname_copilot_cli %} diff --git a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/subscribing-to-copilot-for-your-enterprise.md b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/subscribing-to-copilot-for-your-enterprise.md index f819369e01..94424bed00 100644 --- a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/subscribing-to-copilot-for-your-enterprise.md +++ b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/subscribing-to-copilot-for-your-enterprise.md @@ -1,9 +1,9 @@ --- title: Subscribing to Copilot for your enterprise shortTitle: Subscribe -intro: 'Get access to {% data variables.product.prodname_copilot %} for your enterprise.' -permissions: Enterprise admins -product: '{% data variables.product.prodname_ghe_cloud %}' +intro: 'Enterprise owners can set up a {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %} subscription for their enterprise.' +permissions: Enterprise owners +product: 'Enterprises on {% data variables.product.prodname_ghe_cloud %}' versions: feature: copilot-enterprise topics: @@ -13,22 +13,20 @@ redirect_from: - /copilot/managing-copilot/managing-copilot-for-your-enterprise/subscribing-to-copilot-for-your-enterprise --- -Enterprise admins can set up a {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %} subscription for their enterprise. For more information, see "[AUTOTITLE](/copilot/about-github-copilot/subscription-plans-for-github-copilot)." - -If your enterprise is already subscribed to {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %}, you can upgrade or downgrade the subscription. See "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/upgrading-copilot-for-your-enterprise)" and "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/downgrading-copilot-for-your-enterprise)." - -For billing information, see "[AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot-business-and-github-copilot-enterprise)" and "[AUTOTITLE](/billing/managing-your-github-billing-settings)." - -## Subscribing - >[!NOTE] > {% data reusables.copilot.signup-procedure-enterprise-msft-ea %} 1. Ensure you are signed in as an enterprise admin on {% data variables.product.prodname_dotcom_the_website %}. -1. Go to the [{% data variables.product.prodname_copilot_short %} plans page](https://github.com/features/copilot/plans). -1. Under "{% data variables.product.prodname_copilot_enterprise_short %}" or "{% data variables.product.prodname_copilot_business_short %}", click **Buy now**. -1. Follow the steps to sign up and enable {% data variables.product.prodname_copilot_short %} for organizations in your enterprise. +1. Navigate to the {% data variables.product.prodname_copilot_short %} signup page: + * For **{% data variables.product.prodname_copilot_business_short %}**, go to the [signup page for {% data variables.product.prodname_copilot_business_short %}](https://github.com/github-copilot/business_signup/choose_business_type). + * For **{% data variables.product.prodname_copilot_enterprise_short %}**, go to the [signup page for {% data variables.product.prodname_copilot_enterprise_short %}](https://github.com/github-copilot/enterprise_signup/choose_enterprise). +1. Follow the steps to sign up and enable {% data variables.product.prodname_copilot_short %} for organizations in your enterprise. If you purchased {% data variables.product.prodname_copilot_enterprise_short %}, you will be able to assign either {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %} to each individual organization in the enterprise. ## Next steps -To finish setting up {% data variables.product.prodname_copilot_short %} for your enterprise, see "[AUTOTITLE](/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-enterprise)." +* To finish setting up {% data variables.product.prodname_copilot_short %} for your enterprise, see "[AUTOTITLE](/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-enterprise)." +* For billing information, see "[AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot-business-and-github-copilot-enterprise)" and "[AUTOTITLE](/billing/managing-your-github-billing-settings)." + +## Further reading + +* "[AUTOTITLE](/copilot/about-github-copilot/subscription-plans-for-github-copilot)" diff --git a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/upgrading-copilot-for-your-enterprise.md b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/upgrading-copilot-for-your-enterprise.md index a4e0e55e46..b58ca2717e 100644 --- a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/upgrading-copilot-for-your-enterprise.md +++ b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/upgrading-copilot-for-your-enterprise.md @@ -1,9 +1,9 @@ --- title: Upgrading Copilot for your enterprise shortTitle: Upgrade subscription -intro: 'Change from {% data variables.product.prodname_copilot_business_short %} to {% data variables.product.prodname_copilot_enterprise %} for your enterprise.' -permissions: Enterprise admins -product: '{% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_copilot_business_short %}' +intro: 'Change your enterprise''s subscription from {% data variables.product.prodname_copilot_business_short %} to {% data variables.product.prodname_copilot_enterprise_short %}.' +permissions: Enterprise owners +product: 'Enterprises with a subscription to {% data variables.product.prodname_copilot_business_short %}' versions: feature: copilot-enterprise topics: @@ -12,10 +12,6 @@ redirect_from: - /copilot/managing-copilot/managing-copilot-for-your-enterprise/upgrading-copilot-for-your-enterprise --- -Enterprise admins can change their enterprise's {% data variables.product.prodname_copilot_short %} subscription from {% data variables.product.prodname_copilot_business_short %} to {% data variables.product.prodname_copilot_enterprise_short %}. - -When you upgrade, all users with a {% data variables.product.prodname_copilot_business_short %} seat will be upgraded to {% data variables.product.prodname_copilot_enterprise_short %}. Your enterprise will be charged pro rata for these seats for the rest of the billing cycle. - {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.copilot-tab %} @@ -25,3 +21,11 @@ When you upgrade, all users with a {% data variables.product.prodname_copilot_bu 1. In the dialog, click **Continue to billing summary**. 1. Review your updated billing summary, then click **Enable plan**. + +## Next steps + +After upgrading to {% data variables.product.prodname_copilot_enterprise_short %}, you can assign {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %} to individual organizations in the enterprise. See "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise)." + +## Further reading + +* "[AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot)" diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/index.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/index.md index 8f3a957f1d..f61d642082 100644 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/index.md +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/index.md @@ -11,6 +11,7 @@ children: - /managing-requests-for-copilot-business-in-your-organization - /revoking-access-to-copilot-for-members-of-your-organization - /reviewing-usage-data-for-github-copilot-in-your-organization + - /reviewing-changes-to-content-exclusions-for-github-copilot - /reviewing-audit-logs-for-copilot-business redirect_from: - /copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-github-copilot-activity-in-your-organization diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot.md similarity index 87% rename from content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot.md rename to content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot.md index 76b2d2410c..938e247aad 100644 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot.md +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot.md @@ -1,15 +1,16 @@ --- title: Reviewing changes to content exclusions for GitHub Copilot -intro: 'You can monitor changes to content exclusions in your repositories and organizations.' +shortTitle: Content exclusion changes +intro: You can monitor changes to content exclusions in your repositories and organizations. permissions: Organization owners product: '{% data reusables.gated-features.copilot-business-and-enterprise %}' versions: feature: copilot topics: - Copilot -shortTitle: Review content exclusion changes redirect_from: - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot + - /copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot --- {% data reusables.copilot.content-exclusions-availability-and-beta-note %} diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/about-content-exclusions-for-github-copilot.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/about-content-exclusions-for-github-copilot.md deleted file mode 100644 index 860ca3edd5..0000000000 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/about-content-exclusions-for-github-copilot.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: About content exclusions for GitHub Copilot -intro: 'Learn how content exclusions for {% data variables.product.prodname_copilot %} work.' -permissions: '{% data reusables.copilot.content-exclusion-permissions %}' -product: '{% data reusables.gated-features.copilot-business-and-enterprise %}' -versions: - feature: copilot -redirect_from: - - /copilot/managing-copilot-business/configuring-content-exclusions-for-github-copilot - - /copilot/managing-github-copilot-in-your-organization/configuring-content-exclusions-for-github-copilot - - /copilot/managing-copilot/managing-github-copilot-in-your-organization/configuring-content-exclusions-for-github-copilot - - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/about-content-exclusions-for-github-copilot -topics: - - Copilot -shortTitle: About content exclusions ---- - -{% data reusables.copilot.content-exclusion-note %} - -You can configure {% data variables.product.prodname_copilot %} to **ignore certain files by excluding specific paths to content** in the settings for your repository or organization. - -When you specify content exclusions, there are up to three effects depending on the level of support for your IDE: - -* Code completion will not be available in the affected files. -* The content in affected files will not inform code completion suggestions in other files. -* The content in affected files will not inform {% data variables.product.prodname_copilot_chat %}'s responses. - -{% data reusables.copilot.content-exclusions-delay %} See "[AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/testing-changes-to-content-exclusions-in-your-ide)." - -## Availability of content exclusions - -| Tool | Code completion support | {% data variables.product.prodname_copilot_chat_short %} support | -|--------|:--------:|:--------:| -| {% data variables.product.prodname_vs %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | -| {% data variables.product.prodname_vscode %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | -| JetBrains IDEs | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | -| Vim/Neovim | {% octicon "check" aria-label="Supported" %} | Not applicable | -| Azure Data Studio | {% octicon "x" aria-label="Not supported" %} | Not applicable | -| {% data variables.product.prodname_dotcom_the_website %} | Not applicable | {% octicon "x" aria-label="Not supported" %} | - -## Limitations of content exclusions - -{% data reusables.copilot.content-exclusion-limitations %} - -## What can you exclude? - -When you specify content exclusion in the settings for a repository, you can only exclude files in that repository. - -When you specify content exclusion in the settings for an organization, you can exclude files in any Git-based repository hosted on {% data variables.product.prodname_dotcom_the_website %}, or anywhere that can be accessed using any of the following syntaxes: - -```text -http[s]://host.xz[:port]/path/to/repo.git/ - -git://host.xz[:port]/path/to/repo.git/ - -[user@]host.xz:path/to/repo.git/ - -ssh://[user@]host.xz[:port]/path/to/repo.git/ -``` - -## Who is affected by a content exclusion setting? - -{% data reusables.copilot.content-exclusions-scope %} - -{% ifversion fpt %}All exclusions, whether they are defined in repository settings or in organization settings, apply to all members of the organization who have been granted a {% data variables.product.prodname_copilot_short %} seat as part of a {% data variables.product.prodname_copilot_business_short %} subscription.{% endif %} - -{% ifversion ghec %} -You can't specify content exclusions in the settings for an enterprise. However, all content exclusions defined in organization or repository settings apply to all members of the enterprise who have been granted a {% data variables.product.prodname_copilot_short %} seat as part of a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription. - -This means, for example, that if you are an admin of an organization that belongs to Enterprise X, you can set up an exclusion for files in any Git-based repositories, hosted on {% data variables.product.prodname_dotcom %} or elsewhere, and the exclusion will apply to anyone who gets their {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} license from any organization in Enterprise X. - -> [!TIP] To more easily track content exclusions, create exclusions in the settings of the repository containing the affected files, or in the settings of the organization that owns the repository. -{% endif %} - -## Data sent to {% data variables.product.prodname_dotcom %} - -After you configure content exclusion, the client (for example, the {% data variables.product.prodname_copilot_short %} extension for {% data variables.product.prodname_vscode_shortname %}) sends the current repository URL to the {% data variables.product.prodname_dotcom %} server so that the server can return the correct policy to the client. These URLs are not logged anywhere. - -## Next steps - -To set up content exclusions in your repository or organization, see "[AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/configuring-content-exclusions-for-github-copilot)." diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/configuring-content-exclusions-for-github-copilot.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/configuring-content-exclusions-for-github-copilot.md deleted file mode 100644 index 587d2dccec..0000000000 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/configuring-content-exclusions-for-github-copilot.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: Configuring content exclusions for GitHub Copilot -intro: 'You can prevent {% data variables.product.prodname_copilot %} from accessing certain content.' -permissions: '{% data reusables.copilot.content-exclusion-permissions %}' -product: '{% data reusables.gated-features.copilot-business-and-enterprise %}' -layout: inline -versions: - feature: copilot -topics: - - Copilot -shortTitle: Configure content exclusions -redirect_from: - - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/configuring-content-exclusions-for-github-copilot ---- - -{% data reusables.copilot.content-exclusions-availability-and-beta-note %} - -## Configuring content exclusions for your repository - -You can use your repository settings to specify content in your repository that {% data variables.product.prodname_copilot %} should ignore. - -{% data reusables.repositories.navigate-to-repo %} -{% data reusables.repositories.sidebar-settings %} - -1. In the "Code & automation" section of the side bar, click **{% octicon "copilot" aria-hidden="true" %} {% data variables.product.prodname_copilot_short %}**. - - If your repository inherits any exclusions from {%ifversion fpt %}its parent organization{% else %} organizations in the same enterprise{% endif %}, you'll see {%ifversion ghec %}one or more{% else %} a{% endif %} gray box{%ifversion ghec %}es{% endif %} at the top of the page containing details of these exclusions. You cannot edit these settings. - -1. In the box following "Paths to exclude in this repository," enter the paths to files from which {% data variables.product.prodname_copilot_short %} should be excluded. - - Use the format: `- "/PATH/TO/DIRECTORY/OR/FILE"`, with each path on a separate line. You can add comments by starting a line with `#`. - - > [!TIP] {% data reusables.copilot.content-exclusion-fnmatch-tip %} - -### Example of paths specified in the repository settings - -```yaml annotate -# Ignore the `/src/some-dir/kernel.rs` file in this repository. -- "/src/some-dir/kernel.rs" - -# Ignore files called `secrets.json` anywhere in this repository. -- "secrets.json" - -# Ignore all files whose names begin with `secret` anywhere in this repository. -- "secret*" - -# Ignore files whose names end with `.cfg` anywhere in this repository. -- "*.cfg" - -# Ignore all files in or below the `/scripts` directory of this repository. -- "/scripts/**" -``` - -## Configuring content exclusions for your organization - -You can use your organization settings to specify content in any Git repository that {% data variables.product.prodname_copilot %} should ignore. - -{% data reusables.profile.access_org %} -{% data reusables.profile.org_settings %} - -1. In the left sidebar, click **{% octicon "copilot" aria-hidden="true" %} {% data variables.product.prodname_copilot_short %}** then click **Content exclusion**. -1. In the box following "Repositories and paths to exclude," enter details of where {% data variables.product.prodname_copilot_short %} should be excluded. - - For each repository in which you want files to be excluded from {% data variables.product.prodname_copilot_short %}, enter a reference to the repository on one line, followed by paths to locations within the repository, with each path on a separate line. Use the following format: - - ```yaml - REPOSITORY-REFERENCE: - - "/PATH/TO/DIRECTORY/OR/FILE" - - "/PATH/TO/DIRECTORY/OR/FILE" - - ... - ``` - - Repositories can be referenced using various protocols. You can use any of the following syntaxes for `REPOSITORY-REFERENCE` and {% data variables.product.prodname_copilot_short %} will match them regardless of how the repository was cloned locally: - - ```text - http[s]://host.xz[:port]/path/to/repo.git/ - - git://host.xz[:port]/path/to/repo.git/ - - [user@]host.xz:path/to/repo.git/ - - ssh://[user@]host.xz[:port]/path/to/repo.git/ - ``` - -### Formatting tips for `REPOSITORY-REFERENCE` - -* {% data reusables.copilot.content-exclusion-fnmatch-tip %} -* The `user@` and `:port` parts of the `REPOSITORY-REFERENCE` are ignored in the calculation of which paths to ignore for a repository. -* Each repository reference can contain a single `*` wildcard. For example, `https://github.com/octo-org/*` matches all repositories in the `octo-org` organization. -* For Azure DevOps, you can use the new (dev.azure.com) or old (visualstudio.com) host format when specifying `REPOSITORY-REFERENCE`, and {% data variables.product.prodname_copilot_short %} will match them regardless of which host was used to clone the repository locally. - -### Example of repositories and paths in organization settings - -```yaml annotate -# Ignore all `.env` files at any path, in any repository. -# This setting applies to all repositories, not just to those on GitHub.com. -# This could also have been written on a single line as: -# -# "*": ["**/.env"] -"*": - - "**/.env" - -# In the `octo-repo` repository in this organization: -octo-repo: - # Ignore the `/src/some-dir/kernel.rs` file. - - "/src/some-dir/kernel.rs" - -# In the `primer/react` repository on {% data variables.product.prodname_dotcom %}: -https://github.com/primer/react.git: - # Ignore files called `secrets.json` anywhere in this repository. - - "secrets.json" - # Ignore files called `temp.rb` in or below the `/src` directory. - - "/src/**/temp.rb" - -# In the `copilot` repository of any {% data variables.product.prodname_dotcom %} organization: -git@github.com:*/copilot: - # Ignore any files in or below the `/__tests__` directory. - - "/__tests__/**" - # Ignore any files in the `/scripts` directory. - - "/scripts/*" - -# In the `gitlab-org/gitlab-runner` repository on GitLab: -git@gitlab.com:gitlab-org/gitlab-runner.git: - # Ignore the `/main_test.go` file. - - "/main_test.go" - # Ignore any files with names beginning with `server` or `session` anywhere in this repository. - - "{server,session}*" - # Ignore any files with names ending with `.md` or `.mk` anywhere in this repository. - - "*.m[dk]" - # Ignore files directly within directories such as `packages` or `packaged` anywhere in this repository. - - "**/package?/*" - # Ignore files in or below any `security` directories, anywhere in this repository. - - "**/security/**" -``` - -## Next steps - -To test your changes, see "[AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/testing-changes-to-content-exclusions-in-your-ide)." diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/excluding-content-from-github-copilot.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/excluding-content-from-github-copilot.md new file mode 100644 index 0000000000..46fc2ee930 --- /dev/null +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/excluding-content-from-github-copilot.md @@ -0,0 +1,190 @@ +--- +title: Excluding content from GitHub Copilot +shortTitle: Exclude content from Copilot +intro: 'You can prevent {% data variables.product.prodname_copilot_short %} from accessing certain content.' +permissions: '{% data reusables.copilot.content-exclusion-permissions %}' +product: '{% data reusables.gated-features.copilot-business-and-enterprise %}' +layout: inline +versions: + feature: copilot +redirect_from: + - /copilot/managing-copilot-business/configuring-content-exclusions-for-github-copilot + - /copilot/managing-github-copilot-in-your-organization/configuring-content-exclusions-for-github-copilot + - /copilot/managing-copilot/managing-github-copilot-in-your-organization/configuring-content-exclusions-for-github-copilot + - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/about-content-exclusions-for-github-copilot + - /copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/about-content-exclusions-for-github-copilot + - /copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/configuring-content-exclusions-for-github-copilot + - /copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/testing-changes-to-content-exclusions-in-your-ide + - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/configuring-content-exclusions-for-github-copilot + - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/testing-changes-to-content-exclusions-in-your-ide +topics: + - Copilot +--- + +## About content exclusions for {% data variables.product.prodname_copilot_short %} + +{% data reusables.copilot.content-exclusion-note %} + +You can use content exclusions to configure {% data variables.product.prodname_copilot_short %} to ignore certain files in a repository or organization. When you exclude content from {% data variables.product.prodname_copilot_short %}: + +* Code completion will not be available in the affected files. +* The content in affected files will not inform code completion suggestions in other files. +* The content in affected files will not inform {% data variables.product.prodname_copilot_chat %}'s responses. + +{% data reusables.copilot.content-exclusions-scope %} + +### Limitations of content exclusions + +Content exclusions are not currently available for Copilot Chat in Visual Studio, Copilot Chat in GitHub.com, or code completion in Azure Data Studio. Additionally: + +{% data reusables.copilot.content-exclusion-limitations %} + +### Data sent to {% data variables.product.prodname_dotcom %} + +After you configure content exclusion, the client (for example, the {% data variables.product.prodname_copilot_short %} extension for {% data variables.product.prodname_vscode_shortname %}) sends the current repository URL to the {% data variables.product.prodname_dotcom %} server so that the server can return the correct policy to the client. These URLs are not logged anywhere. + +## Configuring content exclusions for your repository + +You can use your repository settings to specify content in your repository that {% data variables.product.prodname_copilot %} should ignore. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} + +1. In the "Code & automation" section of the side bar, click **{% octicon "copilot" aria-hidden="true" %} {% data variables.product.prodname_copilot_short %}**. + + If your repository inherits any exclusions from {%ifversion fpt %}its parent organization{% else %} organizations in the same enterprise{% endif %}, you'll see {%ifversion ghec %}one or more{% else %} a{% endif %} gray box{%ifversion ghec %}es{% endif %} at the top of the page containing details of these exclusions. You cannot edit these settings. + +1. In the box following "Paths to exclude in this repository," enter the paths to files from which {% data variables.product.prodname_copilot_short %} should be excluded. + + Use the format: `- "/PATH/TO/DIRECTORY/OR/FILE"`, with each path on a separate line. You can add comments by starting a line with `#`. + + > [!TIP] {% data reusables.copilot.content-exclusion-fnmatch-tip %} + +### Example of paths specified in the repository settings + +```yaml annotate +# Ignore the `/src/some-dir/kernel.rs` file in this repository. +- "/src/some-dir/kernel.rs" + +# Ignore files called `secrets.json` anywhere in this repository. +- "secrets.json" + +# Ignore all files whose names begin with `secret` anywhere in this repository. +- "secret*" + +# Ignore files whose names end with `.cfg` anywhere in this repository. +- "*.cfg" + +# Ignore all files in or below the `/scripts` directory of this repository. +- "/scripts/**" +``` + +## Configuring content exclusions for your organization + +You can use your organization settings to specify content in any Git repository that {% data variables.product.prodname_copilot %} should ignore. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} + +1. In the left sidebar, click **{% octicon "copilot" aria-hidden="true" %} {% data variables.product.prodname_copilot_short %}** then click **Content exclusion**. +1. In the box following "Repositories and paths to exclude," enter details of where {% data variables.product.prodname_copilot_short %} should be excluded. + + For each repository in which you want files to be excluded from {% data variables.product.prodname_copilot_short %}, enter a reference to the repository on one line, followed by paths to locations within the repository, with each path on a separate line. Use the following format, replacing `REPOSITORY-REFERENCE` with a reference to the repository that contains the files you'd like to exclude: + + ```yaml + REPOSITORY-REFERENCE: + - "/PATH/TO/DIRECTORY/OR/FILE" + - "/PATH/TO/DIRECTORY/OR/FILE" + - ... + ``` + + Repositories can be referenced using various protocols. You can use any of the following syntaxes for `REPOSITORY-REFERENCE` and {% data variables.product.prodname_copilot_short %} will match them regardless of how the repository was cloned locally: + + ```text + http[s]://host.xz[:port]/path/to/repo.git/ + + git://host.xz[:port]/path/to/repo.git/ + + [user@]host.xz:path/to/repo.git/ + + ssh://[user@]host.xz[:port]/path/to/repo.git/ + ``` + + The `user@` and `:port` parts of the `REPOSITORY-REFERENCE` are ignored in the calculation of which paths to ignore for a repository. + + For Azure DevOps, you can use the new (dev.azure.com) or old (visualstudio.com) host format when specifying `REPOSITORY-REFERENCE`, and {% data variables.product.prodname_copilot_short %} will match them regardless of which host was used to clone the repository locally. + + > [!TIP] {% data reusables.copilot.content-exclusion-fnmatch-tip %} + +### Example of repositories and paths in organization settings + +```yaml annotate +# Ignore all `.env` files at any path, in any repository. +# This setting applies to all repositories, not just to those on GitHub.com. +# This could also have been written on a single line as: +# +# "*": ["**/.env"] +"*": + - "**/.env" + +# In the `octo-repo` repository in this organization: +octo-repo: + # Ignore the `/src/some-dir/kernel.rs` file. + - "/src/some-dir/kernel.rs" + +# In the `primer/react` repository on {% data variables.product.prodname_dotcom %}: +https://github.com/primer/react.git: + # Ignore files called `secrets.json` anywhere in this repository. + - "secrets.json" + # Ignore files called `temp.rb` in or below the `/src` directory. + - "/src/**/temp.rb" + +# In the `copilot` repository of any {% data variables.product.prodname_dotcom %} organization: +git@github.com:*/copilot: + # Ignore any files in or below the `/__tests__` directory. + - "/__tests__/**" + # Ignore any files in the `/scripts` directory. + - "/scripts/*" + +# In the `gitlab-org/gitlab-runner` repository on GitLab: +git@gitlab.com:gitlab-org/gitlab-runner.git: + # Ignore the `/main_test.go` file. + - "/main_test.go" + # Ignore any files with names beginning with `server` or `session` anywhere in this repository. + - "{server,session}*" + # Ignore any files with names ending with `.md` or `.mk` anywhere in this repository. + - "*.m[dk]" + # Ignore files directly within directories such as `packages` or `packaged` anywhere in this repository. + - "**/package?/*" + # Ignore files in or below any `security` directories, anywhere in this repository. + - "**/security/**" +``` + +## Testing changes to content exclusions + +You can use your IDE to confirm that your changes to content exclusions are working as expected. + +### Propagate content exclusion changes to your IDE + +After you add or change content exclusions, it can take up to 30 minutes to take effect in IDEs where the settings are already loaded. If you don't want to wait, you can manually reload the content exclusion settings using the following instructions. + +* **For JetBrains IDEs and {% data variables.product.prodname_vs %}**, reload the content exclusion settings by closing and reopening the application. +* **For {% data variables.product.prodname_vscode %}**, use the following steps to reload the content exclusion settings: + 1. Access the Command Palette. For example, by pressing Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux). + 1. Type: `reload`. + 1. Select **Developer: Reload Window**. +* **For Vim/Neovim**, content exclusions are automatically fetched from {% data variables.product.prodname_dotcom %} each time you open a file. + +### Test your content exclusions + +There are a few different ways to test your content exclusions, depending on which IDE you're using. + +1. Open a file that you expect to be affected by your content exclusions. +1. Use one or more of the following techniques to test if content is being excluded: + * **In JetBrains IDEs, {% data variables.product.prodname_vs %}, and {% data variables.product.prodname_vscode %}**, check the {% data variables.product.prodname_copilot_short %} icon in the status bar. If a {% data variables.product.prodname_copilot_short %} content exclusion applies to the file, the {% data variables.product.prodname_copilot_short %} icon will have a diagonal line through it. Hover over the icon to see whether an organization or the parent repository disabled {% data variables.product.prodname_copilot_short %} for the file. + * **In JetBrains IDEs and {% data variables.product.prodname_vscode %}**, you can also test content exclusions in {% data variables.product.prodname_copilot_chat_short %}. Open the {% data variables.product.prodname_copilot_chat_short %} window, and ask {% data variables.product.prodname_copilot_chat_short %} a question about the excluded file. If your content is excluded successfully, {% data variables.product.prodname_copilot_short %} will be unable to answer your question, and will explain that some files were excluded from the conversation due to content exclusion rules. + * **In Vim/Neovim**, begin typing in the file. If {% data variables.product.prodname_copilot %} no longer provides inline suggestions as you type, the file is excluded. + +## Further reading + +* "[AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot)" diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/index.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/index.md index e838d0245a..e5d01f518b 100644 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/index.md +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/index.md @@ -8,10 +8,8 @@ topics: - Copilot children: - /managing-policies-for-copilot-in-your-organization - - /about-content-exclusions-for-github-copilot - - /configuring-content-exclusions-for-github-copilot - - /testing-changes-to-content-exclusions-in-your-ide - - /reviewing-changes-to-content-exclusions-for-github-copilot + - /excluding-content-from-github-copilot redirect_from: - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization --- + diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/testing-changes-to-content-exclusions-in-your-ide.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/testing-changes-to-content-exclusions-in-your-ide.md deleted file mode 100644 index 1b400e1ba9..0000000000 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/testing-changes-to-content-exclusions-in-your-ide.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: Testing changes to content exclusions in your IDE -intro: 'You can confirm your changes to content exclusions work as expected using your IDE.' -permissions: '{% data reusables.copilot.content-exclusion-permissions %}' -product: '{% data reusables.gated-features.copilot-business-and-enterprise %}' -versions: - feature: copilot -topics: - - Copilot -shortTitle: Test content exclusions -redirect_from: - - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/testing-changes-to-content-exclusions-in-your-ide ---- - -{% data reusables.copilot.content-exclusions-availability-and-beta-note %} - -{% vscode %} - -## Propagating content exclusion changes to {% data variables.product.prodname_vscode %} - -In {% data variables.product.prodname_vscode_shortname %}, you can wait up to 30 minutes to see the effect of a settings change, or you can manually reload content exclusion settings as follows: - -1. Access the Command Palette. For example, by pressing Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux). -1. Type: `reload`. -1. Select **Developer: Reload Window**. - -## Testing changes to content exclusions in {% data variables.product.prodname_vscode %} - -After content exclusion changes propagate to {% data variables.product.prodname_vscode_shortname %}, the {% data variables.product.prodname_copilot_short %} icon indicates when {% data variables.product.prodname_copilot_short %} has been disabled by a content exclusion. - -1. Open a file that you expect to be affected by your content exclusions. - - If a {% data variables.product.prodname_copilot_short %} content exclusion applies to this file, the {% data variables.product.prodname_copilot_short %} icon in the status bar has a diagonal line through it. - -1. Hover over the {% data variables.product.prodname_copilot_short %} icon. A popup message tells you whether an organization or the parent repository disabled {% data variables.product.prodname_copilot_short %} for this file. - - ![Screenshot of the {% data variables.product.prodname_copilot_short %} disabled popup in the {% data variables.product.prodname_vscode_shortname %} toolbar.](/assets/images/help/copilot/copilot-disabled-for-repo.png) - -1. Optionally, you can also test content exclusions in {% data variables.product.prodname_copilot_chat_short %}. Open the {% data variables.product.prodname_copilot_chat_short %} window by clicking the {% data variables.product.prodname_copilot_chat_short %} icon in the activity bar. - - ![Screenshot of the {% data variables.product.prodname_copilot_chat_short %} icon in the Activity Bar.](/assets/images/help/copilot/vsc-copilot-chat-icon.png) - -{% data reusables.copilot.test-content-exclusions-chat %} - -{% endvscode %} - -{% visualstudio %} - -## Propagating content exclusion changes to {% data variables.product.prodname_vs %} - -In {% data variables.product.prodname_vs %}, you can wait up to 30 minutes to see the effect of a settings change, or you can manually reload the content exclusion settings by closing and reopening the application. - -## Testing changes to content exclusions in {% data variables.product.prodname_vs %} - -In {% data variables.product.prodname_vs %}, the {% data variables.product.prodname_copilot_short %} icon indicates when {% data variables.product.prodname_copilot_short %} has been disabled by a content exclusion. - -1. Open a file that you expect to be affected by your content exclusions. - - If a {% data variables.product.prodname_copilot_short %} content exclusion applies to this file, the {% data variables.product.prodname_copilot_short %} icon in the status bar has a diagonal line through it. - -1. Hover over the {% data variables.product.prodname_copilot_short %} icon. A popup message tells you whether an organization or the parent repository disabled {% data variables.product.prodname_copilot_short %} for this file. - - ![Screenshot of the {% data variables.product.prodname_copilot_short %} disabled popup in the {% data variables.product.prodname_vscode_shortname %} toolbar.](/assets/images/help/copilot/copilot-disabled-for-repo.png) - -{% endvisualstudio %} - -{% jetbrains %} - -## Propagating content exclusion changes to JetBrains IDEs - -In supported JetBrains IDEs, you can wait up to 30 minutes to see the effect of a settings change, or you can manually reload the content exclusion settings by closing and reopening the application. - -## Testing changes to content exclusions in JetBrains IDEs - -In supported JetBrains IDEs, the {% data variables.product.prodname_copilot_short %} icon indicates when {% data variables.product.prodname_copilot_short %} has been disabled by a content exclusion. - -1. Open a file that you expect to be affected by your content exclusions. - - If a {% data variables.product.prodname_copilot_short %} content exclusion applies to this file, the {% data variables.product.prodname_copilot_short %} icon in the status bar has a diagonal line through it. - -1. Hover over the {% data variables.product.prodname_copilot_short %} icon. A popup message tells you whether an organization or the parent repository disabled {% data variables.product.prodname_copilot_short %} for this file. - - ![Screenshot of the {% data variables.product.prodname_copilot_short %} disabled popup in the {% data variables.product.prodname_vscode_shortname %} toolbar.](/assets/images/help/copilot/copilot-disabled-for-repo.png) - -1. Optionally, you can also test content exclusions in {% data variables.product.prodname_copilot_chat_short %}. Open the {% data variables.product.prodname_copilot_chat_short %} window by clicking the **{% data variables.product.prodname_copilot_chat_short %}** icon at the right side of the JetBrains IDE window. - - ![Screenshot of the {% data variables.product.prodname_copilot_chat_short %} icon in the Activity Bar.](/assets/images/help/copilot/jetbrains-copilot-chat-icon.png) - -{% data reusables.copilot.test-content-exclusions-chat %} - -{% endjetbrains %} - -{% vimneovim %} - -## Propagating content exclusion changes to Vim/Neovim - -If you are working in Vim/Neovim, content exclusions are automatically fetched from {% data variables.product.prodname_dotcom %} each time you open a file. - -## Testing changes to content exclusions in Vim/Neovim - -1. Open a file that you expect to be affected by your content exclusions. -1. Begin typing. If {% data variables.product.prodname_copilot %} no longer provides inline suggestions as you type, the file is excluded. - -{% endvimneovim %} diff --git a/content/copilot/responsible-use-of-github-copilot-features/index.md b/content/copilot/responsible-use-of-github-copilot-features/index.md index 833e241074..3b10423b02 100644 --- a/content/copilot/responsible-use-of-github-copilot-features/index.md +++ b/content/copilot/responsible-use-of-github-copilot-features/index.md @@ -12,4 +12,5 @@ children: - /responsible-use-of-github-copilot-chat-in-github-mobile - /responsible-use-of-github-copilot-in-the-cli - /responsible-use-of-github-copilot-pull-request-summaries + - /responsible-use-of-github-copilot-text-completion --- diff --git a/content/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-text-completion.md b/content/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-text-completion.md new file mode 100644 index 0000000000..0d7799d151 --- /dev/null +++ b/content/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-text-completion.md @@ -0,0 +1,59 @@ +--- +title: Responsible use of GitHub Copilot text completion +shortTitle: Copilot text completion +intro: 'Learn how to use {% data variables.product.prodname_copilot_autocomplete_pr %} responsibly by understanding its purposes, capabilities, and limitations.' +versions: + feature: copilot +permissions: 'Members of an enterprise with a subscription to {% data variables.product.prodname_copilot_enterprise %}' +topics: + - Copilot +type: rai +--- + +{% ifversion fpt %} + +{% data reusables.rai.copilot.enterprise-fpt-link %} + +{% endif %} + +## About {% data variables.product.prodname_copilot_autocomplete_pr %} + +{% data variables.product.prodname_copilot_autocomplete_pr %} is an AI-powered feature that allows users to more easily write pull request descriptions by suggesting text as you type. + +When you pause briefly while typing a summary, {% data variables.product.prodname_copilot_short %} scans through the pull request and provides suggested prose, attempting to finish your thought. + +The only supported language for {% data variables.product.prodname_copilot_autocomplete_pr %} is English. + +{% data variables.product.prodname_copilot_autocomplete_pr %} uses a simple-prompt flow leveraging the {% data variables.product.prodname_copilot_short %} API, utilizing the generic large language model, with no additional trained models. + +When you pause during typing the pull request description, a call is generated to the {% data variables.product.prodname_copilot_short %} API to generate suggested text to insert into the description at the current cursor position. The text complete request includes information from the pull request, including the pull request title, any text already in the description, the pull request commit titles, partial raw diffs, and recently viewed pull request and issue titles in a prompt that requests {% data variables.product.prodname_copilot_short %} to generate a suggestion for the next words you are likely to type. The response is then displayed as grayed out text following the cursor. You can accept the suggested text by pressing the tab key, or reject the suggestion by simply continuing to type, or moving the cursor focus out of the description field. + +## Use case for pull request text complete + +The goal of {% data variables.product.prodname_copilot_autocomplete_pr %} is to help the pull request author to quickly provide context to the human reviewers of the pull request. When reviewing a pull request it is valuable to understand context such as why changes are being requested and how the pull request makes those changes. It may help increase developer productivity by reducing the time taken to open a pull request. + +## Improving the performance of pull request text complete + +The feature is intended to supplement rather than replace a human's work adding context to pull requests. The quality of the text complete suggestions will depend on the quality of the title, the commit messages, and the text already added to the description. We encourage you to continue adding useful context and let {% data variables.product.prodname_copilot_short %} suggest as you go. It remains your responsibility to review and assess the accuracy of information in the pull requests you create. + +## Limitations of pull request text complete + +Currently, our team is aware that there are limitations to this feature. Many of them are expected in leveraging our {% data variables.product.prodname_copilot_short %} API; however, there are a few that are specific to {% data variables.product.prodname_copilot_autocomplete_pr %} which pertain to limited scope for very large pull requests, and potentially inaccurate responses. We also note that users should expect terms used in their pull request to appear in the AI-generated suggestions. + +This feature has been subject to RAI Red Teaming and we will continue to monitor the efficacy and safety of the feature over time. For more information, see "[Microsoft AI Red Team building future of safer AI](https://www.microsoft.com/en-us/security/blog/2023/08/07/microsoft-ai-red-team-building-future-of-safer-ai/)" on the Microsoft security blog. + +### Limited scope + +It is possible for very large pull requests, that some of the pull request content that the {% data variables.product.prodname_copilot_short %} API relies upon for automatically suggesting text will not fit into the API call, and so for very large pull requests, some of the suggestions you might expect may not occur. + +### Inaccurate responses + +The more inputs and context that {% data variables.product.prodname_copilot_short %} has to work from, the better the text complete suggestions will be. However, since the feature is quite new, it will take time to reach exact precision with the text complete suggestions that are generated. In the meantime, there may be cases where a generated text complete is less accurate and requires the user to make modifications before saving and publishing their pull request with this description. In addition, there is a risk of "hallucination," where {% data variables.product.prodname_copilot_short %} generates statements that are inaccurate. For these reasons, reviewing is a requirement, and careful review of the output is highly recommended. + +### Replication of pull request content + +Because a text complete suggestion is drawn from changes that were made in a pull request, if harmful or offensive terms are within the content of the pull request, there is potential for the suggestion to also include those terms. + +## Further reading + +* [{% data variables.product.prodname_copilot %} Trust Center](https://resources.github.com/copilot-trust-center/) diff --git a/content/copilot/using-github-copilot/asking-github-copilot-questions-in-your-ide.md b/content/copilot/using-github-copilot/asking-github-copilot-questions-in-your-ide.md index 26a8f35393..943d0aed23 100644 --- a/content/copilot/using-github-copilot/asking-github-copilot-questions-in-your-ide.md +++ b/content/copilot/using-github-copilot/asking-github-copilot-questions-in-your-ide.md @@ -35,7 +35,7 @@ You can ask {% data variables.product.prodname_copilot_chat_short %} to give cod > > For additional ways to access {% data variables.product.prodname_copilot_chat_short %}, including inline with your code, see [Additional ways to access {% data variables.product.prodname_copilot_chat_short %}](#additional-ways-to-access-copilot-chat) below. -1. Enter a prompt in the prompt box, or click one of the suggested prompts. For example prompts, see "[Example prompts](#example-prompts)" below. +1. Enter a prompt in the prompt box, or click one of the suggested prompts. For example prompts, see "[AUTOTITLE](/copilot/using-github-copilot/example-use-cases/example-prompts-for-copilot-chat)." 1. Evaluate {% data variables.product.prodname_copilot_short %}'s response, and make a follow up request if needed. @@ -43,15 +43,15 @@ You can ask {% data variables.product.prodname_copilot_chat_short %} to give cod ## Using keywords in your prompt -You can use special keywords to help {% data variables.product.prodname_copilot_short %} understand your prompt. +You can use special keywords to help {% data variables.product.prodname_copilot_short %} understand your prompt. For examples, see "[AUTOTITLE](/copilot/using-github-copilot/example-use-cases/example-prompts-for-copilot-chat)." ### Chat participants Use chat participants to scope your prompt to a specific domain. To use a chat participant, type `@` in the chat prompt box, followed by a chat participant name. Chat participants include: -* `@workspace`: Has context about the code in your workspace. Use `@workspace` when you want {% data variables.product.prodname_copilot_short %} to consider the structure of your project, how different parts of your code interact, or design patterns in your project. See "[Ask questions about your project](#ask-questions-about-your-project)." -* `@vscode`: Has context about {% data variables.product.prodname_vscode %} commands and features. Use `@vscode` when you want help with {% data variables.product.prodname_vscode %}. See "[Ask questions about {% data variables.product.prodname_vscode %}](#ask-questions-about-visual-studio-code)." -* `@terminal`: Has context about the {% data variables.product.prodname_vscode %} terminal shell and its contents. Use `@terminal` when you want help creating or debugging terminal commands. See "[Ask questions about the command line](#ask-questions-about-the-command-line)." +* `@workspace`: Has context about the code in your workspace. Use `@workspace` when you want {% data variables.product.prodname_copilot_short %} to consider the structure of your project, how different parts of your code interact, or design patterns in your project. +* `@vscode`: Has context about {% data variables.product.prodname_vscode %} commands and features. Use `@vscode` when you want help with {% data variables.product.prodname_vscode %}. +* `@terminal`: Has context about the {% data variables.product.prodname_vscode %} terminal shell and its contents. Use `@terminal` when you want help creating or debugging terminal commands. {% ifversion ghec %} * `@github`: Allows you to use {% data variables.product.prodname_dotcom %}-specific {% data variables.product.prodname_copilot_short %} skills. See "[Using {% data variables.product.prodname_dotcom %} skills for {% data variables.product.prodname_copilot_short %}](#using-github-skills-for-copilot)." {% endif %} @@ -83,93 +83,6 @@ Use chat variables to include specific context in your prompt. To use a chat var To see all available chat variables, type `#` in the chat prompt box. See also [Chat variables](https://code.visualstudio.com/docs/copilot/copilot-chat#_chat-variables) in the {% data variables.product.prodname_vscode %} documentation. -## Example prompts - -You can ask {% data variables.product.prodname_copilot_chat_short %} specific questions about your project or general software questions. You can also ask {% data variables.product.prodname_copilot_chat_short %} to write code, fix errors, write tests, and document code. - -### Ask general software questions - -You can ask {% data variables.product.prodname_copilot_chat_short %} general software questions. For example: - -* `tell me about nodejs web server frameworks` -* `how to create an express app` -* `@terminal how to update an npm package` (uses the @terminal [chat participant](#chat-participants)) - -### Ask questions about your project - -You can ask {% data variables.product.prodname_copilot_chat_short %} questions about your project. - -* `what sorting algorithm does this function use` -* `@workspace how are notifications scheduled` -* `#file:gameReducer.js #file:gameInit.js how are these files related` - -To give {% data variables.product.prodname_copilot_short %} the correct context, try some of these strategies: - -* Highlight relevant lines of code -* Use chat variables like `#selection`, `#file`, `#editor`, `#codebase`, or `#git` -* Use the `@workspace` chat participant - -### Write code - -You can ask {% data variables.product.prodname_copilot_short %} to write code for you. For example: - -* `write a function to sum all numbers in a list` -* `add error handling to this function` -* `@workspace add form validation, similar to the newsletter page` - -When {% data variables.product.prodname_copilot_short %} returns a code block, the response includes options to copy the code, or to insert the code at your cursor, into a new file, or into the terminal. - -### Set up a new project - -Use the `/new` slash command to set up a new project. For example: - -* `/new react app with typescript` -* `/new python django web application` -* `/new node.js express server` - -Copilot will suggest a directory structure and provide a button to create the suggested files and contents. To preview a suggested file, select the file name in the suggested directory structure. - -Use the `/newNotebook` slash command to set up a new Jupyter notebook. For example: - -* `/newNotebook retrieve the titanic dataset and use Seaborn to plot the data` - -### Fix, improve, and refactor code - -If your active file contains an error, use the `/fix` slash command to ask {% data variables.product.prodname_copilot_short %} to fix the error. - -You can also make general requests to improve or refactor your code. - -* `how would you improve this code?` -* `translate this code to C#` -* `add error handling to this function` - -### Write tests - -Use the `/tests` slash command to ask {% data variables.product.prodname_copilot_short %} to write tests for the active file or selected code. For example: - -* `/tests` -* `/tests using the Jest framework` -* `/tests ensure the function rejects an empty list` - -The `/tests` slash command writes tests for existing code. If you prefer to write tests before writing code (test driven development), omit the `/tests` command. For example: - -* `Add tests for a JavaScript function that should sum a list of integers` - -### Ask questions about {% data variables.product.prodname_vscode %} - -Use the `@vscode` chat participant to ask specific questions about {% data variables.product.prodname_vscode %}. For example: - -* `@vscode tell me how to debug a node.js app` -* `@vscode how do I change my {% data variables.product.prodname_vscode %} colors` -* `@vscode how can I change key bindings` - -### Ask questions about the command line - -Use the `@terminal` chat participant to ask specific questions about the command line. For example: - -* `@terminal find the largest file in the src directory` -* `@terminal #terminalLastCommand` to explain the last command and any errors - {% ifversion ghec %} ## Using {% data variables.product.prodname_dotcom %} skills for {% data variables.product.prodname_copilot_short %} @@ -233,9 +146,9 @@ To leave feedback about the {% data variables.product.prodname_copilot_chat %} e * "[AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)" * [Using Copilot Chat in VS Code](https://code.visualstudio.com/docs/copilot/copilot-chat) and [Getting started with GitHub Copilot Chat in VS Code](https://code.visualstudio.com/docs/copilot/getting-started-chat) in the {% data variables.product.prodname_vscode %} documentation -{% ifversion ghec %} +{%- ifversion ghec %} * "[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)" -{% endif %} +{%- endif %} * "[AUTOTITLE](/copilot/github-copilot-chat/about-github-copilot-chat)" * "[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)"{% ifversion ghec %} * [{% data variables.product.prodname_copilot %} Trust Center](https://resources.github.com/copilot-trust-center){% endif %} @@ -260,7 +173,7 @@ To leave feedback about the {% data variables.product.prodname_copilot_chat %} e You can ask {% data variables.product.prodname_copilot_chat_short %} to give code suggestions, explain code, generate unit tests, and suggest code fixes. 1. In the {% data variables.product.prodname_vs %} menu bar, click **View**, then click **{% data variables.product.prodname_copilot_chat %}**. -1. In the {% data variables.product.prodname_copilot_chat_short %} window, enter a prompt, then press **Enter**. For example prompts, see "[Example prompts](#example-prompts)" below. +1. In the {% data variables.product.prodname_copilot_chat_short %} window, enter a prompt, then press **Enter**. For example prompts, see "[AUTOTITLE](/copilot/using-github-copilot/example-use-cases/example-prompts-for-copilot-chat)." 1. Evaluate {% data variables.product.prodname_copilot_short %}'s response, and submit a follow up prompt if needed. The response often includes interactive elements. For example, the response may include buttons to copy, insert, or preview the result of a code block. @@ -293,63 +206,6 @@ By default, {% data variables.product.prodname_copilot_chat_short %} will refere See also [Reference](https://learn.microsoft.com/visualstudio/ide/copilot-chat-context#reference) in the {% data variables.product.prodname_vs %} documentation. -## Example prompts - -You can ask {% data variables.product.prodname_copilot_chat_short %} specific questions about your project or general software questions. You can also ask {% data variables.product.prodname_copilot_chat_short %} to write code, fix errors, write tests, and document code. - -### Ask general software questions - -You can ask {% data variables.product.prodname_copilot_chat_short %} general software questions. For example: - -* `tell me about nodejs web server frameworks` -* `how to create an express app` -* `how to update an npm package` - -### Ask questions about your project - -You can ask {% data variables.product.prodname_copilot_chat_short %} questions about your project. To give {% data variables.product.prodname_copilot_short %} the correct context, try some of these strategies: - -* Highlight relevant lines of code -* Open the relevant file -* Use `#file` to tell {% data variables.product.prodname_copilot_short %} to reference specific files -* Use `#solution` to tell {% data variables.product.prodname_copilot_short %} to reference the active file - -For example: - -* `what sorting algorithm does this function use` -* `#file:gameReducer.js what happens when a new game is requested` - -### Write code - -You can ask {% data variables.product.prodname_copilot_short %} to write code for you. For example: - -* `write a function to sum all numbers in a list` -* `add error handling to this function` - -When {% data variables.product.prodname_copilot_short %} returns a code block, the response includes options to copy the code, insert the code into a new file, or preview the code output. - -### Fix, improve, and refactor code - -If your active file contains an error, use the `/fix` slash command to ask {% data variables.product.prodname_copilot_short %} to fix the error. - -You can also make general requests to improve or refactor your code. - -* `how would you improve this code?` -* `translate this code to C#` -* `add error handling to this function` - -### Write tests - -Use the `/tests` slash command to ask {% data variables.product.prodname_copilot_short %} to write tests for the active file or selected code. For example: - -* `/tests` -* `/tests using the Jest framework` -* `/tests ensure the function rejects an empty list` - -The `/tests` slash command writes tests for existing code. If you prefer to write tests before writing code (test driven development), omit the `/tests` command. For example: - -* `Add tests for a JavaScript function that should sum a list of integers` - {% ifversion ghec %} ## Using {% data variables.product.prodname_dotcom %} skills for {% data variables.product.prodname_copilot_short %} (preview) @@ -415,9 +271,9 @@ To share feedback about {% data variables.product.prodname_copilot_chat_short %} * "[AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)" * [Using {% data variables.product.prodname_copilot_chat %} in {% data variables.product.prodname_vs %} in the Microsoft Learn documentation](https://learn.microsoft.com/visualstudio/ide/visual-studio-github-copilot-chat?view=vs-2022#use-copilot-chat-in-visual-studio) * [Tips to improve {% data variables.product.prodname_copilot_chat %} results in the Microsoft Learn documentation](https://learn.microsoft.com/en-us/visualstudio/ide/copilot-chat-context?view=vs-2022) -{% ifversion ghec %} +{%- ifversion ghec %} * "[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)" -{% endif %} +{%- endif %} * "[AUTOTITLE](/copilot/github-copilot-chat/about-github-copilot-chat)" * "[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)"{% ifversion ghec %} * [{% data variables.product.prodname_copilot %} Trust Center](https://resources.github.com/copilot-trust-center){% endif %} @@ -445,7 +301,7 @@ You can ask {% data variables.product.prodname_copilot_chat_short %} to give cod ![Screenshot of the {% data variables.product.prodname_copilot_chat_short %} icon in the Activity Bar.](/assets/images/help/copilot/jetbrains-copilot-chat-icon.png) -1. Enter a prompt in the prompt box. For example prompts, see "[Example prompts](#example-prompts)" below. +1. Enter a prompt in the prompt box. For example prompts, see "[AUTOTITLE](/copilot/using-github-copilot/example-use-cases/example-prompts-for-copilot-chat)." 1. Evaluate {% data variables.product.prodname_copilot_short %}'s response, and submit a follow up prompt if needed. @@ -472,62 +328,6 @@ To see all available slash commands, type `/` in the chat prompt box. By default, {% data variables.product.prodname_copilot_chat_short %} will reference the file that you have open or the code that you have selected. You can also tell {% data variables.product.prodname_copilot_chat_short %} which files to reference by dragging a file into the chat prompt box. Alternatively, you can right click on a file, select **GitHub Copilot**, then select **Reference File in Chat**. -## Example prompts - -You can ask {% data variables.product.prodname_copilot_chat_short %} specific questions about your project or general software questions. You can also ask {% data variables.product.prodname_copilot_chat_short %} to write code, fix errors, write tests, and document code. - -### Ask general software questions - -You can ask {% data variables.product.prodname_copilot_chat_short %} general software questions. For example: - -* `tell me about nodejs web server frameworks` -* `how to create an express app` -* `how to update an npm package` - -### Ask questions about your project - -You can ask {% data variables.product.prodname_copilot_chat_short %} questions about your project. To give {% data variables.product.prodname_copilot_short %} the correct context, try some of these strategies: - -* Highlight relevant lines of code. -* Open the relevant file. -* Add the file as a reference. See [File references](#file-references). - -For example: - -* `what sorting algorithm does this function use` -* `how are these files related` (with references to the files in question) - -### Write code - -You can ask {% data variables.product.prodname_copilot_short %} to write code for you. For example: - -* `write a function to sum all numbers in a list` -* `add error handling to this function` - -When {% data variables.product.prodname_copilot_short %} returns a code block, the response includes options to copy the code or to insert the code at your cursor. - -### Fix, improve, and refactor code - -If your active file contains an error, use the `/fix` slash command to ask {% data variables.product.prodname_copilot_short %} to fix the error. - -You can also make general requests to improve or refactor your code. - -* `how would you improve this code?` -* `translate this code to C#` -* `add error handling to this function` - -### Write tests - -Use the `/tests` slash command to ask {% data variables.product.prodname_copilot_short %} to write tests for the active file or selected code. For example: - -* `/tests` -* `/tests using the Jest framework` -* `/tests ensure the function rejects an empty list` - -The `/tests` slash command writes tests for existing code. If you prefer to write tests before writing code (test driven development), omit the `/tests` command. For example: - -* `Add tests for a JavaScript function that should sum a list of integers` - ## Additional ways to access {% data variables.product.prodname_copilot_chat_short %} In addition to submitting prompts through the chat window, you can submit built-in requests by right clicking in a file, selecting **GitHub Copilot**, then selecting one of the options. @@ -547,7 +347,8 @@ To share feedback about {% data variables.product.prodname_copilot_chat_short %} ## Further reading * "[AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)" -{% ifversion ghec %}- "[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)"{% endif %} +{%- ifversion ghec %} +* "[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)"{% endif %} * "[AUTOTITLE](/copilot/github-copilot-chat/about-github-copilot-chat)" * "[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-copilot-pre-release-terms)" * "[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot) "{% ifversion ghec %} diff --git a/content/copilot/using-github-copilot/example-use-cases/example-prompts-for-copilot-chat.md b/content/copilot/using-github-copilot/example-use-cases/example-prompts-for-copilot-chat.md new file mode 100644 index 0000000000..5684e68521 --- /dev/null +++ b/content/copilot/using-github-copilot/example-use-cases/example-prompts-for-copilot-chat.md @@ -0,0 +1,216 @@ +--- +title: Example prompts for Copilot Chat +intro: 'Get example prompts and use cases for {% data variables.product.prodname_copilot_chat_short %}.' +topics: + - Copilot +defaultTool: vscode +versions: + feature: copilot +shortTitle: Example prompts for chat +--- + +You can ask {% data variables.product.prodname_copilot_chat_short %} specific questions about your project or general software questions. You can also ask {% data variables.product.prodname_copilot_chat_short %} to write code, fix errors, write tests, and document code. + +Use the tabs above to select the environment where you are using {% data variables.product.prodname_copilot_chat_short %}. + +{% vscode %} + +Some of the following example prompts use chat participants (preceded by `@`), slash commands (preceded by `/`), or chat variables (preceded by `#`). For more information on keywords in prompts, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-your-ide#using-keywords-in-your-prompt)." + +## Ask general software questions + +You can ask {% data variables.product.prodname_copilot_chat_short %} general software questions. For example: + +* `tell me about nodejs web server frameworks` +* `how to create an express app` +* `@terminal how to update an npm package` + +## Ask questions about your project + +You can ask {% data variables.product.prodname_copilot_chat_short %} questions about your project. + +* `what sorting algorithm does this function use` +* `@workspace how are notifications scheduled` +* `#file:gameReducer.js #file:gameInit.js how are these files related` + +To give {% data variables.product.prodname_copilot_short %} the correct context, try some of these strategies: + +* Highlight relevant lines of code +* Use chat variables like `#selection`, `#file`, `#editor`, `#codebase`, or `#git` +* Use the `@workspace` chat participant + +## Write code + +You can ask {% data variables.product.prodname_copilot_short %} to write code for you. For example: + +* `write a function to sum all numbers in a list` +* `add error handling to this function` +* `@workspace add form validation, similar to the newsletter page` + +When {% data variables.product.prodname_copilot_short %} returns a code block, the response includes options to copy the code, or to insert the code at your cursor, into a new file, or into the terminal. + +## Set up a new project + +Use the `/new` slash command to set up a new project. For example: + +* `/new react app with typescript` +* `/new python django web application` +* `/new node.js express server` + +Copilot will suggest a directory structure and provide a button to create the suggested files and contents. To preview a suggested file, select the file name in the suggested directory structure. + +Use the `/newNotebook` slash command to set up a new Jupyter notebook. For example: + +* `/newNotebook retrieve the titanic dataset and use Seaborn to plot the data` + +## Fix, improve, and refactor code + +If your active file contains an error, use the `/fix` slash command to ask {% data variables.product.prodname_copilot_short %} to fix the error. + +You can also make general requests to improve or refactor your code. + +* `how would you improve this code?` +* `translate this code to C#` +* `add error handling to this function` + +## Write tests + +Use the `/tests` slash command to ask {% data variables.product.prodname_copilot_short %} to write tests for the active file or selected code. For example: + +* `/tests` +* `/tests using the Jest framework` +* `/tests ensure the function rejects an empty list` + +The `/tests` slash command writes tests for existing code. If you prefer to write tests before writing code (test driven development), omit the `/tests` command. For example: + +* `Add tests for a JavaScript function that should sum a list of integers` + +## Ask questions about {% data variables.product.prodname_vscode %} + +Use the `@vscode` chat participant to ask specific questions about {% data variables.product.prodname_vscode %}. For example: + +* `@vscode tell me how to debug a node.js app` +* `@vscode how do I change my {% data variables.product.prodname_vscode %} colors` +* `@vscode how can I change key bindings` + +## Ask questions about the command line + +Use the `@terminal` chat participant to ask specific questions about the command line. For example: + +* `@terminal find the largest file in the src directory` +* `@terminal #terminalLastCommand` to explain the last command and any errors + +{% endvscode %} + +{% visualstudio %} + +## Ask general software questions + +You can ask {% data variables.product.prodname_copilot_chat_short %} general software questions. For example: + +* `tell me about nodejs web server frameworks` +* `how to create an express app` +* `how to update an npm package` + +## Ask questions about your project + +You can ask {% data variables.product.prodname_copilot_chat_short %} questions about your project. To give {% data variables.product.prodname_copilot_short %} the correct context, try some of these strategies: + +* Highlight relevant lines of code +* Open the relevant file +* Use `#file` to tell {% data variables.product.prodname_copilot_short %} to reference specific files +* Use `#solution` to tell {% data variables.product.prodname_copilot_short %} to reference the active file + +For example: + +* `what sorting algorithm does this function use` +* `#file:gameReducer.js what happens when a new game is requested` + +## Write code + +You can ask {% data variables.product.prodname_copilot_short %} to write code for you. For example: + +* `write a function to sum all numbers in a list` +* `add error handling to this function` + +When {% data variables.product.prodname_copilot_short %} returns a code block, the response includes options to copy the code, insert the code into a new file, or preview the code output. + +## Fix, improve, and refactor code + +If your active file contains an error, use the `/fix` slash command to ask {% data variables.product.prodname_copilot_short %} to fix the error. + +You can also make general requests to improve or refactor your code. + +* `how would you improve this code?` +* `translate this code to C#` +* `add error handling to this function` + +## Write tests + +Use the `/tests` slash command to ask {% data variables.product.prodname_copilot_short %} to write tests for the active file or selected code. For example: + +* `/tests` +* `/tests using the Jest framework` +* `/tests ensure the function rejects an empty list` + +The `/tests` slash command writes tests for existing code. If you prefer to write tests before writing code (test driven development), omit the `/tests` command. For example: + +* `Add tests for a JavaScript function that should sum a list of integers` + +{% endvisualstudio %} + +{% jetbrains %} + +## Ask general software questions + +You can ask {% data variables.product.prodname_copilot_chat_short %} general software questions. For example: + +* `tell me about nodejs web server frameworks` +* `how to create an express app` +* `how to update an npm package` + +## Ask questions about your project + +You can ask {% data variables.product.prodname_copilot_chat_short %} questions about your project. To give {% data variables.product.prodname_copilot_short %} the correct context, try some of these strategies: + +* Highlight relevant lines of code. +* Open the relevant file. +* Add the file as a reference. For information about how to use file references, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-your-ide?tool=jetbrains#file-references)." + +For example: + +* `what sorting algorithm does this function use` +* `how are these files related` (with references to the files in question) + +## Write code + +You can ask {% data variables.product.prodname_copilot_short %} to write code for you. For example: + +* `write a function to sum all numbers in a list` +* `add error handling to this function` + +When {% data variables.product.prodname_copilot_short %} returns a code block, the response includes options to copy the code or to insert the code at your cursor. + +## Fix, improve, and refactor code + +If your active file contains an error, use the `/fix` slash command to ask {% data variables.product.prodname_copilot_short %} to fix the error. + +You can also make general requests to improve or refactor your code. + +* `how would you improve this code?` +* `translate this code to C#` +* `add error handling to this function` + +## Write tests + +Use the `/tests` slash command to ask {% data variables.product.prodname_copilot_short %} to write tests for the active file or selected code. For example: + +* `/tests` +* `/tests using the Jest framework` +* `/tests ensure the function rejects an empty list` + +The `/tests` slash command writes tests for existing code. If you prefer to write tests before writing code (test driven development), omit the `/tests` command. For example: + +* `Add tests for a JavaScript function that should sum a list of integers` + +{% endjetbrains %} diff --git a/content/copilot/using-github-copilot/example-use-cases/index.md b/content/copilot/using-github-copilot/example-use-cases/index.md new file mode 100644 index 0000000000..011f2d9a22 --- /dev/null +++ b/content/copilot/using-github-copilot/example-use-cases/index.md @@ -0,0 +1,11 @@ +--- +title: Example use cases +shortTitle: Examples +intro: 'Learn about good use cases for {% data variables.product.prodname_copilot %}, and get example prompts.' +versions: + feature: copilot +topics: + - Copilot +children: + - /example-prompts-for-copilot-chat +--- diff --git a/content/copilot/using-github-copilot/index.md b/content/copilot/using-github-copilot/index.md index 0b3c9fe3c2..de66ea112f 100644 --- a/content/copilot/using-github-copilot/index.md +++ b/content/copilot/using-github-copilot/index.md @@ -12,10 +12,12 @@ children: - /asking-github-copilot-questions-in-githubcom - /asking-github-copilot-questions-in-github-mobile - /creating-a-pull-request-summary-with-github-copilot + - /using-copilot-text-completion - /using-github-copilot-in-the-command-line - /prompt-engineering-for-github-copilot - /using-extensions-to-integrate-external-tools-with-copilot-chat - /finding-public-code-that-matches-github-copilot-suggestions + - /example-use-cases redirect_from: - /copilot/github-copilot-chat - /copilot/github-copilot-in-the-cli diff --git a/content/copilot/using-github-copilot/using-copilot-text-completion.md b/content/copilot/using-github-copilot/using-copilot-text-completion.md new file mode 100644 index 0000000000..dea253b300 --- /dev/null +++ b/content/copilot/using-github-copilot/using-copilot-text-completion.md @@ -0,0 +1,38 @@ +--- +title: Using Copilot text completion +shortTitle: Text completion +intro: 'You can use {% data variables.product.prodname_copilot_autocomplete_pr %} to help you write pull request descriptions more quickly and accurately.' +versions: + feature: copilot-enterprise +permissions: 'Members of an enterprise with a subscription to [{% data variables.product.prodname_copilot_enterprise %}](/copilot/github-copilot-enterprise/overview/about-github-copilot-enterprise)' +topics: + - Copilot +--- + +>[!NOTE] +> {% data variables.product.prodname_copilot_autocomplete_pr %} is currently in beta and subject to change. To participate in the beta, an administrator of your enterprise must opt in to the use of previews of {% data variables.product.prodname_copilot_short %} features. + +## About {% data variables.product.prodname_copilot_autocomplete_pr %} + +With {% data variables.product.prodname_copilot_autocomplete_pr %}, you can use AI-generated autocompletions to help you write pull request descriptions quickly and accurately. Accurate descriptions help reviewers understand the changes you're proposing, and help you communicate the purpose of your pull request more effectively. + +When you are creating a new pull request, {% data variables.product.prodname_copilot_autocomplete_pr %} will scan through the pull request and provide suggestions as you write, based on the context of the pull request. + +## Using {% data variables.product.prodname_copilot_autocomplete_pr %} + +You can use {% data variables.product.prodname_copilot_autocomplete_pr %} in the description of a new pull request you're creating. + +1. On {% data variables.product.prodname_dotcom_the_website %}, create a pull request. +1. In the description field, start typing your description. +1. As you type, {% data variables.product.prodname_copilot_short %} will provide in-line suggestions based on the context of the pull request. +1. Review the suggestions, which will be shown in grey. + * To accept a suggestion, press `Tab`. + * To ignore a suggestion, press `Esc` or continue typing. {% data variables.product.prodname_copilot_short %} will provide new suggestions as you type, based on the additional context. +1. When you're happy with the description, click **Create pull request**. + +## Disabling or enabling {% data variables.product.prodname_copilot_autocomplete_pr %} + +You can disable or enable {% data variables.product.prodname_copilot_autocomplete_pr %} for your pull request descriptions. Your preference will be saved for future pull requests. + +1. On {% data variables.product.prodname_dotcom_the_website %}, create a pull request. +1. At the top of the description field, select {% octicon "copilot" aria-hidden="true" %} then hover over **Autocomplete (Beta)**, and click **Disabled** or **Enabled**. diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/applying-to-be-a-github-campus-expert.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/applying-to-be-a-github-campus-expert.md index 4c73a023cb..cac0a9790b 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/applying-to-be-a-github-campus-expert.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/applying-to-be-a-github-campus-expert.md @@ -34,7 +34,7 @@ To become a {% data variables.product.prodname_student_leader_program_singular % ### Submitting your application form In the application form, we’re looking for students to tell us about the challenges their student community faces, what opportunities they want to build for their peers, and the potential they see for growth. -1. Go to [https://education.github.com/experts](https://education.github.com/experts). +1. Go to [https://education.github.com/campus_experts](https://education.github.com/campus_experts). 1. To learn if applications are open, click **Become a Campus Expert** {% octicon "arrow-right" aria-label="The right arrow icon" %}. 1. If applications are open, a new page will appear titled “Your journey starts here”. To start your application, click **Apply Now**. diff --git a/content/get-started/learning-about-github/github-language-support.md b/content/get-started/learning-about-github/github-language-support.md index dc95e19f1a..23ea1d277c 100644 --- a/content/get-started/learning-about-github/github-language-support.md +++ b/content/get-started/learning-about-github/github-language-support.md @@ -37,9 +37,7 @@ Some features are supported for additional languages or package managers. If you {% data reusables.supported-languages.ruby %} {% data reusables.supported-languages.rust %} {% data reusables.supported-languages.scala %} -{%- ifversion codeql-swift-beta or supply-chain-features-swift-support %} {% data reusables.supported-languages.swift %} -{%- endif %} {% data reusables.supported-languages.typescript %} {% note %} diff --git a/content/graphql/guides/managing-enterprise-accounts.md b/content/graphql/guides/managing-enterprise-accounts.md index 2a9d81711f..cfd3d851df 100644 --- a/content/graphql/guides/managing-enterprise-accounts.md +++ b/content/graphql/guides/managing-enterprise-accounts.md @@ -203,8 +203,6 @@ For more information about getting started with GraphQL, see "[AUTOTITLE](/graph ## GraphQL fields and types for the Enterprise Accounts API -Here's an overview of the new queries, mutations, and schema defined types available for use with the Enterprise Accounts API. - For more details about the new queries, mutations, and schema defined types available for use with the Enterprise Accounts API, see the sidebar with detailed GraphQL definitions from any [GraphQL reference page](/graphql). You can access the reference docs from within the GraphQL explorer on GitHub. For more information, see "[AUTOTITLE](/graphql/guides/using-the-explorer#accessing-the-sidebar-docs)." diff --git a/content/organizations/collaborating-with-groups-in-organizations/viewing-usage-metrics-for-github-actions.md b/content/organizations/collaborating-with-groups-in-organizations/viewing-usage-metrics-for-github-actions.md index abadf0e68e..fe90f3cf87 100644 --- a/content/organizations/collaborating-with-groups-in-organizations/viewing-usage-metrics-for-github-actions.md +++ b/content/organizations/collaborating-with-groups-in-organizations/viewing-usage-metrics-for-github-actions.md @@ -8,25 +8,30 @@ versions: feature: actions-usage-metrics --- -{% data reusables.actions.actions-usage-metrics-beta-note %} - ## About {% data variables.product.prodname_actions %} usage metrics {% data reusables.actions.about-actions-usage-metrics %} {% data reusables.actions.actions-usage-metrics-not-billing-metrics %} - + ## Enabling access to {% data variables.product.prodname_actions %} usage metrics Organization owners can create custom organization roles to allow people to view {% data variables.product.prodname_actions %} usage metrics for their organization. To provide users with access, select the "View organization Actions usage metrics" role when creating a custom organization role. For more information, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." +## Understanding {% data variables.product.prodname_actions %} usage metrics aggregation + +{% data reusables.actions.about-actions-usage-metrics-aggregation %} + ## Viewing {% data variables.product.prodname_actions %} usage metrics +> [!NOTE] +There may be a discrepancy between the **Workflows** tab's job count and the **Jobs** tab's count due to differences in how unique jobs are identified. This does not affect the total minutes calculated. + {% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.insights %} 1. In the "Insights" navigation menu, click **Actions Usage Metrics**. -1. Optionally, to select a time period to view usage metrics for, choose an option from the **Period** drop down menu at the top right of the page. +1. Optionally, to select a time period to view usage metrics for, choose an option from the **Period** drop down menu at the top right of the page. For more information, see "[Understanding {% data variables.product.prodname_actions %} usage metrics aggregation](#understanding-github-actions-usage-metrics-aggregation)." 1. Click on the tab that contains the usage metrics you would like to view. For more information, see "[About {% data variables.product.prodname_actions %} usage metrics](#about-github-actions-usage-metrics)." 1. Optionally, to filter the data displayed in a tab, create a filter. 1. Click on the **{% octicon "filter" aria-hidden="true" %} Filter** button. diff --git a/content/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization.md b/content/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization.md index b9f8cd1877..c20b9f1303 100644 --- a/content/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization.md +++ b/content/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization.md @@ -1,7 +1,7 @@ --- title: Managing custom properties for repositories in your organization intro: 'With custom properties, you can add metadata to repositories in your organization. You can use those properties to target repositories with rulesets.' -permissions: 'Organization owners can add and set a custom property schema at the organization level. People with read permissions to a repository can view the values of custom properties for that repository.' +permissions: 'Organization owners {% ifversion custom-org-roles %}and users with the "Manage the organization''s custom properties definitions" permission {% endif %}can add and set a custom property schema at the organization level.' versions: feature: repository-properties topics: @@ -43,7 +43,7 @@ You can add custom properties to your organization and set values for those prop ## Setting values for repositories in your organization -You can set values for custom properties for repositories in your organization. +You{% ifversion custom-org-roles %}, and any users with the "Edit custom properties values at the organization level" permission,{% endif %} can set values for custom properties for repositories in your organization. {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} diff --git a/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md b/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md index 699c21b60b..233042fdf9 100644 --- a/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md +++ b/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md @@ -54,7 +54,7 @@ To simplify reviewing changes in a large pull request, you can filter the diff t ## Three-dot and two-dot Git diff comparisons -There are two comparison methods for the `git diff` command; two-dot (`git diff A..B`) and three-dot (`git diff A...B`). By default, pull requests on {% data variables.product.prodname_dotcom %} show a three-dot diff. +There are two comparison methods for the `git diff` command; two-dot (`git diff A..B`) and three-dot (`git diff A...B`). Pull requests on {% data variables.product.prodname_dotcom %} show a three-dot diff. ### Three-dot Git diff comparison diff --git a/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics.md b/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics.md index 8b0fbe2282..c0afe350e8 100644 --- a/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics.md +++ b/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics.md @@ -32,9 +32,9 @@ Repository admins can add any topics they'd like to a repository. Helpful topics You can search for repositories that are associated with a particular topic. For more information, see "[AUTOTITLE](/search-github/searching-on-github/searching-for-repositories#search-by-topic)." You can also search for a list of topics on {% data variables.product.product_name %}. For more information, see "[AUTOTITLE](/search-github/searching-on-github/searching-topics)." When creating a topic: -* use lowercase letters, numbers, and hyphens. -* use 50 characters or less. -* add no more than 20 topics. +* Use lowercase letters, numbers, and hyphens. +* Use 50 characters or less. +* Add no more than 20 topics. ## Adding topics to your repository diff --git a/content/rest/dependency-graph/dependency-submission.md b/content/rest/dependency-graph/dependency-submission.md index de193331d9..cacded936f 100644 --- a/content/rest/dependency-graph/dependency-submission.md +++ b/content/rest/dependency-graph/dependency-submission.md @@ -12,8 +12,6 @@ autogenerated: rest ## About dependency submissions -{% data reusables.dependency-submission.dependency-submission-api-beta %} - {% data reusables.dependency-submission.about-dependency-submission %} You can submit dependencies in the form of a snapshot. A snapshot is a set of dependencies associated with a commit SHA and other metadata, that reflects the current state of your repository for a commit. You can choose to use pre-made actions or create your own actions to submit your dependencies in the required format each time your project is built. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)." diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts.md index a269fa85ea..e9313f53bc 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts.md @@ -19,9 +19,12 @@ When you sign up for a {% data variables.product.prodname_sponsors %} profile so {% data variables.product.prodname_sponsors %} supports these fiscal hosts: -* [Open Source Collective](https://opencollective.com/opensource) +* [Hack Club](https://hackclub.com/) * [NumFOCUS](https://www.numfocus.org/) * [Open Collective Europe](https://opencollective.com/europe) +* [Open Source Collective](https://opencollective.com/opensource) +* [Python Software Foundation](https://www.python.org/psf-landing/) +* [Software in the Public Interest](https://www.spi-inc.org/) * [Software Underground](https://softwareunderground.org/) ## Choosing to use a fiscal host diff --git a/data/features/codeql-kotlin-beta.yml b/data/features/codeql-kotlin-beta.yml index 47cd2bcc8a..27d98ca79c 100644 --- a/data/features/codeql-kotlin-beta.yml +++ b/data/features/codeql-kotlin-beta.yml @@ -1,3 +1,6 @@ +# Reference: #2703 and #15120 +# 2024-07-17 GA + versions: fpt: '*' ghec: '*' diff --git a/data/features/codeql-swift-beta.yml b/data/features/codeql-swift-beta.yml index 1ce4c2ad51..061d1e9890 100644 --- a/data/features/codeql-swift-beta.yml +++ b/data/features/codeql-swift-beta.yml @@ -1,5 +1,6 @@ -# Reference: #10251. +# Reference: #10251 and #15120 # [2023-06-01] Swift support for code scanning users (GitHub docs site) [Public beta] +# 2024-07-17 GA versions: fpt: '*' ghec: '*' diff --git a/data/features/maven-transitive-dependencies.yml b/data/features/maven-transitive-dependencies.yml new file mode 100644 index 0000000000..576e454fc4 --- /dev/null +++ b/data/features/maven-transitive-dependencies.yml @@ -0,0 +1,5 @@ +# Reference: #114733 +# Automatic dependency submission for Maven +versions: + fpt: '*' + ghec: '*' diff --git a/data/reusables/actions/about-actions-usage-metrics-aggregation.md b/data/reusables/actions/about-actions-usage-metrics-aggregation.md new file mode 100644 index 0000000000..8232b320c0 --- /dev/null +++ b/data/reusables/actions/about-actions-usage-metrics-aggregation.md @@ -0,0 +1,14 @@ +The time period selection feature allows you to view {% data variables.product.prodname_actions %} usage metrics over predefined periods, as detailed in the following table. These metrics include skipped runs and those that use zero minutes. Data is presented using Coordinated Universal Time (UTC) days. + +{% rowheaders %} + +| Period | Description | +|------------------------|------------------------------------------------------------------------------| +| Current week (Mon-Sun) | Data from Monday through the current day when the page is viewed. | +| Current month | Data from the first of the month to the current day when the page is viewed. | +| Last week | Data from the first day to the last day of the previous month. | +| Last 30 days | Data from the last 30 days to when the page is viewed. | +| Last 90 days | Data from the last 90 days to when the page is viewed. | +| Last year | Data aggregated for the last 12 months. | + +{% endrowheaders %} diff --git a/data/reusables/actions/actions-usage-metrics-beta-note.md b/data/reusables/actions/actions-usage-metrics-beta-note.md deleted file mode 100644 index 3df2f9bbec..0000000000 --- a/data/reusables/actions/actions-usage-metrics-beta-note.md +++ /dev/null @@ -1 +0,0 @@ ->[!NOTE] {% data variables.product.prodname_actions %} usage metrics are in beta and subject to change. diff --git a/data/reusables/actions/azure-vnet-procedures-prereqs.md b/data/reusables/actions/azure-vnet-procedures-prereqs.md index 7ee7d2732e..3354efe032 100644 --- a/data/reusables/actions/azure-vnet-procedures-prereqs.md +++ b/data/reusables/actions/azure-vnet-procedures-prereqs.md @@ -10,6 +10,8 @@ You will use a script to automate configuring your Azure resources. * Save the following `.bicep` file. Name the file `actions-nsg-deployment.bicep`. + The `.bicep` file we provide contains the minimal set of rules to use {% data variables.product.company_short %}-hosted runners with Azure VNET. You may need to add rules for your specific use case. + {% note %} **Note:** Alternatively, to allow {% data variables.product.prodname_actions %} to communicate with the runners, you can allow the same firewall domains that are required for communication between self-hosted runners and {% data variables.product.product_name %}. For more information, see "[AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github-enterprise-cloud)." To determine the appropriate subnet IP address range, we recommend adding a 30% buffer to the maximum job concurrency you anticipate. For instance, if your network configuration's runners are set to a maximum job concurrency of 300, it's recommended to utilize a subnet IP address range that can accommodate at least 390 runners. This buffer helps ensure that your network can handle unexpected increases in VM needs to meet job concurrency without running out of IP addresses. diff --git a/data/reusables/code-scanning/alerts-found-in-generated-code.md b/data/reusables/code-scanning/alerts-found-in-generated-code.md index 71a2bf2180..904988afb8 100644 --- a/data/reusables/code-scanning/alerts-found-in-generated-code.md +++ b/data/reusables/code-scanning/alerts-found-in-generated-code.md @@ -1,3 +1,3 @@ -For compiled languages like Java,{% ifversion codeql-kotlin-beta %} Kotlin, {% endif %}{% ifversion codeql-go-autobuild %} Go,{% endif %} C, C++, and C#, {% data variables.product.prodname_codeql %} analyzes all of the code which was built during the workflow run. To limit the amount of code being analyzed, build only the code which you wish to analyze by specifying your own build steps in a `run` block. You can combine specifying your own build steps with using the `paths` or `paths-ignore` filters on the `pull_request` and `push` events to ensure that your workflow only runs when specific code is changed. For more information, see "[AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)." +For compiled languages like Java, Kotlin, {% ifversion codeql-go-autobuild %} Go,{% endif %} C, C++, and C#, {% data variables.product.prodname_codeql %} analyzes all of the code which was built during the workflow run. To limit the amount of code being analyzed, build only the code which you wish to analyze by specifying your own build steps in a `run` block. You can combine specifying your own build steps with using the `paths` or `paths-ignore` filters on the `pull_request` and `push` events to ensure that your workflow only runs when specific code is changed. For more information, see "[AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)." For languages like{% ifversion codeql-go-autobuild %}{% else %} Go,{% endif %} JavaScript, Python, and TypeScript, that {% data variables.product.prodname_codeql %} analyzes without compiling the source code, you can specify additional configuration options to limit the amount of code to analyze. For more information, see "[AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#specifying-directories-to-scan)." diff --git a/data/reusables/code-scanning/beta-kotlin-or-swift-support.md b/data/reusables/code-scanning/beta-kotlin-or-swift-support.md deleted file mode 100644 index b440bd2b76..0000000000 --- a/data/reusables/code-scanning/beta-kotlin-or-swift-support.md +++ /dev/null @@ -1,19 +0,0 @@ -{% ifversion codeql-swift-beta and codeql-kotlin-beta %} - {% note %} - - **Note:** {% data variables.product.prodname_codeql %} analysis for Kotlin and Swift is currently in beta. During the beta, analysis of Kotlin and Swift code, and the accompanying documentation, will not be as comprehensive as for other languages. Additionally, Swift 5.9 is not yet supported. - - {% endnote %} -{% elsif codeql-swift-beta %} - {% note %} - - **Note:** {% data variables.product.prodname_codeql %} analysis for Swift is currently in beta. During the beta, analysis of Swift code, and the accompanying documentation, will not be as comprehensive as for other languages. Additionally, Swift 5.8 is not yet supported. - - {% endnote %} -{% elsif codeql-kotlin-beta %} - {% note %} - - **Note:** {% data variables.product.prodname_codeql %} analysis for Kotlin is currently in beta. During the beta, analysis of Kotlin code, and the accompanying documentation, will not be as comprehensive as for other languages. - - {% endnote %} -{% endif %} diff --git a/data/reusables/code-scanning/beta-kotlin-support.md b/data/reusables/code-scanning/beta-kotlin-support.md deleted file mode 100644 index db54caba63..0000000000 --- a/data/reusables/code-scanning/beta-kotlin-support.md +++ /dev/null @@ -1,9 +0,0 @@ -{% ifversion codeql-kotlin-beta %} - -{% note %} - -**Note**: {% data variables.product.prodname_codeql %} analysis for Kotlin is currently in beta. During the beta, analysis of Kotlin will be less comprehensive than {% data variables.product.prodname_codeql %} analysis of other languages. - -{% endnote %} - -{% endif %} diff --git a/data/reusables/code-scanning/beta-swift-support.md b/data/reusables/code-scanning/beta-swift-support.md deleted file mode 100644 index 4e6cc5cf13..0000000000 --- a/data/reusables/code-scanning/beta-swift-support.md +++ /dev/null @@ -1,8 +0,0 @@ -{% ifversion codeql-swift-beta %} -{% note %} - -**Notes:** -* {% data variables.product.prodname_codeql %} analysis for Swift is currently in beta. During the beta, analysis of Swift code, and the accompanying documentation, will not be as comprehensive as for other languages. - -{% endnote %} -{% endif %} diff --git a/data/reusables/code-scanning/codeql-language-identifiers-table.md b/data/reusables/code-scanning/codeql-language-identifiers-table.md index 8def181409..e9d7951b1b 100644 --- a/data/reusables/code-scanning/codeql-language-identifiers-table.md +++ b/data/reusables/code-scanning/codeql-language-identifiers-table.md @@ -9,9 +9,7 @@ | JavaScript/TypeScript | `javascript-typescript` | `javascript` or `typescript` | | Python | `python` | | Ruby | `ruby` -{%- ifversion codeql-swift-beta %} | Swift | `swift` -{%- endif %} {% note %} @@ -26,12 +24,10 @@ | C/C++ | `cpp` | C# | `csharp` | Go | `go` -| Java{% ifversion codeql-kotlin-beta %}/Kotlin{% endif %} | `java` +| Java/Kotlin | `java` | JavaScript/TypeScript | `javascript` | Python | `python` | Ruby | `ruby` -{%- ifversion codeql-swift-beta %} | Swift | `swift` -{%- endif %} {% endif %} diff --git a/data/reusables/code-scanning/codeql-languages-bullets.md b/data/reusables/code-scanning/codeql-languages-bullets.md index 866b735076..a18f355da7 100644 --- a/data/reusables/code-scanning/codeql-languages-bullets.md +++ b/data/reusables/code-scanning/codeql-languages-bullets.md @@ -2,21 +2,17 @@ * C/C++ * C# * Go -* Java{% ifversion codeql-kotlin-beta %}/Kotlin{% endif %} +* Java/Kotlin * JavaScript/TypeScript * Python * Ruby -{% ifversion codeql-swift-beta %}- Swift{% endif %} +* Swift {% note %} **Notes**: -{% ifversion codeql-swift-beta %} -* {% data variables.product.prodname_codeql %} analysis for Swift is currently in beta. During the beta, analysis of Swift will be less comprehensive than {% data variables.product.prodname_codeql %} analysis of other languages. Additionally, Swift 5.8 is not yet supported.{% endif %} -{% ifversion codeql-kotlin-beta %} -* {% data variables.product.prodname_codeql %} analysis for Kotlin is currently in beta. During the beta, analysis of Kotlin will be less comprehensive than {% data variables.product.prodname_codeql %} analysis of other languages. -* Use {% ifversion codeql-language-identifiers-311 %}`java-kotlin`{% else %}`java`{% endif %} to analyze code written in Java, Kotlin or both.{% endif %} +* Use {% ifversion codeql-language-identifiers-311 %}`java-kotlin`{% else %}`java`{% endif %} to analyze code written in Java, Kotlin or both. * Use {% ifversion codeql-language-identifiers-311 %}`javascript-typescript`{% else %}`javascript`{% endif %} to analyze code written in JavaScript, TypeScript or both. {% endnote %} diff --git a/data/reusables/code-scanning/codeql-languages-keywords.md b/data/reusables/code-scanning/codeql-languages-keywords.md index 9d9e0975b7..f48194a2a5 100644 --- a/data/reusables/code-scanning/codeql-languages-keywords.md +++ b/data/reusables/code-scanning/codeql-languages-keywords.md @@ -1 +1 @@ -{% ifversion codeql-language-identifiers-311 %}`c-cpp`, `csharp`, `go`, `java-kotlin`, `javascript-typescript`, `python`, {% ifversion codeql-swift-beta %}`ruby`, and `swift`{% else %}and `ruby`{% endif %}{% else %}`cpp`, `csharp`, `go`, `java`, `javascript`, `python`, {% ifversion codeql-swift-beta %}`ruby`, and `swift`{% else %}and `ruby`{% endif %}{% endif %} +{% ifversion codeql-language-identifiers-311 %}`c-cpp`, `csharp`, `go`, `java-kotlin`, `javascript-typescript`, `python`, `ruby`, and `swift`{% else %}`cpp`, `csharp`, `go`, `java`, `javascript`, `python`, `ruby`, and `swift`{% endif %} diff --git a/data/reusables/code-scanning/codeql-query-tables/cpp.md b/data/reusables/code-scanning/codeql-query-tables/cpp.md index bc664bbbb4..5107f1c5cc 100644 --- a/data/reusables/code-scanning/codeql-query-tables/cpp.md +++ b/data/reusables/code-scanning/codeql-query-tables/cpp.md @@ -18,6 +18,7 @@ | [Failure to use HTTPS URLs](https://codeql.github.com/codeql-query-help/cpp/cpp-non-https-url/) | 319, 345 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [File opened with O_CREAT flag but without mode argument](https://codeql.github.com/codeql-query-help/cpp/cpp-open-call-with-mode-argument/) | 732 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Incorrect return-value check for a 'scanf'-like function](https://codeql.github.com/codeql-query-help/cpp/cpp-incorrectly-checked-scanf/) | 253 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Iterator to expired container](https://codeql.github.com/codeql-query-help/cpp/cpp-iterator-to-expired-container/) | 416, 664 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Likely overrunning write](https://codeql.github.com/codeql-query-help/cpp/cpp-very-likely-overrunning-write/) | 120, 787, 805 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Mismatching new/free or malloc/delete](https://codeql.github.com/codeql-query-help/cpp/cpp-new-free-mismatch/) | 401 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Multiplication result converted to larger type](https://codeql.github.com/codeql-query-help/cpp/cpp-integer-multiplication-cast-to-long/) | 190, 192, 197, 681 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | @@ -26,6 +27,7 @@ | [Potential double free](https://codeql.github.com/codeql-query-help/cpp/cpp-double-free/) | 415 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | | [Potential use after free](https://codeql.github.com/codeql-query-help/cpp/cpp-use-after-free/) | 416 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Potentially overflowing call to snprintf](https://codeql.github.com/codeql-query-help/cpp/cpp-overflowing-snprintf/) | 190, 253 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Potentially unsafe call to strncat](https://codeql.github.com/codeql-query-help/cpp/cpp-unsafe-strncat/) | 788, 676, 119, 251 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Redundant null check due to previous dereference](https://codeql.github.com/codeql-query-help/cpp/cpp-redundant-null-check-simple/) | 476 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Returning stack-allocated memory](https://codeql.github.com/codeql-query-help/cpp/cpp-return-stack-allocated-memory/) | 825 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Setting a DACL to NULL in a SECURITY_DESCRIPTOR](https://codeql.github.com/codeql-query-help/cpp/cpp-unsafe-dacl-security-descriptor/) | 732 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | @@ -62,7 +64,6 @@ | [Incorrect 'not' operator usage](https://codeql.github.com/codeql-query-help/cpp/cpp-incorrect-not-operator-usage/) | 480 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Incorrect allocation-error handling](https://codeql.github.com/codeql-query-help/cpp/cpp-incorrect-allocation-error-handling/) | 570, 252, 755 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Invalid pointer dereference](https://codeql.github.com/codeql-query-help/cpp/cpp-invalid-pointer-deref/) | 119, 125, 193, 787 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Iterator to expired container](https://codeql.github.com/codeql-query-help/cpp/cpp-iterator-to-expired-container/) | 416, 664 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Missing return-value check for a 'scanf'-like function](https://codeql.github.com/codeql-query-help/cpp/cpp-missing-check-scanf/) | 252, 253 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Non-constant format string](https://codeql.github.com/codeql-query-help/cpp/cpp-non-constant-format/) | 134 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Not enough memory allocated for array of pointer type](https://codeql.github.com/codeql-query-help/cpp/cpp-suspicious-allocation-size/) | 131, 122 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | @@ -75,7 +76,6 @@ | [Potentially overrunning write](https://codeql.github.com/codeql-query-help/cpp/cpp-overrunning-write/) | 120, 787, 805 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Potentially overrunning write with float to string conversion](https://codeql.github.com/codeql-query-help/cpp/cpp-overrunning-write-with-float/) | 120, 787, 805 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Potentially uninitialized local variable](https://codeql.github.com/codeql-query-help/cpp/cpp-uninitialized-local/) | 665, 457 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Potentially unsafe call to strncat](https://codeql.github.com/codeql-query-help/cpp/cpp-unsafe-strncat/) | 788, 676, 119, 251 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Potentially unsafe use of strcat](https://codeql.github.com/codeql-query-help/cpp/cpp-unsafe-strcat/) | 676, 120, 251 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Suspicious 'sizeof' use](https://codeql.github.com/codeql-query-help/cpp/cpp-suspicious-sizeof/) | 467 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Suspicious pointer scaling](https://codeql.github.com/codeql-query-help/cpp/cpp-suspicious-pointer-scaling/) | 468 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | diff --git a/data/reusables/code-scanning/codeql-query-tables/javascript.md b/data/reusables/code-scanning/codeql-query-tables/javascript.md index 2684745bdc..75229473e6 100644 --- a/data/reusables/code-scanning/codeql-query-tables/javascript.md +++ b/data/reusables/code-scanning/codeql-query-tables/javascript.md @@ -41,6 +41,7 @@ | [Incorrect suffix check](https://codeql.github.com/codeql-query-help/javascript/js-incorrect-suffix-check/) | 020 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Inefficient regular expression](https://codeql.github.com/codeql-query-help/javascript/js-redos/) | 1333, 730, 400 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Information exposure through a stack trace](https://codeql.github.com/codeql-query-help/javascript/js-stack-trace-exposure/) | 209, 497 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Insecure configuration of Helmet security middleware](https://codeql.github.com/codeql-query-help/javascript/js-insecure-helmet-configuration/) | 693, 1021 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | | [Insecure randomness](https://codeql.github.com/codeql-query-help/javascript/js-insecure-randomness/) | 338 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Insecure URL whitelist](https://codeql.github.com/codeql-query-help/javascript/js-angular-insecure-url-whitelist/) | 183, 625 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [JWT missing secret or public key verification](https://codeql.github.com/codeql-query-help/javascript/js-jwt-missing-verification/) | 347 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | @@ -76,6 +77,7 @@ | [Unsafe HTML constructed from library input](https://codeql.github.com/codeql-query-help/javascript/js-html-constructed-from-input/) | 079, 116 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Unsafe jQuery plugin](https://codeql.github.com/codeql-query-help/javascript/js-unsafe-jquery-plugin/) | 079, 116 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Unsafe shell command constructed from library input](https://codeql.github.com/codeql-query-help/javascript/js-shell-command-constructed-from-input/) | 078, 088 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Untrusted domain used in script or other content](https://codeql.github.com/codeql-query-help/javascript/js-functionality-from-untrusted-domain/) | 830 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | | [Unvalidated dynamic method call](https://codeql.github.com/codeql-query-help/javascript/js-unvalidated-dynamic-method-call/) | 754 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Use of a broken or weak cryptographic algorithm](https://codeql.github.com/codeql-query-help/javascript/js-weak-cryptographic-algorithm/) | 327, 328 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | [Use of a weak cryptographic key](https://codeql.github.com/codeql-query-help/javascript/js-insufficient-key-size/) | 326 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | diff --git a/data/reusables/code-scanning/codeql-query-tables/swift.md b/data/reusables/code-scanning/codeql-query-tables/swift.md index cce0f99a6b..0cfd21ca74 100644 --- a/data/reusables/code-scanning/codeql-query-tables/swift.md +++ b/data/reusables/code-scanning/codeql-query-tables/swift.md @@ -1,33 +1,33 @@ {% rowheaders %} -| Query name | Related CWEs | Default | Extended | -| --- | --- | --- | --- | -| [Bad HTML filtering regexp](https://codeql.github.com/codeql-query-help/swift/swift-bad-tag-filter/) | 116, 020, 185, 186 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Cleartext logging of sensitive information](https://codeql.github.com/codeql-query-help/swift/swift-cleartext-logging/) | 312, 359, 532 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Cleartext storage of sensitive information in a local database](https://codeql.github.com/codeql-query-help/swift/swift-cleartext-storage-database/) | 312 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Cleartext storage of sensitive information in an application preference store](https://codeql.github.com/codeql-query-help/swift/swift-cleartext-storage-preferences/) | 312 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Cleartext transmission of sensitive information](https://codeql.github.com/codeql-query-help/swift/swift-cleartext-transmission/) | 319 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Constant password](https://codeql.github.com/codeql-query-help/swift/swift-constant-password/) | 259 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Database query built from user-controlled sources](https://codeql.github.com/codeql-query-help/swift/swift-sql-injection/) | 089 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Encryption using ECB](https://codeql.github.com/codeql-query-help/swift/swift-ecb-encryption/) | 327 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Hard-coded encryption key](https://codeql.github.com/codeql-query-help/swift/swift-hardcoded-key/) | 321 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Incomplete regular expression for hostnames](https://codeql.github.com/codeql-query-help/swift/swift-incomplete-hostname-regexp/) | 020 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Inefficient regular expression](https://codeql.github.com/codeql-query-help/swift/swift-redos/) | 1333, 730, 400 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Insecure TLS configuration](https://codeql.github.com/codeql-query-help/swift/swift-insecure-tls/) | 757 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Insufficient hash iterations](https://codeql.github.com/codeql-query-help/swift/swift-insufficient-hash-iterations/) | 916 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Missing regular expression anchor](https://codeql.github.com/codeql-query-help/swift/swift-missing-regexp-anchor/) | 020 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Predicate built from user-controlled sources](https://codeql.github.com/codeql-query-help/swift/swift-predicate-injection/) | 943 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Regular expression injection](https://codeql.github.com/codeql-query-help/swift/swift-regex-injection/) | 730, 400 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Resolving XML external entity in user-controlled data](https://codeql.github.com/codeql-query-help/swift/swift-xxe/) | 611, 776, 827 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Static initialization vector for encryption](https://codeql.github.com/codeql-query-help/swift/swift-static-initialization-vector/) | 329, 1204 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [String length conflation](https://codeql.github.com/codeql-query-help/swift/swift-string-length-conflation/) | 135 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [System command built from user-controlled sources](https://codeql.github.com/codeql-query-help/swift/swift-command-line-injection/) | 078, 088 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Uncontrolled data used in path expression](https://codeql.github.com/codeql-query-help/swift/swift-path-injection/) | 022, 023, 036, 073, 099 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Uncontrolled format string](https://codeql.github.com/codeql-query-help/swift/swift-uncontrolled-format-string/) | 134 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Unsafe WebView fetch](https://codeql.github.com/codeql-query-help/swift/swift-unsafe-webview-fetch/) | 079, 095, 749 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Use of a broken or weak cryptographic hashing algorithm on sensitive data](https://codeql.github.com/codeql-query-help/swift/swift-weak-sensitive-data-hashing/) | 327, 328 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Use of an inappropriate cryptographic hashing algorithm on passwords](https://codeql.github.com/codeql-query-help/swift/swift-weak-password-hashing/) | 327, 328, 916 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [Use of constant salts](https://codeql.github.com/codeql-query-help/swift/swift-constant-salt/) | 760 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| [JavaScript Injection](https://codeql.github.com/codeql-query-help/swift/swift-unsafe-js-eval/) | 094, 095, 749 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | +| Query name | Related CWEs | Default | Extended | Autofix | +| --- | --- | --- | --- | --- | +| [Bad HTML filtering regexp](https://codeql.github.com/codeql-query-help/swift/swift-bad-tag-filter/) | 116, 020, 185, 186 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Cleartext logging of sensitive information](https://codeql.github.com/codeql-query-help/swift/swift-cleartext-logging/) | 312, 359, 532 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Cleartext storage of sensitive information in a local database](https://codeql.github.com/codeql-query-help/swift/swift-cleartext-storage-database/) | 312 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Cleartext storage of sensitive information in an application preference store](https://codeql.github.com/codeql-query-help/swift/swift-cleartext-storage-preferences/) | 312 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Cleartext transmission of sensitive information](https://codeql.github.com/codeql-query-help/swift/swift-cleartext-transmission/) | 319 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | +| [Constant password](https://codeql.github.com/codeql-query-help/swift/swift-constant-password/) | 259 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Database query built from user-controlled sources](https://codeql.github.com/codeql-query-help/swift/swift-sql-injection/) | 089 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | +| [Encryption using ECB](https://codeql.github.com/codeql-query-help/swift/swift-ecb-encryption/) | 327 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Hard-coded encryption key](https://codeql.github.com/codeql-query-help/swift/swift-hardcoded-key/) | 321 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Incomplete regular expression for hostnames](https://codeql.github.com/codeql-query-help/swift/swift-incomplete-hostname-regexp/) | 020 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Inefficient regular expression](https://codeql.github.com/codeql-query-help/swift/swift-redos/) | 1333, 730, 400 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | +| [Insecure TLS configuration](https://codeql.github.com/codeql-query-help/swift/swift-insecure-tls/) | 757 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Insufficient hash iterations](https://codeql.github.com/codeql-query-help/swift/swift-insufficient-hash-iterations/) | 916 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Missing regular expression anchor](https://codeql.github.com/codeql-query-help/swift/swift-missing-regexp-anchor/) | 020 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Predicate built from user-controlled sources](https://codeql.github.com/codeql-query-help/swift/swift-predicate-injection/) | 943 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Regular expression injection](https://codeql.github.com/codeql-query-help/swift/swift-regex-injection/) | 730, 400 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Resolving XML external entity in user-controlled data](https://codeql.github.com/codeql-query-help/swift/swift-xxe/) | 611, 776, 827 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Static initialization vector for encryption](https://codeql.github.com/codeql-query-help/swift/swift-static-initialization-vector/) | 329, 1204 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [String length conflation](https://codeql.github.com/codeql-query-help/swift/swift-string-length-conflation/) | 135 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [System command built from user-controlled sources](https://codeql.github.com/codeql-query-help/swift/swift-command-line-injection/) | 078, 088 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Uncontrolled data used in path expression](https://codeql.github.com/codeql-query-help/swift/swift-path-injection/) | 022, 023, 036, 073, 099 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Uncontrolled format string](https://codeql.github.com/codeql-query-help/swift/swift-uncontrolled-format-string/) | 134 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Unsafe WebView fetch](https://codeql.github.com/codeql-query-help/swift/swift-unsafe-webview-fetch/) | 079, 095, 749 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Use of a broken or weak cryptographic hashing algorithm on sensitive data](https://codeql.github.com/codeql-query-help/swift/swift-weak-sensitive-data-hashing/) | 327, 328 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Use of an inappropriate cryptographic hashing algorithm on passwords](https://codeql.github.com/codeql-query-help/swift/swift-weak-password-hashing/) | 327, 328, 916 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [Use of constant salts](https://codeql.github.com/codeql-query-help/swift/swift-constant-salt/) | 760 | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| [JavaScript Injection](https://codeql.github.com/codeql-query-help/swift/swift-unsafe-js-eval/) | 094, 095, 749 | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% endrowheaders %} diff --git a/data/reusables/copilot/content-exclusions-scope.md b/data/reusables/copilot/content-exclusions-scope.md index 6c4c269d0b..a93d9ac084 100644 --- a/data/reusables/copilot/content-exclusions-scope.md +++ b/data/reusables/copilot/content-exclusions-scope.md @@ -1,5 +1,11 @@ -A content exclusion setting **only applies to people who meet each of the following criteria**: -* They have been granted a seat as part of a {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %} subscription -* They are members of the same {% ifversion fpt %}organization{% else %}enterprise{% endif %} in which the content exclusion is configured +{% ifversion fpt %} + +Content exclusion settings only apply to members of the organization in which the content exclusion is configured, who have been granted a seat as part of a {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %} subscription. + +{% else %} + +You can only specify content exclusions in the settings for an organization or repository, not in the settings for an enterprise. Content exclusion settings defined in an organization or repository within an enterprise will apply to all members of the enterprise who have been granted a seat as part of a {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %} subscription. + +{% endif %} Anyone else who can access the specified files will still see code completion suggestions and {% data variables.product.prodname_copilot_chat %} responses referencing the specified files. diff --git a/data/reusables/copilot/copilot-enterprise-features.md b/data/reusables/copilot/copilot-enterprise-features.md index 299b173c66..89203fb6c1 100644 --- a/data/reusables/copilot/copilot-enterprise-features.md +++ b/data/reusables/copilot/copilot-enterprise-features.md @@ -6,6 +6,10 @@ {% data variables.product.prodname_copilot_for_prs %} is an AI-powered feature that allows you to create a summary of the changes that were made in a pull request, which files they impact, and what a reviewer should focus on when they conduct their review. For more information, see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-pull-request-summaries/about-copilot-pull-request-summaries)." +### {% data variables.product.prodname_copilot_autocomplete_pr %} (beta) + +{% data variables.product.prodname_copilot_autocomplete_pr %} is a feature that provides AI-generated autocompletions to help you write pull request descriptions quickly and accurately. For more information, see "[AUTOTITLE](/copilot/using-github-copilot/using-copilot-pull-request-autocomplete)." + ### {% data variables.product.prodname_copilot_short %} knowledge bases Knowledge bases are collections of Markdown documentation from one or more repositories. When you ask {% data variables.product.prodname_copilot_chat_short %} a question in {% data variables.product.prodname_dotcom_the_website %}, {% data variables.product.prodname_vscode_shortname %}, and {% data variables.product.prodname_vs %} you can specify a knowledge base as the context for your question. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/managing-copilot-knowledge-bases)." diff --git a/data/reusables/dependabot/about-the-dependency-graph.md b/data/reusables/dependabot/about-the-dependency-graph.md index 9f0afb0c2f..5eeb3f69dd 100644 --- a/data/reusables/dependabot/about-the-dependency-graph.md +++ b/data/reusables/dependabot/about-the-dependency-graph.md @@ -1,4 +1,4 @@ -The dependency graph is a summary of the manifest and lock files stored in a repository and any dependencies that are submitted for the repository using the {% data variables.dependency-submission-api.name %} (beta). For each repository, it shows{% ifversion fpt or ghec %}: +The dependency graph is a summary of the manifest and lock files stored in a repository and any dependencies that are submitted for the repository using the {% data variables.dependency-submission-api.name %}. For each repository, it shows{% ifversion fpt or ghec %}: * Dependencies, the ecosystems and packages it depends on * Dependents, the repositories and packages that depend on it{% else %} dependencies, the ecosystems and packages it depends on.{% endif %} diff --git a/data/reusables/dependabot/enabling-disabling-dependency-graph-private-repo.md b/data/reusables/dependabot/enabling-disabling-dependency-graph-private-repo.md index c2d335aa02..960f8b662c 100644 --- a/data/reusables/dependabot/enabling-disabling-dependency-graph-private-repo.md +++ b/data/reusables/dependabot/enabling-disabling-dependency-graph-private-repo.md @@ -2,7 +2,7 @@ Repository administrators can enable or disable the dependency graph for private You can enable or disable the dependency graph for all repositories owned by your user account. For more information, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-security-and-analysis-settings-for-your-personal-account)". -You can also enable the dependency graph for multiple repositories in an organization at the same time. For more information, see "[AUTOTITLE](/code-security/getting-started/securing-your-organization)." +You can also enable the dependency graph for multiple repositories in an organization at the same time. For more information, see {% ifversion security-configurations-ga %}"[AUTOTITLE](/code-security/securing-your-organization)."{% else %}"[AUTOTITLE](/code-security/getting-started/quickstart-for-securing-your-organization)."{% endif %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} diff --git a/data/reusables/dependency-graph/dependency-submission-API-short.md b/data/reusables/dependency-graph/dependency-submission-API-short.md index 955fb919cf..f14316eda0 100644 --- a/data/reusables/dependency-graph/dependency-submission-API-short.md +++ b/data/reusables/dependency-graph/dependency-submission-API-short.md @@ -1,5 +1,5 @@ {% ifversion dependency-graph-repository-view-update %} -Dependencies submitted to a project using the {% data variables.dependency-submission-api.name %} (beta) will show which detector was used for their submission and when they were submitted. +Dependencies submitted to a project using the {% data variables.dependency-submission-api.name %} will show which detector was used for their submission and when they were submitted. {% elsif ghes %} The dependency graph will display the submitted dependencies grouped by ecosystem, but separately from the dependencies parsed from manifest or lock files. {% else %}{% endif %} diff --git a/data/reusables/dependency-review/works-with-submission-api-beta.md b/data/reusables/dependency-review/works-with-submission-api-beta.md index 59360fb04a..a7d5302a7b 100644 --- a/data/reusables/dependency-review/works-with-submission-api-beta.md +++ b/data/reusables/dependency-review/works-with-submission-api-beta.md @@ -1,5 +1,4 @@ {% note %} -**Note:** The dependency review API and the {% data variables.dependency-submission-api.name %} work together. This means that the dependency review API will include dependencies submitted via the {% data variables.dependency-submission-api.name %}. This feature is currently in public beta and subject to change. - +**Note:** The dependency review API and the {% data variables.dependency-submission-api.name %} work together. This means that the dependency review API will include dependencies submitted via the {% data variables.dependency-submission-api.name %}. {% endnote %} diff --git a/data/reusables/dependency-submission/dependency-submission-api-beta.md b/data/reusables/dependency-submission/dependency-submission-api-beta.md deleted file mode 100644 index b4246765bb..0000000000 --- a/data/reusables/dependency-submission/dependency-submission-api-beta.md +++ /dev/null @@ -1,5 +0,0 @@ -{% note %} - -**Note:** The ability to use the REST API for dependency submission is currently in public beta and subject to change. - -{% endnote %} diff --git a/data/reusables/dependency-submission/dependency-submission-link.md b/data/reusables/dependency-submission/dependency-submission-link.md index 63f4d25cc1..82431bf45d 100644 --- a/data/reusables/dependency-submission/dependency-submission-link.md +++ b/data/reusables/dependency-submission/dependency-submission-link.md @@ -1,2 +1,2 @@ -Additionally, you can use the {% data variables.dependency-submission-api.name %} (beta) to submit dependencies from the package manager or ecosystem of your choice, even if the ecosystem is not supported by dependency graph for manifest or lock file analysis. -{% ifversion dependency-graph-repository-view-update %}Dependencies submitted to a project using the {% data variables.dependency-submission-api.name %} (beta) will show which detector was used for their submission and when they were submitted.{% elsif ghes %} The dependency graph will display the submitted dependencies grouped by ecosystem, but separately from the dependencies parsed from manifest or lock files.{% else %}{% endif %} For more information on the {% data variables.dependency-submission-api.name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)." +Additionally, you can use the {% data variables.dependency-submission-api.name %} to submit dependencies from the package manager or ecosystem of your choice, even if the ecosystem is not supported by dependency graph for manifest or lock file analysis. +{% ifversion dependency-graph-repository-view-update %}Dependencies submitted to a project using the {% data variables.dependency-submission-api.name %} will show which detector was used for their submission and when they were submitted.{% elsif ghes %} The dependency graph will display the submitted dependencies grouped by ecosystem, but separately from the dependencies parsed from manifest or lock files.{% else %}{% endif %} For more information on the {% data variables.dependency-submission-api.name %}, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)." diff --git a/data/reusables/getting-started/configuring-security-features.md b/data/reusables/getting-started/configuring-security-features.md index 666b0a16a8..dc9eae2257 100644 --- a/data/reusables/getting-started/configuring-security-features.md +++ b/data/reusables/getting-started/configuring-security-features.md @@ -1 +1 @@ -To keep {% ifversion ghes %}the organizations in {% data variables.location.product_location %}{% else %}your organization{% endif %} secure, you can use a variety of {% data variables.product.prodname_dotcom %} security features, including security policies, dependency graphs, secret scanning and Dependabot security and version updates. For more information, see "[AUTOTITLE](/code-security/getting-started/securing-your-organization)" and "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)." +To keep {% ifversion ghes %}the organizations in {% data variables.location.product_location %}{% else %}your organization{% endif %} secure, you can use a variety of {% data variables.product.prodname_dotcom %} security features, including security policies, dependency graphs, secret scanning and Dependabot security and version updates. For more information, see {% ifversion security-configurations-ga %}"[AUTOTITLE](/code-security/securing-your-organization)."{% else %}"[AUTOTITLE](/code-security/getting-started/quickstart-for-securing-your-organization)."{% endif %} diff --git a/data/reusables/pages/private_pages_are_public_warning.md b/data/reusables/pages/private_pages_are_public_warning.md index 37156d7cf6..fb37f4fcfe 100644 --- a/data/reusables/pages/private_pages_are_public_warning.md +++ b/data/reusables/pages/private_pages_are_public_warning.md @@ -1,7 +1,7 @@ {% warning %} {% ifversion fpt %} -**Warning**: {% data variables.product.prodname_pages %} sites are publicly available on the internet, even if the repository for the site is private. If you have sensitive data in your site's repository, you may want to remove the data before publishing. For more information, see "[AUTOTITLE](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)." +**Warning**: {% data variables.product.prodname_pages %} sites are publicly available on the internet, even if the repository for the site is private (if your plan or organization allows it). If you have sensitive data in your site's repository, you may want to remove the data before publishing. For more information, see "[AUTOTITLE](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)." {% elsif ghec %} **Warning**: Unless your enterprise uses {% data variables.product.prodname_emus %}, {% data variables.product.prodname_pages %} sites are publicly available on the internet by default, even if the repository for the site is private or internal. You can publish a site privately by managing access control for the site. Otherwise, if you have sensitive data in your site's repository, you may want to remove the data before publishing. For more information, see "[AUTOTITLE](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)" and "[AUTOTITLE](/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)." {% elsif ghes %} diff --git a/data/reusables/secret-scanning/beta-prs-discussions-wikis-scanned.md b/data/reusables/secret-scanning/beta-prs-discussions-wikis-scanned.md index be8568d26d..f5dce90b74 100644 --- a/data/reusables/secret-scanning/beta-prs-discussions-wikis-scanned.md +++ b/data/reusables/secret-scanning/beta-prs-discussions-wikis-scanned.md @@ -1,3 +1,4 @@ +{% ifversion ghes < 3.15 %} {% ifversion secret-scanning-enhancements-wikis or ifversion secret-scanning-enhancements-prs-discussions %} {% note %} @@ -7,3 +8,4 @@ {% endnote %} {% endif %} +{% endif %} diff --git a/data/reusables/secret-scanning/validity-check-partner-patterns-beta.md b/data/reusables/secret-scanning/validity-check-partner-patterns-beta.md deleted file mode 100644 index 21be634705..0000000000 --- a/data/reusables/secret-scanning/validity-check-partner-patterns-beta.md +++ /dev/null @@ -1,2 +0,0 @@ -> [!NOTE] -> Validity checks for partner patterns is currently in beta and subject to change. diff --git a/data/reusables/security/note-securing-your-org.md b/data/reusables/security/note-securing-your-org.md index 6cc2f462c9..e1f54636b6 100644 --- a/data/reusables/security/note-securing-your-org.md +++ b/data/reusables/security/note-securing-your-org.md @@ -1 +1 @@ -For more information about enabling security features across an organization, see "[AUTOTITLE](/code-security/getting-started/securing-your-organization)." +For more information about enabling security features across an organization, see {% ifversion security-configurations-ga %}"[AUTOTITLE](/code-security/securing-your-organization)."{% else %}"[AUTOTITLE](/code-security/getting-started/quickstart-for-securing-your-organization)."{% endif %} diff --git a/data/reusables/user-settings/patv2-limitations.md b/data/reusables/user-settings/patv2-limitations.md index 23dc88b02d..e64a0e6bc9 100644 --- a/data/reusables/user-settings/patv2-limitations.md +++ b/data/reusables/user-settings/patv2-limitations.md @@ -4,4 +4,4 @@ * Only {% data variables.product.pat_v1_plural %} automatically have write access for internal repositories that are owned by your enterprise. {% data variables.product.pat_v2_caps %}s must be granted access to internal repositories.{% endif %} * Outside collaborators can only use {% data variables.product.pat_v1_plural %} to access organization repositories that they are a collaborator on.{% ifversion ghec or ghes %} * Only {% data variables.product.pat_v1_plural %} can access enterprises. ({% data variables.product.pat_v2_caps %} can access organizations owned by enterprises.){% endif %} -* A few REST API endpoints are only available with a {% data variables.product.pat_v1_plural %}. To check whether an endpoint also supports {% data variables.product.pat_v2 %}s, see the documentation for that endpoint, or see "[AUTOTITLE](/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens)". +* A few REST API endpoints are only available with a {% data variables.product.pat_v1_plural %}. To check whether an endpoint also supports {% data variables.product.pat_v2 %}s, see the documentation for that endpoint, or see "[AUTOTITLE](/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens)." diff --git a/data/variables/code-scanning.yml b/data/variables/code-scanning.yml index 386a8991ac..edad4694ff 100644 --- a/data/variables/code-scanning.yml +++ b/data/variables/code-scanning.yml @@ -10,7 +10,7 @@ tool_status_page: 'tool status page' no_build_support: 'Java{% ifversion codeql-no-build-csharp %} and C#{% endif %}' # List of compiled languages -compiled_languages: 'C/C++, C#, {% ifversion codeql-go-autobuild %} Go,{% endif %} {% ifversion codeql-swift-beta %} Java, and Swift{% else %} and Java{% endif %}' +compiled_languages: 'C/C++, C#, {% ifversion codeql-go-autobuild %} Go,{% endif %} Java, and Swift' # List of languages where the libraries support expansion using CodeQL model packs at the repository level. codeql_model_packs_support: '{% ifversion fpt or ghec or ghes > 3.12 %}C#, Java/Kotlin, and Ruby{% elsif ghes > 3.10 %}Java/Kotlin{% endif %}' diff --git a/data/variables/product.yml b/data/variables/product.yml index 0bbd10eccb..38b91f9b78 100644 --- a/data/variables/product.yml +++ b/data/variables/product.yml @@ -276,6 +276,7 @@ prodname_copilot_for_prs: 'Copilot pull request summaries' prodname_copilot_prs_short: 'pull request summaries' prodname_copilot_customization: 'Copilot Customization' prodname_copilot_in_support: 'Copilot in GitHub Support' +prodname_copilot_autocomplete_pr: 'Copilot text completion' # Command Palette prodname_command_palette: 'GitHub Command Palette' diff --git a/package-lock.json b/package-lock.json index aa7ee834e8..c3134132c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,12 +35,12 @@ "dotenv": "^16.4.5", "escape-string-regexp": "5.0.0", "express": "4.19.2", - "express-rate-limit": "7.3.0", + "express-rate-limit": "7.4.0", "fastest-levenshtein": "1.0.16", "file-type": "19.1.0", "flat": "^6.0.1", "github-slugger": "^2.0.0", - "glob": "10.4.1", + "glob": "11.0.0", "got": "^13.0.0", "gray-matter": "^4.0.3", "hast-util-from-parse5": "^8.0.1", @@ -57,7 +57,7 @@ "javascript-stringify": "^2.1.0", "js-cookie": "^3.0.1", "js-yaml": "^4.1.0", - "liquidjs": "^10.14.0", + "liquidjs": "^10.16.1", "lodash": "^4.17.21", "lodash-es": "^4.17.21", "lowdb": "7.0.1", @@ -137,7 +137,7 @@ "eslint-plugin-github": "^5.0.1", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsx-a11y": "^6.9.0", - "eslint-plugin-primer-react": "^5.3.0", + "eslint-plugin-primer-react": "^5.4.0", "event-to-promise": "^0.8.0", "graphql": "^16.9.0", "http-status-code": "^2.1.0", @@ -6205,9 +6205,9 @@ } }, "node_modules/eslint-plugin-primer-react": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-primer-react/-/eslint-plugin-primer-react-5.3.0.tgz", - "integrity": "sha512-Nw9pAZww4ZPgzffrvexbNytOkoyKm4RLOmrPio5VEZ5BIFNy+uLyiBE5WGRuig4a0KbbjjOM5haLCvC43daAvw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-primer-react/-/eslint-plugin-primer-react-5.4.0.tgz", + "integrity": "sha512-t3F8RGOG+88SOZTjC5+ZBDhLIJitlRN4qkdRmwDuaL5mkxIA4LzyhLf4KfM595NwDan8mj37Fjbt3Nj04PxUDQ==", "dev": true, "dependencies": { "@styled-system/props": "^5.1.5", @@ -6601,9 +6601,9 @@ } }, "node_modules/express-rate-limit": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.3.0.tgz", - "integrity": "sha512-ZPfWlcQQ1PsZonB/vqksOsBQV74z5osi/QcdoBCyKJXl/wOVjS1yRDmvkpMM52KJeLbiF2+djwVEnEgVCDdvtw==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.4.0.tgz", + "integrity": "sha512-v1204w3cXu5gCDmAvgvzI6qjzZzoMWKnyVDk3ACgfswTQLYiGen+r8w0VnXnGMmzEN/g8fwIQ4JrFFd4ZP6ssg==", "engines": { "node": ">= 16" }, @@ -6706,17 +6706,17 @@ "dev": true }, "node_modules/fast-xml-parser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", - "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" } ], "dependencies": { @@ -7170,21 +7170,22 @@ "license": "ISC" }, "node_modules/glob": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", - "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", "minipass": "^7.1.2", - "path-scurry": "^1.11.1" + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -7201,6 +7202,20 @@ "node": ">= 6" } }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/globals": { "version": "11.12.0", "license": "MIT", @@ -8627,14 +8642,14 @@ } }, "node_modules/jackspeak": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", - "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=14" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -9037,9 +9052,9 @@ } }, "node_modules/liquidjs": { - "version": "10.14.0", - "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.14.0.tgz", - "integrity": "sha512-Zjg35Yo3L/2aNy7QkICha/ulbXRtZS7oRenWyDDfw+J34Xy3fOKWWHxASC9r0gbxN661nrwmG/kOIKHfYcVk4Q==", + "version": "10.16.1", + "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.16.1.tgz", + "integrity": "sha512-1JFL/Y7ONoajrfwav37yuz5yQHU3+Pgz1XWsg9E/2T8Fp65KalNfMF8QZ3+tNETqGUIB66waOSLOi64niYZE9A==", "dependencies": { "commander": "^10.0.0" }, @@ -9311,11 +9326,11 @@ } }, "node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", "engines": { - "node": "14 || >=16.14" + "node": "20 || >=22" } }, "node_modules/magic-string": { @@ -10463,6 +10478,7 @@ "version": "9.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -11070,8 +11086,7 @@ "node_modules/package-json-from-dist": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "dev": true + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" }, "node_modules/parent-module": { "version": "1.0.1", @@ -11152,15 +11167,15 @@ "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -12693,7 +12708,7 @@ "integrity": "sha512-u+yqhM92LW+89cxUQK0SRyvXYQmyuKHx0jkx4W7KfwLGLqJnQM5031Uv1trE4gB9XEXBM/s6MxKlfW95IidqaA==", "dev": true, "dependencies": { - "glob": "^11.0.0" + "glob": "11.0.0" }, "bin": { "rimraf": "dist/esm/bin.mjs" @@ -12705,87 +12720,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rimraf/node_modules/glob": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", - "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^4.0.1", - "minimatch": "^10.0.0", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/jackspeak": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", - "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/rimraf/node_modules/lru-cache": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", - "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", - "dev": true, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", - "dev": true, - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/robots-parser": { "version": "3.0.0", "dev": true, diff --git a/package.json b/package.json index 37d804e788..ae780e584e 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "start-all-languages": "cross-env NODE_ENV=development tsx src/frame/server.ts", "start-for-playwright": "cross-env ROOT=src/fixtures/fixtures TRANSLATIONS_FIXTURE_ROOT=src/fixtures/fixtures/translations ENABLED_LANGUAGES=en,ja NODE_ENV=test tsx src/frame/server.ts", "symlink-from-local-repo": "node src/early-access/scripts/symlink-from-local-repo.js", - "sync-rest": "node src/rest/scripts/update-files.js", + "sync-rest": "tsx src/rest/scripts/update-files.ts", "sync-search": "cross-env NODE_OPTIONS='--max_old_space_size=8192' start-server-and-test sync-search-server 4002 sync-search-indices", "sync-search-ghes-release": "cross-env GHES_RELEASE=1 start-server-and-test sync-search-server 4002 sync-search-indices", "sync-search-indices": "node src/search/scripts/sync-search-indices.js", @@ -251,12 +251,12 @@ "dotenv": "^16.4.5", "escape-string-regexp": "5.0.0", "express": "4.19.2", - "express-rate-limit": "7.3.0", + "express-rate-limit": "7.4.0", "fastest-levenshtein": "1.0.16", "file-type": "19.1.0", "flat": "^6.0.1", "github-slugger": "^2.0.0", - "glob": "10.4.1", + "glob": "11.0.0", "got": "^13.0.0", "gray-matter": "^4.0.3", "hast-util-from-parse5": "^8.0.1", @@ -273,7 +273,7 @@ "javascript-stringify": "^2.1.0", "js-cookie": "^3.0.1", "js-yaml": "^4.1.0", - "liquidjs": "^10.14.0", + "liquidjs": "^10.16.1", "lodash": "^4.17.21", "lodash-es": "^4.17.21", "lowdb": "7.0.1", @@ -353,7 +353,7 @@ "eslint-plugin-github": "^5.0.1", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsx-a11y": "^6.9.0", - "eslint-plugin-primer-react": "^5.3.0", + "eslint-plugin-primer-react": "^5.4.0", "event-to-promise": "^0.8.0", "graphql": "^16.9.0", "http-status-code": "^2.1.0", diff --git a/src/audit-logs/data/fpt/organization.json b/src/audit-logs/data/fpt/organization.json index fca24968bf..f948e9164c 100644 --- a/src/audit-logs/data/fpt/organization.json +++ b/src/audit-logs/data/fpt/organization.json @@ -84,11 +84,6 @@ "description": "Logs in a check suite were deleted.", "docs_reference_links": "N/A" }, - { - "action": "code.search", - "description": "A code search was run targeting an organization. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", - "docs_reference_links": "/search-github/github-code-search" - }, { "action": "codespaces.allow_permissions", "description": "A codespace using custom permissions from its devcontainer.json file was launched.", @@ -2854,6 +2849,26 @@ "description": "Secret scanning push protection was enabled for a repository.", "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning" }, + { + "action": "repository_security_configuration.applied", + "description": "A code security configuration was applied to a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_security_configuration.failed", + "description": "A code security configuration failed to attach to the repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_security_configuration.removed", + "description": "A code security configuration was removed from a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_security_configuration.removed_by_settings_change", + "description": "A code security configuration was removed due to a change in repository or enterprise settings.", + "docs_reference_links": "N/A" + }, { "action": "repository_visibility_change.clear", "description": "The repository visibility change setting was cleared for an organization or enterprise.", @@ -3029,6 +3044,36 @@ "description": "A user requested to bypass secret scanning push protection.", "docs_reference_links": "/code-security/secret-scanning/working-with-push-protection#requesting-bypass-privileges-when-working-with-the-command-line" }, + { + "action": "security_configuration.create", + "description": "A security configuration was created", + "docs_reference_links": "N/A" + }, + { + "action": "security_configuration_default.delete", + "description": "A default security configuration setting for new repositories was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "security_configuration_default.update", + "description": "A default security configuration setting for new repositories was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "security_configuration.delete", + "description": "A security configuration was deleted", + "docs_reference_links": "N/A" + }, + { + "action": "security_configuration_policy.update", + "description": "A security configuration policy was updated", + "docs_reference_links": "N/A" + }, + { + "action": "security_configuration.update", + "description": "A security configuration was updated", + "docs_reference_links": "N/A" + }, { "action": "sponsors.agreement_sign", "description": "A GitHub Sponsors agreement was signed on behalf of an organization.", diff --git a/src/audit-logs/data/ghec/organization.json b/src/audit-logs/data/ghec/organization.json index fca24968bf..f948e9164c 100644 --- a/src/audit-logs/data/ghec/organization.json +++ b/src/audit-logs/data/ghec/organization.json @@ -84,11 +84,6 @@ "description": "Logs in a check suite were deleted.", "docs_reference_links": "N/A" }, - { - "action": "code.search", - "description": "A code search was run targeting an organization. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", - "docs_reference_links": "/search-github/github-code-search" - }, { "action": "codespaces.allow_permissions", "description": "A codespace using custom permissions from its devcontainer.json file was launched.", @@ -2854,6 +2849,26 @@ "description": "Secret scanning push protection was enabled for a repository.", "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning" }, + { + "action": "repository_security_configuration.applied", + "description": "A code security configuration was applied to a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_security_configuration.failed", + "description": "A code security configuration failed to attach to the repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_security_configuration.removed", + "description": "A code security configuration was removed from a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_security_configuration.removed_by_settings_change", + "description": "A code security configuration was removed due to a change in repository or enterprise settings.", + "docs_reference_links": "N/A" + }, { "action": "repository_visibility_change.clear", "description": "The repository visibility change setting was cleared for an organization or enterprise.", @@ -3029,6 +3044,36 @@ "description": "A user requested to bypass secret scanning push protection.", "docs_reference_links": "/code-security/secret-scanning/working-with-push-protection#requesting-bypass-privileges-when-working-with-the-command-line" }, + { + "action": "security_configuration.create", + "description": "A security configuration was created", + "docs_reference_links": "N/A" + }, + { + "action": "security_configuration_default.delete", + "description": "A default security configuration setting for new repositories was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "security_configuration_default.update", + "description": "A default security configuration setting for new repositories was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "security_configuration.delete", + "description": "A security configuration was deleted", + "docs_reference_links": "N/A" + }, + { + "action": "security_configuration_policy.update", + "description": "A security configuration policy was updated", + "docs_reference_links": "N/A" + }, + { + "action": "security_configuration.update", + "description": "A security configuration was updated", + "docs_reference_links": "N/A" + }, { "action": "sponsors.agreement_sign", "description": "A GitHub Sponsors agreement was signed on behalf of an organization.", diff --git a/src/audit-logs/lib/config.json b/src/audit-logs/lib/config.json index 37dbeccc29..56778992c5 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": "9db7c050f8f686843f7ebab7e8d8fd18a4f843f0" + "sha": "2ff6ca1490c05079b409af85320cec5089dc388a" } \ No newline at end of file diff --git a/src/automated-pipelines/lib/update-markdown.js b/src/automated-pipelines/lib/update-markdown.js index f7a9f55822..ba9a13e34c 100644 --- a/src/automated-pipelines/lib/update-markdown.js +++ b/src/automated-pipelines/lib/update-markdown.js @@ -310,6 +310,10 @@ async function getIndexFileVersions(directory, files) { `File ${filepath} does not exist while assembling directory index.md files to create parent version.`, ) } + // If not a markdown(x) file, skip it + if (!file.endsWith('.md') && !file.endsWith('.mdx')) { + return + } const { data } = matter(await readFile(filepath, 'utf-8')) if (!data || !data.versions) { throw new Error(`Frontmatter in ${filepath} does not contain versions.`) diff --git a/src/codeql-cli/README.md b/src/codeql-cli/README.md index e7840ae96a..4ff82fd898 100644 --- a/src/codeql-cli/README.md +++ b/src/codeql-cli/README.md @@ -24,9 +24,9 @@ To run the CodeQL CLI pipeline locally: ## About this directory -- `src/rest/lib/config.json` - A configuration file used to specify metadata about the REST pipeline. -- `src/rest/scripts` - The scripts and source code used run the CodeQL CLI pipeline. - - `src/rest/scripts/sync.js` - The entrypoint script that runs the CodeQL CLI pipeline. +- `src/codeql-cli/lib/config.json` - A configuration file used to specify metadata about the CodeQL CLI pipeline. +- `src/codeql-cli/scripts` - The scripts and source code used run the CodeQL CLI pipeline. + - `src/codeql-cli/scripts/sync.js` - The entrypoint script that runs the CodeQL CLI pipeline. ## Content team diff --git a/src/ghes-releases/lib/release-templates/release-steps-0.md b/src/ghes-releases/lib/release-templates/release-steps-0.md index bbeadaf920..34a5f70cc7 100644 --- a/src/ghes-releases/lib/release-templates/release-steps-0.md +++ b/src/ghes-releases/lib/release-templates/release-steps-0.md @@ -7,6 +7,7 @@ labels: - priority-0 - skip FR board - GHES {{ release-number }} + - ghes-release-automation --- This issue tracks Docs work for the GA release of GHES {{ release-number }}. @@ -76,4 +77,4 @@ For example, the reference link should look like: \ No newline at end of file +--> diff --git a/src/ghes-releases/lib/release-templates/release-steps-5.md b/src/ghes-releases/lib/release-templates/release-steps-5.md index 12c8fb77ca..15b9e3501a 100644 --- a/src/ghes-releases/lib/release-templates/release-steps-5.md +++ b/src/ghes-releases/lib/release-templates/release-steps-5.md @@ -133,7 +133,7 @@ The benefit of the first method is that you don't need to deal with merging two - [ ] To update the OpenAPI data, run the following command. ```shell - src/rest/scripts/update-files.js --source-repo rest-api-description --output rest github-apps webhooks rest-redirects + npm run sync-rest -- --source-repo rest-api-description --output rest github-apps webhooks rest-redirects ``` You may see an error that indicates that "...you must have the GITHUB_TOKEN environment variable set to access the programmatic access and resource files via the GitHub REST API." You can ignore this error. diff --git a/src/github-apps/README.md b/src/github-apps/README.md index 67848399f7..2f9389c1ae 100644 --- a/src/github-apps/README.md +++ b/src/github-apps/README.md @@ -34,7 +34,8 @@ If the OpenAPI has changed, you will need to first wait for the OpenAPI to be me To run the GitHub Apps pipeline locally: 1. Clone the [`github/rest-api-description`](https://github.com/github/rest-api-description) repository inside your local `docs-internal` repository. -1. Run `src/rest/scripts/update-files.js -s rest-api-description -o github-apps`. +1. Set a `GITHUB_TOKEN` in your `.env` with (classic) `repo` scopes & enable SSO for the github org. +1. Run `npm run sync-rest -- -s rest-api-description -o github-apps`. ## About this directory diff --git a/src/github-apps/lib/config.json b/src/github-apps/lib/config.json index 2169f71592..8fc4dca33e 100644 --- a/src/github-apps/lib/config.json +++ b/src/github-apps/lib/config.json @@ -60,5 +60,5 @@ "2022-11-28" ] }, - "sha": "37a0390e4b33981fb2a4486377f64581dccc01fa" + "sha": "49254d7d53442739e29ffe74d2615566aa5fc0a5" } \ No newline at end of file diff --git a/src/graphql/data/fpt/changelog.json b/src/graphql/data/fpt/changelog.json index 38982bf446..2b6bcb1d8a 100644 --- a/src/graphql/data/fpt/changelog.json +++ b/src/graphql/data/fpt/changelog.json @@ -1,4 +1,42 @@ [ + { + "schemaChanges": [ + { + "title": "The GraphQL schema includes these changes:", + "changes": [ + "

    Field doNotEnforceOnCreate was added to object type RequiredStatusChecksParameters

    ", + "

    Input field doNotEnforceOnCreate of type Boolean was added to input object type RequiredStatusChecksParametersInput

    ", + "

    Field doNotEnforceOnCreate was added to object type WorkflowsParameters

    ", + "

    Input field doNotEnforceOnCreate of type Boolean was added to input object type WorkflowsParametersInput

    " + ] + } + ], + "previewChanges": [], + "upcomingChanges": [], + "date": "2024-07-25" + }, + { + "schemaChanges": [ + { + "title": "The GraphQL schema includes these changes:", + "changes": [ + "

    Type MergeQueueGroupingStrategy was added

    ", + "

    Type MergeQueueMergeMethod was added

    ", + "

    Type MergeQueueParameters was added

    ", + "

    Type MergeQueueParametersInput was added

    ", + "

    Field viewerCanLabel was added to object type Discussion

    ", + "

    Field viewerCanLabel was added to object type Issue

    ", + "

    Field viewerCanLabel was added to interface Labelable

    ", + "

    Field viewerCanLabel was added to object type PullRequest

    ", + "

    Member MergeQueueParameters was added to Union type RuleParameters

    ", + "

    Input field mergeQueue of type MergeQueueParametersInput was added to input object type RuleParametersInput

    " + ] + } + ], + "previewChanges": [], + "upcomingChanges": [], + "date": "2024-07-24" + }, { "schemaChanges": [ { diff --git a/src/graphql/data/fpt/schema.docs.graphql b/src/graphql/data/fpt/schema.docs.graphql index d80490d135..dfc225027b 100644 --- a/src/graphql/data/fpt/schema.docs.graphql +++ b/src/graphql/data/fpt/schema.docs.graphql @@ -11644,6 +11644,11 @@ type Discussion implements Closable & Comment & Deletable & Labelable & Lockable """ viewerCanDelete: Boolean! + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! + """ Can user react to this subject """ @@ -18599,6 +18604,11 @@ type Issue implements Assignable & Closable & Comment & Deletable & Labelable & """ viewerCanDelete: Boolean! + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! + """ Can user react to this subject """ @@ -19833,6 +19843,11 @@ interface Labelable { """ orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} ): LabelConnection + + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! } """ @@ -21882,6 +21897,44 @@ enum MergeQueueEntryState { UNMERGEABLE } +""" +When set to ALLGREEN, the merge commit created by merge queue for each PR in the +group must pass all required checks to merge. When set to HEADGREEN, only the +commit at the head of the merge group, i.e. the commit containing changes from +all of the PRs in the group, must pass its required checks to merge. +""" +enum MergeQueueGroupingStrategy { + """ + The merge commit created by merge queue for each PR in the group must pass all required checks to merge + """ + ALLGREEN + + """ + Only the commit at the head of the merge group must pass its required checks to merge. + """ + HEADGREEN +} + +""" +Method to use when merging changes from queued pull requests. +""" +enum MergeQueueMergeMethod { + """ + Merge commit + """ + MERGE + + """ + Rebase and merge + """ + REBASE + + """ + Squash and merge + """ + SQUASH +} + """ The possible merging strategies for a merge queue. """ @@ -21897,6 +21950,100 @@ enum MergeQueueMergingStrategy { HEADGREEN } +""" +Merges must be performed via a merge queue. +""" +type MergeQueueParameters { + """ + Maximum time for a required status check to report a conclusion. After this + much time has elapsed, checks that have not reported a conclusion will be + assumed to have failed + """ + checkResponseTimeoutMinutes: Int! + + """ + When set to ALLGREEN, the merge commit created by merge queue for each PR in + the group must pass all required checks to merge. When set to HEADGREEN, only + the commit at the head of the merge group, i.e. the commit containing changes + from all of the PRs in the group, must pass its required checks to merge. + """ + groupingStrategy: MergeQueueGroupingStrategy! + + """ + Limit the number of queued pull requests requesting checks and workflow runs at the same time. + """ + maxEntriesToBuild: Int! + + """ + The maximum number of PRs that will be merged together in a group. + """ + maxEntriesToMerge: Int! + + """ + Method to use when merging changes from queued pull requests. + """ + mergeMethod: MergeQueueMergeMethod! + + """ + The minimum number of PRs that will be merged together in a group. + """ + minEntriesToMerge: Int! + + """ + The time merge queue should wait after the first PR is added to the queue for + the minimum group size to be met. After this time has elapsed, the minimum + group size will be ignored and a smaller group will be merged. + """ + minEntriesToMergeWaitMinutes: Int! +} + +""" +Merges must be performed via a merge queue. +""" +input MergeQueueParametersInput { + """ + Maximum time for a required status check to report a conclusion. After this + much time has elapsed, checks that have not reported a conclusion will be + assumed to have failed + """ + checkResponseTimeoutMinutes: Int! + + """ + When set to ALLGREEN, the merge commit created by merge queue for each PR in + the group must pass all required checks to merge. When set to HEADGREEN, only + the commit at the head of the merge group, i.e. the commit containing changes + from all of the PRs in the group, must pass its required checks to merge. + """ + groupingStrategy: MergeQueueGroupingStrategy! + + """ + Limit the number of queued pull requests requesting checks and workflow runs at the same time. + """ + maxEntriesToBuild: Int! + + """ + The maximum number of PRs that will be merged together in a group. + """ + maxEntriesToMerge: Int! + + """ + Method to use when merging changes from queued pull requests. + """ + mergeMethod: MergeQueueMergeMethod! + + """ + The minimum number of PRs that will be merged together in a group. + """ + minEntriesToMerge: Int! + + """ + The time merge queue should wait after the first PR is added to the queue for + the minimum group size to be met. After this time has elapsed, the minimum + group size will be ignored and a smaller group will be merged. + """ + minEntriesToMergeWaitMinutes: Int! +} + """ Detailed status information about a pull request merge. """ @@ -37197,6 +37344,11 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab """ viewerCanEnableAutoMerge: Boolean! + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! + """ Indicates whether the viewer can bypass branch protections and merge the pull request immediately """ @@ -47570,13 +47722,13 @@ enum RepositoryRuleType { """ Prevent commits that include files with specified file extensions from being - pushed to the commit graph. NOTE: Thie rule is in beta and subject to change + pushed to the commit graph. NOTE: This rule is in beta and subject to change """ FILE_EXTENSION_RESTRICTION """ Prevent commits that include changes in specified file paths from being pushed - to the commit graph. NOTE: Thie rule is in beta and subject to change + to the commit graph. NOTE: This rule is in beta and subject to change """ FILE_PATH_RESTRICTION @@ -47587,14 +47739,14 @@ enum RepositoryRuleType { """ Prevent commits that include file paths that exceed a specified character - limit from being pushed to the commit graph. NOTE: Thie rule is in beta and + limit from being pushed to the commit graph. NOTE: This rule is in beta and subject to change """ MAX_FILE_PATH_LENGTH """ Prevent commits that exceed a specified file size limit from being pushed to - the commit. NOTE: Thie rule is in beta and subject to change + the commit. NOTE: This rule is in beta and subject to change """ MAX_FILE_SIZE @@ -48671,6 +48823,11 @@ Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. """ type RequiredStatusChecksParameters { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean! + """ Status checks that are required. """ @@ -48689,6 +48846,11 @@ Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. """ input RequiredStatusChecksParametersInput { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean + """ Status checks that are required. """ @@ -49309,6 +49471,7 @@ union RuleParameters = | FilePathRestrictionParameters | MaxFilePathLengthParameters | MaxFileSizeParameters + | MergeQueueParameters | PullRequestParameters | RequiredDeploymentsParameters | RequiredStatusChecksParameters @@ -49365,6 +49528,11 @@ input RuleParametersInput { """ maxFileSize: MaxFileSizeParametersInput + """ + Parameters used for the `merge_queue` rule type + """ + mergeQueue: MergeQueueParametersInput + """ Parameters used for the `pull_request` rule type """ @@ -63538,6 +63706,11 @@ enum WorkflowState { Require all changes made to a targeted branch to pass the specified workflows before they can be merged. """ type WorkflowsParameters { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean! + """ Workflows that must pass for this rule to pass. """ @@ -63548,6 +63721,11 @@ type WorkflowsParameters { Require all changes made to a targeted branch to pass the specified workflows before they can be merged. """ input WorkflowsParametersInput { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean + """ Workflows that must pass for this rule to pass. """ diff --git a/src/graphql/data/fpt/schema.json b/src/graphql/data/fpt/schema.json index 253c81ab51..f9555aa5a6 100644 --- a/src/graphql/data/fpt/schema.json +++ b/src/graphql/data/fpt/schema.json @@ -19646,6 +19646,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "viewerCanLabel", + "description": "

    Indicates if the viewer can edit labels for this object.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "viewerCanReact", "description": "

    Can user react to this subject.

    ", @@ -29137,6 +29145,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "viewerCanLabel", + "description": "

    Indicates if the viewer can edit labels for this object.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "viewerCanReact", "description": "

    Can user react to this subject.

    ", @@ -33010,6 +33026,71 @@ } ] }, + { + "name": "MergeQueueParameters", + "kind": "objects", + "id": "mergequeueparameters", + "href": "/graphql/reference/objects#mergequeueparameters", + "description": "

    Merges must be performed via a merge queue.

    ", + "fields": [ + { + "name": "checkResponseTimeoutMinutes", + "description": "

    Maximum time for a required status check to report a conclusion. After this\nmuch time has elapsed, checks that have not reported a conclusion will be\nassumed to have failed.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "groupingStrategy", + "description": "

    When set to ALLGREEN, the merge commit created by merge queue for each PR in\nthe group must pass all required checks to merge. When set to HEADGREEN, only\nthe commit at the head of the merge group, i.e. the commit containing changes\nfrom all of the PRs in the group, must pass its required checks to merge.

    ", + "type": "MergeQueueGroupingStrategy!", + "id": "mergequeuegroupingstrategy", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuegroupingstrategy" + }, + { + "name": "maxEntriesToBuild", + "description": "

    Limit the number of queued pull requests requesting checks and workflow runs at the same time.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "maxEntriesToMerge", + "description": "

    The maximum number of PRs that will be merged together in a group.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "mergeMethod", + "description": "

    Method to use when merging changes from queued pull requests.

    ", + "type": "MergeQueueMergeMethod!", + "id": "mergequeuemergemethod", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuemergemethod" + }, + { + "name": "minEntriesToMerge", + "description": "

    The minimum number of PRs that will be merged together in a group.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "minEntriesToMergeWaitMinutes", + "description": "

    The time merge queue should wait after the first PR is added to the queue for\nthe minimum group size to be met. After this time has elapsed, the minimum\ngroup size will be ignored and a smaller group will be merged.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, { "name": "MergedEvent", "kind": "objects", @@ -51374,6 +51455,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "viewerCanLabel", + "description": "

    Indicates if the viewer can edit labels for this object.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "viewerCanMergeAsAdmin", "description": "

    Indicates whether the viewer can bypass branch protections and merge the pull request immediately.

    ", @@ -65695,6 +65784,14 @@ "href": "/graphql/reference/objects#requiredstatuschecksparameters", "description": "

    Choose which status checks must pass before the ref is updated. When enabled,\ncommits must first be pushed to another ref where the checks pass.

    ", "fields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

    Allow repositories and branches to be created if a check would otherwise prohibit it.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "requiredStatusChecks", "description": "

    Status checks that are required.

    ", @@ -79063,6 +79160,14 @@ "href": "/graphql/reference/objects#workflowsparameters", "description": "

    Require all changes made to a targeted branch to pass the specified workflows before they can be merged.

    ", "fields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

    Allow repositories and branches to be created if a check would otherwise prohibit it.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "workflows", "description": "

    Workflows that must pass for this rule to pass.

    ", @@ -79865,6 +79970,14 @@ } } ] + }, + { + "name": "viewerCanLabel", + "description": "

    Indicates if the viewer can edit labels for this object.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" } ] }, @@ -84656,6 +84769,44 @@ } ] }, + { + "name": "MergeQueueGroupingStrategy", + "kind": "enums", + "id": "mergequeuegroupingstrategy", + "href": "/graphql/reference/enums#mergequeuegroupingstrategy", + "description": "

    When set to ALLGREEN, the merge commit created by merge queue for each PR in the\ngroup must pass all required checks to merge. When set to HEADGREEN, only the\ncommit at the head of the merge group, i.e. the commit containing changes from\nall of the PRs in the group, must pass its required checks to merge.

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

    The merge commit created by merge queue for each PR in the group must pass all required checks to merge.

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

    Only the commit at the head of the merge group must pass its required checks to merge.

    " + } + ] + }, + { + "name": "MergeQueueMergeMethod", + "kind": "enums", + "id": "mergequeuemergemethod", + "href": "/graphql/reference/enums#mergequeuemergemethod", + "description": "

    Method to use when merging changes from queued pull requests.

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

    Merge commit.

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

    Rebase and merge.

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

    Squash and merge.

    " + } + ] + }, { "name": "MergeQueueMergingStrategy", "kind": "enums", @@ -87170,11 +87321,11 @@ }, { "name": "FILE_EXTENSION_RESTRICTION", - "description": "

    Prevent commits that include files with specified file extensions from being\npushed to the commit graph. NOTE: Thie rule is in beta and subject to change.

    " + "description": "

    Prevent commits that include files with specified file extensions from being\npushed to the commit graph. NOTE: This rule is in beta and subject to change.

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

    Prevent commits that include changes in specified file paths from being pushed\nto the commit graph. NOTE: Thie rule is in beta and subject to change.

    " + "description": "

    Prevent commits that include changes in specified file paths from being pushed\nto the commit graph. NOTE: This rule is in beta and subject to change.

    " }, { "name": "LOCK_BRANCH", @@ -87182,11 +87333,11 @@ }, { "name": "MAX_FILE_PATH_LENGTH", - "description": "

    Prevent commits that include file paths that exceed a specified character\nlimit from being pushed to the commit graph. NOTE: Thie rule is in beta and\nsubject to change.

    " + "description": "

    Prevent commits that include file paths that exceed a specified character\nlimit from being pushed to the commit graph. NOTE: This rule is in beta and\nsubject to change.

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

    Prevent commits that exceed a specified file size limit from being pushed to\nthe commit. NOTE: Thie rule is in beta and subject to change.

    " + "description": "

    Prevent commits that exceed a specified file size limit from being pushed to\nthe commit. NOTE: This rule is in beta and subject to change.

    " }, { "name": "MAX_REF_UPDATES", @@ -91228,6 +91379,11 @@ "id": "maxfilesizeparameters", "href": "/graphql/reference/objects#maxfilesizeparameters" }, + { + "name": "MergeQueueParameters", + "id": "mergequeueparameters", + "href": "/graphql/reference/objects#mergequeueparameters" + }, { "name": "PullRequestParameters", "id": "pullrequestparameters", @@ -98336,6 +98492,71 @@ } ] }, + { + "name": "MergeQueueParametersInput", + "kind": "inputObjects", + "id": "mergequeueparametersinput", + "href": "/graphql/reference/input-objects#mergequeueparametersinput", + "description": "

    Merges must be performed via a merge queue.

    ", + "inputFields": [ + { + "name": "checkResponseTimeoutMinutes", + "description": "

    Maximum time for a required status check to report a conclusion. After this\nmuch time has elapsed, checks that have not reported a conclusion will be\nassumed to have failed.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "groupingStrategy", + "description": "

    When set to ALLGREEN, the merge commit created by merge queue for each PR in\nthe group must pass all required checks to merge. When set to HEADGREEN, only\nthe commit at the head of the merge group, i.e. the commit containing changes\nfrom all of the PRs in the group, must pass its required checks to merge.

    ", + "type": "MergeQueueGroupingStrategy!", + "id": "mergequeuegroupingstrategy", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuegroupingstrategy" + }, + { + "name": "maxEntriesToBuild", + "description": "

    Limit the number of queued pull requests requesting checks and workflow runs at the same time.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "maxEntriesToMerge", + "description": "

    The maximum number of PRs that will be merged together in a group.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "mergeMethod", + "description": "

    Method to use when merging changes from queued pull requests.

    ", + "type": "MergeQueueMergeMethod!", + "id": "mergequeuemergemethod", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuemergemethod" + }, + { + "name": "minEntriesToMerge", + "description": "

    The minimum number of PRs that will be merged together in a group.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "minEntriesToMergeWaitMinutes", + "description": "

    The time merge queue should wait after the first PR is added to the queue for\nthe minimum group size to be met. After this time has elapsed, the minimum\ngroup size will be ignored and a smaller group will be merged.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, { "name": "MilestoneOrder", "kind": "inputObjects", @@ -100311,6 +100532,14 @@ "href": "/graphql/reference/input-objects#requiredstatuschecksparametersinput", "description": "

    Choose which status checks must pass before the ref is updated. When enabled,\ncommits must first be pushed to another ref where the checks pass.

    ", "inputFields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

    Allow repositories and branches to be created if a check would otherwise prohibit it.

    ", + "type": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "requiredStatusChecks", "description": "

    Status checks that are required.

    ", @@ -100621,6 +100850,14 @@ "kind": "input-objects", "href": "/graphql/reference/input-objects#maxfilesizeparametersinput" }, + { + "name": "mergeQueue", + "description": "

    Parameters used for the merge_queue rule type.

    ", + "type": "MergeQueueParametersInput", + "id": "mergequeueparametersinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#mergequeueparametersinput" + }, { "name": "pullRequest", "description": "

    Parameters used for the pull_request rule type.

    ", @@ -105278,6 +105515,14 @@ "href": "/graphql/reference/input-objects#workflowsparametersinput", "description": "

    Require all changes made to a targeted branch to pass the specified workflows before they can be merged.

    ", "inputFields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

    Allow repositories and branches to be created if a check would otherwise prohibit it.

    ", + "type": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "workflows", "description": "

    Workflows that must pass for this rule to pass.

    ", diff --git a/src/graphql/data/ghec/schema.docs.graphql b/src/graphql/data/ghec/schema.docs.graphql index d80490d135..dfc225027b 100644 --- a/src/graphql/data/ghec/schema.docs.graphql +++ b/src/graphql/data/ghec/schema.docs.graphql @@ -11644,6 +11644,11 @@ type Discussion implements Closable & Comment & Deletable & Labelable & Lockable """ viewerCanDelete: Boolean! + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! + """ Can user react to this subject """ @@ -18599,6 +18604,11 @@ type Issue implements Assignable & Closable & Comment & Deletable & Labelable & """ viewerCanDelete: Boolean! + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! + """ Can user react to this subject """ @@ -19833,6 +19843,11 @@ interface Labelable { """ orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} ): LabelConnection + + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! } """ @@ -21882,6 +21897,44 @@ enum MergeQueueEntryState { UNMERGEABLE } +""" +When set to ALLGREEN, the merge commit created by merge queue for each PR in the +group must pass all required checks to merge. When set to HEADGREEN, only the +commit at the head of the merge group, i.e. the commit containing changes from +all of the PRs in the group, must pass its required checks to merge. +""" +enum MergeQueueGroupingStrategy { + """ + The merge commit created by merge queue for each PR in the group must pass all required checks to merge + """ + ALLGREEN + + """ + Only the commit at the head of the merge group must pass its required checks to merge. + """ + HEADGREEN +} + +""" +Method to use when merging changes from queued pull requests. +""" +enum MergeQueueMergeMethod { + """ + Merge commit + """ + MERGE + + """ + Rebase and merge + """ + REBASE + + """ + Squash and merge + """ + SQUASH +} + """ The possible merging strategies for a merge queue. """ @@ -21897,6 +21950,100 @@ enum MergeQueueMergingStrategy { HEADGREEN } +""" +Merges must be performed via a merge queue. +""" +type MergeQueueParameters { + """ + Maximum time for a required status check to report a conclusion. After this + much time has elapsed, checks that have not reported a conclusion will be + assumed to have failed + """ + checkResponseTimeoutMinutes: Int! + + """ + When set to ALLGREEN, the merge commit created by merge queue for each PR in + the group must pass all required checks to merge. When set to HEADGREEN, only + the commit at the head of the merge group, i.e. the commit containing changes + from all of the PRs in the group, must pass its required checks to merge. + """ + groupingStrategy: MergeQueueGroupingStrategy! + + """ + Limit the number of queued pull requests requesting checks and workflow runs at the same time. + """ + maxEntriesToBuild: Int! + + """ + The maximum number of PRs that will be merged together in a group. + """ + maxEntriesToMerge: Int! + + """ + Method to use when merging changes from queued pull requests. + """ + mergeMethod: MergeQueueMergeMethod! + + """ + The minimum number of PRs that will be merged together in a group. + """ + minEntriesToMerge: Int! + + """ + The time merge queue should wait after the first PR is added to the queue for + the minimum group size to be met. After this time has elapsed, the minimum + group size will be ignored and a smaller group will be merged. + """ + minEntriesToMergeWaitMinutes: Int! +} + +""" +Merges must be performed via a merge queue. +""" +input MergeQueueParametersInput { + """ + Maximum time for a required status check to report a conclusion. After this + much time has elapsed, checks that have not reported a conclusion will be + assumed to have failed + """ + checkResponseTimeoutMinutes: Int! + + """ + When set to ALLGREEN, the merge commit created by merge queue for each PR in + the group must pass all required checks to merge. When set to HEADGREEN, only + the commit at the head of the merge group, i.e. the commit containing changes + from all of the PRs in the group, must pass its required checks to merge. + """ + groupingStrategy: MergeQueueGroupingStrategy! + + """ + Limit the number of queued pull requests requesting checks and workflow runs at the same time. + """ + maxEntriesToBuild: Int! + + """ + The maximum number of PRs that will be merged together in a group. + """ + maxEntriesToMerge: Int! + + """ + Method to use when merging changes from queued pull requests. + """ + mergeMethod: MergeQueueMergeMethod! + + """ + The minimum number of PRs that will be merged together in a group. + """ + minEntriesToMerge: Int! + + """ + The time merge queue should wait after the first PR is added to the queue for + the minimum group size to be met. After this time has elapsed, the minimum + group size will be ignored and a smaller group will be merged. + """ + minEntriesToMergeWaitMinutes: Int! +} + """ Detailed status information about a pull request merge. """ @@ -37197,6 +37344,11 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab """ viewerCanEnableAutoMerge: Boolean! + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! + """ Indicates whether the viewer can bypass branch protections and merge the pull request immediately """ @@ -47570,13 +47722,13 @@ enum RepositoryRuleType { """ Prevent commits that include files with specified file extensions from being - pushed to the commit graph. NOTE: Thie rule is in beta and subject to change + pushed to the commit graph. NOTE: This rule is in beta and subject to change """ FILE_EXTENSION_RESTRICTION """ Prevent commits that include changes in specified file paths from being pushed - to the commit graph. NOTE: Thie rule is in beta and subject to change + to the commit graph. NOTE: This rule is in beta and subject to change """ FILE_PATH_RESTRICTION @@ -47587,14 +47739,14 @@ enum RepositoryRuleType { """ Prevent commits that include file paths that exceed a specified character - limit from being pushed to the commit graph. NOTE: Thie rule is in beta and + limit from being pushed to the commit graph. NOTE: This rule is in beta and subject to change """ MAX_FILE_PATH_LENGTH """ Prevent commits that exceed a specified file size limit from being pushed to - the commit. NOTE: Thie rule is in beta and subject to change + the commit. NOTE: This rule is in beta and subject to change """ MAX_FILE_SIZE @@ -48671,6 +48823,11 @@ Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. """ type RequiredStatusChecksParameters { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean! + """ Status checks that are required. """ @@ -48689,6 +48846,11 @@ Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. """ input RequiredStatusChecksParametersInput { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean + """ Status checks that are required. """ @@ -49309,6 +49471,7 @@ union RuleParameters = | FilePathRestrictionParameters | MaxFilePathLengthParameters | MaxFileSizeParameters + | MergeQueueParameters | PullRequestParameters | RequiredDeploymentsParameters | RequiredStatusChecksParameters @@ -49365,6 +49528,11 @@ input RuleParametersInput { """ maxFileSize: MaxFileSizeParametersInput + """ + Parameters used for the `merge_queue` rule type + """ + mergeQueue: MergeQueueParametersInput + """ Parameters used for the `pull_request` rule type """ @@ -63538,6 +63706,11 @@ enum WorkflowState { Require all changes made to a targeted branch to pass the specified workflows before they can be merged. """ type WorkflowsParameters { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean! + """ Workflows that must pass for this rule to pass. """ @@ -63548,6 +63721,11 @@ type WorkflowsParameters { Require all changes made to a targeted branch to pass the specified workflows before they can be merged. """ input WorkflowsParametersInput { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean + """ Workflows that must pass for this rule to pass. """ diff --git a/src/graphql/data/ghec/schema.json b/src/graphql/data/ghec/schema.json index 253c81ab51..f9555aa5a6 100644 --- a/src/graphql/data/ghec/schema.json +++ b/src/graphql/data/ghec/schema.json @@ -19646,6 +19646,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "viewerCanLabel", + "description": "

    Indicates if the viewer can edit labels for this object.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "viewerCanReact", "description": "

    Can user react to this subject.

    ", @@ -29137,6 +29145,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "viewerCanLabel", + "description": "

    Indicates if the viewer can edit labels for this object.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "viewerCanReact", "description": "

    Can user react to this subject.

    ", @@ -33010,6 +33026,71 @@ } ] }, + { + "name": "MergeQueueParameters", + "kind": "objects", + "id": "mergequeueparameters", + "href": "/graphql/reference/objects#mergequeueparameters", + "description": "

    Merges must be performed via a merge queue.

    ", + "fields": [ + { + "name": "checkResponseTimeoutMinutes", + "description": "

    Maximum time for a required status check to report a conclusion. After this\nmuch time has elapsed, checks that have not reported a conclusion will be\nassumed to have failed.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "groupingStrategy", + "description": "

    When set to ALLGREEN, the merge commit created by merge queue for each PR in\nthe group must pass all required checks to merge. When set to HEADGREEN, only\nthe commit at the head of the merge group, i.e. the commit containing changes\nfrom all of the PRs in the group, must pass its required checks to merge.

    ", + "type": "MergeQueueGroupingStrategy!", + "id": "mergequeuegroupingstrategy", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuegroupingstrategy" + }, + { + "name": "maxEntriesToBuild", + "description": "

    Limit the number of queued pull requests requesting checks and workflow runs at the same time.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "maxEntriesToMerge", + "description": "

    The maximum number of PRs that will be merged together in a group.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "mergeMethod", + "description": "

    Method to use when merging changes from queued pull requests.

    ", + "type": "MergeQueueMergeMethod!", + "id": "mergequeuemergemethod", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuemergemethod" + }, + { + "name": "minEntriesToMerge", + "description": "

    The minimum number of PRs that will be merged together in a group.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "minEntriesToMergeWaitMinutes", + "description": "

    The time merge queue should wait after the first PR is added to the queue for\nthe minimum group size to be met. After this time has elapsed, the minimum\ngroup size will be ignored and a smaller group will be merged.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, { "name": "MergedEvent", "kind": "objects", @@ -51374,6 +51455,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "viewerCanLabel", + "description": "

    Indicates if the viewer can edit labels for this object.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "viewerCanMergeAsAdmin", "description": "

    Indicates whether the viewer can bypass branch protections and merge the pull request immediately.

    ", @@ -65695,6 +65784,14 @@ "href": "/graphql/reference/objects#requiredstatuschecksparameters", "description": "

    Choose which status checks must pass before the ref is updated. When enabled,\ncommits must first be pushed to another ref where the checks pass.

    ", "fields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

    Allow repositories and branches to be created if a check would otherwise prohibit it.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "requiredStatusChecks", "description": "

    Status checks that are required.

    ", @@ -79063,6 +79160,14 @@ "href": "/graphql/reference/objects#workflowsparameters", "description": "

    Require all changes made to a targeted branch to pass the specified workflows before they can be merged.

    ", "fields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

    Allow repositories and branches to be created if a check would otherwise prohibit it.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "workflows", "description": "

    Workflows that must pass for this rule to pass.

    ", @@ -79865,6 +79970,14 @@ } } ] + }, + { + "name": "viewerCanLabel", + "description": "

    Indicates if the viewer can edit labels for this object.

    ", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" } ] }, @@ -84656,6 +84769,44 @@ } ] }, + { + "name": "MergeQueueGroupingStrategy", + "kind": "enums", + "id": "mergequeuegroupingstrategy", + "href": "/graphql/reference/enums#mergequeuegroupingstrategy", + "description": "

    When set to ALLGREEN, the merge commit created by merge queue for each PR in the\ngroup must pass all required checks to merge. When set to HEADGREEN, only the\ncommit at the head of the merge group, i.e. the commit containing changes from\nall of the PRs in the group, must pass its required checks to merge.

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

    The merge commit created by merge queue for each PR in the group must pass all required checks to merge.

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

    Only the commit at the head of the merge group must pass its required checks to merge.

    " + } + ] + }, + { + "name": "MergeQueueMergeMethod", + "kind": "enums", + "id": "mergequeuemergemethod", + "href": "/graphql/reference/enums#mergequeuemergemethod", + "description": "

    Method to use when merging changes from queued pull requests.

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

    Merge commit.

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

    Rebase and merge.

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

    Squash and merge.

    " + } + ] + }, { "name": "MergeQueueMergingStrategy", "kind": "enums", @@ -87170,11 +87321,11 @@ }, { "name": "FILE_EXTENSION_RESTRICTION", - "description": "

    Prevent commits that include files with specified file extensions from being\npushed to the commit graph. NOTE: Thie rule is in beta and subject to change.

    " + "description": "

    Prevent commits that include files with specified file extensions from being\npushed to the commit graph. NOTE: This rule is in beta and subject to change.

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

    Prevent commits that include changes in specified file paths from being pushed\nto the commit graph. NOTE: Thie rule is in beta and subject to change.

    " + "description": "

    Prevent commits that include changes in specified file paths from being pushed\nto the commit graph. NOTE: This rule is in beta and subject to change.

    " }, { "name": "LOCK_BRANCH", @@ -87182,11 +87333,11 @@ }, { "name": "MAX_FILE_PATH_LENGTH", - "description": "

    Prevent commits that include file paths that exceed a specified character\nlimit from being pushed to the commit graph. NOTE: Thie rule is in beta and\nsubject to change.

    " + "description": "

    Prevent commits that include file paths that exceed a specified character\nlimit from being pushed to the commit graph. NOTE: This rule is in beta and\nsubject to change.

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

    Prevent commits that exceed a specified file size limit from being pushed to\nthe commit. NOTE: Thie rule is in beta and subject to change.

    " + "description": "

    Prevent commits that exceed a specified file size limit from being pushed to\nthe commit. NOTE: This rule is in beta and subject to change.

    " }, { "name": "MAX_REF_UPDATES", @@ -91228,6 +91379,11 @@ "id": "maxfilesizeparameters", "href": "/graphql/reference/objects#maxfilesizeparameters" }, + { + "name": "MergeQueueParameters", + "id": "mergequeueparameters", + "href": "/graphql/reference/objects#mergequeueparameters" + }, { "name": "PullRequestParameters", "id": "pullrequestparameters", @@ -98336,6 +98492,71 @@ } ] }, + { + "name": "MergeQueueParametersInput", + "kind": "inputObjects", + "id": "mergequeueparametersinput", + "href": "/graphql/reference/input-objects#mergequeueparametersinput", + "description": "

    Merges must be performed via a merge queue.

    ", + "inputFields": [ + { + "name": "checkResponseTimeoutMinutes", + "description": "

    Maximum time for a required status check to report a conclusion. After this\nmuch time has elapsed, checks that have not reported a conclusion will be\nassumed to have failed.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "groupingStrategy", + "description": "

    When set to ALLGREEN, the merge commit created by merge queue for each PR in\nthe group must pass all required checks to merge. When set to HEADGREEN, only\nthe commit at the head of the merge group, i.e. the commit containing changes\nfrom all of the PRs in the group, must pass its required checks to merge.

    ", + "type": "MergeQueueGroupingStrategy!", + "id": "mergequeuegroupingstrategy", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuegroupingstrategy" + }, + { + "name": "maxEntriesToBuild", + "description": "

    Limit the number of queued pull requests requesting checks and workflow runs at the same time.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "maxEntriesToMerge", + "description": "

    The maximum number of PRs that will be merged together in a group.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "mergeMethod", + "description": "

    Method to use when merging changes from queued pull requests.

    ", + "type": "MergeQueueMergeMethod!", + "id": "mergequeuemergemethod", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuemergemethod" + }, + { + "name": "minEntriesToMerge", + "description": "

    The minimum number of PRs that will be merged together in a group.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "minEntriesToMergeWaitMinutes", + "description": "

    The time merge queue should wait after the first PR is added to the queue for\nthe minimum group size to be met. After this time has elapsed, the minimum\ngroup size will be ignored and a smaller group will be merged.

    ", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, { "name": "MilestoneOrder", "kind": "inputObjects", @@ -100311,6 +100532,14 @@ "href": "/graphql/reference/input-objects#requiredstatuschecksparametersinput", "description": "

    Choose which status checks must pass before the ref is updated. When enabled,\ncommits must first be pushed to another ref where the checks pass.

    ", "inputFields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

    Allow repositories and branches to be created if a check would otherwise prohibit it.

    ", + "type": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "requiredStatusChecks", "description": "

    Status checks that are required.

    ", @@ -100621,6 +100850,14 @@ "kind": "input-objects", "href": "/graphql/reference/input-objects#maxfilesizeparametersinput" }, + { + "name": "mergeQueue", + "description": "

    Parameters used for the merge_queue rule type.

    ", + "type": "MergeQueueParametersInput", + "id": "mergequeueparametersinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#mergequeueparametersinput" + }, { "name": "pullRequest", "description": "

    Parameters used for the pull_request rule type.

    ", @@ -105278,6 +105515,14 @@ "href": "/graphql/reference/input-objects#workflowsparametersinput", "description": "

    Require all changes made to a targeted branch to pass the specified workflows before they can be merged.

    ", "inputFields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

    Allow repositories and branches to be created if a check would otherwise prohibit it.

    ", + "type": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "workflows", "description": "

    Workflows that must pass for this rule to pass.

    ", diff --git a/src/links/lib/excluded-links.yml b/src/links/lib/excluded-links.yml index 767304a02b..1ef9c1fa39 100644 --- a/src/links/lib/excluded-links.yml +++ b/src/links/lib/excluded-links.yml @@ -72,3 +72,4 @@ - startsWith: https://github.com/actions/actions-runner-controller - is: https://github.com/actions/runner/pkgs/container/actions-runner - is: https://github.com/Codertocat/hello-world-npm/pkgs/npm/hello-world-npm +- is: https://jsonformatter.org/ diff --git a/src/rest/README.md b/src/rest/README.md index 42332f0d32..bb89442099 100644 --- a/src/rest/README.md +++ b/src/rest/README.md @@ -14,7 +14,7 @@ A [workflow](.github/workflows/sync-openapi.yml) is used to trigger the automati - REST - Webhooks -The workflow automatically creates a pull request with the changes (for all three pipelines) and the label `github-openapi-bot`. The workflow runs the `src/rest/scripts/update-files.js` script, which creates, deletes, or updates Markdown files in the `content/rest` directory. +The workflow automatically creates a pull request with the changes (for all three pipelines) and the label `github-openapi-bot`. The workflow runs the `npm run sync-rest` script, which creates, deletes, or updates Markdown files in the `content/rest` directory. ### Triggering the workflow sooner than the scheduled time @@ -35,7 +35,8 @@ Then, you can manually sync the data used by the REST, Webhooks, and GitHub App To run the REST pipeline locally: 1. Clone the [`github/rest-api-description`](https://github.com/github/rest-api-description) repository inside your local `docs-internal` repository. -1. Run `src/rest/scripts/update-files.js -s rest-api-description -o rest`. Note, by default `-o rest` is specified, so you can omit it. +1. Set a `GITHUB_TOKEN` in your `.env` with (classic) `repo` scopes & enable SSO for the github org. +1. Run `npm run sync-rest -- -s rest-api-description -o rest`. Note, by default `-o rest` is specified, so you can omit it. ## About this directory @@ -45,7 +46,7 @@ To run the REST pipeline locally: - `src/rest/lib` - The source code used in production for the automated documentation generated by the REST pipeline and configuration files edited by content and engineering team members. - `src/rest/lib/config.json` - A configuration file used to specify metadata about the REST pipeline. - `src/rest/scripts` - The scripts and source code used run the REST pipeline, which updates the `src/rest/data` directory. - - `src/rest/scripts/update-files.js` - The entrypoint script that runs the REST pipeline. + - `src/rest/scripts/update-files.ts` - The entrypoint script that runs the REST pipeline. - `src/rest/tests` - The tests used to verify the REST pipeline. ## Configuring the pipeline diff --git a/src/rest/components/RestCodeSamples.tsx b/src/rest/components/RestCodeSamples.tsx index 9162e6a7f0..ede5cc4d15 100644 --- a/src/rest/components/RestCodeSamples.tsx +++ b/src/rest/components/RestCodeSamples.tsx @@ -1,5 +1,6 @@ import { useState, useEffect, useRef, FormEvent } from 'react' -import { FormControl, Select, Tooltip, TabNav } from '@primer/react' +import { FormControl, Select, TabNav } from '@primer/react' +import { Tooltip } from '@primer/react/next' import { CheckIcon, CopyIcon } from '@primer/octicons-react' import Cookies from 'src/frame/components/lib/cookies' import cx from 'classnames' @@ -283,7 +284,7 @@ export function RestCodeSamples({ operation, slug, heading }: Props) {