diff --git a/.github/actions/slack-alert/action.yml b/.github/actions/slack-alert/action.yml index 72365ef51fd9..e22e46d2f06e 100644 --- a/.github/actions/slack-alert/action.yml +++ b/.github/actions/slack-alert/action.yml @@ -8,6 +8,14 @@ inputs: slack_token: description: Slack token required: true + message: + description: The message to send to Slack + default: The last '${{ github.workflow }}' run failed. See ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + required: false + color: + description: The color of the Slack message + default: failure + required: false runs: using: composite @@ -17,5 +25,5 @@ runs: with: channel: ${{ inputs.slack_channel_id }} bot-token: ${{ inputs.slack_token }} - color: failure - text: The last '${{ github.workflow }}' run failed. See ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + color: ${{ inputs.color }} + text: ${{ inputs.message }} diff --git a/.github/branch_protection_settings/main.json b/.github/branch_protection_settings/main.json index 4d69edc2e33b..ff86b4b242e3 100644 --- a/.github/branch_protection_settings/main.json +++ b/.github/branch_protection_settings/main.json @@ -39,7 +39,8 @@ "frame", "products", "workflows", - "lint-code" + "lint-code", + "secret-scanning", ], "contexts_url": "https://github.com/gitapi/repos/github/docs-internal/branches/main/protection/required_status_checks/contexts", "checks": [ @@ -81,7 +82,8 @@ { "context": "frame", "app_id": 15368 }, { "context": "products", "app_id": 15368 }, { "context": "workflows", "app_id": 15368 }, - { "context": "lint-code", "app_id": 15368 } + { "context": "lint-code", "app_id": 15368 }, + { "context": "secret-scanning", "app_id": 15368 } ] }, "restrictions": { diff --git a/.github/workflows/alert-changed-branch-protections.yml b/.github/workflows/alert-changed-branch-protections.yml index 7f68108ea019..d075b0df569f 100644 --- a/.github/workflows/alert-changed-branch-protections.yml +++ b/.github/workflows/alert-changed-branch-protections.yml @@ -38,10 +38,19 @@ jobs: id: compare run: | # Compare the fetched branch protections with the committed ones - git diff --no-index .github/branch_protection_settings/${{ matrix.branch }}.json ${{ matrix.branch }}-actual.json + git diff --no-index .github/branch_protection_settings/${{ matrix.branch }}.json ${{ matrix.branch }}-actual.json || echo "diff_failed=true" >> $GITHUB_ENV + + - name: Set failure message + if: env.diff_failed == 'true' + run: | + message="Alert due to changes in branch protections for ${{ matrix.branch }}. Please review the changes and ensure they are intentional. If valid, update the branch protection settings in .github/branch_protection_settings/${{ matrix.branch }}.json to match the diff in this workflow." + echo "failure_message=$message" >> $GITHUB_ENV + echo "$message" - uses: ./.github/actions/slack-alert - if: ${{ failure() && github.event_name != 'workflow_dispatch' }} + if: ${{ env.diff_failed == 'true' && github.event_name != 'workflow_dispatch' }} with: slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} + message: ${{ env.failure_message }} + color: purple diff --git a/.github/workflows/enterprise-dates.yml b/.github/workflows/enterprise-dates.yml index 29841385b6d5..a40e7d9b41f9 100644 --- a/.github/workflows/enterprise-dates.yml +++ b/.github/workflows/enterprise-dates.yml @@ -36,7 +36,7 @@ jobs: - name: Create pull request id: create-pull-request - uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # pin @v6.1.0 + uses: peter-evans/create-pull-request@6cd32fd93684475c31847837f87bb135d40a2b79 # pin @v7.0.3 env: # Disable pre-commit hooks; they don't play nicely here HUSKY: '0' diff --git a/.github/workflows/sme-review-tracking-issue.yml b/.github/workflows/sme-review-tracking-issue.yml index 2c783ad1d096..51ca9edec8e3 100644 --- a/.github/workflows/sme-review-tracking-issue.yml +++ b/.github/workflows/sme-review-tracking-issue.yml @@ -40,6 +40,10 @@ jobs: ${process.env.URL} + ### Reason for SME review + + @${context.payload.sender.login} (Optional) _Insert short answer regarding why SME assistance is required to review this contribution_ + ### Location SME review was requested _Insert link to the location SME review was initially requested_ diff --git a/.github/workflows/sync-graphql.yml b/.github/workflows/sync-graphql.yml index cc3403be9686..ca2e7b5e9147 100644 --- a/.github/workflows/sync-graphql.yml +++ b/.github/workflows/sync-graphql.yml @@ -29,7 +29,7 @@ jobs: src/graphql/scripts/sync.js - name: Create pull request id: create-pull-request - uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # pin @v6.1.0 + uses: peter-evans/create-pull-request@6cd32fd93684475c31847837f87bb135d40a2b79 # pin @v7.0.3 env: # Disable pre-commit hooks; they don't play nicely here HUSKY: '0' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e15ab0dec1ca..5bd18cc38354 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -45,6 +45,7 @@ jobs: - automated-pipelines # - bookmarklets - changelogs + # - code-scanning # - codeql-cli - color-schemes - content-linter @@ -65,16 +66,18 @@ jobs: - observability # - open-source - pageinfo + - pagelist # - pages - products - redirects - release-notes - rest - search + - secret-scanning - shielding - - tracking # - tests # - tools + - tracking - versions - webhooks - workflows diff --git a/assets/images/enterprise/management-console/monitor-dash-link.png b/assets/images/enterprise/management-console/monitor-dash-link.png index 97665f2ff86b..54cfc0083964 100644 Binary files a/assets/images/enterprise/management-console/monitor-dash-link.png and b/assets/images/enterprise/management-console/monitor-dash-link.png differ diff --git a/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all-with-validity-checks.png b/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all-with-validity-checks.png deleted file mode 100644 index 9f4a5a209206..000000000000 Binary files a/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all-with-validity-checks.png and /dev/null differ diff --git a/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all-without-validity-check.png b/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all-without-validity-check.png deleted file mode 100644 index 98d84f06f46a..000000000000 Binary files a/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all-without-validity-check.png and /dev/null differ diff --git a/assets/images/help/copilot/copilot-chat-all-repositories.png b/assets/images/help/copilot/copilot-chat-all-repositories.png index 0f57e0281ea2..098cb5ea49dd 100644 Binary files a/assets/images/help/copilot/copilot-chat-all-repositories.png and b/assets/images/help/copilot/copilot-chat-all-repositories.png differ diff --git a/assets/images/help/copilot/indexed-repo.png b/assets/images/help/copilot/indexed-repo.png new file mode 100644 index 000000000000..de9aff6cbe86 Binary files /dev/null and b/assets/images/help/copilot/indexed-repo.png differ diff --git a/assets/images/help/desktop/configure-custom-editor.png b/assets/images/help/desktop/configure-custom-editor.png new file mode 100644 index 000000000000..859d7ec8e0c0 Binary files /dev/null and b/assets/images/help/desktop/configure-custom-editor.png differ diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-access-to-your-personal-accounts-project-boards.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-access-to-your-personal-accounts-project-boards.md index 8160f15882e1..f5f0eebb5747 100644 --- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-access-to-your-personal-accounts-project-boards.md +++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-access-to-your-personal-accounts-project-boards.md @@ -10,9 +10,7 @@ redirect_from: - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-access-to-your-user-accounts-project-boards - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-access-to-your-personal-accounts-project-boards versions: - fpt: '*' - ghes: '*' - ghec: '*' + feature: projects-v1 topics: - Accounts shortTitle: 'Manage {% data variables.projects.projects_v1_boards %} access' diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/permission-levels-for-a-project-board-owned-by-a-personal-account.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/permission-levels-for-a-project-board-owned-by-a-personal-account.md index 75e490c801f3..b2ed070921fa 100644 --- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/permission-levels-for-a-project-board-owned-by-a-personal-account.md +++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/permission-levels-for-a-project-board-owned-by-a-personal-account.md @@ -8,9 +8,7 @@ redirect_from: - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-user-owned-project-boards - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-project-board-owned-by-a-personal-account versions: - fpt: '*' - ghes: '*' - ghec: '*' + feature: projects-v1 topics: - Accounts shortTitle: '{% data variables.projects.projects_v1_board_caps %} permissions' diff --git a/content/actions/about-github-actions/understanding-github-actions.md b/content/actions/about-github-actions/understanding-github-actions.md index e7090e46b18b..28869a32e6ad 100644 --- a/content/actions/about-github-actions/understanding-github-actions.md +++ b/content/actions/about-github-actions/understanding-github-actions.md @@ -9,6 +9,7 @@ redirect_from: - /actions/learn-github-actions/introduction-to-github-actions - /actions/learn-github-actions/understanding-github-actions - /actions/learn-github-actions/essential-features-of-github-actions + - /articles/getting-started-with-github-actions versions: fpt: '*' ghes: '*' @@ -16,7 +17,6 @@ versions: type: overview topics: - Fundamentals -layout: inline --- {% data reusables.actions.enterprise-github-hosted-runners %} diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners.md index e3680c17c55e..c7e66c3ae253 100644 --- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners.md @@ -17,7 +17,7 @@ For information on how to use labels to route jobs to specific types of self-hos {% data reusables.actions.self-hosted-runner-management-permissions-required %} ->[!NOTE]Action Runner Controller does not support multiple labels, to find our more please read our [Action Runner Controller documentation](/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller#using-arc-runners-in-a-workflow) +>[!NOTE]Actions Runner Controller does not support multiple labels, to find out more please read our [Actions Runner Controller documentation](/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller#using-arc-runners-in-a-workflow) ## Creating a custom label diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-self-hosted-runners-in-a-workflow.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-self-hosted-runners-in-a-workflow.md index 8af47bcb6957..5acdd7a75909 100644 --- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-self-hosted-runners-in-a-workflow.md +++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-self-hosted-runners-in-a-workflow.md @@ -17,7 +17,7 @@ shortTitle: Use runners in a workflow You can target self-hosted runners for use in a workflow based on the labels assigned to the runners{% ifversion target-runner-groups %}, or their group membership, or a combination of these{% endif %}. ->[!NOTE]Action Runner Controller does not support multiple labels, only the name of the runner can be used in place of a label +>[!NOTE]Actions Runner Controller does not support multiple labels, only the name of the runner can be used in place of a label ## About self-hosted runner labels diff --git a/content/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-public-forks.md b/content/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-public-forks.md index a0c5eabcd27a..0be49da7d885 100644 --- a/content/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-public-forks.md +++ b/content/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-public-forks.md @@ -4,6 +4,7 @@ intro: 'When an outside contributor submits a pull request to a public repositor versions: fpt: '*' ghec: '*' + ghes: '*' shortTitle: Approve public fork runs redirect_from: - /actions/managing-workflow-runs/approving-workflow-runs-from-public-forks diff --git a/content/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions.md b/content/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions.md index 730409695e69..980ac75325ef 100644 --- a/content/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions.md +++ b/content/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions.md @@ -125,7 +125,7 @@ Below is an example of the syntax for each system. ```yaml my_job: - image: node:10.16-jessie + image: node:20-bookworm-slim ``` {% endraw %} @@ -137,7 +137,7 @@ my_job: ```yaml jobs: my_job: - container: node:10.16-jessie + container: node:20-bookworm-slim ``` {% endraw %} @@ -369,7 +369,7 @@ container-job: POSTGRES_HOST: postgres # The default PostgreSQL port POSTGRES_PORT: 5432 - image: node:10.18-jessie + image: node:20-bookworm-slim services: - postgres script: @@ -391,7 +391,7 @@ container-job: jobs: container-job: runs-on: ubuntu-latest - container: node:10.18-jessie + container: node:20-bookworm-slim services: postgres: diff --git a/content/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md b/content/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md index 68c4d0c44de8..07e11574f9ba 100644 --- a/content/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md +++ b/content/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md @@ -182,7 +182,7 @@ The subject claim includes the environment name when the job references an envir You can configure a subject that filters for a specific [environment](/actions/deployment/targeting-different-environments/managing-environments-for-deployment) name. In this example, the workflow run must have originated from a job that has an environment named `Production`, in a repository named `octo-repo` that is owned by the `octo-org` organization: -* Syntax: `repo::environment:` +* Syntax: `repo:ORG-NAME/REPO-NAME:environment:ENVIRONMENT-NAME` * Example: `repo:octo-org/octo-repo:environment:Production` #### Filtering for `pull_request` events @@ -191,7 +191,7 @@ The subject claim includes the `pull_request` string when the workflow is trigge You can configure a subject that filters for the [`pull_request`](/actions/using-workflows/events-that-trigger-workflows#pull_request) event. In this example, the workflow run must have been triggered by a `pull_request` event in a repository named `octo-repo` that is owned by the `octo-org` organization: -* Syntax: `repo::pull_request` +* Syntax: `repo:ORG-NAME/REPO-NAME:pull_request` * Example: `repo:octo-org/octo-repo:pull_request` #### Filtering for a specific branch @@ -200,7 +200,7 @@ The subject claim includes the branch name of the workflow, but only if the job You can configure a subject that filters for a specific branch name. In this example, the workflow run must have originated from a branch named `demo-branch`, in a repository named `octo-repo` that is owned by the `octo-org` organization: -* Syntax: `repo::ref:refs/heads/branchName` +* Syntax: `repo:ORG-NAME/REPO-NAME:ref:refs/heads/BRANCH-NAME` * Example: `repo:octo-org/octo-repo:ref:refs/heads/demo-branch` #### Filtering for a specific tag @@ -209,7 +209,7 @@ The subject claim includes the tag name of the workflow, but only if the job doe You can create a subject that filters for specific tag. In this example, the workflow run must have originated with a tag named `demo-tag`, in a repository named `octo-repo` that is owned by the `octo-org` organization: -* Syntax: `repo::ref:refs/tags/` +* Syntax: `repo:ORG-NAME/REPO-NAME:ref:refs/tags/TAG-NAME` * Example: `repo:octo-org/octo-repo:ref:refs/tags/demo-tag` ### Configuring the subject in your cloud provider @@ -304,7 +304,7 @@ Customizing the claims results in a new format for the entire `sub` claim, which {% note %} -**Note**: The `sub` claim uses the shortened form `repo` (for example, `repo:`) instead of `repository` to reference the repository. +**Note**: The `sub` claim uses the shortened form `repo` (for example, `repo:ORG-NAME/REPO-NAME`) instead of `repository` to reference the repository. {% endnote %} @@ -368,7 +368,7 @@ The following example template combines the requirement of a specific reusable w {% data reusables.actions.use-request-body-api %} -This example also demonstrates how to use `"context"` to define your conditions. This is the part that follows the repository in the [default `sub` format](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims). For example, when the job references an environment, the context contains: `environment:`. +This example also demonstrates how to use `"context"` to define your conditions. This is the part that follows the repository in the [default `sub` format](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims). For example, when the job references an environment, the context contains: `environment:ENVIRONMENT-NAME`. ```json { @@ -382,7 +382,7 @@ This example also demonstrates how to use `"context"` to define your conditions. In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repo`, `context`, and `job_workflow_ref`. -This customization template requires that the `sub` uses the following format: `repo::environment::job_workflow_ref:`. +This customization template requires that the `sub` uses the following format: `repo:ORG-NAME/REPO-NAME:environment:ENVIRONMENT-NAME:job_workflow_ref:REUSABLE-WORKFLOW-PATH`. For example: `"sub": "repo:octo-org/octo-repo:environment:prod:job_workflow_ref:octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main"` #### Example: Granting access to a specific repository diff --git a/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services.md b/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services.md index 709508ca9f7a..3eb93c0ae817 100644 --- a/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services.md +++ b/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services.md @@ -72,7 +72,7 @@ Edit the trust policy, adding the `sub` field to the validation conditions. For } ``` -If you use a workflow with an environment, the `sub` field must reference the environment name: `repo:OWNER/REPOSITORY:environment:NAME`. For more information, see "[AUTOTITLE](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#understanding-the-oidc-token)." +If you use a workflow with an environment, the `sub` field must reference the environment name: `repo:ORG-NAME/REPO-NAME:environment:ENVIRONMENT-NAME`. For more information, see "[AUTOTITLE](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#understanding-the-oidc-token)." {% data reusables.actions.oidc-deployment-protection-rules %} @@ -124,9 +124,9 @@ To update your workflows for OIDC, you will need to make two changes to your YAM The `aws-actions/configure-aws-credentials` action receives a JWT from the {% data variables.product.prodname_dotcom %} OIDC provider, and then requests an access token from AWS. For more information, see the AWS [documentation](https://github.com/aws-actions/configure-aws-credentials). -* ``: Add the name of your S3 bucket here. -* ``: Replace the example with your AWS role. -* ``: Add the name of your AWS region here. +* `BUCKET-NAME`: Replace this with the name of your S3 bucket. +* `AWS-REGION`: Replace this with the name of your AWS region. +* `ROLE-TO-ASSUME`: Replace this with your AWS role. For example, `arn:aws:iam::1234567890:role/example-role` ```yaml copy # Sample workflow to access AWS resources when workflow is tied to branch @@ -135,8 +135,8 @@ name: AWS example workflow on: push env: - BUCKET_NAME : "" - AWS_REGION : "" + BUCKET_NAME : "BUCKET-NAME" + AWS_REGION : "AWS-REGION" # permission can be added at job level or workflow level permissions: id-token: write # This is required for requesting the JWT @@ -150,7 +150,7 @@ jobs: - name: configure aws credentials uses: aws-actions/configure-aws-credentials@v3 with: - role-to-assume: arn:aws:iam::1234567890:role/example-role + role-to-assume: ROLE-TO-ASSUME role-session-name: samplerolesession aws-region: {% raw %}${{ env.AWS_REGION }}{% endraw %} # Upload a file to AWS s3 diff --git a/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md b/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md index c5511612f935..1e51b56164b6 100644 --- a/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md +++ b/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md @@ -59,9 +59,8 @@ 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//providers/` -* ``: Replace this with the name of your service account in GCP. -* ``: Replace this with the ID of your GCP project. +* `WORKLOAD-IDENTITY-PROVIDER`: Replace this with the path to your identity provider in GCP. For example, `projects/example-project-id/locations/global/workloadIdentityPools/name-of-pool/providers/name-of-provider` +* `SERVICE-ACCOUNT`: Replace this with the name of your service account in GCP. This action exchanges a {% data variables.product.prodname_dotcom %} OIDC token for a Google Cloud access token, using [Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation). @@ -86,8 +85,8 @@ jobs: uses: 'google-github-actions/auth@v0.3.1' with: create_credentials_file: 'true' - workload_identity_provider: '' - service_account: '' + workload_identity_provider: 'WORKLOAD-IDENTITY-PROVIDER' + service_account: 'SERVICE-ACCOUNT' - id: 'gcloud' name: 'gcloud' run: |- diff --git a/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md b/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md index 8fd07e492fe0..8fd65d5e51d6 100644 --- a/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md +++ b/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md @@ -124,10 +124,10 @@ The `hashicorp/vault-action` action receives a JWT from the {% data variables.pr This example demonstrates how to create a job that requests a secret from HashiCorp Vault. -* ``: Replace this with the URL of your HashiCorp Vault. -* ``: Replace this with the Namespace you've set in HashiCorp Vault. For example: `admin`. -* ``: Replace this with the role you've set in the HashiCorp Vault trust relationship. -* ``: Replace this with the path to the secret you're retrieving from HashiCorp Vault. For example: `secret/data/production/ci npmToken`. +* `VAULT-URL`: Replace this with the URL of your HashiCorp Vault. +* `VAULT-NAMESPACE`: Replace this with the Namespace you've set in HashiCorp Vault. For example: `admin`. +* `ROLE-NAME`: Replace this with the role you've set in the HashiCorp Vault trust relationship. +* `SECRET-PATH`: Replace this with the path to the secret you're retrieving from HashiCorp Vault. For example: `secret/data/production/ci npmToken`. ```yaml copy jobs: @@ -141,10 +141,10 @@ jobs: uses: hashicorp/vault-action@v2.4.0 with: method: jwt - url: - namespace: - role: - secrets: + url: VAULT-URL + namespace: VAULT-NAMESPACE # HCP Vault and Vault Enterprise only + role: ROLE-NAME + secrets: SECRET-PATH - name: Use secret from Vault run: | @@ -156,7 +156,7 @@ jobs: **Note**: * If your Vault server is not accessible from the public network, consider using a self-hosted runner with other available Vault [auth methods](https://www.vaultproject.io/docs/auth). For more information, see "[AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners)." -* `` must be set for a Vault Enterprise (including HCP Vault) deployment. For more information, see [Vault namespace](https://www.vaultproject.io/docs/enterprise/namespaces). +* `VAULT-NAMESPACE` must be set for a Vault Enterprise (including HCP Vault) deployment. For more information, see [Vault namespace](https://www.vaultproject.io/docs/enterprise/namespaces). {% endnote %} @@ -180,9 +180,9 @@ jobs: with: exportToken: true method: jwt - url: - role: - secrets: + url: VAULT-URL + role: ROLE-NAME + secrets: SECRET-PATH - name: Use secret from Vault run: | @@ -193,7 +193,7 @@ jobs: if: always() run: | curl -X POST -sv -H "X-Vault-Token: {% raw %}${{ env.VAULT_TOKEN }}{% endraw %}" \ - /v1/auth/token/revoke-self + VAULT-URL/v1/auth/token/revoke-self ``` ## Further reading diff --git a/content/actions/use-cases-and-examples/project-management/moving-assigned-issues-on-project-boards.md b/content/actions/use-cases-and-examples/project-management/moving-assigned-issues-on-project-boards.md index 4a3ce75864c3..7846fbeb8e66 100644 --- a/content/actions/use-cases-and-examples/project-management/moving-assigned-issues-on-project-boards.md +++ b/content/actions/use-cases-and-examples/project-management/moving-assigned-issues-on-project-boards.md @@ -5,9 +5,7 @@ redirect_from: - /actions/guides/moving-assigned-issues-on-project-boards - /actions/managing-issues-and-pull-requests/moving-assigned-issues-on-project-boards versions: - fpt: '*' - ghes: '*' - ghec: '*' + feature: projects-v1 type: tutorial topics: - Workflows diff --git a/content/actions/use-cases-and-examples/project-management/removing-a-label-when-a-card-is-added-to-a-project-board-column.md b/content/actions/use-cases-and-examples/project-management/removing-a-label-when-a-card-is-added-to-a-project-board-column.md index 73bea5d5c804..3d308e147465 100644 --- a/content/actions/use-cases-and-examples/project-management/removing-a-label-when-a-card-is-added-to-a-project-board-column.md +++ b/content/actions/use-cases-and-examples/project-management/removing-a-label-when-a-card-is-added-to-a-project-board-column.md @@ -5,9 +5,7 @@ redirect_from: - /actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column - /actions/managing-issues-and-pull-requests/removing-a-label-when-a-card-is-added-to-a-project-board-column versions: - fpt: '*' - ghes: '*' - ghec: '*' + feature: projects-v1 type: tutorial topics: - Workflows diff --git a/content/actions/use-cases-and-examples/using-containerized-services/creating-postgresql-service-containers.md b/content/actions/use-cases-and-examples/using-containerized-services/creating-postgresql-service-containers.md index d498ebbb739b..931fd2e8081b 100644 --- a/content/actions/use-cases-and-examples/using-containerized-services/creating-postgresql-service-containers.md +++ b/content/actions/use-cases-and-examples/using-containerized-services/creating-postgresql-service-containers.md @@ -50,7 +50,7 @@ jobs: # Containers must run in Linux based operating systems runs-on: ubuntu-latest # Docker Hub image that `container-job` executes in - container: node:10.18-jessie + container: node:20-bookworm-slim # Service containers to run with `container-job` services: @@ -67,9 +67,6 @@ jobs: --health-interval 10s --health-timeout 5s --health-retries 5 - ports: - # Maps tcp port 5432 on service container to the host - - 5432:5432 steps: # Downloads a copy of the code in your repository before running CI tests @@ -106,7 +103,7 @@ jobs: # Containers must run in Linux based operating systems runs-on: ubuntu-latest # Docker Hub image that `container-job` executes in - container: node:10.18-jessie + container: node:20-bookworm-slim # Service containers to run with `container-job` services: @@ -123,9 +120,6 @@ jobs: --health-interval 10s --health-timeout 5s --health-retries 5 - ports: - # Maps tcp port 5432 on service container to the host - - 5432:5432 ``` ### Configuring the steps for jobs in containers diff --git a/content/actions/use-cases-and-examples/using-containerized-services/creating-redis-service-containers.md b/content/actions/use-cases-and-examples/using-containerized-services/creating-redis-service-containers.md index 851548d9d636..899be3f64593 100644 --- a/content/actions/use-cases-and-examples/using-containerized-services/creating-redis-service-containers.md +++ b/content/actions/use-cases-and-examples/using-containerized-services/creating-redis-service-containers.md @@ -50,7 +50,7 @@ jobs: # Containers must run in Linux based operating systems runs-on: ubuntu-latest # Docker Hub image that `container-job` executes in - container: node:10.18-jessie + container: node:20-bookworm-slim # Service containers to run with `container-job` services: @@ -100,7 +100,7 @@ jobs: # Containers must run in Linux based operating systems runs-on: ubuntu-latest # Docker Hub image that `container-job` executes in - container: node:10.18-jessie + container: node:20-bookworm-slim # Service containers to run with `container-job` services: diff --git a/content/actions/using-github-hosted-runners/using-larger-runners/about-larger-runners.md b/content/actions/using-github-hosted-runners/using-larger-runners/about-larger-runners.md index 896e4a1831b3..9dbfa39ea8b6 100644 --- a/content/actions/using-github-hosted-runners/using-larger-runners/about-larger-runners.md +++ b/content/actions/using-github-hosted-runners/using-larger-runners/about-larger-runners.md @@ -75,9 +75,6 @@ You can choose from several specifications for {% data variables.actions.hosted_ ### Specifications for general {% data variables.actions.hosted_runners %} -> [!NOTE] -> arm64 runners are currently in beta and subject to change. - | CPU | Memory (RAM) | Storage (SSD) | Architecture | Operating system (OS) | | --- | ------------- | ------------- | ------------ | --------------------- | | 6 | 14 GB | 14 GB | arm64 | macOS | diff --git a/content/actions/using-github-hosted-runners/using-larger-runners/index.md b/content/actions/using-github-hosted-runners/using-larger-runners/index.md index 2bcce9031c97..ab71c5e1f40f 100644 --- a/content/actions/using-github-hosted-runners/using-larger-runners/index.md +++ b/content/actions/using-github-hosted-runners/using-larger-runners/index.md @@ -1,6 +1,6 @@ --- -title: About larger runners -shortTitle: About larger runners +title: Using larger runners +shortTitle: Using larger runners intro: '{% data variables.product.prodname_dotcom %} offers runners with more RAM, CPU, and disk space.' versions: feature: actions-hosted-runners diff --git a/content/actions/using-github-hosted-runners/using-larger-runners/managing-larger-runners.md b/content/actions/using-github-hosted-runners/using-larger-runners/managing-larger-runners.md index be21a1466b99..306096b6b283 100644 --- a/content/actions/using-github-hosted-runners/using-larger-runners/managing-larger-runners.md +++ b/content/actions/using-github-hosted-runners/using-larger-runners/managing-larger-runners.md @@ -12,7 +12,6 @@ redirect_from: > [!NOTE] > * {% data reusables.actions.windows-linux-larger-runners-note %} -> * ARM-powered runners are currently in beta and are subject to change. {% ifversion ghec %} diff --git a/content/actions/writing-workflows/about-workflows.md b/content/actions/writing-workflows/about-workflows.md index 361ca4eecb01..28ae2fbf948a 100644 --- a/content/actions/writing-workflows/about-workflows.md +++ b/content/actions/writing-workflows/about-workflows.md @@ -157,7 +157,7 @@ If your job requires a database or cache service, you can use the [`services`](/ jobs: container-job: runs-on: ubuntu-latest - container: node:10.18-jessie + container: node:20-bookworm-slim services: postgres: image: postgres diff --git a/content/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs.md b/content/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs.md index ff2544a3bb48..a9855f035f2d 100644 --- a/content/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs.md +++ b/content/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs.md @@ -365,6 +365,12 @@ The contents of the `vars` context is a mapping of configuration variable names This example workflow shows how configuration variables set at the repository, environment, or organization levels are automatically available using the `vars` context. +{% note %} + +Note: Configuration variables at the environment level are automatically available after their environment is declared by the runner. + +{% endnote %} + {% data reusables.actions.actions-vars-context-example-usage %} ## `job` context diff --git a/content/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions.md b/content/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions.md index 6e86da7b1a29..b708f33886de 100644 --- a/content/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions.md +++ b/content/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions.md @@ -628,7 +628,7 @@ jobs: steps: - shell: pwsh run: | - "mypath" | Out-File -FilePath $env:GITHUB_PATH -Append + "mypath" >> $env:GITHUB_PATH ``` {% endnote %} @@ -652,7 +652,7 @@ echo "{environment_variable_name}={value}" >> "$GITHUB_ENV" * Using PowerShell version 6 and higher: ```powershell copy - "{environment_variable_name}={value}" | Out-File -FilePath $env:GITHUB_ENV -Append + "{environment_variable_name}={value}" >> $env:GITHUB_ENV ``` * Using PowerShell version 5.1 and below: @@ -698,7 +698,7 @@ steps: - name: Set the value id: step_one run: | - "action_state=yellow" | Out-File -FilePath $env:GITHUB_ENV -Append + "action_state=yellow" >> $env:GITHUB_ENV - name: Use the value id: step_two run: | @@ -750,10 +750,10 @@ steps: - name: Set the value in pwsh id: step_one run: | - $EOF = -join (1..15 | ForEach {[char]((48..57)+(65..90)+(97..122) | Get-Random)}) - "JSON_RESPONSE<<$EOF" | Out-File -FilePath $env:GITHUB_ENV -Append - (Invoke-WebRequest -Uri "https://example.com").Content | Out-File -FilePath $env:GITHUB_ENV -Append - "$EOF" | Out-File -FilePath $env:GITHUB_ENV -Append + $EOF = (New-Guid).Guid + "JSON_RESPONSE<<$EOF" >> $env:GITHUB_ENV + (Invoke-WebRequest -Uri "https://example.com").Content >> $env:GITHUB_ENV + "$EOF" >> $env:GITHUB_ENV shell: pwsh ``` @@ -774,7 +774,7 @@ echo "{name}={value}" >> "$GITHUB_OUTPUT" {% powershell %} ```powershell copy -"{name}=value" | Out-File -FilePath $env:GITHUB_OUTPUT -Append +"{name}=value" >> $env:GITHUB_OUTPUT ``` {% endpowershell %} @@ -805,7 +805,7 @@ This example demonstrates how to set the `SELECTED_COLOR` output parameter and l - name: Set color id: color-selector run: | - "SELECTED_COLOR=green" | Out-File -FilePath $env:GITHUB_OUTPUT -Append + "SELECTED_COLOR=green" >> $env:GITHUB_OUTPUT - name: Get color env:{% raw %} SELECTED_COLOR: ${{ steps.color-selector.outputs.SELECTED_COLOR }}{% endraw %} @@ -827,7 +827,7 @@ echo "{markdown content}" >> $GITHUB_STEP_SUMMARY {% powershell %} ```powershell copy -"{markdown content}" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append +"{markdown content}" >> $env:GITHUB_STEP_SUMMARY ``` {% endpowershell %} @@ -851,7 +851,7 @@ echo "### Hello world! :rocket:" >> $GITHUB_STEP_SUMMARY {% powershell %} ```powershell copy -"### Hello world! :rocket:" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append +"### Hello world! :rocket:" >> $env:GITHUB_STEP_SUMMARY ``` {% endpowershell %} @@ -883,11 +883,11 @@ For multiline Markdown content, you can use `>>` to continuously append content ```yaml - name: Generate list using Markdown run: | - "This is the lead in sentence for the list" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append - "" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append # this is a blank line - "- Lets add a bullet point" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append - "- Lets add a second bullet point" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append - "- How about a third one?" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append + "This is the lead in sentence for the list" >> $env:GITHUB_STEP_SUMMARY + "" >> $env:GITHUB_STEP_SUMMARY # this is a blank line + "- Lets add a bullet point" >> $env:GITHUB_STEP_SUMMARY + "- Lets add a second bullet point" >> $env:GITHUB_STEP_SUMMARY + "- How about a third one?" >> $env:GITHUB_STEP_SUMMARY ``` {% endpowershell %} @@ -914,8 +914,8 @@ To clear all content for the current step, you can use `>` to overwrite any prev ```yaml - name: Overwrite Markdown run: | - "Adding some Markdown content" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append - "There was an error, we need to clear the previous Markdown with some new content." | Out-File -FilePath $env:GITHUB_STEP_SUMMARY + "Adding some Markdown content" >> $env:GITHUB_STEP_SUMMARY + "There was an error, we need to clear the previous Markdown with some new content." >> $env:GITHUB_STEP_SUMMARY ``` {% endpowershell %} @@ -942,7 +942,7 @@ To completely remove a summary for the current step, the file that `GITHUB_STEP_ ```yaml - name: Delete all summary content run: | - "Adding Markdown content that we want to remove before the step ends" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append + "Adding Markdown content that we want to remove before the step ends" >> $env:GITHUB_STEP_SUMMARY Remove-Item $env:GITHUB_STEP_SUMMARY ``` diff --git a/content/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows.md b/content/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows.md index e43f8032e0df..65e42b0adfaf 100644 --- a/content/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows.md +++ b/content/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows.md @@ -452,6 +452,8 @@ on: page_build ``` +{% ifversion projects-v1 %} + ## `project` | Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | @@ -566,6 +568,8 @@ on: types: [created, deleted] ``` +{% endif %} + ## `public` | Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | @@ -805,7 +809,7 @@ on: {% note %} -**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[AUTOTITLE](/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request_target)." By default, a workflow only runs when a `pull_request_target` event's activity type is `opened`, `synchronize`, or `reopened`. To trigger workflows by different activity types, use the `types` keyword. For more information, see "[AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#onevent_nametypes)." +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[AUTOTITLE](/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request)." By default, a workflow only runs when a `pull_request_target` event's activity type is `opened`, `synchronize`, or `reopened`. To trigger workflows by different activity types, use the `types` keyword. For more information, see "[AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#onevent_nametypes)." {% endnote %} diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md index 4fcf4ca44ad0..36de59aba05d 100644 --- a/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md +++ b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md @@ -993,12 +993,18 @@ ghe-repo USERNAME/REPONAME This utility manually repackages a repository network to optimize pack storage. If you have a large repository, running this command may help reduce its overall size. {% data variables.product.prodname_enterprise %} automatically runs this command throughout your interaction with a repository network. -You can add the optional `--prune` argument to remove unreachable Git objects that aren't referenced from a branch, tag, or any other ref. This is particularly useful for immediately removing [previously expunged sensitive information](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository). - ```shell ghe-repo-gc USERNAME/REPONAME ``` +You can add the optional `--prune` argument to remove unreachable Git objects that aren't referenced from a branch, tag, or any other ref. This is particularly useful for immediately removing previously expunged sensitive information. See "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)." + +If you use a deployment topology with multiple nodes, to prevent sensitive data from persisting on other nodes and potentially being exposed during a failover, you must run the command on all nodes. For example, for a cluster configuration, you can use the following command. + +```shell +ghe-cluster-each -r git -- "ghe-repo-gc --prune USERNAME/REPONAME" +``` + ## {% data variables.product.prodname_actions %} ### ghe-actions-check diff --git a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise.md b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise.md index ffd54f3fd0dd..fceaff758e79 100644 --- a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise.md +++ b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise.md @@ -57,7 +57,8 @@ Enterprise owners can prevent {% data variables.product.pat_v1_plural %} from ac {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} 1. Under {% octicon "law" aria-hidden="true" %} **Policies**, click **{% data variables.product.pat_generic_caps_plural %}**. -1. Under **Restrict {% data variables.product.pat_v1_plural %} from accessing your organizations**, select the option that meets your needs: +{% ifversion tabbed-pat-settings-ui %} 1. Select the **Tokens (classic)** tab to access the {% data variables.product.pat_v1_plural %} settings. +{% endif %}1. Under **Restrict {% data variables.product.pat_v1_plural %} from accessing your organizations**, select the option that meets your needs: * **Allow organizations to configure {% data variables.product.pat_v1_plural %} access requirements**: Each organization owned by the enterprise can decide whether to restrict access by {% data variables.product.pat_v1_plural %}. * **Restrict access via {% data variables.product.pat_v1_plural %}**: {% data variables.product.pat_v1_caps_plural %} cannot access the enterprise or organizations owned by the enterprise. SSH keys created by {% data variables.product.pat_v1_plural %} will continue to work. Organizations cannot override this setting. * **Allow access via {% data variables.product.pat_v1_plural %}**: {% data variables.product.pat_v1_caps_plural %} can access the enterprise and organizations owned by the enterprise. Organizations cannot override this setting. diff --git a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise.md b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise.md index 0e4186530cfc..7c826d7eee2a 100644 --- a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise.md +++ b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise.md @@ -24,14 +24,17 @@ shortTitle: Projects policies ## About policies for projects in your enterprise -You can enforce policies to control how enterprise members manage {% data variables.projects.projects_v2_and_v1 %}, or you can allow organization owners to manage policies for {% data variables.projects.projects_v2_and_v1 %} at the organization level.{% ifversion project-visibility-policy %} +You can enforce policies to control how enterprise members manage {% data variables.projects.projects_v2_and_v1 %}, or you can allow organization owners to manage policies for {% data variables.projects.projects_v2_and_v1 %} at the organization level. + +{% ifversion projects-v1 %} Some policies apply to both {% data variables.product.prodname_projects_v2 %}, the new projects experience, and {% data variables.product.prodname_projects_v1 %}, the previous experience, while some apply only to {% data variables.product.prodname_projects_v1 %}. For more information about each experience, see "[AUTOTITLE](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)" and "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." -{% else %}For more information, see "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)."{% endif %} + +{% endif %} ## Enforcing a policy for organization-wide projects -Across all organizations owned by your enterprise, you can enable or disable organization-wide {% data variables.projects.projects_v1_boards %}, or allow owners to administer the setting on the organization level. +Across all organizations owned by your enterprise, you can enable or disable organization-wide {% data variables.projects.projects_v2 %}, or allow owners to administer the setting on the organization level. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} diff --git a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise.md index fa35b9342e68..46d3e732de99 100644 --- a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise.md +++ b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise.md @@ -47,9 +47,10 @@ After you add an existing organization to your enterprise, the organization's re * **Trial enterprise:** Certain features may be disabled if added to a trial enterprise. See "[AUTOTITLE](/admin/overview/setting-up-a-trial-of-github-enterprise-cloud#features-not-included-in-the-trial)." * **{% data variables.product.prodname_github_connect %}:** If the organization was connected to {% data variables.product.prodname_ghe_server %} using {% data variables.product.prodname_github_connect %}, adding the organization to an enterprise will not update the connection. {% data variables.product.prodname_github_connect %} features will no longer function for the organization. To continue using {% data variables.product.prodname_github_connect %}, you must disable and re-enable the feature. See "[AUTOTITLE](/enterprise-server@latest/admin/configuration/configuring-github-connect/managing-github-connect)" in the {% data variables.product.prodname_ghe_server %} documentation. -* **{% data variables.product.prodname_marketplace %} apps:** If the organization uses billed {% data variables.product.prodname_marketplace %} apps, the organization can continue to use the apps, but usage will be billable to the enterprise. +* **{% data variables.product.prodname_marketplace %} apps:** If you add a standalone organization that uses billed {% data variables.product.prodname_marketplace %} apps, the organization can continue to use the apps, but usage will be billable to the enterprise. * If your enterprise is billed via invoice, contact the app vendor and pay directly. * If your enterprise is billed via credit card or PayPal, billing continues automatically. + To transfer an existing organization with billed apps between enterprise accounts, first remove the billed apps and then re-add the apps after the transfer is complete. * **Sponsorships:** Any sponsorships by the organization will be canceled. * **Coupons:** Any coupons will be removed from the organization. To reapply the coupon, [contact our sales team](https://github.com/enterprise/contact). @@ -96,6 +97,8 @@ Enterprise owners can transfer existing organizations between enterprise account You cannot transfer an existing organization to or from an {% data variables.enterprise.prodname_emu_enterprise %} or an enterprise account that is currently enrolled in a trial of {% data variables.product.prodname_ghe_cloud %}. +If the existing organization uses billed apps, make sure to remove the billed apps before transferring. After the transfer is complete, re-add the apps. + {% data reusables.enterprise-accounts.access-enterprise %} {%- ifversion enterprise-readme %} {% data reusables.enterprise-accounts.click-organizations-tab %} diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise.md index bff1073bd104..187c6d8b0a7b 100644 --- a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise.md +++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise.md @@ -16,7 +16,9 @@ shortTitle: Manage support entitlements People with support entitlements for your enterprise account can use the support portal to open, view, and comment on support tickets associated with the enterprise account. -Enterprise owners and billing managers automatically have a support entitlement. Enterprise owners can add support entitlements to up to 20 additional members of organizations owned by their enterprise account. +Enterprise owners and billing managers automatically have a support entitlement. Enterprise owners can add support entitlements to a limited number of enterprise members. +* **{% data variables.product.premium_support_plan %}**: Up to 20 members +* **{% data variables.product.premium_plus_support_plan %}**: Up to 40 members ## Adding a support entitlement to an enterprise member diff --git a/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md b/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md index 437cd50cecd0..bb5abae657d9 100644 --- a/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md +++ b/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md @@ -25,7 +25,7 @@ redirect_from: | Automatically and securely package code into artifacts and containers | "[AUTOTITLE](/actions/publishing-packages/about-packaging-with-github-actions)" | | Automate your project management tasks | "[AUTOTITLE](/actions/managing-issues-and-pull-requests/using-github-actions-for-project-management)" | -{% data variables.product.prodname_actions %} helps your team work faster at scale. When large repositories start using {% data variables.product.prodname_actions %}, teams merge significantly more pull requests per day, and the pull requests are merged significantly faster. For more information, see "[Writing and shipping code faster](https://octoverse.github.com/2021/writing-code-faster/#scale-through-automation)" in the State of the Octoverse. +{% data variables.product.prodname_actions %} helps your team work faster at scale. When large repositories start using {% data variables.product.prodname_actions %}, pull requests are typically merged faster, allowing teams to merge more pull requests per day. You can create your own unique automations, or you can use and adapt workflows from our ecosystem of over 10,000 actions built by industry leaders and the open source community. {% ifversion ghec %}For more information, see "[AUTOTITLE](/actions/learn-github-actions/finding-and-customizing-actions)."{% else %}You can restrict your developers to using actions that exist on {% data variables.location.product_location %}, or you can allow your developers to access actions on {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[AUTOTITLE](/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise)."{% endif %} diff --git a/content/admin/managing-iam/iam-configuration-reference/username-considerations-for-external-authentication.md b/content/admin/managing-iam/iam-configuration-reference/username-considerations-for-external-authentication.md index ccc1ce22fe55..53624f9dec02 100644 --- a/content/admin/managing-iam/iam-configuration-reference/username-considerations-for-external-authentication.md +++ b/content/admin/managing-iam/iam-configuration-reference/username-considerations-for-external-authentication.md @@ -48,9 +48,11 @@ If you use an enterprise with {% data variables.product.prodname_emus %}, member ## About usernames for {% data variables.enterprise.prodname_managed_users %} -When your {% data variables.enterprise.prodname_emu_enterprise %} is created, you will choose a short code that will be used as the suffix for your enterprise members' usernames. {% data reusables.enterprise-accounts.emu-shortcode %} The setup user who configures SAML SSO has a username in the format of **SHORT-CODE_admin**. +When your {% data variables.enterprise.prodname_emu_enterprise %} is created, you will choose a short code that will be used as the suffix for your enterprise members' usernames. {% data reusables.enterprise-accounts.emu-shortcode %} -When you provision a new user from your identity provider, the new {% data variables.enterprise.prodname_managed_user %} will have a {% data variables.product.prodname_dotcom %} username in the format of **@IDP-USERNAME_SHORT-CODE**. The IDP-USERNAME component is formed by normalizing the SCIM `userName` attribute value sent from the IdP. +The setup user who configures SAML SSO has a username in the format of **SHORT-CODE_admin**. For example, if your enterprise's shortcode is "octo", the setup user will be "octo_admin." + +When you provision a new user from your identity provider, the new {% data variables.enterprise.prodname_managed_user %} will have a {% data variables.product.prodname_dotcom %} username in the format of **@IDP-USERNAME_SHORT-CODE** (for example, "mona-cat_octo"). The IDP-USERNAME component is formed by normalizing the SCIM `userName` attribute value sent from the IdP. | Identity provider | {% data variables.product.prodname_dotcom %} username | |-----------------------------------|----------------------| diff --git a/content/admin/managing-your-enterprise-account/about-enterprise-accounts.md b/content/admin/managing-your-enterprise-account/about-enterprise-accounts.md index 97aa28a83bce..b8a64c5146a8 100644 --- a/content/admin/managing-your-enterprise-account/about-enterprise-accounts.md +++ b/content/admin/managing-your-enterprise-account/about-enterprise-accounts.md @@ -22,12 +22,11 @@ topics: ## What are enterprise accounts? - + {% ifversion ghec %} -> [!NOTE] Starting September 3, 2024, {% data variables.product.prodname_ghe_cloud %} customers who use a single organization will be automatically upgraded to an enterprise account at no additional cost. For details, see "[AUTOTITLE](/admin/managing-your-enterprise-account/creating-an-enterprise-account#what-will-happen-after-i-upgrade-my-organization)." +> [!NOTE] Currently, {% data variables.product.prodname_ghe_cloud %} customers who use a single organization are being automatically upgraded to an enterprise account at no additional cost. For details, see "[AUTOTITLE](/admin/managing-your-enterprise-account/creating-an-enterprise-account#what-will-happen-after-i-upgrade-my-organization)." {% endif %} - - + An enterprise account enables centralized management for **multiple organizations**. diff --git a/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md b/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md index 845b47422d03..3f914b383f05 100644 --- a/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md +++ b/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md @@ -15,9 +15,9 @@ redirect_from: - /admin/overview/creating-an-enterprise-account --- - + {% data reusables.enterprise.single-organizations-enterprise-migration %} - + ## When should I create an enterprise account? diff --git a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/accessing-the-monitor-dashboard.md b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/accessing-the-monitor-dashboard.md index 8a325d931384..155e98698e7c 100644 --- a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/accessing-the-monitor-dashboard.md +++ b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/accessing-the-monitor-dashboard.md @@ -27,20 +27,75 @@ shortTitle: Access the monitor dashboard ![Screenshot of the header of the {% data variables.enterprise.management_console %}. A tab, labeled "Monitor", is highlighted with an orange outline.](/assets/images/enterprise/management-console/monitor-dash-link.png) -## Troubleshooting common resource allocation problems on your appliance +1. In HA and cluster environments you can switch between nodes using the dropdown and clicking on a different hostname. -{% note %} +## Using the monitor dashboard -**Note**: Because regularly polling {% data variables.location.product_location %} with continuous integration (CI) or build servers can effectively cause a denial of service attack that results in problems, we recommend using webhooks to push updates. For more information, see "[AUTOTITLE](/get-started/exploring-integrations/about-webhooks)". +The page visualizes metrics which can be useful for troubleshooting performance issues and better understanding how your {% data variables.product.prodname_ghe_server %} appliance is being used. The data behind the graphs is gathered by the `collectd` service and sampled every 10 seconds. -{% endnote %} +Within the pre-built dashboard you can find various sections grouping graphs of different types of system resources. -Use the monitor dashboard to stay informed on your appliance's resource health and make decisions on how to fix high usage issues. +Building your own dashboard and alerts requires the data to be forwarded to an external instance, by enabling `collectd` forwarding. For more information, see "[AUTOTITLE](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/configuring-collectd-for-your-instance)." -| Problem | Possible cause(s) | Recommendations | -| -------- | ----------------- | --------------- | -| High CPU usage | VM contention from other services or programs running on the same host | If possible, reconfigure other services or programs to use fewer CPU resources. To increase total CPU resources for the VM, see "[AUTOTITLE](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources)." | -| High memory usage | VM contention from other services or programs running on the same host | If possible, reconfigure other services or programs to use less memory. To increase the total memory available on the VM, see "[AUTOTITLE](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources)." | -| Low disk space availability | Large binaries or log files consuming disk space | If possible, host large binaries on a separate server, and compress or archive log files. If necessary, increase disk space on the VM by following the steps for your platform in "[AUTOTITLE](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity)." | -| Higher than usual response times | Often caused by one of the above issues | Identify and fix the underlying issues. If response times remain high, contact us by visiting {% data variables.contact.contact_ent_support %}. | -| Elevated error rates | Software issues | Contact us by visiting {% data variables.contact.contact_ent_support %} and include your support bundle. For more information, see "[Providing data to {% data variables.product.prodname_enterprise %} Support](/enterprise/{{ currentVersion}}/admin/guides/enterprise-support/providing-data-to-github-support#creating-and-sharing-support-bundles)." | +## About the metrics on the monitor dashboard + +### System health + +The system health graphs provide a general overview of services and system resource utilization. The CPU, memory, and load average graphs are useful for identifying trends or times where provisioned resource saturation has occurred. For more information, see "[AUTOTITLE](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/recommended-alert-thresholds)." + +### Processes + +The processes graph section looks deeper into the major individual services which make up the {% data variables.product.prodname_ghe_server %} appliance. Looking at these services individually can show how usage trends impact system resources over time. + +### Authentication + +The authentication graphs break down the rates at which users and applications are authenticating to the {% data variables.product.prodname_ghe_server %} appliance. We also track the protocol or service type such as Git or API for the authentications, which is useful in identifying broad user activity trends. The authentication graphs can help you find interesting trends or timeframes to look at when diving deeper into authentication and API request logs. + +### LDAP + +LDAP graphs will only display data if LDAP authentication is enabled on the {% data variables.product.prodname_ghe_server %} appliance. For more information, see "[AUTOTITLE](/admin/managing-iam/using-ldap-for-enterprise-iam/using-ldap)." These graphs can help you to identify slow responses from your LDAP server, as well as the overall volume of LDAP password based authentications. + +### App servers + +The application servers section provides insight into the activity of {% data variables.product.prodname_ghe_server %} services which provide data to users and integrations. + +### App request/response + +The **App request/response** section looks at the rate of requests, how quickly those requests are responded to, and with what status they returned. + +### Actions + +The graphs break down different metrics about {% data variables.product.prodname_actions %} on {% data variables.location.product_location %} including an overview of {% data variables.product.prodname_actions %} services web requests. + +### Background jobs + +Number of tasks queued for background processing on the {% data variables.product.prodname_ghe_server %} appliance. + +### Network + +The network interface graphs can be useful in profiling user activity, and throughput of traffic in and out of the {% data variables.product.prodname_ghe_server %} appliance. + +### Storage + +{% data variables.product.prodname_ghe_server %} repository performance is very dependent on the underlying storage system. Low latency, local SSD disks provide the highest performance. For more information on the {% data variables.product.prodname_enterprise %} storage architecture, see "[AUTOTITLE](/enterprise-server@3.14/admin/overview/system-overview)." + +### Appliance-specific system services + +System services graphs contain data related to the major databases on {% data variables.product.prodname_ghe_server %}. These are MySQL, and Elasticseach persistent databases, as well as Redis and Memcached which contain ephemeral data. + +* Memcached: Provides a layer of in-memory caching for web and API operations. Memcached helps to provide quicker response times for users and integrations interacting with the system. +* MySQL: The primary database in {% data variables.product.prodname_ghe_server %}. User, issue, and other non-git or search related metadata is stored within MySQL. +* Nomad Jobs: {% data variables.product.prodname_ghe_server %} utilizes Nomad internally as the workload orchestrator, where the CPU and memory usage of individual services can be seen. +* Redis: The database mainly contains background job queue, as well as session state information. +* Kafka-Lite: Kafka broker service for job processing. +* Elasticsearch: Powers the built-in search features in {% data variables.product.prodname_ghe_server %}. +* Custom hooks: Graphs related to pre-receive hook execution. +* Git fetch caching: {% data variables.product.prodname_ghe_server %} will attempt to cache intensive operations, such as Git pack-objects, when multiple identical requests arrive in quick succession. +* MinIO: Storage used by some {% data variables.product.prodname_ghe_server %} services. +* Packages: Requests powering {% data variables.product.prodname_registry %}. +* SecretScanning: Services powering {% data variables.product.prodname_secret_scanning_caps %} features. +* CodeScanning: Services powering {% data variables.product.prodname_code_scanning_caps %} features. +* Cluster: Graphs related to {% data variables.product.prodname_ghe_server %} high availability or clustering. +* Babeld: Git proxy. +* Alive: Service powering live updates. +* ghes-manage: Service powering GHES Manage API. diff --git a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/index.md b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/index.md index b40ef2aab525..26e2c7d7e533 100644 --- a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/index.md +++ b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/index.md @@ -21,6 +21,7 @@ children: - /collectd-metrics-for-github-enterprise-server - /monitoring-using-snmp - /about-system-logs + - /troubleshooting-resource-allocation-problems - /generating-a-health-check-for-your-enterprise shortTitle: Monitor your instance --- diff --git a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/recommended-alert-thresholds.md b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/recommended-alert-thresholds.md index 484b00361c88..0c2f7a30ee61 100644 --- a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/recommended-alert-thresholds.md +++ b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/recommended-alert-thresholds.md @@ -24,7 +24,7 @@ shortTitle: Recommended alert thresholds ## About recommended alert thresholds -You can configure external monitoring systems to alert you to storage, CPU, and memory usage that may cause problems with {% data variables.location.product_location %}. For more information, see "[AUTOTITLE](/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring)." +You can configure external monitoring systems to alert you to storage, CPU, and memory usage that may cause problems with {% data variables.location.product_location %}. For more information, see "[AUTOTITLE](/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring)" and "[AUTOTITLE](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/accessing-the-monitor-dashboard)." ## Monitoring storage @@ -32,29 +32,31 @@ We recommend that you monitor both the root and user storage devices and configu | Severity | Threshold | | -------- | --------- | -| **Warning** | Disk use exceeds 70% of total available | -| **Critical** | Disk use exceeds 85% of total available | +| **Warning** | Disk use exceeds 60% of total available | +| **Critical** | Disk use exceeds 75% of total available | You can adjust these values based on the total amount of storage allocated, historical growth patterns, and expected time to respond. We recommend over-allocating storage resources to allow for growth and prevent the downtime required to allocate additional storage. ## Monitoring CPU and load average usage -Although it is normal for CPU usage to fluctuate based on resource-intense Git operations, we recommend configuring an alert for abnormally high CPU utilization, as prolonged spikes can mean your instance is under-provisioned. We recommend monitoring the fifteen-minute system load average for values nearing or exceeding the number of CPU cores allocated to the virtual machine. +Although it is normal for CPU usage to fluctuate based on resource-intense Git operations, we recommend configuring an alert for abnormally high CPU utilization, as prolonged spikes can mean your instance is under-provisioned. Additionally, we recommend monitoring CPU utilization during a regular work week when the instance is in a healthy state to establish a baseline that can be used as a reference. | Severity | Threshold | | -------- | --------- | -| **Warning** | Fifteen minute load average exceeds 1x CPU cores | -| **Critical** | Fifteen minute load average exceeds 2x CPU cores | +| **Warning** | 20% above the baseline | +| **Critical** | 40% above the baseline | We also recommend that you monitor virtualization "steal" time to ensure that other virtual machines running on the same host system are not using all of the instance's resources. ## Monitoring memory usage -The amount of physical memory allocated to {% data variables.location.product_location %} can have a large impact on overall performance and application responsiveness. The system is designed to make heavy use of the kernel disk cache to speed up Git operations. We recommend that the normal RSS working set fit within 50% of total available RAM at peak usage. +The amount of physical memory allocated to {% data variables.location.product_location %} can have a large impact on overall performance and application responsiveness. The system is designed to make heavy use of the kernel disk cache to speed up Git operations. We recommend that the amount of physical memory assigned to the processes fit within 50% of total available RAM at peak usage. | Severity | Threshold | | -------- | --------- | -| **Warning** | Sustained RSS usage exceeds 50% of total available memory | -| **Critical** | Sustained RSS usage exceeds 70% of total available memory | +| **Warning** | Sustained memory usage exceeds 50% of total available memory | +| **Critical** | Sustained memory usage exceeds 70% of total available memory | + +Nevertheless, for cluster installations, we recommend following a similar approach to CPU monitoring: establish a baseline that defines what is considered normal usage, and set the threshold accordingly. This threshold may also vary between roles. If memory is exhausted, the kernel OOM killer will attempt to free memory resources by forcibly killing RAM heavy application processes, which could result in a disruption of service. We recommend allocating more memory to the virtual machine than is required in the normal course of operations. diff --git a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/troubleshooting-resource-allocation-problems.md b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/troubleshooting-resource-allocation-problems.md new file mode 100644 index 000000000000..fd9e8628ddab --- /dev/null +++ b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/troubleshooting-resource-allocation-problems.md @@ -0,0 +1,121 @@ +--- +title: Troubleshooting resource allocation problems +intro: Troubleshooting common resource allocation issues that may occur on your {% data variables.product.prodname_ghe_server %} appliance. +redirect_from: + - /enterprise/admin/installation/troubleshooting-resource-allocation-problems +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Monitoring + - Performance + - Troubleshooting +shortTitle: Troubleshooting resource allocation problems +--- + +## Troubleshooting common resource allocation problems on your appliance + +{% note %} + +**Note**: Regularly making repeated requests (polling) to {% data variables.location.product_location %} from continuous integration (CI) systems, build servers, or any other clients (such as Git or API clients) can overwhelm the system. This can lead to a denial of service (DoS) attack, causing significant performance issues and resource saturation. + +To avoid these problems, we strongly recommend using webhooks to receive updates. Webhooks allow the system to push updates to you automatically, eliminating the need for constant polling. Additionally, consider using conditional requests and caching strategies to minimize unnecessary requests. Avoid running jobs in large, simultaneous batches (thundering herds) and instead wait for webhook events to trigger actions. + +For more information, see "[AUTOTITLE](/get-started/exploring-integrations/about-webhooks)." + +{% endnote %} + +We recommend using the monitor dashboard to stay informed on your appliance's resource health and make decisions on how to fix high usage issues, such as the ones outlined on this page. + +For system-critical issues, and prior to making modifications to your appliance, we highly recommend contacting us by visiting {% data variables.contact.contact_ent_support %} and including your support bundle. For more information, see "[Providing data to {% data variables.product.prodname_enterprise %} Support](/enterprise/{{ currentVersion}}/admin/guides/enterprise-support/providing-data-to-github-support#creating-and-sharing-support-bundles)." + +## High CPU usage + +### Possible Causes + +* CPU of your instance is under-provisioned for your workload. +* Upgrading to a new {% data variables.product.prodname_ghe_server %} releases often increases CPU and memory usage due to new features. Additionally, post-upgrade migration or reconciliation background jobs can temporarily degrade performance until they complete. +* Elevated requests against Git or API. Increased requests to Git or API can occur due to various factors, such as excessive repository cloning, CI/CD processes, or unintentional usage by API scripts or new workloads. +* Increased number of [GitHub Actions jobs](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/accessing-the-monitor-dashboard#actions). +* Elevated amount of Git commands executed a large repository. + +### Recommendations + +* Ensure CPU cores are [provisioned appropriately](/admin/installing-your-enterprise-server/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-aws#minimum-requirements). +* [Set alert thresholds](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/recommended-alert-thresholds). +* After an upgrade, check whether background upgrade jobs have completed, by running `ghe-check-background-upgrade-jobs`. +* Use webhooks instead of pulling. +* Use [API rate-limiting](/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-rate-limits). +* Analyze Git usage by checking [current operations](/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#ghe-btop) and [Git traffic](/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#ghe-governor). + +## High memory usage + +### Possible causes + +* Memory of your instance is under-provisioned. +* Elevated requests against Git or API. Increased requests to Git or API can occur due to various factors, such as excessive repository cloning, CI/CD processes, or unintentional usage by API scripts or new workloads. +* Individual services exceeding their expected memory usage and running Out Of Memory (OOM). +* Increased background job processing. + +### Recommendations + +* Memory of your instance is under-provisioned for your workload, data volume, given usage over time may exceed the [minimum requirements](/admin/installing-your-enterprise-server/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-aws#minimum-requirements). +* Within the Nomad graphs, identify services with out of memory trends which are often followed by free memory trends after they get restarted. For more information, see "[AUTOTITLE](/enterprise-server@3.14/admin/monitoring-and-managing-your-instance/monitoring-your-instance/accessing-the-monitor-dashboard#appliance-specific-system-services)." +* Check logs for processes going out of memory by running `rg -z 'kernel: Out of memory: Killed process' /var/log/syslog*` (for this, first log in to the administrative shell using SSH - see "[AUTOTITLE](/enterprise-server@3.14/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh).") +* Ensure the correct ratio of memory to CPU services is met (at least `6.5:1`). +* Check the amount of tasks queued for background processing - see "[AUTOTITLE](/enterprise-server@3.14/admin/monitoring-and-managing-your-instance/monitoring-your-instance/accessing-the-monitor-dashboard#background-jobs)." + +## Low disk space availability + +Both storage volumes, the one mounted to the root filesystem path (`/`) and the other to the user filesystem path (`/data/user`) can cause problems to the stability of your instance if low disk space is available. + +Keep in mind that the root storage volume is split into two equally-sized partitions. One of the partitions will be mounted as the root filesystem (`/`). The other partition is only mounted during upgrades and rollbacks of upgrades as `/mnt/`upgrade, to facilitate easier rollbacks if necessary. For more information, see "[AUTOTITLE](/admin/overview/system-overview#storage-architecture)." + +### Possible Causes + +* Service failure causing increased amount of logs +* High disk usage through organic traffic + +### Recommendations + +* Check disk usage of `/var/log` folder by running (`sudo du -csh /var/log/*`) or manually force a log rotation (`sudo logrotate -f /etc/logrotate.conf`). +* Check the disk for large files that have been deleted but still have open file handles (`ghe-check-disk-usage`). +* Increase disk storage capacity - see "[AUTOTITLE](/enterprise-server@3.14/admin/monitoring-and-managing-your-instance/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity)." + +## Higher than usual response times + +### Possible causes + +* Elevated requests against Git or API. Increased requests to Git or API can occur due to various factors, such as excessive repository cloning, CI/CD processes, or unintentional usage by API scripts or new workloads. +* Slow database queries. +* Post upgrade ElasticSearch elevated service resource usage. +* Reaching IOPS quotas on disk and/or heavy IO contention. +* Saturated workers. +* Webhook delivery delays. + +### Recommendations + +* Look for spikes or sustained numbers in the **Disk pending operations: Number of operations queued** graphs. +* Check the **App request/response** panel to see if only certain services are affected. +* After an upgrade, check whether background upgrade jobs have completed, by running `ghe-check-background-upgrade-jobs`. +* Check the database logs for slow queries in `/var/log/github/exceptions.log` (for this, first log in to the administrative shell using SSH - see "[AUTOTITLE](/enterprise-server@3.14/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh)"), for example by checking for Top 10 slow requests by URL: `grep SlowRequest github-logs/exceptions.log | jq '.url' | sort | uniq -c | sort -rn | head`. +* Check the **Queued requests** graph for certain workers and consider adjusting their active worker count. +* Increase the storage disks to ones with higher IOPS/throughput. +* Check the amount of tasks queued for background processing - see "[AUTOTITLE](/enterprise-server@3.14/admin/monitoring-and-managing-your-instance/monitoring-your-instance/accessing-the-monitor-dashboard#background-jobs)." + +## Elevated error rates + +### Possible Causes + +* Elevated requests against Git or API. Increased requests to Git or API can occur due to various factors, such as excessive repository cloning, CI/CD processes, or unintentional usage by API scripts or new workloads. +* Failing `haproxy` service or non-availability of individual services. +* Failed repository network maintenance over time. + +### Recommendations + +* Check the **App request/response** panel to see if only certain services are affected. +* Check the `haproxy` logs and try to identify if bad actors may be cause. +* Check for failed repository network maintenance jobs (visit `http(s)://[hostname]/stafftools/networks`). diff --git a/content/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md b/content/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md index 22348d2f903b..1dbd51dff41c 100644 --- a/content/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md +++ b/content/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md @@ -16,7 +16,7 @@ shortTitle: Check for existing SSH key ## About SSH keys -You can use SSH to perform Git operations in repositories on {% data variables.location.product_location %}. For more information, see "[AUTOTITLE](/authentication/connecting-to-github-with-ssh/about-ssh)." +You can use SSH to perform Git operations in repositories. For more information, see "[AUTOTITLE](/authentication/connecting-to-github-with-ssh/about-ssh)." If you have an existing SSH key, you can use the key to authenticate Git operations over SSH. diff --git a/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md b/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md index e47abecfc768..4acead2314aa 100644 --- a/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md +++ b/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md @@ -32,7 +32,7 @@ You can generate a new SSH key on your local machine. After you generate the key {% ifversion ghes %} -If you are a site administrator for {% data variables.location.product_location %}, you can use the same key to grant yourself administrative SSH access to the instance. For more information, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)." +If you are a site administrator for {% data variables.location.product_location_enterprise %}, you can use the same key to grant yourself administrative SSH access to the instance. For more information, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)." {% endif %} diff --git a/content/authentication/connecting-to-github-with-ssh/managing-deploy-keys.md b/content/authentication/connecting-to-github-with-ssh/managing-deploy-keys.md index 86be92e10a40..5bb950a25284 100644 --- a/content/authentication/connecting-to-github-with-ssh/managing-deploy-keys.md +++ b/content/authentication/connecting-to-github-with-ssh/managing-deploy-keys.md @@ -129,10 +129,10 @@ Since {% data variables.product.prodname_github_apps %} are a first class actor ### Pros of installation access tokens -* Tightly-scoped tokens with well-defined permission sets and expiration times (1 hour, or less if revoked manually using the API). -* Dedicated rate limits that grow with your organization. -* Decoupled from {% data variables.product.prodname_dotcom %} user identities, so they do not consume any licensed seats. -* Never granted a password, so cannot be directly signed in to. +* Tightly-scoped tokens with well-defined permission sets and expiration times (1 hour, or less if revoked manually using the API) +* Dedicated rate limits that grow with your organization +* Decoupled from {% data variables.product.prodname_dotcom %} user identities, so they do not consume any licensed seats +* Never granted a password, so cannot be directly signed in to ### Cons of installation access tokens diff --git a/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md b/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md index 8efb2f761334..2417f8d5e3c3 100644 --- a/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md +++ b/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md @@ -69,7 +69,7 @@ If you need to use multiple accounts on {% data variables.location.product_locat {% ifversion ghes %} * **External authentication** - * Your site administrator may configure {% data variables.location.product_location %} to use external authentication instead of a username and password. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#external-authentication)."{% endif %}{% ifversion fpt or ghec %} + * Your site administrator may configure {% data variables.location.product_location_enterprise %} to use external authentication instead of a username and password. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#external-authentication)."{% endif %}{% ifversion fpt or ghec %} * **SAML single sign-on** * Before you can access resources owned by an organization or enterprise account that uses SAML single sign-on, you may need to also authenticate through an IdP. For more information, see "[AUTOTITLE](/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} diff --git a/content/authentication/keeping-your-account-and-data-secure/creating-a-strong-password.md b/content/authentication/keeping-your-account-and-data-secure/creating-a-strong-password.md index 8cabd399b370..23fc608ad639 100644 --- a/content/authentication/keeping-your-account-and-data-secure/creating-a-strong-password.md +++ b/content/authentication/keeping-your-account-and-data-secure/creating-a-strong-password.md @@ -1,6 +1,6 @@ --- title: Creating a strong password -intro: 'Secure your account on {% data variables.location.product_location %} with a strong and unique password using a password manager.' +intro: 'Secure your account on {% data variables.product.prodname_dotcom %} with a strong and unique password using a password manager.' redirect_from: - /articles/what-is-a-strong-password - /articles/creating-a-strong-password @@ -15,13 +15,13 @@ topics: - Access management shortTitle: Create a strong password --- -You must choose or generate a password for your account on {% data variables.location.product_location %} that is at least: +You must choose or generate a password for your account on {% data variables.product.prodname_dotcom %} that is at least: * {% ifversion ghes %}Seven{% else %}Eight{% endif %} characters long, if it includes a number and a lowercase letter, or * 15 characters long with any combination of characters To keep your account secure, we recommend you follow these best practices: * Use a password manager to generate a password of at least 15 characters. -* Generate a unique password for {% data variables.product.product_name %}. If you use your {% data variables.product.product_name %} password elsewhere and that service is compromised, then attackers or other malicious actors could use that information to access your account on {% data variables.location.product_location %}. +* Generate a unique password for {% data variables.product.product_name %}. If you use your {% data variables.product.product_name %} password elsewhere and that service is compromised, then attackers or other malicious actors could use that information to access your account. * Configure two-factor authentication for your personal account. For more information, see "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication)."{% ifversion passkeys %} * {% data reusables.passkeys.add-passkey-option %}{% endif %} * Never share your password, even with a potential collaborator. Each person should use their own personal account on {% data variables.product.product_name %}. For more information on ways to collaborate, see: "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository)," "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models)," or "[AUTOTITLE](/organizations/collaborating-with-groups-in-organizations)." diff --git a/content/authentication/keeping-your-account-and-data-secure/index.md b/content/authentication/keeping-your-account-and-data-secure/index.md index ef111d5d9ef4..49551fc10589 100644 --- a/content/authentication/keeping-your-account-and-data-secure/index.md +++ b/content/authentication/keeping-your-account-and-data-secure/index.md @@ -1,6 +1,6 @@ --- title: Keeping your account and data secure -intro: 'To protect your personal information, you should keep both your account on {% data variables.location.product_location %} and any associated data secure.' +intro: 'To protect your personal information, you should keep both your account on {% data variables.product.prodname_dotcom %} and any associated data secure.' redirect_from: - /articles/keeping-your-account-and-data-secure - /github/authenticating-to-github/keeping-your-account-and-data-secure diff --git a/content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md b/content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md index e52f60dccfdb..8341d8b38700 100644 --- a/content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md +++ b/content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md @@ -1,6 +1,6 @@ --- title: Preventing unauthorized access -intro: 'You may be alerted to a security incident in the media, such as the discovery of the [Heartbleed bug](http://heartbleed.com/), or your computer could be stolen while you''re signed in to {% data variables.location.product_location %}. In such cases, changing your password prevents any unintended future access to your account and projects.' +intro: 'You may be alerted to a security incident in the media, such as the discovery of the [Heartbleed bug](http://heartbleed.com/), or your computer could be stolen while you''re signed in to {% data variables.product.prodname_dotcom %}. In such cases, changing your password prevents any unintended future access to your account and projects.' redirect_from: - /articles/preventing-unauthorized-access - /github/authenticating-to-github/preventing-unauthorized-access diff --git a/content/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md index 23ae476a6b96..952a864efa6e 100644 --- a/content/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md +++ b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md @@ -1,6 +1,6 @@ --- title: Reviewing your SSH keys -intro: 'To keep your credentials secure, you should regularly audit your SSH keys, deploy keys, and review authorized applications that access your account on {% data variables.location.product_location %}.' +intro: 'To keep your credentials secure, you should regularly audit your SSH keys, deploy keys, and review authorized applications that access your account.' redirect_from: - /articles/keeping-your-application-access-tokens-safe - /articles/keeping-your-ssh-keys-and-application-access-tokens-safe diff --git a/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md b/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md index 7635491a07c8..3a91d89edece 100644 --- a/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md +++ b/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md @@ -29,7 +29,7 @@ After you authenticate to perform a sensitive action, your session is temporaril {% note %} -**Note**: If {% data variables.location.product_location %} uses an external authentication method like CAS or SAML SSO, you will not receive prompts to enter sudo mode. For more information, contact your site administrator. +**Note**: If {% data variables.location.product_location_enterprise %} uses an external authentication method like CAS or SAML SSO, you will not receive prompts to enter sudo mode. For more information, contact your site administrator. {% endnote %} @@ -83,7 +83,7 @@ When prompted to authenticate for sudo mode, click **Use security key**, then fo You must install and sign into {% data variables.product.prodname_mobile %} to confirm access to your account for sudo mode using the app. For more information, see "[AUTOTITLE](/get-started/using-github/github-mobile)." -1. When prompted to authenticate for sudo mode, click **Use GitHub Mobile**. +1. When prompted to authenticate for sudo mode, click **Use {% data variables.product.prodname_mobile %}**. 1. Open {% data variables.product.prodname_mobile %}. {% data variables.product.prodname_dotcom %} will display numbers that you must enter in {% data variables.product.prodname_mobile %} to approve the request. 1. In {% data variables.product.prodname_mobile %}, type the numbers displayed. 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 99e7f61a8597..2b63dee86781 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 @@ -46,7 +46,7 @@ If a valid OAuth token, {% data variables.product.prodname_github_app %} token, You can revoke your authorization of a {% data variables.product.prodname_github_app %} or {% data variables.product.prodname_oauth_app %} from your account settings which will revoke any tokens associated with the app. For more information, see "[AUTOTITLE](/apps/using-github-apps/reviewing-your-authorized-integrations)" and "[AUTOTITLE](/apps/oauth-apps/using-oauth-apps/reviewing-your-authorized-applications-oauth)." -Once an authorization is revoked, any tokens associated with the authorization will be revoked as well. To reauthorize an application, follow the instructions from the third-party application or website to connect your account on {% data variables.location.product_location %} again. +Once an authorization is revoked, any tokens associated with the authorization will be revoked as well. To reauthorize an application, follow the instructions from the third-party application or website to connect your account on {% data variables.product.prodname_dotcom %} again. ## Token revoked by the {% data variables.product.prodname_oauth_app %} 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 530cef75d40a..f166da977231 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 @@ -19,7 +19,7 @@ shortTitle: Update access credentials ## Requesting a new password 1. To request a new password, visit {% ifversion fpt or ghec %}https://{% data variables.product.product_url %}/password_reset{% else %}`https://{% data variables.product.product_url %}/password_reset`{% endif %}. -1. Enter the email address associated with your account on {% data variables.location.product_location %}, then click **Send password reset email.** The email will be sent to the backup email address if you have one configured. +1. Enter the email address associated with your account, then click **Send password reset email.** The email will be sent to the backup email address if you have one configured. 1. We'll email you a link that will allow you to reset your password. You must click on this link within 3 hours of receiving the email. If you didn't receive an email from us, make sure to check your spam folder. 1. If you have enabled two-factor authentication, you will be prompted for your 2FA credentials: {% ifversion fpt or ghec %} diff --git a/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md b/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md index 22ad160dff3f..23ba4dca0fa6 100644 --- a/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md +++ b/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md @@ -1,6 +1,6 @@ --- title: Adding a GPG key to your GitHub account -intro: 'To configure your account on {% data variables.location.product_location %} to use your new (or existing) GPG key, you''ll also need to add the key to your account.' +intro: 'To configure your account on {% data variables.product.product_name %} to use your new (or existing) GPG key, you''ll also need to add the key to your account.' redirect_from: - /articles/adding-a-gpg-key-to-your-github-account - /github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account diff --git a/content/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md b/content/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md index 41307ffc27e2..4776929be53f 100644 --- a/content/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md +++ b/content/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md @@ -14,12 +14,9 @@ topics: - Access management shortTitle: Associate email with GPG key --- -{% note %} If you're using a GPG key that matches your committer identity and your verified email address associated with your account on {% data variables.location.product_location %}, then you can begin signing commits and signing tags. -{% endnote %} - {% data reusables.command_line.open_the_multi_os_terminal %} {% data reusables.gpg.list-keys-with-note %} {% data reusables.gpg.copy-gpg-key-id %} diff --git a/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index ce2c12b22372..f2c903f6f0d1 100644 --- a/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -22,12 +22,8 @@ shortTitle: Tell Git about your signing key If you're using a GPG key that matches your committer identity and your verified email address associated with your account on {% data variables.location.product_location %}, then you can begin signing commits and signing tags. -{% note %} - If you don't have a GPG key that matches your committer identity, you need to associate an email with an existing key. For more information, see "[AUTOTITLE](/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key)". -{% endnote %} - If you have multiple GPG keys, you need to tell Git which one to use. {% data reusables.command_line.open_the_multi_os_terminal %} diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-mandatory-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-mandatory-two-factor-authentication.md index 1eb71b89fc3f..69e6ff801bfc 100644 --- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-mandatory-two-factor-authentication.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-mandatory-two-factor-authentication.md @@ -14,12 +14,12 @@ shortTitle: About mandatory 2FA ## About eligibility for mandatory 2FA Your account is selected for mandatory 2FA if you have taken some action on {% data variables.product.product_name %} that shows you are a contributor. Eligible actions include: -* Publishing an app or action for others. -* Creating a release for your repository. -* Contributing to specific high-importance repositories, such as [the projects tracked by the Open Source Security Foundation](https://github.com/ossf/wg-securing-critical-projects#current-work). -* Being an administrator of a high-importance repository. -* Being an organization owner for an organization containing repositories or other users. -* Being an enterprise administrator. +* Publishing an app or action for others +* Creating a release for your repository +* Contributing to specific high-importance repositories, such as [the projects tracked by the Open Source Security Foundation](https://github.com/ossf/wg-securing-critical-projects#current-work) +* Being an administrator of a high-importance repository +* Being an organization owner for an organization containing repositories or other users +* Being an enterprise administrator {% data variables.product.prodname_dotcom %} is continually assessing improvements to our account security features and 2FA requirements, so these criteria may change over time. diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md index cb6f043f7055..b3b52fb9ec61 100644 --- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md @@ -18,7 +18,7 @@ shortTitle: About 2FA {% data reusables.two_fa.mandatory-2fa-contributors-2023 %} {% endif %} -For {% data variables.product.product_name %}, the second form of authentication is a code that's generated by an application on your mobile device{% ifversion fpt or ghec %} or sent as a text message (SMS){% endif %}. After you enable 2FA, {% data variables.product.product_name %} generates an authentication code any time someone attempts to sign into your account on {% data variables.location.product_location %}. The only way someone can sign into your account is if they know both your password and have access to the authentication code on your phone. +For {% data variables.product.product_name %}, the second form of authentication is a code that's generated by an application on your mobile device{% ifversion fpt or ghec %} or sent as a text message (SMS){% endif %}. After you enable 2FA, {% data variables.product.product_name %} generates an authentication code any time someone attempts to sign into your account. The only way someone can sign into your account is if they know both your password and have access to the authentication code on your phone. {% data reusables.two_fa.after-2fa-add-security-key %} diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md index 56a5e6d47793..c66d1b7a13be 100644 --- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md @@ -39,7 +39,7 @@ If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %} {% warning %} **Warning:** -* If you're a member{% ifversion fpt or ghec %}, billing manager,{% endif %} or outside collaborator to a private repository of an organization that requires two-factor authentication, you must leave the organization before you can disable 2FA on {% data variables.location.product_location %}. +* If you're a member{% ifversion fpt or ghec %}, billing manager,{% endif %} or outside collaborator to a private repository of an organization that requires two-factor authentication, you must leave the organization before you can disable 2FA. * If you disable 2FA, you will automatically lose access to the organization and any private forks you have of the organization's private repositories. To regain access to the organization and your forks, re-enable two-factor authentication and contact an organization owner. {% endwarning %} diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/index.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/index.md index b99652e3ed75..6fc5ecbf6599 100644 --- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/index.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/index.md @@ -1,6 +1,6 @@ --- title: Securing your account with two-factor authentication (2FA) -intro: 'You can set up your account on {% data variables.location.product_location %} to require an authentication code in addition to your password when you sign in.' +intro: 'You can set up your account on {% data variables.product.prodname_dotcom %} to require an authentication code in addition to your password when you sign in.' redirect_from: - /categories/84/articles - /categories/two-factor-authentication-2fa diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md index 4344f04906ba..b68c0cf1d0a4 100644 --- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md @@ -45,7 +45,7 @@ Use one of your recovery codes to automatically regain entry into your account. {% endwarning %} -1. Under "Having problems?", click **Use a recovery code{% ifversion fpt or ghec %} or request a reset{% endif %}**. +1. Under "Having problems?", click **Use a recovery code{% ifversion fpt or ghec %} or begin 2FA account recovery{% endif %}**. 1. Type one of your recovery codes, then click **Verify**. {% ifversion passkeys %} @@ -74,7 +74,7 @@ If you lose access to your preferred TOTP app or phone number, you can provide a ## Authenticating with a verified device, SSH token, or {% data variables.product.pat_generic %} -If you know your password for {% data variables.location.product_location %} but don't have the two-factor authentication credentials or your two-factor authentication recovery codes, you can have a one-time password sent to your verified email address to begin the verification process and regain access to your account. +If you know your password for {% data variables.product.prodname_dotcom %} but don't have the two-factor authentication credentials or your two-factor authentication recovery codes, you can have a one-time password sent to your verified email address to begin the verification process and regain access to your account. {% note %} @@ -92,12 +92,7 @@ You can use your two-factor authentication credentials or two-factor authenticat {% endwarning %} 1. Under "Having problems?", click **Use a recovery code or begin 2FA account recovery**. - -{% ifversion 2fa-reconfiguration-inline-update %} -1. Under "Locked out?", click **Recover your account or unlink an email address**. -{% else %} -1. To the right of "Locked out?", click **Try recovering your account**. -{% endif %} +1. Under "Locked out?", click **Try 2FA account recovery, or unlink your account email address(es)**. 1. Click **I understand, get started** to request a reset of your authentication settings. 1. Click **Send one-time password** to send a one-time password to all eligible addresses associated with your account. Only verified emails are eligible for account recovery. If you've restricted password resets to your primary and/or backup addresses, these addresses are the only addresses eligible for account recovery. 1. Under "One-time password", type the temporary password from the recovery email {% data variables.product.prodname_dotcom %} sent, then click **Verify email address**. @@ -113,7 +108,7 @@ You can use your two-factor authentication credentials or two-factor authenticat If you have forgotten your password and you've lost access to your two-factor authentication credentials, you can start account recovery to regain access to your account. You'll need to verify your identity using a recovery authentication factor, such as an SSH key or previously verified device. If no recovery methods are available, you can choose to unlink your email address from your account. 1. Click **Forgot password?**. -1. Enter a primary or backup email address associated with your account on {% data variables.location.product_location %}, then click **Send password reset email.** +1. Enter a primary or backup email address associated with your account, then click **Send password reset email.** 1. Check your email for a link to reset your password. You must click on this link within three hours of receiving the email. If you don't see an email from us, make sure to check your spam folder. 1. Click on the link in the email, then under "Having problems?", click **Start a 2FA recovery request**. 1. To complete your recovery request, you'll need to verify an alternative authentication factor. {% data reusables.accounts.alternative-authentication %} diff --git a/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md b/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md index 6efe62cc414c..1872d18e9db9 100644 --- a/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md +++ b/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md @@ -118,7 +118,7 @@ We record and display two numbers of {% ifversion ghas-billing-UI-update %}activ If there are no unique {% ifversion ghas-billing-UI-update %}active {% endif %}committers, all active committers also contribute to other repositories or organizations that use {% data variables.product.prodname_GH_advanced_security %}. Deactivating the feature for that repository or organization would not free any {% ifversion ghas-billing-UI-update %}licenses{% else %}seats{% endif %} for {% data variables.product.prodname_GH_advanced_security %}. -> [!NOTE] Users can contribute to multiple repositories or organizations. Usage is measured across the whole enterprise account to ensure that each member uses one {% ifversion ghas-billing-UI-update %}license {% else %}seat {% endif %}regardless of how many repositories or organizations the user contributes to. +> [!NOTE] Users can contribute to multiple repositories or organizations. Usage is measured across the whole enterprise account to ensure that each member uses one {% ifversion ghas-billing-UI-update %}license {% else %}seat {% endif %}regardless of how many repositories or organizations the user contributes to. When you activate or deactivate {% data variables.product.prodname_advanced_security %} for repositories, {% data variables.product.prodname_dotcom %} displays an overview of changes to the use of your license. If you deactivate access to {% data variables.product.prodname_GH_advanced_security %}, any {% ifversion ghas-billing-UI-update %}licenses{% else %}seats{% endif %} used by unique active committers are freed up. diff --git a/content/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription.md b/content/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription.md index 9187e638b507..362a3409b5f5 100644 --- a/content/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription.md +++ b/content/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription.md @@ -57,11 +57,7 @@ For example, you link your Azure subscription to your organization {% ifversion * You must have {% ifversion ghec %}either {% endif %}an organization {% ifversion ghec %}or an enterprise {% endif %}account on {% data variables.location.product_location %}. For more information about the differences between these two types of accounts, see "[AUTOTITLE](/get-started/learning-about-github/types-of-github-accounts)." - {%- ifversion ghec %} - - * {% data reusables.enterprise.ghec-trial-azure %} - {%- endif %} - * If the organization you want to connect an Azure subscription to belongs to an enterprise account, you must connect your Azure subscription to the enterprise account, not the organization. {% ifversion fpt %}For more information, see [the {% data variables.product.prodname_ghe_cloud %} version](/enterprise-cloud@latest/{{ currentArticle }}) of this article.{% endif %} + If the organization you want to connect an Azure subscription to belongs to an enterprise account, you must connect your Azure subscription to the enterprise account, not the organization. {% ifversion fpt %}For more information, see [the {% data variables.product.prodname_ghe_cloud %} version](/enterprise-cloud@latest/{{ currentArticle }}) of this article.{% endif %} * You must be an owner of the organization{% ifversion ghec %} or enterprise{% endif %} account. For more information, see {% ifversion fpt %}"[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)."{% elsif ghec %}the following articles. @@ -77,12 +73,6 @@ For example, you link your Azure subscription to your organization {% ifversion * You must know your Azure subscription ID. For more information, see [Get subscription and tenant IDs in the Azure portal](https://learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id) in the Microsoft Docs or [contact Azure support](https://azure.microsoft.com/support/). -## Video demonstration of connecting a subscription - -To connect an Azure subscription, you'll need appropriate access permissions on both {% data variables.product.product_name %} and the Azure billing portal. This may require coordination between two different people. - -To see a demo of the process from beginning to end, see [Billing GitHub consumption through an Azure subscription](https://www.youtube.com/watch?v=DAiIhJKCt8s&ab_channel=GitHub) on {% data variables.product.company_short %}'s YouTube channel. This video demonstrates the process for an enterprise account. If you're connecting a subscription to an organization account, see "[Connecting your Azure subscription to your organization account](/free-pro-team@latest/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription#connecting-your-azure-subscription-to-your-organization-account)." - {% ifversion fpt %} ## Connecting your Azure subscription to your organization account diff --git a/content/billing/managing-the-plan-for-your-github-account/downgrading-your-accounts-plan.md b/content/billing/managing-the-plan-for-your-github-account/downgrading-your-accounts-plan.md index 6b5c2a1f03c0..c82cdba49a62 100644 --- a/content/billing/managing-the-plan-for-your-github-account/downgrading-your-accounts-plan.md +++ b/content/billing/managing-the-plan-for-your-github-account/downgrading-your-accounts-plan.md @@ -1,6 +1,6 @@ --- title: Downgrading your account's plan -intro: 'You can downgrade the plan for any type of account on {% data variables.location.product_location %} at any time.' +intro: 'You can downgrade the plan for any type of account on {% data variables.product.prodname_dotcom %} at any time.' redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/downgrading-your-github-subscription - /articles/downgrading-your-personal-account-s-billing-plan diff --git a/content/billing/managing-the-plan-for-your-github-account/upgrading-your-accounts-plan.md b/content/billing/managing-the-plan-for-your-github-account/upgrading-your-accounts-plan.md index 098e2a6a24be..30d11880eb16 100644 --- a/content/billing/managing-the-plan-for-your-github-account/upgrading-your-accounts-plan.md +++ b/content/billing/managing-the-plan-for-your-github-account/upgrading-your-accounts-plan.md @@ -1,6 +1,6 @@ --- title: Upgrading your account's plan -intro: 'You can upgrade the plan for any type of account on {% data variables.location.product_location %} at any time.' +intro: 'You can upgrade the plan for any type of account on {% data variables.product.prodname_dotcom %} at any time.' redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/upgrading-your-github-subscription - /articles/upgrading-your-personal-account-s-billing-plan @@ -79,7 +79,7 @@ Upgrading an organization does not affect your personal account or repositories ### Next steps for organizations using {% data variables.product.prodname_ghe_cloud %} -As part of your upgrade to {% data variables.product.prodname_ghe_cloud %}, you set up an enterprise account on {% data variables.location.product_location %}. An enterprise account allows you to manage multiple organizations. Optionally, you can set up identity and access management for an individual organization or enterprise account. See "[AUTOTITLE](/enterprise-cloud@latest/admin/overview/about-enterprise-accounts)" and "[AUTOTITLE](/enterprise-cloud@latest/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-through-githubcom-with-additional-saml-access-restriction){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} +As part of your upgrade to {% data variables.product.prodname_ghe_cloud %}, you set up an enterprise account. An enterprise account allows you to manage multiple organizations. Optionally, you can set up identity and access management for an individual organization or enterprise account. See "[AUTOTITLE](/enterprise-cloud@latest/admin/overview/about-enterprise-accounts)" and "[AUTOTITLE](/enterprise-cloud@latest/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-through-githubcom-with-additional-saml-access-restriction){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} {% data reusables.enterprise.create-an-enterprise-account %} See "[AUTOTITLE](/enterprise-cloud@latest/admin/managing-your-enterprise-account/creating-an-enterprise-account){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} diff --git a/content/billing/managing-your-github-billing-settings/about-billing-for-your-enterprise.md b/content/billing/managing-your-github-billing-settings/about-billing-for-your-enterprise.md index c0100ed32b41..acf46b35f889 100644 --- a/content/billing/managing-your-github-billing-settings/about-billing-for-your-enterprise.md +++ b/content/billing/managing-your-github-billing-settings/about-billing-for-your-enterprise.md @@ -22,7 +22,7 @@ shortTitle: Billing for your enterprise {% ifversion ghec %} -When you use an enterprise account on {% data variables.location.product_location %}, the enterprise account is the central point for all billing within your enterprise, including the organizations that your enterprise owns. +When you use an enterprise account on {% data variables.product.prodname_dotcom %}, the enterprise account is the central point for all billing within your enterprise, including the organizations that your enterprise owns. If you use {% data variables.product.product_name %} with an individual organization and do not yet have an enterprise account, you create an enterprise account and add your organization. For more information, see "[AUTOTITLE](/admin/managing-your-enterprise-account/creating-an-enterprise-account)." diff --git a/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md b/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md index 46f35ba93c34..c3e0bccf653c 100644 --- a/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md +++ b/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md @@ -46,5 +46,6 @@ If you have any questions about renewing your license, contact {% data variables ## Further reading * "[AUTOTITLE](/billing/managing-your-github-billing-settings/about-billing-for-your-enterprise)" -* [{% data variables.product.prodname_enterprise %} Releases](https://enterprise.github.com/releases/) website +* The [People that consume a license](/billing/managing-the-plan-for-your-github-account/about-per-user-pricing#people-that-consume-a-license)" section in "About per-user pricing" * "[Setting up a {% data variables.product.prodname_ghe_server %} instance]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/installation/setting-up-a-github-enterprise-server-instance)" +* The [{% data variables.product.prodname_enterprise %} Releases](https://enterprise.github.com/releases/) website diff --git a/content/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md b/content/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md index 3bf496b0565a..61a48ac689b3 100644 --- a/content/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md +++ b/content/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md @@ -76,6 +76,12 @@ For {% data variables.product.prodname_code_scanning %} alerts from {% data vari {% endif %} +{% ifversion copilot-chat-ghas-alerts %} + +With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand {% data variables.product.prodname_code_scanning %} alerts in repositories in your organization. For more information, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features)." + +{% endif %} + {% note %} For the next article in this series, see "[AUTOTITLE](/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning)." diff --git a/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md b/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md index e91d27f773b4..8ba791b78ba7 100644 --- a/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md +++ b/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md @@ -27,6 +27,12 @@ You can enable secret scanning for individual repositories or for all repositori This article explains a high-level process focusing on enabling {% data variables.product.prodname_secret_scanning %} for all repositories in an organization. The principles described in this article can still be applied even if you take a more staggered approach of enabling {% data variables.product.prodname_secret_scanning %} for individual repositories. +{% ifversion copilot-chat-ghas-alerts %} + +With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand {% data variables.product.prodname_secret_scanning %} alerts in repositories in your organization. For more information, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features)." + +{% endif %} + ## 1. Focus on newly committed secrets When you enable {% data variables.product.prodname_secret_scanning %}, you should focus on remediating any newly committed credentials detected by secret scanning. If you focus on cleaning up committed credentials, developers could continue to accidentally push new credentials, which means your total secret count will stay around the same level, not decrease as intended. This is why it is essential to stop new credentials being leaked before focusing on revoking any current secrets. diff --git a/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md b/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md index 2d936a7ce0ba..3d5ad863486a 100644 --- a/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md +++ b/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md @@ -86,7 +86,7 @@ You can provide the source root for conversion from absolute to relative URIs in * [`checkout_path`](https://github.com/github/codeql-action/blob/c2c0a2908e95769d01b907f9930050ecb5cf050d/analyze/action.yml#L44-L47) input to the `github/codeql-action/analyze` action * `checkout_uri` parameter to the SARIF upload API endpoint. For more information, see "[AUTOTITLE](/rest/code-scanning/code-scanning#upload-an-analysis-as-sarif-data)." -* [`invocation.workingDirectory.uri`](https://docs.oasis-open.org/sarif/sarif/v2.1.0/csprd01/sarif-v2.1.0-csprd01.html#_Toc9244365) property in the SARIF file +* [`invocations[0].workingDirectory.uri`](https://docs.oasis-open.org/sarif/sarif/v2.1.0/csprd01/sarif-v2.1.0-csprd01.html#_Toc9244365) property in the `run` object in the SARIF file If you provide a source root, any location of an artifact specified using an absolute URI must use the same URI scheme. If there is a mismatch between the URI scheme for the source root and one or more of the absolute URIs, the upload is rejected. diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts.md b/content/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts.md index a1abf1577086..5dd10ba02b11 100644 --- a/content/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts.md +++ b/content/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts.md @@ -29,6 +29,12 @@ You can use {% data variables.product.prodname_copilot_autofix %} to generate fi {% endif %} +{% ifversion copilot-chat-ghas-alerts %} + +With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand {% data variables.product.prodname_code_scanning %} alerts in repositories in your organization. For more information, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features)." + +{% endif %} + {% ifversion security-overview-org-codeql-pr-alerts %} For {% data variables.product.prodname_code_scanning %} alerts from {% data variables.product.prodname_codeql %} analysis, you can use security overview to see how {% data variables.product.prodname_codeql %} is performing in pull requests in repositories across your organization, and to identify repositories where you may need to take action. For more information, see "[AUTOTITLE](/code-security/security-overview/viewing-metrics-for-pull-request-alerts)." diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository.md b/content/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository.md index fa766d2d819d..5c359f08eb60 100644 --- a/content/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository.md +++ b/content/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository.md @@ -55,6 +55,14 @@ For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-cod {% endnote %} +{% ifversion copilot-chat-ghas-alerts %} + +## Asking {% data variables.product.prodname_copilot_chat %} about {% data variables.product.prodname_code_scanning %} alerts + +With a {% data variables.product.prodname_copilot_enterprise %} license, you can ask {% data variables.product.prodname_copilot_chat_short %} for help to better understand security alerts, including {% data variables.product.prodname_code_scanning %} alerts, in repositories in your organization. For more information, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features)." + +{% endif %} + {% ifversion security-overview-org-codeql-pr-alerts %} ## Viewing metrics for {% data variables.product.prodname_codeql %} pull request alerts for an organization diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md b/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md index 48e02010b81d..6277be240861 100644 --- a/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md +++ b/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md @@ -54,6 +54,12 @@ In repositories where {% data variables.product.prodname_code_scanning %} is con If your pull request targets a protected branch that uses {% data variables.product.prodname_code_scanning %}, and the repository owner has configured required status checks, then the "{% data variables.product.prodname_code_scanning_caps %} results" check must pass before you can merge the pull request. For more information, see "[AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging)." +{% ifversion copilot-chat-ghas-alerts %} + +With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand {% data variables.product.prodname_code_scanning %} alerts in repositories in your organization. For more information, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features)." + +{% endif %} + ## About {% data variables.product.prodname_code_scanning %} as a pull request check There are many options for configuring {% data variables.product.prodname_code_scanning %} as a pull request check, so the exact configuration of each repository will vary and some will have more than one check. 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 f5a831060547..95fc4a901be0 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 @@ -172,8 +172,6 @@ When creating databases for Python you must ensure: * You have Python 3 installed and available to the {% data variables.product.prodname_codeql %} extractor. * You have the version of Python used by your code installed. -* You have access to the [pip](https://pypi.org/project/pip/) packaging management system and can install any packages that the codebase depends on. -* You have installed the [virtualenv](https://pypi.org/project/virtualenv/) pip module. In the command line you must specify `--language=python`. For example: diff --git a/content/code-security/dependabot/dependabot-alerts/about-dependabot-alerts.md b/content/code-security/dependabot/dependabot-alerts/about-dependabot-alerts.md index 6d5f7691b1d3..f3bfb31f0b29 100644 --- a/content/code-security/dependabot/dependabot-alerts/about-dependabot-alerts.md +++ b/content/code-security/dependabot/dependabot-alerts/about-dependabot-alerts.md @@ -108,6 +108,14 @@ By default, we notify people with {% ifversion dependabot-alerts-permissions-wri You can also see all the {% data variables.product.prodname_dependabot_alerts %} that correspond to a particular advisory in the {% data variables.product.prodname_advisory_database %}. {% data reusables.security-advisory.link-browsing-advisory-db %} +{% ifversion copilot-chat-ghas-alerts %} + +## Asking {% data variables.product.prodname_copilot_chat %} about {% data variables.product.prodname_dependabot_alerts %} + +With a {% data variables.product.prodname_copilot_enterprise %} license, you can ask {% data variables.product.prodname_copilot_chat_short %} for help to better understand security alerts, including {% data variables.product.prodname_dependabot_alerts %}, in repositories in your organization. For more information, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features)." + +{% endif %} + ## Further reading * "[AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates)" diff --git a/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md b/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md index 326ffa24fa75..02c7714acfa8 100644 --- a/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md +++ b/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md @@ -137,6 +137,12 @@ For supported languages, {% data variables.product.prodname_dependabot %} detect {% endif %} +{% ifversion copilot-chat-ghas-alerts %} + +With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand {% data variables.product.prodname_dependabot_alerts %} in repositories in your organization. For more information, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features)." + +{% endif %} + ### Fixing vulnerable dependencies 1. View the details for an alert. For more information, see "[Viewing {% data variables.product.prodname_dependabot_alerts %}](#viewing-dependabot-alerts)" (above). diff --git a/content/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates.md b/content/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates.md index f5b3f17ed32d..bedf9adaa84a 100644 --- a/content/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates.md +++ b/content/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates.md @@ -30,6 +30,8 @@ topics: {% data variables.product.prodname_dependabot_security_updates %} make it easier for you to fix vulnerable dependencies in your repository. You typically add a `dependabot.yml` file to your repository to enable {% data variables.product.prodname_dependabot_security_updates %}. You then configure options in this file to tell {% data variables.product.prodname_dependabot %} how to maintain your repository. +{% data reusables.dependabot.dependabot-updates-supported-repos-ecosystems %} + If you enable {% data variables.product.prodname_dependabot_security_updates %}, when a {% data variables.product.prodname_dependabot %} alert is raised for a vulnerable dependency in the dependency graph of your repository, {% data variables.product.prodname_dependabot %} automatically tries to fix it. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)" and "[AUTOTITLE](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates)." > [!NOTE] diff --git a/content/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates.md b/content/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates.md index a15aed26a83a..ade2ad779c1b 100644 --- a/content/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates.md +++ b/content/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates.md @@ -30,6 +30,8 @@ shortTitle: Dependabot version updates {% data variables.product.prodname_dependabot %} takes the effort out of maintaining your dependencies. You can use it to ensure that your repository automatically keeps up with the latest releases of the packages and applications it depends on. +{% data reusables.dependabot.dependabot-updates-supported-repos-ecosystems %} + You enable {% data variables.product.prodname_dependabot_version_updates %} by checking a `dependabot.yml` configuration file into your repository. The configuration file specifies the location of the manifest, or of other package definition files, stored in your repository. {% data variables.product.prodname_dependabot %} uses this information to check for outdated packages and applications. {% data variables.product.prodname_dependabot %} determines if there is a new version of a dependency by looking at the semantic versioning ([semver](https://semver.org/)) of the dependency to decide whether it should update to that version. For certain package managers, {% data variables.product.prodname_dependabot_version_updates %} also supports vendoring. Vendored (or cached) dependencies are dependencies that are checked in to a specific directory in a repository rather than referenced in a manifest. Vendored dependencies are available at build time even if package servers are unavailable. {% data variables.product.prodname_dependabot_version_updates %} can be configured to check vendored dependencies for new versions and update them if necessary. When {% data variables.product.prodname_dependabot %} identifies an outdated dependency, it raises a pull request to update the manifest to the latest version of the dependency. For vendored dependencies, {% data variables.product.prodname_dependabot %} raises a pull request to replace the outdated dependency with the new version directly. You check that your tests pass, review the changelog and release notes included in the pull request summary, and then merge it. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates)." @@ -56,33 +58,6 @@ If you've enabled security updates, you'll sometimes see extra pull requests for {% data reusables.dependabot.version-updates-skip-scheduled-runs %} -## Supported repositories and ecosystems - - -You can configure version updates for repositories that contain a dependency manifest or lock file for one of the supported package managers. For some package managers, you can also configure vendoring for dependencies. For more information, see [`vendor`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#vendor). -{% data variables.product.prodname_dependabot %} also supports dependencies in private registries. For more information, see [`registries`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#registries). -{% ifversion ghes %} - -{% note %} - -**Note**: To ensure that {% data variables.product.product_name %} supports {% data variables.product.prodname_dependabot_updates %} for the latest supported ecosystem versions, your enterprise owner must download the most recent version of the [{% data variables.product.prodname_dependabot %} action](https://github.com/github/dependabot-action). {% data reusables.actions.action-bundled-actions %} - -{% endnote %} - -{% endif %} - -{% note %} - -**Note**: {% data reusables.dependabot.private-dependencies-note %} - -{% data variables.product.prodname_dependabot %} doesn't support private {% data variables.product.prodname_dotcom %} dependencies for all package managers. See the details in the table below. - -{% endnote %} - -{% data reusables.dependabot.supported-package-managers %} - -If your repository already uses an integration for dependency management, you will need to disable this before enabling {% data variables.product.prodname_dependabot %}. {% ifversion fpt or ghec %}For more information, see "[AUTOTITLE](/get-started/exploring-integrations/about-integrations)."{% endif %} - {% ifversion dependabot-updates-paused %} ## About automatic deactivation of {% data variables.product.prodname_dependabot_updates %} diff --git a/content/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates.md b/content/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates.md index c03f93532ec0..183303fe9ece 100644 --- a/content/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates.md +++ b/content/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates.md @@ -33,7 +33,7 @@ You enable {% data variables.product.prodname_dependabot_version_updates %} by c By default only direct dependencies that are explicitly defined in a manifest are kept up to date by {% data variables.product.prodname_dependabot_version_updates %}. You can choose to receive updates for indirect dependencies defined in lock files. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#allow)." -{% data reusables.dependabot.private-dependencies-note %} Additionally, {% data variables.product.prodname_dependabot %} doesn't support private {% data variables.product.prodname_dotcom %} dependencies for all package managers. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates#supported-repositories-and-ecosystems)" and "[AUTOTITLE](/get-started/learning-about-github/github-language-support)." +{% data reusables.dependabot.private-dependencies-note %} Additionally, {% data variables.product.prodname_dependabot %} doesn't support private {% data variables.product.prodname_dotcom %} dependencies for all package managers. For more information, see "[AUTOTITLE](/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories)" and "[AUTOTITLE](/get-started/learning-about-github/github-language-support)." ## Enabling {% data variables.product.prodname_dependabot_version_updates %} diff --git a/content/code-security/dependabot/ecosystems-supported-by-dependabot/index.md b/content/code-security/dependabot/ecosystems-supported-by-dependabot/index.md new file mode 100644 index 000000000000..fa4bb2803ee2 --- /dev/null +++ b/content/code-security/dependabot/ecosystems-supported-by-dependabot/index.md @@ -0,0 +1,18 @@ +--- +title: Ecosystems supported by Dependabot +intro: '{% data variables.product.prodname_dependabot %} supports a wide range of ecosystems to help keep your code secure' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghec: '*' + ghes: '*' +topics: + - Dependabot + - Dependencies + - Alerts + - Vulnerabilities + - Repositories +shortTitle: Dependabot ecosystems +children: + - /supported-ecosystems-and-repositories +--- diff --git a/content/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories.md b/content/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories.md new file mode 100644 index 000000000000..e28484af7434 --- /dev/null +++ b/content/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories.md @@ -0,0 +1,46 @@ +--- +title: Dependabot supported ecosystems and repositories +shortTitle: Dependabot ecosystem support # Max 31 characters +intro: '{% data variables.product.prodname_dependabot %} supports a variety of ecosystems and repositories' +allowTitleToDifferFromFilename: true +type: reference +topics: + - Dependabot + - Dependencies + - Alerts + - Vulnerabilities + - Repositories +versions: + fpt: '*' + ghec: '*' + ghes: '*' +--- + +## About {% data variables.product.prodname_dependabot %} + +{% data variables.product.prodname_dependabot %} helps you stay on top of your dependency ecosystems. With {% data variables.product.prodname_dependabot %}, you can keep the dependencies you rely on up-to-date, addressing any potential security issues in your supply chain. + +{% data reusables.dependabot.dependabot-overview %} + +For more information about {% data variables.product.prodname_dependabot %}, see "[AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide)." + +In this article, you can see what the supported ecosystems and repositories are. + +## Supported ecosystems and repositories + + +You can configure updates for repositories that contain a dependency manifest or lock file for one of the supported package managers. For some package managers, you can also configure vendoring for dependencies. For more information, see [`vendor`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#vendor). +{% data variables.product.prodname_dependabot %} also supports dependencies in private registries. For more information, see [`registries`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#registries). +{% ifversion ghes %} + +> [!NOTE] +> To ensure that {% data variables.product.product_name %} supports {% data variables.product.prodname_dependabot_updates %} for the latest supported ecosystem versions, your enterprise owner must download the most recent version of the [{% data variables.product.prodname_dependabot %} action](https://github.com/github/dependabot-action). {% data reusables.actions.action-bundled-actions %} +{% endif %} + +> [!NOTE] +> * {% data reusables.dependabot.private-dependencies-note %} +> * {% data variables.product.prodname_dependabot %} doesn't support private {% data variables.product.prodname_dotcom %} dependencies for all package managers. See the details in the table below. + +If your repository already uses an integration for dependency management, you will need to disable this before enabling {% data variables.product.prodname_dependabot %}. {% ifversion fpt or ghec %}For more information, see "[AUTOTITLE](/get-started/exploring-integrations/about-integrations)."{% endif %} + +{% data reusables.dependabot.supported-package-managers %} diff --git a/content/code-security/dependabot/index.md b/content/code-security/dependabot/index.md index 1adfda26479e..54b1d60dc439 100644 --- a/content/code-security/dependabot/index.md +++ b/content/code-security/dependabot/index.md @@ -14,6 +14,7 @@ topics: - Repositories - Dependencies children: + - /ecosystems-supported-by-dependabot - /dependabot-alerts - /dependabot-auto-triage-rules - /dependabot-security-updates diff --git a/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md b/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md index 89d679c61b46..8831d314224b 100644 --- a/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md +++ b/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md @@ -170,7 +170,7 @@ Similarly, if {% data variables.product.prodname_dependabot %} can't access a pr To allow {% data variables.product.prodname_dependabot %} to update the dependency references successfully, make sure that all of the referenced dependencies are hosted at accessible locations. -**Version updates only.** {% data reusables.dependabot.private-dependencies-note %} Additionally, {% data variables.product.prodname_dependabot %} doesn't support private {% data variables.product.prodname_dotcom %} dependencies for all package managers. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates#supported-repositories-and-ecosystems)." +**Version updates only.** {% data reusables.dependabot.private-dependencies-note %} Additionally, {% data variables.product.prodname_dependabot %} doesn't support private {% data variables.product.prodname_dotcom %} dependencies for all package managers. For more information, see "[AUTOTITLE](/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories)." {% ifversion dependabot-version-updates-groups %} diff --git a/content/code-security/getting-started/best-practices-for-preventing-data-leaks-in-your-organization.md b/content/code-security/getting-started/best-practices-for-preventing-data-leaks-in-your-organization.md index 1643f56e4f97..eb8b36f9bcf0 100644 --- a/content/code-security/getting-started/best-practices-for-preventing-data-leaks-in-your-organization.md +++ b/content/code-security/getting-started/best-practices-for-preventing-data-leaks-in-your-organization.md @@ -104,7 +104,7 @@ To ensure that all code is properly reviewed prior to being merged into the defa If a user pushes sensitive data, ask them to remove it by using the `git filter-repo` tool or the BFG Repo-Cleaner open source tool. For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)." Also, it is possible to revert almost anything in Git. For more information, see [{% data variables.product.prodname_blog %}](https://github.blog/2015-06-08-how-to-undo-almost-anything-with-git/). -At the organization level, if you're unable to coordinate with the user who pushed the sensitive data to remove it, we recommend you contact [GitHub Support](https://support.github.com/contact) with the concerning commit SHA. +At the organization level, if you're unable to coordinate with the user who pushed the sensitive data to remove it, we recommend you contact {% data variables.contact.contact_support %} with the concerning commit SHA. If you're unable to coordinate directly with the repository owner to remove data that you're confident you own, you can fill out a DMCA takedown notice form and tell GitHub Support. For more information, see [DMCA takedown notice](https://support.github.com/contact/dmca-takedown). diff --git a/content/code-security/getting-started/github-security-features.md b/content/code-security/getting-started/github-security-features.md index 141c8fc987f3..f318e0faa2e4 100644 --- a/content/code-security/getting-started/github-security-features.md +++ b/content/code-security/getting-started/github-security-features.md @@ -106,6 +106,12 @@ Many {% data variables.product.prodname_GH_advanced_security %} features are ava {% endif %} +{% ifversion copilot-chat-ghas-alerts %} + +With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand security alerts in repositories in your organization from {% data variables.product.prodname_GH_advanced_security %} features ({% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_secret_scanning %}, and {% data variables.product.prodname_dependabot_alerts %}). For more information, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features)." + +{% endif %} + {% data reusables.advanced-security.ghas-trial %} ### {% data variables.product.prodname_code_scanning_caps %} diff --git a/content/code-security/secret-scanning/introduction/about-secret-scanning.md b/content/code-security/secret-scanning/introduction/about-secret-scanning.md index 12276eeeb9a2..e0ca7ca894f3 100644 --- a/content/code-security/secret-scanning/introduction/about-secret-scanning.md +++ b/content/code-security/secret-scanning/introduction/about-secret-scanning.md @@ -54,7 +54,7 @@ Below is a typical workflow that explains how {% data variables.product.prodname * **Review**: When a secret is detected, you'll need to review the alert details provided. -* **Remediation**: You then need take appropriate actions to remediate the exposure. This might include: +* **Remediation**: You then need to take appropriate actions to remediate the exposure. This might include: * Rotating the affected credential to ensure it is no longer usable. * Removing the secret from the repository's history (using tools like BFG Repo-Cleaner or {% data variables.product.prodname_dotcom %}'s built-in features). diff --git a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/evaluating-alerts.md b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/evaluating-alerts.md index 6652cf1273dd..7606417fbc3f 100644 --- a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/evaluating-alerts.md +++ b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/evaluating-alerts.md @@ -49,6 +49,14 @@ For information on how to enable validity checks for partner patterns, see "[AUT You can use the REST API to retrieve a list of the most recent validation status for each of your tokens. For more information, see "[AUTOTITLE](/rest/secret-scanning)" in the REST API documentation. You can also use webhooks to be notified of activity relating to a {% data variables.product.prodname_secret_scanning %} alert. For more information, see the `secret_scanning_alert` event in "[AUTOTITLE](/webhooks/webhook-events-and-payloads?actionType=created#secret_scanning_alert)." +{% ifversion copilot-chat-ghas-alerts %} + +## Asking {% data variables.product.prodname_copilot_chat %} about {% data variables.product.prodname_secret_scanning %} alerts + +With a {% data variables.product.prodname_copilot_enterprise %} license, you can ask {% data variables.product.prodname_copilot_chat_short %} for help to better understand security alerts, including {% data variables.product.prodname_secret_scanning %} alerts, in repositories in your organization. For more information, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features)." + +{% endif %} + {% ifversion secret-scanning-validity-check-partner-patterns %} ## Performing an on-demand validity check diff --git a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/managing-custom-patterns.md b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/managing-custom-patterns.md index 457469577649..d3b9febbe3ca 100644 --- a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/managing-custom-patterns.md +++ b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/managing-custom-patterns.md @@ -14,6 +14,8 @@ topics: Custom patterns are user-defined patterns that you can use to identify secrets that are not detected by the default patterns supported by {% data variables.product.prodname_secret_scanning %}. For more information, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning)." +At the enterprise level, only the creator of a custom pattern can edit the pattern, and use it in a dry run. There are no similar restrictions for editing custom patterns at repository and organization level. + ## Editing a custom pattern When you save a change to a custom pattern, this closes all the {% data variables.secret-scanning.alerts %} that were created using the previous version of the pattern. @@ -31,6 +33,8 @@ When you save a change to a custom pattern, this closes all the {% data variable ## Removing a custom pattern +When you remove a custom pattern, {% data variables.product.prodname_dotcom %} gives you the option to close the {% data variables.secret-scanning.alerts %} relating to the pattern, or keep these alerts. + {% data reusables.secret-scanning.view-custom-pattern %} 1. To the right of the custom pattern you want to remove, click {% octicon "trash" aria-label="Remove pattern" %}. 1. Review the confirmation, and select a method for dealing with any open alerts relating to the custom pattern. diff --git a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/about-delegated-bypass-for-push-protection.md b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/about-delegated-bypass-for-push-protection.md index 95e974880a04..5d11fd5ce322 100644 --- a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/about-delegated-bypass-for-push-protection.md +++ b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/about-delegated-bypass-for-push-protection.md @@ -19,6 +19,18 @@ shortTitle: Delegated bypass {% data reusables.secret-scanning.push-protection-delegated-bypass-intro %} -{% data reusables.secret-scanning.push-protection-delegated-bypass-overview %} +When you enable push protection, by default, anyone with write access to the repository can choose to bypass the protection by specifying a reason for allowing the push containing a secret. With delegated bypass, only specific roles and teams can bypass push protection. All other contributors are instead obligated to make a request for "bypass privileges", which is sent to a designated group of reviewers who either approve or deny the request to bypass push protection. + +If the request to bypass push protection is approved, the contributor can push the commit containing the secret. If the request is denied, the contributor must remove the secret from the commit (or commits) containing the secret before pushing again. + +To configure delegated bypass, organization owners or repository administrators must change the "Who can bypass push protection for {% data variables.product.prodname_secret_scanning %}" setting in the UI from **Anyone with write access** to **Specific roles and teams**. + +Organization owners or repository administrators are then prompted to create a "bypass list". The bypass list comprises the specific roles and teams, such as the security team or repository administrators, who oversee requests from non-members to bypass push protection. For more information, see "[Configuring delegated bypass for an organization](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection#configuring-delegated-bypass-for-an-organization)" and "[Configuring delegated bypass for a repository](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection#configuring-delegated-bypass-for-a-repository)." + +{% ifversion push-protection-bypass-fine-grained-permissions %} Alternatively, instead of creating a bypass list, you can grant specific organization members the ability to review and manage bypass requests using fine-grained permissions. For more information, see "[Using fine-grained permissions to control who can review and manage bypass requests](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection#using-fine-grained-permissions-to-control-who-can-review-and-manage-bypass-requests)."{% endif %} + +Members {% ifversion push-protection-bypass-fine-grained-permissions %}with permission to review (approve or deny) bypass requests can manage these {% else %}of the bypass list can review and manage {% endif %}requests through the "Push protection bypass" page in the **Security** tab of the repository. For more information, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/managing-requests-to-bypass-push-protection)." + +{% data reusables.secret-scanning.push-protection-delegated-bypass-note %} For information about enabling delegated bypass, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection)." diff --git a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection.md b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection.md index fd6088da367e..5bb5830abc9a 100644 --- a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection.md +++ b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection.md @@ -14,7 +14,7 @@ topics: shortTitle: Enable delegated bypass --- -## Enabling delegated bypass for push protection +## About enabling delegated bypass for push protection {% data reusables.secret-scanning.push-protection-delegate-bypass-beta-note %} @@ -24,6 +24,8 @@ When you enable this feature, you will create a bypass list of roles and teams w >[!NOTE] You can't add secret teams to the bypass list. +{% ifversion push-protection-bypass-fine-grained-permissions %}Alternatively, you can grant specific organization members the ability to review and manage bypass requests using fine-grained permissions, which give you more refined control over which individuals and teams can approve and deny bypass requests. For more information, see "[Using fine-grained permissions to control who can review and manage bypass requests](#using-fine-grained-permissions-to-control-who-can-review-and-manage-bypass-requests)."{% endif %} + ## Configuring delegated bypass for an organization {% data reusables.organizations.navigate-to-org %} @@ -51,3 +53,16 @@ When you enable this feature, you will create a bypass list of roles and teams w >[!NOTE] You can't add secret teams to the bypass list. 1. In the dialog box, select the roles and teams that you want to add to the bypass list, then click **Add selected**. + +{% ifversion push-protection-bypass-fine-grained-permissions %} + +## Using fine-grained permissions to control who can review and manage bypass requests + +You can grant specific individuals or teams the ability to review and manage bypass requests using fine-grained permissions. + +1. Ensure that delegated bypass is enabled for the organization. For more information, follow steps 1-5 in "[Configuring delegated bypass for your organization](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection#configuring-delegated-bypass-for-an-organization)." +1. Create (or edit) a custom organization role. For information on creating and editing custom roles, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-organization-roles#creating-a-custom-role)." +1. When choosing which permissions to add to the custom role, select the "Review and manage {% data variables.product.prodname_secret_scanning %} bypass requests" permission. +1. Assign the custom role to individual members or teams in your organization. For more information on assigning custom roles, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles#assigning-an-organization-role)." + +{% endif %} diff --git a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/managing-requests-to-bypass-push-protection.md b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/managing-requests-to-bypass-push-protection.md index bd54906659f1..94a764ba6b82 100644 --- a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/managing-requests-to-bypass-push-protection.md +++ b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/managing-requests-to-bypass-push-protection.md @@ -22,7 +22,15 @@ shortTitle: Manage bypass requests An organization owner or repository administrator defines which roles and teams are included in a bypass list. Members of the bypass list can view and manage all requests for bypass privileges on the "Push protection bypass" page, located under the **Security** tab of the repository. For more information, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection)." -> [!NOTE] Members of the bypass list are still protected from accidentally pushing secrets to a repository. When a member of the bypass list attempts to push a commit containing a secret, their push is still blocked, but they can choose to bypass the block by specifying a reason for allowing the push. Members of the bypass list do not have to request bypass privileges from other members in order to override the block. +{% data reusables.secret-scanning.push-protection-delegated-bypass-note %} + +To help you effectively triage secrets for which there is a bypass request, {% data variables.product.prodname_dotcom %} displays the following information in the request: + +* Name of the user who attempted the push. +* Repository where the push was attempted. +* Commit hash of the push. +* Timestamp of the push.{% ifversion push-protection-delegated-bypass-enhancements %} +* File path and branch information. The branch information is only available for pushes to single branches.{% endif %} ### Managing requests to bypass push protection at the repository level diff --git a/content/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization.md b/content/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization.md index 77a82c60b386..f72a9141db7d 100644 --- a/content/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization.md +++ b/content/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization.md @@ -59,7 +59,7 @@ You can allow {% data variables.product.prodname_dependabot %} to use {% data va ### Granting {% data variables.product.prodname_dependabot %} access to private {% ifversion ghec or ghes %}and internal {% endif %}repositories -To update private dependencies of repositories in your organization, {% data variables.product.prodname_dependabot %} needs access to those repositories. To grant {% data variables.product.prodname_dependabot %} access to the desired private {% ifversion ghec or ghes %}or internal {% endif %}repository, scroll down to the "Grant {% data variables.product.prodname_dependabot %} access to private repositories" section, then use the search bar to find and select the desired repository. Be aware that granting {% data variables.product.prodname_dependabot %} access to a repository means all users in your organization will have access to the contents of that repository through {% data variables.product.prodname_dependabot_updates %}. For more information about the supported ecosystems for private repositories, see "[AUTOTITLE](/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates#supported-repositories-and-ecosystems)." +To update private dependencies of repositories in your organization, {% data variables.product.prodname_dependabot %} needs access to those repositories. To grant {% data variables.product.prodname_dependabot %} access to the desired private {% ifversion ghec or ghes %}or internal {% endif %}repository, scroll down to the "Grant {% data variables.product.prodname_dependabot %} access to private repositories" section, then use the search bar to find and select the desired repository. Be aware that granting {% data variables.product.prodname_dependabot %} access to a repository means all users in your organization will have access to the contents of that repository through {% data variables.product.prodname_dependabot_updates %}. For more information about the supported ecosystems for private repositories, see "[AUTOTITLE](/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories)." ## Configuring global {% data variables.product.prodname_code_scanning %} settings diff --git a/content/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/best-practices-for-writing-repository-security-advisories.md b/content/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/best-practices-for-writing-repository-security-advisories.md index 6a4d181fbd0f..521d2718fb9f 100644 --- a/content/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/best-practices-for-writing-repository-security-advisories.md +++ b/content/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/best-practices-for-writing-repository-security-advisories.md @@ -51,38 +51,41 @@ For more information about the {% data variables.product.prodname_advisory_datab ### Glossary -**Vulnerable Version Range (VVR)**: the range of versions that are vulnerable to a particular software bug. -**Operator**: any symbol that indicates the boundary of a vulnerable version range. -**Open Source Vulnerability format (OSV)**: format that the {% data variables.product.prodname_advisory_database %} data strives to be compatible with. +* **Vulnerable Version Range (VVR)**: the range of versions that are vulnerable to a particular software bug. +* **Operator**: any symbol that indicates the boundary of a vulnerable version range. +* **Open Source Vulnerability format (OSV)**: format that the {% data variables.product.prodname_advisory_database %} data strives to be compatible with. ### Version syntax * Smaller numbers are earlier versions than larger numbers. for example, `1.0.0` is a lower version than `2.0.0` * Earlier letters in the alphabet are earlier versions than later letters in the alphabet. For example, `2.0.0-a` is an earlier version than `2.0.0-b`. * Any letters that come after a number are considered part of a prerelease, so any versions with letters after the numbers are earlier versions than numbers without letters in the version number. For example, `2.0.0-alpha`, `2.0.0-beta`, and `2.0.0-rc` are earlier than `2.0.0`. -* A fixed version cannot be smaller than the largest number in the VVR. For example, a vulnerable version is released and the maintainer recommends downgrading. The lower version cannot be used as a fixed version because it is smaller than the vulnerable version. +* A fixed version cannot be smaller than the largest number in the VVR. For example, a vulnerable version is released and the maintainer recommends downgrading. The maintainer cannot label that lower version as a fixed or patched version in the `Fixed` field because that version is smaller than the vulnerable version. ### Supported operators * `>=` for “greater than or equal to this version”. * `>` for “greater than this version”. ->[!WARNING] The use of the `>` operator option isn't recommended because OSV doesn’t support it. + >[!WARNING] Although {% data variables.product.prodname_dotcom %} supports the use of the `>` operator, using this operator is not recommended because it's not supported by the OSV format. * `=` for “equal to this version”. * `<=` for “less than or equal to this version”. * `<` for “less than this version”. -### Specifying affected versions on {% data variables.product.product_name %} +### Specifying affected versions on {% data variables.product.prodname_dotcom %} + +It is important to clearly define the affected versions for an advisory. {% data variables.product.prodname_dotcom %} provides several options in the **Affected versions** field for you to specify vulnerable version ranges. + +For examples showing how affected versions are defined in some existing advisories, see [Examples](#examples). * A valid affected version string consists of one of the following: * A lower bound operator sequence. * An upper bound operator sequence. - * Both an upper and lower bound operator sequence. + * Both an upper and lower bound operator sequence. The lower bound must come first, followed by a comma and a single space, then the upper bound. * A specific version sequence using the equality (`=`) operator. * Each operator sequence must be specified as the operator, a single space, and then the version. For more information about valid operators, see [Supported operators](#supported-operators) above. * The version must begin with a number followed by any number of numbers, letters, dots, dashes, or underscores (anything other than a space or comma). For more information about version formatting, see [Version syntax](#version-syntax) above. - * When specifying both an upper and lower bound sequence, the lower bound must come first, followed by a comma and a single space, then the upper bound. {% note %} @@ -92,11 +95,16 @@ For more information about the {% data variables.product.prodname_advisory_datab * Upper-bound operators can be inclusive or exclusive, i.e. `<=` or `<`, respectively. * Lower-bound operators can be inclusive or exclusive, i.e. `>=` or `>`, respectively. However, if you publish your repository advisory, and we graduate your repository advisory into a global advisory, a different rule applies: lower-bound strings can only be inclusive, i.e. `>=`. The exclusive lower bound operator (`>`) is only allowed when the version is `0`, for example `> 0`. +* Proper use of spaces + * Use a space between an operator and a version number. + * Do not use a space in `>=` or `<=`. + * Do not use a space between a number and a comma in `>= lower bound, <= upper bound`. + * Use a space between a comma and the upper bound operator. {% note %} **Notes:** The lower-bound limitation: - * Is due to incompatibilities with the OSV (Open Source Vulnerability) schema. + * Is due to incompatibilities with the OSV schema. * Only applies when you make a suggestion on an existing advisory in the {% data variables.product.prodname_advisory_database %}. {% endnote %} @@ -110,32 +118,21 @@ For more information about the {% data variables.product.prodname_advisory_datab ### Setting an upper bound only on a VVR -* If setting only an upper bound, use `<=` or `<`. -* PyPa security advisories often use `>= 0, <= n` or `>= 0, < n` to refer to version ranges that only have an upper bound. -* Including `>= 0` in a range that only has an upper bound is not technically wrong, but `>= 0` is unnecessary if you have an upper bound. - -### Setting an upper bound only on a VVR - -* If setting only an upper bound, use `<=` or `<`. -* PyPa security advisories often uses `>= 0, <= n` or `>= 0, < n` to refer to version ranges that only have an upper bound. -* Including `>= 0` in a range that only has an upper bound is not technically wrong, but `>= 0` is unnecessary if you have an upper bound. +* If you set only an upper bound, use `<=` or `<`. +* The {% data variables.product.prodname_advisory_database %} uses the PyPA database as one of its data sources. However, {% data variables.product.prodname_dotcom %} doesn't match the PyPA VVR format exactly (PyPa security advisories often use `>= 0, <= n` or `>= 0, < n` to refer to version ranges that only have an upper bound). +* There is no need to include `>= 0` in a range that only has an upper bound. ### Setting a lower bound only on a VVR -* `>= 0` for all versions -* `> 0` is generally not used. * The advisory curation team doesn't recommend setting lower bounds only on any advisory other than malware. -This is because, if a fixed version is ever released, users of the fixed version will continue to receive unnecessary Dependabot alerts until the advisory is manually updated. +This is because, if a fixed version is ever released, users of the fixed version will continue to receive unnecessary {% data variables.product.prodname_dependabot_alerts %} until the advisory is manually updated. +* Use `>= 0` for all versions +* `> 0` is generally not used. ### Specifying only one affected version * `= n` for the single affected version * Keep in mind that the `=` will not automatically include any pre-releases, alpha, or beta versions, _only_ the version specified. -* Proper use of spaces - * Use a space between an operator and a version number. - * Do not use a space in `>=` or `<=`. - * Do not use a space between a number and a comma in `>= lower bound, <= upper bound`. - * Use a space between a comma and the upper bound operator. ### Common errors @@ -162,7 +159,7 @@ This is because, if a fixed version is ever released, users of the fixed version * `>= 15.6-rc-1, < 15.10.6` * `= 16.0.0-rc-1` -Three of these VVRs include prereleases into the bucket of vulnerable versions. One of the VVRs, `= 16.0.0-rc-1`, shows that only `16.0.0-rc-1` is vulnerable, while the regular release that came after it, `16.0.0`, isn't. The logic considers `16.0.0-rc-1` and `16.0.0` as separate versions, with `16.0.0-rc-1` being an earlier release than `16.0.0`. +Three of these VVRs include prereleases in the range of vulnerable versions. The last VVR, `= 16.0.0-rc-1`, shows that only `16.0.0-rc-1` is vulnerable, while the regular release that came after it, `16.0.0`, isn't. The logic considers `16.0.0-rc-1` and `16.0.0` as separate versions, with `16.0.0-rc-1` being an earlier release than `16.0.0`. The patch for this vulnerability was published on Jan 24, 2024, for version 16.0.0. For more information see [commit 27eca84](https://github.com/xwiki/xwiki-platform/commit/27eca8423fc1ad177518077a733076821268509c) in the `xwiki/xwiki-platform ` repository. The [XWiki Platform Old Core](https://mvnrepository.com/artifact/org.xwiki.platform/xwiki-platform-oldcore) page in the MVN Repository site shows that `16.0.0-rc-1` was published on Jan 22, 2024, before the fix was added to XWiki, and `16.0.0` was published on Jan 29, 2024, after the fix was committed. @@ -170,7 +167,7 @@ The patch for this vulnerability was published on Jan 24, 2024, for version 16.0 [Google Guava](https://mvnrepository.com/artifact/com.google.guava/guava) has two branches, `android` and `jre`, in its version releases. [Guava vulnerable to insecure use of temporary directory (GHSA-7g45-4rm6-3mm3)](https://github.com/advisories/GHSA-7g45-4rm6-3mm3) and [Information Disclosure in Guava (GHSA-5mg8-w23w-74h3)](https://github.com/advisories/GHSA-5mg8-w23w-74h3) are advisories about vulnerabilities that affect Guava. Both advisories set `32.0.0-android` as the patched version. -* Because of the version range logic that interprets letters after `32.0.0` as prereleases, if you set the patched version to `32.0.0`, both `32.0.0-android` and `32.0.0-jre` would be incorrectly marked as vulnerable. -* Because of the version range logic that interprets letters later in the alphabet as being a later version than letters earlier in the alphabet, if you set the patched version to `32.0.0-jre`, `32.0.0-android` would be incorrectly marked as vulnerable. +* The version range logic interprets letters after `32.0.0` as prereleases, so if you set the patched version to `32.0.0`, then both `32.0.0-android` and `32.0.0-jre` would be incorrectly marked as vulnerable. +* The version range logic interprets letters later in the alphabet as being a later version than letters earlier in the alphabet, so if you set the patched version to `32.0.0-jre`, then `32.0.0-android` would be incorrectly marked as vulnerable. The best way to indicate that both `32.0.0-android` and `32.0.0-jre` are patched is to use `32.0.0-android` as the patched version, and the logic will interpret everything after `32.0.0-android` in the alphabet as patched. diff --git a/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database.md b/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database.md index 112be2b08692..8efe8f6daca7 100644 --- a/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database.md +++ b/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database.md @@ -116,4 +116,4 @@ The {% data variables.product.prodname_advisory_database %} uses the CVSS levels ## Further reading * "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)" -* The CVE Program's [definition of "vulnerability"](https://www.cve.org/ResourcesSupport/Glossary#vulnerability) +* The CVE Program's [definition of "vulnerability"](https://www.cve.org/ResourcesSupport/Glossary#glossaryVulnerability) diff --git a/content/code-security/security-overview/viewing-metrics-for-pull-request-alerts.md b/content/code-security/security-overview/viewing-metrics-for-pull-request-alerts.md index 1608e8783bbf..f03999e92cab 100644 --- a/content/code-security/security-overview/viewing-metrics-for-pull-request-alerts.md +++ b/content/code-security/security-overview/viewing-metrics-for-pull-request-alerts.md @@ -23,16 +23,17 @@ The metrics overview for {% data variables.product.prodname_codeql %} pull reque The overview shows you a summary of how many vulnerabilities prevented by {% data variables.product.prodname_codeql %} have been caught in pull requests. The metrics are only tracked for pull requests that have been merged into the default branches of repositories in your organization. -You can also find more granular metrics, such as how many alerts were: +You can also find more granular metrics, such as how many alerts were fixed with and without {% data variables.product.prodname_copilot_autofix_short %} suggestions, how many were unresolved and merged, and how many were dismissed as false positive or as risk accepted. -* Fixed with and without {% data variables.product.prodname_copilot_autofix_short %} suggestions. -* Unresolved and merged. -* Dismissed as false positive. -* Dismissed as risk accepted. +You can also view: -You can also view the most common rules that are causing alerts in your organization. +* The rules that are causing the most alerts in your organization, and how many alerts each rule is associated with. -You can also apply filters to the data. The metrics are based on activity from the default period or your selected period. +* The number of alerts that were fixed with an accepted {% data variables.product.prodname_copilot_autofix_short %} suggestion, displayed as a fraction of how many total {% data variables.product.prodname_copilot_autofix_short %} suggestions were available. + +* Remediation rates, in a graph showing the percentage of alerts that were remediated with an available {% data variables.product.prodname_copilot_autofix_short %} suggestion, and the percentage of alerts that were remediated without a {% data variables.product.prodname_copilot_autofix_short %} suggestion. + +You can apply filters to the data. The metrics are based on activity from the default period or your selected period. ![Screenshot of the "CodeQL pull request alerts" view for an organization, showing status and trends over 90 days.](/assets/images/help/security-overview/security-overview-codeql-pull-requests-alerts-report.png) diff --git a/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts.md b/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts.md index 979e3ff1d624..e422506f6ed8 100644 --- a/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts.md +++ b/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts.md @@ -57,7 +57,7 @@ The best way to improve the security of {% ifversion fpt %}your personal account As a best practice, to ensure both security and reliable access to your account, you should always have at least two second-factor credentials registered on your account. Extra credentials ensures that even if you lose access to one credential, you won't be locked out of your account.{% ifversion fpt or ghec %} -Additionally, you should prefer{% ifversion passkeys %} passkeys and{% endif %} security keys over authenticator apps (called TOTP apps) and avoid use of SMS whenever possible. Both SMS-based 2FA and TOTP apps are vulnerable to phishing, and do not provide the same level of protection as {% ifversion passkeys %}passkeys and {% endif %}security keys. SMS is no longer recommended under the [NIST 800-63B](https://pages.nist.gov/800-63-3/sp800-63b.html) digital identity guidelines. +Additionally, you should prefer{% ifversion passkeys %} passkeys and{% endif %} security keys over authenticator apps (called TOTP apps) and avoid use of SMS whenever possible. Both SMS-based 2FA and TOTP apps are vulnerable to phishing, and do not provide the same level of protection as {% ifversion passkeys %}passkeys and {% endif %}security keys. SMS is no longer recommended under the [NIST 800-63B](https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-63b.pdf) digital identity guidelines. {% endif %}{% ifversion mandatory-2fa-dotcom-contributors %}{% ifversion ghec %} If service accounts in your organization have been selected for 2FA enrollment by {% data variables.product.prodname_dotcom %}, their tokens and keys will continue to work after the deadline without interruption. Only access to {% data variables.product.prodname_dotcom %} through the website UI will be blocked until the account has enabled 2FA. We recommend setting up TOTP as the second factor for service accounts, and storing the TOTP secret exposed during setup in your company's shared password manager, with access to the secrets controlled through SSO. diff --git a/content/communities/documenting-your-project-with-wikis/about-wikis.md b/content/communities/documenting-your-project-with-wikis/about-wikis.md index 75ce6c1c1d68..af517d29fd11 100644 --- a/content/communities/documenting-your-project-with-wikis/about-wikis.md +++ b/content/communities/documenting-your-project-with-wikis/about-wikis.md @@ -14,9 +14,9 @@ topics: - Community --- -Every repository on {% data variables.location.product_location %} comes equipped with a section for hosting documentation, called a wiki. You can use your repository's wiki to share long-form content about your project, such as how to use it, how you designed it, or its core principles. A README file quickly tells what your project can do, while you can use a wiki to provide additional documentation. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes)." +Every repository on {% data variables.product.product_name %} comes equipped with a section for hosting documentation, called a wiki. You can use your repository's wiki to share long-form content about your project, such as how to use it, how you designed it, or its core principles. A README file quickly tells what your project can do, while you can use a wiki to provide additional documentation. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes)." -With wikis, you can write content just like everywhere else on {% data variables.product.product_name %}. For more information, see "[AUTOTITLE](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github)." We use [our open-source Markup library](https://github.com/github/markup) to convert different formats into HTML, so you can choose to write in Markdown or any other supported format. +With wikis, you can write content just like everywhere else on {% data variables.product.prodname_dotcom %}. For more information, see "[AUTOTITLE](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github)." We use [our open-source Markup library](https://github.com/github/markup) to convert different formats into HTML, so you can choose to write in Markdown or any other supported format. {% data reusables.getting-started.math-and-diagrams %} diff --git a/content/contributing/style-guide-and-content-model/about-topics.md b/content/contributing/style-guide-and-content-model/about-topics.md index 96bb1efe0f9f..8304e53d71ae 100644 --- a/content/contributing/style-guide-and-content-model/about-topics.md +++ b/content/contributing/style-guide-and-content-model/about-topics.md @@ -6,7 +6,19 @@ versions: feature: 'contributing' --- -Topics are used to filter articles and are searchable across the {% data variables.product.prodname_docs %} site. For some layouts, such as landing pages or guides, people can select which articles are displayed by filtering topics. Use these guidelines to help choose which topics to add to an article's frontmatter. For more information on adding topics to an article see, "[Topics](https://github.com/github/docs/tree/main/content#topics)" and for a list of all allowed topics, see [`allowed-topics`](https://github.com/github/docs/blob/main/data/allowed-topics.js). +Topics are used to filter articles and are searchable across the {% data variables.product.prodname_docs %} site. For some layouts, such as landing pages or guides, people can select which articles are displayed by filtering topics. Also, an article can be defined as being relevant to one or more topics by having those topics listed in the article's frontmatter. For example: + +```yaml +--- +title: "Managing branches in your repository" +topics: + - "GitHub" + - "Git" + - "Repositories" +--- +``` + +For more information on adding topics to an article see, "[AUTOTITLE](/contributing/writing-for-github-docs/using-yaml-frontmatter#topics)". For a list of all allowed topics, see [`allowed-topics`](https://github.com/github/docs/blob/main/data/allowed-topics.js). ## Topics for all content types diff --git a/content/copilot/building-copilot-extensions/about-building-copilot-extensions.md b/content/copilot/building-copilot-extensions/about-building-copilot-extensions.md new file mode 100644 index 000000000000..c00811576b36 --- /dev/null +++ b/content/copilot/building-copilot-extensions/about-building-copilot-extensions.md @@ -0,0 +1,78 @@ +--- +title: About building Copilot Extensions +intro: 'Learn about the development process for {% data variables.product.prodname_copilot_extension_short %}.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: About building Extensions +type: overview +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +## About {% data variables.product.prodname_copilot_extensions_short %} + +{% data variables.product.prodname_copilot_extensions_short %} are integrations that expand the functionality of {% data variables.product.prodname_copilot_chat_short %}. {% data variables.product.prodname_copilot_extensions_short %} allow developers to integrate external tools, services, and custom behaviours into the {% data variables.product.prodname_copilot_chat_short %} experience across all supported IDEs and {% data variables.product.company_short %}. + +{% data variables.product.prodname_copilot_extensions_short %} are built as {% data variables.product.prodname_github_apps %} with additional capabilities, including: +* Read-access to your {% data variables.product.prodname_copilot_chat_short %} history +* Sending responses to users in the {% data variables.product.prodname_copilot_chat_short %} window +* Execution of {% data variables.product.company_short %} (first party) or functions on external services (third party) + +{% data variables.product.prodname_copilot_extensions_short %} can be used with: + +{% data reusables.copilot.copilot-extensions.compatible-chat-interfaces %} + +## Visibility of {% data variables.product.prodname_copilot_extensions_short %} + +{% data variables.product.prodname_copilot_extensions_short %} can be private, public and shareable, or public and listed on the {% data variables.product.prodname_marketplace %}. Which visibility option you choose will depend on your use case and the audience you are targeting. + +* Private extensions are often preferred by large enterprises or companies that: + * Want more customization and controls over data access + * Need to integrate with a large volume of internal documents and databases + * Have strict security policies making it difficult to authorize permissions for third-parties +* Public extensions are suitable for: + * Open-source projects + * Collaborative development and use across organizations within an enterprise + * Sharing your tool and getting feedback before publishing to the {% data variables.product.prodname_marketplace %} +* {% data variables.product.prodname_marketplace %} extensions are ideal for third-parties that want to: + * Offer their service to a broader audience + * Integrate their tool into the developer workflow on {% data variables.product.company_short %} and the IDE + * Leverage the {% data variables.product.company_short %} ecosystem to raise awareness for their product + +## Use cases + +You can use {% data variables.product.prodname_copilot_extensions_short %} to extend the capabilities of {% data variables.product.prodname_copilot_chat_short %} in a variety of ways. For example, you could use them for: + +* **Docs querying**: A {% data variables.product.prodname_copilot_extension_short %} could allow {% data variables.product.prodname_copilot_chat_short %} to query a third-party documentation service to find information about a specific topic. +* **AI-assisted coding**: A {% data variables.product.prodname_copilot_extension_short %} could use a third-party AI model to provide code suggestions. +* **Data retrieval**: A {% data variables.product.prodname_copilot_extension_short %} could allow {% data variables.product.prodname_copilot_chat_short %} to query a third-party data service to retrieve information about a specific topic. +* **Action execution**: A {% data variables.product.prodname_copilot_extension_short %} could allow {% data variables.product.prodname_copilot_chat_short %} to execute a specific action, such as posting to a message board or updating a tracking item in an external system. + +## Extensions toolkit, code samples and SDK + +{% data variables.product.company_short %} provides a comprehensive toolkit for extension builders, with code samples, a CLI debugging tool, quickstart SDKs, and a user feedback repository. For more information, see the [copilot-extensions](https://github.com/orgs/copilot-extensions/) organization on {% data variables.product.company_short %}. + +Before creating your own {% data variables.product.prodname_copilot_extension_short %} from scratch, you may want to explore an existing {% data variables.product.prodname_copilot_agent_short %}, and integrate it with a {% data variables.product.prodname_github_app %} to see how it works. {% data variables.product.company_short %} provides a few example {% data variables.product.prodname_copilot_agents_short %}, that you can clone and use as the basis for your own {% data variables.product.prodname_copilot_extension_short %}, including: + +* **Blackbeard**: A simple {% data variables.product.prodname_copilot_agent_short %} that responds to requests like a pirate, using {% data variables.product.prodname_copilot_short %}'s LLM API and special system prompts. It is a good starting point for learning how to build a {% data variables.product.prodname_copilot_extension_short %}. For more information, see the [Blackbeard {% data variables.product.prodname_copilot_extension_short %}](https://github.com/copilot-extensions/blackbeard-extension). +* **{% data variables.product.prodname_github_models %}**: A more complex {% data variables.product.prodname_copilot_agent_short %} that let's you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} from within {% data variables.product.prodname_copilot_chat_short %}. For more information, see the [{% data variables.product.prodname_github_models %} {% data variables.product.prodname_copilot_extension_short %}](https://github.com/copilot-extensions/github-models-extension). +* **Function calling**: an example agent written in Go that demonstrates function calling and confirmation dialogues. For more information, see the [Function calling extension](https://github.com/copilot-extensions/function-calling-extension). +* **RAG extension**: an example agent written in Go that demonstrates a simple implementation of retrieval augmented generation. For more information, see the [RAG extension](https://github.com/copilot-extensions/rag-extension). +* **Preview SDK**: An SDK that simplifies the process of building {% data variables.product.prodname_copilot_extensions_short %} by handling request verification, response formatting, and API interactions. It allows builders to focus on their extension's core functionality rather than boilerplate, by streamlining the integration of tools, APIs, and data sources into {% data variables.product.prodname_copilot_chat_short %}. For more information, see the [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js). + +## About {% data variables.product.prodname_vscode %} Chat extensions + +{% data variables.product.prodname_copilot_extensions %} are generally built as {% data variables.product.prodname_github_apps %}. However, there is also an option to build a {% data variables.product.prodname_vscode %} Chat extension that integrates with {% data variables.product.prodname_copilot_chat_short %} and provides a similar end user experience. {% data variables.product.prodname_vscode %} Chat extensions are a good option for developers looking to customize their copilot experience with functionalities specific to {% data variables.product.prodname_vscode %}. + +There are some key differences from {% data variables.product.prodname_github_app %} {% data variables.product.prodname_copilot_extensions_short %}: +* {% data variables.product.prodname_vscode %} Specific: Unlike {% data variables.product.prodname_github_app %} {% data variables.product.prodname_copilot_extensions_short %}, which work across all supported IDEs and {% data variables.product.company_short %}, {% data variables.product.prodname_vscode %} Chat extensions only work within the {% data variables.product.prodname_vscode %} environment. +* Capabilities: They have more access to {% data variables.product.prodname_vscode %}'s features and APIs, allowing for more editor-specific interactions, such as accessing local workspace data and manipulating {% data variables.product.prodname_vscode %}'s interface. +* Publishing: They can be published to the {% data variables.product.prodname_vscode %} Marketplace. They cannot be published on the {% data variables.product.prodname_marketplace %}. + +For more information, see [{% data variables.product.prodname_vscode %} Chat extensions](https://code.visualstudio.com/api/extension-guides/chat) in the Visual Studio Code documentation. + +## Further reading + +* For a glossary of terms used in the context of {% data variables.product.prodname_copilot_extensions_short %}, see [Copilot Extensions Glossary](/copilot/building-copilot-extensions/copilot-extensions-glossary) diff --git a/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents.md b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents.md new file mode 100644 index 000000000000..07d0125d1ec8 --- /dev/null +++ b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents.md @@ -0,0 +1,23 @@ +--- +title: About Copilot agents +intro: 'Learn what {% data variables.product.prodname_copilot_agents %} are and how they can enhance your {% data variables.product.prodname_copilot_chat %} experience.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: About Copilot agents +type: overview +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +{% data variables.product.prodname_copilot_agents_short %} are custom tools embedded in {% data variables.product.prodname_copilot_extensions_short %}. They integrate with {% data variables.product.prodname_copilot_chat_short %} to provide additional functionalities tailored to specific needs. {% data variables.product.prodname_copilot_agents_short %} can perform various tasks such as querying documentation, retrieving data, executing specific actions, or providing AI-assisted coding suggestions. They enhance the capabilities of {% data variables.product.prodname_copilot %} by allowing developers to build and integrate custom features directly into the {% data variables.product.prodname_copilot_chat_short %} interface. + +To use a {% data variables.product.prodname_copilot_agent_short %} in {% data variables.product.prodname_copilot_chat_short %}, it must be associated with a {% data variables.product.prodname_github_app %}. This combination of a {% data variables.product.prodname_github_app %} and a {% data variables.product.prodname_copilot_agent_short %} is what we refer to as a {% data variables.product.prodname_copilot_extension %}. For more information on {% data variables.product.prodname_copilot_extensions_short %}, see "[AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions)." + +Any {% data variables.product.company_short %} user can create a {% data variables.product.prodname_copilot_extension_short %} by building a {% data variables.product.prodname_copilot_agent_short %} and associating it with a {% data variables.product.prodname_github_app %}. For more information on creating a {% data variables.product.prodname_copilot_extension_short %}, see "[AUTOTITLE](/copilot/building-copilot-extensions/setting-up-copilot-extensions)." + +## Further reading + +* "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform)" +* "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github)" diff --git a/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github.md b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github.md new file mode 100644 index 000000000000..3a74cb9328ac --- /dev/null +++ b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github.md @@ -0,0 +1,47 @@ +--- +title: Configuring your Copilot agent to communicate with GitHub +intro: 'Learn how to verify payloads and get resources from {% data variables.product.github %} with your {% data variables.product.prodname_copilot_agent_short %}.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: Communicate with GitHub +type: reference +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +## Prerequisites + +Before you configure your {% data variables.product.prodname_copilot_agent_short %} to communicate with {% data variables.product.github %}, you should understand how your {% data variables.product.prodname_copilot_agent_short %} communicates with the {% data variables.product.prodname_copilot_short %} platform. See "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform)." + +## Verifying that payloads are coming from {% data variables.product.github %} + +Before your {% data variables.product.prodname_copilot_agent_short %} begins processing a request, you should verify that the request came from {% data variables.product.github %}, and that it is intended for your agent. All agent requests contain the `Github-Public-Key-Identifier` and `Github-Public-Key-Signature` headers. To verify the signature for a particular request, compare the signature in the `Github-Public-Key-Signature` header with a signed copy of the request body using the current public key listed at https://github.com/gitapi/meta/public_keys/copilot_api. + +For more details and examples of signature verification in specific languages, see the [`github-technology-partners/signature-verification`](https://github.com/github-technology-partners/signature-verification) repository. + +## Fetching resources from the {% data variables.product.github %} API + +Requests to your {% data variables.product.prodname_copilot_agent_short %} will receive an `X-Github-Token` header. This header contains an API token that can be used to fetch resources from the {% data variables.product.github %} API on behalf of the user interacting with your agent. The permissions of this token are the overlap of the user's own permissions and the permissions granted to your {% data variables.product.prodname_github_app %} installation. + +For an example of how you might use `X-Github-Token`, see the following code sample: + +```typescript +async function whoami(req) { + const response = await fetch( + // The {% data variables.product.github %} API endpoint for the authenticated user + "https://github.com/gitapi/user", + { + headers: { + "Authorization": `Bearer ${req.headers.get("x-github-token")}` + } + } + ) + + const user = await response.json() + return user +} +``` + +To learn more about working with {% data variables.product.github %}'s API and explore official software development kits (SDKs), see the [`octokit`](https://github.com/octokit) organization. diff --git a/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform.md b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform.md new file mode 100644 index 000000000000..9f032f9950f4 --- /dev/null +++ b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform.md @@ -0,0 +1,154 @@ +--- +title: Configuring your Copilot agent to communicate with the Copilot platform +intro: 'Learn how to interact with the {% data variables.product.prodname_copilot_short %} platform by sending and receiving server-sent events with your {% data variables.product.prodname_copilot_agent_short %}.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: Communicate with Copilot platform +type: reference +layout: inline +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +{% data variables.product.prodname_copilot_agents_short %} communicate with the {% data variables.product.prodname_copilot_short %} platform in the form of server-sent events (SSEs). Rather than waiting for the {% data variables.product.prodname_copilot_short %} platform to request an update from your agent, or vice versa, you can use SSEs to send and receive updates to and from the platform in real time. + +To learn more about SSEs, see [Server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) in the mdn documentation. + +## Sending server-sent events + +Your agent should only send one SSE for each interaction with the {% data variables.product.prodname_copilot_short %} platform. There are four predefined SSEs your agent can send: + +* [`copilot_confirmation`](#copilot_confirmation) +* [`copilot_errors`](#copilot_errors) +* [`copilot_references`](#copilot_references) +* [Default SSE](#default-sse) + +### `copilot_confirmation` + +The `copilot_confirmation` SSE sends the user a prompt to confirm an action. This SSE is sent through an event type and data field. See the following code for an example of a `copilot_confirmation` SSE: + +```typescript annotate +// +event: copilot_confirmation +data: { + // Currently, `action` is the only supported value for `type` in `copilot_confirmation`. + "type": "action", + // Title of the confirmation dialog shown to the user. + "title": "Turn off feature flag", + // Confirmation message shown to the user. + "message": "Are you sure you wish to turn off the `copilot` feature flag?", + // Optional field for the agent to include any data needed to uniquely identify this confirmation and take action once the decision is received from the client. + "confirmation": { + "id": "id-123", + "other": "identifier-as-needed", + } +} +``` + +After the user accepts or dismisses the confirmation, the agent receives a message similar to the following example: + +```typescript annotate +// +{ + "copilot_confirmations": [ + { + // A string containing the state of the confirmation. This value is either `accepted` or `dismissed`. + "state": "accepted", + // An array of strings containing data identifying the relevant action. + "confirmation": { + "id": "id-123", + "other": "identifier-as-needed", + } + } + ] +} +``` + +Based on the values in this message, the agent can then complete or cancel the appropriate action. + +### `copilot_errors` + +The `copilot_errors` SSE sends the {% data variables.product.prodname_copilot_short %} platform a list of encountered errors. This SSE is sent through an event type and data field. See the following code for an example of a `copilot_errors` SSE: + +```typescript annotate +// +event: copilot_errors +data: [{ + // A string that specifies the error's type. `type` can have a value of `reference`, `function` or `agent`. + "type": "function", + // A string controlled by the agent describing the nature of an error. + "code": "recentchanges", + // A string that specifies the error message shown to the user. + "message": "The repository does not exist", + // A string that serves as a unique identifier to link the error with other resources such as references or function calls. + "identifier": "github/hello-world" +}] +``` + +### `copilot_references` + +> [!NOTE] The `copilot_references` SSE is not yet available when using {% data variables.product.prodname_copilot_chat_dotcom_short %}. + +The `copilot_references` SSE sends the user a list of references used to generate a response. This SSE is sent through an event type and data field. See the following code for an example of a `copilot_references` SSE: + +```typescript annotate +// +event: copilot_references +data: [{ + // A string that specifies the type of the reference. + "type": "blackbeard.story", + // A string that specifies the ID of the reference. + "id": "snippet", + // An optional field where the agent can include any data needed to uniquely identify this reference. + "data": { + "file": "story.go", + "start": "0", + "end": "13", + "content": "func main()...writeStory()..." + }, + // An optional boolean that indicates if the reference was passed implicitly or explicitly. + "is_implicit": false, + // An optional field for the agent to include any metadata to display in the user's environment. If any of the below required fields are missing, then the reference will not be rendered in the UI. + "metadata": { + "display_name": "Lines 1-13 from story.go", + "display_icon": "icon", + "display_url": "http://blackbeard.com/story/1", + + } +}] +``` + +### Default SSE + +The default SSE sends the user a general chat message. This SSE is unnamed and sent solely through a data field. See the following code for an example of a default SSE: + +```text +data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-3.5-turbo-0125", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]} +``` + +## Receiving server-sent events + +Just as your agent sends SSEs to the {% data variables.product.prodname_copilot_short %} platform, it also receives the `resp_message` SSE from the platform. This SSE contains a list of messages from the user, as well as optional data related to each of the SSE events the agent can send. See the following code sample for an example curl request to your agent containing a message: + +```bash +curl --request POST \ + --url $AGENT_URL \ + --header 'Accept: application/json' \ + --header 'Content-Type: application/json' \ + --header "X-GitHub-Token: $RUNTIME_GENERATED_TOKEN" \ + --data '{ + "messages": [ + { + "role": "user", + "content": "What is a closure in javascript?", + "copilot_references": [] + } + ] + }' +``` + +## Next steps + +Now that you understand how your {% data variables.product.prodname_copilot_agent_short %} communicates with the {% data variables.product.prodname_copilot_short %} platform, you can learn how to integrate your agent with the {% data variables.product.github %} API. See "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github)." diff --git a/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/index.md b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/index.md new file mode 100644 index 000000000000..572f92ae46a3 --- /dev/null +++ b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/index.md @@ -0,0 +1,15 @@ +--- +title: Building a Copilot agent for your Copilot Extension +shortTitle: Build a Copilot agent +intro: 'Learn how to build a custom {% data variables.product.prodname_copilot_agent_short %} that determines the functionality of your {% data variables.product.prodname_copilot_extension_short %}.' +versions: + feature: copilot +topics: + - Copilot +children: + - /about-copilot-agents + - /using-a-demo-agent + - /configuring-your-copilot-agent-to-communicate-with-the-copilot-platform + - /configuring-your-copilot-agent-to-communicate-with-github + - /using-copilots-llm-for-your-agent +--- diff --git a/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-a-demo-agent.md b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-a-demo-agent.md new file mode 100644 index 000000000000..8ac587db68fc --- /dev/null +++ b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-a-demo-agent.md @@ -0,0 +1,50 @@ +--- +title: Using a demo agent +intro: 'Learn about how you can use a demo agent to explore how {% data variables.product.prodname_copilot_extensions_short %} work.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: Using a demo agent +type: how_to +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +## About demo agents + +If you're not ready to build your own {% data variables.product.prodname_copilot_agent_short %} from scratch, you can clone and use a demo agent to experiment with {% data variables.product.prodname_copilot_extensions %}. You can use the demo agent as a basis for your own agent, or you can use it to familiarize yourself with the {% data variables.product.prodname_copilot_extensions_short %} development and deployment process. + +{% data variables.product.company_short %} provides a few different demo agents that you can use. You can find them in the [copilot-extensions](https://github.com/copilot-extensions) organization. + +This article provides instructions for running the Blackbeard demo agent on your local machine, but should be similar for other demo agents. + +1. Clone the repository. Run the following command in your terminal (Mac or Linux) or Git Bash (Windows): + + ```shell copy + git clone https://github.com/copilot-extensions/blackbeard-extension.git + ``` + +1. Open the agent repository locally by running the following command in your terminal (Mac or Linux) or Git Bash (Windows): + + ```shell copy + cd blackbeard-extension + ``` + +1. To install the necessary dependencies, run the following command in your terminal (Mac or Linux) or Git Bash (Windows): + + ```shell copy + npm install + ``` + +1. To start your server, run the following command in your terminal (Mac or Linux) or Git Bash (Windows): + + ```shell copy + npm start + ``` + + > [!NOTE] Keep the terminal window open while you are using your agent. + +## Next steps + +* [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent) diff --git a/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-copilots-llm-for-your-agent.md b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-copilots-llm-for-your-agent.md new file mode 100644 index 000000000000..a108d0c4e019 --- /dev/null +++ b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-copilots-llm-for-your-agent.md @@ -0,0 +1,50 @@ +--- +title: Using Copilot's LLM for your agent +intro: 'Learn how to use {% data variables.product.prodname_copilot_short %}''s LLM for your agent.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: Use Copilot's LLM +type: reference +allowTitleToDifferFromFilename: true +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +## About {% data variables.product.prodname_copilot_short %}'s Language Learning Model (LLM) + +{% data variables.product.prodname_copilot_short %}'s Language Learning Model (LLM) is a powerful, large-scale language model that is trained on a diverse range of data sources, including code, documentation, and other text. {% data variables.product.prodname_copilot_short %}'s LLM underpins the functionality for {% data variables.product.prodname_copilot %}, and is used to power all of {% data variables.product.prodname_copilot_short %}'s features, including code generation, documentation generation, and code completion. + +You have the option to use {% data variables.product.prodname_copilot_short %}'s LLM to power your agent, which can be useful if you want your agent to be able to generate completions for user messages, but you don't want to manage your own LLM. + +> [!NOTE] Third-party agents have strict rate limits for using {% data variables.product.prodname_copilot_short %}'s LLM. If your third-party agent will need to generate a large number of completions, you should consider using your own LLM or an API like OpenAI. + +## Using {% data variables.product.prodname_copilot_short %}'s LLM for your agent + +You can call {% data variables.product.prodname_copilot_short %}'s LLM deployment at `{% data variables.copilot.chat_completions_api %}` with a POST request. The request and responses should be in the same format as the OpenAI API. + +To authenticate, use the same `X-Github-Token` header sent to your agent. For more information, see "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github#fetching-resources-from-the-github-api)." + +Here is an example of how {% data variables.product.prodname_copilot_short %}'s LLM deployment is used by the Blackbeard extension to generate completions for a user message: + +```javascript + // Use Copilot's LLM to generate a response to the user's + // messages, with our extra system messages attached. + const copilotLLMResponse = await fetch( + "https://api.githubcopilot.com/chat/completions", + { + method: "POST", + headers: { + authorization: `Bearer ${tokenForUser}`, + "content-type": "application/json", + }, + body: JSON.stringify({ + messages, + stream: true, + }), + } + ); +``` + +To see this example in its full context, see the [Blackbeard extension](https://github.com/copilot-extensions/blackbeard-extension). diff --git a/content/copilot/building-copilot-extensions/copilot-extensions-glossary.md b/content/copilot/building-copilot-extensions/copilot-extensions-glossary.md new file mode 100644 index 000000000000..a6a909c561b9 --- /dev/null +++ b/content/copilot/building-copilot-extensions/copilot-extensions-glossary.md @@ -0,0 +1,70 @@ +--- +title: Copilot Extensions Glossary +intro: 'Understand the terminology used in {% data variables.product.prodname_copilot_extensions_short %}.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: Extensions Glossary +type: reference +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +The following terms are used in the context of {% data variables.product.prodname_copilot_extensions_short %}, and are defined here for clarity. + +#### Agent + +A concrete implementation of an AI assistant that can receive user queries and return a stream of response tokens. The combination of an agent + {% data variables.product.prodname_github_app %} is what we refer to as a {% data variables.product.prodname_copilot_extension_short %}. + +#### {% data variables.product.prodname_copilot_chat_short %} + +The conversational interface within {% data variables.product.prodname_copilot %} where users can interact with the AI assistant and extensions. + +#### {% data variables.product.prodname_copilot_extension_short %} + +A {% data variables.product.prodname_github_app %} with additional access to the {% data variables.product.prodname_copilot_chat_short %} window and Copilot API, allowing for extended functionality in {% data variables.product.company_short %}'s {% data variables.product.prodname_copilot_chat_short %}. This is how we will refer to extensions from the perspective of an extension user. + +#### {% data variables.product.prodname_copilot_short %} Extensibility Platform + +The system that handles authentication and proxies requests between clients and agent plugins. + +#### {% data variables.product.prodname_github_app %} + +The foundation for a {% data variables.product.prodname_copilot_extension_short %} that provides the necessary infrastructure, permissions, and context from {% data variables.product.company_short %}, such as user, repo and organization metadata. + +##### {% data variables.product.prodname_marketplace %} + +The platform where {% data variables.product.company_short %} approved {% data variables.product.prodname_copilot_extensions_short %} can be listed publicly and discovered by users. + +#### Listed/Published Extension + +An extension that appears on the {% data variables.product.prodname_marketplace %}. These extensions must be reviewed and approved by {% data variables.product.company_short %}. + +#### Private Extension + +An extension that is only visible and usable by the organization or individual user that created it. + +##### Public Extension + +An extension that is visible and installable by any {% data variables.product.company_short %} user or organization. + +#### Skill + +A piece of code that retrieves context or executes an action in response to a user’s prompt (e.g., "findIssueByID(id: number)"). + +#### Tool/Function Calling + +A capability of {% data variables.product.prodname_copilot_short %}'s LLM (as well as Open AI’s) that allows them to invoke specific tools or functions. Extension builders can define available tools with parameters, enabling the LLM to select and call appropriate tools to fulfill a user’s request. “Functions” are a subset of “tools” and the “function calling” term will eventually be deprecated. + +#### Unlisted Extension + +An extension that is not published on the {% data variables.product.prodname_marketplace %}. Builders may develop and distribute public unlisted extensions without requiring review or approval from {% data variables.product.company_short %}. {% data variables.product.company_short %} does not guarantee the security or quality of unlisted extensions. + +#### Verified Creator + +A status required for organizations to publish extensions on the {% data variables.product.prodname_marketplace %}. + +#### {% data variables.product.prodname_vscode %} Chat Extensions + +{% data variables.product.prodname_vscode %} Chat Extensions extend {% data variables.product.prodname_copilot_chat_short %} functionality for a similar end-user experience, but they’re built as a {% data variables.product.prodname_vscode %} Extension rather than a {% data variables.product.prodname_github_app %}. diff --git a/content/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent.md b/content/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent.md new file mode 100644 index 000000000000..7cb0e7b9d1e9 --- /dev/null +++ b/content/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent.md @@ -0,0 +1,51 @@ +--- +title: Configuring your GitHub App for your Copilot agent +intro: 'Learn how to configure your {% data variables.product.prodname_github_app %} so that it is associated with your {% data variables.product.prodname_copilot_agent_short %}.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: Configure App for agent +type: how_to +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +Once you have configured your server and created your {% data variables.product.prodname_github_app %}, you need to configure your {% data variables.product.prodname_github_app %} for use with your {% data variables.product.prodname_copilot_short %} agent. + +## Prerequisites + +* You have configured your server to deploy your {% data variables.product.prodname_copilot_agent_short %}, and you have your hostname (aka forwarding endpoint). For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent). +* You have created a {% data variables.product.prodname_github_app %} for your {% data variables.product.prodname_copilot_short %} agent. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension). + +## Configuring your {% data variables.product.prodname_github_app %} + +{% data reusables.apps.settings-step %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +1. To the right of the {% data variables.product.prodname_github_app %} you want to configure for your {% data variables.product.prodname_copilot_extension_short %}, click **Edit**. +1. In the "Identifying and authorizing users" section, under "Callback URL", enter your server's hostname, then click **Save changes**. + + > [!NOTE] This step is only required if you intend to request user authorization (OAuth) during installation. + > + > Your server's hostname is the forwarding endpoint that you copied from your terminal when you configured your server. For more information, see "[AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent)." + > + > If you are using an ephemeral domain in ngrok, you will need to update this URL every time you restart your ngrok server. + +1. In the left sidebar, click **Permissions & events**. +1. To expand the "Account permissions" section, click anywhere in the section. +1. In the "{% data variables.product.prodname_copilot_chat %}" row, select the **Access:** dropdown menu, then click **Read-only**. Click **Save changes**. +1. In the left sidebar, click **{% data variables.product.prodname_copilot_short %}**. +1. Read the {% data variables.product.prodname_marketplace %} Developer Agreement and the {% data variables.product.github %} Pre-release License Terms, then accept the terms for creating a {% data variables.product.prodname_copilot_extension_short %}. +1. In the "App type" section, select the dropdown menu, then click **Agent**. +1. Under "URL," enter your server's hostname (aka forwarding endpoint) that you copied from your terminal. + + > [!NOTE] If you are using an ephemeral domain in ngrok, you will need to update this URL every time you restart your ngrok server. + +1. Under "Inference description", type a brief description of your agent, then click **Save**. This will be the description users see when they hover over your agent's slug in the chat window. +1. Your pre-authorization URL is a link on your website that starts the authorization process for your extension. Users will be redirected to this URL when they decide to authorize your extension. If you are using a pre-authorization URL, under "Pre-authorization URL," enter the URL, then click **Save changes**. +1. In your {% data variables.product.prodname_github_app %} settings, in the left sidebar, click **Install App**, then, next to the account you want to install your app on, click **Install**. +{% data reusables.copilot.go-to-copilot-page %} +1. Invoke your extension by typing `@EXTENSION-NAME`, replacing any spaces in the extension name with `-`, then press `Enter`. +1. If this is your first time using the extension, you will be prompted to authenticate. Follow the steps on screen to authenticate your extension. +1. Ask your extension a question in the chat window. For example, `What is the software development lifecycle?`. diff --git a/content/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent.md b/content/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent.md new file mode 100644 index 000000000000..19b6706c08b1 --- /dev/null +++ b/content/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent.md @@ -0,0 +1,53 @@ +--- +title: Configuring your server to deploy your Copilot agent +intro: 'Learn how to deploy your {% data variables.product.prodname_copilot_short %} agent to a server that is accessible to the internet.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: Deploy your agent +type: how_to +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +Your {% data variables.product.prodname_copilot_agent_short %} must be hosted on a server that is accessible to the internet. This guide will help you set up a server to run your {% data variables.product.prodname_copilot_agent_short %}. In this guide, we will use [ngrok](https://ngrok.com/) to create a tunnel to your local server, but you could also use a service like [localtunnel](https://localtunnel.github.io/www/) or [serveo](https://serveo.net/). + +Alternatively, if you are a {% data variables.product.prodname_codespaces %} user, you can use the built-in {% data variables.product.prodname_codespaces %} port forwarding. For more information, see "[AUTOTITLE](/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace)." + +## Prerequisites + +* You have created a {% data variables.product.prodname_copilot_agent_short %}. For more information, see "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension)." Alternatively, you can use a demo agent. For more information, see "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-a-demo-agent)." + +## Configuring your server + +1. Visit the [ngrok setup & installation page](https://dashboard.ngrok.com/get-started/setup/). +1. If you do not yet have an account, follow the instructions on screen to sign up. +1. Under "Agents," ensure the correct operating system is selected. +1. Under "Installation," follow the instructions for your operating system to download and install ngrok. +1. Under "Deploy your app online," selection **Ephemeral domain** or **Static domain**. +1. Run the command provided in your terminal, replacing the port number with the port your agent is configured to run on. For example: + + * For an ephemeral domain: + + ```shell copy + ngrok http http://localhost:3000 + ``` + + * For a static domain: + + ```shell copy + ngrok http --domain=YOUR-STATIC-DOMAIN.ngrok-free.app 3000 + ``` + + > [!NOTE] The Blackbeard demo extension is configured to run on port 3000 by default. + +1. In your terminal, next to "Forwarding," copy the URL that ngrok has assigned to your server. You will need this forwarding endpoint when you are configuring your {% data variables.product.prodname_github_app %}. + + > [!NOTE] Do not copy the `-> http://localhost:XXXX` part of the URL. + > + > Keep the terminal window open while you are using your agent. + +## Next steps + +* [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension) diff --git a/content/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension.md b/content/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension.md new file mode 100644 index 000000000000..50495c6c4273 --- /dev/null +++ b/content/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension.md @@ -0,0 +1,45 @@ +--- +title: Creating a GitHub App for your Copilot Extension +intro: 'Learn how to create a {% data variables.product.prodname_github_app %} for your {% data variables.product.prodname_copilot_extension_short %}.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: Create GitHub App +type: how_to +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +A {% data variables.product.prodname_copilot_extension_short %} is a {% data variables.product.prodname_github_app %} that is associated with a {% data variables.product.prodname_copilot_agent_short %}. The {% data variables.product.prodname_github_app %} you associate your {% data variables.product.prodname_copilot_agent_short %} with is used to authenticate the {% data variables.product.prodname_copilot_agent_short %} with {% data variables.product.prodname_dotcom %} and to authorize the {% data variables.product.prodname_copilot_agent_short %} to access the {% data variables.product.prodname_copilot_chat_short %} API. Each {% data variables.product.prodname_copilot_agent_short %} must be associated with a unique {% data variables.product.prodname_github_app %}. + +## Prerequisites + +* You have created a {% data variables.product.prodname_copilot_agent_short %}. For more information, see "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension)." Alternatively, you can use a demo agent. For more information, see "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-a-demo-agent)." +* You have configured your server to deploy your {% data variables.product.prodname_copilot_agent_short %}, and you have your hostname (aka forwarding endpoint). For more information, see "[AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent)." + +## Creating a {% data variables.product.prodname_github_app %} + +{% data reusables.apps.settings-step %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +1. Click **New {% data variables.product.prodname_github_app %}**. +1. Under "{% data variables.product.prodname_github_app %} name," enter a name for your app. + + > [!NOTE] The name cannot be longer than 34 characters. + > + >Your app's name will be shown in the user interface when your app takes an action. Uppercase letters will be converted to lowercase, with spaces replaced by `-`, and accents ignored. For example, `My APp Näme` would display as `my-app-name`. + > + > The name must be unique across {% data variables.product.company_short %}. You cannot use the same name as an existing {% data variables.product.company_short %} account, unless it is your own user or organization name. + +1. Optionally, under "Description," type a description of your app. Users and organizations will see this description when they install your app. +1. Under "Homepage URL," enter a URL for your app. You can use: + * Your app's website URL. + * The URL of the organization or user that owns the app. + * The URL of the repository where your app's code is stored, if it is a public repository. +1. Under "Webhook," deselect **Active**. +1. Click **Create {% data variables.product.prodname_github_app %}**. + +## Next steps + +* [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent) diff --git a/content/copilot/building-copilot-extensions/creating-a-copilot-extension/index.md b/content/copilot/building-copilot-extensions/creating-a-copilot-extension/index.md new file mode 100644 index 000000000000..ecfd38840d4d --- /dev/null +++ b/content/copilot/building-copilot-extensions/creating-a-copilot-extension/index.md @@ -0,0 +1,13 @@ +--- +title: Creating a Copilot Extension +shortTitle: Create a Copilot Extension +intro: 'Learn how to integrate your {% data variables.product.prodname_copilot_agent_short %} with a {% data variables.product.prodname_github_app %} to create your {% data variables.product.prodname_copilot_extension_short %}.' +versions: + feature: copilot +topics: + - Copilot +children: + - /configuring-your-server-to-deploy-your-copilot-agent + - /creating-a-github-app-for-your-copilot-extension + - /configuring-your-github-app-for-your-copilot-agent +--- diff --git a/content/copilot/building-copilot-extensions/index.md b/content/copilot/building-copilot-extensions/index.md new file mode 100644 index 000000000000..b1cfa1542758 --- /dev/null +++ b/content/copilot/building-copilot-extensions/index.md @@ -0,0 +1,16 @@ +--- +title: Building Copilot Extensions +shortTitle: Build Copilot Extensions +intro: 'Learn how to integrate external tools with {% data variables.product.prodname_copilot_short %}.' +versions: + feature: copilot +topics: + - Copilot +children: + - /about-building-copilot-extensions + - /setting-up-copilot-extensions + - /building-a-copilot-agent-for-your-copilot-extension + - /creating-a-copilot-extension + - /managing-the-availability-of-your-copilot-extension + - /copilot-extensions-glossary +--- diff --git a/content/copilot/building-copilot-extensions/managing-the-availability-of-your-copilot-extension.md b/content/copilot/building-copilot-extensions/managing-the-availability-of-your-copilot-extension.md new file mode 100644 index 000000000000..bc523f60ac3e --- /dev/null +++ b/content/copilot/building-copilot-extensions/managing-the-availability-of-your-copilot-extension.md @@ -0,0 +1,56 @@ +--- +title: Managing the availability of your Copilot Extension +intro: 'After you build your {% data variables.product.prodname_copilot_extension_short %}, you can change it''s visibility or publish it on the {% data variables.product.prodname_marketplace %}.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: Manage Extension availability +type: how_to +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +When you build a {% data variables.product.prodname_copilot_extension_short %}, you have two options for the visibility of your {% data variables.product.prodname_github_app %}: + +* **Public**: Any user or organization account with the link to your app's installation page can install it. Making your app public automatically creates a public installation page, but does not list the app on the {% data variables.product.prodname_marketplace %}. +* **Private**: Only the user or organization account that created the app can install it. + +If you make your app public, you can choose to publish it on the {% data variables.product.prodname_marketplace %}. To list your {% data variables.product.prodname_copilot_extension_short %} on the {% data variables.product.prodname_marketplace %}, you must meet the following requirements: + +* You must publish your app from an organization that is a verified publisher on the {% data variables.product.prodname_marketplace %}. + * If your organization is not yet verified, see "[AUTOTITLE](/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization)." + * If you need to transfer ownership of your app from your personal account to your organization account, see "[AUTOTITLE](/apps/maintaining-github-apps/transferring-ownership-of-a-github-app)." +* Your app must meet the requirements for all listings on the {% data variables.product.prodname_marketplace %}. See "[AUTOTITLE](/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app#requirements-for-all-github-marketplace-listings)." + +## Changing the visibility of your {% data variables.product.prodname_copilot_extension_short %} + +{% data reusables.profile.access_org %} +{% data reusables.organizations.org-list %} +1. At the bottom of the sidebar, select {% octicon "code" aria-hidden="true" %} **Developer settings**, then click **{% data variables.product.prodname_github_apps %}**. +1. In the "{% data variables.product.prodname_github_apps %}" section, next to the name of your {% data variables.product.prodname_copilot_extension_short %}, click **Edit**. +1. In the sidebar, click **Advanced**. At the bottom of the "Danger Zone" section, you will see one of two options: + * **Make public**: If you see the **Make public** option, your {% data variables.product.prodname_github_app %} is currently private, and can only be installed by the organization or user that created the app. You can click **Make public** to allow any other account with the link to your app's installation page to install your {% data variables.product.prodname_copilot_extension_short %}, or leave your settings as they are to keep your app private. + * **Make private**: If you see the **Make private** option, your {% data variables.product.prodname_github_app %} is currently public, and can be installed by any account with the link to your app's installation page. You can click **Make private** to only allow the organization or user that created the app to install it, or leave your settings as they are to keep your app public. +1. Optionally, if your {% data variables.product.prodname_github_app %} is public, you can share the link to the installation page for your {% data variables.product.prodname_copilot_extension_short %}. In the sidebar, click **Public page** in the sidebar, then copy the link for your listing. + +## Listing your {% data variables.product.prodname_copilot_extension_short %} on the {% data variables.product.prodname_marketplace %} + +Once your public app is owned by a verified publisher, you can apply to list it on the {% data variables.product.prodname_marketplace %}. + +{% data reusables.profile.access_org %} +{% data reusables.organizations.org-list %} +1. At the bottom of the sidebar, select {% octicon "code" aria-hidden="true" %} **Developer settings**, then click **{% data variables.product.prodname_github_apps %}**. +1. Select the app you'd like to add to {% data variables.product.prodname_marketplace %}. +1. On the app settings landing page, scroll down to the Marketplace section, then click **List in Marketplace**. The Marketplace section is only visible if your app is public. +1. Once you've created a new draft listing, you'll see an overview of the sections that you'll need to visit before your {% data variables.product.prodname_marketplace %} listing will be complete. Complete the required sections. + 1. When naming your listing for your {% data variables.product.prodname_copilot_extension_short %}, use any of the following naming conventions: + * `YOUR-PRODUCT-NAME` (example: "{% data variables.product.prodname_copilot_short %}") + * `YOUR-COMPANY-NAME` (example: "{% data variables.product.github %}") + * `YOUR-COMPANY-AND-PRODUCT-NAMES` (example: "{% data variables.product.prodname_copilot %}") + * `YOUR-COMPANY-OR-PRODUCT-NAME for {% data variables.product.prodname_copilot %}` (example: "Docker for {% data variables.product.prodname_copilot %}") + 1. When choosing the slug users will type to invoke your {% data variables.product.prodname_copilot_extension_short %}, use the name of your listing, substituting dashes for spaces. If that slug is taken, try appending `-app`. +1. In the sidebar, click **Overview**, then read and accept the {% data variables.product.prodname_marketplace %} Developer Agreement. +1. To submit your listing, click **Submit for review**. After you submit your app for review, an onboarding expert will contact you with additional information about the onboarding process. + +> [!NOTE] {% data variables.product.github %} reviews all {% data variables.product.prodname_copilot_extension_short %} submissions to ensure they meet our standards for quality, performance, reliability, and security. We may deny submissions at our discretion, but we will provide reasons for any rejections. You are welcome to address any issues and resubmit your extension for review. diff --git a/content/copilot/building-copilot-extensions/setting-up-copilot-extensions.md b/content/copilot/building-copilot-extensions/setting-up-copilot-extensions.md new file mode 100644 index 000000000000..7583c6c7ca4b --- /dev/null +++ b/content/copilot/building-copilot-extensions/setting-up-copilot-extensions.md @@ -0,0 +1,59 @@ +--- +title: Setting up Copilot Extensions +intro: 'Follow these steps to start building {% data variables.product.prodname_copilot_extensions_short %}.' +versions: + feature: copilot-extensions +topics: + - Copilot +shortTitle: Set up Copilot Extensions +--- + +{% data reusables.copilot.copilot-extensions.beta-note %} + +## 1. Learn about {% data variables.product.prodname_copilot_agents_short %} + +{% data variables.product.prodname_copilot_agents_short %} contain the custom code for your {% data variables.product.prodname_copilot_extension_short %}, and integrate with a {% data variables.product.prodname_github_app %} to form the {% data variables.product.prodname_copilot_extension_short %} itself. For more information, see "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents)." + +To successfully build a {% data variables.product.prodname_copilot_agent_short %}, you need to understand how the agent communicates with: + +* The {% data variables.product.prodname_copilot_short %} platform using server-sent events. See "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform)." +* The {% data variables.product.github %} API. See "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github)." + +## 2. Review example {% data variables.product.prodname_copilot_agents_short %} and the {% data variables.product.prodname_copilot_extensions_short %} SDK + +To see the previous concepts in practice and learn about agent implementations, review the following example agents and software development kit (SDK), all of which are available in the [`copilot-extensions`](https://github.com/copilot-extensions) organization: + +* [Blackbeard](https://github.com/copilot-extensions/blackbeard-extension) (best starting point): A simple agent that responds to requests like a pirate using {% data variables.product.prodname_copilot_short %}'s large language model (LLM) API and special system prompts. +* [{% data variables.product.prodname_github_models %}](https://github.com/copilot-extensions/github-models-extension): A more complex agent that lets you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} through {% data variables.product.prodname_copilot_chat_short %}. The {% data variables.product.prodname_github_models %} agent makes use of function calling. +* [Function Calling](https://github.com/copilot-extensions/function-calling-extension): An example agent written in Go that demonstrates function calling and confirmation dialogs. +* [RAG Extension](https://github.com/copilot-extensions/rag-extension): An example agent written in Go that demonstrates a simple implementation of retrieval augmented generation. +* [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js/tree/main): An SDK that streamlines the development of {% data variables.product.prodname_copilot_extensions_short %} by handling request verification, payload parsing, and response formatting automatically. This SDK allows extension builders to focus more on creating core functionality and less on boilerplate code. + +## 3. Build a {% data variables.product.prodname_copilot_agent_short %} + +Using the reference material from the previous steps, plan and build your {% data variables.product.prodname_copilot_agent_short %}. You can choose to implement any of the following options: + +* To avoid building and managing your own LLM deployment, your agent can call the Copilot LLM deployment. See "[AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-copilots-llm-for-your-agent)." +* To quickly interpret user input and choose from a variety of predefined functions to execute, you can implement function calling in your agent. To learn more, see [How to use function calling with Azure OpenAI Service](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/function-calling) in the Azure OpenAI documentation and [Function calling](https://platform.openai.com/docs/guides/function-calling) in the OpenAI documentation. + +## 4. Deploy your {% data variables.product.prodname_copilot_agent_short %} + +To make your {% data variables.product.prodname_copilot_agent_short %} accessible to the {% data variables.product.prodname_copilot_short %} platform and {% data variables.product.github %}, you need to deploy it to a server that is reachable by HTTP request. See "[AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent)." + +## 5. Create a {% data variables.product.prodname_github_app %} and integrate it with your {% data variables.product.prodname_copilot_agent_short %} + +To create a {% data variables.product.prodname_copilot_extension_short %}, you need to create and configure a {% data variables.product.prodname_github_app %}, then integrate it with your {% data variables.product.prodname_copilot_agent_short %}. See "[AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension)" and "[AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent)." + +## 6. Choose the availability of your {% data variables.product.prodname_copilot_extension_short %} + +Choose one of two visibility levels for your {% data variables.product.prodname_copilot_extension_short %}: +* **Public**: Any user or organization account with the installation page link for the extension can install it. +* **Private**: Only the user or organization account that created the extension can install it. + +If you make your {% data variables.product.prodname_copilot_extension_short %} public, you can then choose to list it on the {% data variables.product.prodname_marketplace %}. + +To learn how to change the visibility of your {% data variables.product.prodname_copilot_extension_short %} and list it on the {% data variables.product.prodname_marketplace %}, see "[AUTOTITLE](/copilot/building-copilot-extensions/managing-the-availability-of-your-copilot-extension)." + +## Next steps + +To learn how to use your {% data variables.product.prodname_copilot_extension_short %}, see "[AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat)." diff --git a/content/copilot/index.md b/content/copilot/index.md index 8bc11fb26242..bec90bd7255b 100644 --- a/content/copilot/index.md +++ b/content/copilot/index.md @@ -28,6 +28,7 @@ children: - /setting-up-github-copilot - /using-github-copilot - /managing-copilot + - /building-copilot-extensions - /troubleshooting-github-copilot - /responsible-use-of-github-copilot-features topics: diff --git a/content/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/extending-the-capabilities-of-github-copilot-in-your-personal-account.md b/content/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/extending-the-capabilities-of-github-copilot-in-your-personal-account.md index 7045d65b9e36..11ced12cef4d 100644 --- a/content/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/extending-the-capabilities-of-github-copilot-in-your-personal-account.md +++ b/content/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/extending-the-capabilities-of-github-copilot-in-your-personal-account.md @@ -18,19 +18,19 @@ redirect_from: {% data reusables.copilot.copilot-extensions.copilot-extensions-on-marketplace %} -Anyone can install {% data variables.product.prodname_copilot_extensions_short %} for their personal account, but you must meet the following criteria to use a {% data variables.product.prodname_copilot_extension_short %} you install: - -* You are enrolled in the limited public beta for {% data variables.product.prodname_copilot_extensions_short %}. -* You have an active {% data variables.product.prodname_copilot_individuals_short %} subscription. +Anyone can install {% data variables.product.prodname_copilot_extensions_short %} for their personal account, but you must have an active {% data variables.product.prodname_copilot_individuals_short %} subscription to use a {% data variables.product.prodname_copilot_extension_short %} you install. > [!NOTE] If you have access to {% data variables.product.prodname_copilot_short %} through a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription, {% data variables.product.prodname_copilot_extensions_short %} are installed by organization owners at the organization level, and you do not need to install the extension on your personal account. To start using {% data variables.product.prodname_copilot_extensions_short %} installed in your organization, see "[AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions)." +You can also create your own custom {% data variables.product.prodname_copilot_extensions_short %} for your personal account. For more information, see "[AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions)." + ## Installing {% data variables.product.prodname_copilot_extensions %} for your personal account 1. Open [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=apps&copilot_app=true). 1. In the left sidebar, click {% octicon "copilot" aria-hidden="true" %} **{% data variables.product.prodname_copilot_short %}**. 1. In the list of {% data variables.product.prodname_copilot_extensions_short %}, locate an app you'd like to install. 1. To install the {% data variables.product.prodname_copilot_extension_short %} on your personal account, see "[AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-personal-account#installing-a-github-app-in-your-personal-account)." +{% data reusables.copilot.copilot-extensions.extension-specific-onboarding-steps %} ## Next steps diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/customizing-copilot-for-your-organization/extending-the-capabilities-of-github-copilot-in-your-organization.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/customizing-copilot-for-your-organization/extending-the-capabilities-of-github-copilot-in-your-organization.md index c3e670dfbc69..e7dec300f0e9 100644 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/customizing-copilot-for-your-organization/extending-the-capabilities-of-github-copilot-in-your-organization.md +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/customizing-copilot-for-your-organization/extending-the-capabilities-of-github-copilot-in-your-organization.md @@ -21,14 +21,15 @@ redirect_from: {% data reusables.copilot.copilot-extensions.copilot-extensions-on-marketplace %} -Before you install any {% data variables.product.prodname_copilot_extensions_short %} in your organization, you should set a usage policy for {% data variables.product.prodname_copilot_extensions_short %} at the {% ifversion ghec %}enterprise or {% endif %}organization level. See "[AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/managing-github-copilot-extensions)." +Any organization owner can install {% data variables.product.prodname_copilot_extensions_short %} for their organization, but your organization must have an active {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription. -Any organization owner can install {% data variables.product.prodname_copilot_extensions_short %} for their organization, but your organization must meet the following criteria to use an installed {% data variables.product.prodname_copilot_extension_short %}: +> [!NOTE] Anyone can install a {% data variables.product.prodname_copilot_extension_short %} on their personal account. However, if they get access to {% data variables.product.prodname_copilot_short %} through a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription, they will only be able to use the extension if it is installed at the organization level. -* Your organization is enrolled in the limited public beta for {% data variables.product.prodname_copilot_extensions_short %}. -* Your organization has an active {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription. +You can also create your own custom {% data variables.product.prodname_copilot_extensions_short %} for your organization. For more information, see "[AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions)." -> [!NOTE] Anyone can install a {% data variables.product.prodname_copilot_extension_short %} on their personal account. However, if they get access to {% data variables.product.prodname_copilot_short %} through a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription, they will only be able to use the extension if it is installed at the organization level. +## Prerequisites + +Before you install any {% data variables.product.prodname_copilot_extensions_short %} in your organization, you should set a usage policy for {% data variables.product.prodname_copilot_extensions_short %} at the {% ifversion ghec %}enterprise or {% endif %}organization level. See "[AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/managing-github-copilot-extensions)." ## Installing {% data variables.product.prodname_copilot_extensions %} for your organization @@ -36,6 +37,7 @@ Any organization owner can install {% data variables.product.prodname_copilot_ex 1. In the left sidebar, click {% octicon "copilot" aria-hidden="true" %} **{% data variables.product.prodname_copilot_short %}**. 1. In the list of {% data variables.product.prodname_copilot_extensions_short %}, locate an app you'd like to install. 1. To install the {% data variables.product.prodname_copilot_extension_short %} on an organization with a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription, see "[AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-organizations)." +{% data reusables.copilot.copilot-extensions.extension-specific-onboarding-steps %} ## Next steps diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/customizing-copilot-for-your-organization/indexing-repositories-for-copilot-chat.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/customizing-copilot-for-your-organization/indexing-repositories-for-copilot-chat.md index bc4ae94b4e0b..bf3cc10b9e40 100644 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/customizing-copilot-for-your-organization/indexing-repositories-for-copilot-chat.md +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/customizing-copilot-for-your-organization/indexing-repositories-for-copilot-chat.md @@ -27,7 +27,9 @@ After you index a repository it is automatically re-indexed every time a change 1. On {% data variables.product.prodname_dotcom_the_website %}, browse to the repository you want to index. 1. On any page, click the **{% octicon "copilot" aria-hidden="true" %} {% data variables.product.prodname_copilot_short %}** icon in the upper-right corner. - The indexing status of the repository is displayed near top of the {% data variables.product.prodname_copilot_short %} Chat panel. + If the repository has been indexed, this is shown near top of the {% data variables.product.prodname_copilot_short %} Chat panel. + + ![Screenshot showing 'Indexed for improved understanding and accuracy' highlighted with a dark orange outline.](/assets/images/help/copilot/indexed-repo.png) 1. If the repository has not been indexed, an **Index REPOSITORY NAME** button is displayed. Click this button to start the indexing process. diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/index.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/index.md index 9cadec614d48..8a5da15b3b71 100644 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/index.md +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/index.md @@ -15,4 +15,5 @@ children: - /configuring-your-proxy-server-or-firewall-for-copilot - /managing-access-to-github-copilot-in-your-organization - /customizing-copilot-for-your-organization + - /reviewing-activity-related-to-github-copilot-in-your-organization --- 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 e7412e60dd01..388564a4e7f6 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,9 +11,6 @@ children: - /managing-requests-for-copilot-business-in-your-organization - /revoking-access-to-copilot-for-members-of-your-organization - /managing-github-copilot-access-to-your-organizations-network - - /reviewing-user-activity-data-for-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/reviewing-activity-related-to-github-copilot-in-your-organization/index.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/index.md new file mode 100644 index 000000000000..80d45c51de75 --- /dev/null +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/index.md @@ -0,0 +1,13 @@ +--- +title: Reviewing activity related to GitHub Copilot in your organization +shortTitle: Review activity +intro: 'Organization owners can review {% data variables.product.prodname_copilot_short %} usage in their organization.' +versions: + feature: copilot +topics: + - Copilot +children: + - /reviewing-user-activity-data-for-copilot-in-your-organization + - /reviewing-audit-logs-for-copilot-business + - /reviewing-changes-to-content-exclusions-for-github-copilot +--- diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-audit-logs-for-copilot-business.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-audit-logs-for-copilot-business.md similarity index 95% rename from content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-audit-logs-for-copilot-business.md rename to content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-audit-logs-for-copilot-business.md index 394c304d354a..df9f380dcaa4 100644 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-audit-logs-for-copilot-business.md +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-audit-logs-for-copilot-business.md @@ -9,6 +9,7 @@ redirect_from: - /copilot/managing-github-copilot-in-your-organization/reviewing-audit-logs-for-copilot-business - /copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-audit-logs-for-copilot-business - /copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-github-copilot-activity-in-your-organization/reviewing-audit-logs-for-copilot-business + - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-audit-logs-for-copilot-business versions: feature: copilot product: '{% data reusables.gated-features.copilot-audit-logs %}' diff --git a/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 b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot.md similarity index 92% rename from 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 rename to content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot.md index 938e247aad59..9d4e45228c23 100644 --- a/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 +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-changes-to-content-exclusions-for-github-copilot.md @@ -11,6 +11,7 @@ topics: 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 + - /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 --- {% data reusables.copilot.content-exclusions-availability-and-beta-note %} diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization.md similarity index 96% rename from content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization.md rename to content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization.md index ea287ebb16ee..5727d0b84ad2 100644 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization.md +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization.md @@ -14,6 +14,7 @@ redirect_from: - /billing/managing-billing-for-github-copilot/viewing-your-github-copilot-usage - /copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-github-copilot-activity-in-your-organization/reviewing-usage-data-for-github-copilot-in-your-organization - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-usage-data-for-github-copilot-in-your-organization + - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization --- ## Reviewing user activity data for {% data variables.product.prodname_copilot_short %} 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 index 438908441298..6c88bc291761 100644 --- 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 @@ -33,9 +33,18 @@ You can use content exclusions to configure {% data variables.product.prodname_c {% data reusables.copilot.content-exclusions-scope %} -### Limitations of content exclusions +### 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 "check" aria-label="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" %} | -Content exclusions are not currently available for {% data variables.product.prodname_copilot_chat_dotcom_short %}, or code completion in Azure Data Studio. Additionally: +### Limitations of content exclusions {% data reusables.copilot.content-exclusion-limitations %} diff --git a/content/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom.md b/content/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom.md index acf3c666ad99..8d08925ccbfb 100644 --- a/content/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom.md +++ b/content/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom.md @@ -63,9 +63,11 @@ The skills you can use in {% data variables.product.prodname_copilot_chat_dotcom | **Issue details** | Retrieves a specific {% data variables.product.prodname_dotcom %} issue, including the issue's title, number, author, status, body, linked pull requests, comments, and timestamps. | Yes | _Summarize the conversation on this issue and suggest next steps_ | | **File details** | Retrieves a specific file in the default branch of the Git repository, allowing you to ask questions about the file and the recent changes made to it. This skill is useful when you provide the exact path of a file in the repository. | Yes | _What logic does user_auth.js encapsulate?_

_What is the file history of user_auth.js?_ | | **Pull request details** | Retrieves a specific pull request. This allows you to ask questions about the pull request, including getting a summary of the pull request, its comments, or the code it changes. | Yes | _Summarize this PR for me_

_Summarize the changes in this PR_ | +| **{% data variables.product.prodname_GH_advanced_security %}** | Retrieves information about security alerts within your organization from {% data variables.product.prodname_GH_advanced_security %} features ({% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_secret_scanning %}, and {% data variables.product.prodname_dependabot_alerts %}). | Yes | _How would I fix this {% data variables.product.prodname_code_scanning %} alert?_ | | **Release details** | Retrieves the latest, or specified, release. This allows you to find out who created a release, when it happened, and information included in the release notes. | Yes | _When was the latest release?_ | | **Repository details** | Retrieves a specific {% data variables.product.prodname_dotcom %} repository. This is useful for finding out details such as the repository owner and the main language used. | Yes | _Tell me about this repo_ | | **Symbol definition** | Retrieves the lines of code that define a specific code symbol (function, class, or struct) in the default branch of the Git repository. This skill is useful when you have the exact name of a symbol, and want to understand it. | Yes | _Write unit tests for the AuthUser method_ | +| **Support search** | Retrieves information from the {% data variables.contact.contact_support_portal %}. This skill is useful for asking {% data variables.product.prodname_copilot_chat_short %} about {% data variables.product.prodname_dotcom %} products and support related questions. | Yes | _Can I use {% data variables.product.prodname_copilot_short %} knowledge bases with {% data variables.product.prodname_copilot_individuals_short %}?_ | ## Asking a general question about software development @@ -106,19 +108,31 @@ Depending on the question you ask, and your enterprise and organization settings {% data variables.product.prodname_copilot_short %} allows you to use natural language questions to explore repositories on {% data variables.product.prodname_dotcom %}. This can help you get a better understanding of where specific aspects of a codebase are implemented. -{% data reusables.copilot.go-to-copilot-page %} +1. On the {% data variables.product.prodname_dotcom %} website, go to the repository you want to chat about. -{% data reusables.copilot.ask-copilot-not-displayed %} +1. Click the **{% octicon "copilot" aria-hidden="true" %}** {% data variables.product.prodname_copilot %} icon at the top right of the page. -1. In the "Ask {% data variables.product.prodname_copilot_short %}" box, type a question and press Enter. + The {% data variables.product.prodname_copilot_chat %} panel is displayed. To resize the panel, click and drag the top or left edge. + +1. The heading at the top of the panel should read "Chatting about" followed by the name of the current repository. + + If the wrong repository name is displayed, because you were previously chatting about another repository, click **All repositories** then choose the repository you want to chat about. + + ![Screenshot of the {% data variables.product.prodname_copilot_short %} chat panel page with "All repositories" highlighted with a dark orange outline.](/assets/images/help/copilot/copilot-chat-all-repositories.png) + +1. In the "Ask {% data variables.product.prodname_copilot_short %}" box, at the bottom of the chat panel, type a question and press Enter. For example, you could ask: * When was the most recent release? * Where is rate limiting implemented in our API? * How does the WidgetFactory class work? - * Where is the code for converting an organization member to be an outside collaborator? + * Where is the code for updating a phone number? * Where are SAT tokens generated? + * Show the most recently updated issues assigned to USERNAME + * List open issues about SUBJECT + * What was the last merged PR by USERNAME + * What are the latest commits to the main branch by USERNAME {% data variables.product.prodname_copilot_short %} replies in the chat panel. @@ -247,6 +261,38 @@ You can chat with {% data variables.product.prodname_copilot_short %} about a fi ![Screenshot of the immersive mode button at the top right of the {% data variables.product.prodname_copilot_short %} panel. The button is highlighted with a dark orange outline.](/assets/images/help/copilot/copilot-immersive-view-button.png) +## Asking questions about {% data variables.product.prodname_GH_advanced_security %} alerts + +{% data variables.product.prodname_copilot_short %} allows you to use natural language questions to ask about security alerts in repositories in your organization when these alerts are generated by {% data variables.product.prodname_GH_advanced_security %} features ({% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_secret_scanning %}, and {% data variables.product.prodname_dependabot_alerts %}). + +{% data reusables.copilot.go-to-copilot-page %} + +1. If the "Ask {% data variables.product.prodname_copilot_short %}" page is not displayed in the panel, click **All repositories**. + + ![Screenshot of the {% data variables.product.prodname_copilot_short %} chat panel page with "All repositories" highlighted with a dark orange outline.](/assets/images/help/copilot/copilot-chat-all-repositories.png) + +1. On the "Ask {% data variables.product.prodname_copilot_short %}" page, select a repository to provide a context for your question. + + For example, you could choose a repository with security alerts you want to understand better. + + You can search for a repository if you don't see one you want to use. + +1. In the "Ask {% data variables.product.prodname_copilot_short %}" box, type a question and press Enter. + + For example, you could ask: + + * How would I fix this alert? + * How many alerts do I have on this pull request? + * Which line of code is this {% data variables.product.prodname_code_scanning %} alert referencing? + * What library is affected by this {% data variables.product.prodname_dependabot %} alert? + + {% data variables.product.prodname_copilot_short %} replies in the chat panel. + + + +{% data reusables.copilot.stop-response-generation %} +{% data reusables.copilot.chat-conversation-buttons %} + ## Asking questions about a specific pull request You can ask {% data variables.product.prodname_copilot_short %} to summarize a pull request, or explain what has changed within specific files or lines of code in a pull request. 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 index 5684e6852169..873d672d818b 100644 --- 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 @@ -49,6 +49,15 @@ You can ask {% data variables.product.prodname_copilot_short %} to write code fo 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. +## Ask questions about alerts from {% data variables.product.prodname_GH_advanced_security %} features + +You can ask {% data variables.product.prodname_copilot_short %} about security alerts in repositories in your organization from {% data variables.product.prodname_GH_advanced_security %} features ({% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_secret_scanning %}, and {% data variables.product.prodname_dependabot_alerts %}). For example: + +* `How would I fix this alert?` +* `How many alerts do I have on this pull request?` +* `Which line of code is this {% data variables.product.prodname_code_scanning %} alert referencing?` +* `What library is affected by this {% data variables.product.prodname_dependabot %} alert?` + ## Set up a new project Use the `/new` slash command to set up a new project. For example: @@ -135,6 +144,15 @@ You can ask {% data variables.product.prodname_copilot_short %} to write code fo 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. +## Ask questions about alerts from {% data variables.product.prodname_GH_advanced_security %} features + +You can ask {% data variables.product.prodname_copilot_short %} about security alerts in repositories in your organization from {% data variables.product.prodname_GH_advanced_security %} features ({% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_secret_scanning %}, and {% data variables.product.prodname_dependabot_alerts %}). For example: + +* `How would I fix this alert?` +* `How many alerts do I have on this pull request?` +* `Which line of code is this {% data variables.product.prodname_code_scanning %} alert referencing?` +* `What library is affected by this {% data variables.product.prodname_dependabot %} alert?` + ## 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. diff --git a/content/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat.md b/content/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat.md index 772b9642c920..4ca949addcc0 100644 --- a/content/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat.md +++ b/content/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat.md @@ -1,6 +1,6 @@ --- title: Using extensions to integrate external tools with Copilot Chat -intro: 'You can use {% data variables.product.prodname_copilot_extensions %} to interact with external tools in {% data variables.product.prodname_copilot_chat %}.' +intro: 'You can use {% data variables.product.prodname_copilot_extensions_short %} to interact with external tools in {% data variables.product.prodname_copilot_chat %}.' product: '{% data reusables.gated-features.copilot-extensions %}' versions: feature: copilot-extensions @@ -20,9 +20,13 @@ redirect_from: {% data reusables.copilot.copilot-extensions.copilot-extensions-intro %} -> [!NOTE] {% data variables.product.prodname_copilot_extensions %} are not the same as _the {% data variables.product.prodname_copilot %} extension_, which you install in an external application to access {% data variables.product.prodname_copilot_short %} within that application. For more information on _the {% data variables.product.prodname_copilot %} extension_, see "[AUTOTITLE](/copilot/using-github-copilot/getting-started-with-github-copilot)." +> [!NOTE] {% data variables.product.prodname_copilot_extensions %} are not the same as _the {% data variables.product.prodname_copilot %} extension_, which you install in your IDE to use default {% data variables.product.prodname_copilot_short %} functionality like code completions and {% data variables.product.prodname_copilot_chat %}. For more information on _the {% data variables.product.prodname_copilot %} extension_, see "[AUTOTITLE](/copilot/using-github-copilot/getting-started-with-github-copilot)." -After you install a {% data variables.product.prodname_copilot_extension_short %} from {% data variables.product.prodname_marketplace %}, you can interact with that extension in a {% data variables.product.prodname_copilot_chat_short %} conversation, asking questions and authorizing actions that combine the capabilities of the external tool and {% data variables.product.prodname_dotcom %}. For example, if you install the Sentry extension for {% data variables.product.prodname_copilot %}, you can use the extension to get information about Sentry issues, then create and assign related tracking issues on {% data variables.product.prodname_dotcom %}. +You can get started with {% data variables.product.prodname_copilot_extensions_short %} in one of two ways: +* Build your own {% data variables.product.prodname_copilot_extension_short %}. See "[AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions)." +* Install a {% data variables.product.prodname_copilot_extension_short %} from {% data variables.product.prodname_marketplace %}. + +You can interact with your custom-built or installed extension in a {% data variables.product.prodname_copilot_chat_short %} conversation, asking questions and performing actions that combine the capabilities of the external tool and {% data variables.product.prodname_dotcom %}. For example, if you install the Sentry extension for {% data variables.product.prodname_copilot %}, you can use the extension to get information about Sentry issues, then create and assign related tracking issues on {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_copilot_extensions_short %} provide several benefits, including: @@ -34,11 +38,7 @@ After you install a {% data variables.product.prodname_copilot_extension_short % {% data reusables.copilot.copilot-extensions.compatible-chat-interfaces %} -## About using {% data variables.product.prodname_copilot_extensions %} - -{% data variables.product.prodname_copilot_extensions_short %} work the same way across all {% data variables.product.prodname_copilot_chat_short %} interfaces where {% data variables.product.prodname_copilot_extensions_short %} are available. {% data variables.product.prodname_copilot_extensions_short %} are available in: - -{% data reusables.copilot.copilot-extensions.compatible-chat-interfaces %} +## Prerequisites **If you have a {% data variables.product.prodname_copilot_individuals_short %} subscription**, you need to install a {% data variables.product.prodname_copilot_extension_short %} before you can use the extension in {% data variables.product.prodname_copilot_chat_short %}. See "[AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/installing-github-copilot-extensions-for-your-personal-account)." @@ -46,6 +46,19 @@ After you install a {% data variables.product.prodname_copilot_extension_short % 1. An organization owner or enterprise owner needs to enable the {% data variables.product.prodname_copilot_extensions_short %} policy for your organization or enterprise. See "[AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#setting-a-policy-for-github-copilot-extensions-in-your-organization)" and "[AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise#configuring-policies-for-github-copilot)" in the {% data variables.product.prodname_ghe_cloud %} documentation. 1. An organization owner needs to install {% data variables.product.prodname_copilot_extensions_short %} for your organization. See "[AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/installing-github-copilot-extensions-for-your-organization)." +### Supported clients and IDEs + +| Clients and IDEs | {% data variables.product.prodname_copilot_extensions_short %} support | +|------------------------------------|:---------:| +| {% data variables.product.prodname_vscode %} | {% octicon "check" aria-label="Supported" %} | +| {% data variables.product.prodname_vs %} | {% octicon "check" aria-label="Supported" %} | +| {% data variables.product.prodname_dotcom_the_website %} | {% octicon "check" aria-label="Supported" %} | +| {% data variables.product.prodname_mobile %} | {% octicon "x" aria-label="Unsupported" %} | +| JetBrains | {% octicon "x" aria-label="Unsupported" %} | +| Vim/Neovim | {% octicon "x" aria-label="Unsupported" %} | +| CLI | {% octicon "x" aria-label="Unsupported" %} | +| Xcode | {% octicon "x" aria-label="Unsupported" %} | + ## Using {% data variables.product.prodname_copilot_extensions %} 1. To start using a {% data variables.product.prodname_copilot_extension_short %}, open any of the following {% data variables.product.prodname_copilot_chat_short %} interfaces: @@ -72,3 +85,16 @@ After you install a {% data variables.product.prodname_copilot_extension_short % * Interactions with one {% data variables.product.prodname_copilot_extension_short %} will never be shared with another {% data variables.product.prodname_copilot_extension_short %}. To interact with different {% data variables.product.prodname_copilot_extensions_short %} in an IDE, change the `@EXTENSION-NAME` at the beginning of each sentence. Interactions with different extensions will appear in the same {% data variables.product.prodname_copilot_chat_short %} window, but the conversations themselves are automatically separated. {% ifversion ghec %} To interact with different {% data variables.product.prodname_copilot_extensions_short %} on {% data variables.product.prodname_dotcom_the_website %}, you need to start a new conversation for each extension by clicking {% octicon "plus" aria-label="New conversation" %} at the top of the {% data variables.product.prodname_copilot_chat_short %} window.{% endif %} + +## Additional resources + +For questions and issues related to {% data variables.product.prodname_copilot_extensions %}, please use the following resources: + +* **General issues for users and builders**: Visit the [{% data variables.product.github %} Support Portal](https://support.github.com/). +* **Feature requests or feedback**: Use the [{% data variables.product.github %} Community Discussion Thread](https://gh.io/community-feedback). +* **{% data variables.product.github %} Technology Partners**: Email the partnerships team directly for assistance. +* **{% data variables.product.prodname_vscode_shortname %} Chat Extensions builders and users**: See [Chat extensions](https://code.visualstudio.com/api/extension-guides/chat) in the {% data variables.product.prodname_vscode %} documentation. + +> [!NOTE] {% data variables.product.github %} Support cannot answer questions regarding {% data variables.product.prodname_vscode_shortname %} Chat Extensibility, as this platform is owned and maintained by the {% data variables.product.prodname_vscode_shortname %} product team. + +To learn more about building {% data variables.product.prodname_copilot_extensions_short %}, see "[AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions)." diff --git a/content/desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor-in-github-desktop.md b/content/desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor-in-github-desktop.md index 0a477f994003..0b04632e0881 100644 --- a/content/desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor-in-github-desktop.md +++ b/content/desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor-in-github-desktop.md @@ -10,9 +10,12 @@ versions: feature: desktop shortTitle: Configure default editor --- -## Supported editors -{% data variables.product.prodname_desktop %} supports the following editors. If you installed an editor while {% data variables.product.prodname_desktop %} was open you will need to quit and reopen {% data variables.product.prodname_desktop %} in order for the editor to be detected. +## Introduction + +{% data variables.product.prodname_desktop %} provides support for a number of editors, and also allows you to select a custom editor if your preferred editor is not supported. If you installed an editor while {% data variables.product.prodname_desktop %} was open you will need to quit and reopen {% data variables.product.prodname_desktop %} in order for the editor to be detected. + +## Supported editors {% mac %} @@ -97,6 +100,17 @@ shortTitle: Configure default editor {% endwindows %} +## Configuring a custom editor + +{% data reusables.desktop.mac-select-desktop-menu %} +1. In the Preferences window, select **Integrations**. + ![Screenshot of the "Preferences" window. In the left sidebar, the "Integrations" option is highlighted in blue and outlined in orange.](/assets/images/help/desktop/mac-select-integrations-pane.png) +1. Under "External Editor", use the dropdown menu to select **Configure Custom Editor**. + ![Screenshot of the "Preferences window. Under "External Editor", the dropdown menu is displayed with "Configure Custom Editor" highlighted in blue and outlined in orange.](/assets/images/help/desktop/configure-custom-editor.png) +1. Click **Choose** to open the system dialog to navigate to the path of your custom editor. +1. Under "Arguments", enter any arguments you would like to use after the "%TARGET_PATH%" variable. Reference supporting documentation for your custom editor to ensure you have the arguments set correctly, as invalid arguments can prevent the editor from launching in {% data variables.product.prodname_desktop %}. +1. Click **Save**. + ## Opening a repository in the default editor To open the current repository in the default editor, you can use the menu bar: diff --git a/content/discussions/guides/finding-your-discussions.md b/content/discussions/guides/finding-your-discussions.md index 04c7d9eee548..b0bc67d98923 100644 --- a/content/discussions/guides/finding-your-discussions.md +++ b/content/discussions/guides/finding-your-discussions.md @@ -11,12 +11,12 @@ redirect_from: ## Finding discussions {% ifversion global-nav-update %} -1. In the top-left corner of {% data variables.location.product_location %}, select {% octicon "three-bars" aria-label="Open global navigation menu" %}, then click {% octicon "comment-discussion" aria-hidden="true" %} **Discussions**. +1. In the top-left corner of {% data variables.product.prodname_dotcom %}, select {% octicon "three-bars" aria-label="Open global navigation menu" %}, then click {% octicon "comment-discussion" aria-hidden="true" %} **Discussions**. ![Screenshot of the navigation bar on {% data variables.product.product_name %}. The "Open global navigation menu" icon is outlined in dark orange.](/assets/images/help/navigation/global-navigation-menu-icon.png) {% else %} -1. In the top-right corner of {% data variables.location.product_location %}, click your profile photo, then click **Your discussions**. +1. In the top-right corner of {% data variables.product.prodname_dotcom %}, click your profile photo, then click **Your discussions**. ![Screenshot of the account dropdown on {% data variables.product.product_name %}. The "Your discussions" option is outlined in dark orange.](/assets/images/help/discussions/your-discussions.png) diff --git a/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions.md b/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions.md index 094b1fadd1ab..b11d886ac8c8 100644 --- a/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions.md +++ b/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions.md @@ -34,7 +34,7 @@ Each category must have a unique name and emoji pairing, and can be accompanied ## Creating a category -1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization where you want to create a category. +1. Navigate to the main page of the repository or organization where you want to create a category. {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.edit-categories %} 1. Click **New category**. @@ -50,7 +50,7 @@ Each category must have a unique name and emoji pairing, and can be accompanied ## Creating a section -1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization where you want to create a category. +1. Navigate to the main page of the repository or organization where you want to create a category. {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.edit-categories %} 1. Click **New section**. @@ -64,7 +64,7 @@ Each category must have a unique name and emoji pairing, and can be accompanied You can edit a category to change the category's emoji, title, description, and discussion format. -1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization where you want to edit a category. +1. Navigate to the main page of the repository or organization where you want to edit a category. {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.edit-categories %} 1. To the right of a category in the list, click {% octicon "pencil" aria-label="The pencil icon" %}. @@ -79,7 +79,7 @@ You can edit a category to change the category's emoji, title, description, and You can edit a section to change the section's emoji and title, and to add and remove categories from the section. -1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization where you want to edit a section. +1. Navigate to the main page of the repository or organization where you want to edit a section. {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.edit-categories %} 1. To the right of a section in the list, click {% octicon "pencil" aria-label="The pencil icon" %}. @@ -93,7 +93,7 @@ When you delete a category, {% data variables.product.product_name %} will move {% ifversion discussions-category-section %}When you delete a section, all categories within the section will no longer belong to a section.{% endif %} -1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization where you want to delete a category. +1. Navigate to the main page of the repository or organization where you want to delete a category. {% data reusables.discussions.discussions-tab %} 1. To the right of a category in the list, click {% octicon "trash" aria-label="The trash icon" %}. 1. Select the dropdown menu, and click a new category for any discussions in the category you're deleting. @@ -105,7 +105,7 @@ When you delete a category, {% data variables.product.product_name %} will move When you delete a section, all categories within the section will no longer belong to a section. -1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization where you want to delete a section. +1. Navigate to the main page of the repository or organization where you want to delete a section. {% data reusables.discussions.discussions-tab %} 1. To the right of a section in the list, click {% octicon "trash" aria-label="The trash icon" %}. 1. In the dialog box, review the information about deleting a section, then click **Delete**. diff --git a/content/discussions/managing-discussions-for-your-community/managing-discussions.md b/content/discussions/managing-discussions-for-your-community/managing-discussions.md index 479c1ab3ed17..6e3d9269b9a2 100644 --- a/content/discussions/managing-discussions-for-your-community/managing-discussions.md +++ b/content/discussions/managing-discussions-for-your-community/managing-discussions.md @@ -186,7 +186,7 @@ To transfer a discussion, you must have permissions to create discussions in the You can convert all issues with the same label to discussions in bulk. Future issues with this label will also automatically convert to the discussion and category you configure. -1. On {% data variables.location.product_location %}, navigate to the main page of the repository or, for organization discussions, the source repository. +1. Navigate to the main page of the repository or, for organization discussions, the source repository. {% data reusables.repositories.sidebar-issues %} {% data reusables.project-management.labels %} 1. Next to the label you want to convert to issues, click **Convert issues**. diff --git a/content/get-started/accessibility/github-command-palette.md b/content/get-started/accessibility/github-command-palette.md index e1616fb4dbaf..be2c9ab3da76 100644 --- a/content/get-started/accessibility/github-command-palette.md +++ b/content/get-started/accessibility/github-command-palette.md @@ -70,7 +70,7 @@ You can use the command palette to navigate to any page that you have access to ## Searching with the {% data variables.product.prodname_command_palette %} -You can use the command palette to search for anything on {% data variables.location.product_location %}. +You can use the command palette to search for anything on {% data variables.product.prodname_dotcom %}. {% data reusables.command-palette.open-palette %} diff --git a/content/get-started/accessibility/keyboard-shortcuts.md b/content/get-started/accessibility/keyboard-shortcuts.md index fa0dd17fb884..ad9fd26e1b56 100644 --- a/content/get-started/accessibility/keyboard-shortcuts.md +++ b/content/get-started/accessibility/keyboard-shortcuts.md @@ -26,7 +26,7 @@ The {% data variables.product.prodname_command_palette %} also gives you quick a {% endif %} -The following sections list some of the available keyboard shortcuts, organized by the pages where you can use them on {% data variables.location.product_location %}. +The following sections list some of the available keyboard shortcuts, organized by the pages where you can use them on {% data variables.product.prodname_dotcom %}. ## Site wide shortcuts @@ -45,7 +45,9 @@ The following sections list some of the available keyboard shortcuts, organized |G I | Go to the **Issues** tab. For more information, see "[AUTOTITLE](/issues/tracking-your-work-with-issues/about-issues)." |G P | Go to the **Pull requests** tab. For more information, see "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." |G A | Go to the **Actions** tab. For more information, see "[AUTOTITLE](/actions/learn-github-actions)." +| {% ifversion projects-v1 %} | |G B | Go to the **Projects** tab. For more information, see "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." +| {% endif %} | |G W | Go to the **Wiki** tab. For more information, see "[AUTOTITLE](/communities/documenting-your-project-with-wikis/about-wikis)." | | {% ifversion discussions %} | |G G | Go to the **Discussions** tab. For more information, see "[AUTOTITLE](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." diff --git a/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md b/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md index 8579cae2cc23..8395e650952d 100644 --- a/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md +++ b/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md @@ -1,6 +1,6 @@ --- title: Finding ways to contribute to open source on GitHub -intro: 'You can find ways to contribute to open source projects on {% data variables.location.product_location %} that are relevant to you.' +intro: 'You can find ways to contribute to open source projects on {% data variables.product.prodname_dotcom %} that are relevant to you.' permissions: '{% data reusables.enterprise-accounts.emu-permission-interact %}' redirect_from: - /articles/where-can-i-find-open-source-projects-to-work-on @@ -22,7 +22,7 @@ shortTitle: Contribute to open source If there's a particular topic that interests you, visit `github.com/topics/`. For example, if you are interested in machine learning, you can find relevant projects and good first issues by visiting https://github.com/topics/machine-learning. You can browse popular topics by visiting [Topics](https://github.com/topics). You can also search for repositories that match a topic you're interested in. For more information, see "[AUTOTITLE](/search-github/searching-on-github/searching-for-repositories#search-by-topic)." -If you've been active on {% data variables.location.product_location %}, you can find personalized recommendations for projects and good first issues based on your past contributions, stars, and other activities in [Explore {% data variables.product.prodname_dotcom %}](https://github.com/explore). +If you've been active on {% data variables.product.prodname_dotcom %}, you can find personalized recommendations for projects and good first issues based on your past contributions, stars, and other activities in [Explore {% data variables.product.prodname_dotcom %}](https://github.com/explore). Keep up with recent activity from repositories you watch, as well as people and organizations you follow, with your personal dashboard. For more information, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/about-your-personal-dashboard)." diff --git a/content/get-started/getting-started-with-git/about-remote-repositories.md b/content/get-started/getting-started-with-git/about-remote-repositories.md index 6aecf772ebc3..fd0d255c066e 100644 --- a/content/get-started/getting-started-with-git/about-remote-repositories.md +++ b/content/get-started/getting-started-with-git/about-remote-repositories.md @@ -42,7 +42,7 @@ You can use the command `git remote set-url` to [change a remote's URL](/get-sta ## Choosing a URL for your remote repository -There are several ways to clone repositories available on {% data variables.location.product_location %}. +There are several ways to clone repositories available on {% data variables.product.prodname_dotcom %}. When you view a repository while signed in to your account, the URLs you can use to clone the project onto your computer are available below the repository details. @@ -68,7 +68,7 @@ When you `git clone`, `git fetch`, `git pull`, or `git push` to a remote reposit ## Cloning with SSH URLs -SSH URLs provide access to a Git repository via SSH, a secure protocol. To use these URLs, you must generate an SSH keypair on your computer and add the **public** key to your account on {% data variables.location.product_location %}. For more information, see "[AUTOTITLE](/authentication/connecting-to-github-with-ssh)." +SSH URLs provide access to a Git repository via SSH, a secure protocol. To use these URLs, you must generate an SSH keypair on your computer and add the **public** key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[AUTOTITLE](/authentication/connecting-to-github-with-ssh)." When you `git clone`, `git fetch`, `git pull`, or `git push` to a remote repository using SSH URLs, you'll be prompted for a password and must provide your SSH key passphrase. For more information, see "[AUTOTITLE](/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases)." diff --git a/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md b/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md index 85b63f044b35..4787e4c8c468 100644 --- a/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md +++ b/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md @@ -42,7 +42,7 @@ protocol=https > [Press Return] ``` -If it's successful, nothing will print out. To test that it works, try and clone a private repository from {% data variables.location.product_location %}. If you are prompted for a password, the keychain entry was deleted. +If it's successful, nothing will print out. To test that it works, try and clone a private repository. If you are prompted for a password, the keychain entry was deleted. ## Further reading diff --git a/content/get-started/learning-about-github/about-github-advanced-security.md b/content/get-started/learning-about-github/about-github-advanced-security.md index 6aeed745e55d..16a95eb99189 100644 --- a/content/get-started/learning-about-github/about-github-advanced-security.md +++ b/content/get-started/learning-about-github/about-github-advanced-security.md @@ -48,6 +48,12 @@ A {% data variables.product.prodname_GH_advanced_security %} license provides th * **Dependency review** - Show the full impact of changes to dependencies and see details of any vulnerable versions before you merge a pull request. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)." +{% ifversion copilot-chat-ghas-alerts %} + +With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand security alerts in repositories in your organization ({% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_secret_scanning %}, and {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features)." + +{% endif %} + {% ifversion fpt or ghec %} The table below summarizes the availability of {% data variables.product.prodname_GH_advanced_security %} features for public and private repositories. diff --git a/content/get-started/learning-about-github/access-permissions-on-github.md b/content/get-started/learning-about-github/access-permissions-on-github.md index fd9c063685aa..b566b86f5ec3 100644 --- a/content/get-started/learning-about-github/access-permissions-on-github.md +++ b/content/get-started/learning-about-github/access-permissions-on-github.md @@ -31,8 +31,8 @@ A repository owned by a personal account has two permission levels: the _reposit ## Organization accounts Organization members can have _owner_{% ifversion fpt or ghec %}, _billing manager_,{% endif %} or _member_ roles. Owners have complete administrative access to your organization{% ifversion fpt or ghec %}, while billing managers can manage billing settings{% endif %}. Member is the default role for everyone else. You can manage access permissions for multiple members at a time with teams. For more information, see: -* "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)" -* "[AUTOTITLE](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)" +* "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)"{% ifversion projects-v1 %} +* "[AUTOTITLE](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)"{% endif %} * "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization)" * "[AUTOTITLE](/organizations/organizing-members-into-teams/about-teams)" diff --git a/content/get-started/learning-about-github/types-of-github-accounts.md b/content/get-started/learning-about-github/types-of-github-accounts.md index ddbea77d6e91..5dad54810f8b 100644 --- a/content/get-started/learning-about-github/types-of-github-accounts.md +++ b/content/get-started/learning-about-github/types-of-github-accounts.md @@ -24,44 +24,57 @@ topics: ## About accounts on {% data variables.product.product_name %} With {% data variables.product.product_name %}, you can store and collaborate on code. Accounts allow you to organize and control access to that code. There are three types of accounts on {% data variables.product.product_name %}. -* Personal accounts +* User accounts * Organization accounts * Enterprise accounts -Every person who uses {% data variables.product.product_name %} signs into a personal account. An organization account enhances collaboration between multiple personal accounts, and {% ifversion fpt or ghec %}an enterprise account{% else %}the enterprise account for {% data variables.location.product_location %}{% endif %} allows central management of multiple organizations. +Every person who uses {% data variables.product.product_name %} signs in to a user account. An organization account enhances collaboration between multiple users, and {% ifversion fpt or ghec %}an enterprise account{% else %}the enterprise account for {% data variables.location.product_location %}{% endif %} allows central management of multiple organizations. -## Personal accounts +## User accounts {% data reusables.accounts.your-personal-account %} -Your personal account can own resources such as repositories, packages, and projects. Any time you take any action on {% data variables.location.product_location %}, such as creating an issue or reviewing a pull request, the action is attributed to your personal account. +Your user account can own resources such as repositories, packages, and projects. Any time you take any action on {% data variables.product.github %}, such as creating an issue or reviewing a pull request, the action is attributed to your user account. -{% ifversion fpt or ghec %}Each personal account uses either {% data variables.product.prodname_free_user %} or {% data variables.product.prodname_pro %}. All personal accounts can own an unlimited number of public and private repositories, with an unlimited number of collaborators on those repositories. If you use {% data variables.product.prodname_free_user %}, private repositories owned by your personal account have a limited feature set. You can upgrade to {% data variables.product.prodname_pro %} to get a full feature set for private repositories. For more information, see "[AUTOTITLE](/get-started/learning-about-github/githubs-plans)." {% else %}You can create an unlimited number of repositories owned by your personal account, with an unlimited number of collaborators on those repositories.{% endif %} +User accounts are intended for humans, but you can create accounts to automate activity on {% data variables.product.github %}. This type of account is called a machine user. For example, you can create a machine user account to automate continuous integration (CI) workflows. -{% tip %} +{% ifversion fpt or ghec %} -**Tip**: Personal accounts are intended for humans, but you can create accounts to automate activity on {% data variables.product.product_name %}. This type of account is called a machine user. For example, you can create a machine user account to automate continuous integration (CI) workflows. +There are two types of user account: -{% endtip %} +* "[Personal accounts](#personal-accounts)" +* "[{% data variables.enterprise.prodname_managed_users_caps %}](#managed-user-accounts)" -{% ifversion fpt or ghec %} -Most people will use one personal account for all their work on {% data variables.product.prodname_dotcom_the_website %}, including both open source projects and paid employment. If you're currently using more than one personal account that you created for yourself, we suggest combining the accounts. For more information, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts)." -{% endif %} +### Personal accounts -## Organization accounts +If you signed up for your own account on {% data variables.product.prodname_dotcom_the_website %}, you are using a personal account. -Organizations are shared accounts where a large number of people can collaborate across many projects at once. +Each personal account uses either {% data variables.product.prodname_free_user %} or {% data variables.product.prodname_pro %}. All personal accounts can own an unlimited number of public and private repositories, with an unlimited number of collaborators on those repositories. If you use {% data variables.product.prodname_free_user %}, private repositories owned by your personal account have a limited feature set. You can upgrade to {% data variables.product.prodname_pro %} to get a full feature set for private repositories. For more information, see "[AUTOTITLE](/get-started/learning-about-github/githubs-plans)." -Like personal accounts, organizations can own resources such as repositories, packages, and projects. However, you cannot sign into an organization. Instead, each person signs into their own personal account, and any actions the person takes on organization resources are attributed to their personal account. Each personal account can be a member of multiple organizations. +Many people use one personal account for all their work on {% data variables.product.prodname_dotcom_the_website %}, including both open source projects and paid employment. If you're currently using more than one personal account that you created for yourself, we suggest combining the accounts. For more information, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts)." -The personal accounts within an organization can be given different roles in the organization, which grant different levels of access to the organization and its data. All members can collaborate with each other in repositories and projects, but only organization owners and security managers can manage the settings for the organization and control access to the organization's data with sophisticated security and administrative features. For more information, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)" and "[AUTOTITLE](/organizations/keeping-your-organization-secure)." +Even if you're a member of an organization that uses SAML single sign-on, you will still sign in to your own personal account on {% data variables.product.prodname_dotcom_the_website %}, and that personal account will be linked to your identity in your organization's identity provider (IdP). For more information, see "[AUTOTITLE](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} -{% ifversion fpt or ghec %} -Even if you're a member of an organization that uses SAML single sign-on, you will still sign into your own personal account on {% data variables.product.prodname_dotcom_the_website %}, and that personal account will be linked to your identity in your organization's identity provider (IdP). For more information, see "[AUTOTITLE](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} +### {% data variables.enterprise.prodname_managed_users_caps %} + +If your account was created for you by an enterprise on {% data variables.product.prodname_ghe_cloud %}, you are using a {% data variables.enterprise.prodname_managed_user %}. + +As a {% data variables.enterprise.prodname_managed_user %}: + +* Some of your account details and settings are managed by your enterprise. +* You must sign in to your {% data variables.enterprise.prodname_managed_user %} to access organizations and repositories owned by the enterprise. +* You can create your own private repositories, but you cannot create public content or contribute to repositories outside the enterprise. -However, if you're a member of an enterprise that uses {% data variables.product.prodname_emus %}, instead of using a personal account that you created, a new account will be provisioned for you by the enterprise's IdP. To access any organizations owned by that enterprise, you must authenticate using their IdP instead of a {% data variables.product.prodname_dotcom_the_website %} username and password. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/admin/identity-and-access-management/understanding-iam-for-enterprises/about-enterprise-managed-users){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} {% endif %} +## Organization accounts + +Organizations are shared accounts where a large number of people can collaborate across many projects at once. + +Like user accounts, organizations can own resources such as repositories, packages, and projects. However, you cannot sign in to an organization. Instead, each person signs in to their user account, and any actions the person takes on organization resources are attributed to their user account. Each user can be a member of multiple organizations. + +The users within an organization can be given different roles in the organization, which grant different levels of access to the organization and its data. All members can collaborate with each other in repositories and projects, but only organization owners and security managers can manage the settings for the organization and control access to the organization's data with sophisticated security and administrative features. For more information, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)" and "[AUTOTITLE](/organizations/keeping-your-organization-secure)." + You can also create nested sub-groups of organization members called teams, to reflect your group's structure and simplify access management. For more information, see "[AUTOTITLE](/organizations/organizing-members-into-teams/about-teams)." {% data reusables.organizations.organization-plans %} diff --git a/content/get-started/onboarding/getting-started-with-your-github-account.md b/content/get-started/onboarding/getting-started-with-your-github-account.md index 289808dc3d24..d6c06cec5ba7 100644 --- a/content/get-started/onboarding/getting-started-with-your-github-account.md +++ b/content/get-started/onboarding/getting-started-with-your-github-account.md @@ -23,7 +23,7 @@ The first steps in starting with {% data variables.product.product_name %} are t ### 1. Creating an account -To sign up for an account on {% data variables.location.product_location %}, navigate to https://github.com/ and follow the prompts. +To sign up for an account, navigate to https://github.com/ and follow the prompts. To keep your {% data variables.product.prodname_dotcom %} account secure you should use a strong and unique password. For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-strong-password)." diff --git a/content/get-started/using-git/about-git-rebase.md b/content/get-started/using-git/about-git-rebase.md index 86029ffdfcce..df0b98cadbd8 100644 --- a/content/get-started/using-git/about-git-rebase.md +++ b/content/get-started/using-git/about-git-rebase.md @@ -21,7 +21,7 @@ Typically, you would use `git rebase` to: {% warning %} -**Warning**: Because changing your commit history can make things difficult for everyone else using the repository, it's considered bad practice to rebase commits when you've already pushed to a repository. To learn how to safely rebase on {% data variables.location.product_location %}, see "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)." +**Warning**: Because changing your commit history can make things difficult for everyone else using the repository, it's considered bad practice to rebase commits when you've already pushed to a repository. To learn how to safely rebase, see "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)." {% endwarning %} diff --git a/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md b/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md index 971d82426878..337d3a57f6cc 100644 --- a/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md +++ b/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md @@ -67,7 +67,7 @@ If you create a new clone of the repository, you won't lose any of your Git hist 1. [Create a new repository](/repositories/creating-and-managing-repositories/creating-a-new-repository) on {% data variables.product.product_name %}. -1. At the top of your new repository on {% data variables.location.product_location %}'s Quick Setup page, click {% octicon "copy" aria-label="Copy to clipboard" %} to copy the remote repository URL. +1. At the top of your new repository on {% data variables.product.prodname_dotcom %}'s Quick Setup page, click {% octicon "copy" aria-label="Copy to clipboard" %} to copy the remote repository URL. ![Screenshot of the "Quick Setup" header in a repository. Next to the remote URL, an icon of two overlapping squares is highlighted with an orange outline.](/assets/images/help/repository/copy-remote-repository-url-quick-setup.png) diff --git a/content/get-started/using-github/allowing-access-to-githubs-services-from-a-restricted-network.md b/content/get-started/using-github/allowing-access-to-githubs-services-from-a-restricted-network.md index d847bdf51684..3480678f3198 100644 --- a/content/get-started/using-github/allowing-access-to-githubs-services-from-a-restricted-network.md +++ b/content/get-started/using-github/allowing-access-to-githubs-services-from-a-restricted-network.md @@ -9,7 +9,7 @@ shortTitle: Allow network access ## About access to {% data variables.product.product_name %} from a restricted network -In rare cases, an institution's network access policy may restrict access to specific domain names for end users. For example, the policy may use DNS filtering to deny access to sites like {% data variables.location.product_location %}. If your institution requires this level of control, but you still want to permit access to services on {% data variables.location.product_location %}, you can create exceptions in your policy to allow access to the necessary domains. +In rare cases, an institution's network access policy may restrict access to specific domain names for end users. For example, the policy may use DNS filtering to deny access to sites like {% data variables.product.prodname_dotcom %}. If your institution requires this level of control, but you still want to permit access to services on {% data variables.product.prodname_dotcom %}, you can create exceptions in your policy to allow access to the necessary domains. ## Retrieving {% data variables.product.company_short %}'s domain names using the REST API @@ -17,7 +17,7 @@ You can use the REST API to retrieve a list of {% data variables.product.company {% warning %} -**Warning**: The list of domains from the REST API is not intended to be comprehensive. If you block access to services using DNS, but selectively allow access to {% data variables.product.company_short %}'s domain names, any or all of {% data variables.location.product_location %} and related services may not function properly or at all for your end users. +**Warning**: The list of domains from the REST API is not intended to be comprehensive. If you block access to services using DNS, but selectively allow access to {% data variables.product.company_short %}'s domain names, any or all of {% data variables.product.prodname_dotcom %} and related services may not function properly or at all for your end users. {% endwarning %} diff --git a/content/get-started/using-github/connecting-to-github.md b/content/get-started/using-github/connecting-to-github.md index 1d46deb97f9a..c2e70f2e7883 100644 --- a/content/get-started/using-github/connecting-to-github.md +++ b/content/get-started/using-github/connecting-to-github.md @@ -19,7 +19,7 @@ topics: There are many ways to work with {% data variables.product.prodname_dotcom %}, and you can choose a method that suits your level of experience, personal preferences, and the repositories you work with. For example, you can choose whether you want to work in the browser or from your desktop, how you want to use Git, and what capabilities you need from your editor and other software. You may choose to work with different repositories in different ways. -If you're new to {% data variables.product.prodname_dotcom %}, a good way to start contributing is to make changes in the browser on {% data variables.location.product_location %}. As you become more familiar with {% data variables.product.prodname_dotcom %} and start contributing larger changes, you may want to start working with other tools. This article explains how to progress through these stages and helps you choose the best tool for your requirements at each stage. To quickly compare all the tools available for working with {% data variables.product.prodname_dotcom %}, see "[Comparison of tools for connecting to GitHub](#comparison-of-tools-for-connecting-to-github)." +If you're new to {% data variables.product.prodname_dotcom %}, a good way to start contributing is to make changes in the browser on {% data variables.location.product_location %}. As you become more familiar with {% data variables.product.prodname_dotcom %} and start contributing larger changes, you may want to start working with other tools. This article explains how to progress through these stages and helps you choose the best tool for your requirements at each stage. To quickly compare all the tools available for working with {% data variables.product.prodname_dotcom %}, see "[Comparison of tools for connecting to {% data variables.product.prodname_dotcom %}](#comparison-of-tools-for-connecting-to-github)." ## Getting started @@ -60,7 +60,7 @@ There are several tools you can use to connect to {% data variables.product.prod * If you'd prefer to use a visual interface, you can use a visual Git client such as {% data variables.product.prodname_desktop %}. With {% data variables.product.prodname_desktop %}, you can visualize the changes you're making and access most Git commands through a visual interface, so you don't need to memorize any commands. For more information, see "[AUTOTITLE](/desktop/overview/about-github-desktop)." * If you want to work in one place, you can often do most things from your editor. An editor such as {% data variables.product.prodname_vscode_shortname %} includes an integrated terminal and buttons for common Git commands, so you can edit files and push your changes to {% data variables.product.prodname_dotcom %} all from one place. You can also install an extension to work directly with pull requests and issues on {% data variables.product.prodname_dotcom %}. To get started, see [Download {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/download). -## Comparison of tools for connecting to GitHub +## Comparison of tools for connecting to {% data variables.product.prodname_dotcom %} The following table provides a comparison between the tools you can use to work with repositories on {% data variables.product.prodname_dotcom %}, both in your browser and from your desktop. diff --git a/content/get-started/using-github/github-mobile.md b/content/get-started/using-github/github-mobile.md index e5d025e48128..4a396f62721d 100644 --- a/content/get-started/using-github/github-mobile.md +++ b/content/get-started/using-github/github-mobile.md @@ -54,7 +54,7 @@ You can be simultaneously signed into mobile with multiple accounts on {% data v You must install {% data variables.product.prodname_mobile %} 1.4 or later on your device to use {% data variables.product.prodname_mobile %} with {% data variables.product.prodname_ghe_server %}. -To use {% data variables.product.prodname_mobile %} with {% data variables.product.prodname_ghe_server %}, {% data variables.location.product_location %} must be version 3.0 or greater, and your enterprise owner must enable mobile support for your enterprise. For more information, see {% ifversion ghes %}"[AUTOTITLE](/admin/release-notes)" and {% endif %}"[Managing {% data variables.product.prodname_mobile %} for your enterprise]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/configuration/configuring-your-enterprise/managing-github-mobile-for-your-enterprise){% ifversion not ghes %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}."{% endif %} +To use {% data variables.product.prodname_mobile %} with {% data variables.product.prodname_ghe_server %}, {% data variables.product.prodname_dotcom %} must be version 3.0 or greater, and your enterprise owner must enable mobile support for your enterprise. For more information, see {% ifversion ghes %}"[AUTOTITLE](/admin/release-notes)" and {% endif %}"[Managing {% data variables.product.prodname_mobile %} for your enterprise]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/configuration/configuring-your-enterprise/managing-github-mobile-for-your-enterprise){% ifversion not ghes %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}."{% endif %} During the beta for {% data variables.product.prodname_mobile %} with {% data variables.product.prodname_ghe_server %}, you must be signed in with a personal account on {% data variables.product.prodname_dotcom_the_website %}. diff --git a/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github.md b/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github.md index 7f05fee0aa86..8fd2db21de42 100644 --- a/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github.md +++ b/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github.md @@ -18,7 +18,7 @@ If you already have a profile README, you can follow this guide by adding some f ## Creating or editing your profile README -Your profile README lets you share information about yourself with the community on {% data variables.location.product_location %}. The README is displayed at the top of your profile page. +Your profile README lets you share information about yourself with the community on {% data variables.product.prodname_dotcom %}. The README is displayed at the top of your profile page. If you don't already have a profile README, you can add one. @@ -112,7 +112,7 @@ Hi, I'm Mona. You might recognize me as {% data variables.product.prodname_dotco ## Adding a collapsed section -To keep your content tidy, you can use the `
` tag to create an expandible collapsed section. +To keep your content tidy, you can use the `
` tag to create an expandable collapsed section. 1. To create a collapsed section for the table you created, wrap your table in `
` tags like in the following example. diff --git a/content/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams.md b/content/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams.md index 0b722b408e1d..798baa010b3c 100644 --- a/content/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams.md +++ b/content/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams.md @@ -8,7 +8,7 @@ shortTitle: Create diagrams ## About creating diagrams -You can create diagrams in Markdown using three different syntaxes: mermaid, geoJSON and topoJSON, and ASCII STL. Diagram rendering is available in {% data variables.product.prodname_github_issues %}, {% data variables.product.prodname_discussions %}, pull requests, wikis, and Markdown files. +You can create diagrams in Markdown using four different syntaxes: mermaid, geoJSON, topoJSON, and ASCII STL. Diagram rendering is available in {% data variables.product.prodname_github_issues %}, {% data variables.product.prodname_discussions %}, pull requests, wikis, and Markdown files. ## Creating Mermaid diagrams diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md index a4d1cb91b09f..73cd81bac9bc 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md @@ -20,7 +20,7 @@ allowTitleToDifferFromFilename: true {% data variables.projects.projects_v1_board_caps %} cards contain relevant metadata for issues and pull requests, like labels, assignees, the status, and who opened it. {% data reusables.project-management.edit-in-project %} -You can create notes within columns to serve as task reminders, references to issues and pull requests from any repository on {% data variables.location.product_location %}, or to add information related to the {% data variables.projects.projects_v1_board %}. You can create a reference card for another {% data variables.projects.projects_v1_board %} by adding a link to a note. If the note isn't sufficient for your needs, you can convert it to an issue. For more information on converting notes to issues, see "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-notes-to-a-project-board)." +You can create notes within columns to serve as task reminders, references to issues and pull requests from any repository, or to add information related to the {% data variables.projects.projects_v1_board %}. You can create a reference card for another {% data variables.projects.projects_v1_board %} by adding a link to a note. If the note isn't sufficient for your needs, you can convert it to an issue. For more information on converting notes to issues, see "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-notes-to-a-project-board)." Types of {% data variables.projects.projects_v1_boards %}: diff --git a/content/issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions.md b/content/issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions.md index ec4012189e93..1e689954a7e0 100644 --- a/content/issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions.md +++ b/content/issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions.md @@ -50,7 +50,7 @@ For more information about authenticating in a {% data variables.product.prodnam 1. Install the {% data variables.product.prodname_github_app %} in your organization. Install it for all repositories that your project needs to access. For more information, see "[AUTOTITLE](/apps/maintaining-github-apps/installing-github-apps#installing-your-private-github-app-on-your-repository)." 1. Store your {% data variables.product.prodname_github_app %}'s ID as a configuration variable in your repository or organization. In the following workflow, replace `APP_ID` with the name of the configuration variable. You can find your app ID on the settings page for your app or through the App API. For more information, see "[AUTOTITLE](/rest/apps#get-an-app)." For more information about configuration variables, see "[AUTOTITLE](/actions/learn-github-actions/variables#defining-configuration-variables-for-multiple-workflows)." 1. Generate a private key for your app. Store the contents of the resulting file as a secret in your repository or organization. (Store the entire contents of the file, including `-----BEGIN RSA PRIVATE KEY-----` and `-----END RSA PRIVATE KEY-----`.) In the following workflow, replace `APP_PEM` with the name of the secret. For more information, see "[AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps)." For more information about storing secrets, see "[AUTOTITLE](/actions/security-guides/encrypted-secrets)." -1. In the following workflow, replace `YOUR_ORGANIZATION` with the name of your organization. For example, `octo-org`. Replace `YOUR_PROJECT_NUMBER` with your project number. To find the project number, look at the project URL. For example, `https://github.com/orgs/octo-org/projects/5` has a project number of 1. In order for this specific example to work, your project must also have a "Date posted" date field. +1. In the following workflow, replace `YOUR_ORGANIZATION` with the name of your organization. For example, `octo-org`. Replace `YOUR_PROJECT_NUMBER` with your project number. To find the project number, look at the project URL. For example, `https://github.com/orgs/octo-org/projects/5` has a project number of 5. In order for this specific example to work, your project must also have a "Date posted" date field. {% ifversion ghes < 3.12 %}{% note %} diff --git a/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project.md b/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project.md index fa6d30a56e11..3d5a2c8cdce2 100644 --- a/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project.md +++ b/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project.md @@ -70,7 +70,7 @@ You can add multiple issues and pull requests from your project and use filters, You can also add issues and pull requests to your project from a repository's issue and pull request lists. -1. On {% data variables.location.product_location %}, navigate to the repository that contains the issues or pull requests you want to add to your project. +1. On {% data variables.product.prodname_dotcom %}, navigate to the repository that contains the issues or pull requests you want to add to your project. {% data reusables.repositories.sidebar-issue-pr %} 1. Select the issues or pull requests you want to add to your project. diff --git a/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md b/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md index c56818034c87..fb0216addfa3 100644 --- a/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md +++ b/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md @@ -22,7 +22,7 @@ To transfer an open issue to another repository, you must have write access to t {% endnote %} -When you transfer an issue, comments and assignees are retained. Labels and milestones are also retained if they're present in the target repository, with labels matching by name and milestones matching by both name and due date. This issue will stay on any user-owned or organization-wide {% data variables.projects.projects_v1_boards %} and be removed from any repository {% data variables.projects.projects_v1_boards %}. For more information, see "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." +When you transfer an issue, comments and assignees are retained. Labels and milestones are also retained if they're present in the target repository, with labels matching by name and milestones matching by both name and due date. {% ifversion projects-v1 %}This issue will stay on any user-owned or organization-wide {% data variables.projects.projects_v1_boards %} and be removed from any repository {% data variables.projects.projects_v1_boards %}. For more information, see "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)."{% endif %} People or teams who are mentioned in the issue will receive a notification letting them know that the issue has been transferred to a new repository. The original URL redirects to the new issue's URL. People who don't have read permissions in the new repository will see a banner letting them know that the issue has been transferred to a new repository that they can't access. diff --git a/content/issues/using-labels-and-milestones-to-track-work/filtering-issues-and-pull-requests-by-milestone.md b/content/issues/using-labels-and-milestones-to-track-work/filtering-issues-and-pull-requests-by-milestone.md index 73c2b73f969b..48785a6160db 100644 --- a/content/issues/using-labels-and-milestones-to-track-work/filtering-issues-and-pull-requests-by-milestone.md +++ b/content/issues/using-labels-and-milestones-to-track-work/filtering-issues-and-pull-requests-by-milestone.md @@ -32,5 +32,5 @@ shortTitle: Filter by milestone ## Further reading -* "[AUTOTITLE](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests)" -* "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/filtering-cards-on-a-project-board)" +* "[AUTOTITLE](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests)"{% ifversion projects-v1 %} +* "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/filtering-cards-on-a-project-board)"{% endif %} diff --git a/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md index 410d9f7c355b..6294f512117c 100644 --- a/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md +++ b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md @@ -31,7 +31,6 @@ Pull requests | {% octicon "check" aria-label="Can be migrated" %} | {% octicon Issues | {% octicon "check" aria-label="Can be migrated" %} | {% octicon "check" aria-label="Can be migrated" %} | Milestones | {% octicon "check" aria-label="Can be migrated" %} | {% octicon "check" aria-label="Can be migrated" %} | Wikis | {% octicon "check" aria-label="Can be migrated" %} | {% octicon "check" aria-label="Can be migrated" %} | -Projects (classic) at the repository level | {% octicon "check" aria-label="Can be migrated" %} | {% octicon "check" aria-label="Can be migrated" %} | {% data variables.product.prodname_actions %} workflows | {% octicon "check" aria-label="Can be migrated" %} | {% octicon "check" aria-label="Can be migrated" %} | Commit comments | {% octicon "check" aria-label="Can be migrated" %} | {% octicon "check" aria-label="Can be migrated" %} | Active webhooks | {% octicon "check" aria-label="Can be migrated" %} | {% octicon "check" aria-label="Can be migrated" %} | @@ -95,7 +94,6 @@ When you migrate a repository, either directly or as part of an organization mig * Issues * Milestones * Wikis (excluding attachments) -* Projects (classic) at the repository level * {% data variables.product.prodname_actions %} workflows * Commit comments * Active webhooks (must be re-enabled after your migration, see "[Enabling webhooks](/migrations/using-github-enterprise-importer/migrating-between-github-products/overview-of-a-migration-between-github-products#enabling-webhooks)") diff --git a/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md b/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md index 6225f901b9bb..50b6a0853bf1 100644 --- a/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md +++ b/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md @@ -19,7 +19,7 @@ topics: You can invite people to join your organization, then give these organization members a variety of roles that grant different levels of access to the organization and its data. For more information, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)." If an organization exceeds 100,000 members, some UI experiences and API functionality may be degraded. -In addition to managing access to the organization itself, you can separately manage access to your organization's repositories, projects, and apps. For more information, see "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization)", "[AUTOTITLE](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)", and "[AUTOTITLE](/organizations/managing-programmatic-access-to-your-organization)." +In addition to managing access to the organization itself, you can separately manage access to your organization's repositories, projects, and apps. For more information, see "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization)", {% ifversion projects-v1 %}"[AUTOTITLE](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)",{% endif %} and "[AUTOTITLE](/organizations/managing-programmatic-access-to-your-organization)." To simplify access management and enhance collaboration, you can create nested teams that reflect your group's structure, with cascading access permissions and mentions. For more information, see "[AUTOTITLE](/organizations/organizing-members-into-teams/about-teams)." @@ -38,12 +38,11 @@ To learn how to use organizations most effectively, see "[AUTOTITLE](/organizati ## Organizations and enterprise accounts - + {% ifversion ghec %} -> [!NOTE] Starting September 3, 2024, {% data variables.product.prodname_ghe_cloud %} customers who use a single organization will be automatically upgraded to an enterprise account at no additional cost. For details, see "[AUTOTITLE](/admin/managing-your-enterprise-account/creating-an-enterprise-account#what-will-happen-after-i-upgrade-my-organization)." +> [!NOTE] Currently, {% data variables.product.prodname_ghe_cloud %} customers who use a single organization are being automatically upgraded to an enterprise account at no additional cost. For details, see "[AUTOTITLE](/admin/managing-your-enterprise-account/creating-an-enterprise-account#what-will-happen-after-i-upgrade-my-organization)." {% endif %} - - + {% ifversion fpt %} Enterprise accounts are a feature of {% data variables.product.prodname_ghe_cloud %} that allow owners to centrally manage policy and billing for multiple organizations. For more information, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/organizations/collaborating-with-groups-in-organizations/about-organizations). diff --git a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md index cb8d026c8bcb..6b845da2c9ee 100644 --- a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md +++ b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md @@ -12,12 +12,12 @@ topics: shortTitle: 2FA & SAML single sign-on --- -Two-factor authentication (2FA) provides basic authentication for organization members. By enabling 2FA, organization owners limit the likelihood that a member's account on {% data variables.location.product_location %} could be compromised. For more information on 2FA, see "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication)." +Two-factor authentication (2FA) provides basic authentication for organization members. By enabling 2FA, organization owners limit the likelihood that a member's account on {% data variables.product.prodname_dotcom %} could be compromised. For more information on 2FA, see "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication)." To add additional authentication measures, organization owners can also [enable SAML single sign-on (SSO)](/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization) so that organization members must use single sign-on to access an organization. For more information on SAML SSO, see "[AUTOTITLE](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on)." If both 2FA and SAML SSO are enabled, organization members must do the following: -* Use 2FA to log in to their account on {% data variables.location.product_location %} +* Use 2FA to log in to their account on {% data variables.product.prodname_dotcom %} * Use single sign-on to access the organization * Use an authorized token for API or Git access and use single sign-on to authorize the token diff --git a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md index 12985ea6e942..02d4b6e3cc2d 100644 --- a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md +++ b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md @@ -16,7 +16,7 @@ shortTitle: Manage SAML access ## About SAML access to your organization -When you enable SAML single sign-on for your organization, each organization member can link their external identity on your identity provider (IdP) to their existing account on {% data variables.location.product_location %}. To access your organization's resources on {% data variables.product.product_name %}, the member must have an active SAML session in their browser. To access your organization's resources using the API or Git, the member must use a {% data variables.product.pat_generic %} or SSH key that the member has authorized for use with your organization. +When you enable SAML single sign-on for your organization, each organization member can link their external identity on your identity provider (IdP) to their existing account on {% data variables.product.prodname_dotcom %}. To access your organization's resources on {% data variables.product.product_name %}, the member must have an active SAML session in their browser. To access your organization's resources using the API or Git, the member must use a {% data variables.product.pat_generic %} or SSH key that the member has authorized for use with your organization. You can view and revoke each member's linked identity, active sessions, and authorized credentials on the same page. diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md b/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md index bca5e341b55a..70349b285d27 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md @@ -5,9 +5,7 @@ redirect_from: - /articles/adding-an-outside-collaborator-to-a-project-board-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/adding-an-outside-collaborator-to-a-project-board-in-your-organization versions: - fpt: '*' - ghes: '*' - ghec: '*' + feature: projects-v1 topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/index.md b/content/organizations/managing-access-to-your-organizations-project-boards/index.md index 403ad15e3558..59b2613fea35 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/index.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/index.md @@ -6,9 +6,7 @@ redirect_from: - /articles/managing-access-to-your-organizations-project-boards - /github/setting-up-and-managing-organizations-and-teams/managing-access-to-your-organizations-project-boards versions: - fpt: '*' - ghes: '*' - ghec: '*' + feature: projects-v1 topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md b/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md index ede2ef569b36..d8994159e53b 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md @@ -5,9 +5,7 @@ redirect_from: - /articles/managing-access-to-a-project-board-for-organization-members - /github/setting-up-and-managing-organizations-and-teams/managing-access-to-a-project-board-for-organization-members versions: - fpt: '*' - ghes: '*' - ghec: '*' + feature: projects-v1 topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md b/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md index 8d9efaae0a14..932312aa1e23 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md @@ -6,9 +6,7 @@ redirect_from: - /articles/managing-an-individuals-access-to-an-organization-project-board - /github/setting-up-and-managing-organizations-and-teams/managing-an-individuals-access-to-an-organization-project-board versions: - fpt: '*' - ghes: '*' - ghec: '*' + feature: projects-v1 topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md b/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md index a72be9db4226..44213f1de979 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md @@ -5,9 +5,7 @@ redirect_from: - /articles/managing-team-access-to-an-organization-project-board - /github/setting-up-and-managing-organizations-and-teams/managing-team-access-to-an-organization-project-board versions: - fpt: '*' - ghes: '*' - ghec: '*' + feature: projects-v1 topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md b/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md index 991dd439267b..61dc2bcec1f2 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md @@ -5,9 +5,7 @@ redirect_from: - /articles/project-board-permissions-for-an-organization - /github/setting-up-and-managing-organizations-and-teams/project-board-permissions-for-an-organization versions: - fpt: '*' - ghes: '*' - ghec: '*' + feature: projects-v1 topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md b/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md index 1a66bf7e367e..328802be4c8e 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md @@ -5,9 +5,7 @@ redirect_from: - /articles/removing-an-outside-collaborator-from-an-organization-project-board - /github/setting-up-and-managing-organizations-and-teams/removing-an-outside-collaborator-from-an-organization-project-board versions: - fpt: '*' - ghes: '*' - ghec: '*' + feature: projects-v1 topics: - Organizations - Teams diff --git a/content/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization.md b/content/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization.md index ab826aeb2c7a..097493976bce 100644 --- a/content/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization.md +++ b/content/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization.md @@ -50,13 +50,13 @@ You can download a CSV or JSON file containing the membership information report ## Viewing members' email addresses -You may be able to view the email addresses for members of your organization on either {% data variables.location.product_location %} or an external identity system. The visibility of the email addresses depends on the organization's authentication configuration, domains, and potentially the member's user profile configuration. +You may be able to view the email addresses for members of your organization on either {% data variables.product.prodname_dotcom %} or an external identity system. The visibility of the email addresses depends on the organization's authentication configuration, domains, and potentially the member's user profile configuration. * If SAML single sign-on (SSO) is configured for your organization and the `NameID` for your SAML configuration is an email address, you can view the `NameID` for each of your organization members. * If you verify a domain for your organization, you can view members' email addresses for the verified domain. -* If you don't configure SAML SSO, members access your organization's resources on {% data variables.location.product_location %} solely using a personal account. {% data reusables.saml.personal-accounts-determine-email-visibility %} +* If you don't configure SAML SSO, members access your organization's resources on {% data variables.product.prodname_dotcom %} solely using a personal account. {% data reusables.saml.personal-accounts-determine-email-visibility %} If SAML SSO is configured for your organization, or if you have verified a domain, you may be able to view the email addresses in one or more of the following ways. diff --git a/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md b/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md index 0deeb972ffb3..cca395fe5760 100644 --- a/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md +++ b/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md @@ -1,6 +1,6 @@ --- title: Inviting users to join your organization -intro: 'You can invite anyone to become a member of your organization using their username or email address for {% data variables.location.product_location %}.' +intro: 'You can invite anyone to become a member of your organization using their username or email address for {% data variables.product.prodname_dotcom %}.' permissions: Organization owners can invite users to join an organization. redirect_from: - /articles/adding-or-inviting-members-to-a-team-in-an-organization diff --git a/content/organizations/managing-organization-settings/creating-rulesets-for-repositories-in-your-organization.md b/content/organizations/managing-organization-settings/creating-rulesets-for-repositories-in-your-organization.md index 2d6919b275eb..5b65ffb75060 100644 --- a/content/organizations/managing-organization-settings/creating-rulesets-for-repositories-in-your-organization.md +++ b/content/organizations/managing-organization-settings/creating-rulesets-for-repositories-in-your-organization.md @@ -17,8 +17,6 @@ You can create rulesets in your organization to control how users can interact w {% data reusables.repositories.rulesets-push-rulesets-intro %} -{% data reusables.repositories.rulesets-push-rules-beta-note %} - {% endif %} Forks do not inherit branch or tag rulesets from their upstream repositories. However, forks owned by your organization are subject to the rulesets you create, like any other repository. @@ -88,9 +86,7 @@ To import one of the prebuilt rulesets by {% data variables.product.prodname_dot ## Creating a push ruleset -{% data reusables.repositories.rulesets-push-rules-beta-note %} -> -> This ruleset will enforce push restrictions for this repository's entire fork network. +{% data reusables.repositories.push-rules-fork-network-note %} You can create a push ruleset for private or internal repositories in your organization. diff --git a/content/organizations/managing-organization-settings/deleting-an-organization-account.md b/content/organizations/managing-organization-settings/deleting-an-organization-account.md index 9311e9f97cab..c46f739e579f 100644 --- a/content/organizations/managing-organization-settings/deleting-an-organization-account.md +++ b/content/organizations/managing-organization-settings/deleting-an-organization-account.md @@ -1,6 +1,6 @@ --- title: Deleting an organization account -intro: 'You can delete your organization account on {% data variables.location.product_location %} at any time.' +intro: 'You can delete your organization account at any time.' permissions: Organization owners can delete an organization. redirect_from: - /articles/deleting-an-organization-account diff --git a/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md b/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md index d11eeb23c47d..8cde2773ee54 100644 --- a/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md +++ b/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md @@ -55,7 +55,7 @@ You can control whether organization members can create {% data variables.projec ## Further reading {% ifversion projects-v2 %}- "[AUTOTITLE](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)"{% endif %} -* "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)" +{% ifversion projects-v1 %}* "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)" * "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board)" -* "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board)" +* "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board)"{% endif %} * "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-project-boards-in-a-repository)" diff --git a/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md b/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md index 47f6cb016d16..3ef548a149cc 100644 --- a/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md +++ b/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md @@ -1,6 +1,6 @@ --- title: Managing the default branch name for repositories in your organization -intro: 'You can set the default branch name for repositories that members create in your organization on {% data variables.location.product_location %}.' +intro: 'You can set the default branch name for repositories that members create in your organization on {% data variables.product.prodname_dotcom %}.' redirect_from: - /github/setting-up-and-managing-organizations-and-teams/managing-the-default-branch-name-for-repositories-in-your-organization permissions: Organization owners can manage the default branch name for new repositories in the organization. diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles.md index 8029172703a6..9c4ab06860c4 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles.md @@ -1,6 +1,6 @@ --- title: About custom organization roles -intro: "You can control access to your organization's settings with custom organization roles." +intro: "You can control access to your {% ifversion org-custom-role-with-repo-permissions %}organization and repository's{% else %} organization's{% endif %} settings with custom organization roles." versions: feature: 'custom-org-roles' topics: @@ -10,20 +10,28 @@ permissions: 'Organization owners and users with the "Manage custom organization product: 'Organizations on {% data variables.product.prodname_ghe_cloud %}{% ifversion ghes %} and {% data variables.product.prodname_ghe_server %}{% endif %}' --- -## About custom organization roles - {% data reusables.organizations.custom-org-roles-intro %} -You can create and assign custom organization roles in your organization's settings. You can also manage custom roles using the REST API. For more information, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-organization-roles)." +You can create and assign custom organization roles in your organization's settings. You can also manage custom roles using the REST API. See "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-organization-roles)." -Organization permissions do not grant read, write, or administrator access to any repositories. Some permissions may implicitly grant visibility of repository metadata, as marked in the table below. +{% ifversion org-custom-role-with-repo-permissions %} + +You can also create a custom organization role that includes permissions for repositories. Repository permissions grant access to all current and future repositories in the organization. There are several ways to combine permissions for repositories and organizations. You can create a custom organization role with: + +You can create a role that includes permissions for organization settings, a base role for repository access, or both. If you add a base role for repository access, you can also include additional repository permissions. You can't create a role with repository permissions unless it includes a base repository role. Without repository permissions or a base repository role, the organization role doesn't grant access to any repositories. + +>[!NOTE] Adding repository permissions to a custom organization role is currently in public beta and subject to change. + +{% endif %} -To granularly control access to your organization's repositories, you can create a custom repository role. For more information, see "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/about-custom-repository-roles)." +To grant access to **specific** repositories in your organization, you can create a custom repository role. See "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/about-custom-repository-roles)." -## Permissions for custom roles +## Permissions for organization access When you include a permission in a custom organization role, any users with that role will have access to the corresponding settings via both the web browser and API. In the organization's settings in the browser, users will see only the pages for settings they can access. +Organization permissions do not grant read, write, or administrator access to any repositories. Some permissions may implicitly grant visibility of repository metadata, as marked in the table below. + {% rowheaders %} | Permission | Description | More information | @@ -49,7 +57,38 @@ Manage organization OAuth application policies | Access to the "OAuth applicatio | Manage organization Actions secrets | Access to create and manage Actions organization secrets. | "[AUTOTITLE](/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-an-organization)" | | Manage organization Actions variables | Access to create and manage Actions organization variables. | "[AUTOTITLE](/actions/learn-github-actions/variables#creating-configuration-variables-for-an-organization)" | | {% ifversion actions-usage-metrics %} | -| View organization Actions usage metrics | View {% data variables.product.prodname_actions %} usage metrics for your organization. | "[AUTOTITLE](/organizations/collaborating-with-groups-in-organizations/viewing-usage-metrics-for-github-actions)" | +| View organization Actions metrics | View {% data variables.product.prodname_actions %} usage metrics for your organization. | "[AUTOTITLE](/organizations/collaborating-with-groups-in-organizations/viewing-usage-metrics-for-github-actions)" | +| {% endif %} | +| {% ifversion push-protection-bypass-fine-grained-permissions %} | +| Review and manage {% data variables.product.prodname_secret_scanning %} bypass requests | Review and manage {% data variables.product.prodname_secret_scanning %} bypass requests for your organization. | "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection)" | | {% endif %} | {% endrowheaders %} + +{% ifversion org-custom-role-with-repo-permissions %} + +## Base roles for repository access + +The base repository role determines the initial set of permissions included in the custom role. Repository access is granted across **all** current and future repositories in the organization. + +The base repository roles are: + +* **Read**: Grants read access to all repositories in the organization. +* **Write**: Grants write access to all repositories in the organization. +* **Triage**: Grants triage access to all repositories in the organization. +* **Maintain**: Grants maintenance access to all repositories in the organization. +* **Admin**: Grants admin access to all repositories in the organization. + +## Additional permissions for repository access + +After choosing a base repository role, you can select additional permissions for your custom organization role. + +You can only choose an additional permission if it's not already included in the base repository role. For example, if the base role offers **Write** access to a repository, then the "Close a pull request" permission will already be included in the base role. + +{% data reusables.organizations.additional-permissions %} + +## Precedence for different levels of access + +{% data reusables.organizations.precedence-for-different-levels %} + +{% endif %} diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md index 8b5eb8c34a71..53adf95a2252 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md @@ -14,9 +14,9 @@ topics: - Teams children: - /roles-in-an-organization + - /using-organization-roles - /about-custom-organization-roles - /managing-custom-organization-roles - - /using-organization-roles - /maintaining-ownership-continuity-for-your-organization - /adding-a-billing-manager-to-your-organization - /removing-a-billing-manager-from-your-organization diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md index 3e0d78508db1..022eeb18b75a 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md @@ -150,7 +150,9 @@ Some of the features listed below are limited to organizations using {% data var | Delete the organization account, including all repositories | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | | Create teams (see "[AUTOTITLE](/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization)") | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | | [Move teams in an organization's hierarchy](/organizations/organizing-members-into-teams/moving-a-team-in-your-organizations-hierarchy) | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | +| {% ifversion projects-v1 %} | | Create projects (see "[AUTOTITLE](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)") | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | +| {% endif %} | | See all organization members and teams | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | | @mention any visible team | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | | Can be made a _team maintainer_ | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | @@ -205,6 +207,9 @@ Some of the features listed below are limited to organizations using {% data var | {% ifversion repo-rules-enterprise %} | | Manage organization-level rulesets (see "[AUTOTITLE](/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization)") | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | | {% endif %} | +| {% ifversion push-protection-bypass-fine-grained-permissions %} | +| Review and manage {% data variables.product.prodname_secret_scanning %} bypass requests (see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection)") | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | +| {% endif %} | {% endrowheaders %} @@ -244,7 +249,9 @@ Some of the features listed below are limited to organizations using {% data var | Manage {% data variables.product.prodname_dependabot_security_updates %} (see "[AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates)") | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | | {% endif %} | | Manage an organization's SSH certificate authorities (see "[AUTOTITLE](/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities)") | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | +| {% ifversion projects-v1 %} | | Create {% data variables.projects.projects_v1_boards %} (see "[AUTOTITLE](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)") | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | +| {% endif %} | | {% ifversion team-discussions %} | | View and post public team discussions to **all teams** (see "[AUTOTITLE](/organizations/collaborating-with-your-team/about-team-discussions)") | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | | View and post private team discussions to **all teams** (see "[AUTOTITLE](/organizations/collaborating-with-your-team/about-team-discussions)") | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | @@ -300,7 +307,9 @@ Some of the features listed below are limited to organizations using {% data var | Can be made a _team maintainer_ | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | | Transfer repositories | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | | Manage an organization's SSH certificate authorities (see "[AUTOTITLE](/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities)") | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | +| {% ifversion projects-v1 %} | | Create {% data variables.projects.projects_v1_boards %} (see "[AUTOTITLE](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)") | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | +| {% endif %} | | {% ifversion team-discussions %} | | View and post public team discussions to **all teams** (see "[AUTOTITLE](/organizations/collaborating-with-your-team/about-team-discussions)") | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | | View and post private team discussions to **all teams** (see "[AUTOTITLE](/organizations/collaborating-with-your-team/about-team-discussions)") | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | @@ -327,5 +336,5 @@ Some of the features listed below are limited to organizations using {% data var ## Further reading -* "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization)" -* "[AUTOTITLE](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)" +* "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization)"{% ifversion projects-v1 %} +* "[AUTOTITLE](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)"{% endif %} diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles.md index 58d884bad354..10217b1e1dd8 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles.md @@ -2,7 +2,9 @@ title: Using organization roles intro: "Learn how to{% ifversion org-pre-defined-roles %} view organization role permissions and{% endif %} manage organization role assignments." versions: - feature: 'custom-org-roles' + fpt: '*' + ghec: '*' + ghes: '>=3.14' topics: - Organizations - Access management @@ -10,7 +12,7 @@ topics: - Permissions permissions: 'Organization owners{% ifversion ghec %} and users with the "Manage custom organization roles" permission{% endif %}' product: 'Organizations on {% data variables.product.prodname_free_team %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_ghe_server %}' -shortTitle: Using organization roles +shortTitle: Use organization roles --- ## About organization roles diff --git a/content/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization.md b/content/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization.md index ed15491cf735..3f63aa5bd14b 100644 --- a/content/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization.md +++ b/content/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization.md @@ -51,7 +51,8 @@ Organization owners can prevent {% data variables.product.pat_v1_plural %} from {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} 1. In the left sidebar, under **{% octicon "key" aria-hidden="true" %} {% data variables.product.pat_generic_caps %}s**, click **Settings**. -1. Under **{% data variables.product.pat_v1_caps %}**, select the option that meets your needs: +{% ifversion tabbed-pat-settings-ui %} 1. Select the **Tokens (classic)** tab to access the {% data variables.product.pat_v1_plural %} settings. +{% endif %}1. Under **{% data variables.product.pat_v1_caps %}**, select the option that meets your needs: * **Allow access via {% data variables.product.pat_v1_plural %}**: {% data variables.product.pat_v1_caps_plural %} can access resources owned by the organization. * **Restrict access via {% data variables.product.pat_v1_plural %}**: {% data variables.product.pat_v1_caps_plural %} cannot access resources owned by the organization. SSH keys created by {% data variables.product.pat_v1_plural %} will continue to work. 1. Click **Save**. diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md index b31e8d0cff7f..836f7a775228 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md @@ -34,7 +34,7 @@ Members must periodically authenticate with your IdP to authenticate and gain ac To access the organization's protected resources using the API and Git on the command line, members must authorize and authenticate with a {% data variables.product.pat_generic %} or SSH key. For more information, see "[AUTOTITLE](/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)" and "[AUTOTITLE](/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)." -The first time a member uses SAML SSO to access your organization, {% data variables.product.prodname_dotcom %} automatically creates a record that links your organization, the member's account on {% data variables.location.product_location %}, and the member's account on your IdP. You can view and revoke the linked SAML identity, active sessions, and authorized credentials for members of your organization or enterprise account. For more information, see "[AUTOTITLE](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization)" and "[AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise)." +The first time a member uses SAML SSO to access your organization, {% data variables.product.prodname_dotcom %} automatically creates a record that links your organization, the member's account on {% data variables.product.prodname_dotcom %}, and the member's account on your IdP. You can view and revoke the linked SAML identity, active sessions, and authorized credentials for members of your organization or enterprise account. For more information, see "[AUTOTITLE](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization)" and "[AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise)." If members are signed in with a SAML SSO session when they create a new repository, the default visibility of that repository is private. Otherwise, the default visibility is public. For more information on repository visibility, see "[AUTOTITLE](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)." diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md index 6982532fe4c0..2fc4edda84ca 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md @@ -1,6 +1,6 @@ --- title: Configuring SAML single sign-on and SCIM using Okta -intro: 'You can use Security Assertion Markup Language (SAML) single sign-on (SSO) and System for Cross-domain Identity Management (SCIM) with Okta to automatically manage access to your organization on {% data variables.location.product_location %}.' +intro: 'You can use Security Assertion Markup Language (SAML) single sign-on (SSO) and System for Cross-domain Identity Management (SCIM) with Okta to automatically manage access to your organization on {% data variables.product.prodname_dotcom %}.' redirect_from: - /github/setting-up-and-managing-organizations-and-teams/configuring-saml-single-sign-on-and-scim-using-okta permissions: Organization owners can configure SAML SSO and SCIM using Okta for an organization. @@ -14,20 +14,20 @@ shortTitle: Configure SAML & SCIM with Okta ## About SAML and SCIM with Okta -You can control access to your organization on {% data variables.location.product_location %} and other web applications from one central interface by configuring the organization to use SAML SSO and SCIM with Okta, an Identity Provider (IdP). +You can control access to your organization on {% data variables.product.prodname_dotcom %} and other web applications from one central interface by configuring the organization to use SAML SSO and SCIM with Okta, an Identity Provider (IdP). {% data reusables.saml.ghec-only %} -SAML SSO controls and secures access to organization resources like repositories, issues, and pull requests. SCIM automatically adds, manages, and removes members' access to your organization on {% data variables.location.product_location %} when you make changes in Okta. For more information, see "[AUTOTITLE](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on)" and "[AUTOTITLE](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)." +SAML SSO controls and secures access to organization resources like repositories, issues, and pull requests. SCIM automatically adds, manages, and removes members' access to your organization on {% data variables.product.prodname_dotcom %} when you make changes in Okta. For more information, see "[AUTOTITLE](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on)" and "[AUTOTITLE](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)." After you enable SCIM, the following provisioning features are available for any users that you assign your {% data variables.product.prodname_ghe_cloud %} application to in Okta. | Feature | Description | | --- | --- | -| Push New Users | When you create a new user in Okta, the user will receive an email to join your organization on {% data variables.location.product_location %}. | -| Push User Deactivation | When you deactivate a user in Okta, Okta will remove the user from your organization on {% data variables.location.product_location %}. | -| Push Profile Updates | When you update a user's profile in Okta, Okta will update the metadata for the user's membership in your organization on {% data variables.location.product_location %}. | -| Reactivate Users | When you reactivate a user in Okta, Okta will send an email invitation for the user to rejoin your organization on {% data variables.location.product_location %}. | +| Push New Users | When you create a new user in Okta, the user will receive an email to join your organization on {% data variables.product.prodname_dotcom %}. | +| Push User Deactivation | When you deactivate a user in Okta, Okta will remove the user from your organization on {% data variables.product.prodname_dotcom %}. | +| Push Profile Updates | When you update a user's profile in Okta, Okta will update the metadata for the user's membership in your organization on {% data variables.product.prodname_dotcom %}. | +| Reactivate Users | When you reactivate a user in Okta, Okta will send an email invitation for the user to rejoin your organization on {% data variables.product.prodname_dotcom %}. | Alternatively, you can configure SAML SSO for an enterprise using Okta. SCIM for enterprise accounts is only available with Enterprise Managed Users. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise-using-okta)" and "[AUTOTITLE](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-scim-provisioning-for-enterprise-managed-users-with-okta)." diff --git a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/about-custom-repository-roles.md b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/about-custom-repository-roles.md index b6626593849e..acbfe7611734 100644 --- a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/about-custom-repository-roles.md +++ b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/about-custom-repository-roles.md @@ -30,7 +30,9 @@ You can also use the REST API to create and manage custom repository roles. For {% endif %} {% ifversion custom-org-roles %} -Custom repository roles manage access to repositories in your organization. To granularly control access to your organization's administration settings, you can use custom organization roles. For more information, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." +Custom repository roles manage access to specific repositories in your organization. To {% ifversion org-custom-role-with-repo-permissions %}grant access to all repositories, and to {% endif %}control access to your organization's administration settings, you can use custom organization roles. See "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + +Custom organization roles differ from repository roles by granting permissions across **all** current and future repositories in the organization. Custom repository roles, however, allow you to grant permissions to **specific** repositories within the organization. {% endif %} ## About the inherited role @@ -62,79 +64,8 @@ After choosing an inherited role, you can select additional permissions for your You can only choose an additional permission if it's not already included in the inherited role. For example, if the inherited role offers **Write** access to a repository, then the "Close a pull request" permission will already be included in the inherited role. -{% ifversion discussions %} - -### Discussions - -* Create a discussion category -* Edit a discussion category -* Delete a discussion category -* Mark or unmark discussion answers -* Hide or unhide discussion comments -* Convert issues to discussions - -For more information, see "[AUTOTITLE](/discussions)." -{% endif %} - -### Issue and Pull Requests - -* Assign or remove a user -* Add or remove a label - -### Issue - -* Close an issue -* Reopen a closed issue -* Delete an issue -* Mark an issue as a duplicate - -### Pull Request - -* Close a pull request -* Reopen a closed pull request -* Request a pull request review - -### Repository - -* Set milestones -* Manage wiki settings -* Manage project settings -* Manage pull request merging settings -* Manage {% data variables.product.prodname_pages %} settings (see "[AUTOTITLE](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)") -* Manage webhooks -* Manage deploy keys -* Edit repository metadata -{%- ifversion ghec %} -* Set interaction limits -{%- endif %} -* Set the social preview -* Push commits to protected branches - * Base role must be `write` - * Branch protection rules will still apply -* Create protected tags -* Delete protected tags -* Bypass branch protections -{%- ifversion edit-repository-rules %} -* Edit repository rules -{%- endif %} - -### Security - -* View {% data variables.product.prodname_code_scanning %} results -* Dismiss or reopen {% data variables.product.prodname_code_scanning %} results -* Delete {% data variables.product.prodname_code_scanning %} results -* View {% data variables.product.prodname_dependabot_alerts %} -* Dismiss or reopen {% data variables.product.prodname_dependabot_alerts %} -* View {% data variables.product.prodname_secret_scanning %} results -* Dismiss or reopen {% data variables.product.prodname_secret_scanning %} results +{% data reusables.organizations.additional-permissions %} ## Precedence for different levels of access -If a person is given different levels of access through different avenues, such as team membership and the base permissions for an organization, the highest access overrides the others. For example, if an organization owner gives an organization member a custom role that uses the "Read" inherited role, and then an organization owner sets the organization's base permission to "Write", then this custom role will have write access, along with any additional permissions included in the custom role. - -{% data reusables.organizations.mixed-roles-warning %} - -To resolve conflicting access, you can adjust your organization's base permissions or the team's access, or edit the custom role. For more information, see: -* "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization)" -* "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository)" -* "[Editing a repository role](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-custom-repository-roles-for-an-organization#editing-a-repository-role)" +{% data reusables.organizations.precedence-for-different-levels %} diff --git a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md index 519a1897ea52..8f869b19e3e7 100644 --- a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md +++ b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md @@ -125,11 +125,13 @@ Some of the features listed below are limited to organizations using {% data var | Manage [branch protection rules](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule){% ifversion repo-rules %} and [repository rulesets](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets){% endif %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | | {% ifversion repo-rules %} | | View [rulesets for a repository](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets) | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | -| {%- endif %} | +| {% endif %} | | [Push to protected branches](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches) | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | | Merge pull requests on protected branches, even if there are no approving reviews | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | +| {% ifversion ghes < 3.16 %} | | Create tags that match a [tag protection rule](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules) | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | | Delete tags that match a [tag protection rule](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules) | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | +| {% endif %} | | [Create and edit repository social cards](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/customizing-your-repositorys-social-media-preview) | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | | {% ifversion fpt or ghec %} | | Limit [interactions in a repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)| {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | @@ -211,5 +213,5 @@ In this section, you can find the access required for security features, such as ## Further reading * "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories)" -* "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization)" -* "[AUTOTITLE](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)" +* "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization)"{% ifversion projects-v1 %} +* "[AUTOTITLE](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)"{% endif %} diff --git a/content/pages/getting-started-with-github-pages/about-github-pages.md b/content/pages/getting-started-with-github-pages/about-github-pages.md index 9add97fc78b4..98738533c886 100644 --- a/content/pages/getting-started-with-github-pages/about-github-pages.md +++ b/content/pages/getting-started-with-github-pages/about-github-pages.md @@ -1,6 +1,6 @@ --- title: About GitHub Pages -intro: 'You can use {% data variables.product.prodname_pages %} to host a website about yourself, your organization, or your project directly from a repository on {% data variables.location.product_location %}.' +intro: 'You can use {% data variables.product.prodname_pages %} to host a website about yourself, your organization, or your project directly from a repository on {% data variables.product.prodname_dotcom %}.' redirect_from: - /articles/what-are-github-pages - /articles/what-is-github-pages diff --git a/content/pages/index.md b/content/pages/index.md index 9d0b31ae82eb..03976f514af5 100644 --- a/content/pages/index.md +++ b/content/pages/index.md @@ -1,7 +1,7 @@ --- title: "{% data variables.product.prodname_pages %} documentation" shortTitle: "{% data variables.product.prodname_pages %}" -intro: 'Learn how to create a website directly from a repository on {% data variables.location.product_location %}. Explore website building tools like Jekyll and troubleshoot issues with your {% data variables.product.prodname_pages %} site.' +intro: 'Learn how to create a website directly from a repository on {% data variables.product.prodname_dotcom %}. Explore website building tools like Jekyll and troubleshoot issues with your {% data variables.product.prodname_pages %} site.' introLinks: quickstart: /pages/quickstart overview: /pages/getting-started-with-github-pages/about-github-pages diff --git a/content/pull-requests/collaborating-with-pull-requests/getting-started/best-practices-for-pull-requests.md b/content/pull-requests/collaborating-with-pull-requests/getting-started/best-practices-for-pull-requests.md index 0b9310f12c8a..5d501fb0b8d9 100644 --- a/content/pull-requests/collaborating-with-pull-requests/getting-started/best-practices-for-pull-requests.md +++ b/content/pull-requests/collaborating-with-pull-requests/getting-started/best-practices-for-pull-requests.md @@ -60,8 +60,6 @@ You can use protected branches to prevent pull requests from being merged into i ### Use push rulesets -{% data reusables.repositories.rulesets-push-rules-beta-note %} - {% data reusables.repositories.push-rulesets-overview %} For more information, see "[AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets#push-rulesets)." diff --git a/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md b/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md index 403e64204fbe..0ea8cda153e7 100644 --- a/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md +++ b/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md @@ -56,17 +56,17 @@ Because this commit is only on the base branch and not the head branch, the comm {% data reusables.pull_requests.rebase_and_merge_summary %} -You aren't able to automatically rebase and merge on {% data variables.location.product_location %} when: +You aren't able to automatically rebase and merge when: * The pull request has merge conflicts. * Rebasing the commits from the base branch into the head branch runs into conflicts. * Rebasing the commits is considered "unsafe," such as when a rebase is possible without merge conflicts but would produce a different result than a merge would. -If you still want to rebase the commits but can't rebase and merge automatically on {% data variables.location.product_location %} you must: +If you still want to rebase the commits but can't rebase and merge automatically, you must: * Rebase the topic branch (or head branch) onto the base branch locally on the command line * [Resolve any merge conflicts on the command line](/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line). * Force-push the rebased commits to the pull request's topic branch (or remote head branch). -Anyone with write permissions in the repository, can then [merge the changes](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request) using the rebase and merge button on {% data variables.location.product_location %}. +Anyone with write permissions in the repository, can then [merge the changes](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request) using the rebase and merge button. ## Indirect merges diff --git a/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md b/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md index 826b88f91591..269f4d90830d 100644 --- a/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md +++ b/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md @@ -176,8 +176,8 @@ For more information on creating pull requests in {% data variables.product.prod * "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork)" * "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch)" -* "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request)" -* "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board#adding-issues-and-pull-requests-to-a-project-board-from-the-sidebar)" +* "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request)"{% ifversion projects-v1 %} +* "[AUTOTITLE](/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board#adding-issues-and-pull-requests-to-a-project-board-from-the-sidebar)"{% endif %} * "[AUTOTITLE](/issues/tracking-your-work-with-issues/creating-an-issue)" * "[AUTOTITLE](/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users)" * "[AUTOTITLE](/get-started/writing-on-github)" diff --git a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks.md b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks.md index f5ba8200a65c..60e2bf164c8f 100644 --- a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks.md +++ b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks.md @@ -44,8 +44,6 @@ Public forks do not inherit the permissions structure of the upstream repository ### About push rulesets for forked repositories -{% data reusables.repositories.rulesets-push-rules-beta-note %} - {% data reusables.repositories.rulesets-push-rulesets-fork-network-information %} For more information, see "[AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets#push-rulesets)." diff --git a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo.md b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo.md index c6f8d218ed1e..5e90c58ddba2 100644 --- a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo.md +++ b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo.md @@ -36,7 +36,7 @@ For example, you can use forks to propose changes related to fixing a bug. Rathe Open source software is based on the idea that by sharing code, we can make better, more reliable software. For more information, see the "[About the Open Source Initiative](https://opensource.org/about)" on the Open Source Initiative. -For more information about applying open source principles to your organization's development work on {% data variables.location.product_location %}, see {% data variables.product.prodname_dotcom %}'s white paper "[An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/)." +For more information about applying open source principles to your organization's development work on {% data variables.product.prodname_dotcom %}, see {% data variables.product.prodname_dotcom %}'s white paper "[An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/)." When creating your public repository from a fork of someone's project, make sure to include a license file that determines how you want your project to be shared with others. For more information, see "[Choose an open source license](https://choosealicense.com/)" at choosealicense.com. diff --git a/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md b/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md index 2ed6d72eeb3b..98f935c7c852 100644 --- a/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md +++ b/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md @@ -47,7 +47,7 @@ Organizations can use the `name@organization.com` email as a public point of con on-behalf-of: @ORG NAME@ORGANIZATION.COM" ``` -The new commit, message, and badge will appear on {% data variables.location.product_location %} the next time you push. For more information, see "[AUTOTITLE](/get-started/using-git/pushing-commits-to-a-remote-repository)." +The new commit, message, and badge will appear on {% data variables.product.prodname_dotcom %} the next time you push. For more information, see "[AUTOTITLE](/get-started/using-git/pushing-commits-to-a-remote-repository)." ## Creating commits with an `on-behalf-of` badge on {% data variables.product.product_name %} @@ -58,7 +58,7 @@ After you've made changes in a file using the web editor on {% data variables.pr 1. In the text box below your commit message, add `on-behalf-of: @org `. 1. Click **Commit changes** or **Propose changes**. -The new commit, message, and badge will appear on {% data variables.location.product_location %}. +The new commit, message, and badge will appear on {% data variables.product.prodname_dotcom %}. ## Further reading diff --git a/content/repositories/archiving-a-github-repository/backing-up-a-repository.md b/content/repositories/archiving-a-github-repository/backing-up-a-repository.md index 6a2ea46872c2..2712d7691fad 100644 --- a/content/repositories/archiving-a-github-repository/backing-up-a-repository.md +++ b/content/repositories/archiving-a-github-repository/backing-up-a-repository.md @@ -82,5 +82,5 @@ There is no supported, documented way to restore migration archives on {% data v A number of self-service tools exist that automate backups of repositories. Backup tools will download data from _specific_ repositories and organize it within a new branch or directory. -For more information about self-service backup tools, see the [Backup Utilities category on {% data variables.product.prodname_marketplace %}](https://github.com/marketplace?category=backup-utilities). +For more information about self-service backup tools, see the [Backup Utilities category on {% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=apps&category=backup-utilities). {% endif %} diff --git a/content/repositories/archiving-a-github-repository/referencing-and-citing-content.md b/content/repositories/archiving-a-github-repository/referencing-and-citing-content.md index 19e8a6dbd92f..e7520d4e464d 100644 --- a/content/repositories/archiving-a-github-repository/referencing-and-citing-content.md +++ b/content/repositories/archiving-a-github-repository/referencing-and-citing-content.md @@ -14,7 +14,7 @@ shortTitle: Reference & cite content --- ## Issuing a persistent identifier for your repository with Zenodo -To make your repositories easier to reference in academic literature, you can create persistent identifiers, also known as Digital Object Identifiers (DOIs). You can use the data archiving tool [Zenodo](https://about.zenodo.org/) to archive a repository on {% data variables.location.product_location %} and issue a DOI for the archive. +To make your repositories easier to reference in academic literature, you can create persistent identifiers, also known as Digital Object Identifiers (DOIs). You can use the data archiving tool [Zenodo](https://about.zenodo.org/) to archive a repository on {% data variables.product.prodname_dotcom %} and issue a DOI for the archive. {% tip %} diff --git a/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github.md b/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github.md index bf562305cdcf..10c24542c564 100644 --- a/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github.md +++ b/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github.md @@ -1,6 +1,6 @@ --- title: About merge methods on GitHub -intro: 'You can allow contributors with push access to your repository to merge their pull requests on {% data variables.location.product_location %} with different merge options or enforce a specific merge method for all of your repository''s pull requests.' +intro: 'You can allow contributors with push access to your repository to merge their pull requests with different merge options or enforce a specific merge method for all of your repository''s pull requests.' redirect_from: - /articles/about-merge-methods-on-github - /github/administering-a-repository/about-merge-methods-on-github @@ -43,9 +43,9 @@ For more information, see "[AUTOTITLE](/repositories/configuring-branches-and-me {% data reusables.pull_requests.rebase_and_merge_summary %} Before enabling commit rebasing, consider these disadvantages: -* Repository contributors may have to rebase on the command line, resolve any conflicts, and force push their changes to the pull request's topic branch (or remote head branch) before they can use the **rebase and merge** option on {% data variables.location.product_location %}. Force pushing must be done carefully so contributors don't overwrite work that others have based their work on. To learn more about when the **Rebase and merge** option is disabled on {% data variables.location.product_location %} and the workflow to re-enable it, see "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#rebase-and-merge-your-pull-request-commits)." +* Repository contributors may have to rebase on the command line, resolve any conflicts, and force push their changes to the pull request's topic branch (or remote head branch) before they can use the **rebase and merge** option on {% data variables.product.prodname_dotcom %}. Force pushing must be done carefully so contributors don't overwrite work that others have based their work on. To learn more about when the **Rebase and merge** option is disabled on {% data variables.product.prodname_dotcom %} and the workflow to re-enable it, see "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#rebase-and-merge-your-pull-request-commits)." * {% indented_data_reference reusables.pull_requests.rebase_and_merge_verification spaces=2 %} - + {% indented_data_reference reusables.pull_requests.rebase_and_merge_verification_2 spaces=2 %} For more information, see "[AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests)." diff --git a/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md b/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md index f6b165b6ccb6..685a05fe7e7d 100644 --- a/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md +++ b/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md @@ -1,6 +1,6 @@ --- title: Configuring commit rebasing for pull requests -intro: 'You can enforce, allow, or disable commit rebasing for all pull request merges on {% data variables.location.product_location %} in your repository.' +intro: 'You can enforce, allow, or disable commit rebasing for all pull request merges on {% data variables.product.prodname_dotcom %} in your repository.' redirect_from: - /articles/configuring-commit-rebasing-for-pull-requests - /github/administering-a-repository/configuring-commit-rebasing-for-pull-requests diff --git a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch.md b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch.md index 4998b91b5f0a..bae66a253b85 100644 --- a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch.md +++ b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch.md @@ -16,7 +16,7 @@ redirect_from: You can rename a branch in a repository on {% data variables.location.product_location %}. For more information about branches, see "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches)." -When you rename a branch on {% data variables.location.product_location %}, any URLs that contain the old branch name are automatically redirected to the equivalent URL for the renamed branch. Branch protection policies are also updated, as well as the base branch for open pull requests (including those for forks) and draft releases. If the renamed branch is the head branch of an open pull request, this pull request is closed. +When you rename a branch, any URLs that contain the old branch name are automatically redirected to the equivalent URL for the renamed branch. Branch protection policies are also updated, as well as the base branch for open pull requests (including those for forks) and draft releases. If the renamed branch is the head branch of an open pull request, this pull request is closed. If a repository's default branch is renamed, {% data variables.product.prodname_dotcom %} provides instructions on the repository's home page directing contributors to update their local Git environments. diff --git a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets.md b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets.md index c373bc8591bd..71ba84bc5f98 100644 --- a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets.md +++ b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets.md @@ -26,8 +26,6 @@ For organizations on the {% data variables.product.prodname_enterprise %} and {% You can use rulesets to target branches or tags in a repository or to block pushes to a repository and the repository's entire fork network. -{% data reusables.repositories.rulesets-push-rules-beta-note %} - {% endif %} {% ifversion push-rule-delegated-bypass %} @@ -46,24 +44,35 @@ For each ruleset you create, you specify which branches or tags in your reposito ### Push rulesets -{% data reusables.repositories.rulesets-push-rules-beta-note %} - {% data reusables.repositories.push-rulesets-overview %} {% endif %} +{% ifversion ghes < 3.16 %} + ## About rulesets, protected branches, and protected tags -Rulesets work alongside any branch protection rules and tag protection rules in a repository. Many of the rules you can define in rulesets are similar to protection rules, and you can start using rulesets without overriding any of your existing protection rules. +{% else %} + +## About rulesets and protected branches + +{% endif %} + +Rulesets work alongside any branch protection rules{% ifversion ghes < 3.16 %} and tag protection rules{% endif %} in a repository. Many of the rules you can define in rulesets are similar to protection rules, and you can start using rulesets without overriding any of your existing protection rules. + +{% ifversion ghes < 3.16 %} -{% ifversion tag-protection-rules-import %}Additionally, you can import existing tag protection rules into repository rulesets. This will implement the same tag protections you currently have in place for your repository. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules#about-importing-tag-protection-rules-to-repository-rulesets)."{% endif %} +Additionally, you can import existing tag protection rules into repository rulesets. This will implement the same tag protections you currently have in place for your repository. See "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules#about-importing-tag-protection-rules-to-repository-rulesets)." + +{% endif %} -Rulesets have the following advantages over branch and tag protection rules. +Rulesets have the following advantages over branch {% ifversion ghes < 3.16 %} +and tag{% endif %} protection rules. -* Unlike protection rules, multiple rulesets can apply at the same time, so you can be confident that every rule targeting a branch or tag in your repository will be evaluated when someone interacts with that branch or tag. For more information, see "[About rule layering](#about-rule-layering)." +* Unlike protection rules, multiple rulesets can apply at the same time, so you can be confident that every rule targeting a branch {% ifversion ghes < 3.16 %}or tag{% endif %} in your repository will be evaluated when someone interacts with that branch{% ifversion ghes < 3.16 %} or tag{% endif %}. See "[About rule layering](#about-rule-layering)." * Rulesets have statuses, so you can easily manage which rulesets are active in a repository without needing to delete rulesets. * Anyone with read access to a repository can view the active rulesets for the repository. This means a developer can understand why they have hit a rule, or an auditor can check the security constraints for the repository, without requiring admin access to the repository. -* You can create additional rules to control the metadata of commits entering a repository, such as the commit message and the author's email address. For more information, see "[AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets#metadata-restrictions){% ifversion ghec %}."{% else %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %} +* You can create additional rules to control the metadata of commits entering a repository, such as the commit message and the author's email address. See "[AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets#metadata-restrictions){% ifversion ghec %}."{% else %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %} ## Using ruleset enforcement statuses diff --git a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository.md b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository.md index 56c5dcd3e407..1787e463c7dc 100644 --- a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository.md +++ b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository.md @@ -18,8 +18,6 @@ You can create rulesets to control how users can interact with selected branches {% data reusables.repositories.rulesets-push-rulesets-intro %} -{% data reusables.repositories.rulesets-push-rules-beta-note %} - {% endif %} When you create a ruleset, you can allow certain users to bypass the rules in the ruleset. @@ -85,9 +83,7 @@ To import one of the prebuilt rulesets by {% data variables.product.prodname_dot ## Creating a push ruleset -{% data reusables.repositories.rulesets-push-rules-beta-note %} -> -> This ruleset will enforce push restrictions for this repository's entire fork network. +{% data reusables.repositories.push-rules-fork-network-note %} You can create a push ruleset for private or internal repositories. diff --git a/content/repositories/creating-and-managing-repositories/best-practices-for-repositories.md b/content/repositories/creating-and-managing-repositories/best-practices-for-repositories.md index 0d32342bf23d..a50f7f75b167 100644 --- a/content/repositories/creating-and-managing-repositories/best-practices-for-repositories.md +++ b/content/repositories/creating-and-managing-repositories/best-practices-for-repositories.md @@ -24,6 +24,6 @@ To maintain quality of important branches, such as `main`, while using a branchi ## Use {% data variables.large_files.product_name_long %} -To optimize performance, {% data variables.location.product_location %} limits the sizes of files allowed in repositories. For more information, see "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-large-files-on-github)." +To optimize performance, {% data variables.product.prodname_dotcom %} limits the sizes of files allowed in repositories. For more information, see "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-large-files-on-github)." To track large files in a Git repository, we recommend using {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}). For more information, see "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-git-large-file-storage)." diff --git a/content/repositories/creating-and-managing-repositories/cloning-a-repository.md b/content/repositories/creating-and-managing-repositories/cloning-a-repository.md index d0ad913e2ff3..e5910b9488e8 100644 --- a/content/repositories/creating-and-managing-repositories/cloning-a-repository.md +++ b/content/repositories/creating-and-managing-repositories/cloning-a-repository.md @@ -1,6 +1,6 @@ --- title: Cloning a repository -intro: 'When you create a repository on {% data variables.location.product_location %}, it exists as a remote repository. You can clone your repository to create a local copy on your computer and sync between the two locations.' +intro: 'When you create a repository on {% data variables.product.prodname_dotcom %}, it exists as a remote repository. You can clone your repository to create a local copy on your computer and sync between the two locations.' redirect_from: - /articles/cloning-a-repository - /articles/cloning-a-repository-from-github diff --git a/content/repositories/creating-and-managing-repositories/creating-a-new-repository.md b/content/repositories/creating-and-managing-repositories/creating-a-new-repository.md index 0e9bf0c9a473..8314c0ef0cbf 100644 --- a/content/repositories/creating-and-managing-repositories/creating-a-new-repository.md +++ b/content/repositories/creating-and-managing-repositories/creating-a-new-repository.md @@ -47,6 +47,8 @@ topics: * You can create a _.gitignore_ file, which is a set of ignore rules. For more information, see "[AUTOTITLE](/get-started/getting-started-with-git/ignoring-files)."{% ifversion fpt or ghec %} * You can choose to add a software license for your project. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)."{% endif %} {% data reusables.repositories.select-marketplace-apps %} +{%- ifversion custom-properties-on-create %} +1. If custom properties are required for repository creation, set the required properties for the repository. For more information, see "[AUTOTITLE](/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization)."{% endif %} {% data reusables.repositories.create-repo %} {% ifversion fpt or ghec %} 1. At the bottom of the resulting Quick Setup page, under "Import code from an old repository", you can choose to import a project to your new repository. To do so, click **Import code**. diff --git a/content/repositories/creating-and-managing-repositories/creating-a-template-repository.md b/content/repositories/creating-and-managing-repositories/creating-a-template-repository.md index 6ad11055cb40..496380d7e531 100644 --- a/content/repositories/creating-and-managing-repositories/creating-a-template-repository.md +++ b/content/repositories/creating-and-managing-repositories/creating-a-template-repository.md @@ -17,7 +17,7 @@ shortTitle: Create a template repo ## About template repositories -{% data reusables.repositories.about-template-repositories %}. +{% data reusables.repositories.about-template-repositories %} ## Creating a template repository diff --git a/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md b/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md index cc77c335dad4..e091dbf9b177 100644 --- a/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md +++ b/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md @@ -37,7 +37,7 @@ Before you can push the original repository to your new copy, or _mirror_, of th 1. Mirror-push to the new repository. ```shell - cd OLD-REPOSITORY.git + cd OLD-REPOSITORY git push --mirror https://{% data variables.product.product_url %}/EXAMPLE-USER/NEW-REPOSITORY.git ``` @@ -45,7 +45,7 @@ Before you can push the original repository to your new copy, or _mirror_, of th ```shell cd .. - rm -rf OLD-REPOSITORY.git + rm -rf OLD-REPOSITORY ``` ## Mirroring a repository that contains {% data variables.large_files.product_name_long %} objects @@ -60,7 +60,7 @@ Before you can push the original repository to your new copy, or _mirror_, of th 1. Navigate to the repository you just cloned. ```shell - cd OLD-REPOSITORY.git + cd OLD-REPOSITORY ``` 1. Pull in the repository's {% data variables.large_files.product_name_long %} objects. @@ -85,7 +85,7 @@ Before you can push the original repository to your new copy, or _mirror_, of th ```shell cd .. - rm -rf OLD-REPOSITORY.git + rm -rf OLD-REPOSITORY ``` ## Mirroring a repository in another location diff --git a/content/repositories/creating-and-managing-repositories/quickstart-for-repositories.md b/content/repositories/creating-and-managing-repositories/quickstart-for-repositories.md index a1b930c8ace2..473e806b4863 100644 --- a/content/repositories/creating-and-managing-repositories/quickstart-for-repositories.md +++ b/content/repositories/creating-and-managing-repositories/quickstart-for-repositories.md @@ -114,7 +114,7 @@ _README_ files are a great place to describe your project in more detail, or add ## Next steps -You have now created a repository, including a _README_ file, and created your first commit on {% data variables.location.product_location %}. +You have now created a repository, including a _README_ file, and created your first commit on {% data variables.product.prodname_dotcom %}. {% webui %} diff --git a/content/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors.md b/content/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors.md index 4d919f232ef6..83fbe17798eb 100644 --- a/content/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors.md +++ b/content/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors.md @@ -49,7 +49,7 @@ There's no minimum Git version necessary to interact with {% data variables.prod ### Ensure the remote is correct -The repository you're trying to fetch must exist on {% data variables.location.product_location %}, and the URL is case-sensitive. +The repository you're trying to fetch must exist on {% data variables.location.product_location %}. You can find the URL of the local repository by opening the command line and typing `git remote -v`: @@ -57,8 +57,8 @@ typing `git remote -v`: ```shell $ git remote -v # View existing remotes -> origin https://github.com/ghost/reactivecocoa.git (fetch) -> origin https://github.com/ghost/reactivecocoa.git (push) +> origin https://github.com/ghost/cocoareactive.git (fetch) +> origin https://github.com/ghost/cocoareactive.git (push) $ git remote set-url origin https://github.com/ghost/ReactiveCocoa.git # Change the 'origin' remote's URL diff --git a/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md b/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md index b7f7899fca30..b20c7fec1923 100644 --- a/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md +++ b/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md @@ -68,11 +68,11 @@ A CODEOWNERS file uses a pattern that follows most of the same rules used in [gi If you want to match two or more code owners with the same pattern, all the code owners must be on the same line. If the code owners are not on the same line, the pattern matches only the last mentioned code owner. -{% ifversion fpt or ghec%}In most cases, you{% else %}You{% endif %} can also refer to a user by an email address that has been added to their account on {% data variables.location.product_location %}, for example `user@example.com`. {% ifversion fpt or ghec %} You cannot use an email address to refer to a {% data variables.enterprise.prodname_managed_user %}. For more information about {% data variables.enterprise.prodname_managed_users %}, see "[AUTOTITLE](/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} +{% ifversion fpt or ghec%}In most cases, you{% else %}You{% endif %} can also refer to a user by an email address that has been added to their account, for example `user@example.com`. {% ifversion fpt or ghec %} You cannot use an email address to refer to a {% data variables.enterprise.prodname_managed_user %}. For more information about {% data variables.enterprise.prodname_managed_users %}, see "[AUTOTITLE](/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} CODEOWNERS paths are case sensitive, because {% data variables.product.prodname_dotcom %} uses a case sensitive file system. Since CODEOWNERS are evaluated by {% data variables.product.prodname_dotcom %}, even systems that are case insensitive (for example, macOS) must use paths and files that are cased correctly in the CODEOWNERS file. -If any line in your CODEOWNERS file contains invalid syntax, that line will be skipped. When you navigate to the CODEOWNERS file in your repository on {% data variables.location.product_location %}, you can see any errors highlighted. A list of errors in a repository's CODEOWNERS file is also accessible via the API. For more information, see "[AUTOTITLE](/rest/repos/repos#list-codeowners-errors)." +If any line in your CODEOWNERS file contains invalid syntax, that line will be skipped. When you navigate to the CODEOWNERS file in your repository, you can see any errors highlighted. A list of errors in a repository's CODEOWNERS file is also accessible via the API. For more information, see "[AUTOTITLE](/rest/repos/repos#list-codeowners-errors)." If you specify a user or team that doesn't exist or has insufficient access, a code owner will not be assigned. diff --git a/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes.md b/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes.md index 51a67906024c..956463e4f4a2 100644 --- a/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes.md +++ b/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes.md @@ -31,6 +31,8 @@ If you put your README file in your repository's hidden `.github`, root, or `doc If a repository contains more than one README file, then the file shown is chosen from locations in the following order: the `.github` directory, then the repository's root directory, and finally the `docs` directory. +When your README is viewed on GitHub, any content beyond 500 KiB will be truncated. + {% data reusables.profile.profile-readme %} ## Auto-generated table of contents for README files diff --git a/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules.md b/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules.md index 624e163e347c..495c29a75cf2 100644 --- a/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules.md +++ b/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules.md @@ -2,22 +2,13 @@ title: Configuring tag protection rules shortTitle: Tag protection rules intro: You can configure tag protection rules for your repository to prevent contributors from creating or deleting tags. -product: '{% data reusables.gated-features.tag-protection-rules %}' versions: - fpt: '*' - ghec: '*' - ghes: '*' + ghes: '<3.16' --- -{% ifversion tag-protection-rules-deprecation %} +>[!NOTE] Tag protection rules will be deprecated on August 30, 2024, and in {% data variables.product.prodname_ghe_server %} version 3.16 and later, in favor of rulesets. Any tag protection rules still in use after the deprecation date will be auto-migrated, but you can also migrate them manually before the deprecation date. You can read more about this deprecation on the [{% data variables.product.prodname_blog %}](https://github.blog/changelog/2024-05-29-sunset-notice-tag-protections). ->[!NOTE] Tag protection rules will be deprecated on August 30, 2024 in favor of rulesets. Any tag protection rules still in use after the deprecation date will be auto-migrated, but you can also migrate them manually before the deprecation date. You can read more about this deprecation on the [{% data variables.product.prodname_blog %}](https://github.blog/changelog/2024-05-29-sunset-notice-tag-protections). - -{% endif %} - -## About tag protection rules - -When you add a tag protection rule, all tags that match the pattern provided will be protected. Only users with admin or maintain permissions{% ifversion edit-repository-rules %}, or custom roles with the "edit repository rules" permission{% endif %} in the repository will be able to create protected tags, and only users with admin permissions{% ifversion edit-repository-rules %} or custom roles with the "edit repository rules" permission{% endif %} in the repository will be able to delete protected tags. For more information, see "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization#permissions-for-each-role)." {% data variables.product.prodname_github_apps %} require the `Repository administration: write` permission to modify a protected tag. +When you add a tag protection rule, all tags that match the pattern provided will be protected. Only users with admin or maintain permissions, or custom roles with the "edit repository rules" permission in the repository will be able to create protected tags, and only users with admin permissions or custom roles with the "edit repository rules" permission in the repository will be able to delete protected tags. For more information, see "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization#permissions-for-each-role)." {% data variables.product.prodname_github_apps %} require the `Repository administration: write` permission to modify a protected tag. {% ifversion custom-repository-roles %} Additionally, you can create custom repository roles to allow other groups of users to create or delete tags that match tag protection rules. For more information, see "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-custom-repository-roles-for-an-organization)."{% endif %} diff --git a/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md b/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md index 62352cfd08c6..7c7c2e77b105 100644 --- a/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md +++ b/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md @@ -33,14 +33,14 @@ If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %} For more information about repository roles, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-personal-account-repository)" and "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization)." -![Screenshot of the "Manage access" page for a repository.](/assets/images/help/repository/manage-access-overview.png) - ## Filtering the list of teams and people {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.click-collaborators-teams %} -1. Under "Manage access", in the search field, start typing the name of the team or person you'd like to find. Optionally, use the dropdown menus to filter your search. +1. Under "Manage access", in the search field, start typing the name of the team or person you'd like to find. Optionally, use the dropdown menus to filter your search. {% ifversion org-custom-role-with-repo-permissions %} + + You can also toggle between the **Direct access** and **Organization access** tabs to view who has direct access to the repository and who can access the repository via a team or organization role.{% endif %} ## Changing permissions for a team or person diff --git a/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md b/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md index e390619202f9..ee8fa4dd4cb9 100644 --- a/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md +++ b/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md @@ -52,7 +52,7 @@ Your repository may be secured by push protection. With push protection, {% data ## Adding a file to a repository using the command line -You can upload an existing file to a repository on {% data variables.location.product_location %} using the command line. +You can upload an existing file to a repository on {% data variables.product.prodname_dotcom %} using the command line. {% tip %} diff --git a/content/repositories/working-with-files/using-files/downloading-source-code-archives.md b/content/repositories/working-with-files/using-files/downloading-source-code-archives.md index fb9b2040bc26..892aad4dc0c2 100644 --- a/content/repositories/working-with-files/using-files/downloading-source-code-archives.md +++ b/content/repositories/working-with-files/using-files/downloading-source-code-archives.md @@ -11,7 +11,7 @@ shortTitle: Source code archives --- ## Overview of source code archives -You can download a snapshot of any branch, tag, or specific commit from {% data variables.location.product_location %}. These snapshots are generated by the [`git archive` command](https://git-scm.com/docs/git-archive) in one of two formats: tarball or zipball. Snapshots don't contain the entire repository history. If you want the entire history, you can clone the repository. For more information, see "[AUTOTITLE](/repositories/creating-and-managing-repositories/cloning-a-repository)." +You can download a snapshot of any branch, tag, or specific commit from {% data variables.product.prodname_dotcom %}. These snapshots are generated by the [`git archive` command](https://git-scm.com/docs/git-archive) in one of two formats: tarball or zipball. Snapshots don't contain the entire repository history. If you want the entire history, you can clone the repository. For more information, see "[AUTOTITLE](/repositories/creating-and-managing-repositories/cloning-a-repository)." ## Downloading source code archives diff --git a/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md b/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md index 9971fbcf231c..ce3823e4b59b 100644 --- a/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md +++ b/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md @@ -1,6 +1,6 @@ --- title: Getting permanent links to files -intro: 'When viewing a file on {% data variables.location.product_location %}, you can press the "y" key to update the URL to a permalink to the exact version of the file you see.' +intro: 'When viewing a file on {% data variables.product.prodname_dotcom %}, you can press the "y" key to update the URL to a permalink to the exact version of the file you see.' redirect_from: - /articles/getting-a-permanent-link-to-a-file - /articles/how-do-i-get-a-permanent-link-from-file-view-to-permanent-blob-url @@ -23,7 +23,7 @@ shortTitle: Permanent links to files ## File views show the latest version on a branch -When viewing a file on {% data variables.location.product_location %}, you usually see the version at the current head of a branch. For example: +When viewing a file on {% data variables.product.prodname_dotcom %}, you usually see the version at the current head of a branch. For example: * [https://github.com/github/codeql/blob/**main**/README.md](https://github.com/github/codeql/blob/main/README.md) diff --git a/content/repositories/working-with-files/using-files/working-with-non-code-files.md b/content/repositories/working-with-files/using-files/working-with-non-code-files.md index a14f97208c47..b51662dc539b 100644 --- a/content/repositories/working-with-files/using-files/working-with-non-code-files.md +++ b/content/repositories/working-with-files/using-files/working-with-non-code-files.md @@ -48,7 +48,7 @@ shortTitle: Working with non-code files ### Viewing images -You can directly browse and view images in your repository on {% data variables.location.product_location %}. +You can directly browse and view images in your repository on {% data variables.product.prodname_dotcom %}. SVGs don't currently support inline scripting or animation. @@ -125,7 +125,7 @@ You can embed ASCII STL syntax directly in Markdown. For more information, see " ![Screenshot of a rendered CSV file, with data shown in a table format.](/assets/images/help/repository/rendered-csv.png) -When viewed, any _.csv_ or _.tsv_ file committed to a repository on {% data variables.location.product_location %} automatically renders as an interactive table, complete with headers and row numbering. By default, we'll always assume the first row is your header row. +When viewed, any _.csv_ or _.tsv_ file committed to a repository on {% data variables.product.prodname_dotcom %} automatically renders as an interactive table, complete with headers and row numbering. By default, we'll always assume the first row is your header row. You can link to a particular row by clicking the row number, or select multiple rows by holding down the shift key. Just copy the URL and send it to a friend. @@ -296,9 +296,9 @@ It may still be possible to render the data by converting the `.geojson` file to ## Working with Jupyter Notebook files on {% data variables.product.prodname_dotcom %} -When you add Jupyter Notebook or IPython Notebook files with a _.ipynb_ extension on {% data variables.location.product_location %}, they will render as static HTML files in your repository. +When you add Jupyter Notebook or IPython Notebook files with a _.ipynb_ extension on {% data variables.product.prodname_dotcom %}, they will render as static HTML files in your repository. -The interactive features of the notebook, such as custom JavaScript plots, will not work in your repository on {% data variables.location.product_location %}. For an example, see [_Linking and Interactions.ipynb_](https://github.com/bokeh/bokeh-notebooks/blob/main/tutorial/06%20-%20Linking%20and%20Interactions.ipynb). +The interactive features of the notebook, such as custom JavaScript plots, will not work in your repository on {% data variables.product.prodname_dotcom %}. For an example, see [_Linking and Interactions.ipynb_](https://github.com/bokeh/bokeh-notebooks/blob/main/tutorial/06%20-%20Linking%20and%20Interactions.ipynb). To view your Jupyter notebook with JavaScript content rendered or to share your notebook files with others you can use [nbviewer](https://nbviewer.jupyter.org/). For an example, see [_Linking and Interactions.ipynb_](https://nbviewer.jupyter.org/github/bokeh/bokeh-notebooks/blob/main/tutorial/06%20-%20Linking%20and%20Interactions.ipynb) rendered on nbviewer. diff --git a/content/rest/gists/gists.md b/content/rest/gists/gists.md index 96ae6c0e1a50..ebf153962586 100644 --- a/content/rest/gists/gists.md +++ b/content/rest/gists/gists.md @@ -18,6 +18,12 @@ autogenerated: rest You can use the REST API to view and modify gists. For more information about gists, see "[AUTOTITLE](/get-started/writing-on-github/editing-and-sharing-content-with-gists)." +{% ifversion ghec %} + +> [!NOTE] Gists are not available with {% data variables.product.prodname_emus %}. + +{% endif %} + ### Authentication You can read public gists {% ifversion ghes %}and create them for anonymous users without a token.{% else %} anonymously, but you must be signed into GitHub to create gists.{% endif %} To read or write gists on a user's behalf, you need the gist OAuth scope and a token. For more information, see "[AUTOTITLE](/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps)." diff --git a/content/rest/orgs/members.md b/content/rest/orgs/members.md index fce2edccd9a8..f41fe4b74bf4 100644 --- a/content/rest/orgs/members.md +++ b/content/rest/orgs/members.md @@ -12,6 +12,10 @@ topics: autogenerated: rest --- +{% ifversion ghec %} +> [!NOTE] If you use {% data variables.product.prodname_emus %}, you add members to organizations directly, rather than sending invitations. The operations for managing organization invitations will not work in your enterprise. However, the operations for viewing or managing membership directly will work as expected. + +{% endif %} diff --git a/content/rest/using-the-rest-api/github-event-types.md b/content/rest/using-the-rest-api/github-event-types.md index 616166f9e0ca..c8c9fa71bc06 100644 --- a/content/rest/using-the-rest-api/github-event-types.md +++ b/content/rest/using-the-rest-api/github-event-types.md @@ -27,24 +27,24 @@ The event objects returned from the Events API endpoints have the same structure | Event API attribute name | Type | Description | |--------------------------|-------------|-------------| -| `id` | `string` | Unique identifier for the event. | +| `id` | `integer` | Unique identifier for the event. | | `type` | `string` | The type of event. Events uses PascalCase for the name. | | `actor` | `object` | The user that triggered the event. | -| `actor.id` | `string` | The unique identifier for the actor. | +| `actor.id` | `integer` | The unique identifier for the actor. | | `actor.login` | `string` | The username of the actor. | | `actor.display_login` | `string` | The specific display format of the username. | | `actor.gravatar_id` | `string` | The unique identifier of the Gravatar profile for the actor. | | `actor.url` | `string` | The REST API URL used to retrieve the user object, which includes additional user information. | | `actor.avatar_url` | `string` | The URL of the actor's profile image. | | `repo` | `object` | The repository object where the event occurred. | -| `repo.id` | `string` | The unique identifier of the repository. | +| `repo.id` | `integer` | The unique identifier of the repository. | | `repo.name` | `string` | The name of the repository, which includes the owner and repository name. For example, `octocat/hello-world` is the name of the `hello-world` repository owned by the `octocat` personal account. | | `repo.url` | `string` | The REST API URL used to retrieve the repository object, which includes additional repository information. | | `payload` | `object` | The event payload object is unique to the event type. See the event type below for the event API `payload` object. | | `public` | `boolean` | Whether the event is visible to all users. | | `created_at` | `string` | The date and time when the event was triggered. It is formatted according to ISO 8601. | | `org` | `object` | The organization that was chosen by the actor to perform action that triggers the event.
_The property appears in the event object only if it is applicable._ | -| `org.id` | `string` | The unique identifier for the organization. | +| `org.id` | `integer` | The unique identifier for the organization. | | `org.login` | `string` | The name of the organization. | | `org.gravatar_id` | `string` | The unique identifier of the Gravatar profile for the organization. | | `org.url` | `string` | The REST API URL used to retrieve the organization object, which includes additional organization information. | diff --git a/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md b/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md index 3e771d1243bc..6c746a1217b6 100644 --- a/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md +++ b/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md @@ -51,7 +51,7 @@ After running a search on {% data variables.product.product_name %}, you can sor ## Types of searches on {% data variables.product.prodname_dotcom %} -You can search for the following information across all repositories you can access on {% data variables.location.product_location %}. +You can search for the following information across all repositories you can access on {% data variables.product.prodname_dotcom %}. * [Repositories](/search-github/searching-on-github/searching-for-repositories) * [Topics](/search-github/searching-on-github/searching-topics) diff --git a/content/search-github/searching-on-github/searching-for-repositories.md b/content/search-github/searching-on-github/searching-for-repositories.md index b5ba7d1e1a12..0c984a1cb9e6 100644 --- a/content/search-github/searching-on-github/searching-for-repositories.md +++ b/content/search-github/searching-on-github/searching-for-repositories.md @@ -14,7 +14,7 @@ topics: - GitHub search shortTitle: Search for repositories --- -You can search for repositories globally across all of {% data variables.location.product_location %}, or search for repositories within a particular organization. For more information, see "[AUTOTITLE](/search-github/getting-started-with-searching-on-github/about-searching-on-github)." +You can search for repositories globally across all of {% data variables.product.prodname_dotcom %}, or search for repositories within a particular organization. For more information, see "[AUTOTITLE](/search-github/getting-started-with-searching-on-github/about-searching-on-github)." To include forks in the search results, you will need to add `fork:true` or `fork:only` to your query. For more information, see "[AUTOTITLE](/search-github/searching-on-github/searching-in-forks)." diff --git a/content/site-policy/content-removal-policies/dmca-takedown-policy.md b/content/site-policy/content-removal-policies/dmca-takedown-policy.md index d1d9e9bb2a04..6f10e8b442ef 100644 --- a/content/site-policy/content-removal-policies/dmca-takedown-policy.md +++ b/content/site-policy/content-removal-policies/dmca-takedown-policy.md @@ -49,7 +49,7 @@ Here are the basic steps in the process. 1. **Copyright Owner Investigates.** A copyright owner should always conduct an initial investigation to confirm both (a) that they own the copyright to an original work and (b) that the content on GitHub is unauthorized and infringing. This includes confirming that the use is not protected as [fair use](https://www.lumendatabase.org/topics/22). A particular use may be fair if it only uses a small amount of copyrighted content, uses that content in a transformative way, uses it for educational purposes, or some combination of the above. Because code naturally lends itself to such uses, each use case is different and must be considered separately. > **Example:** An employee of Acme Web Company finds some of the company's code in a GitHub repository. Acme Web Company licenses its source code out to several trusted partners. Before sending in a take-down notice, Acme should review those licenses and its agreements to confirm that the code on GitHub is not authorized under any of them. -1. **Copyright Owner Sends A Notice.** After conducting an investigation, a copyright owner prepares and sends a [takedown notice](/site-policy/content-removal-policies/guide-to-submitting-a-dmca-takedown-notice) to GitHub. Assuming the takedown notice is sufficiently detailed according to the statutory requirements (as explained in the [how-to guide](/site-policy/content-removal-policies/guide-to-submitting-a-dmca-takedown-notice)), we will [post the notice](#d-transparency) to our [public repository](https://github.com/github/dmca) and pass the link along to the affected user. +1. **Copyright Owner Sends A Notice.** After conducting an investigation, a copyright owner prepares and sends a [takedown notice](/site-policy/content-removal-policies/guide-to-submitting-a-dmca-takedown-notice) to GitHub. Assuming the takedown notice is sufficiently detailed according to the statutory requirements (as explained in the [how-to guide](/site-policy/content-removal-policies/guide-to-submitting-a-dmca-takedown-notice)), we will [post the notice](#e-transparency) to our [public repository](https://github.com/github/dmca) and pass the link along to the affected user. 1. **GitHub Asks User to Make Changes.** If the notice alleges that the entire contents of a repository infringe, or a package infringes, we will skip to Step 6 and disable the entire repository or package expeditiously. Otherwise, because GitHub cannot disable access to specific files within a repository, we will contact the user who created the repository and give them approximately 1 business day to delete or modify the content specified in the notice. We'll notify the copyright owner if and when we give the user a chance to make changes. Because packages are immutable, if only part of a package is infringing, GitHub would need to disable the entire package, but we permit reinstatement once the infringing portion is removed. @@ -59,7 +59,7 @@ Here are the basic steps in the process. 1. **GitHub May Disable Access to the Content.** GitHub will disable a user's content if: (i) the copyright owner has alleged copyright over the user's entire repository or package (as noted in Step 3); (ii) the user has not made any changes after being given an opportunity to do so (as noted in Step 4); or (iii) the copyright owner has renewed their takedown notice after the user had a chance to make changes. If the copyright owner chooses instead to _revise_ the notice, we will go back to Step 2 and repeat the process as if the revised notice were a new notice. -1. **User May Send A Counter Notice.** We encourage users who have had content disabled to consult with a lawyer about their options. If a user believes that their content was disabled as a result of a mistake or misidentification, they may send us a [counter notice](/site-policy/content-removal-policies/guide-to-submitting-a-dmca-counter-notice). As with the original notice, we will make sure that the counter notice is sufficiently detailed (as explained in the [how-to guide](/site-policy/content-removal-policies/guide-to-submitting-a-dmca-counter-notice)). If it is, we will [post it](#d-transparency) to our [public repository](https://github.com/github/dmca) and pass the notice back to the copyright owner by sending them the link. +1. **User May Send A Counter Notice.** We encourage users who have had content disabled to consult with a lawyer about their options. If a user believes that their content was disabled as a result of a mistake or misidentification, they may send us a [counter notice](/site-policy/content-removal-policies/guide-to-submitting-a-dmca-counter-notice). As with the original notice, we will make sure that the counter notice is sufficiently detailed (as explained in the [how-to guide](/site-policy/content-removal-policies/guide-to-submitting-a-dmca-counter-notice)). If it is, we will [post it](#e-transparency) to our [public repository](https://github.com/github/dmca) and pass the notice back to the copyright owner by sending them the link. 1. **Copyright Owner May File a Legal Action.** If a copyright owner wishes to keep the content disabled after receiving a counter notice, they will need to initiate a legal action seeking a court order to restrain the user from engaging in infringing activity relating to the content on GitHub. In other words, you might get sued. If the copyright owner does not give GitHub notice within 10-14 days, by sending a copy of a valid legal complaint filed in a court of competent jurisdiction, GitHub will re-enable the disabled content. diff --git a/content/site-policy/github-company-policies/github-statement-against-modern-slavery-and-child-labor.md b/content/site-policy/github-company-policies/github-statement-against-modern-slavery-and-child-labor.md index e9eca2bfbfed..3f40315b01e8 100644 --- a/content/site-policy/github-company-policies/github-statement-against-modern-slavery-and-child-labor.md +++ b/content/site-policy/github-company-policies/github-statement-against-modern-slavery-and-child-labor.md @@ -48,7 +48,7 @@ GitHub complies with laws prohibiting trafficking and child labor in the jurisdi In addition, GitHub established a partnership with the FairHotel Program, which means GitHub encourages its employees to choose FairHotel endorsed hotels-where workers have fair wages, adequate benefits, and a voice on the job. Being a FairHotel partner also signifies that GitHub provides business to hotels as a fair employer. -Going forward, GitHub will communicate this Statement to all employees, contractors, and suppliers, including recruiters and employment agencies. In addition, GitHub is developing training for all GitHub employees on modern slavery and child labor. GitHub [posts its Statement Against Modern Slavery and Child Labor publicly](/site-policy/github-company-policies/github-statement-against-modern-slavery-and-child-labor). +Going forward, GitHub will communicate this Statement to all employees, contractors, and suppliers, including recruiters and employment agencies. In addition, GitHub is developing training for all GitHub employees on modern slavery and child labor. GitHub posts its Statement Against Modern Slavery and Child Labor publicly. GitHub has a non-retaliation policy for reporting workplace-related concerns. Consistent with this Statement, GitHub allows employees and contractors to report issues regarding modern slavery and child labor without fear of retaliation. diff --git a/content/site-policy/github-terms/github-copilot-extension-developer-policy.md b/content/site-policy/github-terms/github-copilot-extension-developer-policy.md new file mode 100644 index 000000000000..f86f82fb99d0 --- /dev/null +++ b/content/site-policy/github-terms/github-copilot-extension-developer-policy.md @@ -0,0 +1,150 @@ +--- +title: GitHub Copilot Extension Developer Policy +versions: + fpt: '*' +topics: + - Policy + - Legal +--- + +> Last Updated: September 6, 2024 + +This Agreement is a legal agreement between you (“You”) and GitHub, Inc. (“GitHub”, “we”, or “us”). By clicking “I Agree”, you’re agreeing to be bound by all the terms of this Agreement. If you are entering into this Agreement on behalf of a company or other legal entity, you represent that you have the legal authority to bind the entity to this Agreement, in which case “You” will mean the entity you represent. + +GitHub is fortunate to have many developers integrating with the GitHub Copilot Extensibility Platform (“Platform”). We think that’s awesome, and we want to make that experience even better. While we can’t cover every type of GitHub Copilot Extension (“Extension”), we do want to lay some ground rules and policies to ensure that You are developing Your Extension with privacy, safety, transparency, and security at the forefront of the User experience. + +To protect Users, we reserve the right to take any action we deem necessary if an Extension violates the letter or spirit of this Agreement. By “User” we mean any “User” as defined in our Terms of Service (TOS). By “Personal Data” we means any information which relates to an individual “User”, customer or employee which could, alone or together with other information, identify them as well as content, including, but not limited to, code, text, data uploaded, posted, User inputs, and Extension outputs, transmitted or otherwise made available by Users via the Platform. + +## 1. Services + +By using our Platform, you agree to adhere to this policy and all GitHub terms and policies incorporated by reference. You must also adhere to all technical specifications and requirements published by GitHub. GitHub may update this Agreement and any requirements at any time, and you should periodically review this Agreement and all technical specifications and requirements to ensure compliance with the most recent version. So long as you remain compliant with this Agreement and associated requirements within, we grant you a limited, worldwide, non-exclusive, non-transferable license during the term of the Agreement to access and use the Platform for the purpose of publishing, developing, demonstrating, testing and supporting interoperability and integrations between Your Extension and GitHub Copilot. + +GitHub reserves the right at any time to modify or discontinue, temporarily or permanently, Your access to the Platform (or any part of it) with or without notice. It’s your sole responsibility to ensure that your use of the Platform is compatible with the then-current Platform. Other than the rights we expressly give you in this Agreement or the TOS, We don’t grant you any rights or licenses to GitHub Copilot, or to any other GitHub products or services. + +Violations of this Agreement may result in removing the Extension from the Platform, token revocation, Account or Extension suspension, User notification, legal action or any other action deemed necessary by Us. If requested, You must provide us with proof of compliance with this Agreement. If You violate this Agreement we may or may not provide notice before taking action. Appeals may be submitted via the GitHub Appeal and Reinstatement Process. Please note that we may periodically audit Extensions and collect information about Users using Your Extension. + +## 2. Developing your Extension + +While we want You to develop useful, fun, and interesting Extensions with GitHub Copilot, we want to make sure that our Users receive a safe, secure, productive, and enjoyable experience. When creating Extensions, you must understand the use cases and limitations of GitHub Copilot, and not rely on it for tasks where its use could lead to significant harm. With that in mind, You are required to comply with this Policy and other obligations. + +**Terms of Service**: Your Extension must comply with the GitHub Terms of Service (ToS) including the Acceptable Use Policy. + +**Security**: We take the security of Personal Data seriously and you must as well. As you develop your Extension, You must properly configure your systems to protect Personal Data and ensure that any stored Personal Data is encrypted. Furthermore, Extensions and developers must not: + +* Degrade or compromise security +* Bypass or circumvent protocols and access controls +* Use unpublished APIs +* Mislead and/or deceive Users about Extension functionality, performance, origin or Personal Data use +* Transmit any viruses or other code that may damage, detrimentally interfere with, surreptitiously intercept or expropriate any system or Personal Data +* Attempt to reverse engineer or otherwise derive source code, trade secrets, or know-how of the Platform or any portion thereof + +**Use of Personal Data**: Protecting User privacy is paramount at GitHub, and must be for you. You are responsible for good Personal Data practices. You do not have independent rights to any Personal Data. In accordance with this, Extensions and developers are prohibited from: + +* Collecting, storing, and using Personal Data without obtaining proper User consent +* Utilizing Personal Data to contact Users. You must gain permission through a clear and separate permissions process to contact Users outside of GitHub. Contacting Users is limited to emergencies in which the User’s safety and security is at risk and in compliance with the law +* Requesting Users to provide sensitive, private, and confidential information, such as credit card numbers or passwords except when specifically necessary for the legitimate purpose of the Extension +* Renting, selling or sharing Personal Data with third parties under any circumstances +* Developing Extensions that encourage Users to circumvent or interfere with their own workplace and employer data, privacy and security policies +* Using Personal Data to create User profiles beyond what is necessary for the Extension to function +* Ignoring a User’s request for deletion. When a User deletes your Extension, if you discontinue Your Extension, or Your Extension is removed you must delete all associated Personal Data within thirty days +* Merging Personal Data with data gathered from other sources for purposes unrelated to the use of the Extension including building databases or otherwise creating copies of any Personal Data accessed or obtained using the Platform +* Failing to notify Users about privacy and their Personal Data. You must provide Users an easily accessible and publicly-available privacy policy that explains how the Extension collects, uses, processes and stores Personal Data, and what control Users have over their Personal Data +* Accessing Data for surveillance purposes. You may not allow or assist any entity to conduct surveillance or obtain Personal Data using your access to the Platform +* Otherwise exploiting Personal Data in a way not approved by GitHub and not disclosed to and permitted by Users. You may, however, use Data that is both aggregated and anonymized for purposes of analytics and development related to the Extension + +**Law and Safety**: Extensions should not create unsafe environments or hardships for Users. Each Extension must comply with all applicable laws and legal requirements in all locations where it is made available to Users. In addition, Extensions and developers are prohibited from: + +* Inferring people’s emotional states from their physical, physiological, or behavioral characteristics +* Inferring people’s sensitive attributes such as gender, race, nationality, religion, or specific age (not including age range, position of mouth (e.g., smile or frown), and hair color) +* Categorizing people based on their biometric data or to infer characteristics or affiliations about them such as race, political opinions, trade union membership, religious or philosophical beliefs, or sex life or sexual orientation +* Social scoring or predictive profiling that would lead to discriminatory, unfair, biased, detrimental, unfavorable, or harmful treatment of certain persons or groups of persons +* Exploiting any of the vulnerabilities of a person (e.g., age, disability, or socio-economic situation) +* For any real-time facial recognition technology on mobile cameras used by any law enforcement globally to attempt to identify individuals in uncontrolled, "in the wild" environments, which includes (without limitation) police officers on patrol using body-worn or dash-mounted cameras using facial recognition technology to attempt to identify individuals present in a database of suspects or prior inmates +* Without the individual’s valid consent, for ongoing surveillance or real-time or near real-time identification or persistent tracking of the individual using any of their personal information, including biometric data + +**Transparency**: GitHub Copilot is a generative artificial intelligence (AI) tool intended to increase developer productivity. You must inform Users of Your Extensions intended use cases, best practices, and limitations as well as when they are interacting with generative AI content. Furthermore, Extensions and developers must: + +* Test the Extension to ensure outputs do not violate this Agreement +* Provide a mechanism for Users to report feedback to You and GitHub related to errors, bugs, improper, or undesired outputs +* Inform Users of Extension capabilities so that Users can provide the appropriate level of human oversight +* Request only the appropriate and necessary permissions and clearly define the need for permissions within your Extension’s description + +## 3. Your GitHub Copilot Extension + +Your Extensions are your responsibility. That means that you’re solely responsible for developing, operating, and maintaining all aspects of your Extensions; ensuring that all materials used with or in your Extensions are legal in all the jurisdictions where your Extensions are used, and don’t promote illegal activities; obtaining any rights or licenses necessary to use and/or distribute any third-party software that you use, include, integrate, or distribute with your Extensions; and providing your end user customers with the same high-quality technical support for your Extensions when they operate in conjunction with the Platform or any other of our products and services as you do when they operate on their own. + +## 4. Marketing and Publicity + +Marketing and publicizing your integrations with GitHub is valuable to both of us. We want to be sure that happens in the right way, so we’ve included some language here to help clarify some basic “dos” and “don’ts”. + +You agree that you won’t make any representations, warranties, guarantees or endorsements to anyone on behalf of GitHub (including, among other things, any GitHub products or services). Unless we specifically say it’s okay you promise not to state or imply that we have developed, endorsed, reviewed or otherwise approved of any of your Extensions. + +If you decide to promote or publicize any of our products or services in connection with your Extensions, you’ll need to make sure that you abide by the terms of this Agreement, the TOS, our trademark policy, and any other applicable GitHub policies. Subject to the terms and conditions of this Agreement and the TOS, and during the term of this Agreement, we grant you a limited, revocable, worldwide, non-exclusive, non-transferable license to use our trademarks, service marks, and logos (collectively, the “GitHub Marks”) in accordance with our trademark policy. + +Except as set forth in this Agreement and the TOS, nothing in this Agreement will be deemed to grant to one party any right, title or interest in or to the other party’s Marks. You agree not to, whether during or after the term of this Agreement: (i) challenge or assist others in challenging the GitHub Marks, or our registration or enforcement of the GitHub Marks; (ii) attempt to adopt, use, apply for, or register any trademark, service mark, logo, URL, Internet domain name, or symbol that is confusingly similar to the GitHub Marks; or (iii) make any negative, false, or disparaging statements (whether written or oral) to any third-party about us, our products, or our services. + +## 5. Pre-Release Materials + +You may get access to special information not available to the rest of the world. Due to the sensitive nature of this information, it’s important for us to make sure that you keep that information secret. + +If We give you any access to pre-release software or related documentation or materials, which may include videos or other forms of content (“Pre-release Materials”), then subject to your compliance with the terms and conditions of this Agreement, the TOS, and Pre-Release License Terms we hereby grant you a nonexclusive, nontransferable, revocable right and license to use the Pre-release Materials solely to support your testing and/or development of Extensions that are designed to operate in combination with the Platform for which the Pre-release Materials are designed. + +## 6. Term and Termination + +You may terminate the Agreement by discontinuing use of the Platform. We may terminate this Agreement for any reason and without notice. This Agreement will terminate immediately, without the requirement of notice, if you breach any term of this Agreement. + +The rights and obligations in Sections 1, 2, 3, 4 (second and last paragraphs), 5, and 7 through 19 of this Agreement will survive the termination of this Agreement. Upon termination of this Agreement all of the rights and licenses we granted you in this Agreement will immediately cease to exist, you will return (or, at our request, destroy) all of our Pre-release materials and any copies (including electronic copies) which are in your possession or control, and you will certify in writing that you’ve complied with these requirements. + +## 7. Warranties and Disclaimers + +You warrant to us that you: (i) have the authority to execute this Agreement and to perform its obligations; (ii) will conduct business in a manner that reflects favorably at all times on GitHub’s products and services and our good name, goodwill and reputation; (iii) will make no false or misleading statements or representations regarding GitHub or our products and services; (iv) will not take on any obligation or responsibility, or make any representation, warranty, guarantee or endorsement to anyone on our behalf (including, without limitation, any of our products or services); and (v) will not state or imply that We have developed, endorsed, reviewed or otherwise approved of any of your Products. + +The Platform and any Pre-release Materials We give You are provided “As Is”, and without warranty of any kind, express or implied. We specifically disclaim any and all implied warranties or conditions of merchantability, fitness for a particular purpose, and non-infringement. We do not warrant that any Service or Products we make available to you will meet Your or Your User’s requirements. + +## 8. Indemnity + +To the maximum extent permitted by applicable law, You agree to defend, indemnify and hold harmless GitHub, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising from or relating to (a) Your use of the Platform in violation of this Agreement, the Terms or any applicable laws or regulations; (b)Your Extensions that infringe any copyright, trademark, trade secret, patent or other intellectual property right of any third party; (c) any loss or disclosure of data or Personal Data by Your Extension; and (d) Your EULA (or ToS). + +## 9. Limitation of Liability + +Under no circumstances and under no legal theory (whether in contract, tort, negligence or otherwise) will GitHub, or its affiliates, officers, directors, employees, agents, or suppliers be liable to developer or any third party under this agreement for any indirect, incidental, special, exemplary, consequential, punitive or other similar damages, including lost profits, lost sales or business, lost data, business interruption or any other loss incurred by Developer or any third party in connection with this Agreement, regardless of whether Developer has been advised of the possibility of or could have foreseen such damages notwithstanding anything to the contrary in this Agreement, GitHub’s aggregate liability to Developer or any third party arising out of this Agreement shall not exceed $500 (five hundred) USD. + +## 10. Export Control + +You aren’t allowed to export or re-export any of our Pre-release Material, except as authorized by United States law and the laws of the jurisdiction in which the Confidential Information was obtained. In particular, you aren’t allowed to export or re-export our Confidential Information into any U.S. embargoed countries, to anyone on the U.S. Treasury Department's list of Specially Designated Nationals, or to anyone on the U.S. Department of Commerce Denied Person's List or Entity List. By using the Platform or receiving any of our Pre-release Material, you represent and warrant that you are not located in any such country or on any such list. + +## 11. Proprietary Rights + +You agree that GitHub and its licensors own all right, title and interest in and to the Platform, the Pre-release Materials, and all other GitHub Products and Services; all information and data relating to their configurations and combinations; and all modifications to and derivative works of any of the foregoing. You agree not to remove, alter, cover or obfuscate any copyright or other proprietary rights notices we place on or embed in the Platform, the Pre-release Materials, or any other GitHub Products and Services. + +## 12. Government Users + +If you are a Government entity, this Section applies to you. Certain of our Confidential Information may be considered “Commercial Items”, as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation”, as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. GitHub, Inc. 88 Colin P. Kelly Street, San Francisco, CA 94107. + +## 13. Independent Development + +Nothing in this Agreement will impair our right to develop, acquire, license, market, promote or distribute products, software or technologies that may compete with your Extensions. + +## 14. Feedback + +We’re always trying to improve, and your feedback will help us do that. If you choose to give us feedback, suggestions or recommendations for the Platform or for our Products or Services (collectively, “Feedback”), you acknowledge and agree that we’re free to use that Feedback in any way we want, without restriction (subject to any applicable patents or copyrights, of course). + +## 15. Independent Contractors + +The parties to this Agreement are independent contractors. Neither of us will be deemed to be an employee, agent, partner, franchisor, franchisee or legal representative of the other for any purpose and neither of us will have any right, power or authority to create any obligation or responsibility on behalf of the other. + +## 16. Assignment + +You aren’t allowed to assign or transfer this Agreement, or any of your rights under it, in whole or in part, by operation of law or otherwise, without our prior written consent. + +## 17. Governing Law and Venue + +This Agreement will be interpreted and construed in accordance with the laws of the State of California, without regard to conflict of law principles. All disputes arising out of this Agreement will be subject to the exclusive jurisdiction of the state and federal courts located in San Francisco County, California, and each of us hereby consents to personal jurisdiction there. + +## 18. Amendments; Waivers; No Third-Party Beneficiaries + +This Agreement may not be changed, except by a writing signed by both parties. Any waiver of the provisions of this Agreement or of a party's rights or remedies under this Agreement must be in writing to be effective. If any term, condition, or provision in this Agreement is found to be invalid or unenforceable, the remaining terms will continue to be valid and enforceable to the fullest extent permitted by law. We each expressly agree that there are no third-party beneficiaries to this Agreement. + +## 19. Entire Agreement + +This Agreement and the TOS, contain the entire agreement of the parties with respect to its subject matter and supersede all prior communications, representations, understandings and agreements, whether written or oral. diff --git a/content/site-policy/github-terms/index.md b/content/site-policy/github-terms/index.md index 83b43f2ae87e..cfd4e9d265b5 100644 --- a/content/site-policy/github-terms/index.md +++ b/content/site-policy/github-terms/index.md @@ -21,4 +21,5 @@ children: - /github-event-terms - /github-event-code-of-conduct - /github-educational-use-agreement + - /github-copilot-extension-developer-policy --- diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors.md index 98cddeab759b..655804009bd0 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors.md @@ -47,3 +47,11 @@ Featured sponsors allows you to spotlight your sponsors. You can opt to automati * A pop up window will display allowing you to search your sponsors. Click on the desired sponsors and click **Save**. {% data reusables.sponsors.save-profile %} + +## Sharing your profile + +Let others know about your Sponsors profile by sharing it out on social media or embedding it on your personal website. + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +1. From the left sidebar, click **Overview**. +1. Under "Share it out", select the option to share your Sponsors profile on social media or embed it on a website. diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal.md index e3ff655adbc2..9a3b623853e7 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal.md @@ -46,3 +46,11 @@ After you retire a goal, you won't be able to reactivate the goal. You must crea {% data reusables.sponsors.navigate-to-your-goals-tab %} {% data reusables.sponsors.edit-goal %} {% data reusables.sponsors.retire-goal %} + +## Sharing a goal + +You can share your sponsorship goal on social media or embed it on your personal website. + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.navigate-to-your-goals-tab %} +1. Under your goal, click the **Share** or **Embed it** button. diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md index eaf0f7611460..84688f67f420 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md @@ -81,7 +81,7 @@ If you choose to receive payouts to a bank account, your bank account can be a d ## Enabling two-factor authentication (2FA) on your {% data variables.product.prodname_dotcom %} account -Before your organization can become a sponsored organization, you must enable 2FA for your account on {% data variables.location.product_location %}. For more information, see "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)." +Before your organization can become a sponsored organization, you must enable 2FA for your account on {% data variables.product.prodname_dotcom %}. For more information, see "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)." ## Submitting your application to {% data variables.product.prodname_dotcom %} for approval diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account.md index ec2f6780aadd..e82950e695e4 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account.md @@ -1,6 +1,6 @@ --- title: Setting up GitHub Sponsors for your personal account -intro: 'You can become a sponsored developer by joining {% data variables.product.prodname_sponsors %}, completing your sponsored developer profile, creating sponsorship tiers, submitting your bank and tax information, and enabling two-factor authentication for your account on {% data variables.location.product_location %}.' +intro: 'You can become a sponsored developer by joining {% data variables.product.prodname_sponsors %}, completing your sponsored developer profile, creating sponsorship tiers, submitting your bank and tax information, and enabling two-factor authentication for your account on {% data variables.product.prodname_dotcom %}.' redirect_from: - /articles/becoming-a-sponsored-developer - /github/supporting-the-open-source-community-with-github-sponsors/becoming-a-sponsored-developer @@ -79,7 +79,7 @@ If you choose to receive payouts to a bank account, your region of residence and ## Enabling two-factor authentication (2FA) on your {% data variables.product.prodname_dotcom %} account -Before you can become a sponsored developer, you must enable 2FA for your account on {% data variables.location.product_location %}. For more information, see "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)." +Before you can become a sponsored developer, you must enable 2FA for your account on {% data variables.product.prodname_dotcom %}. For more information, see "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)." ## Submitting your application to {% data variables.product.prodname_dotcom %} for approval diff --git a/content/support/learning-about-github-support/about-github-premium-support.md b/content/support/learning-about-github-support/about-github-premium-support.md index 530e377332c1..e9e1b9f08519 100644 --- a/content/support/learning-about-github-support/about-github-premium-support.md +++ b/content/support/learning-about-github-support/about-github-premium-support.md @@ -48,7 +48,7 @@ There are two {% data variables.contact.premium_support %} plans: Premium and Pr | Initial response time |
  • 30 minutes for {% data variables.product.support_ticket_priority_urgent %} (including initial troubleshooting)
  • 4 hours for {% data variables.product.support_ticket_priority_high %}
|
  • 30 minutes for {% data variables.product.support_ticket_priority_urgent %} (including initial troubleshooting)
  • 4 hours for {% data variables.product.support_ticket_priority_high %}
| | Support channels |
  • Online ticket submission
  • Phone support in English via callback request (when required for ticket resolution)
  • Screen share request for critical issues
|
  • Online ticket submission
  • Phone support in English via callback request (when required for ticket resolution)
  • Screen share request for critical issues
| | Training | Access to premium content |
  • Access to premium content
  • 1 virtual training class per year
| -| Members with support entitlements | 20 | 20 | +| Members with support entitlements | 20 | 40 | | Resources | Priority ticket handling |
  • Priority ticket handling
  • Named Customer Reliability Engineer
| Escalation management | For high and urgent priority tickets | For High and Urgent priority tickets Incident management | None | For urgent priority tickets, as needed diff --git a/content/support/learning-about-github-support/about-ticket-priority.md b/content/support/learning-about-github-support/about-ticket-priority.md index 8e492f54916d..ea718dcdc44c 100644 --- a/content/support/learning-about-github-support/about-ticket-priority.md +++ b/content/support/learning-about-github-support/about-ticket-priority.md @@ -49,6 +49,8 @@ Ticket priority helps to ensure that support requests are handled in order, and ## Ticket priorities for {% data variables.product.prodname_advanced_security %} +All tickets regarding code security features follow this logic for ticket prioritization. + | Priority | Description | | :---: | --- | | {% data variables.product.support_ticket_priority_high %} | {% data variables.product.prodname_advanced_security %} is not functioning or is stopped or severely impacted such that the end user cannot reasonably continue use of the software and no workaround is available. | diff --git a/data/code-languages.yml b/data/code-languages.yml index 7a15e62a6783..fa8aac5cbc45 100644 --- a/data/code-languages.yml +++ b/data/code-languages.yml @@ -64,6 +64,9 @@ sql: text: name: Text comment: number +typescript: + name: TypeScript + comment: slash xml: name: XML comment: xml diff --git a/data/features/copilot-chat-ghas-alerts.yml b/data/features/copilot-chat-ghas-alerts.yml new file mode 100644 index 000000000000..055c1a941cd5 --- /dev/null +++ b/data/features/copilot-chat-ghas-alerts.yml @@ -0,0 +1,3 @@ +# Reference: #15479 +versions: + ghec: '*' diff --git a/data/features/custom-properties-on-create.yml b/data/features/custom-properties-on-create.yml new file mode 100644 index 000000000000..68d612400aa7 --- /dev/null +++ b/data/features/custom-properties-on-create.yml @@ -0,0 +1,5 @@ +# Reference: #15332 +# Allows actors with the ability to create repos to be required to enter custom properties on repo creation. +versions: + ghec: '*' + ghes: '>= 3.15' diff --git a/data/features/org-custom-role-with-repo-permissions.yml b/data/features/org-custom-role-with-repo-permissions.yml new file mode 100644 index 000000000000..058d7cf7cfc0 --- /dev/null +++ b/data/features/org-custom-role-with-repo-permissions.yml @@ -0,0 +1,5 @@ +# Issue #11307 +# Documentation for custom organization roles can include repository permissions +versions: + ghec: '*' + ghes: '>=3.15' diff --git a/data/features/projects-v1.yml b/data/features/projects-v1.yml index b39cb4732cc0..6f8e805c62d5 100644 --- a/data/features/projects-v1.yml +++ b/data/features/projects-v1.yml @@ -2,6 +2,4 @@ # Projects (classic) # n.b. /managing-project-boards/copying-a-project-board.md retains ghec/fpt versioning. versions: - fpt: '*' - ghec: '*' ghes: '*' diff --git a/data/features/push-protection-bypass-fine-grained-permissions.yml b/data/features/push-protection-bypass-fine-grained-permissions.yml new file mode 100644 index 000000000000..e3c924f96d99 --- /dev/null +++ b/data/features/push-protection-bypass-fine-grained-permissions.yml @@ -0,0 +1,5 @@ +# Issue 13329 +# Push protection bypass fine-grained permissions +versions: + ghec: '*' + ghes: '>=3.16' diff --git a/data/features/push-protection-delegated-bypass-enhancements.yml b/data/features/push-protection-delegated-bypass-enhancements.yml new file mode 100644 index 000000000000..5913c5acf66c --- /dev/null +++ b/data/features/push-protection-delegated-bypass-enhancements.yml @@ -0,0 +1,4 @@ +# Issue 15735 - Secret scanning push protection bypasses show branch and file path information [GA] +versions: + ghec: '*' + ghes: '>=3.16' diff --git a/data/features/tabbed-pat-settings-ui.yml b/data/features/tabbed-pat-settings-ui.yml new file mode 100644 index 000000000000..0e0a3b6a2162 --- /dev/null +++ b/data/features/tabbed-pat-settings-ui.yml @@ -0,0 +1,6 @@ +# Reference: #52010 +# UI change for tabbed settings pages for enterprise and orgs. +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.15' diff --git a/data/release-notes/enterprise-server/3-10/16.yml b/data/release-notes/enterprise-server/3-10/16.yml index 67e6d06c10fe..7483da2ec08c 100644 --- a/data/release-notes/enterprise-server/3-10/16.yml +++ b/data/release-notes/enterprise-server/3-10/16.yml @@ -83,8 +83,6 @@ sections: {% data reusables.release-notes.2024-01-haproxy-upgrade-causing-increased-errors %} - | The `reply.HOSTNAME` subdomain is falsely displayed as having no SSL and DNS record, when testing the domain settings via the Management Console without subdomain isolation. - - | - When log forwarding is enabled, some forwarded log entries may be duplicated. - | Admin stats REST API endpoints may timeout on appliances with many users or repositories. Retrying the request until data is returned is advised. - | @@ -93,3 +91,7 @@ sections: When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. - | Services may respond with a `503` status due to an out of date `haproxy` configuration. This can usually be resolved with a `ghe-config-apply` run. + errata: + - | + These release notes previously indicated as a known issue that on GitHub Enterprise Server 3.10.16 when log forwarding is enabled, some forwarded log entries may be duplicated. + The fix for this problem was already included in GitHub Enterprise Server [3.10.15](/admin/release-notes#3.10.15-bugs). [Updated: 2024-09-16] diff --git a/data/release-notes/enterprise-server/3-11/14.yml b/data/release-notes/enterprise-server/3-11/14.yml index c738cc36025e..ba36f98fec1f 100644 --- a/data/release-notes/enterprise-server/3-11/14.yml +++ b/data/release-notes/enterprise-server/3-11/14.yml @@ -91,8 +91,6 @@ sections: Due to a known regression, operators will not be able to use the `ghe-migrations` visualizer to view the status of migrations during an upgrade. Instead, the operator can inspect the log files in `/var/log/dbmigration` to see the status and progress of migrations. - | The `reply.HOSTNAME` subdomain is falsely displayed as having no SSL and DNS record, when testing the domain settings via the Management Console without subdomain isolation. - - | - When log forwarding is enabled, some forwarded log entries may be duplicated. - | Admin stats REST API endpoints may timeout on appliances with many users or repositories. Retrying the request until data is returned is advised. - | @@ -105,3 +103,7 @@ sections: {% data reusables.release-notes.2024-08-resolvconf-wont-start %} [Updated: 2024-08-26] + errata: + - | + These release notes previously indicated as a known issue that on GitHub Enterprise Server 3.11.14 when log forwarding is enabled, some forwarded log entries may be duplicated. + The fix for this problem was already included in GitHub Enterprise Server [3.11.13](/admin/release-notes#3.11.13-bugs). [Updated: 2024-09-16] \ No newline at end of file diff --git a/data/release-notes/enterprise-server/3-12/8.yml b/data/release-notes/enterprise-server/3-12/8.yml index d3683b583e77..409efc1a7a18 100644 --- a/data/release-notes/enterprise-server/3-12/8.yml +++ b/data/release-notes/enterprise-server/3-12/8.yml @@ -97,8 +97,6 @@ sections: Due to a known regression, operators will not be able to use the `ghe-migrations` visualizer to view the status of migrations during an upgrade. Instead, the operator can inspect the log files in `/var/log/dbmigration` to see the status and progress of migrations. - | The `reply.HOSTNAME` subdomain is falsely displayed as having no SSL and DNS record, when testing the domain settings via the Management Console without subdomain isolation. - - | - When log forwarding is enabled, some forwarded log entries may be duplicated. - | Admin stats REST API endpoints may timeout on appliances with many users or repositories. Retrying the request until data is returned is advised. - | @@ -113,3 +111,7 @@ sections: {% data reusables.release-notes.2024-08-resolvconf-wont-start %} [Updated: 2024-08-26] + errata: + - | + These release notes previously indicated as a known issue that on GitHub Enterprise Server 3.12.8 when log forwarding is enabled, some forwarded log entries may be duplicated. + The fix for this problem was already included in GitHub Enterprise Server [3.12.7](/admin/release-notes#3.12.7-bugs). [Updated: 2024-09-16] \ No newline at end of file diff --git a/data/release-notes/enterprise-server/3-13/3.yml b/data/release-notes/enterprise-server/3-13/3.yml index 621d65e59034..f42fd4fb6839 100644 --- a/data/release-notes/enterprise-server/3-13/3.yml +++ b/data/release-notes/enterprise-server/3-13/3.yml @@ -97,8 +97,6 @@ sections: Repositories originally imported using `ghe-migrator` will not correctly track Advanced Security contributions. - | Due to a known regression, operators will not be able to use the `ghe-migrations` visualizer to view the status of migrations during an upgrade. Instead, the operator can inspect the log files in `/var/log/dbmigration` to see the status and progress of migrations. - - | - When log forwarding is enabled, some forwarded log entries may be duplicated. - | For an instance in a cluster configuration and with GitHub Actions enabled, restoring a cluster from backup requires targeting the primary DB node. - | @@ -127,3 +125,7 @@ sections: {% data reusables.release-notes.2024-08-resolvconf-wont-start %} [Updated: 2024-08-26] + errata: + - | + These release notes previously indicated as a known issue that on GitHub Enterprise Server 3.13.3 when log forwarding is enabled, some forwarded log entries may be duplicated. + The fix for this problem was already included in GitHub Enterprise Server [3.13.2](/admin/release-notes#3.13.2-bugs). [Updated: 2024-09-16] diff --git a/data/release-notes/enterprise-server/3-14/0.yml b/data/release-notes/enterprise-server/3-14/0.yml index dfa85a05128d..7901a2de05b5 100644 --- a/data/release-notes/enterprise-server/3-14/0.yml +++ b/data/release-notes/enterprise-server/3-14/0.yml @@ -187,8 +187,6 @@ sections: {% data reusables.release-notes.large-adoc-files-issue %} - | Repositories originally imported using ghe-migrator will not correctly track Advanced Security contributions. - - | - When log forwarding is enabled, some forwarded log entries may be duplicated. - | REST API endpoints for admin stats may time out on appliances with many users or repositories. Retrying the request until data is returned is advised. - | @@ -221,3 +219,8 @@ sections: deprecations: - | The Manage GHES API reached feature parity with the Management Console API in GHES 3.12. As a result, we will remove the Management Console API in GitHub Enterprise Server 3.15. For information about updating tooling that relies on the Management Console API, see "[AUTOTITLE](/rest/enterprise-admin/management-console)." + + errata: + - | + These release notes previously indicated as a known issue that on GitHub Enterprise Server 3.14.0 when log forwarding is enabled, some forwarded log entries may be duplicated. + The fix for this problem was already included prior to the release of GitHub Enterprise Server 3.14.0. [Updated: 2024-09-16] \ No newline at end of file diff --git a/data/reusables/accounts/your-personal-account.md b/data/reusables/accounts/your-personal-account.md index d3a8146575e5..986a0b88d894 100644 --- a/data/reusables/accounts/your-personal-account.md +++ b/data/reusables/accounts/your-personal-account.md @@ -1 +1 @@ -Every person who uses {% data variables.location.product_location %} signs in to a personal account. Your personal account is your identity on {% data variables.location.product_location %} and has a username and profile. For example, see [@octocat's profile](https://github.com/octocat). +Every person who uses {% data variables.product.github %} signs in to a user account. Your user account is your identity on {% data variables.product.github %} and has a username and profile. For example, see [@octocat's profile](https://github.com/octocat). diff --git a/data/reusables/actions/azure-vnet-supported-regions.md b/data/reusables/actions/azure-vnet-supported-regions.md index f6bee03306fb..1dc5667bb260 100644 --- a/data/reusables/actions/azure-vnet-supported-regions.md +++ b/data/reusables/actions/azure-vnet-supported-regions.md @@ -32,10 +32,8 @@ Azure private networking supports arm64 runners in the following regions. * `EastUs` * `EastUs2` * `WestUs2` +* `WestUs3` * `NorthCentralUs` * `SouthCentralUs` -> [!NOTE] -> arm64 runners are currently in beta and subject to change. - If your desired region is not supported, please submit a request for new region availability in [this GitHub form](https://resources.github.com/private-networking-for-github-hosted-runners-with-azure-virtual-networks/). You may also use global virtual network peering to connect virtual networks across Azure regions. For more information, see [Virtual network peering](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview) in the Azure documentation. diff --git a/data/reusables/actions/gai-inspect-audit.md b/data/reusables/actions/gai-inspect-audit.md index b1c94e2a3133..3281c5bc7f3e 100644 --- a/data/reusables/actions/gai-inspect-audit.md +++ b/data/reusables/actions/gai-inspect-audit.md @@ -12,7 +12,7 @@ Listed below are some key terms that can appear in the "Pipelines" section: * **Partially successful** pipelines had all of the pipeline constructs converted, however, there were some individual items that were not converted automatically to their {% data variables.product.prodname_actions %} equivalent. * **Unsupported** pipelines are definition types that are not supported by {% data variables.product.prodname_actions_importer %}. * **Failed** pipelines encountered a fatal error when being converted. This can occur for one of three reasons: - * The pipeline was misconfigured and not valid in Bamboo. + * The pipeline was originally misconfigured and not valid. * {% data variables.product.prodname_actions_importer %} encountered an internal error when converting it. * There was an unsuccessful network response that caused the pipeline to be inaccessible, which is often due to invalid credentials. diff --git a/data/reusables/actions/jobs/section-defining-outputs-for-jobs.md b/data/reusables/actions/jobs/section-defining-outputs-for-jobs.md index f37718764cf6..f9171dc39cae 100644 --- a/data/reusables/actions/jobs/section-defining-outputs-for-jobs.md +++ b/data/reusables/actions/jobs/section-defining-outputs-for-jobs.md @@ -4,6 +4,8 @@ You can use `jobs..outputs` to create a `map` of outputs for a job. Job Job outputs containing expressions are evaluated on the runner at the end of each job. Outputs containing secrets are redacted on the runner and not sent to {% data variables.product.prodname_actions %}. +If an output is skipped because it may contain a secret, you will see the following warning message: "Skip output `{output.Key}` since it may contain secret." For more information on how to handle secrets, please refer to the [Example: Masking and passing a secret between jobs or workflows](/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#example-masking-and-passing-a-secret-between-jobs-or-workflows). + To use job outputs in a dependent job, you can use the `needs` context. For more information, see "[AUTOTITLE](/actions/learn-github-actions/contexts#needs-context)." ### Example: Defining outputs for a job diff --git a/data/reusables/actions/larger-runners-table.md b/data/reusables/actions/larger-runners-table.md index a9d0e234fa0b..002f201f83aa 100644 --- a/data/reusables/actions/larger-runners-table.md +++ b/data/reusables/actions/larger-runners-table.md @@ -1,4 +1,4 @@ | Runner Size | Architecture| Processor (CPU)| Memory (RAM) | Storage (SSD) | Workflow label | | ------------| ------------| -------------- | ------------- | ------------- | -------------- | -| Large | Intel | 12 | 30 GB | 14 GB | macos-latest-large, macos-12-large, macos-13-large [latest], macos-14-large[Beta] | -| XLarge | arm64 (M1) | 6 (+ 8 GPU hardware acceleration) | 14 GB | 14 GB | macos-latest-xlarge, macos-13-xlarge [latest], macos-14-xlarge[Beta] | +| Large | Intel | 12 | 30 GB | 14 GB | macos-latest-large, macos-12-large, macos-13-large , macos-14-large [latest] | +| XLarge | arm64 (M1) | 6 (+ 8 GPU hardware acceleration) | 14 GB | 14 GB | macos-latest-xlarge, macos-13-xlarge, macos-14-xlarge [latest] | diff --git a/data/reusables/actions/self-hosted-runner-labels-runs-on.md b/data/reusables/actions/self-hosted-runner-labels-runs-on.md index a9a16920c4db..7daf5e7e1bd8 100644 --- a/data/reusables/actions/self-hosted-runner-labels-runs-on.md +++ b/data/reusables/actions/self-hosted-runner-labels-runs-on.md @@ -2,4 +2,4 @@ To specify a self-hosted runner for your job, configure `runs-on` in your workfl Self-hosted runners may have the `self-hosted` label. When setting up a self-hosted runner, by default we will include the label `self-hosted`. You may pass in the `--no-default-labels` flag to prevent the self-hosted label from being applied. Labels can be used to create targeting options for runners, such as operating system or architecture, we recommend providing an array of labels that begins with `self-hosted` (this must be listed first) and then includes additional labels as needed. When you specify an array of labels, jobs will be queued on runners that have all the labels that you specify. -Note that Action-runner-controller does not support multiple labels and does not support the `self-hosted` label. +Note that Actions Runner Controller does not support multiple labels and does not support the `self-hosted` label. diff --git a/data/reusables/actions/service-container-host.md b/data/reusables/actions/service-container-host.md index a84d989bd076..8bb4b74df211 100644 --- a/data/reusables/actions/service-container-host.md +++ b/data/reusables/actions/service-container-host.md @@ -1 +1 @@ -This workflow configures a job that runs in the `node:10.18-jessie` container and uses the `ubuntu-latest` {% ifversion not ghes %} {% data variables.product.prodname_dotcom %}-hosted {%- endif %} runner as the Docker host for the container. For more information about the `node:10.18-jessie` container, see the [node image](https://hub.docker.com/_/node) on Docker Hub. +This workflow configures a job that runs in the `node:20-bookworm-slim` container and uses the `ubuntu-latest` {% ifversion not ghes %} {% data variables.product.prodname_dotcom %}-hosted {%- endif %} runner as the Docker host for the container. For more information about the `node:20-bookworm-slim` container, see the [node image](https://hub.docker.com/_/node) on Docker Hub. diff --git a/data/reusables/branches/new-repo-default-branch.md b/data/reusables/branches/new-repo-default-branch.md index 969f14197cfe..8c00d774f10d 100644 --- a/data/reusables/branches/new-repo-default-branch.md +++ b/data/reusables/branches/new-repo-default-branch.md @@ -1 +1 @@ -When you create a repository with content on {% data variables.location.product_location %}, {% data variables.product.product_name %} creates the repository with a single branch. This first branch in the repository is the default branch. +When you create a repository with content on {% data variables.product.prodname_dotcom %}, {% data variables.product.product_name %} creates the repository with a single branch. This first branch in the repository is the default branch. diff --git a/data/reusables/copilot-business-for-non-ghe/link-azure-subscription.md b/data/reusables/copilot-business-for-non-ghe/link-azure-subscription.md index cbae92091e47..71e35bd53779 100644 --- a/data/reusables/copilot-business-for-non-ghe/link-azure-subscription.md +++ b/data/reusables/copilot-business-for-non-ghe/link-azure-subscription.md @@ -1,8 +1,4 @@ -To pay for licenses, you must connect your enterprise to an Azure subscription. - -For an overview of the process, watch [Billing {% data variables.product.company_short %} consumption through an Azure subscription](https://www.youtube.com/watch?v=DAiIhJKCt8s&ab_channel=GitHub) on our YouTube channel. - -For written instructions, read the following sections in the "Connecting an Azure subscription" article: +To pay for licenses, you must connect your enterprise to an Azure subscription. For instructions, read the following sections in the "Connecting an Azure subscription" article: * "[Prerequisites](/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription#prerequisites)" * "[Connecting your Azure subscription to an enterprise account](/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription#connecting-your-azure-subscription-to-your-enterprise-account)" diff --git a/data/reusables/copilot/copilot-extensions/beta-note.md b/data/reusables/copilot/copilot-extensions/beta-note.md index 7181c8c835bf..a312a98fc6d9 100644 --- a/data/reusables/copilot/copilot-extensions/beta-note.md +++ b/data/reusables/copilot/copilot-extensions/beta-note.md @@ -1 +1 @@ -> [!NOTE] {% data variables.product.prodname_copilot_extensions %} are in limited public beta and subject to change. To request access to {% data variables.product.prodname_copilot_extensions_short %}, join the [waitlist](https://gh.io/join-copilot-extensions). +> [!NOTE] {% data variables.product.prodname_copilot_extensions %} is in public beta and subject to change. diff --git a/data/reusables/copilot/copilot-extensions/copilot-extensions-intro.md b/data/reusables/copilot/copilot-extensions/copilot-extensions-intro.md index 82a9738e7eac..657664cdd0a9 100644 --- a/data/reusables/copilot/copilot-extensions/copilot-extensions-intro.md +++ b/data/reusables/copilot/copilot-extensions/copilot-extensions-intro.md @@ -1 +1 @@ -{% data variables.product.prodname_copilot_extensions %} are **a type of {% data variables.product.prodname_github_app %} that integrates the power of external tools into {% data variables.product.prodname_copilot_chat %}**. {% data variables.product.prodname_copilot_extensions_short %} are developed by {% data variables.copilot.copilot_partners %}, a group of external tools selected by {% data variables.product.company_short %} for their utility when integrated into {% data variables.product.prodname_copilot_chat_short %}. To become a {% data variables.copilot.copilot_partner %}, you can apply to the [{% data variables.copilot.copilot_partner_program %}](https://github.com/features/preview/copilot-partner-program). +{% data variables.product.prodname_copilot_extensions %} are **a type of {% data variables.product.prodname_github_app %} that integrates the power of external tools into {% data variables.product.prodname_copilot_chat %}**. {% data variables.product.prodname_copilot_extensions_short %} can be developed by anyone, for private or public use, and can be shared with others through the {% data variables.product.prodname_marketplace %}. diff --git a/data/reusables/copilot/copilot-extensions/extension-specific-onboarding-steps.md b/data/reusables/copilot/copilot-extensions/extension-specific-onboarding-steps.md new file mode 100644 index 000000000000..a00f1d65f301 --- /dev/null +++ b/data/reusables/copilot/copilot-extensions/extension-specific-onboarding-steps.md @@ -0,0 +1 @@ +1. After installing a {% data variables.product.prodname_copilot_extension_short %}, you need to complete the authentication and onboarding steps unique to that extension. Visit the extension's marketplace listing page or the developer's documentation to complete the necessary steps. diff --git a/data/reusables/dependabot/dependabot-updates-supported-repos-ecosystems.md b/data/reusables/dependabot/dependabot-updates-supported-repos-ecosystems.md new file mode 100644 index 000000000000..bd4589dfc894 --- /dev/null +++ b/data/reusables/dependabot/dependabot-updates-supported-repos-ecosystems.md @@ -0,0 +1 @@ +For information on the supported repositories and ecosystems, see "[AUTOTITLE](/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories)." diff --git a/data/reusables/dependabot/supported-package-managers.md b/data/reusables/dependabot/supported-package-managers.md index caa0657c017b..7aef66db4dfe 100644 --- a/data/reusables/dependabot/supported-package-managers.md +++ b/data/reusables/dependabot/supported-package-managers.md @@ -1,41 +1,37 @@ -The following table shows, for each package manager: -* The YAML value to use in the `dependabot.yml` file -* The supported versions of the package manager -* Whether dependencies in private {% data variables.product.prodname_dotcom %} repositories or registries are supported -* Whether vendored dependencies are supported - -| Package manager | YAML value | Supported versions | Private repositories | Private registries | Vendoring | -| ---------------|------------------|------------------|:---:|:---:|:---: | -| Bundler | `bundler` | v1, v2 | {% octicon "x" aria-label="Not supported" %}| {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | -| [Cargo](#cargo) | `cargo` | v1 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %}{% ifversion dependabot-updates-cargo-private-registry-support %}{% else %} (Git only){% endif %} | {% octicon "x" aria-label="Not supported" %} | -| Composer | `composer` | v1, v2 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +Package manager | YAML value | Supported versions | Version updates | Security updates | Private repositories | Private registries | Vendoring | +---------------|------------------|------------------|:---:|:---:|:---:|:---:|:---:| +Bundler | `bundler` | v1, v2 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %}| {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | +[Cargo](#cargo) | `cargo` | v1 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %}{% ifversion dependabot-updates-cargo-private-registry-support %}{% else %} (Git only){% endif %} | {% octicon "x" aria-label="Not supported" %} | +Composer | `composer` | v1, v2 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | | {% ifversion dependabot-version-updates-devcontainer-support %} | -| [Dev containers](#dev-containers) | `devcontainers` | Not applicable | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | -| {% endif %}| -| {% ifversion dependabot-version-updates-enhanced-docker-support %}| -| [Docker](#docker){% else %}Docker{% endif %} | `docker` | v1 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | Not applicable | -| Hex | `mix` | v1 | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | -| elm-package | `elm` | v0.19 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | -| git submodule | `gitsubmodule` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | Not applicable | -| [{% data variables.product.prodname_actions %}](#github-actions) | `github-actions` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | Not applicable | -| Go modules | `gomod` | v1 | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | -| [Gradle](#gradle) | `gradle` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | -| [Maven](#maven) | `maven` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | -| npm | `npm` | v6, v7, v8, v9 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | -| [NuGet](#nuget-cli) | `nuget` | {% ifversion dependabot-updates-v680-nuget-support %}<=6.8.0{% elsif ghes = 3.12 %}<= 6.7.0{% else %}<= 4.8{% endif %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | -| {% ifversion dependabot-PEP621-support %} [pip](#pip-and-pip-compile){% else %}pip{% endif %} | `pip` | v21.1.2 | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | -| pipenv | `pip` | <= 2021-05-29 | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | -| {% ifversion dependabot-PEP621-support %}[pip-compile](#pip-and-pip-compile){% else %}pip-compile{% endif %} | `pip` | 6.1.0 | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +[Dev containers](#dev-containers) | `devcontainers` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | +| {% endif %} | +| {% ifversion dependabot-version-updates-enhanced-docker-support %} | +[Docker](#docker){% else %}Docker{% endif %} | `docker` | v1 | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | Not applicable | +Hex | `mix` | v1 | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +elm-package | `elm` | v0.19 | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +git submodule | `gitsubmodule` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | Not applicable | +[{% data variables.product.prodname_actions %}](#github-actions) | `github-actions` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | Not applicable | +Go modules | `gomod` | v1 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | +[Gradle](#gradle) | `gradle` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +[Maven](#maven) | `maven` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +npm | `npm` | v6, v7, v8, v9 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +[NuGet](#nuget-cli) | `nuget` | {% ifversion dependabot-updates-v680-nuget-support %}<=6.8.0{% elsif ghes = 3.12 %}<= 6.7.0{% else %}<= 4.8{% endif %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +| {% ifversion dependabot-PEP621-support %}[pip](#pip-and-pip-compile){% else %}pip{% endif %} | `pip` | v21.1.2 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +pipenv | `pip` | <= 2021-05-29 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +| {% ifversion dependabot-PEP621-support %}[pip-compile](#pip-and-pip-compile){% else %}pip-compile{% endif %} | `pip` | 6.1.0 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | | {% ifversion dependabot-updates-pnpm-support %} | -| [pnpm](#pnpm) | `npm` | v7, v8, v9 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +[pnpm](#pnpm) | `npm` | v7, v8, v9 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} (v7 and v8 only) | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | | {% endif %} | -| poetry | `pip` | v1 | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | -| [pub](#pub) | `pub` | v2 | {% ifversion dependabot-updates-pub-private-registry %}{% octicon "check" aria-label="Supported" %}{% else %}{% octicon "x" aria-label="Not supported" %}{% endif %} | {% ifversion dependabot-updates-pub-private-registry %}{% octicon "check" aria-label="Supported" %}{% else %}{% octicon "x" aria-label="Not supported" %}{% endif %} | {% octicon "x" aria-label="Not supported" %} | +poetry | `pip` | v1 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +[pub](#pub) | `pub` | v2 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% ifversion dependabot-updates-pub-private-registry %}{% octicon "check" aria-label="Supported" %}{% else %}{% octicon "x" aria-label="Not supported" %}{% endif %} | {% ifversion dependabot-updates-pub-private-registry %}{% octicon "check" aria-label="Supported" %}{% else %}{% octicon "x" aria-label="Not supported" %}{% endif %} | {% octicon "x" aria-label="Not supported" %} | | {% ifversion dependabot-updates-swift-support %} | -| [Swift](#swift) | `swift` | v5 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} (git only) | {% octicon "x" aria-label="Not supported" %} | +[Swift](#swift) | `swift` | v5 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} (git only) | {% octicon "x" aria-label="Not supported" %} | +| {% endif %} | +[Terraform](#terraform) | `terraform` | >= 0.13, <= 1.8.x | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | Not applicable | +| {% ifversion dependabot-yarn-v3-update %} | +[yarn](#yarn) | `npm` | v1, v2, v3 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %}|{% else %}yarn | `npm` | v1 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | | {% endif %} | -| [Terraform](#terraform) | `terraform` | >= 0.13, <= 1.8.x | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | Not applicable | -| [yarn](#yarn) | `npm` | v1, v2, v3 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %}| {% tip %} @@ -43,6 +39,8 @@ The following table shows, for each package manager: {% endtip %} +For further information about ecosystem support for {% data variables.product.prodname_dependabot_security_updates %}, see also "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems)." + #### Cargo {% ifversion dependabot-updates-cargo-private-registry-support %}Private registry support includes cargo registries, so you can use {% data variables.product.prodname_dependabot %} to keep your Rust dependencies up-to-date. For more information, see "[AUTOTITLE](/code-security/dependabot/working-with-dependabot/guidance-for-the-configuration-of-private-registries-for-dependabot#cargo)."{% else %}Private registry support applies to Git registries, and doesn't include cargo registries.{% endif %} @@ -126,7 +124,7 @@ In addition to supporting updates to `requirements.txt` files, {% data variables #### pnpm {% ifversion dependabot-dependency-graph-pnpm %} -pnpm is supported for {% data variables.product.prodname_dependabot_version_updates %} and {% data variables.product.prodname_dependabot_security_updates %}. +pnpm is supported for {% data variables.product.prodname_dependabot_version_updates %} (on v7, v8, and v9) and {% data variables.product.prodname_dependabot_security_updates %} (on v7 and v8 only). {% else %} pnpm is supported for {% data variables.product.prodname_dependabot_version_updates %} only. {% data variables.product.prodname_dependabot_security_updates %} are not currently supported. diff --git a/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md b/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md index 308981c83641..6dbe0a4b1a44 100644 --- a/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md +++ b/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md @@ -1,4 +1,4 @@ -1. On {% data variables.location.product_location %}, navigate to the main page of your organization. +1. On {% data variables.product.prodname_dotcom %}, navigate to the main page of your organization. 1. Under your organization name, click {% octicon "gear" aria-label="The gear icon" %} **Settings**. diff --git a/data/reusables/discussions/navigate-to-repo-or-org.md b/data/reusables/discussions/navigate-to-repo-or-org.md index 17ca81827c85..11d0d36c32a6 100644 --- a/data/reusables/discussions/navigate-to-repo-or-org.md +++ b/data/reusables/discussions/navigate-to-repo-or-org.md @@ -1 +1 @@ -1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization. +1. On {% data variables.product.prodname_dotcom %}, navigate to the main page of the repository or organization. diff --git a/data/reusables/discussions/starting-a-discussion.md b/data/reusables/discussions/starting-a-discussion.md index 9e0de6a2615a..7e33f133ea10 100644 --- a/data/reusables/discussions/starting-a-discussion.md +++ b/data/reusables/discussions/starting-a-discussion.md @@ -1,4 +1,4 @@ -1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization where you want to start a discussion. +1. On {% data variables.product.prodname_dotcom %}, navigate to the main page of the repository or organization where you want to start a discussion. {% data reusables.discussions.discussions-tab %} 1. On the right side of the page, click **New discussion**. 1. Select a discussion category by clicking **Get started**. diff --git a/data/reusables/dotcom_billing/view-all-subscriptions.md b/data/reusables/dotcom_billing/view-all-subscriptions.md index 41f0921edddc..5c427d90d515 100644 --- a/data/reusables/dotcom_billing/view-all-subscriptions.md +++ b/data/reusables/dotcom_billing/view-all-subscriptions.md @@ -1 +1 @@ -To view all the subscriptions for your account on {% data variables.location.product_location %}, see "[AUTOTITLE](/billing/managing-your-github-billing-settings/viewing-your-subscriptions-and-billing-date)." +To view all the subscriptions for your account on {% data variables.product.prodname_dotcom %}, see "[AUTOTITLE](/billing/managing-your-github-billing-settings/viewing-your-subscriptions-and-billing-date)." diff --git a/data/reusables/enterprise-accounts/emu-shortcode.md b/data/reusables/enterprise-accounts/emu-shortcode.md index bd4ba9e995a7..d96d739cf503 100644 --- a/data/reusables/enterprise-accounts/emu-shortcode.md +++ b/data/reusables/enterprise-accounts/emu-shortcode.md @@ -1 +1,3 @@ The short code must be unique to your enterprise, a three-to-eight character alphanumeric string, and contain no special characters. + +> [!WARNING] The short code will be appended to the end of all usernames in your enterprise account. It is not possible to modify the short code after your {% data variables.enterprise.prodname_emu_enterprise %} has been created. Please make sure to select an appropriate short code when requesting your new enterprise account. diff --git a/data/reusables/enterprise-migration-tool/about-the-migrator-role.md b/data/reusables/enterprise-migration-tool/about-the-migrator-role.md index 7301a127b168..96b203361391 100644 --- a/data/reusables/enterprise-migration-tool/about-the-migrator-role.md +++ b/data/reusables/enterprise-migration-tool/about-the-migrator-role.md @@ -2,6 +2,9 @@ To remove the need for organization owners to complete migrations, {% data varia You can grant the migrator role to an individual user or a team. We strongly recommend that you assign the migrator role to a team. Then, you can further customize who can run a migration by adjusting team membership. For more information about changing team membership, see "[AUTOTITLE](/organizations/organizing-members-into-teams/adding-organization-members-to-a-team)" or "[AUTOTITLE](/organizations/organizing-members-into-teams/removing-organization-members-from-a-team)." +> [!WARNING] +> When you grant the migrator role in an organization to a user or team, you are granting them the ability to import or export any repository in that organization. + To grant the migrator role, see "[Granting the migrator role](#granting-the-migrator-role)." After you grant the migrator role, make sure the migrator uses a {% data variables.product.pat_generic %} that meets all the requirements for running migrations. diff --git a/data/reusables/enterprise/single-organizations-enterprise-migration.md b/data/reusables/enterprise/single-organizations-enterprise-migration.md index eddc10f9abec..d74e8832e861 100644 --- a/data/reusables/enterprise/single-organizations-enterprise-migration.md +++ b/data/reusables/enterprise/single-organizations-enterprise-migration.md @@ -1,3 +1 @@ -> [!NOTE] Starting September 3, 2024, {% data variables.product.prodname_ghe_cloud %} customers who use a single organization will be automatically upgraded to an enterprise account at no additional cost. - - \ No newline at end of file +> [!NOTE] Currently, {% data variables.product.prodname_ghe_cloud %} customers who use a single organization are being automatically upgraded to an enterprise account at no additional cost. For details, see "[AUTOTITLE](/admin/managing-your-enterprise-account/creating-an-enterprise-account#what-will-happen-after-i-upgrade-my-organization)." diff --git a/data/reusables/files/choose-commit-email.md b/data/reusables/files/choose-commit-email.md index 05c43e8519d5..32cff80d725f 100644 --- a/data/reusables/files/choose-commit-email.md +++ b/data/reusables/files/choose-commit-email.md @@ -1,5 +1,5 @@ {%- ifversion fpt or ghec %} -1. If you have more than one email address associated with your account on {% data variables.location.product_location %}, click the email address drop-down menu and select the email address to use as the Git author email address. Only verified email addresses appear in this drop-down menu. If you enabled email address privacy, then a no-reply will be the default commit author email address. For more information about the exact form the no-reply email address can take, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address)." +1. If you have more than one email address associated with your account on {% data variables.product.prodname_dotcom %}, click the email address drop-down menu and select the email address to use as the Git author email address. Only verified email addresses appear in this drop-down menu. If you enabled email address privacy, then a no-reply will be the default commit author email address. For more information about the exact form the no-reply email address can take, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address)." ![Screenshot of a {% data variables.product.prodname_dotcom %} pull request showing a dropdown menu with options to choose the commit author email address. octocat@github.com is selected.](/assets/images/help/repository/choose-commit-email-address.png) {%- endif %} diff --git a/data/reusables/gated-features/copilot-extensions.md b/data/reusables/gated-features/copilot-extensions.md index 9094f6b816f0..d48ca49d26fc 100644 --- a/data/reusables/gated-features/copilot-extensions.md +++ b/data/reusables/gated-features/copilot-extensions.md @@ -1,5 +1,3 @@ -To use {% data variables.product.prodname_copilot_extensions_short %}, you must be enrolled in the limited public beta. +Anyone with a {% data variables.product.prodname_copilot_for_individuals %} subscription can use {% data variables.product.prodname_copilot_extensions_short %}. -All enrolled users with a {% data variables.product.prodname_copilot_for_individuals %} subscription can use {% data variables.product.prodname_copilot_extensions_short %}. - -For enrolled organizations or enterprises with a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription, organization owners and enterprise administrators can grant access to {% data variables.product.prodname_copilot_extensions_short %}. +For organizations or enterprises with a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription, organization owners and enterprise administrators can grant access to {% data variables.product.prodname_copilot_extensions_short %}. diff --git a/data/reusables/identity-and-permissions/ip-allow-lists-which-resources-are-protected.md b/data/reusables/identity-and-permissions/ip-allow-lists-which-resources-are-protected.md index 938e4deed340..3a5013ae1dc3 100644 --- a/data/reusables/identity-and-permissions/ip-allow-lists-which-resources-are-protected.md +++ b/data/reusables/identity-and-permissions/ip-allow-lists-which-resources-are-protected.md @@ -4,7 +4,7 @@ IP allow lists **do** restrict access to: * Organization-owned repositories * Private and internal repositories -* Public resources, when a user is signed into {% data variables.location.product_location %} +* Public resources, when a user is signed into {% data variables.product.prodname_dotcom %} * Raw URLs for files in repositories, such as `https://github.com/raw/octo-org/octo-repo/main/README.md?token=ABC10001` IP allow lists do **not** restrict access to: diff --git a/data/reusables/marketplace/visit-marketplace.md b/data/reusables/marketplace/visit-marketplace.md index 9375295891bc..f82ecd8da968 100644 --- a/data/reusables/marketplace/visit-marketplace.md +++ b/data/reusables/marketplace/visit-marketplace.md @@ -1,3 +1,3 @@ -1. To open {% data variables.product.prodname_marketplace %}, in the top-left corner of {% data variables.location.product_location %}, select {% octicon "three-bars" aria-label="Open global navigation menu" %}, then click {% octicon "gift" aria-hidden="true" %} **Marketplace**. +1. To open {% data variables.product.prodname_marketplace %}, in the top-left corner of {% data variables.product.prodname_dotcom %}, select {% octicon "three-bars" aria-label="Open global navigation menu" %}, then click {% octicon "gift" aria-hidden="true" %} **Marketplace**. ![Screenshot of the navigation bar on {% data variables.product.product_name %}. The "Open global navigation menu" icon is outlined in dark orange.](/assets/images/help/navigation/global-navigation-menu-icon.png) diff --git a/data/reusables/organizations/additional-permissions.md b/data/reusables/organizations/additional-permissions.md new file mode 100644 index 000000000000..998fe0a25ef6 --- /dev/null +++ b/data/reusables/organizations/additional-permissions.md @@ -0,0 +1,65 @@ +{% ifversion discussions %} + +### Discussions + +* Create a discussion category +* Edit a discussion category +* Delete a discussion category +* Mark or unmark discussion answers +* Hide or unhide discussion comments +* Convert issues to discussions + +For more information, see "[AUTOTITLE](/discussions)." +{% endif %} + +### Issue and Pull Requests + +* Assign or remove a user +* Add or remove a label + +### Issue + +* Close an issue +* Reopen a closed issue +* Delete an issue +* Mark an issue as a duplicate + +### Pull Request + +* Close a pull request +* Reopen a closed pull request +* Request a pull request review + +### Repository + +* Set milestones +* Manage wiki settings +* Manage project settings +* Manage pull request merging settings +* Manage {% data variables.product.prodname_pages %} settings (see "[AUTOTITLE](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)") +* Manage webhooks +* Manage deploy keys +* Edit repository metadata +{%- ifversion ghec %} +* Set interaction limits +{%- endif %} +* Set the social preview +* Push commits to protected branches + * Base role must be `write` + * Branch protection rules will still apply +* Create protected tags +* Delete protected tags +* Bypass branch protections +{%- ifversion edit-repository-rules %} +* Edit repository rules +{%- endif %} + +### Security + +* View {% data variables.product.prodname_code_scanning %} results +* Dismiss or reopen {% data variables.product.prodname_code_scanning %} results +* Delete {% data variables.product.prodname_code_scanning %} results +* View {% data variables.product.prodname_dependabot_alerts %} +* Dismiss or reopen {% data variables.product.prodname_dependabot_alerts %} +* View {% data variables.product.prodname_secret_scanning %} results +* Dismiss or reopen {% data variables.product.prodname_secret_scanning %} results diff --git a/data/reusables/organizations/custom-org-roles-create-new-step.md b/data/reusables/organizations/custom-org-roles-create-new-step.md index 20c60fc22dab..99715e5c42ff 100644 --- a/data/reusables/organizations/custom-org-roles-create-new-step.md +++ b/data/reusables/organizations/custom-org-roles-create-new-step.md @@ -1,4 +1,14 @@ 1. Click **Create a role**. -1. Type a name and description for the custom role. -1. Under "Add permissions", click the text field, then select the permissions you want to add to the custom role. For more information about the available permissions, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles#additional-permissions-for-custom-roles)." +1. Type a name and description for the custom role.{% ifversion org-custom-role-with-repo-permissions %} +1. Under "Add permissions", click the **Organization** or **Repository** tab to select the type of permissions you want to add to the custom role. + + * To add permissions for the organization, click the **Organization** tab, then select the dropdown menu and click the permissions you want your custom role to include. + * To choose a base repository role to inherit, click the **Repository** tab, then select the dropdown menu and click the base role you want to include in the custom role. For more information about the available base repository roles, see "[Base roles for repository access](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles#base-roles-for-repository-access)." + + Once you've selected a base repository role, you can add additional permissions to the custom role. For more information about the available permissions, see "[Additional permissions for repository access](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles#additional-permissions-for-repository-access)." + + >[!NOTE] Adding a repository role and permissions to a custom organization role is currently in public beta and subject to change. + +{% else %} +1. Under "Add permissions", click the text field, then select the permissions you want to add to the custom role. For more information about the available permissions, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles#additional-permissions-for-custom-roles)."{% endif %} 1. Click **Create role**. diff --git a/data/reusables/organizations/custom-org-roles-intro.md b/data/reusables/organizations/custom-org-roles-intro.md index cd43619d6b9f..fb8681aea216 100644 --- a/data/reusables/organizations/custom-org-roles-intro.md +++ b/data/reusables/organizations/custom-org-roles-intro.md @@ -1 +1 @@ -You can have more granular control over the access you grant to your organization's settings by creating custom organization roles. Organization roles are a way to grant an organization member the ability to administer certain subsets of settings without granting full administrative control of the organization and its repositories. For example, you could create a role that contains the "View organization audit log" permission. +You can have more granular control over the access you grant to your {% ifversion org-custom-role-with-repo-permissions %}organization and repository's{% else %} organization's{% endif %} settings by creating custom organization roles. Organization roles are a way to grant an organization member the ability to administer certain subsets of settings without granting full administrative control of the organization and its repositories. For example, you could create a role that contains the "View organization audit log" permission. diff --git a/data/reusables/organizations/navigate-to-org.md b/data/reusables/organizations/navigate-to-org.md index ef3f95d2c287..4e98e4318bf4 100644 --- a/data/reusables/organizations/navigate-to-org.md +++ b/data/reusables/organizations/navigate-to-org.md @@ -1 +1 @@ -1. On {% data variables.location.product_location %}, navigate to the main page of the organization. +1. On {% data variables.product.prodname_dotcom %}, navigate to the main page of the organization. diff --git a/data/reusables/organizations/precedence-for-different-levels.md b/data/reusables/organizations/precedence-for-different-levels.md new file mode 100644 index 000000000000..a6047d830830 --- /dev/null +++ b/data/reusables/organizations/precedence-for-different-levels.md @@ -0,0 +1,9 @@ +Roles and permissions are additive. If a person is given different levels of access through different avenues, such as team membership and the base permissions for an organization, the user has the sum of all access grants. For example, if an organization owner gives an organization member a custom role that uses the "Read" inherited role, and then an organization owner sets the organization's base permission to "Write", then members with the custom role will have write access, along with any additional permissions included in the custom role. + +{% data reusables.organizations.mixed-roles-warning %} + +To resolve conflicting access, you can adjust your organization's base permissions or the team's access, or edit the custom role. For more information, see: +* "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization)" +* "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository)" +* "[Editing a repository role](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-custom-repository-roles-for-an-organization#editing-a-repository-role)"{% ifversion custom-org-roles %} +* "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-organization-roles#editing-a-custom-role)"{% endif %} diff --git a/data/reusables/organizations/require-ssh-cert.md b/data/reusables/organizations/require-ssh-cert.md index 082a6ebff341..76650012da08 100644 --- a/data/reusables/organizations/require-ssh-cert.md +++ b/data/reusables/organizations/require-ssh-cert.md @@ -4,6 +4,6 @@ **Note:** When you require SSH certificates, users will not be able to authenticate to access the organization's repositories over HTTPS or with an unsigned SSH key{% ifversion ghes %}.{% elsif ghec %}, regardless of whether the SSH key is authorized for an organization that requires authentication through an external identity system.{% endif %} - The requirement does not apply to authorized {% data variables.product.prodname_oauth_apps %} and {% data variables.product.prodname_github_apps %} {% ifversion ssh-cert-policy-allow-u2s-tokens %}(including user-to-server tokens){% endif %}, deploy keys, or to {% data variables.product.prodname_dotcom %} features such as {% data variables.product.prodname_actions %}{% ifversion fpt or ghec %} and {% data variables.product.prodname_codespaces %}{% endif %}, which are trusted environments within the {% data variables.product.prodname_dotcom %} ecosystem. + The requirement does not apply to authorized {% data variables.product.prodname_github_apps %} {% ifversion ssh-cert-policy-allow-u2s-tokens %}(including user-to-server tokens){% endif %}, deploy keys, or to {% data variables.product.prodname_dotcom %} features such as {% data variables.product.prodname_actions %}{% ifversion fpt or ghec %} and {% data variables.product.prodname_codespaces %}{% endif %}, which are trusted environments within the {% data variables.product.prodname_dotcom %} ecosystem. {% endnote %} diff --git a/data/reusables/projects/sunset_notice_content.md b/data/reusables/projects/sunset_notice_content.md index 262ffe3f7b43..9d2c19253de7 100644 --- a/data/reusables/projects/sunset_notice_content.md +++ b/data/reusables/projects/sunset_notice_content.md @@ -1,5 +1,3 @@ ->Creation of new {% data variables.projects.projects_v1_boards %} is now disabled. {% data variables.product.prodname_projects_v1_caps %} will be sunset and removed on August 23, 2024. You can read more about this change on [{% data variables.product.prodname_blog %}](https://gh.io/projects-classic-sunset-notice). +>{% data variables.product.prodname_projects_v1_caps %} has been removed. You can read more about this change on [{% data variables.product.prodname_blog %}](https://gh.io/projects-classic-sunset-notice). > >The new and improved Projects experience is available. For more information, see "[AUTOTITLE](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." -> ->On August 23, 2024, all remaining {% data variables.projects.projects_v1_boards %} will be automatically migrated before the feature is removed. diff --git a/data/reusables/pull_requests/configure_pull_request_merges_intro.md b/data/reusables/pull_requests/configure_pull_request_merges_intro.md index 86d2aa1ebf0a..653022fd8215 100644 --- a/data/reusables/pull_requests/configure_pull_request_merges_intro.md +++ b/data/reusables/pull_requests/configure_pull_request_merges_intro.md @@ -1 +1 @@ -You can configure pull request merge options on {% data variables.location.product_location %} to meet your workflow needs and preferences for managing Git history. For more information, see "[AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges)." +You can configure pull request merge options to meet your workflow needs and preferences for managing Git history. For more information, see "[AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges)." diff --git a/data/reusables/pull_requests/default_merge_option.md b/data/reusables/pull_requests/default_merge_option.md index 8765dc9b3258..567e15ba4d9c 100644 --- a/data/reusables/pull_requests/default_merge_option.md +++ b/data/reusables/pull_requests/default_merge_option.md @@ -1,4 +1,4 @@ -When you click the default **Merge pull request** option on a pull request on {% data variables.location.product_location %}, all commits from the feature branch are added to the base branch in a merge commit. The pull request is merged using [the `--no-ff` option](https://git-scm.com/docs/git-merge#_fast_forward_merge). +When you click the default **Merge pull request** option on a pull request, all commits from the feature branch are added to the base branch in a merge commit. The pull request is merged using [the `--no-ff` option](https://git-scm.com/docs/git-merge#_fast_forward_merge). To merge pull requests, you must have [write permissions](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization) in the repository. diff --git a/data/reusables/pull_requests/rebase_and_merge_summary.md b/data/reusables/pull_requests/rebase_and_merge_summary.md index 702600dbf5dd..8b99cca07cdd 100644 --- a/data/reusables/pull_requests/rebase_and_merge_summary.md +++ b/data/reusables/pull_requests/rebase_and_merge_summary.md @@ -1,4 +1,4 @@ -When you select the **Rebase and merge** option on a pull request on {% data variables.location.product_location %}, all commits from the topic branch (or head branch) are added onto the base branch individually without a merge commit. In that way, the rebase and merge behavior resembles a [fast-forward merge](https://git-scm.com/docs/git-merge#_fast_forward_merge) by maintaining a linear project history. However, rebasing achieves this by re-writing the commit history on the base branch with new commits. +When you select the **Rebase and merge** option on a pull request, all commits from the topic branch (or head branch) are added onto the base branch individually without a merge commit. In that way, the rebase and merge behavior resembles a [fast-forward merge](https://git-scm.com/docs/git-merge#_fast_forward_merge) by maintaining a linear project history. However, rebasing achieves this by re-writing the commit history on the base branch with new commits. The rebase and merge behavior on {% data variables.product.product_name %} deviates slightly from `git rebase`. Rebase and merge on {% data variables.product.prodname_dotcom %} will always update the committer information and create new commit SHAs, whereas `git rebase` outside of {% data variables.product.prodname_dotcom %} does not change the committer information when the rebase happens on top of an ancestor commit. For more information about `git rebase`, see [git-rebase](https://git-scm.com/docs/git-rebase) in the Git documentation. diff --git a/data/reusables/pull_requests/retention-checks-data.md b/data/reusables/pull_requests/retention-checks-data.md index d778b5c76217..71f0d6f5e47b 100644 --- a/data/reusables/pull_requests/retention-checks-data.md +++ b/data/reusables/pull_requests/retention-checks-data.md @@ -1,6 +1,6 @@ {% ifversion fpt or ghec %} -{% data variables.location.product_location %} retains checks data for 400 days. After 400 days, the data is archived. 10 days after archival, the data is permanently deleted. +{% data variables.product.prodname_dotcom %} retains checks data for 400 days. After 400 days, the data is archived. 10 days after archival, the data is permanently deleted. {% elsif ghes %} diff --git a/data/reusables/pull_requests/squash_and_merge_summary.md b/data/reusables/pull_requests/squash_and_merge_summary.md index 630bcc531465..4dce73ebf837 100644 --- a/data/reusables/pull_requests/squash_and_merge_summary.md +++ b/data/reusables/pull_requests/squash_and_merge_summary.md @@ -1,4 +1,4 @@ -When you select the **Squash and merge** option on a pull request on {% data variables.location.product_location %}, the pull request's commits are squashed into a single commit. Instead of seeing all of a contributor's individual commits from a topic branch, the commits are combined into one commit and merged into the default branch. Pull requests with squashed commits are merged using the [fast-forward option](https://git-scm.com/docs/git-merge#_fast_forward_merge). +When you select the **Squash and merge** option on a pull request, the pull request's commits are squashed into a single commit. Instead of seeing all of a contributor's individual commits from a topic branch, the commits are combined into one commit and merged into the default branch. Pull requests with squashed commits are merged using the [fast-forward option](https://git-scm.com/docs/git-merge#_fast_forward_merge). To squash and merge pull requests, you must have [write permissions](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization) in the repository, and the repository must [allow squash merging](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests). diff --git a/data/reusables/repositories/assign-an-issue-as-project-maintainer.md b/data/reusables/repositories/assign-an-issue-as-project-maintainer.md index f4adfbf8fc2c..ea40e8c4a2bb 100644 --- a/data/reusables/repositories/assign-an-issue-as-project-maintainer.md +++ b/data/reusables/repositories/assign-an-issue-as-project-maintainer.md @@ -1 +1 @@ -1. If you're a project maintainer, you can [assign the issue to someone](/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users), [add it to a {% data variables.projects.projects_v1_board %}](/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board#adding-issues-and-pull-requests-to-a-project-board-from-the-sidebar), [associate it with a milestone](/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests), or [apply a label](/issues/using-labels-and-milestones-to-track-work/managing-labels). +1. If you're a project maintainer, you can [assign the issue to someone](/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users), [add it to a {% data variables.projects.project_v2 %}](/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project#assigning-a-project-from-within-an-issue-or-pull-request), [associate it with a milestone](/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests), or [apply a label](/issues/using-labels-and-milestones-to-track-work/managing-labels). diff --git a/data/reusables/repositories/navigate-to-repo.md b/data/reusables/repositories/navigate-to-repo.md index 6069ceab1fce..61741cb65766 100644 --- a/data/reusables/repositories/navigate-to-repo.md +++ b/data/reusables/repositories/navigate-to-repo.md @@ -1 +1 @@ -1. On {% data variables.location.product_location %}, navigate to the main page of the repository. +1. On {% data variables.product.prodname_dotcom %}, navigate to the main page of the repository. diff --git a/data/reusables/repositories/push-rules-fork-network-note.md b/data/reusables/repositories/push-rules-fork-network-note.md new file mode 100644 index 000000000000..51b2da98df4f --- /dev/null +++ b/data/reusables/repositories/push-rules-fork-network-note.md @@ -0,0 +1,2 @@ +> [!NOTE] +> This ruleset will enforce push restrictions for this repository's entire fork network. diff --git a/data/reusables/repositories/rulesets-alternative.md b/data/reusables/repositories/rulesets-alternative.md index 8298c0281b20..0721248105b2 100644 --- a/data/reusables/repositories/rulesets-alternative.md +++ b/data/reusables/repositories/rulesets-alternative.md @@ -1 +1 @@ -As an alternative to branch protection rules or tag protection rules, you can create rulesets. Rulesets have a few advantages over branch and tag protection rules, such as statuses, and better discoverability without requiring admin access. You can also apply multiple rulesets at the same time. For more information, see "[AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets)." +As an alternative to branch protection rules{% ifversion ghes < 3.16 %} or tag protection rules{% endif %}, you can create rulesets. Rulesets have a few advantages over branch{% ifversion ghes < 3.16 %} and tag{% endif %} protection rules, such as statuses, and better discoverability without requiring admin access. You can also apply multiple rulesets at the same time. For more information, see "[AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets)." diff --git a/data/reusables/repositories/rulesets-push-rules-beta-note.md b/data/reusables/repositories/rulesets-push-rules-beta-note.md deleted file mode 100644 index b112b849a620..000000000000 --- a/data/reusables/repositories/rulesets-push-rules-beta-note.md +++ /dev/null @@ -1 +0,0 @@ ->[!NOTE] Push rulesets are in beta and subject to change. diff --git a/data/reusables/repositories/rulesets-push-rules-general-info-for-related-articles.md b/data/reusables/repositories/rulesets-push-rules-general-info-for-related-articles.md index 9d40b55bd848..6683e290ac3b 100644 --- a/data/reusables/repositories/rulesets-push-rules-general-info-for-related-articles.md +++ b/data/reusables/repositories/rulesets-push-rules-general-info-for-related-articles.md @@ -1,2 +1 @@ Your repository may have push rulesets enabled. Push rulesets may block creating a new file in the repository based on certain restrictions. Push rulesets apply to the repository's entire fork network. Which means that any push rulesets that are configured in the root repository will also apply to every fork of the repository. For more information, see "[AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets#about-rulesets)." - {% data reusables.repositories.rulesets-push-rules-beta-note %} diff --git a/data/reusables/repositories/you-can-fork.md b/data/reusables/repositories/you-can-fork.md index 6b99dabb8ca7..085a45dc1404 100644 --- a/data/reusables/repositories/you-can-fork.md +++ b/data/reusables/repositories/you-can-fork.md @@ -1,5 +1,5 @@ {% ifversion ghes or ghec %} -You can fork a private or internal repository to your personal account or to an organization on {% data variables.location.product_location %} where you have permission to create repositories, provided that the settings for the repository and your enterprise policies allow forking. Generally, you can fork any public repository to your personal account or to an organization where you have permission to create repositories{% ifversion ghec %}, unless you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}{% endif %}. +You can fork a private or internal repository to your personal account or to an organization on {% data variables.product.prodname_dotcom %} where you have permission to create repositories, provided that the settings for the repository and your enterprise policies allow forking. Generally, you can fork any public repository to your personal account or to an organization where you have permission to create repositories{% ifversion ghec %}, unless you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}{% endif %}. {% elsif fpt %} You can fork any public repository to your personal account, or to an organization where you have permission to create repositories. If you have access to a private repository and the owner permits forking, you can fork the repository to your personal account, or to an organization on {% data variables.product.prodname_team %} where you have permission to create repositories. You cannot fork a private repository to an organization using {% data variables.product.prodname_free_team %}. For more information about {% data variables.product.prodname_team %} and {% data variables.product.prodname_free_team %}, see "[AUTOTITLE](/get-started/learning-about-github/githubs-plans)." diff --git a/data/reusables/rest-api/secondary-rate-limit-rest-graphql.md b/data/reusables/rest-api/secondary-rate-limit-rest-graphql.md index fad9bc9b9376..406d89b65798 100644 --- a/data/reusables/rest-api/secondary-rate-limit-rest-graphql.md +++ b/data/reusables/rest-api/secondary-rate-limit-rest-graphql.md @@ -5,6 +5,7 @@ You may encounter a secondary rate limit if you: * _Make too many concurrent requests._ No more than 100 concurrent requests are allowed. This limit is shared across the REST API and GraphQL API. * _Make too many requests to a single endpoint per minute._ No more than 900 points per minute are allowed for REST API endpoints, and no more than 2,000 points per minute are allowed for the GraphQL API endpoint. For more information about points, see "[Calculating points for the secondary rate limit](#calculating-points-for-the-secondary-rate-limit)." * _Make too many requests per minute._ No more than 90 seconds of CPU time per 60 seconds of real time is allowed. No more than 60 seconds of this CPU time may be for the GraphQL API. You can roughly estimate the CPU time by measuring the total response time for your API requests. +* _Make too many requests that consume excessive compute resources in a short period of time._ * _Create too much content on {% data variables.product.company_short %} in a short amount of time._ In general, no more than 80 content-generating requests per minute and no more than 500 content-generating requests per hour are allowed. Some endpoints have lower content creation limits. Content creation limits include actions taken on the {% data variables.product.company_short %} web interface as well as via the REST API and GraphQL API. These secondary rate limits are subject to change without notice. You may also encounter a secondary rate limit for undisclosed reasons. diff --git a/data/reusables/secret-scanning/push-protection-delegated-bypass-note.md b/data/reusables/secret-scanning/push-protection-delegated-bypass-note.md new file mode 100644 index 000000000000..83c26a1b39fe --- /dev/null +++ b/data/reusables/secret-scanning/push-protection-delegated-bypass-note.md @@ -0,0 +1 @@ +Members {% ifversion push-protection-bypass-fine-grained-permissions %}with permission to review and manage bypass requests {% else %}of the bypass list{% endif %} are still protected from accidentally pushing secrets to a repository. If they attempt to push a commit containing a secret, their push is still blocked, but they can choose to bypass the block by specifying a reason for allowing the push. Members {% ifversion push-protection-bypass-fine-grained-permissions %}with permission to review and manage bypass requests {% else %}of the bypass list {% endif %}do not have to request bypass privileges from other members in order to override the block. diff --git a/data/reusables/secret-scanning/push-protection-delegated-bypass-overview.md b/data/reusables/secret-scanning/push-protection-delegated-bypass-overview.md deleted file mode 100644 index 274a575f4d4f..000000000000 --- a/data/reusables/secret-scanning/push-protection-delegated-bypass-overview.md +++ /dev/null @@ -1,9 +0,0 @@ -When you enable push protection, by default, anyone with write access to the repository can choose to bypass the protection by specifying a reason for allowing the push containing a secret. With delegated bypass, contributors to a repository are instead obligated to request "bypass privileges." The request is sent to a designated group of reviewers, who either approve or deny the request to bypass push protection. - -If the request to bypass push protection is approved, the contributor can push the commit containing the secret. If the request is denied, the contributor must remove the secret from the commit (or commits) containing the secret before pushing again. - -To configure delegated bypass, organization owners or repository administrators need to first create a "bypass list". The bypass list comprises specific roles and teams, such as the security team or repository administrators, who oversee requests from non-members to bypass push protection. For more information, see "[Configuring delegated bypass for an organization](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection#configuring-delegated-bypass-for-an-organization)" and "[Configuring delegated bypass for a repository](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/enabling-delegated-bypass-for-push-protection#configuring-delegated-bypass-for-a-repository)." - -Members of the bypass list view and manage requests through the "Push protection bypass" page in the **Security** tab of the repository. For more information, see "[Managing requests to bypass push protection](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/managing-requests-to-bypass-push-protection)." - -Members of the bypass list are still protected from accidentally pushing secrets to a repository. When a member of the bypass list attempts to push a commit containing a secret, their push is still blocked, but they can choose to bypass the block by specifying a reason for allowing the push. Members of the bypass list do not have to request bypass privileges from other members in order to override the block. diff --git a/data/reusables/sponsors/select-sponsorship-billing.md b/data/reusables/sponsors/select-sponsorship-billing.md index db0ef6969292..3ca0f861498d 100644 --- a/data/reusables/sponsors/select-sponsorship-billing.md +++ b/data/reusables/sponsors/select-sponsorship-billing.md @@ -1,3 +1,3 @@ 1. In the "Billing information" and "Payment method" sections, review your payment details. If your organization pays for {% data variables.product.prodname_sponsors %} by invoice, "Invoice balance" will be listed as the payment method. - Optionally, to change the payment details for your entire account on {% data variables.location.product_location %}, in the "Payment method" section, click **Edit**. Then, follow the prompts to complete the payment form. + Optionally, to change the payment details for your entire account on {% data variables.product.prodname_dotcom %}, in the "Payment method" section, click **Edit**. Then, follow the prompts to complete the payment form. diff --git a/data/reusables/ssh/about-ssh.md b/data/reusables/ssh/about-ssh.md index 5fc2a49ebf70..d8cfb1156994 100644 --- a/data/reusables/ssh/about-ssh.md +++ b/data/reusables/ssh/about-ssh.md @@ -1 +1 @@ -You can access and write data in repositories on {% data variables.location.product_location %} using SSH (Secure Shell Protocol). When you connect via SSH, you authenticate using a private key file on your local machine. +You can access and write data in repositories on {% data variables.product.prodname_dotcom %} using SSH (Secure Shell Protocol). When you connect via SSH, you authenticate using a private key file on your local machine. diff --git a/data/reusables/ssh/key-type-support.md b/data/reusables/ssh/key-type-support.md index f53bda259b1b..5714213b7319 100644 --- a/data/reusables/ssh/key-type-support.md +++ b/data/reusables/ssh/key-type-support.md @@ -3,7 +3,7 @@ **Note:** {% data variables.product.company_short %} improved security by dropping older, insecure key types on March 15, 2022. -As of that date, DSA keys (`ssh-dss`) are no longer supported. You cannot add new DSA keys to your personal account on {% data variables.location.product_location %}. +As of that date, DSA keys (`ssh-dss`) are no longer supported. You cannot add new DSA keys to your personal account on {% data variables.product.prodname_dotcom %}. RSA keys (`ssh-rsa`) with a `valid_after` before November 2, 2021 may continue to use any signature algorithm. RSA keys generated after that date must use a SHA-2 signature algorithm. Some older clients may need to be upgraded in order to use SHA-2 signatures. diff --git a/data/reusables/two_fa/mandatory-2fa-contributors-2023-nested.md b/data/reusables/two_fa/mandatory-2fa-contributors-2023-nested.md index 1fcdb470c865..6464a7466bad 100644 --- a/data/reusables/two_fa/mandatory-2fa-contributors-2023-nested.md +++ b/data/reusables/two_fa/mandatory-2fa-contributors-2023-nested.md @@ -1 +1 @@ -As of March 2023, {% data variables.product.prodname_dotcom %} began to require all users who contribute code on {% data variables.product.prodname_dotcom_the_website %} to enable one or more forms of two-factor authentication (2FA). If you were in an eligible group, you would have received a notification email when that group was selected for enrollment, marking the beginning of a 45-day 2FA enrollment period, and you would have seen banners asking you to enroll in 2FA on {% data variables.product.prodname_dotcom_the_website %}. If you didn't receive a notification, then you were not part of a group required to enable 2FA, though we strongly recommend it. +As of March 2023, {% data variables.product.prodname_dotcom %} required all users who contribute code on {% data variables.product.prodname_dotcom_the_website %} to enable one or more forms of two-factor authentication (2FA). If you were in an eligible group, you would have received a notification email when that group was selected for enrollment, marking the beginning of a 45-day 2FA enrollment period, and you would have seen banners asking you to enroll in 2FA on {% data variables.product.prodname_dotcom_the_website %}. If you didn't receive a notification, then you were not part of a group required to enable 2FA, though we strongly recommend it. diff --git a/data/reusables/user-settings/access_settings.md b/data/reusables/user-settings/access_settings.md index 1d02b5f449b5..4d5342aa9278 100644 --- a/data/reusables/user-settings/access_settings.md +++ b/data/reusables/user-settings/access_settings.md @@ -1 +1 @@ -1. In the upper-right corner of any page on {% data variables.product.prodname_dotcom %}, click your profile photo, then click **Settings**. +1. In the upper-right corner of any page on {% data variables.product.prodname_dotcom %}, click your profile photo, then click {% octicon "gear" aria-hidden="true" %} **Settings**. diff --git a/data/reusables/user-settings/edit_marketplace_listing.md b/data/reusables/user-settings/edit_marketplace_listing.md index 0352c5d010a8..47f7af623533 100644 --- a/data/reusables/user-settings/edit_marketplace_listing.md +++ b/data/reusables/user-settings/edit_marketplace_listing.md @@ -1 +1 @@ -1. On the app settings landing page, scroll down to the Marketplace section and click **List in Marketplace**. If you already have a Marketplace draft listing, click **Edit Marketplace listing**. The Marketplace section is only visible if you allowed your app to be installed by any user or organization when registering the app. For more information, see the list of [Marketplace requirements](/apps/publishing-apps-to-github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app). +1. On the app settings landing page, scroll down to the Marketplace section and click **List in Marketplace**. If you already have a Marketplace draft listing, click **Edit Marketplace listing**. The Marketplace section is only visible if you allowed your app to be installed by any user or organization when registering the app. For more information, see the list of [Marketplace requirements](/apps/publishing-apps-to-github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app). diff --git a/data/variables/copilot.yml b/data/variables/copilot.yml index b03f0f086a99..f972744913fd 100644 --- a/data/variables/copilot.yml +++ b/data/variables/copilot.yml @@ -19,3 +19,6 @@ max-chat-indexed-repos: '50' copilot_partners: 'Copilot Partners' copilot_partner: 'Copilot Partner' copilot_partner_program: 'Copilot Partner Program' + +## Copilot URLs +chat_completions_api: 'https://api.githubcopilot.com/chat/completions' diff --git a/data/variables/location.yml b/data/variables/location.yml index 8f9a6271c8bc..243f6b42c0a7 100644 --- a/data/variables/location.yml +++ b/data/variables/location.yml @@ -1,4 +1,5 @@ ## Use these variables when referring specifically to a location within a product +## Unless the extra precision is needed, consider using `product.github` ("GitHub") instead product_location: >- {% ifversion ghes %}your GitHub Enterprise Server instance{% else %}GitHub.com{% endif %} diff --git a/data/variables/product.yml b/data/variables/product.yml index 03a6ac896fe3..1b7e219f5402 100644 --- a/data/variables/product.yml +++ b/data/variables/product.yml @@ -7,15 +7,23 @@ company_short: 'GitHub' # GitHub's flagship products + +## Use this variable to refer generically to the "GitHub" platform or website (for example, when referring to GitHub.com, GHEC, or GHES as simply "GitHub"). +## Use another variable if it is important to specify the environment (e.g. GHES) +github: 'GitHub' + +## DEPRECATED: Use the `github` variable instead. (Writers found the name of this variable to be misleading.) +prodname_dotcom: 'GitHub' + product_name: >- {% ifversion ghec %}GitHub Enterprise Cloud{% elsif ghes %}GitHub Enterprise Server{% else %}GitHub{% endif %} -## Use this variable when referring to the product, when the output should always be GitHub. For example, "the GitHub REST API" -prodname_dotcom: 'GitHub' ## Use this variable when the output should always be GitHub Enterprise, regardless of the product the user is using prodname_enterprise: 'GitHub Enterprise' ## Use this variable only when the output should specifically be GitHub.com, to distinguish from GitHub the company or other GitHub products (e.g. connecting GHE to GitHub.com) +## Note that many users access GitHub through a different URL +## Do NOT use as a synonym for "The GitHub web interface" (for example, if you want to distinguish something from the GitHub Mobile interface), or in cases where the .com top-level domain is not relevant. prodname_dotcom_the_website: 'GitHub.com' ## Use these variables when the output should reflect one of our two specific GitHub Enterprise offerings @@ -271,6 +279,10 @@ prodname_copilot_extensions: 'GitHub Copilot Extensions' prodname_copilot_extension: 'GitHub Copilot Extension' prodname_copilot_extensions_short: 'Copilot Extensions' prodname_copilot_extension_short: 'Copilot Extension' +prodname_copilot_agent: 'GitHub Copilot agent' +prodname_copilot_agent_short: 'Copilot agent' +prodname_copilot_agents: 'GitHub Copilot agents' +prodname_copilot_agents_short: 'Copilot agents' prodname_copilot_cli: 'GitHub Copilot in the CLI' prodname_copilot_cli_short: 'Copilot in the CLI' prodname_copilot_for_prs: 'Copilot pull request summaries' diff --git a/package-lock.json b/package-lock.json index 16fa183a25a3..d74bf65a0a0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "@octokit/request-error": "6.1.1", "@primer/behaviors": "^1.7.0", "@primer/css": "^21.3.1", + "@primer/live-region-element": "^0.7.0", "@primer/octicons": "^19.11.0", "@primer/octicons-react": "^19.11.0", "@primer/react": "36.27.0", @@ -34,7 +35,7 @@ "dayjs": "^1.11.3", "dotenv": "^16.4.5", "escape-string-regexp": "5.0.0", - "express": "4.19.2", + "express": "4.21.0", "express-rate-limit": "7.4.0", "fastest-levenshtein": "1.0.16", "file-type": "19.4.1", @@ -145,7 +146,7 @@ "husky": "^9.1.4", "json-schema-merge-allof": "^0.8.1", "kill-port": "2.0.1", - "lint-staged": "^15.2.2", + "lint-staged": "^15.2.9", "markdownlint": "^0.34.0", "markdownlint-rule-search-replace": "^1.2.0", "mdast-util-gfm-table": "^2.0.0", @@ -168,7 +169,7 @@ "website-scraper": "^5.3.1" }, "engines": { - "node": "^18 || ^20" + "node": "^18 || ^20 || ^22" }, "optionalDependencies": { "esm": "^3.2.25" @@ -3922,12 +3923,15 @@ } }, "node_modules/ansi-escapes": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", - "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, + "dependencies": { + "environment": "^1.0.0" + }, "engines": { - "node": ">=14.16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4238,9 +4242,9 @@ "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -4250,7 +4254,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -4702,15 +4706,15 @@ } }, "node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true }, "node_modules/cli-truncate/node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "dependencies": { "emoji-regex": "^10.3.0", @@ -5324,7 +5328,8 @@ }, "node_modules/destroy": { "version": "1.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -5501,6 +5506,18 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/es-abstract": { "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", @@ -6450,7 +6467,8 @@ }, "node_modules/etag": { "version": "1.8.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { "node": ">= 0.6" } @@ -6501,36 +6519,36 @@ } }, "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -6562,6 +6580,14 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "license": "MIT" @@ -6759,11 +6785,12 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "license": "MIT", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -6776,18 +6803,29 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, + "node_modules/finalhandler/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/finalhandler/node_modules/on-finished": { "version": "2.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { "ee-first": "1.1.1" }, @@ -6965,7 +7003,8 @@ }, "node_modules/fresh": { "version": "0.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { "node": ">= 0.6" } @@ -8905,12 +8944,15 @@ } }, "node_modules/lilconfig": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", - "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, "engines": { "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/linkify-it": { @@ -8923,21 +8965,21 @@ } }, "node_modules/lint-staged": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz", - "integrity": "sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==", - "dev": true, - "dependencies": { - "chalk": "5.3.0", - "commander": "11.1.0", - "debug": "4.3.4", - "execa": "8.0.1", - "lilconfig": "3.0.0", - "listr2": "8.0.1", - "micromatch": "4.0.5", - "pidtree": "0.6.0", - "string-argv": "0.3.2", - "yaml": "2.3.4" + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.9.tgz", + "integrity": "sha512-BZAt8Lk3sEnxw7tfxM7jeZlPRuT4M68O0/CwZhhaw6eeWu0Lz5eERE3m386InivXB64fp/mDID452h48tvKlRQ==", + "dev": true, + "dependencies": { + "chalk": "~5.3.0", + "commander": "~12.1.0", + "debug": "~4.3.6", + "execa": "~8.0.1", + "lilconfig": "~3.1.2", + "listr2": "~8.2.4", + "micromatch": "~4.0.7", + "pidtree": "~0.6.0", + "string-argv": "~0.3.2", + "yaml": "~2.5.0" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -8949,13 +8991,21 @@ "url": "https://opencollective.com/lint-staged" } }, - "node_modules/lint-staged/node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "node_modules/lint-staged/node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, + "dependencies": { + "ms": "2.1.2" + }, "engines": { - "node": ">=16" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/lint-staged/node_modules/execa": { @@ -9120,16 +9170,16 @@ } }, "node_modules/listr2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz", - "integrity": "sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", + "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", "dev": true, "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", "eventemitter3": "^5.0.1", - "log-update": "^6.0.0", - "rfdc": "^1.3.0", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", "wrap-ansi": "^9.0.0" }, "engines": { @@ -9216,14 +9266,14 @@ } }, "node_modules/log-update": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", - "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, "dependencies": { - "ansi-escapes": "^6.2.0", - "cli-cursor": "^4.0.0", - "slice-ansi": "^7.0.0", + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" }, @@ -9246,6 +9296,21 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/log-update/node_modules/is-fullwidth-code-point": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", @@ -9261,6 +9326,49 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/log-update/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/log-update/node_modules/slice-ansi": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", @@ -9880,8 +9988,12 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "license": "MIT" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -10439,10 +10551,11 @@ ] }, "node_modules/micromatch": { - "version": "4.0.5", - "license": "MIT", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -10451,7 +10564,8 @@ }, "node_modules/mime": { "version": "1.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "bin": { "mime": "cli.js" }, @@ -10483,6 +10597,18 @@ "node": ">=6" } }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mimic-response": { "version": "4.0.0", "license": "MIT", @@ -11141,7 +11267,8 @@ }, "node_modules/parseurl": { "version": "1.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "engines": { "node": ">= 0.8" } @@ -11191,8 +11318,9 @@ } }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "license": "MIT" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" }, "node_modules/path-type": { "version": "4.0.0", @@ -11456,11 +11584,11 @@ } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -11501,7 +11629,8 @@ }, "node_modules/range-parser": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "engines": { "node": ">= 0.6" } @@ -12671,9 +12800,9 @@ } }, "node_modules/rfdc": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", - "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true }, "node_modules/rimraf": { @@ -12900,8 +13029,9 @@ } }, "node_modules/send": { - "version": "0.18.0", - "license": "MIT", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -12923,22 +13053,26 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/send/node_modules/ms": { "version": "2.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/send/node_modules/on-finished": { "version": "2.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { "ee-first": "1.1.1" }, @@ -12947,18 +13081,27 @@ } }, "node_modules/serve-static": { - "version": "1.15.0", - "license": "MIT", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" } }, + "node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -13061,12 +13204,17 @@ "license": "MIT" }, "node_modules/side-channel": { - "version": "1.0.4", - "license": "MIT", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -15292,10 +15440,13 @@ } }, "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", "dev": true, + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" } diff --git a/package.json b/package.json index b1b213dc8c34..a1327993742f 100644 --- a/package.json +++ b/package.json @@ -232,6 +232,7 @@ "@octokit/request-error": "6.1.1", "@primer/behaviors": "^1.7.0", "@primer/css": "^21.3.1", + "@primer/live-region-element": "^0.7.0", "@primer/octicons": "^19.11.0", "@primer/octicons-react": "^19.11.0", "@primer/react": "36.27.0", @@ -251,7 +252,7 @@ "dayjs": "^1.11.3", "dotenv": "^16.4.5", "escape-string-regexp": "5.0.0", - "express": "4.19.2", + "express": "4.21.0", "express-rate-limit": "7.4.0", "fastest-levenshtein": "1.0.16", "file-type": "19.4.1", @@ -362,7 +363,7 @@ "husky": "^9.1.4", "json-schema-merge-allof": "^0.8.1", "kill-port": "2.0.1", - "lint-staged": "^15.2.2", + "lint-staged": "^15.2.9", "markdownlint": "^0.34.0", "markdownlint-rule-search-replace": "^1.2.0", "mdast-util-gfm-table": "^2.0.0", @@ -389,7 +390,7 @@ "esm": "^3.2.25" }, "engines": { - "node": "^18 || ^20" + "node": "^18 || ^20 || ^22" }, "cacheDirectories": [ "node_modules", diff --git a/src/audit-logs/data/fpt/user.json b/src/audit-logs/data/fpt/user.json index 991cbb00692c..89957cd4c3ff 100644 --- a/src/audit-logs/data/fpt/user.json +++ b/src/audit-logs/data/fpt/user.json @@ -319,6 +319,21 @@ "description": "A GitHub Actions deployment protection rule was updated via the API.", "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules" }, + { + "action": "gist.create", + "description": "A gist was created.", + "docs_reference_links": "N/A" + }, + { + "action": "gist.destroy", + "description": "A gist was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "gist.visibility_change", + "description": "The visibility of a gist was updated.", + "docs_reference_links": "N/A" + }, { "action": "git_signing_ssh_public_key.create", "description": "An SSH key was added to a user account as a Git commit signing key.", diff --git a/src/audit-logs/data/ghec/user.json b/src/audit-logs/data/ghec/user.json index 991cbb00692c..89957cd4c3ff 100644 --- a/src/audit-logs/data/ghec/user.json +++ b/src/audit-logs/data/ghec/user.json @@ -319,6 +319,21 @@ "description": "A GitHub Actions deployment protection rule was updated via the API.", "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules" }, + { + "action": "gist.create", + "description": "A gist was created.", + "docs_reference_links": "N/A" + }, + { + "action": "gist.destroy", + "description": "A gist was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "gist.visibility_change", + "description": "The visibility of a gist was updated.", + "docs_reference_links": "N/A" + }, { "action": "git_signing_ssh_public_key.create", "description": "An SSH key was added to a user account as a Git commit signing key.", diff --git a/src/audit-logs/data/ghes-3.15/enterprise.json b/src/audit-logs/data/ghes-3.15/enterprise.json new file mode 100644 index 000000000000..f3138d91dd19 --- /dev/null +++ b/src/audit-logs/data/ghes-3.15/enterprise.json @@ -0,0 +1,3707 @@ +[ + { + "action": "account.billing_date_change", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "account.plan_change", + "description": "The account's plan changed.", + "docs_reference_links": "/billing/managing-the-plan-for-your-github-account/about-billing-for-plans" + }, + { + "action": "account_recovery_token.confirm", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "account_recovery_token.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "account_recovery_token.recover", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "actions_cache.delete", + "description": "A GitHub Actions cache was deleted using the REST API.", + "docs_reference_links": "N/A" + }, + { + "action": "api.request", + "description": "An API request was made to a security-significant endpoint for the enterprise. This event is only included if API Request Events is enabled in the enterprise's audit log settings. This event is only available via audit log streaming.", + "docs_reference_links": "/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#enabling-audit-log-streaming-of-api-requests" + }, + { + "action": "artifact.destroy", + "description": "A workflow run artifact was manually deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "audit_log_streaming.check", + "description": "A manual check of the endpoint configured for audit log streaming was performed.", + "docs_reference_links": "N/A" + }, + { + "action": "audit_log_streaming.create", + "description": "An endpoint was added for audit log streaming.", + "docs_reference_links": "N/A" + }, + { + "action": "audit_log_streaming.destroy", + "description": "An audit log streaming endpoint was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "audit_log_streaming.update", + "description": "An endpoint configuration was updated for audit log streaming, such as the stream was paused, enabled, or disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "billing.change_billing_type", + "description": "The way the account pays for GitHub was changed.", + "docs_reference_links": "/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method" + }, + { + "action": "billing.change_email", + "description": "The billing email address changed.", + "docs_reference_links": "/billing/managing-your-github-billing-settings/setting-your-billing-email" + }, + { + "action": "billing.lock", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "billing.unlock", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "billing.update_bill_cycle_day", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "business.add_admin", + "description": "An enterprise owner was added to an enterprise.", + "docs_reference_links": "/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise" + }, + { + "action": "business.add_organization", + "description": "An organization was added to an enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "business_advanced_security.disabled", + "description": "GitHub Advanced Security was disabled for your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_advanced_security.disabled_for_new_repos", + "description": "GitHub Advanced Security was disabled for new repositories in your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_advanced_security.disabled_for_new_user_namespace_repos", + "description": "GitHub Advanced Security was disabled for new user namespace repositories in your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_advanced_security.enabled", + "description": "GitHub Advanced Security was enabled for your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_advanced_security.enabled_for_new_repos", + "description": "GitHub Advanced Security was enabled for new repositories in your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_advanced_security.enabled_for_new_user_namespace_repos", + "description": "GitHub Advanced Security was enabled for new user namespace repositories in your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business.advanced_security_policy_update", + "description": "An enterprise owner created, updated, or removed a policy for GitHub Advanced Security.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise" + }, + { + "action": "business.advanced_security_repo_admin_enablement_policy_update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "business_advanced_security.user_namespace_repos_disabled", + "description": "GitHub Advanced Security was disabled for user namespace repositories in your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_advanced_security.user_namespace_repos_enabled", + "description": "GitHub Advanced Security was enabled for user namespace repositories in your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business.clear_actions_settings", + "description": "An enterprise owner or site administrator cleared GitHub Actions policy settings for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise" + }, + { + "action": "business.clear_default_repository_permission", + "description": "An enterprise owner cleared the base repository permission policy setting for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-base-repository-permissions" + }, + { + "action": "business.clear_members_can_create_repos", + "description": "An enterprise owner cleared a restriction on repository creation in organizations in the enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#setting-a-policy-for-repository-creation" + }, + { + "action": "business.code_scanning_autofix_policy_update", + "description": "The policy for Code scanning autofix was updated for an enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "business.create", + "description": "An enterprise was created.", + "docs_reference_links": "N/A" + }, + { + "action": "business_dependabot_alerts_new_repos.disable", + "description": "Dependabot alerts were disabled for new repositories in your enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "business_dependabot_alerts_new_repos.enable", + "description": "Dependabot alerts were enabled for new repositories in your enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "business.dependabot_alerts_repo_admin_enablement_policy_update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "business.disable_open_scim", + "description": "SCIM provisioning for custom integrations that use the REST API was disabled for the enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "business.disable_source_ip_disclosure", + "description": "Display of IP addresses within audit log events for the enterprise was disabled.", + "docs_reference_links": "/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise" + }, + { + "action": "business.disable_two_factor_requirement", + "description": "The requirement for members to have two-factor authentication enabled to access an enterprise was disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "business.enable_open_scim", + "description": "SCIM provisioning for custom integrations that use the REST API was enabled for the enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "business.enable_source_ip_disclosure", + "description": "Display of IP addresses within audit log events for the enterprise was enabled.", + "docs_reference_links": "/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise" + }, + { + "action": "business.enable_two_factor_requirement", + "description": "The requirement for members to have two-factor authentication enabled to access an enterprise was enabled.", + "docs_reference_links": "N/A" + }, + { + "action": "business.members_can_update_protected_branches.clear", + "description": "An enterprise owner unset a policy for whether members of an enterprise can update protected branches on repositories for individual organizations. Organization owners can choose whether to allow updating protected branches settings.", + "docs_reference_links": "N/A" + }, + { + "action": "business.members_can_update_protected_branches.disable", + "description": "The ability for enterprise members to update branch protection rules was disabled. Only enterprise owners can update protected branches.", + "docs_reference_links": "N/A" + }, + { + "action": "business.members_can_update_protected_branches.enable", + "description": "The ability for enterprise members to update branch protection rules was enabled. Enterprise owners and members can update protected branches.", + "docs_reference_links": "N/A" + }, + { + "action": "business.remove_admin", + "description": "An enterprise owner was removed from an enterprise.", + "docs_reference_links": "/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise" + }, + { + "action": "business.remove_organization", + "description": "An organization was removed from an enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "business.rename_slug", + "description": "The slug for the enterprise URL was renamed.", + "docs_reference_links": "N/A" + }, + { + "action": "business.revoke_sso_session", + "description": "The SAML single sign-on session for a member in an enterprise was revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "business_secret_scanning_automatic_validity_checks.disabled", + "description": "Automatic partner validation checks have been disabled at the business level", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise#managing-advanced-security-features" + }, + { + "action": "business_secret_scanning_automatic_validity_checks.enabled", + "description": "Automatic partner validation checks have been enabled at the business level", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise#managing-advanced-security-features" + }, + { + "action": "business_secret_scanning_custom_pattern.create", + "description": "An enterprise-level custom pattern was created for secret scanning.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-enterprise-account" + }, + { + "action": "business_secret_scanning_custom_pattern.delete", + "description": "An enterprise-level custom pattern was removed from secret scanning.", + "docs_reference_links": "N/A" + }, + { + "action": "business_secret_scanning_custom_pattern.publish", + "description": "An enterprise-level custom pattern was published for secret scanning.", + "docs_reference_links": "N/A" + }, + { + "action": "business_secret_scanning_custom_pattern_push_protection.disabled", + "description": "Push protection for a custom pattern for secret scanning was disabled for your enterprise.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-enterprise-account" + }, + { + "action": "business_secret_scanning_custom_pattern_push_protection.enabled", + "description": "Push protection for a custom pattern for secret scanning was enabled for your enterprise.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-enterprise-account" + }, + { + "action": "business_secret_scanning_custom_pattern.update", + "description": "Changes to an enterprise-level custom pattern were saved and a dry run was executed for secret scanning.", + "docs_reference_links": "N/A" + }, + { + "action": "business_secret_scanning.disable", + "description": "Secret scanning was disabled for your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_secret_scanning.disabled_for_new_repos", + "description": "Secret scanning was disabled for new repositories in your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_secret_scanning.enable", + "description": "Secret scanning was enabled for your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_secret_scanning.enabled_for_new_repos", + "description": "Secret scanning was enabled for new repositories in your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_secret_scanning_non_provider_patterns.disabled", + "description": "Secret scanning for non-provider patterns was disabled at the enterprise level.", + "docs_reference_links": "/code-security/secret-scanning/secret-scanning-patterns#non-provider-patterns" + }, + { + "action": "business_secret_scanning_non_provider_patterns.enabled", + "description": "Secret scanning for non-provider patterns was enabled at the enterprise level.", + "docs_reference_links": "/code-security/secret-scanning/secret-scanning-patterns#non-provider-patterns" + }, + { + "action": "business_secret_scanning_push_protection_custom_message.disable", + "description": "The custom message triggered by an attempted push to a push-protected repository was disabled for your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_secret_scanning_push_protection_custom_message.enable", + "description": "The custom message triggered by an attempted push to a push-protected repository was enabled for your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_secret_scanning_push_protection_custom_message.update", + "description": "The custom message triggered by an attempted push to a push-protected repository was updated for your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_secret_scanning_push_protection.disable", + "description": "Push protection for secret scanning was disabled for your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_secret_scanning_push_protection.disabled_for_new_repos", + "description": "Push protection for secret scanning was disabled for new repositories in your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_secret_scanning_push_protection.enable", + "description": "Push protection for secret scanning was enabled for your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business_secret_scanning_push_protection.enabled_for_new_repos", + "description": "Push protection for secret scanning was enabled for new repositories in your enterprise.", + "docs_reference_links": "/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise" + }, + { + "action": "business.secret_scanning_repo_admin_settings_policy_update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "business.set_actions_fork_pr_approvals_policy", + "description": "The policy for requiring approvals for workflows from public forks was changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-your-enterprise" + }, + { + "action": "business.set_actions_private_fork_pr_approvals_policy", + "description": "The policy for requiring approval for fork pull request workflows from collaborators without write access to private repos was changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-private-repositories" + }, + { + "action": "business.set_actions_retention_limit", + "description": "The retention period for GitHub Actions artifacts and logs was changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-artifact-and-log-retention-in-your-enterprise" + }, + { + "action": "business.set_default_workflow_permissions", + "description": "The default permissions granted to the GITHUB_TOKEN when running workflows were changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise" + }, + { + "action": "business.set_fork_pr_workflows_policy", + "description": "The policy for fork pull request workflows was changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-your-enterprise" + }, + { + "action": "business.set_workflow_permission_can_approve_pr", + "description": "The policy for allowing GitHub Actions to create and approve pull requests was changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#preventing-github-actions-from-creating-or-approving-pull-requests" + }, + { + "action": "business.sso_response", + "description": "A SAML single sign-on (SSO) response was generated when a member attempted to authenticate with your enterprise. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "N/A" + }, + { + "action": "business.update_actions_settings", + "description": "An enterprise owner or site administrator updated GitHub Actions policy settings for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise" + }, + { + "action": "business.update_default_repository_permission", + "description": "The base repository permission setting was updated for all organizations in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-base-repository-permissions" + }, + { + "action": "business.update_member_repository_creation_permission", + "description": "The repository creation setting was updated for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-creation" + }, + { + "action": "business.update_member_repository_invitation_permission", + "description": "The policy setting for enterprise members inviting outside collaborators to repositories was updated.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories" + }, + { + "action": "checks.auto_trigger_disabled", + "description": "Automatic creation of check suites was disabled on a repository in the organization or enterprise.", + "docs_reference_links": "/rest/checks#update-repository-preferences-for-check-suites" + }, + { + "action": "checks.auto_trigger_enabled", + "description": "Automatic creation of check suites was enabled on a repository in the organization or enterprise.", + "docs_reference_links": "/rest/checks#update-repository-preferences-for-check-suites" + }, + { + "action": "checks.delete_logs", + "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.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.connect", + "description": "Credentials for a codespace were refreshed.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.create", + "description": "A codespace was created", + "docs_reference_links": "/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository" + }, + { + "action": "codespaces.destroy", + "description": "A user deleted a codespace.", + "docs_reference_links": "/codespaces/developing-in-codespaces/deleting-a-codespace" + }, + { + "action": "codespaces.export_environment", + "description": "A codespace was exported to a branch on GitHub.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.restore", + "description": "A codespace was restored.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.start_environment", + "description": "A codespace was started.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.suspend_environment", + "description": "A codespace was stopped.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.trusted_repositories_access_update", + "description": "A personal account's access and security setting for Codespaces were updated.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces" + }, + { + "action": "copilot.cfb_seat_added", + "description": "A Copilot Business or Copilot Enterprise seat was added for a user and they have received access to GitHub Copilot. This can occur as the result of directly assigning a seat for a user, assigning a seat for a team, or setting the organization to allow access for all members.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_assignment_created", + "description": "A Copilot Business or Copilot Enterprise seat assignment was newly created for a user or a team, and seats are being created.", + "docs_reference_links": "/copilot/overview-of-github-copilot/about-github-copilot-for-business" + }, + { + "action": "copilot.cfb_seat_assignment_refreshed", + "description": "A seat assignment that was previously pending cancellation was re-assigned and the user will retain access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_assignment_reused", + "description": "A Copilot Business or Copilot Enterprise seat assignment was re-created for a user who already had a seat with no pending cancellation date, and the user will retain access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_assignment_unassigned", + "description": "A user or team's Copilot Business or Copilot Enterprise seat assignment was unassigned, and the user(s) will lose access to Copilot at the end of the current billing cycle.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_cancelled", + "description": "A user's Copilot Business or Copilot Enterprise seat was canceled, and the user no longer has access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_cancelled_by_staff", + "description": "A user's Copilot Business or Copilot Enterprise seat was canceled manually by GitHub staff, and the user no longer has access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "custom_hosted_runner.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "custom_hosted_runner.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "custom_hosted_runner.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "custom_property_definition.create", + "description": "A new custom property definition was created.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "custom_property_definition.destroy", + "description": "A custom property definition was deleted.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "custom_property_definition.update", + "description": "A custom property definition was updated.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "custom_property_value.create", + "description": "A repository's custom property value was manually set for the first time.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "custom_property_value.destroy", + "description": "A repository's custom property value was deleted.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "custom_property_value.update", + "description": "A repository's custom property value was updated.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "dependabot_alerts.disable", + "description": "Dependabot alerts were disabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories" + }, + { + "action": "dependabot_alerts.enable", + "description": "Dependabot alerts were enabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories" + }, + { + "action": "dependabot_alerts_new_repos.disable", + "description": "Dependabot alerts were disabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-automatically-when-new-repositories-are-added" + }, + { + "action": "dependabot_alerts_new_repos.enable", + "description": "Dependabot alerts were enabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-automatically-when-new-repositories-are-added" + }, + { + "action": "dependabot_repository_access.repositories_updated", + "description": "The repositories that Dependabot can access were updated.", + "docs_reference_links": "N/A" + }, + { + "action": "dependabot_security_updates.disable", + "description": "Dependabot security updates were disabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependabot_security_updates.enable", + "description": "Dependabot security updates were enabled for all existing repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "dependabot_security_updates_new_repos.disable", + "description": " Dependabot security updates were disabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependabot_security_updates_new_repos.enable", + "description": "Dependabot security updates were enabled for all new repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "dependency_graph.disable", + "description": "The dependency graph was disabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependency_graph.enable", + "description": "The dependency graph was enabled for all existing repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "dependency_graph_new_repos.disable", + "description": "The dependency graph was disabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependency_graph_new_repos.enable", + "description": "The dependency graph was enabled for all new repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "discussion_post.destroy", + "description": "Triggered when a team discussion post is deleted.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/managing-disruptive-comments#deleting-a-comment" + }, + { + "action": "discussion_post_reply.destroy", + "description": "Triggered when a reply to a team discussion post is deleted.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/managing-disruptive-comments#deleting-a-comment" + }, + { + "action": "discussion_post_reply.update", + "description": "Triggered when a reply to a team discussion post is edited.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/managing-disruptive-comments#editing-a-comment" + }, + { + "action": "discussion_post.update", + "description": "Triggered when a team discussion post is edited.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/managing-disruptive-comments#editing-a-comment" + }, + { + "action": "enterprise_announcement.create", + "description": "A global announcement banner was created for the enterprise.", + "docs_reference_links": "/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise#creating-a-global-announcement-banner" + }, + { + "action": "enterprise_announcement.destroy", + "description": "A global announcement banner was removed from the enterprise.", + "docs_reference_links": "/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise" + }, + { + "action": "enterprise_announcement.update", + "description": "A global announcement banner was updated for the enterprise.", + "docs_reference_links": "/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise" + }, + { + "action": "enterprise.configure_self_hosted_jit_runner", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "enterprise_domain.approve", + "description": "A domain was approved for an enterprise.", + "docs_reference_links": "/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#approving-a-domain-for-your-enterprise-account" + }, + { + "action": "enterprise_domain.create", + "description": "A domain was added to an enterprise.", + "docs_reference_links": "/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#verifying-a-domain-for-your-enterprise-account" + }, + { + "action": "enterprise_domain.destroy", + "description": "A domain was removed from an enterprise.", + "docs_reference_links": "/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#removing-an-approved-or-verified-domain" + }, + { + "action": "enterprise_domain.verify", + "description": "A domain was verified for an enterprise.", + "docs_reference_links": "/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#verifying-a-domain-for-your-enterprise-account" + }, + { + "action": "enterprise.register_self_hosted_runner", + "description": "A new GitHub Actions self-hosted runner was registered.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository" + }, + { + "action": "enterprise.remove_self_hosted_runner", + "description": "A GitHub Actions self-hosted runner was removed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository" + }, + { + "action": "enterprise.runner_group_created", + "description": "A GitHub Actions self-hosted runner group was created.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository" + }, + { + "action": "enterprise.runner_group_removed", + "description": "A GitHub Actions self-hosted runner group was removed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group" + }, + { + "action": "enterprise.runner_group_runner_removed", + "description": "The REST API was used to remove a GitHub Actions self-hosted runner from a group.", + "docs_reference_links": "/rest/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization" + }, + { + "action": "enterprise.runner_group_runners_added", + "description": "A GitHub Actions self-hosted runner was added to a group.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group" + }, + { + "action": "enterprise.runner_group_runners_updated", + "description": "A GitHub Actions runner group's list of members was updated.", + "docs_reference_links": "/rest/actions#set-self-hosted-runners-in-a-group-for-an-organization" + }, + { + "action": "enterprise.runner_group_updated", + "description": "The configuration of a GitHub Actions self-hosted runner group was changed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group" + }, + { + "action": "enterprise.self_hosted_runner_offline", + "description": "The GitHub Actions runner application was stopped. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner" + }, + { + "action": "enterprise.self_hosted_runner_online", + "description": "The GitHub Actions runner application was started. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner" + }, + { + "action": "enterprise.self_hosted_runner_updated", + "description": "The GitHub Actions runner application was updated. This event is not included in the JSON/CSV export.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#about-self-hosted-runners" + }, + { + "action": "enterprise_team.add_member", + "description": "A new member was added to the enterprise team or an IdP group linked to an enterprise team, or an IdP group was linked to an enterprise team.", + "docs_reference_links": "N/A" + }, + { + "action": "enterprise_team.copilot_assignment", + "description": "A license for GitHub Copilot was assigned to an enterprise team.", + "docs_reference_links": "N/A" + }, + { + "action": "enterprise_team.copilot_unassignment", + "description": "A license for GitHub Copilot was unassigned from an enterprise team.", + "docs_reference_links": "N/A" + }, + { + "action": "enterprise_team.create", + "description": "A new enterprise team was created.", + "docs_reference_links": "N/A" + }, + { + "action": "enterprise_team.destroy", + "description": "An enterprise team was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "enterprise_team.remove_member", + "description": "A member was removed from the enterprise team or an IdP group linked to an enterprise team, or an IdP group was unlinked from an enterprise team.", + "docs_reference_links": "N/A" + }, + { + "action": "enterprise_team.rename", + "description": "The name of an enterprise team was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "environment.add_protection_rule", + "description": "A GitHub Actions deployment protection rule was created via the API.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules" + }, + { + "action": "environment.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "environment.create_actions_secret", + "description": "A secret was created for a GitHub Actions environment.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets" + }, + { + "action": "environment.create_actions_variable", + "description": "A variable was created for a GitHub Actions environment.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-environment" + }, + { + "action": "environment.delete", + "description": "An environment was deleted.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deleting-an-environment" + }, + { + "action": "environment.remove_actions_secret", + "description": "A secret was deleted for a GitHub Actions environment.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets" + }, + { + "action": "environment.remove_actions_variable", + "description": "A variable was deleted for a GitHub Actions environment.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-environment" + }, + { + "action": "environment.remove_protection_rule", + "description": "A GitHub Actions deployment protection rule was deleted via the API.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules" + }, + { + "action": "environment.update_actions_secret", + "description": "A secret was updated for a GitHub Actions environment.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets" + }, + { + "action": "environment.update_actions_variable", + "description": "A variable was updated for a GitHub Actions environment.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-environment" + }, + { + "action": "environment.update_protection_rule", + "description": "A GitHub Actions deployment protection rule was updated via the API.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules" + }, + { + "action": "external_group.add_member", + "description": "A user was added to an external group.", + "docs_reference_links": "N/A" + }, + { + "action": "external_group.delete", + "description": "An external group was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "external_group.link", + "description": "An external group was linked to a GitHub team.", + "docs_reference_links": "N/A" + }, + { + "action": "external_group.provision", + "description": "An external group was created.", + "docs_reference_links": "N/A" + }, + { + "action": "external_group.remove_member", + "description": "A user was removed from an external group.", + "docs_reference_links": "N/A" + }, + { + "action": "external_group.scim_api_failure", + "description": "Failed external group SCIM API request.", + "docs_reference_links": "/rest/scim/scim" + }, + { + "action": "external_group.scim_api_success", + "description": "Successful external group SCIM API request. Excludes GET API requests.", + "docs_reference_links": "/rest/scim/scim" + }, + { + "action": "external_group.unlink", + "description": "An external group was unlinked to a GitHub team.", + "docs_reference_links": "N/A" + }, + { + "action": "external_group.update", + "description": "An external group was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "external_group.update_display_name", + "description": "An external group's display name was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "external_identity.deprovision", + "description": "An external identity was deprovisioned, suspending the linked GitHub user.", + "docs_reference_links": "N/A" + }, + { + "action": "external_identity.provision", + "description": "An external identity was created and linked to a GitHub user.", + "docs_reference_links": "N/A" + }, + { + "action": "external_identity.scim_api_failure", + "description": "Failed external identity SCIM API request.", + "docs_reference_links": "/rest/scim/scim" + }, + { + "action": "external_identity.scim_api_success", + "description": "Successful external identity SCIM API request. Excludes GET API requests.", + "docs_reference_links": "/rest/scim/scim" + }, + { + "action": "external_identity.update", + "description": "An external identity was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "git.clone", + "description": "A repository was cloned.", + "docs_reference_links": "N/A" + }, + { + "action": "git.fetch", + "description": "Changes were fetched from a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "git.push", + "description": "Changes were pushed to a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "git_signing_ssh_public_key.create", + "description": "An SSH key was added to a user account as a Git commit signing key.", + "docs_reference_links": "/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key" + }, + { + "action": "git_signing_ssh_public_key.delete", + "description": "An SSH key was removed from a user account as a Git commit signing key.", + "docs_reference_links": "/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key" + }, + { + "action": "github_hosted_runner.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "github_hosted_runner.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "github_hosted_runner.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "gpg_key.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "gpg_key.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "hook.active_changed", + "description": "A hook's active status was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "hook.config_changed", + "description": "A hook's configuration was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "hook.create", + "description": "A new hook was added.", + "docs_reference_links": "/get-started/exploring-integrations/about-webhooks" + }, + { + "action": "hook.destroy", + "description": "A hook was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "hook.events_changed", + "description": "A hook's configured events were changed.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.create", + "description": "A GitHub App was created.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.destroy", + "description": "A GitHub App was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.generate_client_secret", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "integration_installation.create", + "description": "A GitHub App was installed.", + "docs_reference_links": "/apps/using-github-apps/authorizing-github-apps" + }, + { + "action": "integration_installation.destroy", + "description": "A GitHub App was uninstalled.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#blocking-access" + }, + { + "action": "integration_installation.repositories_added", + "description": "Repositories were added to a GitHub App.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#modifying-repository-access" + }, + { + "action": "integration_installation.repositories_removed", + "description": "Repositories were removed from a GitHub App.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#modifying-repository-access" + }, + { + "action": "integration_installation.suspend", + "description": "A GitHub App was suspended.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#blocking-access" + }, + { + "action": "integration_installation.unsuspend", + "description": "A GitHub App was unsuspended.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#blocking-access" + }, + { + "action": "integration_installation.version_updated", + "description": "Permissions for a GitHub App were updated.", + "docs_reference_links": "/apps/using-github-apps/approving-updated-permissions-for-a-github-app" + }, + { + "action": "integration.manager_added", + "description": "A member of an enterprise or organization was added as a GitHub App manager.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization#giving-someone-the-ability-to-manage-all-github-apps-owned-by-the-organization" + }, + { + "action": "integration.manager_removed", + "description": "A member of an enterprise or organization was removed from being a GitHub App manager.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization#removing-a-github-app-managers-permissions-for-the-entire-organization" + }, + { + "action": "integration.remove_client_secret", + "description": "A client secret for a GitHub App was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.revoke_all_tokens", + "description": "All user tokens for a GitHub App were requested to be revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.revoke_tokens", + "description": "Token(s) for a GitHub App were revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.suspend", + "description": "A GitHub App was suspended.", + "docs_reference_links": "/apps/maintaining-github-apps/suspending-a-github-app-installation" + }, + { + "action": "integration.transfer", + "description": "Ownership of a GitHub App was transferred to another user or organization.", + "docs_reference_links": "/apps/maintaining-github-apps/transferring-ownership-of-a-github-app" + }, + { + "action": "integration.unsuspend", + "description": "A GitHub App was unsuspended.", + "docs_reference_links": "/apps/maintaining-github-apps/suspending-a-github-app-installation" + }, + { + "action": "ip_allow_list.disable", + "description": "An IP allow list was disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list.disable_for_installed_apps", + "description": "An IP allow list was disabled for installed GitHub Apps.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list.disable_user_level_enforcement", + "description": "IP allow list user level enforcement was disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list.enable", + "description": "An IP allow list was enabled.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list.enable_for_installed_apps", + "description": "An IP allow list was enabled for installed GitHub Apps.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list.enable_user_level_enforcement", + "description": "IP allow list user level enforcement was enabled.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list_entry.create", + "description": "An IP address was added to an IP allow list.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list_entry.destroy", + "description": "An IP address was deleted from an IP allow list.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list_entry.update", + "description": "An IP address or its description was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_agreement_signature.create", + "description": "The GitHub Marketplace Developer Agreement was signed.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.approve", + "description": "A listing was approved for inclusion in GitHub Marketplace.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.change_category", + "description": "A category for a listing for an app in GitHub Marketplace was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.create", + "description": "A listing for an app in GitHub Marketplace was created.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.delist", + "description": "A listing was removed from GitHub Marketplace.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing_plan.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing_plan.publish", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing_plan.retire", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing_plan.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.redraft", + "description": "A listing was sent back to draft state.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.reject", + "description": "A listing was not accepted for inclusion in GitHub Marketplace.", + "docs_reference_links": "N/A" + }, + { + "action": "merge_queue.pull_request_dequeued", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "merge_queue.pull_request_queue_jump", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "merge_queue.queue_cleared", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "merge_queue.update_settings", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "metered_billing_configuration.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "metered_billing_configuration.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "metered_billing_configuration.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "migration.create", + "description": "A migration file was created for transferring data from a source location (such as a GitHub.com organization or a GitHub Enterprise Server instance) to a target GitHub Enterprise Server instance.", + "docs_reference_links": "N/A" + }, + { + "action": "oauth_access.create", + "description": "An OAuth access token was generated.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps, /authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token" + }, + { + "action": "oauth_access.destroy", + "description": "An OAuth access token was deleted.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps" + }, + { + "action": "oauth_access.regenerate", + "description": "An OAuth access token was regenerated.", + "docs_reference_links": "N/A" + }, + { + "action": "oauth_access.update", + "description": "An OAuth access token was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "oauth_application.create", + "description": "An OAuth application was created.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.destroy", + "description": "An OAuth application was deleted.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.generate_client_secret", + "description": "An OAuth application's secret key was generated.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.remove_client_secret", + "description": "An OAuth application's secret key was deleted.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.reset_secret", + "description": "The secret key for an OAuth application was reset.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.revoke_all_tokens", + "description": "All user tokens for an OAuth application were requested to be revoked.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.revoke_tokens", + "description": "Token(s) for an OAuth application were revoked.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.suspend", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "oauth_application.transfer", + "description": "An OAuth application was transferred from one account to another.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.unsuspend", + "description": "An OAuth application was unsuspended for a user or organization account.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_authorization.create", + "description": "An authorization for an OAuth application was created.", + "docs_reference_links": "/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps" + }, + { + "action": "oauth_authorization.destroy", + "description": "An authorization for an OAuth application was deleted.", + "docs_reference_links": "/apps/using-github-apps/reviewing-your-authorized-integrations" + }, + { + "action": "oauth_authorization.update", + "description": "An authorization for an OAuth application was updated.", + "docs_reference_links": "/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps" + }, + { + "action": "org.accept_business_invitation", + "description": "An invitation sent to an organization to join an enterprise was accepted.", + "docs_reference_links": "/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#inviting-an-organization-to-join-your-enterprise-account" + }, + { + "action": "org.add_billing_manager", + "description": "A billing manager was added to an organization.", + "docs_reference_links": "/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization" + }, + { + "action": "org.add_member", + "description": "A user joined an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.add_outside_collaborator", + "description": "An outside collaborator was added to a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "org.add_security_manager", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_disabled_for_new_repos", + "description": "GitHub Advanced Security was disabled for new repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_disabled_on_all_repos", + "description": "GitHub Advanced Security was disabled for all repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_enabled_for_new_repos", + "description": "GitHub Advanced Security was enabled for new repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_enabled_on_all_repos", + "description": "GitHub Advanced Security was enabled for all repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_policy_selected_member_disabled", + "description": "An enterprise owner prevented GitHub Advanced Security features from being enabled for repositories owned by the organization.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise" + }, + { + "action": "org.advanced_security_policy_selected_member_enabled", + "description": "An enterprise owner allowed GitHub Advanced Security features to be enabled for repositories owned by the organization.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise" + }, + { + "action": "org.async_delete", + "description": "A user initiated a background job to delete an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.billing_signup_error", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.block_user", + "description": "An organization owner blocked a user from accessing the organization's repositories.", + "docs_reference_links": "/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization" + }, + { + "action": "org.cancel_business_invitation", + "description": "An invitation for an organization to join an enterprise was revoked", + "docs_reference_links": "/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#inviting-an-organization-to-join-your-enterprise-account" + }, + { + "action": "org.cancel_invitation", + "description": "An invitation sent to a user to join an organization was revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "org.clear_custom_invitation_rate_limit", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.code_scanning_autofix_disabled", + "description": "Autofix for code scanning alerts was disabled for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.code_scanning_autofix_enabled", + "description": "Autofix for code scanning alerts was enabled for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.codeql_disabled", + "description": "Code scanning using the default setup was disabled for an organization.", + "docs_reference_links": "/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning-at-scale" + }, + { + "action": "org.codeql_enabled", + "description": "Code scanning using the default setup was enabled for an organization.", + "docs_reference_links": "/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning-at-scale" + }, + { + "action": "org.config.disable_collaborators_only", + "description": "The interaction limit for collaborators only for an organization was disabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.config.disable_contributors_only", + "description": "The interaction limit for prior contributors only for an organization was disabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.config.disable_sockpuppet_disallowed", + "description": "The interaction limit for existing users only for an organization was disabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.config.enable_collaborators_only", + "description": "The interaction limit for collaborators only for an organization was enabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.config.enable_contributors_only", + "description": "The interaction limit for prior contributors only for an organization was enabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.config.enable_sockpuppet_disallowed", + "description": "The interaction limit for existing users only for an organization was enabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.configure_self_hosted_jit_runner", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.confirm_business_invitation", + "description": "An invitation for an organization to join an enterprise was confirmed.", + "docs_reference_links": "/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#inviting-an-organization-to-join-your-enterprise-account" + }, + { + "action": "org.create", + "description": "An organization was created.", + "docs_reference_links": "/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch" + }, + { + "action": "org.delete", + "description": "An organization was deleted by a user or staff.", + "docs_reference_links": "N/A" + }, + { + "action": "org.disable_member_team_creation_permission", + "description": "Team creation was limited to owners.", + "docs_reference_links": "/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization" + }, + { + "action": "org.disable_reader_discussion_creation_permission", + "description": "An organization owner limited discussion creation to users with at least triage permission in an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization" + }, + { + "action": "org.disable_saml", + "description": "SAML single sign-on was disabled for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.disable_two_factor_requirement", + "description": "A two-factor authentication requirement was disabled for the organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.display_commenter_full_name_disabled", + "description": "An organization owner disabled the display of a commenter's full name in an organization. Members cannot see a comment author's full name.", + "docs_reference_links": "N/A" + }, + { + "action": "org.display_commenter_full_name_enabled", + "description": "An organization owner enabled the display of a commenter's full name in an organization. Members can see a comment author's full name.", + "docs_reference_links": "N/A" + }, + { + "action": "org.enable_member_team_creation_permission", + "description": "Team creation by members was allowed.", + "docs_reference_links": "/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization" + }, + { + "action": "org.enable_reader_discussion_creation_permission", + "description": "An organization owner allowed users with read access to create discussions in an organization", + "docs_reference_links": "/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization" + }, + { + "action": "org.enable_saml", + "description": "SAML single sign-on was enabled for the organization.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization" + }, + { + "action": "org.enable_two_factor_requirement", + "description": "Two-factor authentication is now required for the organization.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization" + }, + { + "action": "org.integration_manager_added", + "description": "An organization owner granted a member access to manage all GitHub Apps owned by an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.integration_manager_removed", + "description": "An organization owner removed access to manage all GitHub Apps owned by an organization from an organization member.", + "docs_reference_links": "N/A" + }, + { + "action": "org.invite_member", + "description": "A new user was invited to join an organization.", + "docs_reference_links": "/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization" + }, + { + "action": "org.invite_to_business", + "description": "An organization was invited to join an enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "org.members_can_update_protected_branches.disable", + "description": "The ability for enterprise members to update protected branches was disabled. Only enterprise owners can update protected branches.", + "docs_reference_links": "N/A" + }, + { + "action": "org.members_can_update_protected_branches.enable", + "description": "The ability for enterprise members to update protected branches was enabled. Members of an organization can update protected branches.", + "docs_reference_links": "N/A" + }, + { + "action": "org.rate_limited_invites", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.recreate", + "description": "An organization was restored.", + "docs_reference_links": "N/A" + }, + { + "action": "org.register_self_hosted_runner", + "description": "A new self-hosted runner was registered.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-an-organization" + }, + { + "action": "org.remove_billing_manager", + "description": "A billing manager was removed from an organization, either manually or due to a two-factor authentication requirement.", + "docs_reference_links": "/organizations/managing-peoples-access-to-your-organization-with-roles/removing-a-billing-manager-from-your-organization, /organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization" + }, + { + "action": "org.remove_member", + "description": "A member was removed from an organization, either manually or due to a two-factor authentication requirement.", + "docs_reference_links": "N/A" + }, + { + "action": "org.remove_outside_collaborator", + "description": "An outside collaborator was removed from an organization, either manually or due to a two-factor authentication requirement.", + "docs_reference_links": "N/A" + }, + { + "action": "org.remove_security_manager", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.remove_self_hosted_runner", + "description": "A self-hosted runner was removed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners#removing-a-runner-from-an-organization" + }, + { + "action": "org.rename", + "description": "An organization was renamed.", + "docs_reference_links": "N/A" + }, + { + "action": "org.restore_member", + "description": "An organization member was restored.", + "docs_reference_links": "/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization" + }, + { + "action": "org.runner_group_created", + "description": "A self-hosted runner group was created.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#creating-a-self-hosted-runner-group-for-an-organization" + }, + { + "action": "org.runner_group_removed", + "description": "A self-hosted runner group was removed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group" + }, + { + "action": "org.runner_group_runner_removed", + "description": "The REST API was used to remove a self-hosted runner from a group.", + "docs_reference_links": "/rest/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization" + }, + { + "action": "org.runner_group_runners_added", + "description": "A self-hosted runner was added to a group.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group" + }, + { + "action": "org.runner_group_runners_updated", + "description": "A runner group's list of members was updated.", + "docs_reference_links": "/rest/actions#set-self-hosted-runners-in-a-group-for-an-organization" + }, + { + "action": "org.runner_group_updated", + "description": "The configuration of a self-hosted runner group was changed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group" + }, + { + "action": "org_secret_scanning_automatic_validity_checks.disabled", + "description": "Automatic partner validation checks have been disabled at the organization level", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#allowing-validity-checks-for-partner-patterns-in-an-organization" + }, + { + "action": "org_secret_scanning_automatic_validity_checks.enabled", + "description": "Automatic partner validation checks have been enabled at the organization level", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#allowing-validity-checks-for-partner-patterns-in-an-organization" + }, + { + "action": "org_secret_scanning_custom_pattern.create", + "description": "A custom pattern was created for secret scanning in an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization" + }, + { + "action": "org_secret_scanning_custom_pattern.delete", + "description": "A custom pattern was removed from secret scanning in an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#removing-a-custom-pattern" + }, + { + "action": "org_secret_scanning_custom_pattern.publish", + "description": "A custom pattern was published for secret scanning in an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization" + }, + { + "action": "org.secret_scanning_custom_pattern_push_protection_disabled", + "description": "Push protection for a custom pattern for secret scanning was disabled for an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization" + }, + { + "action": "org.secret_scanning_custom_pattern_push_protection_enabled", + "description": "Push protection for a custom pattern for secret scanning was enabled for an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization" + }, + { + "action": "org_secret_scanning_custom_pattern.update", + "description": "Changes to a custom pattern were saved and a dry run was executed for secret scanning in an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern" + }, + { + "action": "org_secret_scanning_non_provider_patterns.disabled", + "description": "Secret scanning for non-provider patterns was disabled at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/secret-scanning-patterns#non-provider-patterns" + }, + { + "action": "org_secret_scanning_non_provider_patterns.enabled", + "description": "Secret scanning for non-provider patterns was enabled at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/secret-scanning-patterns#non-provider-patterns" + }, + { + "action": "org_secret_scanning_push_protection_bypass_list.add", + "description": "A role or team was added to the push protection bypass list at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "org_secret_scanning_push_protection_bypass_list.disable", + "description": "Push protection settings for \"Users who can bypass push protection for secret scanning\" changed from \"Specific roles or teams\" to \"Anyone with write access\" at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "org_secret_scanning_push_protection_bypass_list.enable", + "description": "Push protection settings for \"Users who can bypass push protection for secret scanning\" changed from \"Anyone with write access\" to \"Specific roles or teams\" at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "org_secret_scanning_push_protection_bypass_list.remove", + "description": "A role or team was removed from the push protection bypass list at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "org.secret_scanning_push_protection_custom_message_disabled", + "description": "The custom message triggered by an attempted push to a push-protected repository was disabled for an organization.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization" + }, + { + "action": "org.secret_scanning_push_protection_custom_message_enabled", + "description": "The custom message triggered by an attempted push to a push-protected repository was enabled for an organization.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization" + }, + { + "action": "org.secret_scanning_push_protection_custom_message_updated", + "description": "The custom message triggered by an attempted push to a push-protected repository was updated for an organization.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization" + }, + { + "action": "org.secret_scanning_push_protection_disable", + "description": "Push protection for secret scanning was disabled.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning" + }, + { + "action": "org.secret_scanning_push_protection_enable", + "description": "Push protection for secret scanning was enabled.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations" + }, + { + "action": "org.secret_scanning_push_protection_new_repos_disable", + "description": "Push protection for secret scanning was disabled for all new repositories in the organization.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations" + }, + { + "action": "org.secret_scanning_push_protection_new_repos_enable", + "description": "Push protection for secret scanning was enabled for all new repositories in the organization.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations" + }, + { + "action": "org.security_center_export_coverage", + "description": "A CSV export was requested on the Coverage page.", + "docs_reference_links": "N/A" + }, + { + "action": "org.security_center_export_overview_dashboard", + "description": "A CSV export was requested on the Overview Dashboard page.", + "docs_reference_links": "N/A" + }, + { + "action": "org.security_center_export_risk", + "description": "A CSV export was requested on the Risk page.", + "docs_reference_links": "N/A" + }, + { + "action": "org.self_hosted_runner_offline", + "description": "The runner application was stopped. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner" + }, + { + "action": "org.self_hosted_runner_online", + "description": "The runner application was started. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner" + }, + { + "action": "org.self_hosted_runner_updated", + "description": "The runner application was updated. This event is not included in the JSON/CSV export.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#about-self-hosted-runners" + }, + { + "action": "org.set_actions_fork_pr_approvals_policy", + "description": "The setting for requiring approvals for workflows from public forks was changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#requiring-approval-for-workflows-from-public-forks" + }, + { + "action": "org.set_actions_private_fork_pr_approvals_policy", + "description": "The policy for requiring approval for fork pull request workflows from collaborators without write access to private repos was changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#enabling-workflows-for-private-repository-forks" + }, + { + "action": "org.set_actions_retention_limit", + "description": "The retention period for GitHub Actions artifacts and logs in an organization was changed.", + "docs_reference_links": "/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization" + }, + { + "action": "org.set_custom_invitation_rate_limit", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.set_default_workflow_permissions", + "description": "The default permissions granted to the GITHUB_TOKEN when running workflows were changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization" + }, + { + "action": "org.set_fork_pr_workflows_policy", + "description": "The policy for workflows on private repository forks was changed.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#enabling-workflows-for-private-repository-forks" + }, + { + "action": "org.set_workflow_permission_can_approve_pr", + "description": "The policy for allowing GitHub Actions to create and approve pull requests was changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#preventing-github-actions-from-creating-or-approving-pull-requests" + }, + { + "action": "org.sso_response", + "description": "A SAML single sign-on (SSO) response was generated when a member attempted to authenticate with your 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": "N/A" + }, + { + "action": "org.transform", + "description": "A user account was converted into an organization.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization" + }, + { + "action": "org.unblock_user", + "description": "A user was unblocked from an organization.", + "docs_reference_links": "/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization" + }, + { + "action": "org.update_actions_settings", + "description": "An organization owner or site administrator updated GitHub Actions policy settings for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization" + }, + { + "action": "org.update_default_repository_permission", + "description": "The default repository permission level for organization members was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_member", + "description": "A person's role was changed from owner to member or member to owner.", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_member_repository_creation_permission", + "description": "The create repository permission for organization members was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_member_repository_invitation_permission", + "description": "An organization owner changed the policy setting for organization members inviting outside collaborators to repositories.", + "docs_reference_links": "/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators" + }, + { + "action": "org.update_saml_provider_settings", + "description": "An organization's SAML provider settings were updated.", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_terms_of_service", + "description": "An organization changed between the Standard Terms of Service and the GitHub Customer Agreement.", + "docs_reference_links": "/organizations/managing-organization-settings/upgrading-to-the-github-customer-agreement" + }, + { + "action": "organization_domain.approve", + "description": "A domain was approved for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#approving-a-domain-for-your-organization" + }, + { + "action": "organization_domain.create", + "description": "A domain was added to an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#verifying-a-domain-for-your-organization" + }, + { + "action": "organization_domain.destroy", + "description": "A domain was removed from an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#removing-an-approved-or-verified-domain" + }, + { + "action": "organization_domain.verify", + "description": "A domain was verified for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#verifying-a-domain-for-your-organization" + }, + { + "action": "packages.package_deleted", + "description": "An entire package was deleted.", + "docs_reference_links": "/packages/learn-github-packages/deleting-and-restoring-a-package" + }, + { + "action": "packages.package_published", + "description": "A package was published or republished to an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "packages.package_version_deleted", + "description": "A specific package version was deleted.", + "docs_reference_links": "/packages/learn-github-packages/deleting-and-restoring-a-package" + }, + { + "action": "packages.package_version_published", + "description": "A specific package version was published or republished to a package.", + "docs_reference_links": "N/A" + }, + { + "action": "pages_protected_domain.create", + "description": "A GitHub Pages verified domain was created for an organization or enterprise.", + "docs_reference_links": "/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages" + }, + { + "action": "pages_protected_domain.delete", + "description": "A GitHub Pages verified domain was deleted from an organization or enterprise.", + "docs_reference_links": "/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages" + }, + { + "action": "pages_protected_domain.verify", + "description": "A GitHub Pages domain was verified for an organization or enterprise.", + "docs_reference_links": "/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages" + }, + { + "action": "passkey.register", + "description": "A new passkey was added.", + "docs_reference_links": "N/A" + }, + { + "action": "passkey.remove", + "description": "A new passkey was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "payment_method.create", + "description": "A new payment method was added, such as a new credit card or PayPal account.", + "docs_reference_links": "N/A" + }, + { + "action": "payment_method.remove", + "description": "A payment method was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "payment_method.update", + "description": "An existing payment method was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.access_granted", + "description": "A fine-grained personal access token was granted access to resources.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization" + }, + { + "action": "personal_access_token.access_revoked", + "description": "A fine-grained personal access token was revoked. The token can still read public organization resources.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/reviewing-and-revoking-personal-access-tokens-in-your-organization" + }, + { + "action": "personal_access_token.create", + "description": "Triggered when you create a fine-grained personal access token.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.credential_regenerated", + "description": "Triggered when you regenerate a fine-grained personal access token.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.credential_revoked", + "description": "A fine-grained personal access token was revoked by GitHub Advanced Security.", + "docs_reference_links": "/code-security/getting-started/github-security-features#secret-scanning-alerts-for-users" + }, + { + "action": "personal_access_token.destroy", + "description": "Triggered when you delete a fine-grained personal access token.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.request_cancelled", + "description": "A pending request for a fine-grained personal access token to access organization resources was canceled.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.request_created", + "description": "Triggered when a fine-grained personal access token was created to access organization resources and the organization requires approval before the token can access organization resources.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization" + }, + { + "action": "personal_access_token.request_denied", + "description": "A request for a fine-grained personal access token to access organization resources was denied.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization" + }, + { + "action": "personal_access_token.update", + "description": "A fine-grained personal access token was updated.", + "docs_reference_links": "/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#fine-grained-personal-access-tokens" + }, + { + "action": "premium_runner.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "premium_runner.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "premium_runner.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting.disable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting.enable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting_new_repos.disable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting_new_repos.enable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "profile_picture.update", + "description": "A profile picture was updated.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile" + }, + { + "action": "project.access", + "description": "A project board visibility was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.close", + "description": "A project board was closed.", + "docs_reference_links": "/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board" + }, + { + "action": "project_collaborator.add", + "description": "A collaborator was added to a project.", + "docs_reference_links": "N/A" + }, + { + "action": "project_collaborator.remove", + "description": "A collaborator was removed from a project.", + "docs_reference_links": "N/A" + }, + { + "action": "project_collaborator.update", + "description": "A project collaborator's permission level was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.create", + "description": "A project board was created.", + "docs_reference_links": "N/A" + }, + { + "action": "project.delete", + "description": "A project board was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "project_field.create", + "description": "A field was created in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/understanding-fields" + }, + { + "action": "project_field.delete", + "description": "A field was deleted in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/understanding-fields/deleting-custom-fields" + }, + { + "action": "project.link", + "description": "A repository was linked to a project board.", + "docs_reference_links": "N/A" + }, + { + "action": "project.open", + "description": "A project board was reopened.", + "docs_reference_links": "/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board" + }, + { + "action": "project.rename", + "description": "A project board was renamed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.unlink", + "description": "A repository was unlinked from a project board.", + "docs_reference_links": "N/A" + }, + { + "action": "project.update_org_permission", + "description": "The project's base-level permission for all organization members was changed or removed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.update_team_permission", + "description": "A team's project board permission level was changed or when a team was added or removed from a project board.", + "docs_reference_links": "N/A" + }, + { + "action": "project.update_user_permission", + "description": "A user was added to or removed from a project board or had their permission level changed.", + "docs_reference_links": "N/A" + }, + { + "action": "project_view.create", + "description": "A view was created in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views" + }, + { + "action": "project_view.delete", + "description": "A view was deleted in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views" + }, + { + "action": "project.visibility_private", + "description": "A project's visibility was changed from public to private.", + "docs_reference_links": "N/A" + }, + { + "action": "project.visibility_public", + "description": "A project's visibility was changed from private to public.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.authorized_users_teams", + "description": "The users, teams, or integrations allowed to bypass a branch protection were changed.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches" + }, + { + "action": "protected_branch.branch_allowances", + "description": "A protected branch allowance was given to a specific user, team or integration.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.create", + "description": "Branch protection was enabled on a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.destroy", + "description": "Branch protection was disabled on a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.dismiss_stale_reviews", + "description": "Enforcement of dismissing stale pull requests was updated on a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.dismissal_restricted_users_teams", + "description": "Enforcement of restricting users and/or teams who can dismiss reviews was updated on a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.policy_override", + "description": "A branch protection requirement was overridden by a repository administrator.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.rejected_ref_update", + "description": "A branch update attempt was rejected.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_admin_enforced", + "description": "Branch protection was enforced for repository administrators.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_allow_deletions_enforcement_level", + "description": "Branch deletion was enabled or disabled for a protected branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_allow_force_pushes_enforcement_level", + "description": "Force pushes were enabled or disabled for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_ignore_approvals_from_contributors", + "description": "Ignoring of approvals from contributors to a pull request was enabled or disabled for a branch.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule" + }, + { + "action": "protected_branch.update_linear_history_requirement_enforcement_level", + "description": "Required linear commit history was enabled or disabled for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_lock_allows_fetch_and_merge", + "description": "Fork syncing was enabled or disabled for a read-only branch", + "docs_reference_links": "repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#lock-branch" + }, + { + "action": "protected_branch.update_lock_branch_enforcement_level", + "description": "The enforcement of a branch lock was updated.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#lock-branch" + }, + { + "action": "protected_branch.update_merge_queue_enforcement_level", + "description": "Enforcement of the merge queue was modified for a branch.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-merge-queue" + }, + { + "action": "protected_branch.update_name", + "description": "A branch name pattern was updated for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_pull_request_reviews_enforcement_level", + "description": "Enforcement of required pull request reviews was updated for a branch. Can be 0 (deactivated), 1 (non-admins), or 2 (everyone).", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_require_code_owner_review", + "description": "Enforcement of required code owner review was updated for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_require_last_push_approval", + "description": "Someone other than the person who pushed the last code-modifying commit to the branch must approve pull requests for the branch.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-pull-request-reviews-before-merging" + }, + { + "action": "protected_branch.update_required_approving_review_count", + "description": "Enforcement of the required number of approvals before merging was updated on a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_required_status_checks_enforcement_level", + "description": "Enforcement of required status checks was updated for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_signature_requirement_enforcement_level", + "description": "Enforcement of required commit signing was updated for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_strict_required_status_checks_policy", + "description": "Enforcement of required status checks was updated for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "public_key.create", + "description": "An SSH key was added to a user account or a deploy key was added to a repository.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account" + }, + { + "action": "public_key.delete", + "description": "An SSH key was removed from a user account or a deploy key was removed from a repository.", + "docs_reference_links": "/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys" + }, + { + "action": "public_key.unverification_failure", + "description": "A user account's SSH key or a repository's deploy key was unable to be unverified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.unverify", + "description": "A user account's SSH key or a repository's deploy key was unverified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.update", + "description": "A user account's SSH key or a repository's deploy key was updated.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.verification_failure", + "description": "A user account's SSH key or a repository's deploy key was unable to be verified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.verify", + "description": "A user account's SSH key or a repository's deploy key was verified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "pull_request.close", + "description": "A pull request was closed without being merged.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request" + }, + { + "action": "pull_request.converted_to_draft", + "description": "A pull request was converted to a draft.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#converting-a-pull-request-to-a-draft" + }, + { + "action": "pull_request.create", + "description": "A pull request was created.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request" + }, + { + "action": "pull_request.create_review_request", + "description": "A review was requested on a pull request.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews" + }, + { + "action": "pull_request.in_progress", + "description": "A pull request was marked as in progress.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request.indirect_merge", + "description": "A pull request was considered merged because the pull request's commits were merged into the target branch.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request.merge", + "description": "A pull request was merged.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request" + }, + { + "action": "pull_request.ready_for_review", + "description": "A pull request was marked as ready for review.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#marking-a-pull-request-as-ready-for-review" + }, + { + "action": "pull_request.rebase", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request.remove_review_request", + "description": "A review request was removed from a pull request.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews" + }, + { + "action": "pull_request.reopen", + "description": "A pull request was reopened after previously being closed.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request_review_comment.create", + "description": "A review comment was added to a pull request.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews" + }, + { + "action": "pull_request_review_comment.delete", + "description": "A review comment on a pull request was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request_review_comment.update", + "description": "A review comment on a pull request was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request_review.delete", + "description": "A review on a pull request was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request_review.dismiss", + "description": "A review on a pull request was dismissed.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review" + }, + { + "action": "pull_request_review.submit", + "description": "A review on a pull request was submitted.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request#submitting-your-review" + }, + { + "action": "repo.access", + "description": "The visibility of a repository changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility" + }, + { + "action": "repo.actions_enabled", + "description": "GitHub Actions was enabled for a repository.", + "docs_reference_links": "organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#using-the-audit-log-api" + }, + { + "action": "repo.add_member", + "description": "A collaborator was added to a repository.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository" + }, + { + "action": "repo.add_topic", + "description": "A topic was added to a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics" + }, + { + "action": "repo.advanced_security_disabled", + "description": "GitHub Advanced Security was disabled for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository" + }, + { + "action": "repo.advanced_security_enabled", + "description": "GitHub Advanced Security was enabled for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository" + }, + { + "action": "repo.archived", + "description": "A repository was archived.", + "docs_reference_links": "/repositories/archiving-a-github-repository" + }, + { + "action": "repo.change_merge_setting", + "description": "Pull request merge options were changed for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.code_scanning_analysis_deleted", + "description": "Code scanning analysis for a repository was deleted.", + "docs_reference_links": "/rest/code-scanning#delete-a-code-scanning-analysis-from-a-repository" + }, + { + "action": "repo.code_scanning_autofix_disabled", + "description": "Autofix for code scanning alerts was disabled for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.code_scanning_autofix_enabled", + "description": "Autofix for code scanning alerts was enabled for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.code_scanning_configuration_for_branch_deleted", + "description": "A code scanning configuration for a branch of a repository was deleted.", + "docs_reference_links": "/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository#removing-stale-configurations-and-alerts-from-a-branch" + }, + { + "action": "repo.codeql_disabled", + "description": "Code scanning using the default setup was disabled for a repository.", + "docs_reference_links": "/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning" + }, + { + "action": "repo.codeql_enabled", + "description": "Code scanning using the default setup was enabled for a repository.", + "docs_reference_links": "/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning" + }, + { + "action": "repo.codeql_updated", + "description": "Code scanning using the default setup was updated for a repository.", + "docs_reference_links": "/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning" + }, + { + "action": "repo.collaborators_only", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.config.disable_collaborators_only", + "description": "The interaction limit for collaborators only was disabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.disable_contributors_only", + "description": "The interaction limit for prior contributors only was disabled in a repository.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.disable_sockpuppet_disallowed", + "description": "The interaction limit for existing users only was disabled in a repository.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.enable_collaborators_only", + "description": "The interaction limit for collaborators only was enabled in a repository Users that are not collaborators or organization members were unable to interact with a repository for a set duration.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.enable_contributors_only", + "description": "The interaction limit for prior contributors only was enabled in a repository Users that are not prior contributors, collaborators or organization members were unable to interact with a repository for a set duration.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.enable_sockpuppet_disallowed", + "description": "The interaction limit for existing users was enabled in a repository New users aren't able to interact with a repository for a set duration Existing users of the repository, contributors, collaborators or organization members are able to interact with a repository.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.configure_self_hosted_jit_runner", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.create", + "description": "A repository was created.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/creating-a-new-repository" + }, + { + "action": "repo.create_actions_secret", + "description": "A GitHub Actions secret was created for a repository.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository" + }, + { + "action": "repo.create_actions_variable", + "description": "A GitHub Actions variable was created for a repository.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository" + }, + { + "action": "repo.create_integration_secret", + "description": "A Codespaces or Dependabot secret was created for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.destroy", + "description": "A repository was deleted.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/deleting-a-repository" + }, + { + "action": "repo.disk_archive", + "description": "A repository was archived on disk.", + "docs_reference_links": "/repositories/archiving-a-github-repository/archiving-repositories" + }, + { + "action": "repo.download_zip", + "description": "A source code archive of a repository was downloaded as a ZIP file.", + "docs_reference_links": "/repositories/working-with-files/using-files/downloading-source-code-archives" + }, + { + "action": "repo.hide_from_discovery", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.noindex", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.override_unlock", + "description": "The repository was unlocked.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_build", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_cname", + "description": "A GitHub Pages custom domain was modified in a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_create", + "description": "A GitHub Pages site was created.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_destroy", + "description": "A GitHub Pages site was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_https_redirect_disabled", + "description": "HTTPS redirects were disabled for a GitHub Pages site.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_https_redirect_enabled", + "description": "HTTPS redirects were enabled for a GitHub Pages site.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_private", + "description": "A GitHub Pages site visibility was changed to private.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_public", + "description": "A GitHub Pages site visibility was changed to public.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_soft_delete", + "description": "A GitHub Pages site was soft-deleted because its owner's plan changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_soft_delete_restore", + "description": "A GitHub Pages site that was previously soft-deleted was restored.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_source", + "description": "A GitHub Pages source was modified.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.register_self_hosted_runner", + "description": "A new self-hosted runner was registered.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository" + }, + { + "action": "repo.remove_actions_secret", + "description": "A GitHub Actions secret was deleted for a repository.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository" + }, + { + "action": "repo.remove_actions_variable", + "description": "A GitHub Actions variable was deleted for a repository.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository" + }, + { + "action": "repo.remove_integration_secret", + "description": "A Codespaces or Dependabot secret was deleted for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.remove_member", + "description": "A collaborator was removed from a repository.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository" + }, + { + "action": "repo.remove_self_hosted_runner", + "description": "A self-hosted runner was removed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository" + }, + { + "action": "repo.remove_topic", + "description": "A topic was removed from a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.rename", + "description": "A repository was renamed.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/renaming-a-repository" + }, + { + "action": "repo.require_login", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.restore", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.self_hosted_runner_offline", + "description": "The runner application was stopped. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner" + }, + { + "action": "repo.self_hosted_runner_online", + "description": "The runner application was started. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner" + }, + { + "action": "repo.self_hosted_runner_updated", + "description": "The runner application was updated. This event is not included in the JSON/CSV export.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#about-self-hosted-runners" + }, + { + "action": "repo.set_actions_fork_pr_approvals_policy", + "description": "The setting for requiring approvals for workflows from public forks was changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-required-approval-for-workflows-from-public-forks" + }, + { + "action": "repo.set_actions_private_fork_pr_approvals_policy", + "description": "The policy for requiring approval for fork pull request workflows from collaborators without write access to private repos was changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-forks-of-private-repositories" + }, + { + "action": "repo.set_actions_retention_limit", + "description": "The retention period for GitHub Actions artifacts and logs in a repository was changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository" + }, + { + "action": "repo.set_default_workflow_permissions", + "description": "The default permissions granted to the GITHUB_TOKEN when running workflows were changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository" + }, + { + "action": "repo.set_fork_pr_workflows_policy", + "description": "Triggered when the policy for workflows on private repository forks is changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks" + }, + { + "action": "repo.set_workflow_permission_can_approve_pr", + "description": "The policy for allowing GitHub Actions to create and approve pull requests was changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#preventing-github-actions-from-creating-or-approving-pull-requests" + }, + { + "action": "repo.staff_unlock", + "description": "An enterprise owner or GitHub staff (with permission from a repository administrator) temporarily unlocked the repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.temporary_access_granted", + "description": "Temporary access was enabled for a repository.", + "docs_reference_links": "/admin/user-management/managing-repositories-in-your-enterprise/accessing-user-owned-repositories-in-your-enterprise" + }, + { + "action": "repo.transfer", + "description": "A user accepted a request to receive a transferred repository.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/transferring-a-repository" + }, + { + "action": "repo.transfer_outgoing", + "description": "A repository was transferred to another repository network.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.transfer_start", + "description": "A user sent a request to transfer a repository to another user or organization.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.unarchived", + "description": "A repository was unarchived.", + "docs_reference_links": "/repositories/archiving-a-github-repository" + }, + { + "action": "repo.update_actions_access_settings", + "description": "The setting to control how a repository was used by GitHub Actions workflows in other repositories was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_actions_secret", + "description": "A GitHub Actions secret was updated for a repository.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository" + }, + { + "action": "repo.update_actions_settings", + "description": "A repository administrator changed GitHub Actions policy settings for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_actions_variable", + "description": "A GitHub Actions variable was updated for a repository.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository" + }, + { + "action": "repo.update_default_branch", + "description": "The default branch for a repository was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_integration_secret", + "description": "A Codespaces or Dependabot secret was updated for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_member", + "description": "A user's permission to a repository was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_branch_protection_evaluation.disable", + "description": "Branch protections were disabled for the repository.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule" + }, + { + "action": "repository_branch_protection_evaluation.enable", + "description": "Branch protections were enabled for this repository.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule" + }, + { + "action": "repository_image.create", + "description": "An image to represent a repository was uploaded.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_image.destroy", + "description": "An image to represent a repository was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.accept", + "description": "An invitation to join a repository was accepted.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.cancel", + "description": "An invitation to join a repository was canceled.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.create", + "description": "An invitation to join a repository was sent.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.reject", + "description": "An invitation to join a repository was declined.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_ruleset.create", + "description": "A repository ruleset was created.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository" + }, + { + "action": "repository_ruleset.destroy", + "description": "A repository ruleset was deleted.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#deleting-a-ruleset" + }, + { + "action": "repository_ruleset.update", + "description": "A repository ruleset was edited.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#editing-a-ruleset" + }, + { + "action": "repository_secret_scanning_automatic_validity_checks.disabled", + "description": "Automatic partner validation checks have been disabled at the repository level", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#allowing-validity-checks-for-partner-patterns-in-a-repository" + }, + { + "action": "repository_secret_scanning_automatic_validity_checks.enabled", + "description": "Automatic partner validation checks have been enabled at the repository level", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#allowing-validity-checks-for-partner-patterns-in-a-repository" + }, + { + "action": "repository_secret_scanning_custom_pattern.create", + "description": "A custom pattern was created for secret scanning in a repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-a-repository" + }, + { + "action": "repository_secret_scanning_custom_pattern.delete", + "description": "A custom pattern was removed from secret scanning in a repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#removing-a-custom-pattern" + }, + { + "action": "repository_secret_scanning_custom_pattern.publish", + "description": "A custom pattern was published for secret scanning in a repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-a-repository" + }, + { + "action": "repository_secret_scanning_custom_pattern_push_protection.disabled", + "description": "Push protection for a custom pattern for secret scanning was disabled for your repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-a-repository" + }, + { + "action": "repository_secret_scanning_custom_pattern_push_protection.enabled", + "description": "Push protection for a custom pattern for secret scanning was enabled for your repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-a-repository" + }, + { + "action": "repository_secret_scanning_custom_pattern.update", + "description": "Changes to a custom pattern were saved and a dry run was executed for secret scanning in a repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern" + }, + { + "action": "repository_secret_scanning.disable", + "description": "Secret scanning was disabled for a repository.", + "docs_reference_links": "/code-security/secret-scanning/about-secret-scanning" + }, + { + "action": "repository_secret_scanning.enable", + "description": "Secret scanning was enabled for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_secret_scanning_non_provider_patterns.disabled", + "description": "Secret scanning for non-provider patterns was disabled at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/secret-scanning-patterns#non-provider-patterns" + }, + { + "action": "repository_secret_scanning_non_provider_patterns.enabled", + "description": "Secret scanning for non-provider patterns was enabled at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/secret-scanning-patterns#non-provider-patterns" + }, + { + "action": "repository_secret_scanning_push_protection_bypass_list.add", + "description": "A role or team was added to the push protection bypass list at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "repository_secret_scanning_push_protection_bypass_list.disable", + "description": "Push protection settings for \"Users who can bypass push protection for secret scanning\" changed from \"Specific roles or teams\" to \"Anyone with write access\" at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "repository_secret_scanning_push_protection_bypass_list.enable", + "description": "Push protection settings for \"Users who can bypass push protection for secret scanning\" changed from \"Anyone with write access\" to \"Specific roles or teams\" at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "repository_secret_scanning_push_protection_bypass_list.remove", + "description": "A role or team was removed from the push protection bypass list at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "repository_secret_scanning_push_protection.disable", + "description": "Secret scanning push protection was disabled for a repository.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning" + }, + { + "action": "repository_secret_scanning_push_protection.enable", + "description": "Secret scanning push protection was enabled for a repository.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning" + }, + { + "action": "restrict_notification_delivery.disable", + "description": "Email notification restrictions for an organization or enterprise were disabled.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization, /admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise" + }, + { + "action": "restrict_notification_delivery.enable", + "description": "Email notification restrictions for an organization or enterprise were enabled.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization, /admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise" + }, + { + "action": "secret_scanning_alert.create", + "description": "GitHub detected a secret and created a secret scanning alert.", + "docs_reference_links": "/code-security/secret-scanning/managing-alerts-from-secret-scanning" + }, + { + "action": "secret_scanning_alert.reopen", + "description": "A secret scanning alert was reopened.", + "docs_reference_links": "N/A" + }, + { + "action": "secret_scanning_alert.resolve", + "description": "A secret scanning alert was resolved.", + "docs_reference_links": "N/A" + }, + { + "action": "secret_scanning_alert.revoke", + "description": "A secret scanning alert was revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "secret_scanning_alert.validate", + "description": "A secret scanning alert was validated.", + "docs_reference_links": "/code-security/secret-scanning/managing-alerts-from-secret-scanning" + }, + { + "action": "secret_scanning.disable", + "description": "Secret scanning was disabled for all existing repositories.", + "docs_reference_links": "/code-security/secret-scanning/about-secret-scanning" + }, + { + "action": "secret_scanning.enable", + "description": "Secret scanning was enabled for all existing repositories.", + "docs_reference_links": "/code-security/secret-scanning/about-secret-scanning" + }, + { + "action": "secret_scanning_new_repos.disable", + "description": "Secret scanning was disabled for all new repositories.", + "docs_reference_links": "/code-security/secret-scanning/about-secret-scanning" + }, + { + "action": "secret_scanning_new_repos.enable", + "description": "Secret scanning was enabled for all new repositories.", + "docs_reference_links": "/code-security/secret-scanning/about-secret-scanning" + }, + { + "action": "secret_scanning_push_protection.bypass", + "description": "Triggered when a user bypasses the push protection on a secret detected by secret scanning.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret" + }, + { + "action": "secret_scanning_push_protection_request.approve", + "description": "A request to bypass secret scanning push protection was approved by a user.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#managing-requests-to-bypass-push-protection" + }, + { + "action": "secret_scanning_push_protection_request.deny", + "description": "A request to bypass secret scanning push protection was denied by a user.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#managing-requests-to-bypass-push-protection" + }, + { + "action": "secret_scanning_push_protection_request.request", + "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_key.register", + "description": "A security key was registered for an account.", + "docs_reference_links": "N/A" + }, + { + "action": "security_key.remove", + "description": "A security key was removed from an account.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.agreement_sign", + "description": "A GitHub Sponsors agreement was signed on behalf of an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.custom_amount_settings_change", + "description": "Custom amounts for GitHub Sponsors were enabled or disabled, or the suggested custom amount was changed.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers" + }, + { + "action": "sponsors.fiscal_host_change", + "description": "The fiscal host for a GitHub Sponsors listing was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.repo_funding_links_file_action", + "description": "The FUNDING file in a repository was changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository" + }, + { + "action": "sponsors.sponsor_sponsorship_cancel", + "description": "A sponsorship was canceled.", + "docs_reference_links": "/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship" + }, + { + "action": "sponsors.sponsor_sponsorship_create", + "description": "A sponsorship was created, by sponsoring an account.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/about-sponsorships-fees-and-taxes" + }, + { + "action": "sponsors.sponsor_sponsorship_payment_complete", + "description": "After you sponsor an account and a payment has been processed, the sponsorship payment was marked as complete.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/about-sponsorships-fees-and-taxes" + }, + { + "action": "sponsors.sponsor_sponsorship_preference_change", + "description": "The option to receive email updates from a sponsored account was changed.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship" + }, + { + "action": "sponsors.sponsor_sponsorship_tier_change", + "description": "A sponsorship was upgraded or downgraded.", + "docs_reference_links": "/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship, /billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship" + }, + { + "action": "sponsors.sponsored_developer_approve", + "description": "A GitHub Sponsors account was approved.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account" + }, + { + "action": "sponsors.sponsored_developer_create", + "description": "A GitHub Sponsors account was created.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account" + }, + { + "action": "sponsors.sponsored_developer_disable", + "description": "A GitHub Sponsors account was disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.sponsored_developer_profile_update", + "description": "The profile for GitHub Sponsors account was edited.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors" + }, + { + "action": "sponsors.sponsored_developer_redraft", + "description": "A GitHub Sponsors account was returned to draft state from approved state.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.sponsored_developer_request_approval", + "description": "An application for GitHub Sponsors was submitted for approval.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account" + }, + { + "action": "sponsors.sponsored_developer_tier_description_update", + "description": "The description for a sponsorship tier was changed.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers" + }, + { + "action": "sponsors.sponsored_developer_update_newsletter_send", + "description": "Triggered when you send an email update to your sponsors.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/contacting-your-sponsors" + }, + { + "action": "sponsors.sponsors_patreon_user_create", + "description": "A Patreon account was linked to a user account for use with GitHub Sponsors.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/enabling-sponsorships-through-patreon#linking-your-patreon-account-to-your-github-account" + }, + { + "action": "sponsors.sponsors_patreon_user_destroy", + "description": "A Patreon account for use with GitHub Sponsors was unlinked from a user account.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/unlinking-your-patreon-account-from-your-github-account" + }, + { + "action": "sponsors.update_tier_repository", + "description": "A GitHub Sponsors tier changed access for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.update_tier_welcome_message", + "description": "The welcome message for a GitHub Sponsors tier for an organization was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.waitlist_join", + "description": "You join the waitlist to join GitHub Sponsors.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account" + }, + { + "action": "sponsors.withdraw_agreement_signature", + "description": "A signature was withdrawn from a GitHub Sponsors agreement that applies to an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "ssh_certificate_authority.create", + "description": "An SSH certificate authority for an organization or enterprise was created.", + "docs_reference_links": "/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities, /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise" + }, + { + "action": "ssh_certificate_authority.destroy", + "description": "An SSH certificate authority for an organization or enterprise was deleted.", + "docs_reference_links": "/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities, /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise" + }, + { + "action": "ssh_certificate_requirement.disable", + "description": "The requirement for members to use SSH certificates to access an organization resources was disabled.", + "docs_reference_links": "/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities, /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise" + }, + { + "action": "ssh_certificate_requirement.enable", + "description": "The requirement for members to use SSH certificates to access an organization resources was enabled.", + "docs_reference_links": "/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities, /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise" + }, + { + "action": "staff.set_domain_token_expiration", + "description": "The verification code expiry time for an organization or enterprise domain was set.", + "docs_reference_links": "N/A" + }, + { + "action": "staff.unverify_domain", + "description": "An organization or enterprise domain was unverified.", + "docs_reference_links": "N/A" + }, + { + "action": "staff.verify_domain", + "description": "An organization or enterprise domain was verified.", + "docs_reference_links": "N/A" + }, + { + "action": "successor_invitation.accept", + "description": "Triggered when you accept a succession invitation.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories" + }, + { + "action": "successor_invitation.cancel", + "description": "Triggered when you cancel a succession invitation.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories" + }, + { + "action": "successor_invitation.create", + "description": "Triggered when you create a succession invitation.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories" + }, + { + "action": "successor_invitation.decline", + "description": "Triggered when you decline a succession invitation.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories" + }, + { + "action": "successor_invitation.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "successor_invitation.revoke", + "description": "Triggered when you revoke a succession invitation.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories" + }, + { + "action": "team.add_member", + "description": "A member of an organization was added to a team.", + "docs_reference_links": "/organizations/organizing-members-into-teams/adding-organization-members-to-a-team" + }, + { + "action": "team.add_repository", + "description": "A team was given access and permissions to a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "team.change_parent_team", + "description": "A child team was created or a child team's parent was changed.", + "docs_reference_links": "/organizations/organizing-members-into-teams/moving-a-team-in-your-organizations-hierarchy" + }, + { + "action": "team.change_privacy", + "description": "A team's privacy level was changed.", + "docs_reference_links": "/organizations/organizing-members-into-teams/changing-team-visibility" + }, + { + "action": "team.create", + "description": "A new team is created.", + "docs_reference_links": "N/A" + }, + { + "action": "team.demote_maintainer", + "description": "A user was demoted from a team maintainer to a team member.", + "docs_reference_links": "/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member" + }, + { + "action": "team.destroy", + "description": "A team was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "team_discussions.clear", + "description": "An organization owner cleared the setting to allow team discussions for an organization or enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "team_discussions.disable", + "description": "Team discussions were disabled for an organization.", + "docs_reference_links": "/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization" + }, + { + "action": "team_discussions.enable", + "description": "Team discussions were enabled for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "team.promote_maintainer", + "description": "A user was promoted from a team member to a team maintainer.", + "docs_reference_links": "/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member#promoting-an-organization-member-to-team-maintainer" + }, + { + "action": "team.remove_member", + "description": "An organization member was removed from a team.", + "docs_reference_links": "/organizations/organizing-members-into-teams/removing-organization-members-from-a-team" + }, + { + "action": "team.remove_repository", + "description": "A repository was removed from a team's control.", + "docs_reference_links": "N/A" + }, + { + "action": "team.rename", + "description": "A team's name was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "team_sync_tenant.disabled", + "description": "Team synchronization with a tenant was disabled.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization, /admin/identity-and-access-management/using-saml-for-enterprise-iam/managing-team-synchronization-for-organizations-in-your-enterprise" + }, + { + "action": "team_sync_tenant.enabled", + "description": "Team synchronization with a tenant was enabled.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization, /admin/identity-and-access-management/using-saml-for-enterprise-iam/managing-team-synchronization-for-organizations-in-your-enterprise" + }, + { + "action": "team.update_repository_permission", + "description": "A team's permission to a repository was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "trusted_device.register", + "description": "A new trusted device was added.", + "docs_reference_links": "N/A" + }, + { + "action": "trusted_device.remove", + "description": "A trusted device was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.abort", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.complete", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.ignore", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.staff_approve", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.staff_decline", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.start", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.two_factor_destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_authentication.add_factor", + "description": "A secondary authentication factor was added to a user account.", + "docs_reference_links": "/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication" + }, + { + "action": "two_factor_authentication.disabled", + "description": "Two-factor authentication was disabled for a user account.", + "docs_reference_links": "https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account" + }, + { + "action": "two_factor_authentication.enabled", + "description": "Two-factor authentication was enabled for a user account.", + "docs_reference_links": "https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication" + }, + { + "action": "two_factor_authentication.password_reset_fallback_sms", + "description": "A one-time password code was sent to a user account fallback phone number.", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_authentication.recovery_codes_regenerated", + "description": "Two factor recovery codes were regenerated for a user account.", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_authentication.remove_factor", + "description": "A secondary authentication factor was removed from a user account.", + "docs_reference_links": "/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication" + }, + { + "action": "two_factor_authentication.sign_in_fallback_sms", + "description": "A one-time password code was sent to a user account fallback phone number.", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_authentication.update_fallback", + "description": "The two-factor authentication fallback for a user account was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "user.add_email", + "description": "An email address was added to a user account.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account" + }, + { + "action": "user.async_delete", + "description": "An asynchronous job was started to destroy a user account, eventually triggering a user.delete event.", + "docs_reference_links": "N/A" + }, + { + "action": "user.audit_log_export", + "description": "Audit log entries were exported.", + "docs_reference_links": "N/A" + }, + { + "action": "user.block_user", + "description": "A user was blocked by another user.", + "docs_reference_links": "N/A" + }, + { + "action": "user.change_password", + "description": "A user changed their password.", + "docs_reference_links": "N/A" + }, + { + "action": "user.codespaces_trusted_repo_access_granted", + "description": "Triggered when you allow the codespaces you create for a repository to access other repositories owned by your personal account.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces" + }, + { + "action": "user.codespaces_trusted_repo_access_revoked", + "description": "Triggered when you disallow the codespaces you create for a repository to access other repositories owned by your personal account.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces" + }, + { + "action": "user.correct_password_from_unrecognized_device", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.correct_password_from_unrecognized_device_and_location", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.correct_password_from_unrecognized_location", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.create", + "description": "A new user account was created.", + "docs_reference_links": "N/A" + }, + { + "action": "user.create_integration_secret", + "description": "A user secret for Codespaces was created.", + "docs_reference_links": "N/A" + }, + { + "action": "user.creation_rate_limit_exceeded", + "description": "The rate of creation of user accounts, applications, issues, pull requests or other resources exceeded the configured rate limits, or too many users were followed too quickly.", + "docs_reference_links": "N/A" + }, + { + "action": "user.delete", + "description": "A user account was destroyed by an asynchronous job.", + "docs_reference_links": "N/A" + }, + { + "action": "user.demote", + "description": "A site administrator was demoted to an ordinary user account.", + "docs_reference_links": "N/A" + }, + { + "action": "user.destroy", + "description": "A user deleted his or her account, triggering user.async_delete.", + "docs_reference_links": "N/A" + }, + { + "action": "user.device_verification_failure", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.device_verification_requested", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.device_verification_success", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.disable_collaborators_only", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.disable_contributors_only", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.disable_sockpuppet_disallowed", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user_email.confirm_claim", + "description": "An enterprise managed user claimed an email address.", + "docs_reference_links": "N/A" + }, + { + "action": "user_email.mark_as_unclaimed", + "description": "N/A", + "docs_reference_links": "An enterprise managed user unclaimed an email address." + }, + { + "action": "user.enable_collaborators_only", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.enable_contributors_only", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.enable_sockpuppet_disallowed", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.failed_login", + "description": "A user tried to sign in with an incorrect username, password, or two-factor authentication code.", + "docs_reference_links": "N/A" + }, + { + "action": "user.flag_as_large_scale_contributor", + "description": "A user account was flagged as a large scale contributor. Only contributions from public repositories the user owns will be shown in their contribution graph, in order to prevent timeouts.", + "docs_reference_links": "N/A" + }, + { + "action": "user.forgot_password", + "description": "A user requested a password reset.", + "docs_reference_links": "/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials" + }, + { + "action": "user.grant_github_developer", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.hide_private_contributions_count", + "description": "A user changed the visibility of their private contributions. The number of contributions to private repositories on the user's profile are now hidden.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/showing-your-private-contributions-and-achievements-on-your-profile" + }, + { + "action": "user.login", + "description": "A user signed in.", + "docs_reference_links": "N/A" + }, + { + "action": "user.logout", + "description": "A user signed out.", + "docs_reference_links": "N/A" + }, + { + "action": "user.minimize_comment", + "description": "A comment made by a user was minimized.", + "docs_reference_links": "N/A" + }, + { + "action": "user.new_device_used", + "description": "A user signed in from a new device.", + "docs_reference_links": "N/A" + }, + { + "action": "user.partial_two_factor_email_followup", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.promote", + "description": "An ordinary user account was promoted to a site administrator.", + "docs_reference_links": "N/A" + }, + { + "action": "user.recreate", + "description": "A user's account was restored.", + "docs_reference_links": "N/A" + }, + { + "action": "user.remove_email", + "description": "An email address was removed from a user account.", + "docs_reference_links": "N/A" + }, + { + "action": "user.remove_integration_secret", + "description": "A user secret for Codespaces was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "user.remove_large_scale_contributor_flag", + "description": "A user account was no longer flagged as a large scale contributor.", + "docs_reference_links": "N/A" + }, + { + "action": "user.rename", + "description": "A username was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "user.report_abuse", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.report_content", + "description": "Triggered when you report an issue or pull request, or a comment on an issue, pull request, or commit.", + "docs_reference_links": "/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam" + }, + { + "action": "user.reset_password", + "description": "A user reset their account password.", + "docs_reference_links": "N/A" + }, + { + "action": "user_session.country_change", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.show_private_contributions_count", + "description": "A user changed the visibility of their private contributions. The number of contributions to private repositories on the user's profile are now shown.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/showing-your-private-contributions-and-achievements-on-your-profile" + }, + { + "action": "user.sign_in_from_unrecognized_device", + "description": "A user signed in from an unrecognized device.", + "docs_reference_links": "N/A" + }, + { + "action": "user.sign_in_from_unrecognized_device_and_location", + "description": "A user signed in from an unrecognized device and location.", + "docs_reference_links": "N/A" + }, + { + "action": "user.sign_in_from_unrecognized_location", + "description": "A user signed in from an unrecognized location.", + "docs_reference_links": "N/A" + }, + { + "action": "user_status.destroy", + "description": "Triggered when you clear the status on your profile.", + "docs_reference_links": "N/A" + }, + { + "action": "user_status.update", + "description": "Triggered when you set or change the status on your profile.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status" + }, + { + "action": "user.suspend", + "description": "A user account was suspended.", + "docs_reference_links": "N/A" + }, + { + "action": "user.toggle_warn_private_email", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_challenge_failure", + "description": "A 2FA challenge issued for a user account failed.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_challenge_success", + "description": "A 2FA challenge issued for a user account succeeded.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_recover", + "description": "A user used their 2FA recovery codes.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_recovery_codes_downloaded", + "description": "A user downloaded 2FA recovery codes for their account.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_recovery_codes_printed", + "description": "A user printed 2FA recovery codes for their account.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_recovery_codes_viewed", + "description": "A user viewed 2FA recovery codes for their account.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_requested", + "description": "A user was prompted for a two-factor authentication code.", + "docs_reference_links": "/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication" + }, + { + "action": "user.unblock_user", + "description": "A user was unblocked by another user.", + "docs_reference_links": "N/A" + }, + { + "action": "user.unminimize_comment", + "description": "A comment made by a user was unminimized.", + "docs_reference_links": "N/A" + }, + { + "action": "user.unsuspend", + "description": "A user account was unsuspended.", + "docs_reference_links": "N/A" + }, + { + "action": "user.update_integration_secret", + "description": "A user secret for Codespaces was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "user.update_new_repository_default_branch_setting", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.approve_workflow_job", + "description": "A workflow job was approved.", + "docs_reference_links": "/actions/managing-workflow-runs/reviewing-deployments" + }, + { + "action": "workflows.bypass_protection_rules", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.cancel_workflow_run", + "description": "A workflow run was cancelled.", + "docs_reference_links": "/actions/managing-workflow-runs/canceling-a-workflow" + }, + { + "action": "workflows.comment_workflow_job", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.completed_workflow_run", + "description": "A workflow status changed to completed. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history" + }, + { + "action": "workflows.created_workflow_run", + "description": "A workflow run was create. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/learn-github-actions/understanding-github-actions#create-an-example-workflow" + }, + { + "action": "workflows.delete_workflow_run", + "description": "A workflow run was deleted.", + "docs_reference_links": "/actions/managing-workflow-runs/deleting-a-workflow-run" + }, + { + "action": "workflows.disable_workflow", + "description": "A workflow was disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.enable_workflow", + "description": "A workflow was enabled, after previously being disabled by disable_workflow.", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.pin_workflow", + "description": "A workflow was pinned.", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.prepared_workflow_job", + "description": "A workflow job was started. Includes the list of secrets that were provided to the job. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/using-workflows/events-that-trigger-workflows" + }, + { + "action": "workflows.reject_workflow_job", + "description": "A workflow job was rejected.", + "docs_reference_links": "/actions/managing-workflow-runs/reviewing-deployments" + }, + { + "action": "workflows.rerun_workflow_run", + "description": "A workflow run was re-run.", + "docs_reference_links": "/actions/managing-workflow-runs/re-running-workflows-and-jobs" + }, + { + "action": "workflows.unpin_workflow", + "description": "A workflow was unpinned after previously being pinned.", + "docs_reference_links": "N/A" + } +] \ No newline at end of file diff --git a/src/audit-logs/data/ghes-3.15/organization.json b/src/audit-logs/data/ghes-3.15/organization.json new file mode 100644 index 000000000000..892cc765abc7 --- /dev/null +++ b/src/audit-logs/data/ghes-3.15/organization.json @@ -0,0 +1,3442 @@ +[ + { + "action": "account.billing_date_change", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "account.plan_change", + "description": "The account's plan changed.", + "docs_reference_links": "/billing/managing-the-plan-for-your-github-account/about-billing-for-plans" + }, + { + "action": "actions_cache.delete", + "description": "A GitHub Actions cache was deleted using the REST API.", + "docs_reference_links": "N/A" + }, + { + "action": "advisory_credit.accept", + "description": "Credit was accepted for a security advisory.", + "docs_reference_links": "/code-security/security-advisories/working-with-repository-security-advisories/editing-a-repository-security-advisory" + }, + { + "action": "advisory_credit.create", + "description": "Someone was added to the credit section of a security advisory.", + "docs_reference_links": "N/A" + }, + { + "action": "advisory_credit.decline", + "description": "Credit was declined for a security advisory.", + "docs_reference_links": "N/A" + }, + { + "action": "advisory_credit.destroy", + "description": "Someone was removed from the credit section of a security advisory.", + "docs_reference_links": "N/A" + }, + { + "action": "artifact.destroy", + "description": "A workflow run artifact was manually deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "auto_approve_personal_access_token_requests.disable", + "description": "Triggered when the organization must approve fine-grained personal access tokens before the tokens can access organization resources.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization" + }, + { + "action": "auto_approve_personal_access_token_requests.enable", + "description": "Triggered when fine-grained personal access tokens can access organization resources without prior approval.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization" + }, + { + "action": "billing.change_billing_type", + "description": "The way the account pays for GitHub was changed.", + "docs_reference_links": "/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method" + }, + { + "action": "billing.change_email", + "description": "The billing email address changed.", + "docs_reference_links": "/billing/managing-your-github-billing-settings/setting-your-billing-email" + }, + { + "action": "billing.lock", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "billing.unlock", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "checks.auto_trigger_disabled", + "description": "Automatic creation of check suites was disabled on a repository in the organization or enterprise.", + "docs_reference_links": "/rest/checks#update-repository-preferences-for-check-suites" + }, + { + "action": "checks.auto_trigger_enabled", + "description": "Automatic creation of check suites was enabled on a repository in the organization or enterprise.", + "docs_reference_links": "/rest/checks#update-repository-preferences-for-check-suites" + }, + { + "action": "checks.delete_logs", + "description": "Logs in a check suite were deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.allow_permissions", + "description": "A codespace using custom permissions from its devcontainer.json file was launched.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.attempted_to_create_from_prebuild", + "description": "An attempt to create a codespace from a prebuild was made.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.business_enablement_updated", + "description": "Enterprise setting for Codespaces ownership was updated.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/choosing-who-owns-and-pays-for-codespaces-in-your-organization" + }, + { + "action": "codespaces.connect", + "description": "Credentials for a codespace were refreshed.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.create", + "description": "A codespace was created", + "docs_reference_links": "/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository" + }, + { + "action": "codespaces.destroy", + "description": "A user deleted a codespace.", + "docs_reference_links": "/codespaces/developing-in-codespaces/deleting-a-codespace" + }, + { + "action": "codespaces.export_environment", + "description": "A codespace was exported to a branch on GitHub.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.policy_group_created", + "description": "Policies were applied to codespaces in an organization or enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.policy_group_deleted", + "description": "Policies were removed from codespaces in an organization or enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.policy_group_updated", + "description": "Policies were updated for codespaces in an organization or enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.restore", + "description": "A codespace was restored.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.start_environment", + "description": "A codespace was started.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.suspend_environment", + "description": "A codespace was stopped.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.trusted_repositories_access_update", + "description": "A personal account's access and security setting for Codespaces were updated.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces" + }, + { + "action": "commit_comment.destroy", + "description": "A commit comment was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "commit_comment.update", + "description": "A commit comment was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.access_revoked", + "description": "Copilot access was revoked for the organization or enterprise due to its Copilot subscription ending, an issue with billing the entity, the entity being marked spammy, or the entity being suspended.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_org_settings_changed", + "description": "Copilot feature settings were changed at the organization level.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_added", + "description": "A Copilot Business or Copilot Enterprise seat was added for a user and they have received access to GitHub Copilot. This can occur as the result of directly assigning a seat for a user, assigning a seat for a team, or setting the organization to allow access for all members.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_assignment_created", + "description": "A Copilot Business or Copilot Enterprise seat assignment was newly created for a user or a team, and seats are being created.", + "docs_reference_links": "/copilot/overview-of-github-copilot/about-github-copilot-for-business" + }, + { + "action": "copilot.cfb_seat_assignment_refreshed", + "description": "A seat assignment that was previously pending cancellation was re-assigned and the user will retain access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_assignment_reused", + "description": "A Copilot Business or Copilot Enterprise seat assignment was re-created for a user who already had a seat with no pending cancellation date, and the user will retain access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_assignment_unassigned", + "description": "A user or team's Copilot Business or Copilot Enterprise seat assignment was unassigned, and the user(s) will lose access to Copilot at the end of the current billing cycle.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_cancelled", + "description": "A user's Copilot Business or Copilot Enterprise seat was canceled, and the user no longer has access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_cancelled_by_staff", + "description": "A user's Copilot Business or Copilot Enterprise seat was canceled manually by GitHub staff, and the user no longer has access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_management_changed", + "description": "The seat management setting was changed at the organization level to either enable or disable Copilot access for all members of the organization, or to enable Copilot access for selected members or teams.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.content_exclusion_changed", + "description": "The excluded paths for GitHub Copilot were updated.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.knowledge_base_created", + "description": "A knowledge base was created in the organization.", + "docs_reference_links": "copilot/github-copilot-enterprise/copilot-chat-in-github/managing-copilot-knowledge-bases" + }, + { + "action": "copilot.knowledge_base_deleted", + "description": "A knowledge base was deleted from the organization.", + "docs_reference_links": "copilot/github-copilot-enterprise/copilot-chat-in-github/managing-copilot-knowledge-bases" + }, + { + "action": "copilot.knowledge_base_updated", + "description": "A knowledge base was updated in the organization.", + "docs_reference_links": "copilot/github-copilot-enterprise/copilot-chat-in-github/managing-copilot-knowledge-bases" + }, + { + "action": "copilot.plan_changed", + "description": "The plan for GitHub Copilot was updated.", + "docs_reference_links": "/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot" + }, + { + "action": "copilot.plan_downgrade_scheduled", + "description": "The plan for GitHub Copilot was scheduled to be downgraded.", + "docs_reference_links": "N/A" + }, + { + "action": "custom_hosted_runner.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "custom_hosted_runner.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "custom_hosted_runner.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "custom_property_definition.create", + "description": "A new custom property definition was created.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "custom_property_definition.destroy", + "description": "A custom property definition was deleted.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "custom_property_definition.update", + "description": "A custom property definition was updated.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "custom_property_value.create", + "description": "A repository's custom property value was manually set for the first time.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "custom_property_value.destroy", + "description": "A repository's custom property value was deleted.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "custom_property_value.update", + "description": "A repository's custom property value was updated.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization" + }, + { + "action": "dependabot_alerts.disable", + "description": "Dependabot alerts were disabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories" + }, + { + "action": "dependabot_alerts.enable", + "description": "Dependabot alerts were enabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories" + }, + { + "action": "dependabot_alerts_new_repos.disable", + "description": "Dependabot alerts were disabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-automatically-when-new-repositories-are-added" + }, + { + "action": "dependabot_alerts_new_repos.enable", + "description": "Dependabot alerts were enabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-automatically-when-new-repositories-are-added" + }, + { + "action": "dependabot_repository_access.repositories_updated", + "description": "The repositories that Dependabot can access were updated.", + "docs_reference_links": "N/A" + }, + { + "action": "dependabot_security_updates.disable", + "description": "Dependabot security updates were disabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependabot_security_updates.enable", + "description": "Dependabot security updates were enabled for all existing repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "dependabot_security_updates_new_repos.disable", + "description": " Dependabot security updates were disabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependabot_security_updates_new_repos.enable", + "description": "Dependabot security updates were enabled for all new repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "dependency_graph.disable", + "description": "The dependency graph was disabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependency_graph.enable", + "description": "The dependency graph was enabled for all existing repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "dependency_graph_new_repos.disable", + "description": "The dependency graph was disabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependency_graph_new_repos.enable", + "description": "The dependency graph was enabled for all new repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "discussion_comment.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "discussion_comment.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "discussion.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "discussion_post.destroy", + "description": "Triggered when a team discussion post is deleted.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/managing-disruptive-comments#deleting-a-comment" + }, + { + "action": "discussion_post_reply.destroy", + "description": "Triggered when a reply to a team discussion post is deleted.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/managing-disruptive-comments#deleting-a-comment" + }, + { + "action": "discussion_post_reply.update", + "description": "Triggered when a reply to a team discussion post is edited.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/managing-disruptive-comments#editing-a-comment" + }, + { + "action": "discussion_post.update", + "description": "Triggered when a team discussion post is edited.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/managing-disruptive-comments#editing-a-comment" + }, + { + "action": "enterprise_installation.create", + "description": "The GitHub App associated with a GitHub Connect connection was created.", + "docs_reference_links": "/admin/configuration/configuring-github-connect/managing-github-connect" + }, + { + "action": "enterprise_installation.destroy", + "description": "The GitHub App associated with a GitHub Connect connection was deleted.", + "docs_reference_links": "/admin/configuration/configuring-github-connect/managing-github-connect" + }, + { + "action": "environment.add_protection_rule", + "description": "A GitHub Actions deployment protection rule was created via the API.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules" + }, + { + "action": "environment.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "environment.create_actions_secret", + "description": "A secret was created for a GitHub Actions environment.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets" + }, + { + "action": "environment.create_actions_variable", + "description": "A variable was created for a GitHub Actions environment.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-environment" + }, + { + "action": "environment.delete", + "description": "An environment was deleted.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deleting-an-environment" + }, + { + "action": "environment.remove_actions_secret", + "description": "A secret was deleted for a GitHub Actions environment.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets" + }, + { + "action": "environment.remove_actions_variable", + "description": "A variable was deleted for a GitHub Actions environment.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-environment" + }, + { + "action": "environment.remove_protection_rule", + "description": "A GitHub Actions deployment protection rule was deleted via the API.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules" + }, + { + "action": "environment.update_actions_secret", + "description": "A secret was updated for a GitHub Actions environment.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets" + }, + { + "action": "environment.update_actions_variable", + "description": "A variable was updated for a GitHub Actions environment.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-environment" + }, + { + "action": "environment.update_protection_rule", + "description": "A GitHub Actions deployment protection rule was updated via the API.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules" + }, + { + "action": "git.clone", + "description": "A repository was cloned.", + "docs_reference_links": "N/A" + }, + { + "action": "git.fetch", + "description": "Changes were fetched from a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "git.push", + "description": "Changes were pushed to a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "github_hosted_runner.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "github_hosted_runner.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "github_hosted_runner.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "hook.active_changed", + "description": "A hook's active status was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "hook.config_changed", + "description": "A hook's configuration was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "hook.create", + "description": "A new hook was added.", + "docs_reference_links": "/get-started/exploring-integrations/about-webhooks" + }, + { + "action": "hook.destroy", + "description": "A hook was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "hook.events_changed", + "description": "A hook's configured events were changed.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.create", + "description": "A GitHub App was created.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.destroy", + "description": "A GitHub App was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.generate_client_secret", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "integration_installation.create", + "description": "A GitHub App was installed.", + "docs_reference_links": "/apps/using-github-apps/authorizing-github-apps" + }, + { + "action": "integration_installation.destroy", + "description": "A GitHub App was uninstalled.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#blocking-access" + }, + { + "action": "integration_installation.repositories_added", + "description": "Repositories were added to a GitHub App.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#modifying-repository-access" + }, + { + "action": "integration_installation.repositories_removed", + "description": "Repositories were removed from a GitHub App.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#modifying-repository-access" + }, + { + "action": "integration_installation_request.close", + "description": "A request to install a GitHub App was either approved or denied by an owner, or canceled by the member who opened the request.", + "docs_reference_links": "/apps/using-github-apps/requesting-a-github-app-from-your-organization-owner" + }, + { + "action": "integration_installation_request.create", + "description": "A member requested that an owner install a GitHub App.", + "docs_reference_links": "/apps/using-github-apps/requesting-a-github-app-from-your-organization-owner" + }, + { + "action": "integration_installation.suspend", + "description": "A GitHub App was suspended.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#blocking-access" + }, + { + "action": "integration_installation.unsuspend", + "description": "A GitHub App was unsuspended.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#blocking-access" + }, + { + "action": "integration_installation.version_updated", + "description": "Permissions for a GitHub App were updated.", + "docs_reference_links": "/apps/using-github-apps/approving-updated-permissions-for-a-github-app" + }, + { + "action": "integration.manager_added", + "description": "A member of an enterprise or organization was added as a GitHub App manager.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization#giving-someone-the-ability-to-manage-all-github-apps-owned-by-the-organization" + }, + { + "action": "integration.manager_removed", + "description": "A member of an enterprise or organization was removed from being a GitHub App manager.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization#removing-a-github-app-managers-permissions-for-the-entire-organization" + }, + { + "action": "integration.remove_client_secret", + "description": "A client secret for a GitHub App was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.revoke_all_tokens", + "description": "All user tokens for a GitHub App were requested to be revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.revoke_tokens", + "description": "Token(s) for a GitHub App were revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.suspend", + "description": "A GitHub App was suspended.", + "docs_reference_links": "/apps/maintaining-github-apps/suspending-a-github-app-installation" + }, + { + "action": "integration.transfer", + "description": "Ownership of a GitHub App was transferred to another user or organization.", + "docs_reference_links": "/apps/maintaining-github-apps/transferring-ownership-of-a-github-app" + }, + { + "action": "integration.unsuspend", + "description": "A GitHub App was unsuspended.", + "docs_reference_links": "/apps/maintaining-github-apps/suspending-a-github-app-installation" + }, + { + "action": "ip_allow_list.disable", + "description": "An IP allow list was disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list.disable_for_installed_apps", + "description": "An IP allow list was disabled for installed GitHub Apps.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list.enable", + "description": "An IP allow list was enabled.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list.enable_for_installed_apps", + "description": "An IP allow list was enabled for installed GitHub Apps.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list_entry.create", + "description": "An IP address was added to an IP allow list.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list_entry.destroy", + "description": "An IP address was deleted from an IP allow list.", + "docs_reference_links": "N/A" + }, + { + "action": "ip_allow_list_entry.update", + "description": "An IP address or its description was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "issue_comment.destroy", + "description": "A comment on an issue was deleted from the repository.", + "docs_reference_links": "N/A" + }, + { + "action": "issue_comment.update", + "description": "A comment on an issue (other than the initial one) changed.", + "docs_reference_links": "N/A" + }, + { + "action": "issue.destroy", + "description": "An issue was deleted from the repository.", + "docs_reference_links": "/issues/tracking-your-work-with-issues/deleting-an-issue" + }, + { + "action": "issue.pinned", + "description": "An issue was pinned to a repository.", + "docs_reference_links": "/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository" + }, + { + "action": "issue.transfer", + "description": "An issue was transferred to another repository.", + "docs_reference_links": "/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository" + }, + { + "action": "issue.unpinned", + "description": "An issue was unpinned from a repository.", + "docs_reference_links": "/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository" + }, + { + "action": "issues.deletes_disabled", + "description": "The ability for enterprise members to delete issues was disabled Members cannot delete issues in any organizations in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-deleting-issues" + }, + { + "action": "issues.deletes_enabled", + "description": "The ability for enterprise members to delete issues was enabled Members can delete issues in any organizations in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-deleting-issues" + }, + { + "action": "issues.deletes_policy_cleared", + "description": "An enterprise owner cleared the policy setting for allowing members to delete issues in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-deleting-issues" + }, + { + "action": "marketplace_agreement_signature.create", + "description": "The GitHub Marketplace Developer Agreement was signed.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.approve", + "description": "A listing was approved for inclusion in GitHub Marketplace.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.change_category", + "description": "A category for a listing for an app in GitHub Marketplace was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.create", + "description": "A listing for an app in GitHub Marketplace was created.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.delist", + "description": "A listing was removed from GitHub Marketplace.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.redraft", + "description": "A listing was sent back to draft state.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.reject", + "description": "A listing was not accepted for inclusion in GitHub Marketplace.", + "docs_reference_links": "N/A" + }, + { + "action": "members_can_create_pages.disable", + "description": "The ability for members to publish GitHub Pages sites was disabled.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization" + }, + { + "action": "members_can_create_pages.enable", + "description": "The ability for members to publish GitHub Pages sites was enabled.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization" + }, + { + "action": "members_can_create_private_pages.disable", + "description": "The ability for members to publish private GitHub Pages was disabled Members cannot publish private GitHub Pages in an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization" + }, + { + "action": "members_can_create_private_pages.enable", + "description": "The ability for members to publish private GitHub Pages was enabled Members can publish private GitHub Pages in an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization" + }, + { + "action": "members_can_create_public_pages.disable", + "description": "The ability for members to publish public GitHub Pages was disabled Members cannot publish public GitHub Pages in an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization" + }, + { + "action": "members_can_create_public_pages.enable", + "description": "The ability for members to publish public GitHub Pages was enabled Members can publish public GitHub Pages in an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization" + }, + { + "action": "members_can_delete_repos.clear", + "description": "An enterprise owner cleared the policy setting for deleting or transferring repositories in any organizations in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer" + }, + { + "action": "members_can_delete_repos.disable", + "description": "The ability for enterprise members to delete repositories was disabled Members cannot delete or transfer repositories in any organizations in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer" + }, + { + "action": "members_can_delete_repos.enable", + "description": "The ability for enterprise members to delete repositories was enabled Members can delete or transfer repositories in any organizations in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer" + }, + { + "action": "members_can_view_dependency_insights.clear", + "description": "An enterprise owner cleared the policy setting for viewing dependency insights in any organizations in an enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "members_can_view_dependency_insights.disable", + "description": "The ability for enterprise members to view dependency insights was disabled. Members cannot view dependency insights in any organizations in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-dependency-insights-in-your-enterprise" + }, + { + "action": "members_can_view_dependency_insights.enable", + "description": "The ability for enterprise members to view dependency insights was enabled. Members can view dependency insights in any organizations in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-dependency-insights-in-your-enterprise" + }, + { + "action": "merge_queue.pull_request_dequeued", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "merge_queue.pull_request_queue_jump", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "merge_queue.queue_cleared", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "merge_queue.update_settings", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "metered_billing_configuration.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "metered_billing_configuration.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "metered_billing_configuration.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "migration.create", + "description": "A migration file was created for transferring data from a source location (such as a GitHub.com organization or a GitHub Enterprise Server instance) to a target GitHub Enterprise Server instance.", + "docs_reference_links": "N/A" + }, + { + "action": "migration.destroy_file", + "description": "A migration file for transferring data from a source location (such as a GitHub.com organization or a GitHub Enterprise Server instance) to a target GitHub Enterprise Server instance was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "migration.download", + "description": "A migration file for transferring data from a source location (such as a GitHub.com organization or a GitHub Enterprise Server instance) to a target GitHub Enterprise Server instance was downloaded.", + "docs_reference_links": "N/A" + }, + { + "action": "network_configuration.create", + "description": "A network configuration for a hosted compute service was created.", + "docs_reference_links": "/admin/configuration/configuring-private-networking-for-hosted-compute-products/about-networking-for-hosted-compute-products" + }, + { + "action": "network_configuration.delete", + "description": "A network configuration for a hosted compute service was deleted.", + "docs_reference_links": "/admin/configuration/configuring-private-networking-for-hosted-compute-products/about-networking-for-hosted-compute-products" + }, + { + "action": "network_configuration.update", + "description": "A network configuration for a hosted compute service was updated.", + "docs_reference_links": "/admin/configuration/configuring-private-networking-for-hosted-compute-products/about-networking-for-hosted-compute-products" + }, + { + "action": "oauth_application.create", + "description": "An OAuth application was created.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.destroy", + "description": "An OAuth application was deleted.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.generate_client_secret", + "description": "An OAuth application's secret key was generated.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.remove_client_secret", + "description": "An OAuth application's secret key was deleted.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.reset_secret", + "description": "The secret key for an OAuth application was reset.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.revoke_all_tokens", + "description": "All user tokens for an OAuth application were requested to be revoked.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.revoke_tokens", + "description": "Token(s) for an OAuth application were revoked.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.transfer", + "description": "An OAuth application was transferred from one account to another.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "org.accept_business_invitation", + "description": "An invitation sent to an organization to join an enterprise was accepted.", + "docs_reference_links": "/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#inviting-an-organization-to-join-your-enterprise-account" + }, + { + "action": "org.add_billing_manager", + "description": "A billing manager was added to an organization.", + "docs_reference_links": "/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization" + }, + { + "action": "org.add_member", + "description": "A user joined an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.add_outside_collaborator", + "description": "An outside collaborator was added to a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "org.add_security_manager", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_disabled_for_new_repos", + "description": "GitHub Advanced Security was disabled for new repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_disabled_on_all_repos", + "description": "GitHub Advanced Security was disabled for all repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_enabled_for_new_repos", + "description": "GitHub Advanced Security was enabled for new repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_enabled_on_all_repos", + "description": "GitHub Advanced Security was enabled for all repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_policy_selected_member_disabled", + "description": "An enterprise owner prevented GitHub Advanced Security features from being enabled for repositories owned by the organization.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise" + }, + { + "action": "org.advanced_security_policy_selected_member_enabled", + "description": "An enterprise owner allowed GitHub Advanced Security features to be enabled for repositories owned by the organization.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise" + }, + { + "action": "org.allow_third_party_access_requests_from_outside_collaborators_disabled", + "description": "Third-party application access for outside collaborators was disabled for the organization.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/limiting-oauth-app-and-github-app-access-requests#enabling-or-disabling-integration-access-requests" + }, + { + "action": "org.allow_third_party_access_requests_from_outside_collaborators_enabled", + "description": "Third-party application access for outside collaborators was enabled for the organization.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/limiting-oauth-app-and-github-app-access-requests#enabling-or-disabling-integration-access-requests" + }, + { + "action": "org.archive", + "description": "The organization was archived.", + "docs_reference_links": "N/A" + }, + { + "action": "org.audit_log_export", + "description": "An export of the organization audit log was created. If the export included a query, the log will list the query used and the number of audit log entries matching that query.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#exporting-the-audit-log" + }, + { + "action": "org.audit_log_git_event_export", + "description": "An export of the organization's Git events was created.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/audit-log-events-for-your-organization" + }, + { + "action": "org.billing_signup_error", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.block_user", + "description": "An organization owner blocked a user from accessing the organization's repositories.", + "docs_reference_links": "/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization" + }, + { + "action": "org.cancel_business_invitation", + "description": "An invitation for an organization to join an enterprise was revoked", + "docs_reference_links": "/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#inviting-an-organization-to-join-your-enterprise-account" + }, + { + "action": "org.cancel_invitation", + "description": "An invitation sent to a user to join an organization was revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "org.clear_custom_invitation_rate_limit", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.code_scanning_autofix_disabled", + "description": "Autofix for code scanning alerts was disabled for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.code_scanning_autofix_enabled", + "description": "Autofix for code scanning alerts was enabled for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.codeql_disabled", + "description": "Code scanning using the default setup was disabled for an organization.", + "docs_reference_links": "/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning-at-scale" + }, + { + "action": "org.codeql_enabled", + "description": "Code scanning using the default setup was enabled for an organization.", + "docs_reference_links": "/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning-at-scale" + }, + { + "action": "org.codespaces_access_updated", + "description": "Access to use Codespaces on internal and private repositories was updated for an organization.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/enabling-or-disabling-github-codespaces-for-your-organization" + }, + { + "action": "org.codespaces_ownership_updated", + "description": "Ownership and payment for codespaces was updated for an organization.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/choosing-who-owns-and-pays-for-codespaces-in-your-organization" + }, + { + "action": "org.codespaces_team_access_allowed", + "description": "A team has been allowed to use Codespaces for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.codespaces_team_access_revoked", + "description": "A team has been prevented from using Codespaces for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.codespaces_trusted_repo_access_granted", + "description": "GitHub Codespaces was granted trusted repository access to all other repositories in an organization.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces" + }, + { + "action": "org.codespaces_trusted_repo_access_revoked", + "description": "GitHub Codespaces trusted repository access to all other repositories in an organization was revoked.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces" + }, + { + "action": "org.codespaces_user_access_allowed", + "description": "A user has been allowed to use Codespaces for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.codespaces_user_access_revoked", + "description": "A user has been prevented from using Codespaces for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.config.disable_collaborators_only", + "description": "The interaction limit for collaborators only for an organization was disabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.config.disable_contributors_only", + "description": "The interaction limit for prior contributors only for an organization was disabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.config.disable_sockpuppet_disallowed", + "description": "The interaction limit for existing users only for an organization was disabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.config.enable_collaborators_only", + "description": "The interaction limit for collaborators only for an organization was enabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.config.enable_contributors_only", + "description": "The interaction limit for prior contributors only for an organization was enabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.config.enable_sockpuppet_disallowed", + "description": "The interaction limit for existing users only for an organization was enabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization" + }, + { + "action": "org.configure_self_hosted_jit_runner", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.confirm_business_invitation", + "description": "An invitation for an organization to join an enterprise was confirmed.", + "docs_reference_links": "/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#inviting-an-organization-to-join-your-enterprise-account" + }, + { + "action": "org.connect_usage_metrics_export", + "description": "Server statistics were exported for the organization.", + "docs_reference_links": "/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/exporting-server-statistics" + }, + { + "action": "org.create", + "description": "An organization was created.", + "docs_reference_links": "/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch" + }, + { + "action": "org.create_actions_secret", + "description": "A GitHub Actions secret was created for an organization.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-an-organization" + }, + { + "action": "org.create_actions_variable", + "description": "A GitHub Actions variable was created for an organization.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-organization" + }, + { + "action": "org.create_integration_secret", + "description": "A Codespaces or Dependabot secret was created for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org_credential_authorization.deauthorize", + "description": "A member removed the SSO (SAML or OIDC) authorization from a credential that had access to your organization.", + "docs_reference_links": "/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on" + }, + { + "action": "org_credential_authorization.grant", + "description": "A member authorized credentials for use with SAML or OIDC single sign-on.", + "docs_reference_links": "/authentication/authenticating-with-saml-single-sign-on" + }, + { + "action": "org_credential_authorization.revoke", + "description": "An owner revoked authorized credentials.", + "docs_reference_links": "/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization" + }, + { + "action": "org.delete", + "description": "An organization was deleted by a user or staff.", + "docs_reference_links": "N/A" + }, + { + "action": "org.disable_member_team_creation_permission", + "description": "Team creation was limited to owners.", + "docs_reference_links": "/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization" + }, + { + "action": "org.disable_oauth_app_restrictions", + "description": "Third-party application access restrictions for an organization were disabled.", + "docs_reference_links": "/organizations/managing-oauth-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization" + }, + { + "action": "org.disable_reader_discussion_creation_permission", + "description": "An organization owner limited discussion creation to users with at least triage permission in an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization" + }, + { + "action": "org.disable_saml", + "description": "SAML single sign-on was disabled for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.disable_source_ip_disclosure", + "description": "Display of IP addresses within audit log events for the organization was disabled.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/displaying-ip-addresses-in-the-audit-log-for-your-organization" + }, + { + "action": "org.disable_two_factor_requirement", + "description": "A two-factor authentication requirement was disabled for the organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.display_commenter_full_name_disabled", + "description": "An organization owner disabled the display of a commenter's full name in an organization. Members cannot see a comment author's full name.", + "docs_reference_links": "N/A" + }, + { + "action": "org.display_commenter_full_name_enabled", + "description": "An organization owner enabled the display of a commenter's full name in an organization. Members can see a comment author's full name.", + "docs_reference_links": "N/A" + }, + { + "action": "org.enable_member_team_creation_permission", + "description": "Team creation by members was allowed.", + "docs_reference_links": "/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization" + }, + { + "action": "org.enable_oauth_app_restrictions", + "description": "Third-party application access restrictions for an organization were enabled.", + "docs_reference_links": "/organizations/managing-oauth-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization" + }, + { + "action": "org.enable_reader_discussion_creation_permission", + "description": "An organization owner allowed users with read access to create discussions in an organization", + "docs_reference_links": "/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization" + }, + { + "action": "org.enable_saml", + "description": "SAML single sign-on was enabled for the organization.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization" + }, + { + "action": "org.enable_source_ip_disclosure", + "description": "Display of IP addresses within audit log events for the organization was enabled.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/displaying-ip-addresses-in-the-audit-log-for-your-organization" + }, + { + "action": "org.enable_two_factor_requirement", + "description": "Two-factor authentication is now required for the organization.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization" + }, + { + "action": "org.integration_manager_added", + "description": "An organization owner granted a member access to manage all GitHub Apps owned by an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.integration_manager_removed", + "description": "An organization owner removed access to manage all GitHub Apps owned by an organization from an organization member.", + "docs_reference_links": "N/A" + }, + { + "action": "org.invite_member", + "description": "A new user was invited to join an organization.", + "docs_reference_links": "/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization" + }, + { + "action": "org.invite_to_business", + "description": "An organization was invited to join an enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "org.members_can_update_protected_branches.disable", + "description": "The ability for enterprise members to update protected branches was disabled. Only enterprise owners can update protected branches.", + "docs_reference_links": "N/A" + }, + { + "action": "org.members_can_update_protected_branches.enable", + "description": "The ability for enterprise members to update protected branches was enabled. Members of an organization can update protected branches.", + "docs_reference_links": "N/A" + }, + { + "action": "org.oauth_app_access_approved", + "description": "Access to an organization was granted for an OAuth App.", + "docs_reference_links": "/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization" + }, + { + "action": "org.oauth_app_access_blocked", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.oauth_app_access_denied", + "description": "Access was disabled for an OAuth App that was previously approved.", + "docs_reference_links": "/organizations/managing-oauth-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization" + }, + { + "action": "org.oauth_app_access_requested", + "description": "An organization member requested that an owner grant an OAuth App access to an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.oauth_app_access_unblocked", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.rate_limited_invites", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.recovery_code_failed", + "description": "An organization owner failed to sign into a organization with an external identity provider (IdP) using a recovery code.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/accessing-your-organization-if-your-identity-provider-is-unavailable" + }, + { + "action": "org.recovery_code_used", + "description": "An organization owner successfully signed into an organization with an external identity provider (IdP) using a recovery code.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/accessing-your-organization-if-your-identity-provider-is-unavailable" + }, + { + "action": "org.recovery_codes_downloaded", + "description": "An organization owner downloaded the organization's SSO recovery codes.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/downloading-your-organizations-saml-single-sign-on-recovery-codes" + }, + { + "action": "org.recovery_codes_generated", + "description": "An organization owner generated the organization's SSO recovery codes.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/downloading-your-organizations-saml-single-sign-on-recovery-codes" + }, + { + "action": "org.recovery_codes_printed", + "description": "An organization owner printed the organization's SSO recovery codes.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/downloading-your-organizations-saml-single-sign-on-recovery-codes" + }, + { + "action": "org.recovery_codes_viewed", + "description": "An organization owner viewed the organization's SSO recovery codes.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/downloading-your-organizations-saml-single-sign-on-recovery-codes" + }, + { + "action": "org.register_self_hosted_runner", + "description": "A new self-hosted runner was registered.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-an-organization" + }, + { + "action": "org.remove_actions_secret", + "description": "A GitHub Actions secret was removed from an organization.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-an-organization" + }, + { + "action": "org.remove_actions_variable", + "description": "A GitHub Actions variable was removed from an organization.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-organization" + }, + { + "action": "org.remove_billing_manager", + "description": "A billing manager was removed from an organization, either manually or due to a two-factor authentication requirement.", + "docs_reference_links": "/organizations/managing-peoples-access-to-your-organization-with-roles/removing-a-billing-manager-from-your-organization, /organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization" + }, + { + "action": "org.remove_integration_secret", + "description": "A Codespaces or Dependabot secret was removed from an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.remove_member", + "description": "A member was removed from an organization, either manually or due to a two-factor authentication requirement.", + "docs_reference_links": "N/A" + }, + { + "action": "org.remove_outside_collaborator", + "description": "An outside collaborator was removed from an organization, either manually or due to a two-factor authentication requirement.", + "docs_reference_links": "N/A" + }, + { + "action": "org.remove_security_manager", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.remove_self_hosted_runner", + "description": "A self-hosted runner was removed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners#removing-a-runner-from-an-organization" + }, + { + "action": "org.rename", + "description": "An organization was renamed.", + "docs_reference_links": "N/A" + }, + { + "action": "org.required_workflow_create", + "description": "Triggered when a required workflow is created.", + "docs_reference_links": "/actions/using-workflows/required-workflows" + }, + { + "action": "org.required_workflow_delete", + "description": "Triggered when a required workflow is deleted.", + "docs_reference_links": "/actions/using-workflows/required-workflows" + }, + { + "action": "org.required_workflow_update", + "description": "Triggered when a required workflow is updated.", + "docs_reference_links": "/actions/using-workflows/required-workflows" + }, + { + "action": "org.restore_member", + "description": "An organization member was restored.", + "docs_reference_links": "/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization" + }, + { + "action": "org.revoke_external_identity", + "description": "A member's linked identity was revoked.", + "docs_reference_links": "/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity" + }, + { + "action": "org.revoke_sso_session", + "description": "A member's SAML session was revoked.", + "docs_reference_links": "/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity" + }, + { + "action": "org.runner_group_created", + "description": "A self-hosted runner group was created.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#creating-a-self-hosted-runner-group-for-an-organization" + }, + { + "action": "org.runner_group_removed", + "description": "A self-hosted runner group was removed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group" + }, + { + "action": "org.runner_group_renamed", + "description": "A self-hosted runner group was renamed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group" + }, + { + "action": "org.runner_group_runner_removed", + "description": "The REST API was used to remove a self-hosted runner from a group.", + "docs_reference_links": "/rest/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization" + }, + { + "action": "org.runner_group_runners_added", + "description": "A self-hosted runner was added to a group.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group" + }, + { + "action": "org.runner_group_runners_updated", + "description": "A runner group's list of members was updated.", + "docs_reference_links": "/rest/actions#set-self-hosted-runners-in-a-group-for-an-organization" + }, + { + "action": "org.runner_group_updated", + "description": "The configuration of a self-hosted runner group was changed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group" + }, + { + "action": "org.runner_group_visiblity_updated", + "description": "The visibility of a self-hosted runner group was updated via the REST API.", + "docs_reference_links": "/rest/actions#update-a-self-hosted-runner-group-for-an-organization" + }, + { + "action": "org_secret_scanning_automatic_validity_checks.disabled", + "description": "Automatic partner validation checks have been disabled at the organization level", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#allowing-validity-checks-for-partner-patterns-in-an-organization" + }, + { + "action": "org_secret_scanning_automatic_validity_checks.enabled", + "description": "Automatic partner validation checks have been enabled at the organization level", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#allowing-validity-checks-for-partner-patterns-in-an-organization" + }, + { + "action": "org_secret_scanning_custom_pattern.create", + "description": "A custom pattern was created for secret scanning in an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization" + }, + { + "action": "org_secret_scanning_custom_pattern.delete", + "description": "A custom pattern was removed from secret scanning in an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#removing-a-custom-pattern" + }, + { + "action": "org_secret_scanning_custom_pattern.publish", + "description": "A custom pattern was published for secret scanning in an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization" + }, + { + "action": "org.secret_scanning_custom_pattern_push_protection_disabled", + "description": "Push protection for a custom pattern for secret scanning was disabled for an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization" + }, + { + "action": "org.secret_scanning_custom_pattern_push_protection_enabled", + "description": "Push protection for a custom pattern for secret scanning was enabled for an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization" + }, + { + "action": "org_secret_scanning_custom_pattern.update", + "description": "Changes to a custom pattern were saved and a dry run was executed for secret scanning in an organization.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern" + }, + { + "action": "org_secret_scanning_generic_secrets.disabled", + "description": "Generic secrets have been disabled at the organization level", + "docs_reference_links": "N/A" + }, + { + "action": "org_secret_scanning_generic_secrets.enabled", + "description": "Generic secrets have been enabled at the organization level", + "docs_reference_links": "N/A" + }, + { + "action": "org_secret_scanning_non_provider_patterns.disabled", + "description": "Secret scanning for non-provider patterns was disabled at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/secret-scanning-patterns#non-provider-patterns" + }, + { + "action": "org_secret_scanning_non_provider_patterns.enabled", + "description": "Secret scanning for non-provider patterns was enabled at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/secret-scanning-patterns#non-provider-patterns" + }, + { + "action": "org_secret_scanning_push_protection_bypass_list.add", + "description": "A role or team was added to the push protection bypass list at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "org_secret_scanning_push_protection_bypass_list.disable", + "description": "Push protection settings for \"Users who can bypass push protection for secret scanning\" changed from \"Specific roles or teams\" to \"Anyone with write access\" at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "org_secret_scanning_push_protection_bypass_list.enable", + "description": "Push protection settings for \"Users who can bypass push protection for secret scanning\" changed from \"Anyone with write access\" to \"Specific roles or teams\" at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "org_secret_scanning_push_protection_bypass_list.remove", + "description": "A role or team was removed from the push protection bypass list at the organization level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "org.secret_scanning_push_protection_custom_message_disabled", + "description": "The custom message triggered by an attempted push to a push-protected repository was disabled for an organization.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization" + }, + { + "action": "org.secret_scanning_push_protection_custom_message_enabled", + "description": "The custom message triggered by an attempted push to a push-protected repository was enabled for an organization.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization" + }, + { + "action": "org.secret_scanning_push_protection_custom_message_updated", + "description": "The custom message triggered by an attempted push to a push-protected repository was updated for an organization.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization" + }, + { + "action": "org.secret_scanning_push_protection_disable", + "description": "Push protection for secret scanning was disabled.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning" + }, + { + "action": "org.secret_scanning_push_protection_enable", + "description": "Push protection for secret scanning was enabled.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations" + }, + { + "action": "org.secret_scanning_push_protection_new_repos_disable", + "description": "Push protection for secret scanning was disabled for all new repositories in the organization.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations" + }, + { + "action": "org.secret_scanning_push_protection_new_repos_enable", + "description": "Push protection for secret scanning was enabled for all new repositories in the organization.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations" + }, + { + "action": "org.security_center_export_coverage", + "description": "A CSV export was requested on the Coverage page.", + "docs_reference_links": "N/A" + }, + { + "action": "org.security_center_export_overview_dashboard", + "description": "A CSV export was requested on the Overview Dashboard page.", + "docs_reference_links": "N/A" + }, + { + "action": "org.security_center_export_risk", + "description": "A CSV export was requested on the Risk page.", + "docs_reference_links": "N/A" + }, + { + "action": "org.self_hosted_runner_offline", + "description": "The runner application was stopped. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner" + }, + { + "action": "org.self_hosted_runner_online", + "description": "The runner application was started. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner" + }, + { + "action": "org.self_hosted_runner_updated", + "description": "The runner application was updated. This event is not included in the JSON/CSV export.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#about-self-hosted-runners" + }, + { + "action": "org.set_actions_fork_pr_approvals_policy", + "description": "The setting for requiring approvals for workflows from public forks was changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#requiring-approval-for-workflows-from-public-forks" + }, + { + "action": "org.set_actions_private_fork_pr_approvals_policy", + "description": "The policy for requiring approval for fork pull request workflows from collaborators without write access to private repos was changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#enabling-workflows-for-private-repository-forks" + }, + { + "action": "org.set_actions_retention_limit", + "description": "The retention period for GitHub Actions artifacts and logs in an organization was changed.", + "docs_reference_links": "/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization" + }, + { + "action": "org.set_custom_invitation_rate_limit", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.set_default_workflow_permissions", + "description": "The default permissions granted to the GITHUB_TOKEN when running workflows were changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization" + }, + { + "action": "org.set_fork_pr_workflows_policy", + "description": "The policy for workflows on private repository forks was changed.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#enabling-workflows-for-private-repository-forks" + }, + { + "action": "org.set_workflow_permission_can_approve_pr", + "description": "The policy for allowing GitHub Actions to create and approve pull requests was changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#preventing-github-actions-from-creating-or-approving-pull-requests" + }, + { + "action": "org.sso_response", + "description": "A SAML single sign-on (SSO) response was generated when a member attempted to authenticate with your 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": "N/A" + }, + { + "action": "org.transfer", + "description": "An organization was transferred between enterprise accounts.", + "docs_reference_links": "/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#transferring-an-organization-between-enterprise-accounts" + }, + { + "action": "org.transfer_outgoing", + "description": "An organization was transferred between enterprise accounts.", + "docs_reference_links": "/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#transferring-an-organization-between-enterprise-accounts" + }, + { + "action": "org.unarchive", + "description": "The organization was unarchived.", + "docs_reference_links": "N/A" + }, + { + "action": "org.unblock_user", + "description": "A user was unblocked from an organization.", + "docs_reference_links": "/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization" + }, + { + "action": "org.update_actions_secret", + "description": "A GitHub Actions secret was updated for an organization.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-an-organization" + }, + { + "action": "org.update_actions_settings", + "description": "An organization owner or site administrator updated GitHub Actions policy settings for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization" + }, + { + "action": "org.update_actions_variable", + "description": "A GitHub Actions variable was updated for an organization.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-organization" + }, + { + "action": "org.update_default_repository_permission", + "description": "The default repository permission level for organization members was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_integration_secret", + "description": "A Codespaces or Dependabot secret was updated for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_member", + "description": "A person's role was changed from owner to member or member to owner.", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_member_repository_creation_permission", + "description": "The create repository permission for organization members was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_member_repository_invitation_permission", + "description": "An organization owner changed the policy setting for organization members inviting outside collaborators to repositories.", + "docs_reference_links": "/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators" + }, + { + "action": "org.update_new_repository_default_branch_setting", + "description": "The name of the default branch was changed for new repositories in the organization.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization" + }, + { + "action": "org.update_repo_self_hosted_runners_policy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_saml_provider_settings", + "description": "An organization's SAML provider settings were updated.", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_terms_of_service", + "description": "An organization changed between the Standard Terms of Service and the GitHub Customer Agreement.", + "docs_reference_links": "/organizations/managing-organization-settings/upgrading-to-the-github-customer-agreement" + }, + { + "action": "organization_default_label.create", + "description": "A default label was created for repositories in an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization#creating-a-default-label" + }, + { + "action": "organization_default_label.destroy", + "description": "A default label was deleted for repositories in an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization#deleting-a-default-label" + }, + { + "action": "organization_default_label.update", + "description": "A default label was edited for repositories in an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization#editing-a-default-label" + }, + { + "action": "organization_domain.approve", + "description": "A domain was approved for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#approving-a-domain-for-your-organization" + }, + { + "action": "organization_domain.create", + "description": "A domain was added to an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#verifying-a-domain-for-your-organization" + }, + { + "action": "organization_domain.destroy", + "description": "A domain was removed from an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#removing-an-approved-or-verified-domain" + }, + { + "action": "organization_domain.verify", + "description": "A domain was verified for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#verifying-a-domain-for-your-organization" + }, + { + "action": "organization_moderators.add_team", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "organization_moderators.add_user", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "organization_moderators.remove_team", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "organization_moderators.remove_user", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "organization_projects_change.clear", + "description": "An enterprise owner cleared the policy setting for organization-wide project boards in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards" + }, + { + "action": "organization_projects_change.disable", + "description": "Organization projects were disabled for all organizations in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards" + }, + { + "action": "organization_projects_change.enable", + "description": "Organization projects were enabled for all organizations in an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards" + }, + { + "action": "organization_role.assign", + "description": "An organization role was assigned to a user or team.", + "docs_reference_links": "/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles" + }, + { + "action": "organization_role.create", + "description": "A custom organization role was created in an organization.", + "docs_reference_links": "/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles" + }, + { + "action": "organization_role.destroy", + "description": "A custom organization role was deleted in an organization.", + "docs_reference_links": "/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles" + }, + { + "action": "organization_role.revoke", + "description": "A user or team was unassigned an organization role.", + "docs_reference_links": "/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles" + }, + { + "action": "organization_role.update", + "description": "A custom organization role was edited in an organization.", + "docs_reference_links": "/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles" + }, + { + "action": "packages.package_deleted", + "description": "An entire package was deleted.", + "docs_reference_links": "/packages/learn-github-packages/deleting-and-restoring-a-package" + }, + { + "action": "packages.package_published", + "description": "A package was published or republished to an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "packages.package_version_deleted", + "description": "A specific package version was deleted.", + "docs_reference_links": "/packages/learn-github-packages/deleting-and-restoring-a-package" + }, + { + "action": "packages.package_version_published", + "description": "A specific package version was published or republished to a package.", + "docs_reference_links": "N/A" + }, + { + "action": "pages_protected_domain.create", + "description": "A GitHub Pages verified domain was created for an organization or enterprise.", + "docs_reference_links": "/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages" + }, + { + "action": "pages_protected_domain.delete", + "description": "A GitHub Pages verified domain was deleted from an organization or enterprise.", + "docs_reference_links": "/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages" + }, + { + "action": "pages_protected_domain.verify", + "description": "A GitHub Pages domain was verified for an organization or enterprise.", + "docs_reference_links": "/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages" + }, + { + "action": "payment_method.create", + "description": "A new payment method was added, such as a new credit card or PayPal account.", + "docs_reference_links": "N/A" + }, + { + "action": "payment_method.remove", + "description": "A payment method was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "payment_method.update", + "description": "An existing payment method was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.access_granted", + "description": "A fine-grained personal access token was granted access to resources.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization" + }, + { + "action": "personal_access_token.access_revoked", + "description": "A fine-grained personal access token was revoked. The token can still read public organization resources.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/reviewing-and-revoking-personal-access-tokens-in-your-organization" + }, + { + "action": "personal_access_token.request_cancelled", + "description": "A pending request for a fine-grained personal access token to access organization resources was canceled.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.request_created", + "description": "Triggered when a fine-grained personal access token was created to access organization resources and the organization requires approval before the token can access organization resources.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization" + }, + { + "action": "personal_access_token.request_denied", + "description": "A request for a fine-grained personal access token to access organization resources was denied.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization" + }, + { + "action": "prebuild_configuration.create", + "description": "A GitHub Codespaces prebuild configuration for a repository was created.", + "docs_reference_links": "/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds" + }, + { + "action": "prebuild_configuration.destroy", + "description": "A GitHub Codespaces prebuild configuration for a repository was deleted.", + "docs_reference_links": "/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds" + }, + { + "action": "prebuild_configuration.run_triggered", + "description": "A user initiated a run of a GitHub Codespaces prebuild configuration for a repository branch.", + "docs_reference_links": "/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds" + }, + { + "action": "prebuild_configuration.update", + "description": "A GitHub Codespaces prebuild configuration for a repository was edited.", + "docs_reference_links": "/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds" + }, + { + "action": "premium_runner.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "premium_runner.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "premium_runner.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_repository_forking.clear", + "description": "An enterprise owner cleared the policy setting for allowing forks of private and internal repositories, for a repository, organization or enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "private_repository_forking.disable", + "description": "An enterprise owner disabled the policy setting for allowing forks of private and internal repositories, for a repository, organization or enterprise. Private and internal repositories are never allowed to be forked.", + "docs_reference_links": "N/A" + }, + { + "action": "private_repository_forking.enable", + "description": "An enterprise owner enabled the policy setting for allowing forks of private and internal repositories, for a repository, organization or enterprise. Private and internal repositories are always allowed to be forked.", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting.disable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting.enable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting_new_repos.disable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting_new_repos.enable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "profile_picture.update", + "description": "A profile picture was updated.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile" + }, + { + "action": "project.access", + "description": "A project board visibility was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.close", + "description": "A project board was closed.", + "docs_reference_links": "/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board" + }, + { + "action": "project_collaborator.add", + "description": "A collaborator was added to a project.", + "docs_reference_links": "N/A" + }, + { + "action": "project_collaborator.remove", + "description": "A collaborator was removed from a project.", + "docs_reference_links": "N/A" + }, + { + "action": "project_collaborator.update", + "description": "A project collaborator's permission level was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.create", + "description": "A project board was created.", + "docs_reference_links": "N/A" + }, + { + "action": "project.delete", + "description": "A project board was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "project_field.create", + "description": "A field was created in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/understanding-fields" + }, + { + "action": "project_field.delete", + "description": "A field was deleted in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/understanding-fields/deleting-custom-fields" + }, + { + "action": "project.link", + "description": "A repository was linked to a project board.", + "docs_reference_links": "N/A" + }, + { + "action": "project.open", + "description": "A project board was reopened.", + "docs_reference_links": "/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board" + }, + { + "action": "project.rename", + "description": "A project board was renamed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.unlink", + "description": "A repository was unlinked from a project board.", + "docs_reference_links": "N/A" + }, + { + "action": "project.update_org_permission", + "description": "The project's base-level permission for all organization members was changed or removed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.update_team_permission", + "description": "A team's project board permission level was changed or when a team was added or removed from a project board.", + "docs_reference_links": "N/A" + }, + { + "action": "project.update_user_permission", + "description": "A user was added to or removed from a project board or had their permission level changed.", + "docs_reference_links": "N/A" + }, + { + "action": "project_view.create", + "description": "A view was created in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views" + }, + { + "action": "project_view.delete", + "description": "A view was deleted in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views" + }, + { + "action": "project.visibility_private", + "description": "A project's visibility was changed from public to private.", + "docs_reference_links": "N/A" + }, + { + "action": "project.visibility_public", + "description": "A project's visibility was changed from private to public.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.authorized_users_teams", + "description": "The users, teams, or integrations allowed to bypass a branch protection were changed.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches" + }, + { + "action": "protected_branch.branch_allowances", + "description": "A protected branch allowance was given to a specific user, team or integration.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.create", + "description": "Branch protection was enabled on a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.destroy", + "description": "Branch protection was disabled on a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.dismiss_stale_reviews", + "description": "Enforcement of dismissing stale pull requests was updated on a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.dismissal_restricted_users_teams", + "description": "Enforcement of restricting users and/or teams who can dismiss reviews was updated on a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.policy_override", + "description": "A branch protection requirement was overridden by a repository administrator.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.rejected_ref_update", + "description": "A branch update attempt was rejected.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_admin_enforced", + "description": "Branch protection was enforced for repository administrators.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_allow_deletions_enforcement_level", + "description": "Branch deletion was enabled or disabled for a protected branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_allow_force_pushes_enforcement_level", + "description": "Force pushes were enabled or disabled for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_ignore_approvals_from_contributors", + "description": "Ignoring of approvals from contributors to a pull request was enabled or disabled for a branch.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule" + }, + { + "action": "protected_branch.update_linear_history_requirement_enforcement_level", + "description": "Required linear commit history was enabled or disabled for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_lock_allows_fetch_and_merge", + "description": "Fork syncing was enabled or disabled for a read-only branch", + "docs_reference_links": "repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#lock-branch" + }, + { + "action": "protected_branch.update_lock_branch_enforcement_level", + "description": "The enforcement of a branch lock was updated.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#lock-branch" + }, + { + "action": "protected_branch.update_merge_queue_enforcement_level", + "description": "Enforcement of the merge queue was modified for a branch.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-merge-queue" + }, + { + "action": "protected_branch.update_name", + "description": "A branch name pattern was updated for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_pull_request_reviews_enforcement_level", + "description": "Enforcement of required pull request reviews was updated for a branch. Can be 0 (deactivated), 1 (non-admins), or 2 (everyone).", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_require_code_owner_review", + "description": "Enforcement of required code owner review was updated for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_require_last_push_approval", + "description": "Someone other than the person who pushed the last code-modifying commit to the branch must approve pull requests for the branch.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-pull-request-reviews-before-merging" + }, + { + "action": "protected_branch.update_required_approving_review_count", + "description": "Enforcement of the required number of approvals before merging was updated on a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_required_status_checks_enforcement_level", + "description": "Enforcement of required status checks was updated for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_signature_requirement_enforcement_level", + "description": "Enforcement of required commit signing was updated for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_strict_required_status_checks_policy", + "description": "Enforcement of required status checks was updated for a branch.", + "docs_reference_links": "N/A" + }, + { + "action": "public_key.create", + "description": "An SSH key was added to a user account or a deploy key was added to a repository.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account" + }, + { + "action": "public_key.delete", + "description": "An SSH key was removed from a user account or a deploy key was removed from a repository.", + "docs_reference_links": "/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys" + }, + { + "action": "public_key.unverification_failure", + "description": "A user account's SSH key or a repository's deploy key was unable to be unverified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.unverify", + "description": "A user account's SSH key or a repository's deploy key was unverified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.update", + "description": "A user account's SSH key or a repository's deploy key was updated.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.verification_failure", + "description": "A user account's SSH key or a repository's deploy key was unable to be verified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.verify", + "description": "A user account's SSH key or a repository's deploy key was verified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "pull_request.close", + "description": "A pull request was closed without being merged.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request" + }, + { + "action": "pull_request.converted_to_draft", + "description": "A pull request was converted to a draft.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#converting-a-pull-request-to-a-draft" + }, + { + "action": "pull_request.create", + "description": "A pull request was created.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request" + }, + { + "action": "pull_request.create_review_request", + "description": "A review was requested on a pull request.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews" + }, + { + "action": "pull_request.in_progress", + "description": "A pull request was marked as in progress.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request.indirect_merge", + "description": "A pull request was considered merged because the pull request's commits were merged into the target branch.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request.merge", + "description": "A pull request was merged.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request" + }, + { + "action": "pull_request.ready_for_review", + "description": "A pull request was marked as ready for review.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#marking-a-pull-request-as-ready-for-review" + }, + { + "action": "pull_request.rebase", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request.remove_review_request", + "description": "A review request was removed from a pull request.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews" + }, + { + "action": "pull_request.reopen", + "description": "A pull request was reopened after previously being closed.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request_review_comment.create", + "description": "A review comment was added to a pull request.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews" + }, + { + "action": "pull_request_review_comment.delete", + "description": "A review comment on a pull request was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request_review_comment.update", + "description": "A review comment on a pull request was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request_review.delete", + "description": "A review on a pull request was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "pull_request_review.dismiss", + "description": "A review on a pull request was dismissed.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review" + }, + { + "action": "pull_request_review.submit", + "description": "A review on a pull request was submitted.", + "docs_reference_links": "/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request#submitting-your-review" + }, + { + "action": "repo.access", + "description": "The visibility of a repository changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility" + }, + { + "action": "repo.actions_enabled", + "description": "GitHub Actions was enabled for a repository.", + "docs_reference_links": "organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#using-the-audit-log-api" + }, + { + "action": "repo.add_member", + "description": "A collaborator was added to a repository.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository" + }, + { + "action": "repo.add_topic", + "description": "A topic was added to a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics" + }, + { + "action": "repo.advanced_security_disabled", + "description": "GitHub Advanced Security was disabled for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository" + }, + { + "action": "repo.advanced_security_enabled", + "description": "GitHub Advanced Security was enabled for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository" + }, + { + "action": "repo.archived", + "description": "A repository was archived.", + "docs_reference_links": "/repositories/archiving-a-github-repository" + }, + { + "action": "repo.change_merge_setting", + "description": "Pull request merge options were changed for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.code_scanning_analysis_deleted", + "description": "Code scanning analysis for a repository was deleted.", + "docs_reference_links": "/rest/code-scanning#delete-a-code-scanning-analysis-from-a-repository" + }, + { + "action": "repo.code_scanning_autofix_disabled", + "description": "Autofix for code scanning alerts was disabled for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.code_scanning_autofix_enabled", + "description": "Autofix for code scanning alerts was enabled for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.code_scanning_configuration_for_branch_deleted", + "description": "A code scanning configuration for a branch of a repository was deleted.", + "docs_reference_links": "/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository#removing-stale-configurations-and-alerts-from-a-branch" + }, + { + "action": "repo.codeql_disabled", + "description": "Code scanning using the default setup was disabled for a repository.", + "docs_reference_links": "/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning" + }, + { + "action": "repo.codeql_enabled", + "description": "Code scanning using the default setup was enabled for a repository.", + "docs_reference_links": "/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning" + }, + { + "action": "repo.codeql_updated", + "description": "Code scanning using the default setup was updated for a repository.", + "docs_reference_links": "/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning" + }, + { + "action": "repo.codespaces_trusted_repo_access_granted", + "description": "GitHub Codespaces was granted trusted repository access to this repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.codespaces_trusted_repo_access_revoked", + "description": "GitHub Codespaces trusted repository access to this repository was revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.config.disable_collaborators_only", + "description": "The interaction limit for collaborators only was disabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.disable_contributors_only", + "description": "The interaction limit for prior contributors only was disabled in a repository.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.disable_sockpuppet_disallowed", + "description": "The interaction limit for existing users only was disabled in a repository.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.enable_collaborators_only", + "description": "The interaction limit for collaborators only was enabled in a repository Users that are not collaborators or organization members were unable to interact with a repository for a set duration.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.enable_contributors_only", + "description": "The interaction limit for prior contributors only was enabled in a repository Users that are not prior contributors, collaborators or organization members were unable to interact with a repository for a set duration.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.enable_sockpuppet_disallowed", + "description": "The interaction limit for existing users was enabled in a repository New users aren't able to interact with a repository for a set duration Existing users of the repository, contributors, collaborators or organization members are able to interact with a repository.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.configure_self_hosted_jit_runner", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.create", + "description": "A repository was created.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/creating-a-new-repository" + }, + { + "action": "repo.create_actions_secret", + "description": "A GitHub Actions secret was created for a repository.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository" + }, + { + "action": "repo.create_actions_variable", + "description": "A GitHub Actions variable was created for a repository.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository" + }, + { + "action": "repo.create_integration_secret", + "description": "A Codespaces or Dependabot secret was created for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.destroy", + "description": "A repository was deleted.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/deleting-a-repository" + }, + { + "action": "repo.download_zip", + "description": "A source code archive of a repository was downloaded as a ZIP file.", + "docs_reference_links": "/repositories/working-with-files/using-files/downloading-source-code-archives" + }, + { + "action": "repo.pages_cname", + "description": "A GitHub Pages custom domain was modified in a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_create", + "description": "A GitHub Pages site was created.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_destroy", + "description": "A GitHub Pages site was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_https_redirect_disabled", + "description": "HTTPS redirects were disabled for a GitHub Pages site.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_https_redirect_enabled", + "description": "HTTPS redirects were enabled for a GitHub Pages site.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_private", + "description": "A GitHub Pages site visibility was changed to private.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_public", + "description": "A GitHub Pages site visibility was changed to public.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_soft_delete", + "description": "A GitHub Pages site was soft-deleted because its owner's plan changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_soft_delete_restore", + "description": "A GitHub Pages site that was previously soft-deleted was restored.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_source", + "description": "A GitHub Pages source was modified.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.register_self_hosted_runner", + "description": "A new self-hosted runner was registered.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository" + }, + { + "action": "repo.remove_actions_secret", + "description": "A GitHub Actions secret was deleted for a repository.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository" + }, + { + "action": "repo.remove_actions_variable", + "description": "A GitHub Actions variable was deleted for a repository.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository" + }, + { + "action": "repo.remove_integration_secret", + "description": "A Codespaces or Dependabot secret was deleted for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.remove_member", + "description": "A collaborator was removed from a repository.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository" + }, + { + "action": "repo.remove_self_hosted_runner", + "description": "A self-hosted runner was removed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository" + }, + { + "action": "repo.remove_topic", + "description": "A topic was removed from a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.rename", + "description": "A repository was renamed.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/renaming-a-repository" + }, + { + "action": "repo.rename_branch", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.restore", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.self_hosted_runner_offline", + "description": "The runner application was stopped. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner" + }, + { + "action": "repo.self_hosted_runner_online", + "description": "The runner application was started. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner" + }, + { + "action": "repo.self_hosted_runner_updated", + "description": "The runner application was updated. This event is not included in the JSON/CSV export.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#about-self-hosted-runners" + }, + { + "action": "repo.set_actions_fork_pr_approvals_policy", + "description": "The setting for requiring approvals for workflows from public forks was changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-required-approval-for-workflows-from-public-forks" + }, + { + "action": "repo.set_actions_private_fork_pr_approvals_policy", + "description": "The policy for requiring approval for fork pull request workflows from collaborators without write access to private repos was changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-forks-of-private-repositories" + }, + { + "action": "repo.set_actions_retention_limit", + "description": "The retention period for GitHub Actions artifacts and logs in a repository was changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository" + }, + { + "action": "repo.set_default_workflow_permissions", + "description": "The default permissions granted to the GITHUB_TOKEN when running workflows were changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository" + }, + { + "action": "repo.set_fork_pr_workflows_policy", + "description": "Triggered when the policy for workflows on private repository forks is changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks" + }, + { + "action": "repo.set_workflow_permission_can_approve_pr", + "description": "The policy for allowing GitHub Actions to create and approve pull requests was changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#preventing-github-actions-from-creating-or-approving-pull-requests" + }, + { + "action": "repo.staff_unlock", + "description": "An enterprise owner or GitHub staff (with permission from a repository administrator) temporarily unlocked the repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.transfer", + "description": "A user accepted a request to receive a transferred repository.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/transferring-a-repository" + }, + { + "action": "repo.transfer_outgoing", + "description": "A repository was transferred to another repository network.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.transfer_start", + "description": "A user sent a request to transfer a repository to another user or organization.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.unarchived", + "description": "A repository was unarchived.", + "docs_reference_links": "/repositories/archiving-a-github-repository" + }, + { + "action": "repo.update_actions_access_settings", + "description": "The setting to control how a repository was used by GitHub Actions workflows in other repositories was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_actions_secret", + "description": "A GitHub Actions secret was updated for a repository.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository" + }, + { + "action": "repo.update_actions_settings", + "description": "A repository administrator changed GitHub Actions policy settings for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_actions_variable", + "description": "A GitHub Actions variable was updated for a repository.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository" + }, + { + "action": "repo.update_default_branch", + "description": "The default branch for a repository was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_integration_secret", + "description": "A Codespaces or Dependabot secret was updated for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_member", + "description": "A user's permission to a repository was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_advisory.close", + "description": "Someone closed a security advisory.", + "docs_reference_links": "/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories" + }, + { + "action": "repository_advisory.cve_request", + "description": "Someone requested a CVE (Common Vulnerabilities and Exposures) number from GitHub for a draft security advisory.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_advisory.github_broadcast", + "description": "GitHub made a security advisory public in the GitHub Advisory Database.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_advisory.github_withdraw", + "description": "GitHub withdrew a security advisory that was published in error.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_advisory.open", + "description": "Someone opened a draft security advisory.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_advisory.publish", + "description": "Someone published a security advisory.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_advisory.reopen", + "description": "Someone reopened as draft security advisory.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_advisory.update", + "description": "Someone edited a draft or published security advisory.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_branch_protection_evaluation.disable", + "description": "Branch protections were disabled for the repository.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule" + }, + { + "action": "repository_branch_protection_evaluation.enable", + "description": "Branch protections were enabled for this repository.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule" + }, + { + "action": "repository_content_analysis.disable", + "description": "Data use settings were disabled for a private repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#enabling-or-disabling-security-and-analysis-features-for-private-repositories" + }, + { + "action": "repository_content_analysis.enable", + "description": "Data use settings were enabled for a private repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#enabling-or-disabling-security-and-analysis-features-for-private-repositories" + }, + { + "action": "repository_dependency_graph.disable", + "description": "The dependency graph was disabled for a private repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-fea tures-for-your-repository/managing-security-and-analysis-settings-for-your-repository#enabling-or-disabling-security-and-analysis-features-for-private-repositories" + }, + { + "action": "repository_dependency_graph.enable", + "description": "The dependency graph was enabled for a private repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_image.create", + "description": "An image to represent a repository was uploaded.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_image.destroy", + "description": "An image to represent a repository was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.accept", + "description": "An invitation to join a repository was accepted.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.cancel", + "description": "An invitation to join a repository was canceled.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.create", + "description": "An invitation to join a repository was sent.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.reject", + "description": "An invitation to join a repository was declined.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_projects_change.clear", + "description": "The repository projects policy was removed for an organization, or all organizations in the enterprise Organization owners can now control their repository projects settings.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise" + }, + { + "action": "repository_projects_change.disable", + "description": "Repository projects were disabled for a repository, all repositories in an organization, or all organizations in an enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_projects_change.enable", + "description": "Repository projects were enabled for a repository, all repositories in an organization, or all organizations in an enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_ruleset.create", + "description": "A repository ruleset was created.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository" + }, + { + "action": "repository_ruleset.destroy", + "description": "A repository ruleset was deleted.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#deleting-a-ruleset" + }, + { + "action": "repository_ruleset.update", + "description": "A repository ruleset was edited.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#editing-a-ruleset" + }, + { + "action": "repository_secret_scanning_automatic_validity_checks.disabled", + "description": "Automatic partner validation checks have been disabled at the repository level", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#allowing-validity-checks-for-partner-patterns-in-a-repository" + }, + { + "action": "repository_secret_scanning_automatic_validity_checks.enabled", + "description": "Automatic partner validation checks have been enabled at the repository level", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#allowing-validity-checks-for-partner-patterns-in-a-repository" + }, + { + "action": "repository_secret_scanning_custom_pattern.create", + "description": "A custom pattern was created for secret scanning in a repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-a-repository" + }, + { + "action": "repository_secret_scanning_custom_pattern.delete", + "description": "A custom pattern was removed from secret scanning in a repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#removing-a-custom-pattern" + }, + { + "action": "repository_secret_scanning_custom_pattern.publish", + "description": "A custom pattern was published for secret scanning in a repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-a-repository" + }, + { + "action": "repository_secret_scanning_custom_pattern_push_protection.disabled", + "description": "Push protection for a custom pattern for secret scanning was disabled for your repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-a-repository" + }, + { + "action": "repository_secret_scanning_custom_pattern_push_protection.enabled", + "description": "Push protection for a custom pattern for secret scanning was enabled for your repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-a-repository" + }, + { + "action": "repository_secret_scanning_custom_pattern.update", + "description": "Changes to a custom pattern were saved and a dry run was executed for secret scanning in a repository.", + "docs_reference_links": "/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern" + }, + { + "action": "repository_secret_scanning.disable", + "description": "Secret scanning was disabled for a repository.", + "docs_reference_links": "/code-security/secret-scanning/about-secret-scanning" + }, + { + "action": "repository_secret_scanning.enable", + "description": "Secret scanning was enabled for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_secret_scanning_generic_secrets.disabled", + "description": "Generic secrets have been disabled at the repository level", + "docs_reference_links": "N/A" + }, + { + "action": "repository_secret_scanning_generic_secrets.enabled", + "description": "Generic secrets have been enabled at the repository level", + "docs_reference_links": "N/A" + }, + { + "action": "repository_secret_scanning_non_provider_patterns.disabled", + "description": "Secret scanning for non-provider patterns was disabled at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/secret-scanning-patterns#non-provider-patterns" + }, + { + "action": "repository_secret_scanning_non_provider_patterns.enabled", + "description": "Secret scanning for non-provider patterns was enabled at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/secret-scanning-patterns#non-provider-patterns" + }, + { + "action": "repository_secret_scanning_push_protection_bypass_list.add", + "description": "A role or team was added to the push protection bypass list at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "repository_secret_scanning_push_protection_bypass_list.disable", + "description": "Push protection settings for \"Users who can bypass push protection for secret scanning\" changed from \"Specific roles or teams\" to \"Anyone with write access\" at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "repository_secret_scanning_push_protection_bypass_list.enable", + "description": "Push protection settings for \"Users who can bypass push protection for secret scanning\" changed from \"Anyone with write access\" to \"Specific roles or teams\" at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "repository_secret_scanning_push_protection_bypass_list.remove", + "description": "A role or team was removed from the push protection bypass list at the repository level.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#enabling-delegated-bypass-for-push-protection" + }, + { + "action": "repository_secret_scanning_push_protection.disable", + "description": "Secret scanning push protection was disabled for a repository.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning" + }, + { + "action": "repository_secret_scanning_push_protection.enable", + "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.", + "docs_reference_links": "/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization, /admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-changes-to-repository-visibility" + }, + { + "action": "repository_visibility_change.disable", + "description": "The ability for enterprise members to update a repository's visibility was disabled. Members are unable to change repository visibilities in an organization, or all organizations in an enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_visibility_change.enable", + "description": "The ability for enterprise members to update a repository's visibility was enabled. Members are able to change repository visibilities in an organization, or all organizations in an enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_vulnerability_alert.auto_dismiss", + "description": "A Dependabot alert was automatically dismissed because its metadata matches an enabled Dependabot rule.", + "docs_reference_links": "/code-security/dependabot/dependabot-alerts/using-alert-rules-to-prioritize-dependabot-alerts" + }, + { + "action": "repository_vulnerability_alert.auto_reopen", + "description": "A previously auto-dismissed Dependabot alert was automatically reopened because its metadata no longer matches an enabled Dependabot rule.", + "docs_reference_links": "/code-security/dependabot/dependabot-alerts/using-alert-rules-to-prioritize-dependabot-alerts" + }, + { + "action": "repository_vulnerability_alert.create", + "description": "GitHub created a Dependabot alert because the repository uses a vulnerable dependency.", + "docs_reference_links": "/code-security/dependabot/dependabot-alerts/about-dependabot-alerts" + }, + { + "action": "repository_vulnerability_alert.dismiss", + "description": "A Dependabot alert was manually dismissed.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_vulnerability_alert.reintroduce", + "description": "A Dependabot alert was automatically reopened because the repository resumed use of a vulnerable dependency.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_vulnerability_alert.reopen", + "description": "A Dependabot alert was manually reopened.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_vulnerability_alert.resolve", + "description": "Changes were pushed to update and resolve a Dependabot alert in a project dependency.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_vulnerability_alerts.authorized_users_teams", + "description": "The list of people or teams authorized to receive Dependabot alerts for the repository was updated.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts" + }, + { + "action": "repository_vulnerability_alerts_auto_dismissal.disable", + "description": "Automatic dismissal of low-impact Dependabot alerts was disabled for the repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_vulnerability_alerts_auto_dismissal.enable", + "description": "Automatic dismissal of low-impact Dependabot alerts was enabled for the repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_vulnerability_alerts.disable", + "description": "Dependabot alerts was disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_vulnerability_alerts.enable", + "description": "Dependabot alerts was enabled.", + "docs_reference_links": "N/A" + }, + { + "action": "required_status_check.create", + "description": "A status check was marked as required for a protected branch.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging" + }, + { + "action": "required_status_check.destroy", + "description": "A status check was no longer marked as required for a protected branch.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging" + }, + { + "action": "restrict_notification_delivery.disable", + "description": "Email notification restrictions for an organization or enterprise were disabled.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization, /admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise" + }, + { + "action": "restrict_notification_delivery.enable", + "description": "Email notification restrictions for an organization or enterprise were enabled.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization, /admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise" + }, + { + "action": "role.create", + "description": "A new custom repository role was created.", + "docs_reference_links": "/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-custom-repository-roles-for-an-organization" + }, + { + "action": "role.destroy", + "description": "A custom repository role was deleted.", + "docs_reference_links": "/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-custom-repository-roles-for-an-organization" + }, + { + "action": "role.update", + "description": "A custom repository role was edited.", + "docs_reference_links": "/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-custom-repository-roles-for-an-organization" + }, + { + "action": "secret_scanning_alert.create", + "description": "GitHub detected a secret and created a secret scanning alert.", + "docs_reference_links": "/code-security/secret-scanning/managing-alerts-from-secret-scanning" + }, + { + "action": "secret_scanning_alert.reopen", + "description": "A secret scanning alert was reopened.", + "docs_reference_links": "N/A" + }, + { + "action": "secret_scanning_alert.resolve", + "description": "A secret scanning alert was resolved.", + "docs_reference_links": "N/A" + }, + { + "action": "secret_scanning_alert.revoke", + "description": "A secret scanning alert was revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "secret_scanning_alert.validate", + "description": "A secret scanning alert was validated.", + "docs_reference_links": "/code-security/secret-scanning/managing-alerts-from-secret-scanning" + }, + { + "action": "secret_scanning.disable", + "description": "Secret scanning was disabled for all existing repositories.", + "docs_reference_links": "/code-security/secret-scanning/about-secret-scanning" + }, + { + "action": "secret_scanning.enable", + "description": "Secret scanning was enabled for all existing repositories.", + "docs_reference_links": "/code-security/secret-scanning/about-secret-scanning" + }, + { + "action": "secret_scanning_new_repos.disable", + "description": "Secret scanning was disabled for all new repositories.", + "docs_reference_links": "/code-security/secret-scanning/about-secret-scanning" + }, + { + "action": "secret_scanning_new_repos.enable", + "description": "Secret scanning was enabled for all new repositories.", + "docs_reference_links": "/code-security/secret-scanning/about-secret-scanning" + }, + { + "action": "secret_scanning_push_protection.bypass", + "description": "Triggered when a user bypasses the push protection on a secret detected by secret scanning.", + "docs_reference_links": "/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret" + }, + { + "action": "secret_scanning_push_protection_request.approve", + "description": "A request to bypass secret scanning push protection was approved by a user.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#managing-requests-to-bypass-push-protection" + }, + { + "action": "secret_scanning_push_protection_request.deny", + "description": "A request to bypass secret scanning push protection was denied by a user.", + "docs_reference_links": "/code-security/secret-scanning/push-protection-for-repositories-and-organizations#managing-requests-to-bypass-push-protection" + }, + { + "action": "secret_scanning_push_protection_request.request", + "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.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.custom_amount_settings_change", + "description": "Custom amounts for GitHub Sponsors were enabled or disabled, or the suggested custom amount was changed.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers" + }, + { + "action": "sponsors.fiscal_host_change", + "description": "The fiscal host for a GitHub Sponsors listing was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.invoiced_agreement_sign", + "description": "An agreement for invoiced billing for GitHub Sponsors was signed.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/paying-for-github-sponsors-by-invoice" + }, + { + "action": "sponsors.repo_funding_links_file_action", + "description": "The FUNDING file in a repository was changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository" + }, + { + "action": "sponsors.sponsor_sponsorship_cancel", + "description": "A sponsorship was canceled.", + "docs_reference_links": "/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship" + }, + { + "action": "sponsors.sponsor_sponsorship_create", + "description": "A sponsorship was created, by sponsoring an account.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/about-sponsorships-fees-and-taxes" + }, + { + "action": "sponsors.sponsor_sponsorship_payment_complete", + "description": "After you sponsor an account and a payment has been processed, the sponsorship payment was marked as complete.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/about-sponsorships-fees-and-taxes" + }, + { + "action": "sponsors.sponsor_sponsorship_preference_change", + "description": "The option to receive email updates from a sponsored account was changed.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship" + }, + { + "action": "sponsors.sponsor_sponsorship_tier_change", + "description": "A sponsorship was upgraded or downgraded.", + "docs_reference_links": "/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship, /billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship" + }, + { + "action": "sponsors.sponsored_developer_approve", + "description": "A GitHub Sponsors account was approved.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account" + }, + { + "action": "sponsors.sponsored_developer_create", + "description": "A GitHub Sponsors account was created.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account" + }, + { + "action": "sponsors.sponsored_developer_disable", + "description": "A GitHub Sponsors account was disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.sponsored_developer_profile_update", + "description": "The profile for GitHub Sponsors account was edited.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors" + }, + { + "action": "sponsors.sponsored_developer_redraft", + "description": "A GitHub Sponsors account was returned to draft state from approved state.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.sponsored_developer_request_approval", + "description": "An application for GitHub Sponsors was submitted for approval.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account" + }, + { + "action": "sponsors.sponsored_developer_tier_description_update", + "description": "The description for a sponsorship tier was changed.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers" + }, + { + "action": "sponsors.sponsors_patreon_user_create", + "description": "A Patreon account was linked to a user account for use with GitHub Sponsors.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/enabling-sponsorships-through-patreon#linking-your-patreon-account-to-your-github-account" + }, + { + "action": "sponsors.sponsors_patreon_user_destroy", + "description": "A Patreon account for use with GitHub Sponsors was unlinked from a user account.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/unlinking-your-patreon-account-from-your-github-account" + }, + { + "action": "sponsors.update_tier_repository", + "description": "A GitHub Sponsors tier changed access for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.update_tier_welcome_message", + "description": "The welcome message for a GitHub Sponsors tier for an organization was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.withdraw_agreement_signature", + "description": "A signature was withdrawn from a GitHub Sponsors agreement that applies to an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "ssh_certificate_authority.create", + "description": "An SSH certificate authority for an organization or enterprise was created.", + "docs_reference_links": "/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities, /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise" + }, + { + "action": "ssh_certificate_authority.destroy", + "description": "An SSH certificate authority for an organization or enterprise was deleted.", + "docs_reference_links": "/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities, /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise" + }, + { + "action": "ssh_certificate_requirement.disable", + "description": "The requirement for members to use SSH certificates to access an organization resources was disabled.", + "docs_reference_links": "/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities, /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise" + }, + { + "action": "ssh_certificate_requirement.enable", + "description": "The requirement for members to use SSH certificates to access an organization resources was enabled.", + "docs_reference_links": "/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities, /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise" + }, + { + "action": "staff.dependabot_debug_credentials_generated", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "staff.set_domain_token_expiration", + "description": "The verification code expiry time for an organization or enterprise domain was set.", + "docs_reference_links": "N/A" + }, + { + "action": "staff.unverify_domain", + "description": "An organization or enterprise domain was unverified.", + "docs_reference_links": "N/A" + }, + { + "action": "staff.verify_domain", + "description": "An organization or enterprise domain was verified.", + "docs_reference_links": "N/A" + }, + { + "action": "team.add_member", + "description": "A member of an organization was added to a team.", + "docs_reference_links": "/organizations/organizing-members-into-teams/adding-organization-members-to-a-team" + }, + { + "action": "team.add_repository", + "description": "A team was given access and permissions to a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "team.change_parent_team", + "description": "A child team was created or a child team's parent was changed.", + "docs_reference_links": "/organizations/organizing-members-into-teams/moving-a-team-in-your-organizations-hierarchy" + }, + { + "action": "team.change_privacy", + "description": "A team's privacy level was changed.", + "docs_reference_links": "/organizations/organizing-members-into-teams/changing-team-visibility" + }, + { + "action": "team.create", + "description": "A new team is created.", + "docs_reference_links": "N/A" + }, + { + "action": "team.demote_maintainer", + "description": "A user was demoted from a team maintainer to a team member.", + "docs_reference_links": "/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member" + }, + { + "action": "team.destroy", + "description": "A team was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "team_discussions.clear", + "description": "An organization owner cleared the setting to allow team discussions for an organization or enterprise.", + "docs_reference_links": "N/A" + }, + { + "action": "team_discussions.disable", + "description": "Team discussions were disabled for an organization.", + "docs_reference_links": "/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization" + }, + { + "action": "team_discussions.enable", + "description": "Team discussions were enabled for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "team_group_mapping.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "team_group_mapping.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "team_group_mapping.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "team.promote_maintainer", + "description": "A user was promoted from a team member to a team maintainer.", + "docs_reference_links": "/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member#promoting-an-organization-member-to-team-maintainer" + }, + { + "action": "team.remove_member", + "description": "An organization member was removed from a team.", + "docs_reference_links": "/organizations/organizing-members-into-teams/removing-organization-members-from-a-team" + }, + { + "action": "team.remove_repository", + "description": "A repository was removed from a team's control.", + "docs_reference_links": "N/A" + }, + { + "action": "team.rename", + "description": "A team's name was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "team_sync_tenant.disabled", + "description": "Team synchronization with a tenant was disabled.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization, /admin/identity-and-access-management/using-saml-for-enterprise-iam/managing-team-synchronization-for-organizations-in-your-enterprise" + }, + { + "action": "team_sync_tenant.enabled", + "description": "Team synchronization with a tenant was enabled.", + "docs_reference_links": "/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization, /admin/identity-and-access-management/using-saml-for-enterprise-iam/managing-team-synchronization-for-organizations-in-your-enterprise" + }, + { + "action": "team_sync_tenant.update_okta_credentials", + "description": "The Okta credentials for team synchronization with a tenant were changed.", + "docs_reference_links": "N/A" + }, + { + "action": "team.update_repository_permission", + "description": "A team's permission to a repository was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "vulnerability_alert_rule.create", + "description": "A Dependabot rule was created.", + "docs_reference_links": "N/A" + }, + { + "action": "vulnerability_alert_rule.delete", + "description": "A Dependabot rule was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "vulnerability_alert_rule.disable", + "description": "A Dependabot rule was disabled for a single repository or disabled by default for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "vulnerability_alert_rule.enable", + "description": "A Dependabot rule was enabled for a single repository or enabled by default for an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "vulnerability_alert_rule.force_disable", + "description": "A Dependabot rule was enabled for an organization and cannot be disabled for its repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "vulnerability_alert_rule.force_enable", + "description": "A Dependabot rule was disabled for an organization and cannot be enabled for its repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "vulnerability_alert_rule.update", + "description": "A Dependabot rule's conditions, actions, or metadata changed.", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.approve_workflow_job", + "description": "A workflow job was approved.", + "docs_reference_links": "/actions/managing-workflow-runs/reviewing-deployments" + }, + { + "action": "workflows.bypass_protection_rules", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.cancel_workflow_run", + "description": "A workflow run was cancelled.", + "docs_reference_links": "/actions/managing-workflow-runs/canceling-a-workflow" + }, + { + "action": "workflows.comment_workflow_job", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.completed_workflow_run", + "description": "A workflow status changed to completed. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history" + }, + { + "action": "workflows.created_workflow_run", + "description": "A workflow run was create. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/learn-github-actions/understanding-github-actions#create-an-example-workflow" + }, + { + "action": "workflows.delete_workflow_run", + "description": "A workflow run was deleted.", + "docs_reference_links": "/actions/managing-workflow-runs/deleting-a-workflow-run" + }, + { + "action": "workflows.disable_workflow", + "description": "A workflow was disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.enable_workflow", + "description": "A workflow was enabled, after previously being disabled by disable_workflow.", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.pin_workflow", + "description": "A workflow was pinned.", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.prepared_workflow_job", + "description": "A workflow job was started. Includes the list of secrets that were provided to the job. This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", + "docs_reference_links": "/actions/using-workflows/events-that-trigger-workflows" + }, + { + "action": "workflows.reject_workflow_job", + "description": "A workflow job was rejected.", + "docs_reference_links": "/actions/managing-workflow-runs/reviewing-deployments" + }, + { + "action": "workflows.rerun_workflow_run", + "description": "A workflow run was re-run.", + "docs_reference_links": "/actions/managing-workflow-runs/re-running-workflows-and-jobs" + }, + { + "action": "workflows.unpin_workflow", + "description": "A workflow was unpinned after previously being pinned.", + "docs_reference_links": "N/A" + } +] \ No newline at end of file diff --git a/src/audit-logs/data/ghes-3.15/user.json b/src/audit-logs/data/ghes-3.15/user.json new file mode 100644 index 000000000000..991cbb00692c --- /dev/null +++ b/src/audit-logs/data/ghes-3.15/user.json @@ -0,0 +1,1912 @@ +[ + { + "action": "account.billing_date_change", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "account.plan_change", + "description": "The account's plan changed.", + "docs_reference_links": "/billing/managing-the-plan-for-your-github-account/about-billing-for-plans" + }, + { + "action": "account_recovery_token.confirm", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "account_recovery_token.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "account_recovery_token.recover", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "actions_cache.delete", + "description": "A GitHub Actions cache was deleted using the REST API.", + "docs_reference_links": "N/A" + }, + { + "action": "artifact.destroy", + "description": "A workflow run artifact was manually deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "billing.change_billing_type", + "description": "The way the account pays for GitHub was changed.", + "docs_reference_links": "/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method" + }, + { + "action": "billing.change_email", + "description": "The billing email address changed.", + "docs_reference_links": "/billing/managing-your-github-billing-settings/setting-your-billing-email" + }, + { + "action": "billing.lock", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "billing.unlock", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "billing.update_bill_cycle_day", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "business.set_actions_fork_pr_approvals_policy", + "description": "The policy for requiring approvals for workflows from public forks was changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-your-enterprise" + }, + { + "action": "business.set_actions_private_fork_pr_approvals_policy", + "description": "The policy for requiring approval for fork pull request workflows from collaborators without write access to private repos was changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-private-repositories" + }, + { + "action": "business.set_actions_retention_limit", + "description": "The retention period for GitHub Actions artifacts and logs was changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-artifact-and-log-retention-in-your-enterprise" + }, + { + "action": "business.set_default_workflow_permissions", + "description": "The default permissions granted to the GITHUB_TOKEN when running workflows were changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise" + }, + { + "action": "business.set_fork_pr_workflows_policy", + "description": "The policy for fork pull request workflows was changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-your-enterprise" + }, + { + "action": "business.set_workflow_permission_can_approve_pr", + "description": "The policy for allowing GitHub Actions to create and approve pull requests was changed for an enterprise.", + "docs_reference_links": "/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#preventing-github-actions-from-creating-or-approving-pull-requests" + }, + { + "action": "checks.auto_trigger_disabled", + "description": "Automatic creation of check suites was disabled on a repository in the organization or enterprise.", + "docs_reference_links": "/rest/checks#update-repository-preferences-for-check-suites" + }, + { + "action": "checks.auto_trigger_enabled", + "description": "Automatic creation of check suites was enabled on a repository in the organization or enterprise.", + "docs_reference_links": "/rest/checks#update-repository-preferences-for-check-suites" + }, + { + "action": "checks.delete_logs", + "description": "Logs in a check suite were deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.allow_permissions", + "description": "A codespace using custom permissions from its devcontainer.json file was launched.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.connect", + "description": "Credentials for a codespace were refreshed.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.create", + "description": "A codespace was created", + "docs_reference_links": "/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository" + }, + { + "action": "codespaces.destroy", + "description": "A user deleted a codespace.", + "docs_reference_links": "/codespaces/developing-in-codespaces/deleting-a-codespace" + }, + { + "action": "codespaces.export_environment", + "description": "A codespace was exported to a branch on GitHub.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.restore", + "description": "A codespace was restored.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.start_environment", + "description": "A codespace was started.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.suspend_environment", + "description": "A codespace was stopped.", + "docs_reference_links": "N/A" + }, + { + "action": "codespaces.trusted_repositories_access_update", + "description": "A personal account's access and security setting for Codespaces were updated.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces" + }, + { + "action": "copilot.cfb_seat_added", + "description": "A Copilot Business or Copilot Enterprise seat was added for a user and they have received access to GitHub Copilot. This can occur as the result of directly assigning a seat for a user, assigning a seat for a team, or setting the organization to allow access for all members.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_assignment_created", + "description": "A Copilot Business or Copilot Enterprise seat assignment was newly created for a user or a team, and seats are being created.", + "docs_reference_links": "/copilot/overview-of-github-copilot/about-github-copilot-for-business" + }, + { + "action": "copilot.cfb_seat_assignment_refreshed", + "description": "A seat assignment that was previously pending cancellation was re-assigned and the user will retain access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_assignment_reused", + "description": "A Copilot Business or Copilot Enterprise seat assignment was re-created for a user who already had a seat with no pending cancellation date, and the user will retain access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_assignment_unassigned", + "description": "A user or team's Copilot Business or Copilot Enterprise seat assignment was unassigned, and the user(s) will lose access to Copilot at the end of the current billing cycle.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_cancelled", + "description": "A user's Copilot Business or Copilot Enterprise seat was canceled, and the user no longer has access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "copilot.cfb_seat_cancelled_by_staff", + "description": "A user's Copilot Business or Copilot Enterprise seat was canceled manually by GitHub staff, and the user no longer has access to Copilot.", + "docs_reference_links": "N/A" + }, + { + "action": "custom_hosted_runner.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "custom_hosted_runner.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "custom_hosted_runner.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "dependabot_alerts.disable", + "description": "Dependabot alerts were disabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories" + }, + { + "action": "dependabot_alerts.enable", + "description": "Dependabot alerts were enabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories" + }, + { + "action": "dependabot_alerts_new_repos.disable", + "description": "Dependabot alerts were disabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-automatically-when-new-repositories-are-added" + }, + { + "action": "dependabot_alerts_new_repos.enable", + "description": "Dependabot alerts were enabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-automatically-when-new-repositories-are-added" + }, + { + "action": "dependabot_repository_access.repositories_updated", + "description": "The repositories that Dependabot can access were updated.", + "docs_reference_links": "N/A" + }, + { + "action": "dependabot_security_updates.disable", + "description": "Dependabot security updates were disabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependabot_security_updates.enable", + "description": "Dependabot security updates were enabled for all existing repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "dependabot_security_updates_new_repos.disable", + "description": " Dependabot security updates were disabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependabot_security_updates_new_repos.enable", + "description": "Dependabot security updates were enabled for all new repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "dependency_graph.disable", + "description": "The dependency graph was disabled for all existing repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependency_graph.enable", + "description": "The dependency graph was enabled for all existing repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "dependency_graph_new_repos.disable", + "description": "The dependency graph was disabled for all new repositories.", + "docs_reference_links": "/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization" + }, + { + "action": "dependency_graph_new_repos.enable", + "description": "The dependency graph was enabled for all new repositories.", + "docs_reference_links": "N/A" + }, + { + "action": "environment.add_protection_rule", + "description": "A GitHub Actions deployment protection rule was created via the API.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules" + }, + { + "action": "environment.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "environment.create_actions_secret", + "description": "A secret was created for a GitHub Actions environment.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets" + }, + { + "action": "environment.create_actions_variable", + "description": "A variable was created for a GitHub Actions environment.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-environment" + }, + { + "action": "environment.delete", + "description": "An environment was deleted.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deleting-an-environment" + }, + { + "action": "environment.remove_actions_secret", + "description": "A secret was deleted for a GitHub Actions environment.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets" + }, + { + "action": "environment.remove_actions_variable", + "description": "A variable was deleted for a GitHub Actions environment.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-environment" + }, + { + "action": "environment.remove_protection_rule", + "description": "A GitHub Actions deployment protection rule was deleted via the API.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules" + }, + { + "action": "environment.update_actions_secret", + "description": "A secret was updated for a GitHub Actions environment.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets" + }, + { + "action": "environment.update_actions_variable", + "description": "A variable was updated for a GitHub Actions environment.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-an-environment" + }, + { + "action": "environment.update_protection_rule", + "description": "A GitHub Actions deployment protection rule was updated via the API.", + "docs_reference_links": "/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules" + }, + { + "action": "git_signing_ssh_public_key.create", + "description": "An SSH key was added to a user account as a Git commit signing key.", + "docs_reference_links": "/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key" + }, + { + "action": "git_signing_ssh_public_key.delete", + "description": "An SSH key was removed from a user account as a Git commit signing key.", + "docs_reference_links": "/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key" + }, + { + "action": "github_hosted_runner.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "github_hosted_runner.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "github_hosted_runner.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "gpg_key.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "gpg_key.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "hook.active_changed", + "description": "A hook's active status was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "hook.config_changed", + "description": "A hook's configuration was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "hook.create", + "description": "A new hook was added.", + "docs_reference_links": "/get-started/exploring-integrations/about-webhooks" + }, + { + "action": "hook.destroy", + "description": "A hook was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "hook.events_changed", + "description": "A hook's configured events were changed.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.create", + "description": "A GitHub App was created.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.destroy", + "description": "A GitHub App was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.generate_client_secret", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "integration_installation.create", + "description": "A GitHub App was installed.", + "docs_reference_links": "/apps/using-github-apps/authorizing-github-apps" + }, + { + "action": "integration_installation.destroy", + "description": "A GitHub App was uninstalled.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#blocking-access" + }, + { + "action": "integration_installation.repositories_added", + "description": "Repositories were added to a GitHub App.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#modifying-repository-access" + }, + { + "action": "integration_installation.repositories_removed", + "description": "Repositories were removed from a GitHub App.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#modifying-repository-access" + }, + { + "action": "integration_installation.suspend", + "description": "A GitHub App was suspended.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#blocking-access" + }, + { + "action": "integration_installation.unsuspend", + "description": "A GitHub App was unsuspended.", + "docs_reference_links": "/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#blocking-access" + }, + { + "action": "integration_installation.version_updated", + "description": "Permissions for a GitHub App were updated.", + "docs_reference_links": "/apps/using-github-apps/approving-updated-permissions-for-a-github-app" + }, + { + "action": "integration.manager_added", + "description": "A member of an enterprise or organization was added as a GitHub App manager.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization#giving-someone-the-ability-to-manage-all-github-apps-owned-by-the-organization" + }, + { + "action": "integration.manager_removed", + "description": "A member of an enterprise or organization was removed from being a GitHub App manager.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/adding-and-removing-github-app-managers-in-your-organization#removing-a-github-app-managers-permissions-for-the-entire-organization" + }, + { + "action": "integration.remove_client_secret", + "description": "A client secret for a GitHub App was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.revoke_all_tokens", + "description": "All user tokens for a GitHub App were requested to be revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.revoke_tokens", + "description": "Token(s) for a GitHub App were revoked.", + "docs_reference_links": "N/A" + }, + { + "action": "integration.suspend", + "description": "A GitHub App was suspended.", + "docs_reference_links": "/apps/maintaining-github-apps/suspending-a-github-app-installation" + }, + { + "action": "integration.transfer", + "description": "Ownership of a GitHub App was transferred to another user or organization.", + "docs_reference_links": "/apps/maintaining-github-apps/transferring-ownership-of-a-github-app" + }, + { + "action": "integration.unsuspend", + "description": "A GitHub App was unsuspended.", + "docs_reference_links": "/apps/maintaining-github-apps/suspending-a-github-app-installation" + }, + { + "action": "marketplace_agreement_signature.create", + "description": "The GitHub Marketplace Developer Agreement was signed.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.approve", + "description": "A listing was approved for inclusion in GitHub Marketplace.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.change_category", + "description": "A category for a listing for an app in GitHub Marketplace was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.create", + "description": "A listing for an app in GitHub Marketplace was created.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.delist", + "description": "A listing was removed from GitHub Marketplace.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing_plan.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing_plan.publish", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing_plan.retire", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing_plan.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.redraft", + "description": "A listing was sent back to draft state.", + "docs_reference_links": "N/A" + }, + { + "action": "marketplace_listing.reject", + "description": "A listing was not accepted for inclusion in GitHub Marketplace.", + "docs_reference_links": "N/A" + }, + { + "action": "merge_queue.pull_request_dequeued", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "merge_queue.pull_request_queue_jump", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "merge_queue.queue_cleared", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "merge_queue.update_settings", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "metered_billing_configuration.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "metered_billing_configuration.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "metered_billing_configuration.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "migration.create", + "description": "A migration file was created for transferring data from a source location (such as a GitHub.com organization or a GitHub Enterprise Server instance) to a target GitHub Enterprise Server instance.", + "docs_reference_links": "N/A" + }, + { + "action": "oauth_access.create", + "description": "An OAuth access token was generated.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps, /authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token" + }, + { + "action": "oauth_access.destroy", + "description": "An OAuth access token was deleted.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps" + }, + { + "action": "oauth_access.regenerate", + "description": "An OAuth access token was regenerated.", + "docs_reference_links": "N/A" + }, + { + "action": "oauth_access.update", + "description": "An OAuth access token was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "oauth_application.create", + "description": "An OAuth application was created.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.destroy", + "description": "An OAuth application was deleted.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.generate_client_secret", + "description": "An OAuth application's secret key was generated.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.remove_client_secret", + "description": "An OAuth application's secret key was deleted.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.reset_secret", + "description": "The secret key for an OAuth application was reset.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.revoke_all_tokens", + "description": "All user tokens for an OAuth application were requested to be revoked.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.revoke_tokens", + "description": "Token(s) for an OAuth application were revoked.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_application.transfer", + "description": "An OAuth application was transferred from one account to another.", + "docs_reference_links": "/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app#registering-your-app" + }, + { + "action": "oauth_authorization.create", + "description": "An authorization for an OAuth application was created.", + "docs_reference_links": "/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps" + }, + { + "action": "oauth_authorization.destroy", + "description": "An authorization for an OAuth application was deleted.", + "docs_reference_links": "/apps/using-github-apps/reviewing-your-authorized-integrations" + }, + { + "action": "org.add_member", + "description": "A user joined an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.add_outside_collaborator", + "description": "An outside collaborator was added to a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_disabled_for_new_repos", + "description": "GitHub Advanced Security was disabled for new repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_disabled_on_all_repos", + "description": "GitHub Advanced Security was disabled for all repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_enabled_for_new_repos", + "description": "GitHub Advanced Security was enabled for new repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.advanced_security_enabled_on_all_repos", + "description": "GitHub Advanced Security was enabled for all repositories in an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "org.remove_member", + "description": "A member was removed from an organization, either manually or due to a two-factor authentication requirement.", + "docs_reference_links": "N/A" + }, + { + "action": "org.security_center_export_coverage", + "description": "A CSV export was requested on the Coverage page.", + "docs_reference_links": "N/A" + }, + { + "action": "org.security_center_export_overview_dashboard", + "description": "A CSV export was requested on the Overview Dashboard page.", + "docs_reference_links": "N/A" + }, + { + "action": "org.security_center_export_risk", + "description": "A CSV export was requested on the Risk page.", + "docs_reference_links": "N/A" + }, + { + "action": "org.set_actions_fork_pr_approvals_policy", + "description": "The setting for requiring approvals for workflows from public forks was changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#requiring-approval-for-workflows-from-public-forks" + }, + { + "action": "org.set_actions_private_fork_pr_approvals_policy", + "description": "The policy for requiring approval for fork pull request workflows from collaborators without write access to private repos was changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#enabling-workflows-for-private-repository-forks" + }, + { + "action": "org.set_actions_retention_limit", + "description": "The retention period for GitHub Actions artifacts and logs in an organization was changed.", + "docs_reference_links": "/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization" + }, + { + "action": "org.set_default_workflow_permissions", + "description": "The default permissions granted to the GITHUB_TOKEN when running workflows were changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization" + }, + { + "action": "org.set_fork_pr_workflows_policy", + "description": "The policy for workflows on private repository forks was changed.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#enabling-workflows-for-private-repository-forks" + }, + { + "action": "org.set_workflow_permission_can_approve_pr", + "description": "The policy for allowing GitHub Actions to create and approve pull requests was changed for an organization.", + "docs_reference_links": "/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#preventing-github-actions-from-creating-or-approving-pull-requests" + }, + { + "action": "org.update_member", + "description": "A person's role was changed from owner to member or member to owner.", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_member_repository_creation_permission", + "description": "The create repository permission for organization members was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "org.update_member_repository_invitation_permission", + "description": "An organization owner changed the policy setting for organization members inviting outside collaborators to repositories.", + "docs_reference_links": "/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators" + }, + { + "action": "pages_protected_domain.create", + "description": "A GitHub Pages verified domain was created for an organization or enterprise.", + "docs_reference_links": "/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages" + }, + { + "action": "pages_protected_domain.delete", + "description": "A GitHub Pages verified domain was deleted from an organization or enterprise.", + "docs_reference_links": "/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages" + }, + { + "action": "pages_protected_domain.verify", + "description": "A GitHub Pages domain was verified for an organization or enterprise.", + "docs_reference_links": "/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages" + }, + { + "action": "passkey.register", + "description": "A new passkey was added.", + "docs_reference_links": "N/A" + }, + { + "action": "passkey.remove", + "description": "A new passkey was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "payment_method.create", + "description": "A new payment method was added, such as a new credit card or PayPal account.", + "docs_reference_links": "N/A" + }, + { + "action": "payment_method.remove", + "description": "A payment method was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "payment_method.update", + "description": "An existing payment method was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.access_granted", + "description": "A fine-grained personal access token was granted access to resources.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization" + }, + { + "action": "personal_access_token.access_revoked", + "description": "A fine-grained personal access token was revoked. The token can still read public organization resources.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/reviewing-and-revoking-personal-access-tokens-in-your-organization" + }, + { + "action": "personal_access_token.create", + "description": "Triggered when you create a fine-grained personal access token.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.credential_regenerated", + "description": "Triggered when you regenerate a fine-grained personal access token.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.credential_revoked", + "description": "A fine-grained personal access token was revoked by GitHub Advanced Security.", + "docs_reference_links": "/code-security/getting-started/github-security-features#secret-scanning-alerts-for-users" + }, + { + "action": "personal_access_token.destroy", + "description": "Triggered when you delete a fine-grained personal access token.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.request_cancelled", + "description": "A pending request for a fine-grained personal access token to access organization resources was canceled.", + "docs_reference_links": "N/A" + }, + { + "action": "personal_access_token.request_created", + "description": "Triggered when a fine-grained personal access token was created to access organization resources and the organization requires approval before the token can access organization resources.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization" + }, + { + "action": "personal_access_token.request_denied", + "description": "A request for a fine-grained personal access token to access organization resources was denied.", + "docs_reference_links": "/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization" + }, + { + "action": "personal_access_token.update", + "description": "A fine-grained personal access token was updated.", + "docs_reference_links": "/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#fine-grained-personal-access-tokens" + }, + { + "action": "premium_runner.create", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "premium_runner.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "premium_runner.update", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting.disable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting.enable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting_new_repos.disable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "private_vulnerability_reporting_new_repos.enable", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "profile_picture.update", + "description": "A profile picture was updated.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile" + }, + { + "action": "project.access", + "description": "A project board visibility was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.close", + "description": "A project board was closed.", + "docs_reference_links": "/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board" + }, + { + "action": "project_collaborator.add", + "description": "A collaborator was added to a project.", + "docs_reference_links": "N/A" + }, + { + "action": "project_collaborator.remove", + "description": "A collaborator was removed from a project.", + "docs_reference_links": "N/A" + }, + { + "action": "project_collaborator.update", + "description": "A project collaborator's permission level was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.create", + "description": "A project board was created.", + "docs_reference_links": "N/A" + }, + { + "action": "project.delete", + "description": "A project board was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "project_field.create", + "description": "A field was created in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/understanding-fields" + }, + { + "action": "project_field.delete", + "description": "A field was deleted in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/understanding-fields/deleting-custom-fields" + }, + { + "action": "project.link", + "description": "A repository was linked to a project board.", + "docs_reference_links": "N/A" + }, + { + "action": "project.open", + "description": "A project board was reopened.", + "docs_reference_links": "/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board" + }, + { + "action": "project.rename", + "description": "A project board was renamed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.unlink", + "description": "A repository was unlinked from a project board.", + "docs_reference_links": "N/A" + }, + { + "action": "project.update_org_permission", + "description": "The project's base-level permission for all organization members was changed or removed.", + "docs_reference_links": "N/A" + }, + { + "action": "project.update_team_permission", + "description": "A team's project board permission level was changed or when a team was added or removed from a project board.", + "docs_reference_links": "N/A" + }, + { + "action": "project.update_user_permission", + "description": "A user was added to or removed from a project board or had their permission level changed.", + "docs_reference_links": "N/A" + }, + { + "action": "project_view.create", + "description": "A view was created in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views" + }, + { + "action": "project_view.delete", + "description": "A view was deleted in a project board.", + "docs_reference_links": "/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views" + }, + { + "action": "project.visibility_private", + "description": "A project's visibility was changed from public to private.", + "docs_reference_links": "N/A" + }, + { + "action": "project.visibility_public", + "description": "A project's visibility was changed from private to public.", + "docs_reference_links": "N/A" + }, + { + "action": "protected_branch.update_merge_queue_enforcement_level", + "description": "Enforcement of the merge queue was modified for a branch.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-merge-queue" + }, + { + "action": "public_key.create", + "description": "An SSH key was added to a user account or a deploy key was added to a repository.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account" + }, + { + "action": "public_key.delete", + "description": "An SSH key was removed from a user account or a deploy key was removed from a repository.", + "docs_reference_links": "/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys" + }, + { + "action": "public_key.unverification_failure", + "description": "A user account's SSH key or a repository's deploy key was unable to be unverified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.unverify", + "description": "A user account's SSH key or a repository's deploy key was unverified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.update", + "description": "A user account's SSH key or a repository's deploy key was updated.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.verification_failure", + "description": "A user account's SSH key or a repository's deploy key was unable to be verified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "public_key.verify", + "description": "A user account's SSH key or a repository's deploy key was verified.", + "docs_reference_links": "/authentication/connecting-to-github-with-ssh/managing-deploy-keys#deploy-keys" + }, + { + "action": "repo.access", + "description": "The visibility of a repository changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility" + }, + { + "action": "repo.actions_enabled", + "description": "GitHub Actions was enabled for a repository.", + "docs_reference_links": "organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#using-the-audit-log-api" + }, + { + "action": "repo.add_member", + "description": "A collaborator was added to a repository.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository" + }, + { + "action": "repo.add_topic", + "description": "A topic was added to a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics" + }, + { + "action": "repo.advanced_security_disabled", + "description": "GitHub Advanced Security was disabled for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository" + }, + { + "action": "repo.advanced_security_enabled", + "description": "GitHub Advanced Security was enabled for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository" + }, + { + "action": "repo.archived", + "description": "A repository was archived.", + "docs_reference_links": "/repositories/archiving-a-github-repository" + }, + { + "action": "repo.change_merge_setting", + "description": "Pull request merge options were changed for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.code_scanning_analysis_deleted", + "description": "Code scanning analysis for a repository was deleted.", + "docs_reference_links": "/rest/code-scanning#delete-a-code-scanning-analysis-from-a-repository" + }, + { + "action": "repo.code_scanning_configuration_for_branch_deleted", + "description": "A code scanning configuration for a branch of a repository was deleted.", + "docs_reference_links": "/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository#removing-stale-configurations-and-alerts-from-a-branch" + }, + { + "action": "repo.config.disable_collaborators_only", + "description": "The interaction limit for collaborators only was disabled.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.disable_contributors_only", + "description": "The interaction limit for prior contributors only was disabled in a repository.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.disable_sockpuppet_disallowed", + "description": "The interaction limit for existing users only was disabled in a repository.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.enable_collaborators_only", + "description": "The interaction limit for collaborators only was enabled in a repository Users that are not collaborators or organization members were unable to interact with a repository for a set duration.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.enable_contributors_only", + "description": "The interaction limit for prior contributors only was enabled in a repository Users that are not prior contributors, collaborators or organization members were unable to interact with a repository for a set duration.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.config.enable_sockpuppet_disallowed", + "description": "The interaction limit for existing users was enabled in a repository New users aren't able to interact with a repository for a set duration Existing users of the repository, contributors, collaborators or organization members are able to interact with a repository.", + "docs_reference_links": "/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository" + }, + { + "action": "repo.configure_self_hosted_jit_runner", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.create", + "description": "A repository was created.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/creating-a-new-repository" + }, + { + "action": "repo.create_actions_secret", + "description": "A GitHub Actions secret was created for a repository.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository" + }, + { + "action": "repo.create_actions_variable", + "description": "A GitHub Actions variable was created for a repository.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository" + }, + { + "action": "repo.create_integration_secret", + "description": "A Codespaces or Dependabot secret was created for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.destroy", + "description": "A repository was deleted.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/deleting-a-repository" + }, + { + "action": "repo.pages_cname", + "description": "A GitHub Pages custom domain was modified in a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_create", + "description": "A GitHub Pages site was created.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_destroy", + "description": "A GitHub Pages site was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_https_redirect_disabled", + "description": "HTTPS redirects were disabled for a GitHub Pages site.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_https_redirect_enabled", + "description": "HTTPS redirects were enabled for a GitHub Pages site.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_private", + "description": "A GitHub Pages site visibility was changed to private.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_public", + "description": "A GitHub Pages site visibility was changed to public.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_soft_delete", + "description": "A GitHub Pages site was soft-deleted because its owner's plan changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_soft_delete_restore", + "description": "A GitHub Pages site that was previously soft-deleted was restored.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.pages_source", + "description": "A GitHub Pages source was modified.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.register_self_hosted_runner", + "description": "A new self-hosted runner was registered.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository" + }, + { + "action": "repo.remove_actions_secret", + "description": "A GitHub Actions secret was deleted for a repository.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository" + }, + { + "action": "repo.remove_actions_variable", + "description": "A GitHub Actions variable was deleted for a repository.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository" + }, + { + "action": "repo.remove_integration_secret", + "description": "A Codespaces or Dependabot secret was deleted for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.remove_member", + "description": "A collaborator was removed from a repository.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository" + }, + { + "action": "repo.remove_self_hosted_runner", + "description": "A self-hosted runner was removed.", + "docs_reference_links": "/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository" + }, + { + "action": "repo.remove_topic", + "description": "A topic was removed from a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.rename", + "description": "A repository was renamed.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/renaming-a-repository" + }, + { + "action": "repo.restore", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "repo.set_actions_fork_pr_approvals_policy", + "description": "The setting for requiring approvals for workflows from public forks was changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-required-approval-for-workflows-from-public-forks" + }, + { + "action": "repo.set_actions_private_fork_pr_approvals_policy", + "description": "The policy for requiring approval for fork pull request workflows from collaborators without write access to private repos was changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-forks-of-private-repositories" + }, + { + "action": "repo.set_actions_retention_limit", + "description": "The retention period for GitHub Actions artifacts and logs in a repository was changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository" + }, + { + "action": "repo.set_default_workflow_permissions", + "description": "The default permissions granted to the GITHUB_TOKEN when running workflows were changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository" + }, + { + "action": "repo.set_fork_pr_workflows_policy", + "description": "Triggered when the policy for workflows on private repository forks is changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks" + }, + { + "action": "repo.set_workflow_permission_can_approve_pr", + "description": "The policy for allowing GitHub Actions to create and approve pull requests was changed for a repository.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#preventing-github-actions-from-creating-or-approving-pull-requests" + }, + { + "action": "repo.staff_unlock", + "description": "An enterprise owner or GitHub staff (with permission from a repository administrator) temporarily unlocked the repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.temporary_access_granted", + "description": "Temporary access was enabled for a repository.", + "docs_reference_links": "/admin/user-management/managing-repositories-in-your-enterprise/accessing-user-owned-repositories-in-your-enterprise" + }, + { + "action": "repo.transfer", + "description": "A user accepted a request to receive a transferred repository.", + "docs_reference_links": "/repositories/creating-and-managing-repositories/transferring-a-repository" + }, + { + "action": "repo.transfer_outgoing", + "description": "A repository was transferred to another repository network.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.transfer_start", + "description": "A user sent a request to transfer a repository to another user or organization.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.unarchived", + "description": "A repository was unarchived.", + "docs_reference_links": "/repositories/archiving-a-github-repository" + }, + { + "action": "repo.update_actions_access_settings", + "description": "The setting to control how a repository was used by GitHub Actions workflows in other repositories was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_actions_secret", + "description": "A GitHub Actions secret was updated for a repository.", + "docs_reference_links": "/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository" + }, + { + "action": "repo.update_actions_settings", + "description": "A repository administrator changed GitHub Actions policy settings for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_actions_variable", + "description": "A GitHub Actions variable was updated for a repository.", + "docs_reference_links": "/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository" + }, + { + "action": "repo.update_default_branch", + "description": "The default branch for a repository was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_integration_secret", + "description": "A Codespaces or Dependabot secret was updated for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "repo.update_member", + "description": "A user's permission to a repository was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_image.create", + "description": "An image to represent a repository was uploaded.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_image.destroy", + "description": "An image to represent a repository was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.accept", + "description": "An invitation to join a repository was accepted.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.cancel", + "description": "An invitation to join a repository was canceled.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.create", + "description": "An invitation to join a repository was sent.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_invitation.reject", + "description": "An invitation to join a repository was declined.", + "docs_reference_links": "N/A" + }, + { + "action": "repository_ruleset.create", + "description": "A repository ruleset was created.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository" + }, + { + "action": "repository_ruleset.destroy", + "description": "A repository ruleset was deleted.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#deleting-a-ruleset" + }, + { + "action": "repository_ruleset.update", + "description": "A repository ruleset was edited.", + "docs_reference_links": "/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#editing-a-ruleset" + }, + { + "action": "security_key.register", + "description": "A security key was registered for an account.", + "docs_reference_links": "N/A" + }, + { + "action": "security_key.remove", + "description": "A security key was removed from an account.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.agreement_sign", + "description": "A GitHub Sponsors agreement was signed on behalf of an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.custom_amount_settings_change", + "description": "Custom amounts for GitHub Sponsors were enabled or disabled, or the suggested custom amount was changed.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers" + }, + { + "action": "sponsors.fiscal_host_change", + "description": "The fiscal host for a GitHub Sponsors listing was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.repo_funding_links_file_action", + "description": "The FUNDING file in a repository was changed.", + "docs_reference_links": "/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository" + }, + { + "action": "sponsors.sponsor_sponsorship_cancel", + "description": "A sponsorship was canceled.", + "docs_reference_links": "/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship" + }, + { + "action": "sponsors.sponsor_sponsorship_create", + "description": "A sponsorship was created, by sponsoring an account.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/about-sponsorships-fees-and-taxes" + }, + { + "action": "sponsors.sponsor_sponsorship_payment_complete", + "description": "After you sponsor an account and a payment has been processed, the sponsorship payment was marked as complete.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/about-sponsorships-fees-and-taxes" + }, + { + "action": "sponsors.sponsor_sponsorship_preference_change", + "description": "The option to receive email updates from a sponsored account was changed.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship" + }, + { + "action": "sponsors.sponsor_sponsorship_tier_change", + "description": "A sponsorship was upgraded or downgraded.", + "docs_reference_links": "/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship, /billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship" + }, + { + "action": "sponsors.sponsored_developer_approve", + "description": "A GitHub Sponsors account was approved.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account" + }, + { + "action": "sponsors.sponsored_developer_create", + "description": "A GitHub Sponsors account was created.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account" + }, + { + "action": "sponsors.sponsored_developer_disable", + "description": "A GitHub Sponsors account was disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.sponsored_developer_profile_update", + "description": "The profile for GitHub Sponsors account was edited.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors" + }, + { + "action": "sponsors.sponsored_developer_redraft", + "description": "A GitHub Sponsors account was returned to draft state from approved state.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.sponsored_developer_request_approval", + "description": "An application for GitHub Sponsors was submitted for approval.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account" + }, + { + "action": "sponsors.sponsored_developer_tier_description_update", + "description": "The description for a sponsorship tier was changed.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers" + }, + { + "action": "sponsors.sponsored_developer_update_newsletter_send", + "description": "Triggered when you send an email update to your sponsors.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/contacting-your-sponsors" + }, + { + "action": "sponsors.sponsors_patreon_user_create", + "description": "A Patreon account was linked to a user account for use with GitHub Sponsors.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/enabling-sponsorships-through-patreon#linking-your-patreon-account-to-your-github-account" + }, + { + "action": "sponsors.sponsors_patreon_user_destroy", + "description": "A Patreon account for use with GitHub Sponsors was unlinked from a user account.", + "docs_reference_links": "/sponsors/sponsoring-open-source-contributors/unlinking-your-patreon-account-from-your-github-account" + }, + { + "action": "sponsors.update_tier_repository", + "description": "A GitHub Sponsors tier changed access for a repository.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.update_tier_welcome_message", + "description": "The welcome message for a GitHub Sponsors tier for an organization was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "sponsors.waitlist_join", + "description": "You join the waitlist to join GitHub Sponsors.", + "docs_reference_links": "/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account" + }, + { + "action": "sponsors.withdraw_agreement_signature", + "description": "A signature was withdrawn from a GitHub Sponsors agreement that applies to an organization.", + "docs_reference_links": "N/A" + }, + { + "action": "successor_invitation.accept", + "description": "Triggered when you accept a succession invitation.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories" + }, + { + "action": "successor_invitation.cancel", + "description": "Triggered when you cancel a succession invitation.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories" + }, + { + "action": "successor_invitation.create", + "description": "Triggered when you create a succession invitation.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories" + }, + { + "action": "successor_invitation.decline", + "description": "Triggered when you decline a succession invitation.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories" + }, + { + "action": "successor_invitation.destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "successor_invitation.revoke", + "description": "Triggered when you revoke a succession invitation.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories" + }, + { + "action": "trusted_device.register", + "description": "A new trusted device was added.", + "docs_reference_links": "N/A" + }, + { + "action": "trusted_device.remove", + "description": "A trusted device was removed.", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.abort", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.complete", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.ignore", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.staff_approve", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.staff_decline", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.start", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_account_recovery.two_factor_destroy", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_authentication.add_factor", + "description": "A secondary authentication factor was added to a user account.", + "docs_reference_links": "/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication" + }, + { + "action": "two_factor_authentication.disabled", + "description": "Two-factor authentication was disabled for a user account.", + "docs_reference_links": "https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account" + }, + { + "action": "two_factor_authentication.enabled", + "description": "Two-factor authentication was enabled for a user account.", + "docs_reference_links": "https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication" + }, + { + "action": "two_factor_authentication.password_reset_fallback_sms", + "description": "A one-time password code was sent to a user account fallback phone number.", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_authentication.recovery_codes_regenerated", + "description": "Two factor recovery codes were regenerated for a user account.", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_authentication.remove_factor", + "description": "A secondary authentication factor was removed from a user account.", + "docs_reference_links": "/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication" + }, + { + "action": "two_factor_authentication.sign_in_fallback_sms", + "description": "A one-time password code was sent to a user account fallback phone number.", + "docs_reference_links": "N/A" + }, + { + "action": "two_factor_authentication.update_fallback", + "description": "The two-factor authentication fallback for a user account was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "user.add_email", + "description": "An email address was added to a user account.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account" + }, + { + "action": "user.async_delete", + "description": "An asynchronous job was started to destroy a user account, eventually triggering a user.delete event.", + "docs_reference_links": "N/A" + }, + { + "action": "user.audit_log_export", + "description": "Audit log entries were exported.", + "docs_reference_links": "N/A" + }, + { + "action": "user.block_user", + "description": "A user was blocked by another user.", + "docs_reference_links": "N/A" + }, + { + "action": "user.change_password", + "description": "A user changed their password.", + "docs_reference_links": "N/A" + }, + { + "action": "user.codespaces_trusted_repo_access_granted", + "description": "Triggered when you allow the codespaces you create for a repository to access other repositories owned by your personal account.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces" + }, + { + "action": "user.codespaces_trusted_repo_access_revoked", + "description": "Triggered when you disallow the codespaces you create for a repository to access other repositories owned by your personal account.", + "docs_reference_links": "/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces" + }, + { + "action": "user.create", + "description": "A new user account was created.", + "docs_reference_links": "N/A" + }, + { + "action": "user.create_integration_secret", + "description": "A user secret for Codespaces was created.", + "docs_reference_links": "N/A" + }, + { + "action": "user.creation_rate_limit_exceeded", + "description": "The rate of creation of user accounts, applications, issues, pull requests or other resources exceeded the configured rate limits, or too many users were followed too quickly.", + "docs_reference_links": "N/A" + }, + { + "action": "user.delete", + "description": "A user account was destroyed by an asynchronous job.", + "docs_reference_links": "N/A" + }, + { + "action": "user.demote", + "description": "A site administrator was demoted to an ordinary user account.", + "docs_reference_links": "N/A" + }, + { + "action": "user.destroy", + "description": "A user deleted his or her account, triggering user.async_delete.", + "docs_reference_links": "N/A" + }, + { + "action": "user.device_verification_failure", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.device_verification_requested", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.device_verification_success", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.disable_collaborators_only", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.disable_contributors_only", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.disable_sockpuppet_disallowed", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user_email.confirm_claim", + "description": "An enterprise managed user claimed an email address.", + "docs_reference_links": "N/A" + }, + { + "action": "user_email.mark_as_unclaimed", + "description": "N/A", + "docs_reference_links": "An enterprise managed user unclaimed an email address." + }, + { + "action": "user.enable_collaborators_only", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.enable_contributors_only", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.enable_sockpuppet_disallowed", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.failed_login", + "description": "A user tried to sign in with an incorrect username, password, or two-factor authentication code.", + "docs_reference_links": "N/A" + }, + { + "action": "user.forgot_password", + "description": "A user requested a password reset.", + "docs_reference_links": "/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials" + }, + { + "action": "user.grant_github_developer", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.hide_private_contributions_count", + "description": "A user changed the visibility of their private contributions. The number of contributions to private repositories on the user's profile are now hidden.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/showing-your-private-contributions-and-achievements-on-your-profile" + }, + { + "action": "user.login", + "description": "A user signed in.", + "docs_reference_links": "N/A" + }, + { + "action": "user.logout", + "description": "A user signed out.", + "docs_reference_links": "N/A" + }, + { + "action": "user.new_device_used", + "description": "A user signed in from a new device.", + "docs_reference_links": "N/A" + }, + { + "action": "user.promote", + "description": "An ordinary user account was promoted to a site administrator.", + "docs_reference_links": "N/A" + }, + { + "action": "user.recreate", + "description": "A user's account was restored.", + "docs_reference_links": "N/A" + }, + { + "action": "user.remove_email", + "description": "An email address was removed from a user account.", + "docs_reference_links": "N/A" + }, + { + "action": "user.remove_integration_secret", + "description": "A user secret for Codespaces was deleted.", + "docs_reference_links": "N/A" + }, + { + "action": "user.rename", + "description": "A username was changed.", + "docs_reference_links": "N/A" + }, + { + "action": "user.reset_password", + "description": "A user reset their account password.", + "docs_reference_links": "N/A" + }, + { + "action": "user_session.country_change", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.show_private_contributions_count", + "description": "A user changed the visibility of their private contributions. The number of contributions to private repositories on the user's profile are now shown.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/showing-your-private-contributions-and-achievements-on-your-profile" + }, + { + "action": "user.sign_in_from_unrecognized_device", + "description": "A user signed in from an unrecognized device.", + "docs_reference_links": "N/A" + }, + { + "action": "user.sign_in_from_unrecognized_device_and_location", + "description": "A user signed in from an unrecognized device and location.", + "docs_reference_links": "N/A" + }, + { + "action": "user_status.destroy", + "description": "Triggered when you clear the status on your profile.", + "docs_reference_links": "N/A" + }, + { + "action": "user_status.update", + "description": "Triggered when you set or change the status on your profile.", + "docs_reference_links": "/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status" + }, + { + "action": "user.suspend", + "description": "A user account was suspended.", + "docs_reference_links": "N/A" + }, + { + "action": "user.toggle_warn_private_email", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_challenge_failure", + "description": "A 2FA challenge issued for a user account failed.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_challenge_success", + "description": "A 2FA challenge issued for a user account succeeded.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_recover", + "description": "A user used their 2FA recovery codes.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_recovery_codes_downloaded", + "description": "A user downloaded 2FA recovery codes for their account.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_recovery_codes_printed", + "description": "A user printed 2FA recovery codes for their account.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_recovery_codes_viewed", + "description": "A user viewed 2FA recovery codes for their account.", + "docs_reference_links": "N/A" + }, + { + "action": "user.two_factor_requested", + "description": "A user was prompted for a two-factor authentication code.", + "docs_reference_links": "/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication" + }, + { + "action": "user.unblock_user", + "description": "A user was unblocked by another user.", + "docs_reference_links": "N/A" + }, + { + "action": "user.unsuspend", + "description": "A user account was unsuspended.", + "docs_reference_links": "N/A" + }, + { + "action": "user.update_integration_secret", + "description": "A user secret for Codespaces was updated.", + "docs_reference_links": "N/A" + }, + { + "action": "user.update_new_repository_default_branch_setting", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.approve_workflow_job", + "description": "A workflow job was approved.", + "docs_reference_links": "/actions/managing-workflow-runs/reviewing-deployments" + }, + { + "action": "workflows.bypass_protection_rules", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.comment_workflow_job", + "description": "N/A", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.delete_workflow_run", + "description": "A workflow run was deleted.", + "docs_reference_links": "/actions/managing-workflow-runs/deleting-a-workflow-run" + }, + { + "action": "workflows.disable_workflow", + "description": "A workflow was disabled.", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.enable_workflow", + "description": "A workflow was enabled, after previously being disabled by disable_workflow.", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.pin_workflow", + "description": "A workflow was pinned.", + "docs_reference_links": "N/A" + }, + { + "action": "workflows.reject_workflow_job", + "description": "A workflow job was rejected.", + "docs_reference_links": "/actions/managing-workflow-runs/reviewing-deployments" + }, + { + "action": "workflows.unpin_workflow", + "description": "A workflow was unpinned after previously being pinned.", + "docs_reference_links": "N/A" + } +] \ No newline at end of file diff --git a/src/audit-logs/lib/config.json b/src/audit-logs/lib/config.json index 2acd9335092c..edbc952d26ae 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": "fbace6ef9a52fb210dc8af9ff44d248edb88538c" + "sha": "59756bf36a9f30cef18140b482fa177f265a41ce" } \ No newline at end of file diff --git a/src/content-render/stylesheets/annotate.scss b/src/content-render/stylesheets/annotate.scss index dffe1cfb9070..b4199e62f09f 100644 --- a/src/content-render/stylesheets/annotate.scss +++ b/src/content-render/stylesheets/annotate.scss @@ -69,6 +69,29 @@ border-bottom: 1px solid var(--color-border-default); } +.annotate-toggle { + background: var(--color-segmented-control-bg); + border-radius: 6px; + margin-right: 1rem; + font-weight: 500; +} + +.annotate-option { + background: none; + border: 1px solid transparent; + border-radius: 6px; + padding: 0.25rem 0.75rem; + + &:hover { + background: var(--color-segmented-control-button-hover-bg); + } + + &.selected { + background: var(--color-segmented-control-button-bg); + border-color: var(--color-segmented-control-button-selected-border); + } +} + .annotate-row { display: flex; flex-direction: column; @@ -114,3 +137,7 @@ .subnav-item[aria-current]:not([aria-current="false"]) { z-index: 0; } + +button.js-btn-copy.copied::after { + content: "Copied!"; +} diff --git a/src/content-render/stylesheets/heading-links.scss b/src/content-render/stylesheets/heading-links.scss index adb98d8bbf8f..561b87382e70 100644 --- a/src/content-render/stylesheets/heading-links.scss +++ b/src/content-render/stylesheets/heading-links.scss @@ -11,4 +11,7 @@ mask: url('data:image/svg+xml;charset=utf8,'); mask-size: cover; background-color: var(--color-fg-subtle); + @media (forced-colors: active) { + background-color: LinkText; + } } diff --git a/src/content-render/tests/__snapshots__/annotate.js.snap b/src/content-render/tests/__snapshots__/annotate.js.snap index 6cae4edfc748..4b4594e468ce 100644 --- a/src/content-render/tests/__snapshots__/annotate.js.snap +++ b/src/content-render/tests/__snapshots__/annotate.js.snap @@ -1,30 +1,7 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`annotate > renders annotations 1`] = ` -"
YAML
name: Post welcome comment

The name of the workflow as it will appear in the "Actions" tab of the GitHub repository.

on:
-  pull_request:
-    types: [opened]

Add the pull_request event, so that the workflow runs automatically -every time a pull request is created.

# The name of the workflow as it will appear in the "Actions" tab of the GitHub repository.
-name: Post welcome comment
-
-# Add the \`pull_request\` event, so that the workflow runs automatically
-# every time a pull request is created.
-on:
-  pull_request:
-    types: [opened]
-
" -`; - -exports[`annotate renders annotations 1`] = ` -"
YAML