Compare commits
194 Commits
copilot/fi
...
Sharra-wri
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc3601d5e5 | ||
|
|
61aa524f60 | ||
|
|
f271710646 | ||
|
|
155f45fc00 | ||
|
|
3e5e096d61 | ||
|
|
9a9ec96a2a | ||
|
|
f800736152 | ||
|
|
080588f909 | ||
|
|
7cd099c425 | ||
|
|
6a79da037c | ||
|
|
fd1a891eea | ||
|
|
7df2d3fefe | ||
|
|
4878085e76 | ||
|
|
8ad7018c8d | ||
|
|
f35cd0d5ba | ||
|
|
e2701f824a | ||
|
|
cc53e2a2a3 | ||
|
|
c47793d93d | ||
|
|
da48bda45d | ||
|
|
0f1512f704 | ||
|
|
0fb7bb75b2 | ||
|
|
5fde626ade | ||
|
|
505046274a | ||
|
|
e540b7c0f2 | ||
|
|
f225b6c08d | ||
|
|
1340b9d27e | ||
|
|
8d77a9f386 | ||
|
|
eb19c00a3d | ||
|
|
794cdc0a7a | ||
|
|
12d3f550f9 | ||
|
|
092c008490 | ||
|
|
531340eb7f | ||
|
|
3a07501fba | ||
|
|
f8d318afc4 | ||
|
|
b26048e5e5 | ||
|
|
6098529456 | ||
|
|
eb0bb8fc23 | ||
|
|
14ce4f0d40 | ||
|
|
45cabe25e5 | ||
|
|
7e5043d66b | ||
|
|
bf0ee396d3 | ||
|
|
609f43632c | ||
|
|
d3ffd7f541 | ||
|
|
864ceb439c | ||
|
|
ad636dc6b0 | ||
|
|
12eb5e7c73 | ||
|
|
732e2b5ad8 | ||
|
|
d3d9d5431d | ||
|
|
fab07f48b9 | ||
|
|
2f968d9edd | ||
|
|
98eb7dc4f9 | ||
|
|
2a5d3ec904 | ||
|
|
029eaf9cb7 | ||
|
|
70e258d2f2 | ||
|
|
75d53ed833 | ||
|
|
1601b7d335 | ||
|
|
641c4f7bcd | ||
|
|
0ad5a89912 | ||
|
|
07eaf1182c | ||
|
|
1c1d94b2c9 | ||
|
|
3862fdf9db | ||
|
|
214ba4a09a | ||
|
|
6d21508566 | ||
|
|
b630e0a10c | ||
|
|
f401a50f2f | ||
|
|
f950caa30b | ||
|
|
017fca36b0 | ||
|
|
ed4a4ac82c | ||
|
|
81898af3b3 | ||
|
|
78c89d9b78 | ||
|
|
d95a3c8ed1 | ||
|
|
6d89bb94c4 | ||
|
|
1a1a2a3846 | ||
|
|
b11e6edb5c | ||
|
|
9d735706ac | ||
|
|
5c7d605f1a | ||
|
|
eeeabea9d2 | ||
|
|
f8fcee0c3d | ||
|
|
40551f3718 | ||
|
|
caf8f12363 | ||
|
|
f504deeadd | ||
|
|
3f9ee67da5 | ||
|
|
75bf566d03 | ||
|
|
cc77b3d6af | ||
|
|
e3588f9d4a | ||
|
|
0c69d86c3a | ||
|
|
eea297fcac | ||
|
|
ec7bb4d9bb | ||
|
|
bda76e771e | ||
|
|
82ad892a34 | ||
|
|
1c1dc89408 | ||
|
|
3a563dc58c | ||
|
|
598eeb100b | ||
|
|
ac13aeac01 | ||
|
|
272838a3f0 | ||
|
|
343c70fb4b | ||
|
|
b7aa14a6eb | ||
|
|
369f302c0a | ||
|
|
776d82e376 | ||
|
|
e85bba39cb | ||
|
|
a839eca40d | ||
|
|
1497b84188 | ||
|
|
8d487f535b | ||
|
|
f2869102a5 | ||
|
|
e7aec5ef3d | ||
|
|
773552f533 | ||
|
|
9777e406cf | ||
|
|
021683e5f9 | ||
|
|
8cba934858 | ||
|
|
88471cadf4 | ||
|
|
3af7ba9ef0 | ||
|
|
67d15da00c | ||
|
|
ba5b4e90e1 | ||
|
|
9159fb547c | ||
|
|
246fc30598 | ||
|
|
773a325ff7 | ||
|
|
e2264900e5 | ||
|
|
892c4b7150 | ||
|
|
8c20421d95 | ||
|
|
de2b0f3404 | ||
|
|
fb5eb8ad21 | ||
|
|
ddf0b11d1e | ||
|
|
5a54e0dcf9 | ||
|
|
ea5846a92b | ||
|
|
d9acbd8949 | ||
|
|
574274f4f4 | ||
|
|
defc4bc1df | ||
|
|
f32fc8c442 | ||
|
|
f323e8963e | ||
|
|
facc7976fe | ||
|
|
f71be9b242 | ||
|
|
081e5afc7e | ||
|
|
ff3678c74f | ||
|
|
3cfa2ff48e | ||
|
|
6ada1f43f6 | ||
|
|
034b77f760 | ||
|
|
6e19bb86b1 | ||
|
|
d06e5f9216 | ||
|
|
844b71f36b | ||
|
|
7cf4dc250b | ||
|
|
5cf1d2776a | ||
|
|
8812d983e1 | ||
|
|
f921b4255e | ||
|
|
55564dabab | ||
|
|
bc945902ce | ||
|
|
63d10c7005 | ||
|
|
0d5ebb626e | ||
|
|
f1e5c4fce1 | ||
|
|
90d2ec44bf | ||
|
|
46606fd63e | ||
|
|
2c3f6286ef | ||
|
|
602ac6d92b | ||
|
|
d411ddc156 | ||
|
|
5e44c80b81 | ||
|
|
3362ff2304 | ||
|
|
032824b650 | ||
|
|
392b8deb34 | ||
|
|
e0e569dc9b | ||
|
|
06e6b364b9 | ||
|
|
404a0bc839 | ||
|
|
c3a6fb879c | ||
|
|
c2e3aca4c0 | ||
|
|
1a1de47b66 | ||
|
|
505cf40ad7 | ||
|
|
f2ad5b58ce | ||
|
|
1a27b7b990 | ||
|
|
3d809be7a3 | ||
|
|
dde5c5426c | ||
|
|
540d70b0ee | ||
|
|
7d500a3745 | ||
|
|
858921cfe0 | ||
|
|
287cd95eb4 | ||
|
|
e143eb2528 | ||
|
|
5872dcaa1d | ||
|
|
fa141bd40c | ||
|
|
a529c14279 | ||
|
|
1d6c23c42d | ||
|
|
79d91474b0 | ||
|
|
a0036a7c89 | ||
|
|
6f1d4a57ed | ||
|
|
8b3568b52d | ||
|
|
d5187eb7db | ||
|
|
c2c7354235 | ||
|
|
7bc43091f9 | ||
|
|
c1cc9d657f | ||
|
|
2dbc2bd923 | ||
|
|
747116d2c3 | ||
|
|
d51021d445 | ||
|
|
be70fd639a | ||
|
|
8042d037db | ||
|
|
360ea111c1 | ||
|
|
ae09b4e8e9 | ||
|
|
239aac93cf | ||
|
|
baeb8bffce |
6
.github/actions/labeler/labeler.ts
vendored
6
.github/actions/labeler/labeler.ts
vendored
@@ -4,9 +4,9 @@ import coreLib from '@actions/core'
|
||||
import { type Octokit } from '@octokit/rest'
|
||||
import { CoreInject } from '@/links/scripts/action-injections'
|
||||
|
||||
import github from '#src/workflows/github.ts'
|
||||
import { getActionContext } from '#src/workflows/action-context.ts'
|
||||
import { boolEnvVar } from '#src/workflows/get-env-inputs.ts'
|
||||
import github from '@/workflows/github'
|
||||
import { getActionContext } from '@/workflows/action-context'
|
||||
import { boolEnvVar } from '@/workflows/get-env-inputs'
|
||||
|
||||
type Options = {
|
||||
addLabels?: string[]
|
||||
|
||||
25
.github/copilot-instructions.md
vendored
Normal file
25
.github/copilot-instructions.md
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
This documentation repository consists mainly of content written in Markdown format. These files are converted into HTML for displaying on a website. Most Markdown files become a single article on the documentation site. Other files contain reusable content which is inserted into multiple articles. The repository also contains YAML files (e.g. for variable text), image files, JavaScript/TypeScript files, etc.
|
||||
|
||||
### Using variables
|
||||
|
||||
Within Markdown files, with the exception of the `title` field in the metadata at the start of a file, always use the Liquid syntax variables rather than text if a variable has been defined for that text. For example:
|
||||
|
||||
| Use this variable | Don't use this text | File where variable is defined |
|
||||
| --- | --- | --- |
|
||||
| `{% data variables.product.prodname_dotcom %}` | GitHub | data/variables/product.yml |
|
||||
| `{% data variables.product.prodname_ghe_server %}` | GitHub Enterprise Server | data/variables/product.yml |
|
||||
| `{% data variables.product.prodname_copilot_short %}` | Copilot | data/variables/product.yml |
|
||||
| `{% data variables.product.prodname_copilot %}` | GitHub Copilot | data/variables/product.yml |
|
||||
| `{% data variables.copilot.copilot_code-review_short %}` | Copilot code review | data/variables/copilot.yml |
|
||||
| `{% data variables.enterprise.prodname_managed_user %}` | managed user account | data/variables/enterprise.yml |
|
||||
| `{% data variables.code-scanning.codeql_workflow %}` | CodeQL analysis workflow | data/variables/code-scanning.yml |
|
||||
|
||||
There are many more variables. These are stored in various YAML files within the `data/variables` directory.
|
||||
|
||||
### Links to other articles
|
||||
|
||||
`[AUTOTITLE]` is the correct way to specify the title of a linked article, when that article is another page on the docs.github.com site. Do not suggest replacing the placeholder link text `[AUTOTITLE]` with the actual page title or using the `{% link %}` Liquid tag.
|
||||
|
||||
### Creating a pull request
|
||||
|
||||
When creating a pull request as a result of a request to do so in Copilot Chat, the first line of the PR description should always be the following (in italics): `_This pull request was created as a result of the following prompt in Copilot Chat._` Then, within a collapsed section, quote the original prompt from Copilot Chat.
|
||||
4
.github/workflows/index-general-search.yml
vendored
4
.github/workflows/index-general-search.yml
vendored
@@ -108,7 +108,9 @@ jobs:
|
||||
# the whole job fast.
|
||||
# As of June 2023, it takes about 10+ minutes to index one whole
|
||||
# language and we have 8 non-English languages.
|
||||
max-parallel: 3
|
||||
# As of May 2025, we index so many pages that we are being rate-limited by
|
||||
# Elasticsearch. So we are shrinking this value to 2, down from 3
|
||||
max-parallel: 2
|
||||
matrix:
|
||||
language: ${{ fromJSON(needs.figureOutMatrix.outputs.matrix) }}
|
||||
steps:
|
||||
|
||||
68
.github/workflows/stale.yml
vendored
68
.github/workflows/stale.yml
vendored
@@ -1,9 +1,47 @@
|
||||
name: Stale
|
||||
#name: Stale
|
||||
|
||||
# **What it does**: Close issues and pull requests after no updates for 365 days.
|
||||
# **Why we have it**: We want to manage our queue of issues and pull requests.
|
||||
# **Who does it impact**: Everyone that works on docs or docs-internal.
|
||||
|
||||
#on:
|
||||
#schedule:
|
||||
# - cron: '20 16 * * *' # Run every day at 16:20 UTC / 8:20 PST
|
||||
|
||||
#permissions:
|
||||
#contents: read
|
||||
#issues: write
|
||||
#pull-requests: write
|
||||
|
||||
#jobs:
|
||||
#stale:
|
||||
#if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
|
||||
#runs-on: ubuntu-latest
|
||||
#steps:
|
||||
#- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
|
||||
#with:
|
||||
#repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
#stale-issue-message: 'This issue is stale because there have been no updates in 365 days.'
|
||||
#stale-pr-message: 'This PR is stale because there have been no updates in 365 days.'
|
||||
#days-before-stale: 365
|
||||
#days-before-close: 0
|
||||
#stale-issue-label: 'stale'
|
||||
#stale-pr-label: 'stale'
|
||||
#exempt-pr-labels: 'never-stale,waiting for review'
|
||||
#exempt-issue-labels: 'never-stale,help wanted,waiting for review'
|
||||
#operations-per-run: 1000
|
||||
#close-issue-reason: not_planned
|
||||
|
||||
#- name: Check out repo
|
||||
#if: ${{ failure() }}
|
||||
#uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
#- uses: ./.github/actions/slack-alert
|
||||
#if: ${{ failure() }}
|
||||
#with:
|
||||
#slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
|
||||
#slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
|
||||
|
||||
name: 'Marks stale issues and PRs'
|
||||
on:
|
||||
schedule:
|
||||
- cron: '20 16 * * *' # Run every day at 16:20 UTC / 8:20 PST
|
||||
@@ -11,32 +49,16 @@ on:
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'This issue is stale because there have been no updates in 365 days.'
|
||||
stale-pr-message: 'This PR is stale because there have been no updates in 365 days.'
|
||||
stale-issue-label: 'stale, triage' # The label that will be added to the issues when automatically marked as stale
|
||||
start-date: '2024-11-25T00:00:00Z' # Skip stale action for issues/PRs created before it
|
||||
days-before-stale: 365
|
||||
days-before-close: 0
|
||||
stale-issue-label: 'stale'
|
||||
stale-pr-label: 'stale'
|
||||
exempt-pr-labels: 'never-stale,waiting for review'
|
||||
exempt-issue-labels: 'never-stale,help wanted,waiting for review'
|
||||
operations-per-run: 1000
|
||||
close-issue-reason: not_planned
|
||||
|
||||
- name: Check out repo
|
||||
if: ${{ failure() }}
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
- uses: ./.github/actions/slack-alert
|
||||
if: ${{ failure() }}
|
||||
with:
|
||||
slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
|
||||
slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
|
||||
days-before-close: -1 # If -1, the issues nor pull requests will never be closed automatically.
|
||||
days-before-pr-stale: -1 # If -1, no pull requests will be marked as stale automatically.
|
||||
exempt-issue-labels: 'never-stale, help wanted' # issues labeled as such will be excluded them from being marked as stale
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
# ---------------------------------------------------------------
|
||||
# To update the sha:
|
||||
# https://github.com/github/gh-base-image/pkgs/container/gh-base-image%2Fgh-base-noble
|
||||
FROM ghcr.io/github/gh-base-image/gh-base-noble:20250501-005451-g595789ae2 AS base
|
||||
FROM ghcr.io/github/gh-base-image/gh-base-noble:20250529-200944-g9be5a274f AS base
|
||||
|
||||
# Install curl for Node install and determining the early access branch
|
||||
# Install git for cloning docs-early-access & translations repos
|
||||
|
||||
@@ -19,7 +19,7 @@ You can also contribute by creating a local environment or opening a Codespace.
|
||||
|
||||
<img alt="Contribution call-to-action" src="./contributing/images/contribution_cta.png" width="400">
|
||||
|
||||
For more complex contributions, please open an issue using the most appropriate [issue template](https://github.com/github/docs/issues/new/choose) to describe the changes you'd like to see.
|
||||
For more complex contributions, please [open an issue in the docs-content repo](https://github.com/github/docs-content/issues/new/choose) describing the changes you'd like to see.
|
||||
|
||||
If you're looking for a way to contribute, you can scan through our [help wanted board](https://github.com/github/docs/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) to find open issues already approved for work.
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 85 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 148 KiB |
@@ -65,6 +65,13 @@ To see repositories that you're watching, go to your [watching page](https://git
|
||||
|
||||
You can configure notifications for a repository on the repository page, or on your watching page.
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
> [!NOTE]
|
||||
> You can watch a maximum of 10,000 repositories.
|
||||
|
||||
{% endif %}
|
||||
|
||||
### About custom notifications
|
||||
|
||||
You can customize notifications for a repository. For example, you can choose to only be notified when updates to one or more types of events ({% data reusables.notifications-v2.custom-notification-types %}) happen within a repository, or ignore all notifications for a repository. For more information, see [Configuring your watch settings for an individual repository](#configuring-your-watch-settings-for-an-individual-repository) below.
|
||||
|
||||
@@ -55,7 +55,7 @@ Hiring managers usually consider many applicants for each role. Expect that they
|
||||
|
||||
### Write a helpful README
|
||||
|
||||
The README for your project's repository is a perfect space to give a concise project overview. Use [{% data variables.product.prodname_copilot_chat_short %}](https://github.com/copilot) to help write your README, with a prompt like this:
|
||||
The README for your project's repository is a perfect space to give a concise project overview. Use [{% data variables.copilot.copilot_chat_short %}](https://github.com/copilot) to help write your README, with a prompt like this:
|
||||
|
||||
>Write a README for my lottery-number-generator repository.
|
||||
|
||||
|
||||
@@ -37,8 +37,8 @@ shortTitle: Merge multiple accounts
|
||||
|
||||
1. [Transfer any repositories](/repositories/creating-and-managing-repositories/transferring-a-repository) from the account you want to delete to the account you want to keep. Issues, pull requests, and wikis are transferred as well. Verify the repositories exist on the account you want to keep.
|
||||
1. [Update the remote URLs](/get-started/git-basics/managing-remote-repositories) in any local clones of the repositories that were moved.
|
||||
1. To attribute past commits to the new account, add the email address you used to author the commits to the account you're keeping. For more information, see [AUTOTITLE](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile#your-local-git-commit-email-isnt-connected-to-your-account)
|
||||
1. [Delete the account](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account) you no longer want to use.
|
||||
1. To attribute past commits to the new account, add the email address you used to author the commits to the account you're keeping. For more information, see [AUTOTITLE](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile#your-local-git-commit-email-isnt-connected-to-your-account)
|
||||
|
||||
## Further reading
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.actions-runner-controller-about-arc %}
|
||||
|
||||
The following diagram illustrates the architecture of ARC's autoscaling runner scaleset mode.
|
||||
The following diagram illustrates the architecture of ARC's autoscaling runner scale set mode.
|
||||
|
||||
> [!NOTE]
|
||||
> To view the following diagram in a larger size, see the [Autoscaling Runner Scale Sets mode](https://github.com/actions/actions-runner-controller/blob/master/docs/gha-runner-scale-set-controller/README.md#how-it-works) documentation in the Actions Runner Controller repository.
|
||||
@@ -30,7 +30,7 @@ The following diagram illustrates the architecture of ARC's autoscaling runner s
|
||||
1. {% data variables.product.prodname_actions_runner_controller %} is installed using the supplied Helm charts, and the controller manager pod is deployed in the specified namespace. A new AutoScalingRunnerSet resource is deployed via the supplied Helm charts or a customized manifest file. The AutoScalingRunnerSet Controller calls GitHub's APIs to fetch the runner group ID that the runner scale set will belong to.
|
||||
1. The AutoScalingRunnerSet Controller calls the APIs one more time to either fetch or create a runner scale set in the {% data variables.product.prodname_actions %} service before creating the Runner ScaleSet Listener resource.
|
||||
1. A Runner ScaleSet Listener pod is deployed by the AutoScalingListener Controller. In this pod, the listener application connects to the {% data variables.product.prodname_actions %} Service to authenticate and establish an HTTPS long poll connection. The listener stays idle until it receives a `Job Available` message from the {% data variables.product.prodname_actions %} Service.
|
||||
1. When a workflow run is triggered from a repository, the {% data variables.product.prodname_actions %} Service dispatches individual job runs to the runners or runner scalesets where the `runs-on` key matches the name of the runner scaleset or labels of self-hosted runners.
|
||||
1. When a workflow run is triggered from a repository, the {% data variables.product.prodname_actions %} Service dispatches individual job runs to the runners or runner scale sets where the `runs-on` key matches the name of the runner scale set or labels of self-hosted runners.
|
||||
1. When the Runner ScaleSet Listener receives the `Job Available` message, it checks whether it can scale up to the desired count. If it can, the Runner ScaleSet Listener acknowledges the message.
|
||||
1. The Runner ScaleSet Listener uses a Service Account and a Role bound to that account to make an HTTPS call through the Kubernetes APIs to patch the Ephemeral RunnerSet resource with the number of desired replicas count.
|
||||
1. The Ephemeral RunnerSet attempts to create new runners and the EphemeralRunner Controller requests a Just-in-Time (JIT) configuration token to register these runners. The controller attempts to create runner pods. If the pod's status is `failed`, the controller retries up to 5 times. After 24 hours the {% data variables.product.prodname_actions %} Service unassigns the job if no runner accepts it.
|
||||
|
||||
@@ -490,7 +490,7 @@ No output is expected for `run_script_step`.
|
||||
npm install && npm run bootstrap && npm run build-all
|
||||
```
|
||||
|
||||
When the resulting `index.js` is triggered by {% data variables.product.prodname_actions %}, it will run the customization commands defined in the JSON files. To trigger the `index.js`, you will need to add it your `ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER` environment variable, as described in the next section.
|
||||
When the resulting `index.js` is triggered by {% data variables.product.prodname_actions %}, it will run the customization commands defined in the JSON files. To trigger the `index.js`, you will need to add it to your `ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER` environment variable, as described in the next section.
|
||||
|
||||
## Triggering the customization script
|
||||
|
||||
|
||||
@@ -16,4 +16,4 @@ To open a chat about a failed workflow run, you can either:
|
||||
|
||||
This opens a chat window with {% data variables.product.prodname_copilot %}, where it will provide instructions to resolve the issue.
|
||||
|
||||
>[!NOTE] If you are on a {% data variables.product.prodname_copilot_free %} subscription, this will count towards your monthly chat message limit.
|
||||
>[!NOTE] If you are on a {% data variables.copilot.copilot_free %} subscription, this will count towards your monthly chat message limit.
|
||||
|
||||
@@ -348,7 +348,7 @@ You should also consider the environment of the self-hosted runner machines:
|
||||
* What sensitive information resides on the machine configured as a self-hosted runner? For example, private SSH keys, API access tokens, among others.
|
||||
* Does the machine have network access to sensitive services? For example, Azure or AWS metadata services. The amount of sensitive information in this environment should be kept to a minimum, and you should always be mindful that any user capable of invoking workflows has access to this environment.
|
||||
|
||||
Some customers might attempt to partially mitigate these risks by implementing systems that automatically destroy the self-hosted runner after each job execution. However, this approach might not be as effective as intended, as there is no way to guarantee that a self-hosted runner only runs one job. Some jobs will use secrets as command-line arguments which can be seen by another job running on the same runner, such as `ps x -w`. This can lead to secret leakages.
|
||||
Some customers might attempt to partially mitigate these risks by implementing systems that automatically destroy the self-hosted runner after each job execution. However, this approach might not be as effective as intended, as there is no way to guarantee that a self-hosted runner only runs one job. Some jobs will use secrets as command-line arguments which can be seen by another job running on the same runner, such as `ps x -w`. This can lead to secret leaks.
|
||||
|
||||
### Using just-in-time runners
|
||||
|
||||
@@ -379,7 +379,7 @@ A self-hosted runner can be added to various levels in your {% data variables.pr
|
||||
|
||||
### Authenticating to your cloud provider
|
||||
|
||||
If you are using {% data variables.product.prodname_actions %} to deploy to a cloud provider, or intend to use HashiCorp Vault for secret management, then its recommended that you consider using OpenID Connect to create short-lived, well-scoped access tokens for your workflow runs. For more information, see [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect).
|
||||
If you are using {% data variables.product.prodname_actions %} to deploy to a cloud provider, or intend to use HashiCorp Vault for secret management, then it's recommended that you consider using OpenID Connect to create short-lived, well-scoped access tokens for your workflow runs. For more information, see [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect).
|
||||
|
||||
## Auditing {% data variables.product.prodname_actions %} events
|
||||
|
||||
|
||||
@@ -35,12 +35,7 @@ For an example {% data variables.product.prodname_actions %} workflow using the
|
||||
|
||||
For example, you can set `iss` to `https://token.actions.githubusercontent.com`, and the `repository` to something like "octo-org/octo-repo"`. This will ensure only Actions workflows from the specified repository will have access to your JFrog platform. The following is an example Claims JSON when configuring identity mappings.
|
||||
|
||||
```json copy
|
||||
{
|
||||
"iss": "https://token.actions.githubusercontent.com",
|
||||
"repository": "octo-org/octo-repo"
|
||||
}
|
||||
```
|
||||
{% data reusables.actions.jfrog-json-configuring-identity-mappings %}
|
||||
|
||||
## Adding the identity provider to JFrog
|
||||
|
||||
|
||||
@@ -342,6 +342,8 @@ on:
|
||||
jobs:
|
||||
cleanup:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: write
|
||||
steps:
|
||||
- name: Cleanup
|
||||
run: |
|
||||
|
||||
@@ -109,21 +109,7 @@ env:
|
||||
* {% data variables.product.prodname_dotcom %} ignores case when comparing strings.
|
||||
* Objects and arrays are only considered equal when they are the same instance.
|
||||
|
||||
{% data variables.product.prodname_dotcom %} offers ternary operator like behaviour that you can use in expressions. By using a ternary operator in this way, you can dynamically set the value of an environment variable based on a condition, without having to write separate if-else blocks for each possible option.
|
||||
|
||||
### Example
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
env:
|
||||
MY_ENV_VAR: ${{ github.ref == 'refs/heads/main' && 'value_for_main_branch' || 'value_for_other_branches' }}
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
In this example, we're using a ternary operator to set the value of the `MY_ENV_VAR` environment variable based on whether the {% data variables.product.prodname_dotcom %} reference is set to `refs/heads/main` or not. If it is, the variable is set to `value_for_main_branch`. Otherwise, it is set to `value_for_other_branches`.
|
||||
It is important to note that the first value after the `&&` must be truthy. Otherwise, the value after the `||` will always be returned.
|
||||
{% data variables.product.prodname_dotcom %} provides a way to create conditional logic in expressions using binary logical operators (`&&` and `||`). This pattern can be used to achieve similar functionality to the ternary operator (`?:`) found in many programming languages, while actually using only binary operators.
|
||||
|
||||
## Functions
|
||||
|
||||
|
||||
@@ -388,7 +388,7 @@ on:
|
||||
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`page_build`](/webhooks-and-events/webhooks/webhook-events-and-payloads#page_build) | Not applicable | Last commit on default branch | Not applicable |
|
||||
| [`page_build`](/webhooks-and-events/webhooks/webhook-events-and-payloads#page_build) | Not applicable | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.actions.branch-requirement %}
|
||||
|
||||
@@ -1070,7 +1070,7 @@ Notifications for scheduled workflows are sent to the user who last modified the
|
||||
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`status`](/webhooks-and-events/webhooks/webhook-events-and-payloads#status) | Not applicable | Last commit on default branch | Not applicable |
|
||||
| [`status`](/webhooks-and-events/webhooks/webhook-events-and-payloads#status) | Not applicable | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.actions.branch-requirement %}
|
||||
|
||||
|
||||
@@ -23,6 +23,18 @@ If you enable web commit signing, {% data variables.product.prodname_ghe_server
|
||||
|
||||
You can enable web commit signing, rotate the private key used for web commit signing, and disable web commit signing.
|
||||
|
||||
{% ifversion ghes > 3.16 %}
|
||||
|
||||
### About persistent commit signature verification
|
||||
|
||||
Persistent commit signature verification is related but separate from web commit signing. This feature ensures that the verified status of commits is retained, even if signing keys are changed or revoked.
|
||||
|
||||
Persistent commit signature verification helps maintain long-term integrity and trust in your repository’s commit history. However, you may choose to disable it in environments where minimizing disk usage is a priority, especially for large installations with a high number of verified commits.
|
||||
|
||||
For information about disabling persistent commit signature verification, see [AUTOTITLE](/admin/configuring-settings/configuring-user-applications-for-your-enterprise/disabling-persistent-commit-verification).
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Enabling web commit signing
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.create-pgp-key-web-commit-signing %}
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
---
|
||||
title: Disabling persistent commit verification
|
||||
shortTitle: Disable persistent commit verification
|
||||
intro: 'You can disable persistent commit verification on {% data variables.product.prodname_ghe_server %} to reduce disk usage.'
|
||||
versions:
|
||||
ghes: '>=3.17'
|
||||
type: how_to
|
||||
topics:
|
||||
- Access management
|
||||
- Enterprise
|
||||
- Fundamentals
|
||||
- Identity
|
||||
- Security
|
||||
permissions: 'Site administrators'
|
||||
---
|
||||
|
||||
## About persistent commit verification
|
||||
|
||||
When persistent commit verification is enabled, {% data variables.product.prodname_ghe_server %} stores a verification record alongside each commit when its signature is verified. This record ensures that verified commits maintain their verification status even if signing keys are later rotated, expired, or revoked. For more information about persistent commit verification, see [AUTOTITLE](/authentication/managing-commit-signature-verification/about-commit-signature-verification#persistent-commit-signature-verification).
|
||||
|
||||
By default, persistent commit verification is enabled on {% data variables.product.prodname_ghe_server %} 3.17 and later.
|
||||
|
||||
Each verified commit requires approximately 80 bytes of storage. For large installations with a large number of verified commits (e.g., hundreds of thousands or more), you may want to disable this feature to limit data growth.
|
||||
|
||||
## Disabling persistent commit verification
|
||||
|
||||
You can disable persistent commit verification for {% data variables.location.product_location %}.
|
||||
|
||||
1. In the administrative shell, run the following command.
|
||||
|
||||
```bash copy
|
||||
ghe-config app.persist-commit-signature-verification.enabled false
|
||||
```
|
||||
|
||||
1. Apply the configuration.
|
||||
|
||||
```bash copy
|
||||
ghe-config-apply
|
||||
```
|
||||
|
||||
## Enabling persistent commit verification
|
||||
|
||||
If you previously disabled persistent commit verification, you can re-enable it.
|
||||
|
||||
1. In the administrative shell, run the following command.
|
||||
|
||||
```bash copy
|
||||
ghe-config app.persist-commit-signature-verification.enabled true
|
||||
```
|
||||
|
||||
1. Apply the configuration.
|
||||
|
||||
```bash copy
|
||||
ghe-config-apply
|
||||
```
|
||||
@@ -16,6 +16,7 @@ children:
|
||||
- /configuring-interactive-maps
|
||||
- /managing-github-mobile-for-your-enterprise
|
||||
- /verifying-or-approving-a-domain-for-your-enterprise
|
||||
- /disabling-persistent-commit-verification
|
||||
redirect_from:
|
||||
- /admin/configuration/configuring-user-applications-for-your-enterprise
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: About enterprise accounts for Copilot Business
|
||||
intro: 'Learn about the options for creating an enterprise account to manage {% data variables.product.prodname_copilot_business_short %} licenses, without adopting {% data variables.product.prodname_enterprise %}.'
|
||||
intro: 'Learn about the options for creating an enterprise account to manage {% data variables.copilot.copilot_business_short %} licenses, without adopting {% data variables.product.prodname_enterprise %}.'
|
||||
versions:
|
||||
ghec: '*'
|
||||
topics:
|
||||
@@ -12,15 +12,15 @@ redirect_from:
|
||||
- /early-access/copilot/managing-copilot-business-licenses-with-an-enterprise-account
|
||||
---
|
||||
|
||||
You can use an enterprise account to manage licenses for {% data variables.product.prodname_copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
You can use an enterprise account to manage licenses for {% data variables.copilot.copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
|
||||
>[!NOTE] Access to this feature is currently managed by {% data variables.contact.contact_enterprise_sales %}.
|
||||
|
||||
## What is an enterprise account for {% data variables.product.prodname_copilot_business_short %}?
|
||||
## What is an enterprise account for {% data variables.copilot.copilot_business_short %}?
|
||||
|
||||
To use {% data variables.product.prodname_copilot %}, a user must authenticate to an account on {% data variables.product.prodname_dotcom %} that has a license for {% data variables.product.prodname_copilot_short %}. Organizations and enterprises on {% data variables.product.prodname_dotcom %} can manage members' access to {% data variables.product.prodname_copilot_short %} through a {% data variables.product.prodname_copilot_business_short %} subscription.
|
||||
To use {% data variables.product.prodname_copilot %}, a user must authenticate to an account on {% data variables.product.prodname_dotcom %} that has a license for {% data variables.product.prodname_copilot_short %}. Organizations and enterprises on {% data variables.product.prodname_dotcom %} can manage members' access to {% data variables.product.prodname_copilot_short %} through a {% data variables.copilot.copilot_business_short %} subscription.
|
||||
|
||||
If you don't already manage users through an organization or enterprise, you can create an enterprise account specifically for allocating {% data variables.product.prodname_copilot_business_short %} licenses.
|
||||
If you don't already manage users through an organization or enterprise, you can create an enterprise account specifically for allocating {% data variables.copilot.copilot_business_short %} licenses.
|
||||
|
||||
* You'll only pay for the {% data variables.product.prodname_copilot_short %} licenses you assign. For pricing, see [AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-business).
|
||||
* You won't pay for {% data variables.product.prodname_enterprise %} seats.
|
||||
@@ -37,7 +37,7 @@ How you will add users to your enterprise and manage license assignment depends
|
||||
If you request an enterprise with personal accounts:
|
||||
|
||||
* You'll **add users** to the enterprise by sending an invitation to their personal {% data variables.product.prodname_dotcom %} account.
|
||||
* You'll **create teams** in the enterprise to manage which users receive {% data variables.product.prodname_copilot_business_short %} licenses. You can manage membership of the teams on {% data variables.product.prodname_dotcom %} or with the REST API.
|
||||
* You'll **create teams** in the enterprise to manage which users receive {% data variables.copilot.copilot_business_short %} licenses. You can manage membership of the teams on {% data variables.product.prodname_dotcom %} or with the REST API.
|
||||
* When users receive a license, they can authenticate to {% data variables.product.prodname_dotcom %} from their development environment and **gain access** to {% data variables.product.prodname_copilot_short %}.
|
||||
* Optionally, you can configure **SAML single sign-on** (SSO), so that users must authenticate to an external identity system in addition to their personal account.
|
||||
|
||||
@@ -46,7 +46,7 @@ If you request an enterprise with personal accounts:
|
||||
If you request an {% data variables.enterprise.prodname_emu_enterprise %}:
|
||||
|
||||
* You'll **add users** to the enterprise by provisioning {% data variables.enterprise.prodname_managed_users %} from an identity provider (IdP), using SCIM.
|
||||
* You'll **create teams** in the enterprise to manage which users receive {% data variables.product.prodname_copilot_business_short %} licenses. You can manage membership of the teams from your IdP, on {% data variables.product.prodname_dotcom %}, or with the REST API.
|
||||
* You'll **create teams** in the enterprise to manage which users receive {% data variables.copilot.copilot_business_short %} licenses. You can manage membership of the teams from your IdP, on {% data variables.product.prodname_dotcom %}, or with the REST API.
|
||||
* When users receive a license, they can use single sign-on to authenticate to their {% data variables.product.prodname_dotcom %} account from their development environment and **gain access** to {% data variables.product.prodname_copilot_short %}.
|
||||
|
||||
## Limitations
|
||||
@@ -60,7 +60,7 @@ If you request an {% data variables.enterprise.prodname_emu_enterprise %}:
|
||||
|
||||
## Getting started
|
||||
|
||||
To get started, you will work with {% data variables.contact.contact_enterprise_sales %} to create an enterprise account, then add users to your enterprise and assign {% data variables.product.prodname_copilot_business_short %} licenses.
|
||||
To get started, you will work with {% data variables.contact.contact_enterprise_sales %} to create an enterprise account, then add users to your enterprise and assign {% data variables.copilot.copilot_business_short %} licenses.
|
||||
|
||||
See the setup guide for your chosen type of enterprise.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Using a dedicated enterprise account for Copilot Business
|
||||
intro: Get started with an enterprise account for managing {% data variables.product.prodname_copilot_business_short %} licenses.
|
||||
intro: Get started with an enterprise account for managing {% data variables.copilot.copilot_business_short %} licenses.
|
||||
versions:
|
||||
ghec: '*'
|
||||
children:
|
||||
|
||||
@@ -14,7 +14,7 @@ redirect_from:
|
||||
|
||||
---
|
||||
|
||||
You can use an enterprise account to manage licenses for {% data variables.product.prodname_copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
You can use an enterprise account to manage licenses for {% data variables.copilot.copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
|
||||
This article describes the setup for an **enterprise with managed users**. If you haven't chosen an enterprise type, see [AUTOTITLE](/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business).
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ redirect_from:
|
||||
- /early-access/copilot/using-copilot-business-without-github-enterprise-personal-accounts
|
||||
---
|
||||
|
||||
You can use an enterprise account to manage licenses for {% data variables.product.prodname_copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
You can use an enterprise account to manage licenses for {% data variables.copilot.copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
|
||||
This article describes the setup for an **enterprise with personal accounts**. If you haven't chosen an enterprise type, see [AUTOTITLE](/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business).
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ Rate limits apply for requests to the REST API. See [AUTOTITLE](/rest/overview/r
|
||||
|
||||
### {% data variables.product.prodname_copilot %}
|
||||
|
||||
Your developers can access {% data variables.product.prodname_copilot %} if you grant them access to a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription. {% data variables.enterprise.prodname_managed_users_caps %} cannot sign up for {% data variables.product.prodname_copilot_individuals_short %}.
|
||||
Your developers can access {% data variables.product.prodname_copilot %} if you grant them access to a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} subscription. {% data variables.enterprise.prodname_managed_users_caps %} cannot sign up for {% data variables.copilot.copilot_individuals_short %}.
|
||||
|
||||
* Users must perform some additional setup to authenticate to their account from their development environment. See [AUTOTITLE](/copilot/managing-copilot/configure-personal-settings/using-github-copilot-with-an-account-on-ghecom).
|
||||
* Certain {% data variables.product.prodname_copilot %} features are currently unavailable on {% data variables.enterprise.data_residency_site %}. See [AUTOTITLE](/admin/data-residency/feature-overview-for-github-enterprise-cloud-with-data-residency#currently-unavailable-features).
|
||||
|
||||
@@ -26,8 +26,9 @@ The following features are currently unavailable on {% data variables.enterprise
|
||||
| Maven and Gradle support for {% data variables.product.prodname_registry %} | Currently unavailable. | [AUTOTITLE](/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry) |
|
||||
| {% data variables.product.prodname_importer %} (the "Import repository" button on {% data variables.product.prodname_dotcom_the_website %}) | Instead, the **{% data variables.product.prodname_importer_proper_name %}** is available to migrate data. See [AUTOTITLE](/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer). | [AUTOTITLE](/migrations/importing-source-code/using-github-importer/about-github-importer) |
|
||||
| {% data variables.product.prodname_copilot %} Workspaces | Currently unavailable | N/A |
|
||||
| {% data variables.product.prodname_copilot_extensions %} | Currently unavailable | [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat) |
|
||||
| {% data variables.copilot.copilot_extensions %} | Currently unavailable | [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat) |
|
||||
| {% data variables.product.prodname_copilot_short %} Metrics API | Currently unavailable | [AUTOTITLE](/rest/copilot/copilot-metrics) |
|
||||
| {% data variables.copilot.copilot_coding_agent %} | Currently unavailable | [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot) |
|
||||
| Restricting {% data variables.product.prodname_actions %} policies to verified creators | Currently unavailable | [AUTOTITLE](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#allow-enterprise-and-select-non-enterprise-actions-and-reusable-workflows) |
|
||||
| Some features currently in {% data variables.release-phases.public_preview %} or {% data variables.release-phases.private_preview %} | Certain features that are in a preview phase on {% data variables.product.prodname_dotcom_the_website %} may not be available on {% data variables.enterprise.data_residency_site %} | |
|
||||
|
||||
@@ -81,6 +82,7 @@ To allow people to use namespaces that match actions you have used from {% data
|
||||
You can use {% data variables.product.prodname_github_connect %} to connect to {% data variables.enterprise.data_residency_site %} from {% data variables.product.prodname_ghe_server %}.
|
||||
|
||||
* {% data variables.product.prodname_server_statistics %} is not available.
|
||||
* {% data variables.product.prodname_dotcom_the_website %} actions are not available.
|
||||
* Automatic user license sync requires {% data variables.product.prodname_ghe_server %} version 3.15 or later.
|
||||
|
||||
To enable {% data variables.product.prodname_github_connect %}, you must configure your {% data variables.product.prodname_ghe_server %} instance to connect to your {% data variables.enterprise.data_residency_site %} subdomain. See [AUTOTITLE](/enterprise-server@latest/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-ghecom).
|
||||
|
||||
@@ -130,8 +130,6 @@ You must allow:
|
||||
|
||||
### Required in Australia
|
||||
|
||||
* 20.213.236.72/29
|
||||
* 20.53.178.216/29
|
||||
* 20.213.241.72/29
|
||||
* 20.11.90.48/29
|
||||
* 20.5.34.240/28
|
||||
|
||||
@@ -128,13 +128,13 @@ Across all of your enterprise's organizations, you can allow or disallow people
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
## Enforcing a policy to manage the use of {% data variables.product.prodname_copilot_autofix_short %} in your enterprise's repositories
|
||||
## Enforcing a policy to manage the use of {% data variables.copilot.copilot_autofix_short %} in your enterprise's repositories
|
||||
|
||||
Across all of your enterprise's organizations, you can allow or disallow people with admin access to repositories to manage where {% data variables.product.prodname_copilot_autofix_short %} is enabled. {% data variables.product.prodname_GH_code_security %} must be enabled for the organization for this policy to take effect.
|
||||
Across all of your enterprise's organizations, you can allow or disallow people with admin access to repositories to manage where {% data variables.copilot.copilot_autofix_short %} is enabled. {% data variables.product.prodname_GH_code_security %} must be enabled for the organization for this policy to take effect.
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.code-security-and-analysis-policies %}
|
||||
1. In the "Policies" section, under "{% data variables.product.prodname_copilot_autofix_short %}", select the dropdown menu and click a policy.
|
||||
1. In the "Policies" section, under "{% data variables.copilot.copilot_autofix_short %}", select the dropdown menu and click a policy.
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Managing requests for Copilot Business from organizations in your enterprise
|
||||
intro: Learn how to view and satisfy requests to access Copilot from organizations owned by your enterprise.
|
||||
permissions: Enterprise owners
|
||||
product: Enterprise accounts with a subscription to {% data variables.product.prodname_copilot_for_business %}.
|
||||
product: Enterprise accounts with a subscription to {% data variables.copilot.copilot_for_business %}.
|
||||
versions:
|
||||
ghec: '*'
|
||||
type: how_to
|
||||
@@ -13,13 +13,13 @@ topics:
|
||||
shortTitle: Manage requests for Copilot
|
||||
---
|
||||
|
||||
Organization owners might not have the necessary permissions to satisfy requests from members. For example, if an organization owner is not an enterprise owner, and {% data variables.product.prodname_copilot_for_business %} is not enabled for that organization, they will not have the permissions to approve requests for {% data variables.product.prodname_copilot_for_business %}.
|
||||
Organization owners might not have the necessary permissions to satisfy requests from members. For example, if an organization owner is not an enterprise owner, and {% data variables.copilot.copilot_for_business %} is not enabled for that organization, they will not have the permissions to approve requests for {% data variables.copilot.copilot_for_business %}.
|
||||
|
||||
In these cases, when an organization member requests access to {% data variables.product.prodname_copilot_for_business %}, the organization owner will be prompted to ask the enterprise owners to enable {% data variables.product.prodname_copilot_short %} for the organization.
|
||||
In these cases, when an organization member requests access to {% data variables.copilot.copilot_for_business %}, the organization owner will be prompted to ask the enterprise owners to enable {% data variables.product.prodname_copilot_short %} for the organization.
|
||||
|
||||
As an enterprise owner, you can view or dismiss these requests from your notifications page. You can approve the request by enabling {% data variables.product.prodname_copilot_short %} for the organization.
|
||||
|
||||
## Approving requests for {% data variables.product.prodname_copilot_for_business %}
|
||||
## Approving requests for {% data variables.copilot.copilot_for_business %}
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
|
||||
@@ -120,7 +120,16 @@ Before starting this section, ensure you have followed steps **1 to 4** in [AUTO
|
||||
1. Click **Configure API integration**.
|
||||
1. In the "API Token" field, enter the {% data variables.product.pat_v1 %} belonging to the setup user.
|
||||
|
||||
{% data reusables.scim.import-groups-unsupported %}
|
||||
{% data reusables.scim.import-groups-unsupported %}
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
> [!IMPORTANT]
|
||||
> For an enterprise on {% data variables.enterprise.data_residency %} (GHE.com), please enter the following URL in the **Base URL** field: {% raw %}`https://api.{subdomain}.ghe.com/scim/v2/enterprises/{subdomain}`{% endraw %} (ensuring to replace {% raw %}`{subdomain}`{% endraw %} with your enterprise's subdomain).
|
||||
>
|
||||
> **For example**: if your enterprise's subdomain is {% raw %}`acme`{% endraw %}, the base URL would be {% raw %}`https://api.acme.ghe.com/scim/v2/enterprises/acme`{% endraw %}.
|
||||
|
||||
{% endif %}
|
||||
|
||||
1. Click **Test API Credentials**. If the test is successful, a verification message will appear at the top of the screen.
|
||||
1. To save the token, click **Save**.
|
||||
|
||||
@@ -50,7 +50,7 @@ With {% data variables.product.prodname_emus %}, you can control the user accoun
|
||||
|
||||
## {% data variables.product.prodname_copilot %}
|
||||
|
||||
* {% data variables.enterprise.prodname_managed_users_caps %} cannot sign up for {% data variables.product.prodname_copilot_pro %} or {% data variables.product.prodname_copilot_free %}. To allow a managed user to use {% data variables.product.prodname_copilot_short %}, you must grant the user access to a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription. See [AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot#getting-access-to-copilot).
|
||||
* {% data variables.enterprise.prodname_managed_users_caps %} cannot sign up for {% data variables.copilot.copilot_pro %} or {% data variables.copilot.copilot_free %}. To allow a managed user to use {% data variables.product.prodname_copilot_short %}, you must grant the user access to a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} subscription. See [AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot#getting-access-to-copilot).
|
||||
|
||||
## {% data variables.product.prodname_pages %}
|
||||
|
||||
|
||||
@@ -39,7 +39,10 @@ Using an **incognito or private browsing window**:
|
||||
1. Enable two-factor authentication (2FA), and save the recovery codes. See [AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication).
|
||||
|
||||
> [!WARNING]
|
||||
> All subsequent login attempts for the setup user account will require a successful 2FA challenge response or the use of an enterprise recovery code to complete authentication. To avoid being locked out of your account, after enabling single sign-on, save your enterprise recovery codes. See [AUTOTITLE](/admin/managing-iam/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes#downloading-codes-for-an-enterprise-with-enterprise-managed-users).
|
||||
> All subsequent login attempts for the setup user account will require a successful 2FA challenge response.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> If the enterprise account has enabled single sign-on and the setup user hasn’t enabled 2FA, they must use an enterprise recovery code to authenticate. To avoid being locked out of your account, after enabling single sign-on, save your enterprise recovery codes. For more information, see [AUTOTITLE](/admin/managing-iam/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes#downloading-codes-for-an-enterprise-with-enterprise-managed-users) and the related [changelog in our {% data variables.product.prodname_blog %}](https://github.blog/changelog/2025-01-17-setup-user-for-emu-enterprises-requires-2fa-or-use-of-a-recovery-code/).
|
||||
|
||||
{% data reusables.enterprise-accounts.emu-password-reset-session %}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ Administrators for the enterprise account can:
|
||||
* Configure security, such as single sign-on, IP allow lists, SSH certificate authorities, and two-factor authentication
|
||||
* Stream audit and Git events data
|
||||
* Use internal repositories
|
||||
* Access features like {% data variables.product.prodname_copilot_enterprise %} and {% data variables.product.prodname_AS %}{% ifversion ghas-products %} products{% endif %}
|
||||
* Access features like {% data variables.copilot.copilot_enterprise %} and {% data variables.product.prodname_AS %}{% ifversion ghas-products %} products{% endif %}
|
||||
* Enforce policies. See [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies).
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
@@ -38,7 +38,7 @@ You'll **need help** creating an enterprise account if you require:
|
||||
* {% data variables.product.prodname_ghe_server %}
|
||||
* {% data variables.enterprise.data_residency %}
|
||||
* Invoicing
|
||||
* A dedicated enterprise for managing {% data variables.product.prodname_copilot_for_business %} licenses without adopting {% data variables.product.prodname_enterprise %}
|
||||
* A dedicated enterprise for managing {% data variables.copilot.copilot_for_business %} licenses without adopting {% data variables.product.prodname_enterprise %}
|
||||
|
||||
In these cases, contact {% data variables.contact.contact_enterprise_sales %}.
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ curl -L -H "Content-Type: application/json" -X PUT -u "api_key:xxxxxxx" https://
|
||||
To verify that the Prometheus metrics exporter is enabled, use `curl` to query the `/metrics` endpoint on port 9103. For more information about the administrative ports, see [AUTOTITLE](/admin/configuring-settings/configuring-network-settings/network-ports#administrative-ports).
|
||||
|
||||
```shell
|
||||
curl localhost:9103/metrics
|
||||
curl 127.0.0.1:9103/metrics
|
||||
```
|
||||
|
||||
If successful, the response will include metrics with the `collectd_` prefix.
|
||||
|
||||
@@ -64,7 +64,7 @@ Your business can:
|
||||
* Additional features such as SAML authentication and internal repositories. For a detailed list, see {% data variables.product.pricing_link %}.
|
||||
* Extra allowances for usage-based products such as {% data variables.product.prodname_actions %}.
|
||||
* An enterprise account, which provides a single place to manage billing and settings, enforce policies, and audit the people with access to your enterprise.
|
||||
* The option to add {% ifversion ghas-products %}<!-- Enterprise is no longer a pre-requisite with the GHAS products release -->{% else %}{% data variables.product.prodname_GHAS %}, {% endif %}{% data variables.contact.premium_support %}, and {% data variables.product.prodname_copilot_enterprise %}.
|
||||
* The option to add {% ifversion ghas-products %}<!-- Enterprise is no longer a pre-requisite with the GHAS products release -->{% else %}{% data variables.product.prodname_GHAS %}, {% endif %}{% data variables.contact.premium_support %}, and {% data variables.copilot.copilot_enterprise %}.
|
||||
|
||||
When businesses adopt {% data variables.product.prodname_enterprise %}, their return on investment (ROI) is high. For example, their developers **save 45 minutes per day**, and onboarding and **training time is reduced by 40%**. See [The Total Economic Impact of {% data variables.product.prodname_enterprise %}](https://resources.github.com/forrester/).
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ To set up a trial, you must be signed in to a personal account. If you don't hav
|
||||
The trial lasts for **{% data reusables.enterprise.ghec-trial-length %} days** and includes the following features.
|
||||
|
||||
* Access to **most** {% data variables.product.prodname_ghe_cloud %} features.
|
||||
* {% data variables.product.prodname_copilot_for_business %} ({% data variables.product.prodname_dotcom_the_website %} trials only)
|
||||
* {% data variables.copilot.copilot_for_business %} ({% data variables.product.prodname_dotcom_the_website %} trials only)
|
||||
* {% data variables.product.prodname_GH_cs_and_sp %} ({% data variables.product.prodname_dotcom_the_website %} trials only)
|
||||
* Access to the **new billing platform**.{% ifversion enhanced-billing-platform %} See [AUTOTITLE](/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises).{% endif %}
|
||||
* An **enterprise account**, which allows you to manage multiple organizations. See [AUTOTITLE](/enterprise-cloud@latest/get-started/learning-about-github/types-of-github-accounts).
|
||||
@@ -40,7 +40,7 @@ Your trial **won't** include access to {% data variables.product.prodname_ghe_se
|
||||
## Features not included in the trial
|
||||
|
||||
* {% data variables.product.prodname_github_codespaces %}
|
||||
* {% data variables.product.prodname_copilot_enterprise %}
|
||||
* {% data variables.copilot.copilot_enterprise %}
|
||||
* {% data variables.product.prodname_sponsors %}
|
||||
* Paid {% data variables.product.prodname_marketplace %} apps
|
||||
* {% data variables.product.prodname_github_connect %}
|
||||
@@ -51,7 +51,7 @@ If you invite an existing organization into your trial enterprise, **all of thes
|
||||
|
||||
## Do I need to provide a payment method?
|
||||
|
||||
You do not need to provide a payment method to start a trial. If you want to use {% data variables.product.prodname_copilot_business_short %} during the trial, you need to provide a credit card. You **won't** be charged for using {% data variables.product.prodname_copilot_business_short %} during the trial.
|
||||
You do not need to provide a payment method to start a trial. If you want to use {% data variables.copilot.copilot_business_short %} during the trial, you need to provide a credit card. You **won't** be charged for using {% data variables.copilot.copilot_business_short %} during the trial.
|
||||
|
||||
## During the trial
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ Check if you need to upgrade the following applications:
|
||||
> [!NOTE]
|
||||
> Hotpatches require a configuration run, which can cause a brief period of errors or unresponsiveness for some or all services on {% data variables.location.product_location %}. You are not required to enable maintenance mode during installation of a hotpatch, but doing so will guarantee that users see a maintenance page instead of errors or timeouts. See [AUTOTITLE](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode).
|
||||
* Patch releases using an upgrade package typically require less than five minutes of downtime.
|
||||
* Upgrading to a new feature release that include data migrations may cause a few hours of downtime, depending on storage performance and the amount of data that is migrated. During this time none of your users will be able to use the enterprise.
|
||||
* Upgrading to a new feature release that includes data migrations may cause a few hours of downtime, depending on storage performance and the amount of data that is migrated. During this time none of your users will be able to use the enterprise.{% ifversion ghes > 3.16 %} You may notice that upgrades to a new feature release take less time. This is because selective database transitions will now run concurrently, with the number of concurrent workers defaulting to the number of CPU cores, up to a maximum of 16.{% endif %}
|
||||
|
||||
## Communicating your upgrade
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ The private key for your {% data variables.product.prodname_github_app %} grants
|
||||
|
||||
Consider storing your {% data variables.product.prodname_github_app %}'s private key in a key vault, such as [Azure Key Vault](https://azure.microsoft.com/en-gb/products/key-vault), and making it sign-only.
|
||||
|
||||
Alternatively, you can store the key as an environment variable. However, this not as strong as storing the key in a key vault. If an attacker gains access to the environment, they can read the private key and gain persistent authentication as the {% data variables.product.prodname_github_app %}.
|
||||
Alternatively, you can store the key as an environment variable. However, this is not as strong as storing the key in a key vault. If an attacker gains access to the environment, they can read the private key and gain persistent authentication as the {% data variables.product.prodname_github_app %}.
|
||||
|
||||
You should never hard code your private key in your app, even if your code is stored in a private repository. If your app is a native client, client-side app, or runs on a user device (as opposed to running on your servers), you should never ship your private key with your app.
|
||||
|
||||
@@ -122,7 +122,7 @@ Only subscribe to the webhook events that your app needs. This will help reduce
|
||||
|
||||
## Use a webhook secret
|
||||
|
||||
You should set a webhook secret for your {% data variables.product.prodname_github_app %} and verify that the signature of incoming webhook events match the secret. This helps to ensure that the incoming webhook event is a valid {% data variables.product.company_short %} event.
|
||||
You should set a webhook secret for your {% data variables.product.prodname_github_app %} and verify that the signature of incoming webhook events matches the secret. This helps to ensure that the incoming webhook event is a valid {% data variables.product.company_short %} event.
|
||||
|
||||
For more information, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/using-webhooks-with-github-apps#securing-your-webhooks-with-a-webhook-secret). For an example, see [AUTOTITLE](/apps/creating-github-apps/guides/building-a-github-app-that-responds-to-webhook-events).
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ All listings should meet the following requirements, regardless of whether they
|
||||
* Listings must have a relevant description of the application.
|
||||
* Listings must specify a pricing plan.
|
||||
* Apps must provide value to customers and integrate with the platform in some way beyond authentication.
|
||||
* Apps must be publicly available in {% data variables.product.prodname_marketplace %} and cannot be in {% data variables.release-phases.public_preview %} or available by invite only, with the exception of {% data variables.product.prodname_copilot_extensions_short %}.
|
||||
* Apps must be publicly available in {% data variables.product.prodname_marketplace %} and cannot be in {% data variables.release-phases.public_preview %} or available by invite only, with the exception of {% data variables.copilot.copilot_extensions_short %}.
|
||||
* Apps must have webhook events set up to notify the publisher of any plan changes or cancellations using the {% data variables.product.prodname_marketplace %} API. For more information, see [AUTOTITLE](/apps/github-marketplace/using-the-github-marketplace-api-in-your-app).
|
||||
|
||||
For more information on providing a good customer experience, see [AUTOTITLE](/apps/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps).
|
||||
@@ -55,13 +55,13 @@ To protect your customers, we recommend that you also follow security best pract
|
||||
|
||||
{% data reusables.marketplace.free-apps-encouraged %}
|
||||
|
||||
## Requirements for {% data variables.product.prodname_copilot_extensions %}
|
||||
## Requirements for {% data variables.copilot.copilot_extensions %}
|
||||
|
||||
{% data variables.product.prodname_copilot_extensions_short %} are essentially {% data variables.product.prodname_github_apps %} with additional read access to {% data variables.product.prodname_copilot_chat_short %}, integration with the {% data variables.product.prodname_copilot_short %} API, and optional integration into other LLMs.
|
||||
{% data variables.copilot.copilot_extensions_short %} are essentially {% data variables.product.prodname_github_apps %} with additional read access to {% data variables.copilot.copilot_chat_short %}, integration with the {% data variables.product.prodname_copilot_short %} API, and optional integration into other LLMs.
|
||||
|
||||
To publish an extension, it must be owned by an organization account with Verified Creator status. For more information about the verification process or transferring ownership of your app, see [AUTOTITLE](/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization).
|
||||
|
||||
The requirements to publish a {% data variables.product.prodname_copilot_extension_short %} are the same as the requirements for free apps, with the following exceptions:
|
||||
The requirements to publish a {% data variables.copilot.copilot_extension_short %} are the same as the requirements for free apps, with the following exceptions:
|
||||
* Your extension must provide a clear and descriptive response to a prompt like "What can you do?" or "List your capabilities".
|
||||
* Your extension can be in {% data variables.release-phases.public_preview %} as long as that is clearly communicated in the listing description. If you are using a waitlist, you must also include a link to sign up at the top of the description. Someone from the {% data variables.product.github %} review team will join the waitlist and email your technical lead requesting access for testing.
|
||||
* You must include links to two videos that demonstrate the following:
|
||||
|
||||
@@ -44,11 +44,11 @@ If you're interested in creating an app for {% data variables.product.prodname_m
|
||||
|
||||
{% data reusables.marketplace.github_apps_preferred %}, although you can list both OAuth and {% data variables.product.prodname_github_apps %} in {% data variables.product.prodname_marketplace %}. For more information, see [AUTOTITLE](/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps) and [AUTOTITLE](/apps/creating-github-apps/about-creating-github-apps/migrating-oauth-apps-to-github-apps).
|
||||
|
||||
### {% data variables.product.prodname_copilot_extensions %}
|
||||
### {% data variables.copilot.copilot_extensions %}
|
||||
|
||||
{% data reusables.copilot.copilot-extensions.copilot-extensions-intro %}
|
||||
|
||||
To learn more about {% data variables.product.prodname_copilot_extensions_short %}, see [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions).
|
||||
To learn more about {% data variables.copilot.copilot_extensions_short %}, see [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions).
|
||||
|
||||
## Publishing an app to {% data variables.product.prodname_marketplace %} overview
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ The events listed in your security log are triggered by your actions. Actions ar
|
||||
| {% ifversion fpt or ghec %} |
|
||||
| `billing` | Contains all activities related to your billing information. |
|
||||
| `codespaces` | Contains all activities related to {% data variables.product.prodname_github_codespaces %}. For more information, see [AUTOTITLE](/codespaces/quickstart). |
|
||||
| `copilot` | Contains all activities related to {% data variables.product.prodname_copilot_business_short %}. For more information, see [AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot). |
|
||||
| `copilot` | Contains all activities related to {% data variables.copilot.copilot_business_short %}. For more information, see [AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot). |
|
||||
| `marketplace_agreement_signature` | Contains all activities related to signing the {% data variables.product.prodname_marketplace %} Developer Agreement. |
|
||||
| `marketplace_listing`| Contains all activities related to listing apps in {% data variables.product.prodname_marketplace %}. |
|
||||
| {% endif %} |
|
||||
|
||||
@@ -42,6 +42,10 @@ Signing commits differs from signing off on a commit. For more information about
|
||||
| **Unverified** | The commit is signed but the signature could not be verified.
|
||||
| No verification status | The commit is not signed.
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec or ghes > 3.16 %}
|
||||
|
||||
### Persistent commit signature verification
|
||||
|
||||
Regardless of the signature choice - GPG, SSH, or S/MIME - once a commit signature is verified, it remains verified within its repository's network. See [AUTOTITLE](/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories).
|
||||
@@ -52,6 +56,12 @@ The verification record includes a timestamp marking when the verification was c
|
||||
|
||||
Persistent commit signature verification applies to new commits pushed to {% data variables.product.github %}. For any commits that predate this feature, a persistent record will be created the next time the commit's signature is verified on {% data variables.product.github %}, helping ensure that verified statuses remain stable and reliable across the repository's history.
|
||||
|
||||
{% ifversion ghes %}
|
||||
|
||||
For information about disabling persistent commit signature verification, see [AUTOTITLE](/admin/configuring-settings/configuring-user-applications-for-your-enterprise/disabling-persistent-commit-verification).
|
||||
|
||||
{% endif %}
|
||||
|
||||
#### Records persist even after revocation and expiration
|
||||
|
||||
Persistent commit signature verification reflects the verified state of a commit at the time of verification. This means that if a signing key is later revoked, expired, or otherwise altered, previously verified commits retain their verified status based on the record created during the initial verification. {% data variables.product.github %} will not re-verify previously signed commits or retroactively adjust their verification status in response to changes in the key's state. Organizations may need to manage key states directly to align with their security policies, especially if frequent key rotation or revocation is planned.
|
||||
|
||||
@@ -20,8 +20,6 @@ topics:
|
||||
shortTitle: Downgrade Git LFS storage
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
When you downgrade your number of data packs, your change takes effect on your next billing date. For more information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage).
|
||||
|
||||
## Downgrading storage and bandwidth for a personal account
|
||||
|
||||
@@ -20,4 +20,3 @@ children:
|
||||
- /downgrading-git-large-file-storage
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
@@ -20,8 +20,6 @@ topics:
|
||||
shortTitle: Upgrade Git LFS storage
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
## Purchasing additional storage and bandwidth for a personal account
|
||||
|
||||
{% data reusables.user-settings.access_settings %}
|
||||
|
||||
@@ -19,8 +19,6 @@ topics:
|
||||
shortTitle: View Git LFS usage
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
{% data reusables.large_files.owner_quota_only %} {% data reusables.large_files.does_not_carry %}
|
||||
|
||||
## Viewing storage and bandwidth usage for a personal account
|
||||
|
||||
@@ -16,8 +16,6 @@ topics:
|
||||
shortTitle: Billing for GitHub Actions
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
## About billing for {% data variables.product.prodname_actions %}
|
||||
|
||||
{% data reusables.billing.authorization-charge %}
|
||||
@@ -33,7 +31,7 @@ Minutes reset every month, while storage usage does not.
|
||||
### Included storage and minutes
|
||||
|
||||
> [!NOTE]
|
||||
> * Included minutes cannot be used for larger runners. These runners will always be charged for, including in public repositories. For more information, see [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates).
|
||||
> * Included minutes cannot be used for larger runners. These runners will always be charged for, including in public repositories. For more information, see [Per-minute rates](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates).
|
||||
> * Logs and job summaries do not count towards storage usage.
|
||||
|
||||
|Plan | Storage | Minutes (per month)|
|
||||
@@ -44,13 +42,11 @@ Minutes reset every month, while storage usage does not.
|
||||
| {% data variables.product.prodname_team %} | 2 GB | 3,000 |
|
||||
| {% data variables.product.prodname_ghe_cloud %} | 50 GB | 50,000 |
|
||||
|
||||
The storage used by a repository is the total storage used by {% data variables.product.prodname_actions %} artifacts and {% data variables.product.prodname_registry %}. Your storage cost is the total usage for all repositories owned by your account. For more information about pricing for {% data variables.product.prodname_registry %}, see [AUTOTITLE](/billing/managing-billing-for-github-packages/about-billing-for-github-packages).
|
||||
|
||||
If your account's usage surpasses these limits and you have set a spending limit above $0 USD, you will pay $0.008 USD per GB of storage per day and per-minute usage depending on the operating system used by the {% data variables.product.prodname_dotcom %}-hosted runner. {% data variables.product.prodname_dotcom %} rounds the minutes and partial minutes each job uses up to the nearest whole minute.
|
||||
If your account's storage surpasses these limits and you have set a spending limit above $0 USD, you will pay $0.008 USD per GB of storage per day.
|
||||
|
||||
### Minute multipliers
|
||||
|
||||
Jobs that run on Windows and macOS runners that {% data variables.product.prodname_dotcom %} hosts consume minutes at 2 and 10 times the rate that jobs on Linux runners consume. For example, using 1,000 Windows minutes would consume 2,000 of the minutes included in your account. Using 1,000 macOS minutes, would consume 10,000 minutes included in your account.
|
||||
Jobs that run on Windows and macOS runners that {% data variables.product.prodname_dotcom %} hosts consume minutes at 2 and 10 times the rate that jobs on Linux runners consume.
|
||||
|
||||
| Operating system | Minute multiplier |
|
||||
|----------------- | ------------------|
|
||||
@@ -59,10 +55,12 @@ Jobs that run on Windows and macOS runners that {% data variables.product.prodna
|
||||
| macOS | 10 |
|
||||
|
||||
> [!NOTE]
|
||||
> Minute multipliers do not apply to the per-minute rates shown below.
|
||||
> The billing dashboard may show your Actions usage as a dollar amount ("spend") rather than raw minutes. This amount already reflects the minute multipliers above. If you're using macOS or Windows runners, you will use up your included minutes more quickly
|
||||
|
||||
### Per-minute rates
|
||||
|
||||
{% data variables.product.github %} rounds the minutes and partial minutes each job uses up to the nearest whole minute.
|
||||
|
||||
#### Per-minute rates for standard runners
|
||||
|
||||
| Operating system | Per-minute rate (USD) |
|
||||
@@ -87,7 +85,7 @@ Jobs that run on Windows and macOS runners that {% data variables.product.prodna
|
||||
| Windows 16-core | $0.128 |
|
||||
| Windows 32-core | $0.256 |
|
||||
| Windows 64-core | $0.512 |
|
||||
| Windows 96-core | $0.786 |
|
||||
| Windows 96-core | $0.768 |
|
||||
| macOS 12-core | $0.12 |
|
||||
|
||||
#### Per-minute rates for arm64-powered {% data variables.actions.hosted_runners %}
|
||||
|
||||
@@ -14,4 +14,3 @@ children:
|
||||
- /managing-your-spending-limit-for-github-actions
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
@@ -18,8 +18,6 @@ topics:
|
||||
shortTitle: Spending limits for Actions
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
## About spending limits for {% data variables.product.prodname_actions %}
|
||||
|
||||
{% data reusables.actions.actions-billing %}
|
||||
|
||||
@@ -32,11 +32,11 @@ You need pay to use {% data variables.product.prodname_AS %} features in private
|
||||
|
||||
## License types for {% data variables.product.prodname_AS %} products
|
||||
|
||||
Licensing for {% data variables.product.prodname_AS %} products is flexible, making it easy for you to choose options that fit your business needs. {% ifversion ghec or ghes %}You can buy volume/subscription licenses for any combination of the following products or use metered billing to pay for your use:{% endif %}
|
||||
{% data variables.product.prodname_AS %} consists of two main products:
|
||||
|
||||
{% data reusables.advanced-security.ghas-products-bullets+ghas %}
|
||||
|
||||
For example, you might start by using {% data variables.product.prodname_GH_secret_protection %} across all repositories, and pilot {% data variables.product.prodname_GH_code_security %} in high-risk repositories. You {% ifversion ghec or ghes %}buy or {% endif %}pay only for the products you need, and expand as you see the benefits to the security of your code.
|
||||
Licensing for {% data variables.product.prodname_AS %} products is flexible, making it easy for you to choose options that fit your business needs. For example, you might start by using {% data variables.product.prodname_GH_secret_protection %} across all repositories, and pilot {% data variables.product.prodname_GH_code_security %} in high-risk repositories. You buy or pay only for the products you need, and expand as you see the benefits to the security of your code.
|
||||
|
||||
For more information, see [feature summary and pricing information](https://github.com/enterprise/advanced-security#pricing) and [AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security).
|
||||
|
||||
@@ -51,7 +51,7 @@ Each active committer to at least one repository with an {% data variables.produ
|
||||
|
||||
There are two different ways to pay for licenses.
|
||||
|
||||
* **Metered billing** {% ifversion ghec %}introduced from June 2024 onward{% elsif ghes %}available from {% data variables.product.prodname_ghe_server %} 3.13 onward with {% data variables.product.prodname_github_connect %}{% endif %}
|
||||
* **Metered billing** {% ifversion ghes %}available from {% data variables.product.prodname_ghe_server %} 3.13 onward with {% data variables.product.prodname_github_connect %}{% endif %}
|
||||
|
||||
* Users can enable {% data variables.product.prodname_GH_cs_or_sp %} independently.
|
||||
* Monthly bill for the number of licenses used by active committers.
|
||||
@@ -64,10 +64,11 @@ There are two different ways to pay for licenses.
|
||||
|
||||
* **Volume/subscription billing** available for {% data variables.product.prodname_enterprise %} plans only
|
||||
|
||||
* Users must ask the sales team to set up billing.
|
||||
* Purchase a specific number of {% data variables.product.prodname_GHAS_cs_or_sp %} licenses that last for a defined period, typically at least a year.
|
||||
* If the usage of {% data variables.product.prodname_AS %} by active committers exceeds the number of licenses purchased, you need to purchase additional licenses to cover this overage usage.
|
||||
|
||||
If you want to purchase volume/subscription-based licenses, contact your account manager in {% data variables.contact.contact_enterprise_sales %} or contact {% data variables.contact.contact_support_page %}.
|
||||
|
||||
## Managing committers and costs
|
||||
|
||||
{% ifversion fpt %}
|
||||
@@ -120,6 +121,8 @@ The number of unique, active committers who use {% data variables.product.prodna
|
||||
{% endif %} For information about differences between bot and machine accounts, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/differences-between-github-apps-and-oauth-apps#machine-vs-bot-accounts).
|
||||
* **Unique committers** is the number of active committers who contributed only to a repository, or to repositories in an organization. This number shows how many licenses you can free up by disabling {% data variables.product.prodname_GH_cs_or_sp %} for that repository or organization.
|
||||
|
||||
> [!NOTE] When a repository is migrated to GitHub, GitHub Advanced Security only consumes licenses for commits and pushes made after migration, rather than considering all historic contributions from before the migration.
|
||||
|
||||
If there are no unique committers to a repository or organization, all active committers also contribute to other repositories or organizations that use {% data variables.product.prodname_AS %} licenses. Disabling a product for that repository or organization would not free any licenses or lower your usage costs.
|
||||
|
||||
## Understanding usage
|
||||
@@ -138,7 +141,7 @@ The following example timeline demonstrates how the active committer count for {
|
||||
| Date | Events during the month | Total committers | Effect on usage-based billing |
|
||||
| :- | :- | -: | :- |
|
||||
| <span style="white-space: nowrap;">April 15</span> | A member of your enterprise enables {% data variables.product.prodname_GH_cs_and_sp %} for repository **X**. Repository **X** has 50 committers over the past 90 days. | **50** | Billing begins for 50 committers. |
|
||||
| <span style="white-space: nowrap;">May 1</span> | Developer **A** leaves the team working on repository **X**. Developer **A**'s contributions continue to count for 90 days. | **50** | No immediate change. Developer **A** continues to be billed until their contributions are inactive for 90 days. |
|
||||
| <span style="white-space: nowrap;">May 1</span> | Developer **A** switches teams and stops committing to repository **X**. Developer **A**'s contributions continue to count for 90 days. | **50** | No immediate change. Developer **A** continues to be billed until their contributions are inactive for 90 days. |
|
||||
| <span style="white-space: nowrap;">August 1</span> | Developer **A**'s contributions no longer count towards the licenses required, because 90 days have passed. | 50 - 1 =<br>**49** | Developer **A** is removed from the billing count, reducing the billable committers to 49. |
|
||||
| <span style="white-space: nowrap;">August 15</span> | A member of your enterprise enables {% data variables.product.prodname_GH_cs_and_sp %} for a second repository, repository **Y**. In the last 90 days, a total of 20 developers contributed to that repository. Of those 20 developers, 10 also recently worked on repo **X** and do not require additional licenses. | 49 + 10 =<br>**59** | Billing increases to 59 committers, accounting for the 10 additional unique contributors. |
|
||||
| <span style="white-space: nowrap;">August 16</span> | A member of your enterprise disables {% data variables.product.prodname_GH_cs_and_sp %} for repository **X**. Of the 49 developers who were working on repository **X**, 10 still also work on repository **Y**, which has a total of 20 developers contributing in the last 90 days. | 49 - 29 =<br>**20** | Billing for repository **X** continues until the end of the monthly billing cycle, but the overall billing count decreases to 20 committers for the next cycle. |
|
||||
|
||||
@@ -18,13 +18,11 @@ shortTitle: Migrating to new GHAS SKUs
|
||||
|
||||
## New SKUs for {% data variables.product.prodname_AS %} features
|
||||
|
||||
<!-- expires 2025-05-31 -->
|
||||
<!-- expires 2025-09-30 -->
|
||||
|
||||
<!-- On expiry, check with the stakeholder. If nothing else, remove the date from the start of this paragraph and check the information for Metered-billing users is still appropriate. Possibly the whole article can be deleted. Reference: release 5202 -->
|
||||
{% data variables.product.prodname_AS %} features are also available under two separate stock keeping units (SKUs) for {% data variables.product.prodname_team %} and {% data variables.product.prodname_ghe_cloud %} users. {% data variables.product.prodname_ghe_server %} users can use the two new SKUs when upgrading to version 3.17.
|
||||
|
||||
From April 1, 2025, {% data variables.product.prodname_AS %} features are also available under two separate stock keeping units (SKUs) for {% data variables.product.prodname_team %} and {% data variables.product.prodname_ghe_cloud %} users. {% data variables.product.prodname_ghe_server %} users can use the two new SKUs when upgrading to version 3.17.
|
||||
|
||||
<!-- end expires 2025-05-31 -->
|
||||
<!-- end expires 2025-09-30 -->
|
||||
|
||||
{% data reusables.advanced-security.ghas-products-bullets %}
|
||||
|
||||
@@ -63,9 +61,7 @@ If you already pay to use {% data variables.product.prodname_AS %} features, the
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
If you are an existing self-serve customer, instructions on how to transition from the combined {% data variables.product.prodname_GHAS %} product to the new {% data variables.product.prodname_GH_cs_and_sp %} SKUs will be announced over the next 30 days.
|
||||
|
||||
You'll receive an email notification when the new plans are available to your enterprise. Transitioning to the two separate products will be self-serve and optional.
|
||||
If you are an existing self-serve customer and wish to transition from the combined {% data variables.product.prodname_GHAS %} product to the new {% data variables.product.prodname_GH_cs_and_sp %}, contact [GitHub Support](mailto:support@github.com).
|
||||
|
||||
{% elsif ghes %}
|
||||
|
||||
@@ -77,7 +73,8 @@ If you have a hybrid {% data variables.product.prodname_ghe_cloud %} and {% data
|
||||
|
||||
### Volume/subscription billing users
|
||||
|
||||
When your license is due for renewal, you can choose to continue with licenses for {% data variables.product.prodname_GHAS %}, migrate to {% data variables.product.prodname_cs_or_sp %} subscription licenses, or migrate to metered billing.
|
||||
* **Invoiced**: When your license is due for renewal, you can choose to continue with licenses for {% data variables.product.prodname_GHAS %}, migrate to {% data variables.product.prodname_cs_or_sp %} subscription licenses, or migrate to metered billing.
|
||||
* **Self-serve**: If you are an existing self-serve customer and wish to transition from the combined {% data variables.product.prodname_GHAS %} product to the new {% data variables.product.prodname_GH_cs_and_sp %}, contact [GitHub Support](mailto:support@github.com).
|
||||
|
||||
### Questions?
|
||||
|
||||
|
||||
@@ -30,7 +30,6 @@ To set up a trial of {% data variables.product.prodname_GHAS %} using this metho
|
||||
## Setting up your trial of {% data variables.product.prodname_GHAS %}
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
{% data reusables.enterprise-accounts.licensing-tab-both-platforms %}
|
||||
1. To the right of "{% data variables.product.prodname_GHAS %}", click **Start free trial**.
|
||||
1. Click **Start trial**.
|
||||
|
||||
@@ -38,14 +38,27 @@ If you use volume/subscription billing, then you will need to purchase licenses
|
||||
|
||||
If your enterprise uses metered billing, then you are ready to start enabling {% data variables.product.prodname_GH_cs_and_sp %} at the enterprise, organization, and repository level. Whenever you enable a feature or apply a configuration, a modal dialog shows detailed information with estimated billing changes. You can confirm your change or return to the page without making changes.
|
||||
|
||||
## Purchasing licenses for {% data variables.product.prodname_GH_cs_or_sp %}
|
||||
{% endif %}
|
||||
|
||||
## Purchasing licenses for organizations
|
||||
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.profile.org_settings %}
|
||||
{% data reusables.organizations.billing_plans_or_licensing %}
|
||||
1. To the right of "{% data variables.product.prodname_GHAS %}", click **Buy {% data variables.product.prodname_AS %}**.
|
||||
|
||||

|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
## Purchasing licenses for enterprises
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
{% data reusables.enterprise-accounts.licensing-tab-both-platforms %}
|
||||
1. To the right of "GitHub Advanced Security", click **Buy Advanced Security**.
|
||||
1. To the right of "{% data variables.product.prodname_GHAS %}", click **Buy {% data variables.product.prodname_AS %}**.
|
||||
|
||||

|
||||

|
||||
|
||||
{% data reusables.advanced-security.purchase-ghas %}
|
||||
|
||||
|
||||
@@ -36,9 +36,9 @@ You can view the current license limits and usage for your enterprise.
|
||||
* If you have a volume/subscription license, the number of licenses **available** to use is also displayed.
|
||||
* If you run out of licenses, for volume/subscription only, the section is red and reports "Limit exceeded." You should either reduce your use or purchase more licenses.
|
||||
|
||||
1. Optionally, to see a detailed breakdown of usage per organization{% ifversion secret-scanning-user-owned-repos %} and user namespace when using {% data variables.product.prodname_emus %}{% endif %}, in the "{% data variables.product.prodname_GHAS %}" section click **More details**.
|
||||
1. Optionally, to see a detailed breakdown of usage per organization{% ifversion secret-scanning-user-owned-repos %} and user namespace when using {% data variables.product.prodname_emus %}{% endif %}, in the "{% data variables.product.prodname_AS %}" section click **More details**.
|
||||
|
||||
In the "{% data variables.product.prodname_GHAS %}" section, you can see a summary of your current license usage, as well as the number of committers and unique committers for each organization{% ifversion secret-scanning-user-owned-repos %} and user namespace when using {% data variables.product.prodname_emus %}{% endif %}. The organizations{% ifversion secret-scanning-user-owned-repos %} and user namespaces{% endif %} in the billing table are sorted by the highest number of unique committers in descending order.
|
||||
In the "{% data variables.product.prodname_AS %}" section, you can see a summary of your current license usage, as well as the number of committers and unique committers for each organization{% ifversion secret-scanning-user-owned-repos %} and user namespace when using {% data variables.product.prodname_emus %}{% endif %}. The organizations{% ifversion secret-scanning-user-owned-repos %} and user namespaces{% endif %} in the billing table are sorted by the highest number of unique committers in descending order.
|
||||
|
||||
1. Optionally, to see a detailed breakdown of usage by repositories within an organization, click an organization name to display the "Global code security settings" for the organization.
|
||||
|
||||
@@ -77,7 +77,7 @@ You can view the organization account's current license limits and usage.
|
||||
{% data reusables.profile.org_settings %}
|
||||
{% data reusables.organizations.billing_plans_or_licensing %}
|
||||
|
||||
The "{% data variables.product.prodname_GHAS %}" section shows details of the current usage.
|
||||
The "{% data variables.product.prodname_AS %}" section shows details of the current usage.
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -88,25 +88,25 @@ You can view the organization account's current license limits and usage.
|
||||
|
||||
## Downloading {% data variables.product.prodname_AS %} license usage information
|
||||
|
||||
You can download a CSV file with {% data variables.product.prodname_GHAS %} license usage information at both the {% data variables.enterprise.enterprise_and_org %} level. The CSV file contains information about each {% data variables.product.prodname_AS %} license that is in use, including:
|
||||
You can download a CSV file with details of paid use of {% data variables.product.prodname_GHAS %} products at both the {% data variables.enterprise.enterprise_and_org %} level. The CSV file contains information about each {% data variables.product.prodname_AS %} license that is in use, including:
|
||||
|
||||
* The username of the person using the {% data variables.product.prodname_GHAS_cs_or_sp %} license
|
||||
* The {% data variables.product.prodname_GH_cs_and_sp %}-enabled repositories where commits were made
|
||||
* The organizations{% ifversion secret-scanning-user-owned-repos %}{% ifversion ghec %} and user namespaces for {% data variables.product.prodname_emus %}{% endif %}{% endif %} that people using licenses belong to
|
||||
* The most recent commit dates and associated email addresses
|
||||
|
||||
You can use this information for insights into your {% data variables.product.prodname_AS %} usage, such as which members of your enterprise are using a license or how licenses are being consumed across your organizations.
|
||||
You can use this information for insights into your paid use of {% data variables.product.prodname_AS %}, such as which members of your enterprise are using a license or how licenses are being consumed across your organizations.
|
||||
|
||||
You can download a CSV report of license usage through the {% data variables.product.github %} user interface or the REST API.
|
||||
|
||||
### Downloading license usage information from the UI
|
||||
## Using the UI to download license and metered usage
|
||||
|
||||
{% ifversion fpt %}You can download a CSV report for a repository or an organization.{% endif %}
|
||||
{% ifversion ghec %}You can download a CSV report for a repository, an organization, or an enterprise.{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
#### For a repository
|
||||
### For a repository
|
||||
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.profile.org_settings %}
|
||||
@@ -115,32 +115,38 @@ You can download a CSV report of license usage through the {% data variables.pro
|
||||
|
||||

|
||||
|
||||
#### For an organization
|
||||
### For an organization
|
||||
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.profile.org_settings %}
|
||||
1. In the "Access" section of the sidebar click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & licensing** and then **Usage**.
|
||||
1. Filter the metered usage to show `product:ghas` and choose "Group: SKU".
|
||||
1. Optionally, use the "Time Frame" field to set the period to report on.
|
||||
1. Click **{% octicon "download" aria-hidden="true" aria-label="download" %}Get usage report** to download the report.
|
||||
1. In the "Access" section of the sidebar click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and licensing** to display an overview.
|
||||
1. For metered usage, in the sidebar click **Usage**.
|
||||
1. To display only {% data variables.product.prodname_AS %} usage within the graph, click the search bar, then click **Product**. Within the list of products displayed, click **GHAS**.
|
||||
1. To further filter the usage graph, use the dropdown menus:
|
||||
* To view usage by SKU, select the **Group** dropdown, then click **SKU**. This will allow you to view usage for both {% data variables.product.prodname_GH_cs_and_sp %}.
|
||||
* To filter by time, select **Time Frame**, then click a time period.
|
||||
* Below the graph, you can see a more granular overview of the usage. Click the arrow next to a specific date to see a nested table with usage per SKU, units, price/unit, gross amount (the amount actually used), and billed amount (the amount you are charged).
|
||||
1. To download the data, click **{% octicon "download" aria-hidden="true" aria-label="download" %} Get usage report**.
|
||||
1. For license consumption, in the sidebar click **{% octicon "law" aria-hidden="true" aria-label="law" %} Licensing**.
|
||||
1. Under "{% data variables.product.prodname_GHAS %}," click the **{% octicon "download" aria-hidden="true" aria-label="download" %} Download CSV report** dropdown and then click either **{% data variables.product.prodname_code_security %}** or **{% data variables.product.prodname_secret_protection %}**.
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
#### For an enterprise
|
||||
### For an enterprise
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
1. Click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & licensing** to display an overview.
|
||||
|
||||
**License consumption:**
|
||||
1. Click **{% octicon "law" aria-hidden="true" aria-label="law" %} Licensing**.
|
||||
1. Under "{% data variables.product.prodname_GHAS %}," click the **Download report** dropdown and then click either **{% octicon "download" aria-hidden="true" aria-label="download" %} {% data variables.product.prodname_code_security %}** or **{% octicon "download" aria-hidden="true" aria-label="download" %} {% data variables.product.prodname_secret_protection %}**.
|
||||
|
||||
**Metered usage:**
|
||||
1. Scroll to the tabbed usage information at the bottom of the "Overview" page and click **{% data variables.product.prodname_AS %}** to show usage.
|
||||
1. In the summary box, click "View details" to show metered usage for {% data variables.product.prodname_AS %} grouped by SKU.
|
||||
1. Select a time frame and click **{% octicon "download" aria-hidden="true" aria-label="download" %}Get usage report** to download a detailed report.
|
||||
1. For metered usage, click {% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} **Usage**.
|
||||
1. To display only {% data variables.product.prodname_AS %} usage within the graph, click the search bar, then click **Product**. Within the list of products displayed, click **GHAS**.
|
||||
1. To further filter the usage graph, use the dropdown menus:
|
||||
* To view usage by SKU, select the **Group** dropdown, then click **SKU**. This will allow you to view usage for both {% data variables.product.prodname_GH_cs_and_sp %}.
|
||||
* To filter by time, select **Time Frame**, then click a time period.
|
||||
* Below the graph, you can see a more granular overview of the usage. Click the arrow next to a specific date to see a nested table with usage per SKU, units, price/unit, gross amount (the amount actually used), and billed amount (the amount you are charged).
|
||||
1. To download the data, click **{% octicon "download" aria-hidden="true" aria-label="download" %} Get usage report**.
|
||||
1. For license consumption, click {% octicon "law" aria-hidden="true" aria-label="law" %} **Licensing**.
|
||||
* Under "{% data variables.product.prodname_GHAS %}," click the **{% octicon "download" aria-hidden="true" aria-label="download" %} Download CSV report** dropdown and then click either **{% data variables.product.prodname_code_security %}** or **{% data variables.product.prodname_secret_protection %}**.
|
||||
|
||||
{% elsif ghes %}
|
||||
|
||||
@@ -152,9 +158,9 @@ You can download a CSV report of license usage through the {% data variables.pro
|
||||
|
||||
{% endif %}
|
||||
|
||||
### Downloading {% data variables.product.prodname_AS %} license usage information through the REST API
|
||||
## Using the REST API to download license and metered usage
|
||||
|
||||
You can retrieve {% data variables.product.prodname_AS %} usage information via the billing API.
|
||||
You can retrieve information on paid use of {% data variables.product.prodname_AS %} with the billing API.
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
|
||||
@@ -19,8 +19,6 @@ redirect_from:
|
||||
- /billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
## About {% data variables.product.prodname_github_codespaces %} pricing
|
||||
|
||||
{% data reusables.billing.authorization-charge %}
|
||||
|
||||
@@ -13,4 +13,3 @@ children:
|
||||
- /managing-the-spending-limit-for-github-codespaces
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
@@ -18,8 +18,6 @@ redirect_from:
|
||||
- /billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
## About the {% data variables.product.prodname_github_codespaces %} spending limit
|
||||
|
||||
{% data reusables.codespaces.codespaces-free-for-personal-intro %} See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces).
|
||||
|
||||
@@ -12,24 +12,24 @@ redirect_from:
|
||||
|
||||
## {% data variables.product.prodname_copilot %} in your enterprise
|
||||
|
||||
Enterprises on {% data variables.product.prodname_ghe_cloud %} can subscribe to either {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %}, or a mixture of both across different organizations within an enterprise. Both plans are available on a monthly cycle, and pricing varies. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/about-billing-for-github-copilot-in-your-enterprise).
|
||||
Enterprises on {% data variables.product.prodname_ghe_cloud %} can subscribe to either {% data variables.copilot.copilot_for_business %} or {% data variables.copilot.copilot_enterprise %}, or a mixture of both across different organizations within an enterprise. Both plans are available on a monthly cycle, and pricing varies. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/about-billing-for-github-copilot-in-your-enterprise).
|
||||
|
||||
## {% data variables.product.prodname_copilot %} in your organization
|
||||
|
||||
{% data variables.product.github %} bills {% data variables.product.prodname_copilot_business_short %} on a monthly cycle, for {% data variables.copilot.cfb_price_per_month %} per user per month. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization).
|
||||
{% data variables.product.github %} bills {% data variables.copilot.copilot_business_short %} on a monthly cycle, for {% data variables.copilot.cfb_price_per_month %} per user per month. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization).
|
||||
|
||||
## {% data variables.product.prodname_copilot %} as an individual
|
||||
|
||||
{% data variables.product.prodname_copilot_pro %} and {% data variables.product.prodname_copilot_pro_plus %} plans are available on a monthly or yearly cycle:
|
||||
{% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} plans are available on a monthly or yearly cycle:
|
||||
|
||||
* **{% data variables.product.prodname_copilot_pro_short %}**: {% data variables.copilot.cfi_price_per_month %} per calendar month or {% data variables.copilot.cfi_price_per_year %} per year.
|
||||
* **{% data variables.product.prodname_copilot_pro_plus_short %}**: {% data variables.copilot.cpp_price_per_month %} per calendar month or {% data variables.copilot.cpp_price_per_year %} per year.
|
||||
* **{% data variables.copilot.copilot_pro_short %}**: {% data variables.copilot.cfi_price_per_month %} per calendar month or {% data variables.copilot.cfi_price_per_year %} per year.
|
||||
* **{% data variables.copilot.copilot_pro_plus_short %}**: {% data variables.copilot.cpp_price_per_month %} per calendar month or {% data variables.copilot.cpp_price_per_year %} per year.
|
||||
|
||||
See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-subscription/about-billing-for-github-copilot-individual).
|
||||
|
||||
> [!NOTE] {% data reusables.copilot.copilot-one-account %}
|
||||
|
||||
If you want to try {% data variables.product.prodname_copilot_short %} before subscribing, you can use {% data variables.product.prodname_copilot_free %} for a limited experience. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/about-github-copilot-free).
|
||||
If you want to try {% data variables.product.prodname_copilot_short %} before subscribing, you can use {% data variables.copilot.copilot_free %} for a limited experience. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/about-github-copilot-free).
|
||||
|
||||
## Migrating between {% data variables.product.prodname_copilot_short %} plans
|
||||
|
||||
@@ -45,7 +45,7 @@ Some migrations cannot be completed through self-service options.
|
||||
|
||||
* **Non-enterprise to enterprise environment migrations**: When moving from standalone {% data variables.product.prodname_copilot_short %} plans to a {% data variables.product.prodname_enterprise %} environment, contact {% data variables.contact.contact_support_page %} or your account manager for assistance to avoid service interruption.
|
||||
|
||||
* **Changing between {% data variables.product.prodname_copilot_business_short %} and {% data variables.product.prodname_copilot_enterprise_short %}**: If you need to migrate between these plans within your enterprise and the option isn't available in your "Billing & Licensing" settings, contact {% data variables.contact.contact_support_page %} or your account manager for assistance.
|
||||
* **Changing between {% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %}**: If you need to migrate between these plans within your enterprise and the option isn't available in your "Billing & Licensing" settings, contact {% data variables.contact.contact_support_page %} or your account manager for assistance.
|
||||
|
||||
## Allowance usage for {% data variables.copilot.copilot_coding_agent %}
|
||||
|
||||
@@ -63,7 +63,7 @@ When {% data variables.product.prodname_copilot_short %} works on coding tasks,
|
||||
|
||||
* **Premium requests** from your account's monthly allowance of premium {% data variables.product.prodname_copilot_short %} requests.
|
||||
|
||||
This allowance of free premium requests is shared with other {% data variables.product.prodname_copilot_short %} features, such as {% data variables.product.prodname_copilot_chat_short %}.
|
||||
This allowance of free premium requests is shared with other {% data variables.product.prodname_copilot_short %} features, such as {% data variables.copilot.copilot_chat_short %}.
|
||||
|
||||
When you use {% data variables.copilot.copilot_coding_agent %}, {% data variables.product.prodname_copilot_short %} may make multiple premium requests to complete a single task. This includes both user-initiated prompts and follow-up actions {% data variables.product.prodname_copilot_short %} takes on your behalf. The total premium requests used will depend on the complexity of the task and the number of steps involved. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/monitoring-usage-and-entitlements/avoiding-unexpected-copilot-costs).
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Managing billing for GitHub Copilot
|
||||
shortTitle: GitHub Copilot
|
||||
intro: '{% ifversion fpt %}You can set up a {% data variables.product.prodname_copilot %} subscription through your personal or organization account. You can modify or cancel your subscription at any time.{% endif %}{% ifversion ghec %}You can view your usage of {% data variables.product.prodname_copilot_for_business %}, and learn about how the costs are calculated.{% endif %}'
|
||||
intro: '{% ifversion fpt %}You can set up a {% data variables.product.prodname_copilot %} subscription through your personal or organization account. You can modify or cancel your subscription at any time.{% endif %}{% ifversion ghec %}You can view your usage of {% data variables.copilot.copilot_for_business %}, and learn about how the costs are calculated.{% endif %}'
|
||||
versions:
|
||||
feature: copilot
|
||||
redirect_from:
|
||||
@@ -10,4 +10,3 @@ children:
|
||||
- /about-billing-for-github-copilot
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
@@ -16,8 +16,6 @@ topics:
|
||||
shortTitle: About billing
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
## About billing for {% data variables.product.prodname_registry %}
|
||||
|
||||
{% data reusables.billing.authorization-charge %}
|
||||
|
||||
@@ -14,4 +14,3 @@ children:
|
||||
- /managing-your-spending-limit-for-github-packages
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
@@ -19,8 +19,6 @@ topics:
|
||||
shortTitle: Your spending limit
|
||||
---
|
||||
|
||||
{% data reusables.billing.enhanced-billing-platform %}
|
||||
|
||||
## About spending limits for {% data variables.product.prodname_registry %}
|
||||
|
||||
{% data reusables.package_registry.packages-billing %}
|
||||
|
||||
@@ -40,7 +40,7 @@ If you use {% data variables.product.prodname_ghe_cloud %} through a Microsoft E
|
||||
| {% data variables.product.prodname_github_codespaces %} usage | [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces) | [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces) |
|
||||
| {% data variables.product.prodname_actions %} usage beyond the amounts included with your plan | [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions) | [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#about-spending-limits) |
|
||||
| {% data variables.product.prodname_registry %} usage beyond the amounts included with your plan | [AUTOTITLE](/billing/managing-billing-for-github-packages/about-billing-for-github-packages) | [AUTOTITLE](/billing/managing-billing-for-github-packages/about-billing-for-github-packages#about-spending-limits) |
|
||||
| {% data variables.product.prodname_copilot_business_short %} usage | [AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot-business-and-github-copilot-enterprise) | N/A |
|
||||
| {% data variables.copilot.copilot_business_short %} usage | [AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot-business-and-github-copilot-enterprise) | N/A |
|
||||
| {% data variables.product.prodname_AS %} usage (only available with a trial of {% data variables.product.prodname_ghe_cloud %}) | [AUTOTITLE](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security#usage-based-billing-for-github-advanced-security) | N/A |
|
||||
| {% data variables.product.prodname_enterprise %} usage | [AUTOTITLE](/billing/managing-your-billing/about-billing-for-your-enterprise) | N/A |
|
||||
|
||||
@@ -50,7 +50,7 @@ If you use {% data variables.product.prodname_ghe_cloud %} through a Microsoft E
|
||||
|
||||
If you link your {% data variables.product.company_short %} account to Azure, any usage-based costs starting from that point will be billed through Azure and charged on the 1st of each month. However, remaining {% data variables.product.company_short %} charges, for example charges for your {% data variables.product.prodname_dotcom %} plan, will still be billed on your usual billing date.
|
||||
|
||||
For example, you link your Azure subscription to your organization {% ifversion ghec %}or enterprise{% endif %} account on June 16th and you also have a {% data variables.product.prodname_copilot_for_business %} subscription. From that date onwards, any usage costs for {% data variables.product.prodname_copilot_business_short %} will be included in your Azure bill and charged on July 1st. However, any charges incurred before June 16th for {% data variables.product.prodname_copilot_business_short %} will be billed separately through {% data variables.product.company_short %} on your account's usual billing date.
|
||||
For example, you link your Azure subscription to your organization {% ifversion ghec %}or enterprise{% endif %} account on June 16th and you also have a {% data variables.copilot.copilot_for_business %} subscription. From that date onwards, any usage costs for {% data variables.copilot.copilot_business_short %} will be included in your Azure bill and charged on July 1st. However, any charges incurred before June 16th for {% data variables.copilot.copilot_business_short %} will be billed separately through {% data variables.product.company_short %} on your account's usual billing date.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: About billing on GitHub
|
||||
intro: "Your bill is a combination of charges for your subscriptions, including your account's plan, and usage-based billing."
|
||||
intro: "GitHub bills you separately for each account you own. Your bill combines subscription costs and usage-based billing."
|
||||
redirect_from:
|
||||
- /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-on-github
|
||||
- /articles/about-billing-on-github
|
||||
@@ -18,24 +18,32 @@ topics:
|
||||
|
||||
## About billing on {% data variables.product.prodname_dotcom %}
|
||||
|
||||
{% data variables.product.company_short %} bills separately for each account. This means that you will receive a separate bill for your personal account and for each organization or enterprise account you own. For more information about account types, see [AUTOTITLE](/get-started/learning-about-github/types-of-github-accounts).
|
||||
{% data variables.product.company_short %} bills you separately for each account you own (personal, organization, or enterprise). Your bill combines:
|
||||
|
||||
You can switch between the billing settings for each of your accounts by using the context switcher. See [Switching between settings for your different accounts](#switching-between-settings-for-your-different-accounts).
|
||||
* **Subscriptions**: Fixed monthly costs for account plans (for example: {% data variables.product.prodname_pro %} or {% data variables.product.prodname_team %}) and paid products (for example: {% data variables.product.prodname_copilot %})
|
||||
* **Usage-based billing**: Variable costs that depend on how much you use certain features (for example: {% data variables.product.prodname_actions %})
|
||||
|
||||
The bill for each account is a combination of subscriptions and usage-based billing. Subscriptions include your account's plan, such as {% data variables.product.prodname_pro %} or {% data variables.product.prodname_team %}, as well as paid products that have a consistent monthly cost, such as {% data variables.product.prodname_copilot %} and apps from {% data variables.product.prodname_marketplace %}.
|
||||
Each account type has its own billing settings that you manage separately.
|
||||
|
||||
Usage-based billing applies when the cost of a paid product depends on how much you use the product. For example, the cost of {% data variables.product.prodname_actions %} depends on how many minutes your jobs spend running and how much storage your artifacts use.
|
||||
* **For you personal account**: Your bill includes subscriptions for your personal account and charges for any usage that exceeds the included amounts.
|
||||
|
||||
Your plan may come with included amounts of usage-based products. For example, with {% data variables.product.prodname_pro %}, your personal account gets 3,000 minutes of {% data variables.product.prodname_actions %} usage for free each month. You can control usage beyond the included amounts by setting spending limits.
|
||||
* **For your organization**: Your organization's bill is separate from your personal account bill. It includes subscriptions for your organization and charges for any usage that exceeds the included amounts.
|
||||
{% ifversion ghec %}
|
||||
* **For your enterprise**: Enterprise accounts are billed separately from personal accounts and standalone organizations. The bill includes the subscription to {% data variables.product.prodname_enterprise %} and the costs of all the organizations it owns.
|
||||
{% endif %}
|
||||
|
||||
For more information about account types, see [AUTOTITLE](/get-started/learning-about-github/types-of-github-accounts).
|
||||
|
||||
{% data reusables.billing.us-sales-tax %}
|
||||
|
||||
## Included amounts by plan
|
||||
|
||||
The table below shows what's included with each plan. When you exceed these amounts, you'll be charged for additional usage unless you've set a spending limit.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th><b>Product</b></th>
|
||||
<th><b>Usage</b></th>
|
||||
<th><b>Usage type</b></th>
|
||||
<th><b>{% data variables.product.prodname_free_user %}</b></th>
|
||||
<th><b>{% data variables.product.prodname_pro %}</b></th>
|
||||
<th><b>{% data variables.product.prodname_free_team %} for organizations</b></th>
|
||||
@@ -96,22 +104,25 @@ Your plan may come with included amounts of usage-based products. For example, w
|
||||
<tr>
|
||||
<th rowspan="2" scope="rowgroup"><b>{% data variables.large_files.product_name_long %}</b></th>
|
||||
<th><b>Storage (per month)</b></th>
|
||||
<td>1 GB</th>
|
||||
<td>1 GB</th>
|
||||
<td>1 GB</th>
|
||||
<td>1 GB</th>
|
||||
<td>1 GB</th>
|
||||
<td>10 GB</th>
|
||||
<td>10 GB</th>
|
||||
<td>10 GB</th>
|
||||
<td>250 GB</th>
|
||||
<td>250 GB</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><b>Bandwidth (per month)</b></th>
|
||||
<td>1 GB</th>
|
||||
<td>1 GB</th>
|
||||
<td>1 GB</th>
|
||||
<td>1 GB</th>
|
||||
<td>1 GB</th>
|
||||
<td>10 GB</th>
|
||||
<td>10 GB</th>
|
||||
<td>10 GB</th>
|
||||
<td>250 GB</th>
|
||||
<td>250 GB</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
> [!TIP]
|
||||
> For information about included requests for {% data variables.product.prodname_copilot %} plans, see [AUTOTITLE](/copilot/about-github-copilot/plans-for-github-copilot).
|
||||
|
||||
## Managing billing settings
|
||||
|
||||
You must manage billing settings, payment method, and paid features and products for each of your accounts separately. You can choose to pay monthly or yearly for each account. All subscriptions and usage-based billing associated with an account shares a billing date, payment method, and receipt.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: About the billing cycle
|
||||
intro: Learn about the billing cycle for the new billing platform.
|
||||
intro: Learn about the billing cycle for the billing platform.
|
||||
versions:
|
||||
feature: enhanced-billing-platform
|
||||
redirect_from:
|
||||
@@ -22,7 +22,7 @@ Your billing experience depends on whether your products are metered, volume-bas
|
||||
|
||||
## Billing cycles for metered products
|
||||
|
||||
If your {% data variables.enterprise.enterprise_or_org %} {% ifversion fpt %}or personal account{% endif %} uses the new billing platform for **metered** products, you have a fixed **billing period** that runs from the first day of each month to the last day of the month.
|
||||
Metered products have a fixed **billing period** that runs from the first day of each month to the last day of the month.
|
||||
|
||||
At the end of each month, your metered usage is calculated and scheduled to be billed on your **bill cycle day**.
|
||||
|
||||
@@ -32,7 +32,7 @@ At the end of each month, your metered usage is calculated and scheduled to be b
|
||||
|
||||
## Billing cycles for volume-based products
|
||||
|
||||
Volume-based licenses may follow a different billing cycle, even if your account is on the new billing platform. These products are often billed based on the anniversary date of your subscription rather than by calendar month.
|
||||
Volume-based licenses may follow a different billing cycle. These products are often billed based on the anniversary date of your subscription rather than by calendar month.
|
||||
|
||||
## How mid-cycle changes affect your billing
|
||||
|
||||
|
||||
@@ -32,11 +32,9 @@ You can upload a sales tax exemption certificate to your organization account if
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.organizations.billing-settings %}
|
||||
1. At the top of the page, click **Payment information**.
|
||||
|
||||

|
||||
1. In the sidebar, under **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and licensing**, click **Payment information**.
|
||||
1. Review your "Billing information" and update any incorrect data. You must ensure that the address fields are correct and that the "City" and "Postal/Zip code" fields are accepted. If there is any missing information or any errors are reported, the option to upload a sales tax certificate is hidden.
|
||||
1. At the bottom of the page, next to "Sales Tax" in the "Additional information" section, click Upload certificate, and select the certificate file you want to upload.
|
||||
1. At the bottom of the page in the "Additional information" section next to "Sales Tax", click **Upload certificate**, and select the certificate file you want to upload. If "Sales Tax" is missing, check that your billing information defines your country as "United States of America".
|
||||
1. To remove a sales tax certificate, click {% octicon "trash" aria-label="Delete sales tax certificate" %} next to the certificate you want to remove.
|
||||
|
||||
{% ifversion ghec or ghes %}
|
||||
@@ -46,14 +44,10 @@ You can upload a sales tax exemption certificate to your organization account if
|
||||
Enterprise owners and billing managers can upload a sales tax exemption certificate to an enterprise account if the account uses the {% data variables.product.company_short %} Customer Agreement.
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
{% data reusables.enterprise-accounts.billing-tab %}
|
||||
1. At the top of the page, click **Payment information**.
|
||||
|
||||

|
||||
|
||||
1. In the sidebar, under **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and licensing**, click **Payment information**.
|
||||
1. Review your "Billing information" and update any incorrect data. You must ensure that the address fields are correct and that the "City" and "Postal/Zip code" fields are accepted. If there is any missing information or any errors are reported, the option to upload a sales tax certificate is hidden.
|
||||
1. At the bottom of the page, in the "Sales Tax" section, click **Upload certificate**, and select the certificate file you want to upload.
|
||||
1. At the bottom of the page, next to "Sales Tax", click **Upload certificate**, and select the certificate file you want to upload. If "Sales Tax" is missing, check that your billing information defines your country as "United States of America".
|
||||
1. To remove a sales tax certificate, click {% octicon "trash" aria-label="Delete sales tax certificate" %} next to the certificate you want to remove.
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -43,7 +43,7 @@ For {% data variables.product.prodname_code_scanning %} alerts from {% data vari
|
||||
|
||||
{% 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).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.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 %}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ This article explains a high-level process focusing on enabling {% data variable
|
||||
|
||||
{% 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).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.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 %}
|
||||
|
||||
|
||||
@@ -308,7 +308,15 @@ If you added manual build steps for compiled languages and {% data variables.pro
|
||||
|
||||
## Building C/C++
|
||||
|
||||
{% ifversion codeql-no-build %}{% data variables.product.prodname_codeql %} supports build modes `autobuild` or `manual` for C/C++ code.
|
||||
{% ifversion codeql-no-build %}{% data variables.product.prodname_codeql %} supports build modes {% ifversion codeql-no-build-c-cpp %}`none`, {% endif %}`autobuild` or `manual` for C/C++ code.
|
||||
|
||||
{% ifversion codeql-no-build-c-cpp %}
|
||||
|
||||
When you enable default setup for a repository that contains C/C++ code, the build mode is set to `none` automatically.
|
||||
|
||||
>[!NOTE] Support of build mode `none` for C/C++ codebases is currently in {% data variables.release-phases.public_preview %} and subject to change.
|
||||
|
||||
{% endif %}
|
||||
|
||||
### Autobuild summary for C/C++{% endif %}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ If {% data variables.product.prodname_code_scanning %} finds a potential vulnera
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} will suggest fixes for alerts from {% data variables.product.prodname_code_scanning %} analysis in private repositories, allowing developers to prevent and reduce vulnerabilities with less effort. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
{% data variables.copilot.copilot_autofix %} will suggest fixes for alerts from {% data variables.product.prodname_code_scanning %} analysis in private repositories, allowing developers to prevent and reduce vulnerabilities with less effort. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -26,13 +26,13 @@ By default, {% data variables.product.prodname_code_scanning %} analyzes your co
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
You can use {% data variables.product.prodname_copilot_autofix %} to generate fixes automatically for {% data variables.product.prodname_code_scanning %} alerts, including {% data variables.product.prodname_codeql %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/resolving-code-scanning-alerts#generating-suggested-fixes-for-code-scanning-alerts).
|
||||
You can use {% data variables.copilot.copilot_autofix %} to generate fixes automatically for {% data variables.product.prodname_code_scanning %} alerts, including {% data variables.product.prodname_codeql %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/resolving-code-scanning-alerts#generating-suggested-fixes-for-code-scanning-alerts).
|
||||
|
||||
{% 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).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.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 %}
|
||||
|
||||
|
||||
@@ -45,9 +45,9 @@ For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
## Asking {% data variables.product.prodname_copilot_chat %} about {% data variables.product.prodname_code_scanning %} alerts
|
||||
## Asking {% data variables.copilot.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).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can ask {% data variables.copilot.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 %}
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ In addition to the benefit of removing an important security problem from your o
|
||||
* You have a campaign manager on the security team to collaborate with and a specific contact link for discussing campaign activities.
|
||||
* You know that you are fixing a security alert that is important to the company.
|
||||
* Potentially, you may have access to targeted training materials.{% ifversion security-campaigns-autofix %}
|
||||
* You don't need to request a {% data variables.product.prodname_copilot_autofix %} suggestion, it is already available as a starting point.{% endif %}{% ifversion copilot %}
|
||||
* If you have access to {% data variables.product.prodname_copilot_chat %}, you can ask questions about the alert and the suggested fix.{% endif %}
|
||||
* You don't need to request a {% data variables.copilot.copilot_autofix %} suggestion, it is already available as a starting point.{% endif %}{% ifversion copilot %}
|
||||
* If you have access to {% data variables.copilot.copilot_chat %}, you can ask questions about the alert and the suggested fix.{% endif %}
|
||||
* You are improving and demonstrating your knowledge of secure coding.
|
||||
|
||||
Adopting a few key best practices can help you participate successfully in a campaign.
|
||||
@@ -82,17 +82,17 @@ When fixing security alerts as part of a campaign, it may be helpful to group an
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
### {% data variables.product.prodname_copilot_autofix_short %}
|
||||
### {% data variables.copilot.copilot_autofix_short %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} is automatically triggered for alerts that are included in a campaign, meaning that where possible, fixes are automatically generated for you. You can commit the suggested fix to resolve the alert and then verify that continuous integration testing (CI) for the codebase is still passing. See [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/fixing-alerts-in-security-campaign).
|
||||
{% data variables.copilot.copilot_autofix_short %} is automatically triggered for alerts that are included in a campaign, meaning that where possible, fixes are automatically generated for you. You can commit the suggested fix to resolve the alert and then verify that continuous integration testing (CI) for the codebase is still passing. See [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/fixing-alerts-in-security-campaign).
|
||||
|
||||
### {% data variables.product.prodname_copilot_chat_short %}
|
||||
### {% data variables.copilot.copilot_chat_short %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
You can ask {% data variables.product.prodname_copilot_chat_short %} for help in understanding the vulnerability, the suggested fix, and how to test that the fix is comprehensive. To access {% data variables.product.prodname_copilot_chat_short %}, navigate to https://github.com/copilot.
|
||||
You can ask {% data variables.copilot.copilot_chat_short %} for help in understanding the vulnerability, the suggested fix, and how to test that the fix is comprehensive. To access {% data variables.copilot.copilot_chat_short %}, navigate to https://github.com/copilot.
|
||||
|
||||
Alternatively, when viewing a specific alert, in the top right corner of the page, click the {% data variables.product.prodname_copilot_chat_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) to open a chat window, and ask {% data variables.product.prodname_copilot_short %} questions about the alert.
|
||||
Alternatively, when viewing a specific alert, in the top right corner of the page, click the {% data variables.copilot.copilot_chat_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) to open a chat window, and ask {% data variables.product.prodname_copilot_short %} questions about the alert.
|
||||
|
||||
For example:
|
||||
|
||||
@@ -102,7 +102,7 @@ For example:
|
||||
|
||||
```
|
||||
|
||||
If you don't already have access to {% data variables.product.prodname_copilot_chat_short %} through your organization{% ifversion ghec %} or enterprise{% endif %}, you can sign up to {% data variables.product.prodname_copilot_free %}. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-copilot-free/accessing-github-copilot-free).
|
||||
If you don't already have access to {% data variables.copilot.copilot_chat_short %} through your organization{% ifversion ghec %} or enterprise{% endif %}, you can sign up to {% data variables.copilot.copilot_free %}. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-copilot-free/accessing-github-copilot-free).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Disabling Copilot Autofix for code scanning
|
||||
shortTitle: Disable Copilot Autofix
|
||||
allowTitleToDifferFromFilename: true
|
||||
intro: You can choose to disallow {% data variables.product.prodname_copilot_autofix %} for an enterprise or disable {% data variables.product.prodname_copilot_autofix %} at the organization and repository level.
|
||||
intro: You can choose to disallow {% data variables.copilot.copilot_autofix %} for an enterprise or disable {% data variables.copilot.copilot_autofix %} at the organization and repository level.
|
||||
product: '{% data reusables.rai.code-scanning.gated-feature-autofix %}'
|
||||
versions:
|
||||
feature: code-scanning-autofix
|
||||
@@ -14,47 +14,47 @@ topics:
|
||||
- AI
|
||||
---
|
||||
|
||||
## About disabling {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}
|
||||
## About disabling {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} is a {% data variables.product.prodname_copilot %}-powered expansion of {% data variables.product.prodname_code_scanning %}. It provides users with targeted recommendations to help them fix {% data variables.product.prodname_code_scanning %} alerts (including {% data variables.product.prodname_codeql %} alerts) so they can avoid introducing new security vulnerabilities. To learn more about {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
{% data variables.copilot.copilot_autofix %} is a {% data variables.product.prodname_copilot %}-powered expansion of {% data variables.product.prodname_code_scanning %}. It provides users with targeted recommendations to help them fix {% data variables.product.prodname_code_scanning %} alerts (including {% data variables.product.prodname_codeql %} alerts) so they can avoid introducing new security vulnerabilities. To learn more about {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
{% data reusables.rai.code-scanning.copilot-autofix-note %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} is allowed by default and enabled for every repository that uses {% data variables.product.prodname_codeql %}, regardless of whether it uses default or advanced setup for {% data variables.product.prodname_code_scanning %}. Administrators at the enterprise, organization and repository levels can choose to opt out and disable {% data variables.product.prodname_copilot_autofix_short %}.
|
||||
{% data variables.copilot.copilot_autofix_short %} is allowed by default and enabled for every repository that uses {% data variables.product.prodname_codeql %}, regardless of whether it uses default or advanced setup for {% data variables.product.prodname_code_scanning %}. Administrators at the enterprise, organization and repository levels can choose to opt out and disable {% data variables.copilot.copilot_autofix_short %}.
|
||||
|
||||
Note that disabling {% data variables.product.prodname_copilot_autofix_short %} at any level will close all open {% data variables.product.prodname_copilot_autofix_short %} comments. If {% data variables.product.prodname_copilot_autofix_short %} is disabled and then subsequently enabled, {% data variables.product.prodname_copilot_autofix_short %} won't automatically suggest fixes for any pull requests that are already open. The suggestions will only be generated for any pull requests that are opened after {% data variables.product.prodname_copilot_autofix_short %} is enabled, or after re-running {% data variables.product.prodname_code_scanning %} analysis on existing pull requests.
|
||||
Note that disabling {% data variables.copilot.copilot_autofix_short %} at any level will close all open {% data variables.copilot.copilot_autofix_short %} comments. If {% data variables.copilot.copilot_autofix_short %} is disabled and then subsequently enabled, {% data variables.copilot.copilot_autofix_short %} won't automatically suggest fixes for any pull requests that are already open. The suggestions will only be generated for any pull requests that are opened after {% data variables.copilot.copilot_autofix_short %} is enabled, or after re-running {% data variables.product.prodname_code_scanning %} analysis on existing pull requests.
|
||||
|
||||
## Blocking use of {% data variables.product.prodname_copilot_autofix_short %} for an enterprise
|
||||
## Blocking use of {% data variables.copilot.copilot_autofix_short %} for an enterprise
|
||||
|
||||
Enterprise administrators can disallow {% data variables.product.prodname_copilot_autofix_short %} for their enterprise. If you disallow {% data variables.product.prodname_copilot_autofix_short %} for an enterprise, {% data variables.product.prodname_copilot_autofix_short %} cannot be enabled for any organizations or repositories within the enterprise.
|
||||
Enterprise administrators can disallow {% data variables.copilot.copilot_autofix_short %} for their enterprise. If you disallow {% data variables.copilot.copilot_autofix_short %} for an enterprise, {% data variables.copilot.copilot_autofix_short %} cannot be enabled for any organizations or repositories within the enterprise.
|
||||
|
||||
Note that allowing {% data variables.product.prodname_copilot_autofix_short %} for an enterprise does not enforce enablement of {% data variables.product.prodname_copilot_autofix_short %}, but means that organization and repository administrators will have the option to enable or disable {% data variables.product.prodname_copilot_autofix_short %}.
|
||||
Note that allowing {% data variables.copilot.copilot_autofix_short %} for an enterprise does not enforce enablement of {% data variables.copilot.copilot_autofix_short %}, but means that organization and repository administrators will have the option to enable or disable {% data variables.copilot.copilot_autofix_short %}.
|
||||
|
||||
Disallowing {% data variables.product.prodname_copilot_autofix_short %} at the enterprise level will remove all open {% data variables.product.prodname_copilot_autofix_short %} comments across all repositories of all organizations within the enterprise.
|
||||
Disallowing {% data variables.copilot.copilot_autofix_short %} at the enterprise level will remove all open {% data variables.copilot.copilot_autofix_short %} comments across all repositories of all organizations within the enterprise.
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.code-security-and-analysis-policies %}
|
||||
1. Under "{% data variables.product.prodname_copilot_autofix_short %}", use the dropdown menu to choose "Not allowed."
|
||||
1. Under "{% data variables.copilot.copilot_autofix_short %}", use the dropdown menu to choose "Not allowed."
|
||||
|
||||
## Disabling {% data variables.product.prodname_copilot_autofix_short %} for an organization
|
||||
## Disabling {% data variables.copilot.copilot_autofix_short %} for an organization
|
||||
|
||||
If {% data variables.product.prodname_copilot_autofix_short %} is allowed at the enterprise level, organization administrators have the option to disable {% data variables.product.prodname_copilot_autofix_short %} for an organization. If you disable {% data variables.product.prodname_copilot_autofix_short %} for an organization, {% data variables.product.prodname_copilot_autofix_short %} cannot be enabled for any repositories within the organization.
|
||||
If {% data variables.copilot.copilot_autofix_short %} is allowed at the enterprise level, organization administrators have the option to disable {% data variables.copilot.copilot_autofix_short %} for an organization. If you disable {% data variables.copilot.copilot_autofix_short %} for an organization, {% data variables.copilot.copilot_autofix_short %} cannot be enabled for any repositories within the organization.
|
||||
|
||||
Note that disabling {% data variables.product.prodname_copilot_autofix_short %} at the organization level will remove all open {% data variables.product.prodname_copilot_autofix_short %} comments across all repositories in the organization.
|
||||
Note that disabling {% data variables.copilot.copilot_autofix_short %} at the organization level will remove all open {% data variables.copilot.copilot_autofix_short %} comments across all repositories in the organization.
|
||||
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.profile.org_settings %}
|
||||
{% data reusables.security-configurations.display-global-settings %}
|
||||
1. Under the "{% data variables.product.prodname_code_scanning_caps %}" section, deselect **{% data variables.product.prodname_copilot_autofix_short %}** or **{% data variables.product.prodname_copilot_autofix_short %} for third-party tools**.
|
||||
1. Under the "{% data variables.product.prodname_code_scanning_caps %}" section, deselect **{% data variables.copilot.copilot_autofix_short %}** or **{% data variables.copilot.copilot_autofix_short %} for third-party tools**.
|
||||
|
||||
For more information about configuring global {% data variables.product.prodname_code_scanning %} settings, see [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization#configuring-global-code-scanning-settings).
|
||||
|
||||
## Disabling {% data variables.product.prodname_copilot_autofix_short %} for a repository
|
||||
## Disabling {% data variables.copilot.copilot_autofix_short %} for a repository
|
||||
|
||||
If {% data variables.product.prodname_copilot_autofix_short %} is allowed at the enterprise level and enabled at the organization level, repository administrators have the option to disable {% data variables.product.prodname_copilot_autofix_short %} for a repository. Disabling {% data variables.product.prodname_copilot_autofix_short %} at the repository level will remove all open {% data variables.product.prodname_copilot_autofix_short %} comments across the repository.
|
||||
If {% data variables.copilot.copilot_autofix_short %} is allowed at the enterprise level and enabled at the organization level, repository administrators have the option to disable {% data variables.copilot.copilot_autofix_short %} for a repository. Disabling {% data variables.copilot.copilot_autofix_short %} at the repository level will remove all open {% data variables.copilot.copilot_autofix_short %} comments across the repository.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
{% data reusables.repositories.navigate-to-code-security-and-analysis %}
|
||||
1. In the "{% data variables.product.UI_code_security_scanning %}" section, deselect **{% data variables.product.prodname_copilot_autofix_short %}** or **{% data variables.product.prodname_copilot_autofix_short %} for third-party tools**.
|
||||
1. In the "{% data variables.product.UI_code_security_scanning %}" section, deselect **{% data variables.copilot.copilot_autofix_short %}** or **{% data variables.copilot.copilot_autofix_short %} for third-party tools**.
|
||||
|
||||
@@ -47,9 +47,9 @@ If you want to see the code that triggered the security alert and the suggested
|
||||
|
||||
{% ifversion copilot %}
|
||||
|
||||
## Using {% data variables.product.prodname_copilot_chat %} for secure coding
|
||||
## Using {% data variables.copilot.copilot_chat %} for secure coding
|
||||
|
||||
If you have access to {% data variables.product.prodname_copilot_chat_short %} then you can ask the AI questions about the vulnerability, the suggested fix, and how to test that the fix is comprehensive.
|
||||
If you have access to {% data variables.copilot.copilot_chat_short %} then you can ask the AI questions about the vulnerability, the suggested fix, and how to test that the fix is comprehensive.
|
||||
|
||||
> [!TIP]
|
||||
> {% data reusables.copilot.semantic-index-info %}
|
||||
|
||||
@@ -26,9 +26,9 @@ topics:
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
## Asking {% data variables.product.prodname_copilot_chat %} about {% data variables.product.prodname_code_scanning %} alerts
|
||||
## Asking {% data variables.copilot.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).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can ask {% data variables.copilot.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 %}
|
||||
|
||||
@@ -36,7 +36,7 @@ With a {% data variables.product.prodname_copilot_enterprise %} license, you can
|
||||
|
||||
## Generating suggested fixes for {% data variables.product.prodname_code_scanning %} alerts
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} can generate fixes for alerts identified by {% data variables.product.prodname_code_scanning %} analysis. Most {% data variables.product.prodname_codeql %} alert types are supported and also some alerts from third-party tools. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
{% data variables.copilot.copilot_autofix %} can generate fixes for alerts identified by {% data variables.product.prodname_code_scanning %} analysis. Most {% data variables.product.prodname_codeql %} alert types are supported and also some alerts from third-party tools. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
{% data reusables.rai.code-scanning.copilot-autofix-note %}
|
||||
|
||||
@@ -44,7 +44,7 @@ With a {% data variables.product.prodname_copilot_enterprise %} license, you can
|
||||
{% data reusables.repositories.sidebar-security %}
|
||||
{% data reusables.repositories.sidebar-code-scanning-alerts %}
|
||||
1. Click the name of an alert.
|
||||
1. If {% data variables.product.prodname_copilot_autofix_short %} can suggest a fix, at the top of the page, click **{% octicon "shield-check" aria-hidden="true" aria-label="shield-check" %} Generate fix**.
|
||||
1. If {% data variables.copilot.copilot_autofix_short %} can suggest a fix, at the top of the page, click **{% octicon "shield-check" aria-hidden="true" aria-label="shield-check" %} Generate fix**.
|
||||
1. Once the suggested fix has been generated, at the bottom of the page, you can click **Create PR with fix** to automatically generate a pull request with the suggested fix.
|
||||
A new branch is created from the default branch, the generated fix is committed and a draft pull request is created. You can test and edit the suggested fix as you would with any other fix.
|
||||
|
||||
|
||||
@@ -16,15 +16,15 @@ redirect_from:
|
||||
- /code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning
|
||||
---
|
||||
|
||||
## About {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}
|
||||
## About {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides users with targeted recommendations to help them fix {% data variables.product.prodname_code_scanning %} alerts so they can avoid introducing new security vulnerabilities. The potential fixes are generated automatically by large language models (LLMs) using data from the codebase and from {% data variables.product.prodname_code_scanning %} analysis. {% data variables.product.prodname_copilot_autofix %} is available for {% data variables.product.prodname_codeql %} analysis, and supports the third-party tool ESLint (third-party support is in {% data variables.release-phases.public_preview %} and subject to change).
|
||||
{% data variables.copilot.copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides users with targeted recommendations to help them fix {% data variables.product.prodname_code_scanning %} alerts so they can avoid introducing new security vulnerabilities. The potential fixes are generated automatically by large language models (LLMs) using data from the codebase and from {% data variables.product.prodname_code_scanning %} analysis. {% data variables.copilot.copilot_autofix %} is available for {% data variables.product.prodname_codeql %} analysis, and supports the third-party tool ESLint (third-party support is in {% data variables.release-phases.public_preview %} and subject to change).
|
||||
|
||||
{% data reusables.rai.code-scanning.copilot-autofix-note %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} generates potential fixes that are relevant to the existing source code and translates the description and location of an alert into code changes that may fix the alert. {% data variables.product.prodname_copilot_autofix_short %} uses internal {% data variables.product.prodname_copilot %} APIs interfacing with the large language model {% data variables.copilot.copilot_gpt_4o %} from OpenAI, which has sufficient generative capabilities to produce both suggested fixes in code and explanatory text for those fixes.
|
||||
{% data variables.copilot.copilot_autofix_short %} generates potential fixes that are relevant to the existing source code and translates the description and location of an alert into code changes that may fix the alert. {% data variables.copilot.copilot_autofix_short %} uses internal {% data variables.product.prodname_copilot %} APIs interfacing with the large language model {% data variables.copilot.copilot_gpt_4o %} from OpenAI, which has sufficient generative capabilities to produce both suggested fixes in code and explanatory text for those fixes.
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} is allowed by default and enabled for every repository using {% data variables.product.prodname_codeql %}, but you can choose to opt out and disable {% data variables.product.prodname_copilot_autofix_short %}. To learn how to disable {% data variables.product.prodname_copilot_autofix_short %} at the enterprise, organization and repository levels, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/disabling-autofix-for-code-scanning).
|
||||
{% data variables.copilot.copilot_autofix_short %} is allowed by default and enabled for every repository using {% data variables.product.prodname_codeql %}, but you can choose to opt out and disable {% data variables.copilot.copilot_autofix_short %}. To learn how to disable {% data variables.copilot.copilot_autofix_short %} at the enterprise, organization and repository levels, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/disabling-autofix-for-code-scanning).
|
||||
|
||||
In an organization's security overview dashboard, you can view the total number of code suggestions generated on open and closed pull requests in the organization for a given time period. For more information, see [AUTOTITLE](/code-security/security-overview/viewing-security-insights#autofix-suggestions).
|
||||
|
||||
@@ -32,17 +32,17 @@ In an organization's security overview dashboard, you can view the total number
|
||||
|
||||
{% data variables.product.prodname_code_scanning_caps %} users can already see security alerts to analyze their pull requests. However, developers often have little training in secure coding so fixing these alerts requires substantial effort. They must first read and understand the alert location and description, and then use that understanding to edit the source code to fix the vulnerability.
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} lowers the barrier of entry to developers by combining information on best practices with details of the codebase and alert to suggest a potential fix to the developer. Instead of starting with a search for information about the vulnerability, the developer starts with a code suggestion that demonstrates a potential solution for their codebase. The developer evaluates the potential fix to determine whether it is the best solution for their codebase and to ensure that it maintains the intended behavior.
|
||||
{% data variables.copilot.copilot_autofix_short %} lowers the barrier of entry to developers by combining information on best practices with details of the codebase and alert to suggest a potential fix to the developer. Instead of starting with a search for information about the vulnerability, the developer starts with a code suggestion that demonstrates a potential solution for their codebase. The developer evaluates the potential fix to determine whether it is the best solution for their codebase and to ensure that it maintains the intended behavior.
|
||||
|
||||
After committing a suggested fix or modified fix, the developer should always verify that continuous integration testing (CI) for the codebase continues to pass and that the alert is shown as resolved before they merge their pull request.
|
||||
|
||||
## Supported languages for {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} supports fix generation for a subset of queries included in the default and security-extended {% data variables.product.prodname_codeql %} query suites for {% data variables.code-scanning.codeql_autofix_languages %}. For more information on these query suites, see [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites#built-in-codeql-query-suites).
|
||||
{% data variables.copilot.copilot_autofix_short %} supports fix generation for a subset of queries included in the default and security-extended {% data variables.product.prodname_codeql %} query suites for {% data variables.code-scanning.codeql_autofix_languages %}. For more information on these query suites, see [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites#built-in-codeql-query-suites).
|
||||
|
||||
## Suggestion generation process
|
||||
|
||||
When {% data variables.product.prodname_copilot_autofix_short %} is enabled for a repository, {% data variables.product.prodname_code_scanning %} alerts that are identified send input to the LLM. If the LLM can generate a potential fix, the fix is shown as a suggestion.
|
||||
When {% data variables.copilot.copilot_autofix_short %} is enabled for a repository, {% data variables.product.prodname_code_scanning %} alerts that are identified send input to the LLM. If the LLM can generate a potential fix, the fix is shown as a suggestion.
|
||||
|
||||
{% data variables.product.prodname_dotcom %} sends the LLM a variety of data from the {% data variables.product.prodname_code_scanning %} analysis. For example:
|
||||
|
||||
@@ -52,13 +52,13 @@ When {% data variables.product.prodname_copilot_autofix_short %} is enabled for
|
||||
* First ~10 lines from each file involved in any of those locations.
|
||||
* Help text for the {% data variables.product.prodname_codeql %} query that identified the problem. For examples, see “[{% data variables.product.prodname_codeql %} query help](https://codeql.github.com/codeql-query-help/).”
|
||||
|
||||
Any {% data variables.product.prodname_copilot_autofix_short %} suggestions are generated and stored within the {% data variables.product.prodname_code_scanning %} backend. They are displayed as suggestions. No user interaction is needed beyond enabling {% data variables.product.prodname_code_scanning %} on the codebase and creating a pull request.
|
||||
Any {% data variables.copilot.copilot_autofix_short %} suggestions are generated and stored within the {% data variables.product.prodname_code_scanning %} backend. They are displayed as suggestions. No user interaction is needed beyond enabling {% data variables.product.prodname_code_scanning %} on the codebase and creating a pull request.
|
||||
|
||||
The process of generating fixes does not gather or utilize any customer data beyond the scope outlined above. Therefore, the use of this feature is governed by the existing terms and conditions associated with {% data variables.product.prodname_AS %}. Moreover, data handled by {% data variables.product.prodname_copilot_autofix_short %} is strictly not employed for LLM training purposes. For more information on {% data variables.product.prodname_AS %} terms and conditions, see [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#advanced-security){% ifversion fpt %}.{% else %} in the Free, Pro, & Team documentation.{% endif %}
|
||||
The process of generating fixes does not gather or utilize any customer data beyond the scope outlined above. Therefore, the use of this feature is governed by the existing terms and conditions associated with {% data variables.product.prodname_AS %}. Moreover, data handled by {% data variables.copilot.copilot_autofix_short %} is strictly not employed for LLM training purposes. For more information on {% data variables.product.prodname_AS %} terms and conditions, see [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#advanced-security){% ifversion fpt %}.{% else %} in the Free, Pro, & Team documentation.{% endif %}
|
||||
|
||||
## Quality of suggestions
|
||||
|
||||
{% data variables.product.prodname_dotcom %} uses an automated test harness to continuously monitor the quality of suggestions from {% data variables.product.prodname_copilot_autofix_short %}. This allows us to understand how the suggestions generated by the LLM change as the model develops.
|
||||
{% data variables.product.prodname_dotcom %} uses an automated test harness to continuously monitor the quality of suggestions from {% data variables.copilot.copilot_autofix_short %}. This allows us to understand how the suggestions generated by the LLM change as the model develops.
|
||||
|
||||
The test harness includes a set of over 2,300 alerts from a diverse set of public repositories where the highlighted code has test coverage. Suggestions for these alerts are tested to see how good they are, that is, how much a developer would need to edit them before committing them to the codebase. For many of the test alerts, suggestions generated by the LLM could be committed as-is to fix the alert while continuing to successfully pass all the existing CI tests.
|
||||
|
||||
@@ -77,20 +77,20 @@ In addition, we spot check many of the successful suggestions and verify that th
|
||||
|
||||
### Effectiveness on other projects
|
||||
|
||||
The test set contains a broad range of different types of projects and alerts. We predict that suggestions for other projects using languages supported by {% data variables.product.prodname_copilot_autofix_short %} should follow a similar pattern.
|
||||
The test set contains a broad range of different types of projects and alerts. We predict that suggestions for other projects using languages supported by {% data variables.copilot.copilot_autofix_short %} should follow a similar pattern.
|
||||
|
||||
* {% data variables.product.prodname_copilot_autofix_short %} is likely to add a code suggestion to the majority of alerts.
|
||||
* {% data variables.copilot.copilot_autofix_short %} is likely to add a code suggestion to the majority of alerts.
|
||||
* When developers evaluate the suggestions we expect that the majority of fixes can be committed without editing or with minor updates to reflect the wider context of the code.
|
||||
* A small percentage of suggested fixes will reflect a significant misunderstanding of the codebase or the vulnerability.
|
||||
|
||||
However, each project and codebase is unique, so developers may need to edit a larger percentage of suggested fixes before committing them. {% data variables.product.prodname_copilot_autofix_short %} provides valuable information to help you resolve {% data variables.product.prodname_code_scanning %} alerts, but ultimately it remains your responsibility to evaluate the proposed change and ensure the security and accuracy of your code.
|
||||
However, each project and codebase is unique, so developers may need to edit a larger percentage of suggested fixes before committing them. {% data variables.copilot.copilot_autofix_short %} provides valuable information to help you resolve {% data variables.product.prodname_code_scanning %} alerts, but ultimately it remains your responsibility to evaluate the proposed change and ensure the security and accuracy of your code.
|
||||
|
||||
> [!NOTE]
|
||||
> Fix generation for supported languages is subject to LLM operational capacity. In addition, each suggested fix is tested before it is added to a pull request. If no suggestion is available, or if the suggested fix fails internal testing, then no suggestion is displayed.
|
||||
|
||||
## Limitations of suggestions
|
||||
|
||||
When you review a suggestion from {% data variables.product.prodname_copilot_autofix_short %}, you must always consider the limitations of AI and edit the changes as needed before you accept the changes. You should also consider updating the CI testing and dependency management for a repository before enabling {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}. For more information, see [Mitigating the limitations of suggestions](#mitigating-the-limitations-of-suggestions).
|
||||
When you review a suggestion from {% data variables.copilot.copilot_autofix_short %}, you must always consider the limitations of AI and edit the changes as needed before you accept the changes. You should also consider updating the CI testing and dependency management for a repository before enabling {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}. For more information, see [Mitigating the limitations of suggestions](#mitigating-the-limitations-of-suggestions).
|
||||
|
||||
### Limitations of code suggestions
|
||||
|
||||
@@ -111,7 +111,7 @@ Sometimes a suggested fix includes a change in the dependencies of the codebase.
|
||||
|
||||
## Mitigating the limitations of suggestions
|
||||
|
||||
The best way to mitigate the limitations of suggestions from {% data variables.product.prodname_copilot_autofix_short %} is to follow best practices. For example, using CI testing of pull requests to verify functional requirements are unaffected and using dependency management solutions, such as the dependency review API and action. For more information, see “[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review).”
|
||||
The best way to mitigate the limitations of suggestions from {% data variables.copilot.copilot_autofix_short %} is to follow best practices. For example, using CI testing of pull requests to verify functional requirements are unaffected and using dependency management solutions, such as the dependency review API and action. For more information, see “[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review).”
|
||||
|
||||
It is important to remember that the author of a pull request retains responsibility for how they respond to review comments and suggested code changes, whether proposed by colleagues or automated tools. Developers should always look at suggestions for code changes critically. If needed, they should edit the suggested changes to ensure that the resulting code and application are correct, secure, meet performance criteria, and satisfy all other functional and non-functional requirements for the application.
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ If the lines of code changed in the pull request generate {% data variables.prod
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} will suggest fixes for alerts from {% data variables.product.prodname_code_scanning %} analysis (including {% data variables.product.prodname_codeql %} analysis) in private repositories. For more information on working with suggestions from {% data variables.product.prodname_copilot_autofix_short %} in pull requests, see [Working with {% data variables.product.prodname_copilot_autofix_short %} suggestions for alerts on a pull request](#working-with-copilot-autofix-suggestions-for-alerts-on-a-pull-request).
|
||||
{% data variables.copilot.copilot_autofix %} will suggest fixes for alerts from {% data variables.product.prodname_code_scanning %} analysis (including {% data variables.product.prodname_codeql %} analysis) in private repositories. For more information on working with suggestions from {% data variables.copilot.copilot_autofix_short %} in pull requests, see [Working with {% data variables.copilot.copilot_autofix_short %} suggestions for alerts on a pull request](#working-with-copilot-autofix-suggestions-for-alerts-on-a-pull-request).
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -50,7 +50,7 @@ If your pull request targets a protected branch that uses {% data variables.prod
|
||||
|
||||
{% 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).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.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 %}
|
||||
|
||||
@@ -114,30 +114,30 @@ Anyone with push access to a pull request can fix a {% data variables.product.pr
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
## Working with {% data variables.product.prodname_copilot_autofix_short %} suggestions for alerts on a pull request
|
||||
## Working with {% data variables.copilot.copilot_autofix_short %} suggestions for alerts on a pull request
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts (including {% data variables.product.prodname_codeql %} alerts) in pull requests. The potential fixes are generated automatically by large language models (LLMs) using data from the codebase, the pull request, and from {% data variables.product.prodname_code_scanning %} analysis.
|
||||
{% data variables.copilot.copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts (including {% data variables.product.prodname_codeql %} alerts) in pull requests. The potential fixes are generated automatically by large language models (LLMs) using data from the codebase, the pull request, and from {% data variables.product.prodname_code_scanning %} analysis.
|
||||
|
||||
{% data reusables.rai.code-scanning.copilot-autofix-note %}
|
||||
|
||||

|
||||
|
||||
### Generating {% data variables.product.prodname_copilot_autofix_short %} suggestions and publishing to a pull request
|
||||
### Generating {% data variables.copilot.copilot_autofix_short %} suggestions and publishing to a pull request
|
||||
|
||||
When {% data variables.product.prodname_copilot_autofix_short %} is enabled for a repository, alerts are displayed in pull requests as normal and information from any alerts found by {% data variables.product.prodname_code_scanning %} is automatically sent to the LLM for processing. When LLM analysis is complete, any results are published as comments on relevant alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
When {% data variables.copilot.copilot_autofix_short %} is enabled for a repository, alerts are displayed in pull requests as normal and information from any alerts found by {% data variables.product.prodname_code_scanning %} is automatically sent to the LLM for processing. When LLM analysis is complete, any results are published as comments on relevant alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
> [!NOTE]
|
||||
> * {% data variables.product.prodname_copilot_autofix_short %} supports a subset of {% data variables.product.prodname_codeql %} queries. For information about the availability of {% data variables.product.prodname_copilot_autofix_short %}, see the query tables linked from [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites#query-lists-for-the-default-query-suites).
|
||||
> * When analysis is complete, all relevant results are published to the pull request at once. If at least one alert in your pull request has an {% data variables.product.prodname_copilot_autofix_short %} suggestion, you should assume that the LLM has finished identifying potential fixes for your code.
|
||||
> * On alerts generated from queries that are not supported by {% data variables.product.prodname_copilot_autofix_short %}, you will see a note telling you that the query is not supported. If a suggestion for a supported query fails to generate, you will see a note on the alert prompting you to try pushing another commit or to contact support.
|
||||
> * {% data variables.copilot.copilot_autofix_short %} supports a subset of {% data variables.product.prodname_codeql %} queries. For information about the availability of {% data variables.copilot.copilot_autofix_short %}, see the query tables linked from [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites#query-lists-for-the-default-query-suites).
|
||||
> * When analysis is complete, all relevant results are published to the pull request at once. If at least one alert in your pull request has an {% data variables.copilot.copilot_autofix_short %} suggestion, you should assume that the LLM has finished identifying potential fixes for your code.
|
||||
> * On alerts generated from queries that are not supported by {% data variables.copilot.copilot_autofix_short %}, you will see a note telling you that the query is not supported. If a suggestion for a supported query fails to generate, you will see a note on the alert prompting you to try pushing another commit or to contact support.
|
||||
|
||||
Usually, when you suggest changes to a pull request, your comment contains changes for a single file that is changed in the pull request. The following screenshot shows an {% data variables.product.prodname_copilot_autofix_short %} comment that suggests changes to the `index.js` file where the alert is displayed. Since the potential fix requires a new dependency on `escape-html`, the comment also suggests adding this dependency to the `package.json` file, even though the original pull request makes no changes to this file.
|
||||
Usually, when you suggest changes to a pull request, your comment contains changes for a single file that is changed in the pull request. The following screenshot shows an {% data variables.copilot.copilot_autofix_short %} comment that suggests changes to the `index.js` file where the alert is displayed. Since the potential fix requires a new dependency on `escape-html`, the comment also suggests adding this dependency to the `package.json` file, even though the original pull request makes no changes to this file.
|
||||
|
||||

|
||||

|
||||
|
||||
### Assessing and committing an {% data variables.product.prodname_copilot_autofix_short %} suggestion
|
||||
### Assessing and committing an {% data variables.copilot.copilot_autofix_short %} suggestion
|
||||
|
||||
Each {% data variables.product.prodname_copilot_autofix_short %} suggestion demonstrates a potential solution for a {% data variables.product.prodname_code_scanning %} alert in your codebase. You must assess the suggested changes to determine whether they are a good solution for your codebase and to ensure that they maintain the intended behavior. For information about the limitations of {% data variables.product.prodname_copilot_autofix_short %} suggestions, see [Limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning#limitations-of-suggestions) and [Mitigating the limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning#mitigating-the-limitations-of-suggestions) in "Responsible use of {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}."
|
||||
Each {% data variables.copilot.copilot_autofix_short %} suggestion demonstrates a potential solution for a {% data variables.product.prodname_code_scanning %} alert in your codebase. You must assess the suggested changes to determine whether they are a good solution for your codebase and to ensure that they maintain the intended behavior. For information about the limitations of {% data variables.copilot.copilot_autofix_short %} suggestions, see [Limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning#limitations-of-suggestions) and [Mitigating the limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning#mitigating-the-limitations-of-suggestions) in "Responsible use of {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}."
|
||||
|
||||
1. Click **Edit** to display the editing options and select your preferred method.
|
||||
* Under **Edit with {% data variables.product.prodname_cli %}**, follow the instructions for checking out the pull request locally and applying the suggested fix.
|
||||
@@ -152,9 +152,9 @@ Each {% data variables.product.prodname_copilot_autofix_short %} suggestion demo
|
||||
1. When you have finished testing your changes, commit the changes, and push them to your branch.
|
||||
1. Pushing the changes to your branch will trigger all the usual tests for your pull request. Confirm that your unit tests still pass and that the {% data variables.product.prodname_code_scanning %} alert is now fixed.
|
||||
|
||||
### Dismissing a {% data variables.product.prodname_copilot_autofix_short %} suggestion
|
||||
### Dismissing a {% data variables.copilot.copilot_autofix_short %} suggestion
|
||||
|
||||
If you decide to reject a {% data variables.product.prodname_copilot_autofix_short %} suggestion, click **Dismiss suggestion** in the comment to dismiss the suggested fix.
|
||||
If you decide to reject a {% data variables.copilot.copilot_autofix_short %} suggestion, click **Dismiss suggestion** in the comment to dismiss the suggested fix.
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ The built-in {% data variables.product.prodname_codeql %} query suites, `default
|
||||
|
||||
## Query lists for the default query suites
|
||||
|
||||
For each language, the following article lists which queries are included in the `default` and the `security-extended` suites. {% ifversion code-scanning-autofix %}Where {% data variables.product.prodname_copilot_autofix_short %} is available for a language, details of which queries are supported are also included.{% endif %}
|
||||
For each language, the following article lists which queries are included in the `default` and the `security-extended` suites. {% ifversion code-scanning-autofix %}Where {% data variables.copilot.copilot_autofix_short %} is available for a language, details of which queries are supported are also included.{% endif %}
|
||||
|
||||
{% data reusables.code-scanning.codeql-query-tables.links-to-all-tables %}
|
||||
|
||||
|
||||
@@ -201,10 +201,10 @@ In addition, for {% data variables.code-scanning.no_build_support %}, there is a
|
||||
The {% data variables.product.prodname_codeql_cli %} includes autobuilders for {% data variables.code-scanning.compiled_languages %} code. {% data variables.product.prodname_codeql %} autobuilders allow you to build projects for compiled languages without specifying any build commands. When an autobuilder is invoked, {% data variables.product.prodname_codeql %} examines the source for evidence of a build system and attempts to run the optimal set of commands required to extract a database. For more information, see [AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#about-autobuild).
|
||||
|
||||
An autobuilder is invoked automatically when you execute `codeql database create` for a compiled language if you don’t include a
|
||||
`--command` option{% ifversion codeql-no-build %} or set `--build-mode none`{% endif %}. For example, for a C/C++ codebase, you could simply run:
|
||||
`--command` option{% ifversion codeql-no-build %} or set `--build-mode none`{% endif %}. For example, for a Swift codebase, you could simply run:
|
||||
|
||||
```shell
|
||||
codeql database create --language=cpp <output-folder>/cpp-database
|
||||
codeql database create --language=swift <output-folder>/swift-database
|
||||
```
|
||||
|
||||
If a codebase uses a standard build system, relying on an autobuilder is often the simplest way to create a database. For sources that require non-standard build steps, you may need to explicitly define each step in the command line.
|
||||
|
||||
@@ -93,9 +93,9 @@ You can also see all the {% data variables.product.prodname_dependabot_alerts %}
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
## Asking {% data variables.product.prodname_copilot_chat %} about {% data variables.product.prodname_dependabot_alerts %}
|
||||
## Asking {% data variables.copilot.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).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can ask {% data variables.copilot.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 %}
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ In cases where a patched version is not available, or you can’t update to the
|
||||
|
||||
{% 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).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.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 %}
|
||||
|
||||
|
||||
@@ -395,7 +395,7 @@ Package manager | YAML value | Supported versions |
|
||||
| pip| `pip` | v21.1.2 |
|
||||
| pip-compile | `pip` | 6.1.0 |
|
||||
| pipenv | `pip` | <= 2021-05-29 |
|
||||
| pnpm | `npm` | v7, v8 <br>v9 (version updates only) |
|
||||
| pnpm | `npm` | v7, v8 <br>v9, v10 (version updates only) |
|
||||
| poetry | `pip` | v2 |
|
||||
| pub | `pub` | v2 |
|
||||
| Swift | `swift` | v5 |
|
||||
|
||||
@@ -17,8 +17,6 @@ shortTitle: Configure VNET
|
||||
|
||||
## Configuring VNET for {% data variables.product.prodname_dependabot_updates %}
|
||||
|
||||
{% data reusables.dependabot.vnet-support-private-preview-note %}
|
||||
|
||||
This article provides step-by-step instructions for running {% data variables.product.prodname_dependabot %} on {% data variables.product.company_short %}-hosted runners configured with VNET. The article explains:
|
||||
|
||||
* How to create runner groups for your enterprise or organization with a VNET configuration.
|
||||
|
||||
@@ -17,8 +17,6 @@ shortTitle: Configure ARC
|
||||
|
||||
## Working with the {% data variables.product.prodname_actions_runner_controller %} (ARC)
|
||||
|
||||
{% data reusables.dependabot.arc-support-private-preview-note %}
|
||||
|
||||
This article provides step-by-step instructions for setting up ARC on a Kubernetes cluster and configuring {% data variables.product.prodname_dependabot %} to run on self-hosted action runners. The article:
|
||||
|
||||
* Contains an overview of the ARC and {% data variables.product.prodname_dependabot %} integration.
|
||||
|
||||
@@ -210,7 +210,7 @@ Run {% data variables.product.prodname_codeql %} processes locally on software p
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
### {% data variables.product.prodname_copilot_autofix_short %}
|
||||
### {% data variables.copilot.copilot_autofix_short %}
|
||||
|
||||
Get automatically generated fixes for {% data variables.product.prodname_code_scanning %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
@@ -242,9 +242,9 @@ Security overview allows you to review the overall security landscape of your or
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
## Leveraging {% data variables.product.prodname_copilot_chat %} to understand security alerts
|
||||
## Leveraging {% data variables.copilot.copilot_chat %} to understand security 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_GHAS %} 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).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.copilot_chat %} for help to better understand security alerts in repositories in your organization from {% data variables.product.prodname_GHAS %} 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 %}
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ To enable {% data variables.product.prodname_dependabot_version_updates %}, you
|
||||
> {% data variables.product.prodname_code_security %} features are available for all public repositories, and for private repositories owned by organizations that are part of a team or an enterprise that uses {% data variables.product.prodname_GH_code_security %} or {% data variables.product.prodname_GHAS %}.
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghas-products %}{% data variables.product.prodname_GH_code_security %} includes {% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_codeql_cli %} and {% data variables.product.prodname_copilot_autofix_short %}, as well as other features that find and fix vulnerabilities in your codebase.{% endif %}
|
||||
{% ifversion ghas-products %}{% data variables.product.prodname_GH_code_security %} includes {% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_codeql_cli %} and {% data variables.copilot.copilot_autofix_short %}, as well as other features that find and fix vulnerabilities in your codebase.{% endif %}
|
||||
|
||||
You can configure {% data variables.product.prodname_code_scanning %} to automatically identify vulnerabilities and errors in the code stored in your repository by using a {% data variables.code-scanning.codeql_workflow %} or third-party tool. Depending on the programming languages in your repository, you can configure {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %} using default setup, in which {% data variables.product.github %} automatically determines the languages to scan, query suites to run, and events that will trigger a new scan. For more information, see [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning).
|
||||
|
||||
@@ -126,7 +126,7 @@ You can configure {% data variables.product.prodname_code_scanning %} to automat
|
||||
1. To the right of "CodeQL analysis", select **Set up** {% octicon "triangle-down" aria-hidden="true" aria-label="triangle-down" %}, then click **Default**.{% else %}
|
||||
1. In the "{% data variables.product.prodname_code_scanning_caps %}" section, select **Set up** {% octicon "triangle-down" aria-hidden="true" aria-label="triangle-down" %}, then click **Default**.{% endif %}
|
||||
1. In the pop-up window that appears, review the default configuration settings for your repository, then click **Enable {% data variables.product.prodname_codeql %}**.{% ifversion code-scanning-autofix %}
|
||||
1. Choose whether you want to enable addition features, such as {% data variables.product.prodname_copilot_autofix_short %}.{% endif %}
|
||||
1. Choose whether you want to enable addition features, such as {% data variables.copilot.copilot_autofix_short %}.{% endif %}
|
||||
|
||||
As an alternative to default setup, you can use advanced setup, which generates a workflow file you can edit to customize your {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %}. For more information, see [AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-advanced-setup-for-code-scanning-with-codeql).
|
||||
|
||||
|
||||
@@ -51,9 +51,12 @@ This table lists the secrets supported by {% data variables.product.prodname_sec
|
||||
|
||||
{% data reusables.secret-scanning.non-provider-patterns-beta %}
|
||||
|
||||
{% ifversion secret-scanning-ai-generic-secret-detection %}
|
||||
In addition to these generic non-provider patterns, {% data variables.product.prodname_secret_scanning %} uses {% data variables.product.prodname_copilot_short %} to detect generic passwords. For more information, see [AUTOTITLE](/code-security/secret-scanning/copilot-secret-scanning/responsible-ai-generic-secrets).
|
||||
{% endif %}
|
||||
|
||||
| Provider | Token |
|
||||
|----------|:--------------------|
|
||||
| Generic | password |
|
||||
| Generic | http_basic_authentication_header |
|
||||
| Generic | http_bearer_authentication_header |
|
||||
| Generic | mongodb_connection_string |
|
||||
|
||||
@@ -47,9 +47,9 @@ You can use the REST API to retrieve a list of the most recent validation status
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
## Asking {% data variables.product.prodname_copilot_chat %} about {% data variables.product.prodname_secret_scanning %} alerts
|
||||
## Asking {% data variables.copilot.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).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can ask {% data variables.copilot.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 %}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ topics:
|
||||
The {% data variables.product.prodname_github_security_configuration %} is a collection of enablement settings for {% data variables.product.company_short %}'s security features that is created and maintained by subject matter experts at {% data variables.product.company_short %}. The {% data variables.product.prodname_github_security_configuration %} is designed to successfully reduce the security risks for low- and high-impact repositories. We recommend you apply this configuration to all the repositories in your organization.
|
||||
|
||||
> [!NOTE]
|
||||
> The {% data variables.product.prodname_github_security_configuration %} includes {% data variables.product.prodname_GH_code_security %} and {% data variables.product.prodname_GH_secret_protection %} features. Applying the configuration to repositories in your organization will incur usage costs or require licenses.
|
||||
> The {% data variables.product.prodname_github_security_configuration %} includes {% data variables.product.prodname_GH_code_security %} and {% data variables.product.prodname_GH_secret_protection %} features. Applying the configuration to private and internal repositories in your organization will incur usage costs or require licenses.
|
||||
|
||||
## Applying the {% data variables.product.prodname_github_security_configuration %} to all repositories in your organization
|
||||
|
||||
|
||||
@@ -75,8 +75,8 @@ To update private dependencies of repositories in your organization, {% data var
|
||||
You can customize several {% data variables.product.prodname_global_settings %} for {% data variables.product.prodname_code_scanning %}:
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
* [Enabling {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_codeql %}](#enabling-copilot-autofix-for-codeql)
|
||||
* [Enabling {% data variables.product.prodname_copilot_autofix_short %} for third-party {% data variables.product.prodname_code_scanning %} tools](#enabling-copilot-autofix-for-third-party-code-scanning-tools) {% endif %}
|
||||
* [Enabling {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_codeql %}](#enabling-copilot-autofix-for-codeql)
|
||||
* [Enabling {% data variables.copilot.copilot_autofix_short %} for third-party {% data variables.product.prodname_code_scanning %} tools](#enabling-copilot-autofix-for-third-party-code-scanning-tools) {% endif %}
|
||||
* [Recommending the extended query suite for default setup](#recommending-the-extended-query-suite-for-default-setup){% ifversion ghes < 3.17 %}
|
||||
* [Setting a failure threshold for {% data variables.product.prodname_code_scanning %} checks in pull requests](#setting-a-failure-threshold-for-code-scanning-checks-in-pull-requests){% endif %}
|
||||
|
||||
@@ -88,16 +88,16 @@ You can customize several {% data variables.product.prodname_global_settings %}
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
### Enabling {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_codeql %}
|
||||
### Enabling {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_codeql %}
|
||||
|
||||
You can select **{% data variables.product.prodname_copilot_autofix_short %}** to enable {% data variables.product.prodname_copilot_autofix_short %} for all the repositories in your organization that use {% data variables.product.prodname_codeql %} default setup or {% data variables.product.prodname_codeql %} advanced setup. {% data variables.product.prodname_copilot_autofix_short %} is an expansion of {% data variables.product.prodname_code_scanning %} that suggests fixes for {% data variables.product.prodname_code_scanning %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
You can select **{% data variables.copilot.copilot_autofix_short %}** to enable {% data variables.copilot.copilot_autofix_short %} for all the repositories in your organization that use {% data variables.product.prodname_codeql %} default setup or {% data variables.product.prodname_codeql %} advanced setup. {% data variables.copilot.copilot_autofix_short %} is an expansion of {% data variables.product.prodname_code_scanning %} that suggests fixes for {% data variables.product.prodname_code_scanning %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
### Enabling {% data variables.product.prodname_copilot_autofix_short %} for third-party {% data variables.product.prodname_code_scanning %} tools
|
||||
### Enabling {% data variables.copilot.copilot_autofix_short %} for third-party {% data variables.product.prodname_code_scanning %} tools
|
||||
|
||||
>[!NOTE]
|
||||
> Third-party {% data variables.product.prodname_code_scanning %} tool support is in {% data variables.release-phases.public_preview %}, and subject to change. Currently, the third-party tool ESLint is supported. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
You can select **{% data variables.product.prodname_copilot_autofix_short %} for third-party tools** to enable {% data variables.product.prodname_copilot_autofix_short %} for all the repositories in your organization that use third-party tools. {% data variables.product.prodname_copilot_autofix_short %} is an expansion of {% data variables.product.prodname_code_scanning %} that suggests fixes for {% data variables.product.prodname_code_scanning %} alerts.
|
||||
You can select **{% data variables.copilot.copilot_autofix_short %} for third-party tools** to enable {% data variables.copilot.copilot_autofix_short %} for all the repositories in your organization that use third-party tools. {% data variables.copilot.copilot_autofix_short %} is an expansion of {% data variables.product.prodname_code_scanning %} that suggests fixes for {% data variables.product.prodname_code_scanning %} alerts.
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -17,12 +17,12 @@ When a repository uses code stored in a private registry, some security features
|
||||
|
||||
## {% data variables.product.prodname_code_scanning_caps %} default setup access to private registries
|
||||
|
||||
{% data variables.product.prodname_code_scanning_caps %} default setup analyzes {% data variables.code-scanning.no_build_support %} code without building it. If you do not define access to the private registries your organization uses, then {% data variables.product.prodname_code_scanning %} will only gather necessary data from dependencies available in public registries. Most times, this is enough for surfacing most of the vulnerabilities. However, in some cases the lack of access can lead to false negative results, that is, {% data variables.product.prodname_code_scanning %} is unable to detect a vulnerability in the code because it does not have all the information it needs to analyze the code. For example, some of the data flow paths may not be detected because steps are defined in dependencies that are not accessible and {% data variables.product.prodname_code_scanning %} does not know how to interpret them.
|
||||
If you do not define access to the private registries your organization uses, then {% data variables.product.prodname_code_scanning %} will only gather necessary data from dependencies available in public registries. Most times, this is enough for surfacing most of the vulnerabilities. However, in some cases the lack of access can lead to false negative results, that is, {% data variables.product.prodname_code_scanning %} is unable to detect a vulnerability in the code because it does not have all the information it needs to analyze the code. For example, some of the data flow paths may not be detected because steps are defined in dependencies that are not accessible and {% data variables.product.prodname_code_scanning %} does not know how to interpret them.
|
||||
|
||||
When you configure access to the private registries used in your organization, {% data variables.product.prodname_code_scanning %} has access to all the information it needs and is much less likely to miss a vulnerability.
|
||||
|
||||
> [!TIP]
|
||||
> You can define one private Maven registry and one private NuGet feed for each organization. If the codebases in your organization use more than one registry or feed, you should define access to the most important registry for the codebases in that organization.
|
||||
> You can define one of each type of registry for each organization. If the codebases in your organization use more than one registry of a given type, you should define access to the most important registry for the codebases in that organization.
|
||||
|
||||
### Defining registry access for {% data variables.product.prodname_code_scanning %} default setup
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ A security campaign has many benefits over other ways of encouraging developers
|
||||
* Developers are notified about any security campaigns taking place in repositories they work in or subscribe to by email.
|
||||
* Developers can see the alerts you've highlighted for remediation without leaving their normal workflows.
|
||||
* Each campaign has a named point of contact for questions, reviews, and collaboration. {% ifversion security-campaigns-autofix %}
|
||||
* {% data variables.product.prodname_copilot_autofix %} is automatically triggered to suggest a resolution for each security alert. {% endif %}
|
||||
* {% data variables.copilot.copilot_autofix %} is automatically triggered to suggest a resolution for each security alert. {% endif %}
|
||||
|
||||
You can use one of the templates to select a group of closely related alerts for a campaign. This allows developers to build on the knowledge gained by resolving one alert and use it to fix several more, providing them with an incentive to fix multiple alerts.
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ topics:
|
||||
Successful security campaigns to fix alerts at scale have many features in common, including:
|
||||
|
||||
* Selecting a related group of security alerts for remediation.
|
||||
* Using {% data variables.product.prodname_copilot_autofix_short %} suggestions where possible to help developers remediate alerts faster and more effectively.
|
||||
* Using {% data variables.copilot.copilot_autofix_short %} suggestions where possible to help developers remediate alerts faster and more effectively.
|
||||
* Making sure that the campaign managers are available for collaboration, reviews, and questions about fixes.
|
||||
* Providing access to educational information about the type of alerts included in the campaign.{% ifversion ghec %}
|
||||
* Making {% data variables.product.prodname_copilot_chat %} available for developers to use to learn about the vulnerabilities highlighted by the security alerts in the campaign. {% endif %}
|
||||
* Making {% data variables.copilot.copilot_chat %} available for developers to use to learn about the vulnerabilities highlighted by the security alerts in the campaign. {% endif %}
|
||||
* Defining a realistic deadline for campaign, bearing in mind the number of alerts you aim to fix.
|
||||
* Publicizing the collaboration to developer teams and identifying the best way to engage them for your organization.
|
||||
|
||||
@@ -38,9 +38,9 @@ For example, if you have many alerts for cross-site scripting vulnerabilities, y
|
||||
* Hold a training session or other event to highlight this opportunity to gain confidence in secure coding while fixing real bugs.
|
||||
* Make sure that the security team members assigned to manage the campaign are available to review the pull requests created to fix the campaign alerts, collaborating as needed.
|
||||
|
||||
### Using {% data variables.product.prodname_copilot_autofix_short %} to help remediate security alerts
|
||||
### Using {% data variables.copilot.copilot_autofix_short %} to help remediate security alerts
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides users with targeted recommendations to help fix {% data variables.product.prodname_code_scanning %} alerts. When you select alerts to include in a security campaign, you can preferentially include alerts that are eligible to be fixed with the help of {% data variables.product.prodname_copilot_autofix %} using the `autofix:supported` filter.
|
||||
{% data variables.copilot.copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides users with targeted recommendations to help fix {% data variables.product.prodname_code_scanning %} alerts. When you select alerts to include in a security campaign, you can preferentially include alerts that are eligible to be fixed with the help of {% data variables.copilot.copilot_autofix %} using the `autofix:supported` filter.
|
||||
|
||||
### Campaign filter templates
|
||||
|
||||
@@ -85,7 +85,7 @@ The OWASP Foundation provides many resources for learning about the most common
|
||||
|
||||
## Providing AI support for learning about security vulnerabilities
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} is automatically triggered to suggest a resolution for each security alert. However, developers will often want more information about why the original code is insecure and how to test that the fix is correct and doesn't break other components.
|
||||
{% data variables.copilot.copilot_autofix %} is automatically triggered to suggest a resolution for each security alert. However, developers will often want more information about why the original code is insecure and how to test that the fix is correct and doesn't break other components.
|
||||
|
||||
{% data variables.product.prodname_copilot %} is an important tool for developers who have questions about secure coding, how to fix security alerts, and test their fix. Check that all developers in your organization have access to {% data variables.product.prodname_copilot_short %} in both their IDE and {% data variables.product.github %}, see [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/granting-access-to-copilot-for-members-of-your-organization).
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ Security campaigns are created and managed from the **Security** tab for your or
|
||||
|
||||
You choose the alerts that you want to include in the campaign by using either:
|
||||
|
||||
* **Campaign templates**: Campaign templates contain filters for the most common alert selections. {% ifversion security-campaigns-autofix %}They also all include the requirement that {% data variables.product.prodname_copilot_autofix %} is supported for all the alert types included (that is, `autofix:supported`).{% endif %}
|
||||
* **Campaign templates**: Campaign templates contain filters for the most common alert selections. {% ifversion security-campaigns-autofix %}They also all include the requirement that {% data variables.copilot.copilot_autofix %} is supported for all the alert types included (that is, `autofix:supported`).{% endif %}
|
||||
* **Custom filters**: Creating a campaign using custom filters lets you define your own criteria for selecting alerts for the campaign, and lets you tailor your campaign to your organization's specific needs.
|
||||
|
||||
{% data reusables.code-scanning.campaigns-api %}
|
||||
@@ -70,7 +70,7 @@ All the template filters include the following useful filters:
|
||||
|
||||
* `is:open` includes only alerts that are open in the default branch.
|
||||
* `autofilter:true` includes only alerts that appear to be in application code. {% ifversion security-campaigns-autofix %}
|
||||
* `autofix:supported` includes only alerts that are for rules that are supported for {% data variables.product.prodname_copilot_autofix %}.{% endif %}
|
||||
* `autofix:supported` includes only alerts that are for rules that are supported for {% data variables.copilot.copilot_autofix %}.{% endif %}
|
||||
|
||||
Once you include these core filters, you will usually want to add a filter to limit results to a specific rule name, severity, or tag. For example:
|
||||
|
||||
@@ -88,7 +88,7 @@ For more information about filtering alerts, see [AUTOTITLE](/code-security/secu
|
||||
|
||||
{% ifversion security-campaigns-autofix %}
|
||||
|
||||
When you create a campaign, all the alerts are automatically submitted to {% data variables.product.prodname_copilot_autofix %} to be processed as capacity allows. This ensures that suggestions for alerts found in pull requests aren't delayed by a new campaign. In most cases, you should find that all suggestions that can be created are ready within an hour. At busy times of day, or for particularly complex alerts, it will take longer.
|
||||
When you create a campaign, all the alerts are automatically submitted to {% data variables.copilot.copilot_autofix %} to be processed as capacity allows. This ensures that suggestions for alerts found in pull requests aren't delayed by a new campaign. In most cases, you should find that all suggestions that can be created are ready within an hour. At busy times of day, or for particularly complex alerts, it will take longer.
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ The tracking view shows you a summary of:
|
||||
|
||||
* **Campaign progress**: how many alerts are closed (fixed or dismissed), in progress, or still left to review.
|
||||
* **Status**: how the campaign is progressing towards its due date.
|
||||
* **{% data variables.product.prodname_copilot_autofix_short %}**: number of alerts where {% data variables.product.prodname_copilot_autofix_short %} can generate a fix to resolve the alert.
|
||||
* **{% data variables.copilot.copilot_autofix_short %}**: number of alerts where {% data variables.copilot.copilot_autofix_short %} can generate a fix to resolve the alert.
|
||||
|
||||
You can also explore the campaign repositories and alerts to see where teams are engaging in the campaign, and where teams might need some extra encouragement to take part.
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ The {% data variables.product.prodname_github_security_configuration %} offers a
|
||||
* It is the quickest {% data variables.product.prodname_security_configuration %} to apply to all repositories in your organization.
|
||||
* It is designed to effectively secure both low- and high-impact repositories.
|
||||
|
||||
The {% data variables.product.prodname_github_security_configuration %} includes {% data variables.product.prodname_GH_code_security %} and {% data variables.product.prodname_GH_secret_protection %} features. Applying the configuration to repositories in your organization will incur usage costs or require licenses.
|
||||
The {% data variables.product.prodname_github_security_configuration %} includes {% data variables.product.prodname_GH_code_security %} and {% data variables.product.prodname_GH_secret_protection %} features. Applying the configuration to private and internal repositories in your organization will incur usage costs or require licenses.
|
||||
|
||||
To start securing repositories in your organization with the {% data variables.product.prodname_github_security_configuration %}, see [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/applying-the-github-recommended-security-configuration-in-your-organization).
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user