Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ topics:
- Code scanning
- CodeQL
contentType: tutorials
redirect_from:
- /code-security/how-tos/scan-code-for-vulnerabilities/customize-code-scanning
children:
- /evaluating-default-setup-for-code-scanning
- /preparing-your-code-for-codeql-analysis
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,8 @@ Users can include hidden messages in issues assigned to {% data variables.copilo

### Limitations in {% data variables.copilot.copilot_coding_agent %}'s software development workflow

* **{% data variables.product.prodname_copilot_short %} can only make changes in the same repository where it is creating its pull request**. When {% data variables.product.prodname_copilot_short %} is assigned an issue, it can only make changes in the repository where that issue is located. In addition, {% data variables.product.prodname_copilot_short %} cannot make changes across multiple repositories in one run.
* **{% data variables.product.prodname_copilot_short %} can only access context in the same repository as the assigned issue**. By default, an integration with the {% data variables.product.prodname_copilot_short %} MCP server provides {% data variables.product.prodname_copilot_short %} access to one repository at a time. You can, however, configure broader access. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent/extending-copilot-coding-agent-with-mcp).
* **{% data variables.product.prodname_copilot_short %} can only make changes in the repository specified when you start a task**. {% data variables.product.prodname_copilot_short %} cannot make changes across multiple repositories in one run.
* **By default, {% data variables.product.prodname_copilot_short %} can only access context in the repository specified when you start a task**. The {% data variables.product.prodname_copilot_short %} MCP server is configured by default to allow {% data variables.product.prodname_copilot_short %} to access context (for example issues and historic pull requests) in the repository where it is working. You can, however, configure broader access. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent/extending-copilot-coding-agent-with-mcp).
* **{% data variables.product.prodname_copilot_short %} can only open one pull request at a time**. {% data variables.product.prodname_copilot_short %} will open exactly one pull request to address each task it is assigned.

### Limitations in {% data variables.copilot.copilot_coding_agent %}'s compatibility with other features
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ You can ask {% data variables.product.prodname_copilot_short %} to create a new
* The [{% data variables.product.prodname_cli %}](#asking-copilot-to-create-a-pull-request-from-the-github-cli)
* On [{% data variables.product.prodname_mobile %}](#asking-copilot-to-create-a-pull-request-from-github-mobile)
* Your preferred IDE or agentic coding tool with [Model Context Protocol (MCP)](#asking-copilot-to-create-a-pull-request-from-the-github-mcp-server) support
* The [Raycast](#asking-copilot-to-create-a-pull-request-from-raycast) launcher on macOS
* The [Raycast](#asking-copilot-to-create-a-pull-request-from-raycast) launcher
* The ["New repository" form](#asking-copilot-to-create-a-pull-request-from-the-new-repository-page) on {% data variables.product.github %}

{% data variables.product.prodname_copilot_short %} will start working on the task, raise a pull request, then request a review from you when it's finished working. For more information, see [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot).
Expand All @@ -56,6 +56,7 @@ You can assign an issue to {% data variables.product.prodname_copilot_short %}:
* On {% data variables.product.prodname_dotcom_the_website %} (see the [next section](#assigning-an-issue-to-copilot-on-githubcom))
* On [{% data variables.product.prodname_mobile %}](#assigning-an-issue-to-copilot-on-github-mobile)
* Via the {% data variables.product.github %} API (see [later in this article](#assigning-an-issue-to-copilot-via-the-github-api))
* Using the [Raycast launcher](#assigning-an-issue-to-copilot-from-raycast)
* Using {% data variables.product.prodname_cli %} (see [`gh issue edit`](https://cli.github.com/manual/gh_issue_edit))

### Assigning an issue to {% data variables.product.prodname_copilot_short %} on {% data variables.product.prodname_dotcom_the_website %}
Expand Down Expand Up @@ -96,7 +97,7 @@ You can assign an issue to {% data variables.product.prodname_copilot_short %}:
> [!TIP]
> When you assign an issue to {% data variables.product.prodname_copilot_short %}, it gets sent the issue title, description, any comments that currently exist, and any additional instructions you provide. After assigning the issue, {% data variables.product.prodname_copilot_short %} will not be aware of, and therefore won't react to, any further comments that are added to the issue. If you have more information, or changes to the original requirement, add this as a comment in the pull request that {% data variables.product.prodname_copilot_short %} raises.
{% data reusables.copilot.optional-select-custom-agent %}
{% data reusables.copilot.optional-select-custom-agent-dotcom %}
{% data reusables.copilot.optional-select-copilot-coding-agent-model %}

You can also assign issues to {% data variables.product.prodname_copilot_short %} from other places on {% data variables.product.prodname_dotcom_the_website %}:
Expand Down Expand Up @@ -418,6 +419,26 @@ gh api \
}'
```

### Assigning an issue to {% data variables.product.prodname_copilot_short %} from Raycast

{% data reusables.copilot.coding-agent.raycast-intro %}

{% data reusables.copilot.coding-agent.raycast-setup %}
1. Open Raycast, search for "{% data variables.product.prodname_copilot_short %}," find the **Assign Issues to {% data variables.product.prodname_copilot_short %}** command, then press <kbd>Enter</kbd>.
1. Click **Sign in with {% data variables.product.github %}**, then complete the authentication flow. Raycast will re-open.
1. Select the repository you want {% data variables.product.prodname_copilot_short %} to work in.
1. Select the issue you want to assign to {% data variables.product.prodname_copilot_short %}.
1. Optionally, select a base branch for {% data variables.product.prodname_copilot_short %}'s pull request. {% data variables.product.prodname_copilot_short %} will create a new branch based on this branch, then push the changes to a pull request targeting that branch.
{% data reusables.copilot.optional-select-custom-agent-generic %}
{% data reusables.copilot.optional-select-copilot-coding-agent-model %}
1. Optionally, provide additional instructions. These will be passed to {% data variables.product.prodname_copilot_short %} alongside your issue contents.
1. Press <kbd>Command</kbd>+<kbd>Enter</kbd> to assign the issue.

{% data variables.product.prodname_copilot_short %} will start a new session. {% data variables.product.prodname_copilot_short %} will work on the task and push changes to its pull request, then add you as a reviewer when it has finished, triggering a notification.


{% data reusables.copilot.coding-agent.raycast-oauth-access-restrictions %}

## Asking {% data variables.product.prodname_copilot_short %} to create a pull request from the agents tab or panel

You can ask {% data variables.product.prodname_copilot_short %} to open a pull request from either the agents tab or the agents panel. The only difference is the entry point - once you see the "New agent task" form, the steps are the same.
Expand All @@ -437,7 +458,7 @@ You can ask {% data variables.product.prodname_copilot_short %} to open a pull r
For example, `Implement a user friendly message for common errors.`

1. Optionally, select a base branch for {% data variables.product.prodname_copilot_short %}'s pull request. {% data variables.product.prodname_copilot_short %} will create a new branch based on this branch, then push the changes to a pull request.
{% data reusables.copilot.optional-select-custom-agent %}
{% data reusables.copilot.optional-select-custom-agent-dotcom %}
1. Click **{% octicon "paper-airplane" aria-label="Send now" %} Send now** or press <kbd>Return</kbd>.

You will be taken to the agents tab, and {% data variables.product.prodname_copilot_short %} will start a new session, which will appear in the "Recent sessions" list below the prompt box. {% data variables.product.prodname_copilot_short %} will work on the task and push changes to its pull request, then add you as a reviewer when it has finished, triggering a notification.
Expand Down Expand Up @@ -521,7 +542,7 @@ You can ask {% data variables.product.prodname_copilot_short %} to open a pull r
For example, `/task Put backticks around file names and variables in output.`

1. Optionally, select a base branch for {% data variables.product.prodname_copilot_short %}'s pull request. {% data variables.product.prodname_copilot_short %} will create a new branch based on this branch, then push the changes to a pull request targeting that branch.
{% data reusables.copilot.optional-select-custom-agent %}
{% data reusables.copilot.optional-select-custom-agent-dotcom %}
1. Click **{% octicon "paper-airplane" aria-label="Start task" %}** or press <kbd>Enter</kbd>.

{% data variables.product.prodname_copilot_short %} will start a new session, which will appear in the list below the prompt box. {% data variables.product.prodname_copilot_short %} will work on the task and push changes to its pull request, then add you as a reviewer when it has finished, triggering a notification.
Expand Down Expand Up @@ -592,14 +613,14 @@ To see all of the available options, run `gh agent-task create --help`.
For example, `Implement a user friendly message for common errors.`
1. Select the repository you want {% data variables.product.prodname_copilot_short %} to work in.
1. Optionally, select a base branch for {% data variables.product.prodname_copilot_short %}'s pull request. {% data variables.product.prodname_copilot_short %} will create a new branch based on this branch, then push the changes to a pull request targeting that branch.
{% data reusables.copilot.optional-select-custom-agent-generic %}
{% data reusables.copilot.optional-select-copilot-coding-agent-model %}
1. Press <kbd>Command</kbd>+<kbd>Enter</kbd> to start the task.

{% data variables.product.prodname_copilot_short %} will start a new session. {% data variables.product.prodname_copilot_short %} will work on the task and push changes to its pull request, then add you as a reviewer when it has finished, triggering a notification.

> [!NOTE]
>
> If you are unable to select a specific repository when starting a task, the organization that owns the repository may have enabled {% data variables.product.prodname_oauth_app %} access restrictions. To learn how to request approval for the "{% data variables.product.prodname_copilot %} for Raycast" {% data variables.product.prodname_oauth_app %}, see [AUTOTITLE](/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps).

{% data reusables.copilot.coding-agent.raycast-oauth-access-restrictions %}

## Asking {% data variables.product.prodname_copilot_short %} to create a pull request from the "New repository" page

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ category:
* Open the Agents panel by clicking the {% octicon "agent" aria-label="The Agents icon" %} at the top of any page on {% data variables.product.github %}
1. Using the dropdown menu, select the repository you want the coding agent to work in.
1. Optionally, select a base branch for {% data variables.product.prodname_copilot_short %}'s pull request.
{% data reusables.copilot.optional-select-custom-agent %}
{% data reusables.copilot.optional-select-custom-agent-dotcom %}
1. Optionally, select the **CURRENT-MODEL** {% octicon "chevron-down" aria-hidden="true" aria-label="chevron-down" %} dropdown menu, then click the AI model of your choice.
1. Type a prompt describing your request. For example:

Expand Down
2 changes: 1 addition & 1 deletion data/reusables/actions/supported-github-runners.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ For public repositories, jobs using the workflow labels shown in the table below
<td>
<code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md">windows-latest</a></code>,
<code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md">windows-2025</a></code>,
<code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-vs2026-Readme.md">windows-2025-vs2026</a></code> ({% data variables.release-phases.public_preview %}),
<code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-VS2026-Readme.md">windows-2025-vs2026</a></code> ({% data variables.release-phases.public_preview %}),
<code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md">windows-2022</a></code>
</td>
</tr>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
For example, `Implement a user friendly message for common errors.`

1. Optionally, select a base branch for {% data variables.product.prodname_copilot_short %}'s pull request. {% data variables.product.prodname_copilot_short %} will create a new branch based on this branch, then push the changes to a pull request targeting that branch.
1. {% data reusables.copilot.optional-select-custom-agent %}
1. {% data reusables.copilot.optional-select-custom-agent-dotcom %}
{% data reusables.copilot.optional-select-copilot-coding-agent-model %}
1. Click **{% octicon "paper-airplane" aria-label="Start task" %}** or press <kbd>Enter</kbd>.

Expand Down
2 changes: 1 addition & 1 deletion data/reusables/copilot/coding-agent/raycast-intro.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[Raycast](https://www.raycast.com/) is an extensible launcher for macOS. With the {% data variables.product.prodname_copilot %} extension for Raycast, you can start and track {% data variables.copilot.copilot_coding_agent %} tasks wherever you are on your computer.
[Raycast](https://www.raycast.com/) is an extensible launcher for Windows and macOS. With the {% data variables.product.prodname_copilot %} extension for Raycast, you can start and track {% data variables.copilot.copilot_coding_agent %} tasks wherever you are on your computer.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
> [!NOTE]
>
> If you are unable to select a specific repository when starting a task, the organization that owns the repository may have enabled {% data variables.product.prodname_oauth_app %} access restrictions. To learn how to request approval for the "{% data variables.product.prodname_copilot %} for Raycast" {% data variables.product.prodname_oauth_app %}, see [AUTOTITLE](/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps).
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1. Optionally, select a {% data variables.copilot.copilot_custom_agent_short %} with specialized behavior and tools from the dropdown menu. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents).
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ You may encounter a secondary rate limit if you:
* _Make too many requests per minute._ No more than 90 seconds of CPU time per 60 seconds of real time is allowed. No more than 60 seconds of this CPU time may be for the GraphQL API. You can roughly estimate the CPU time by measuring the total response time for your API requests.
* _Make too many requests that consume excessive compute resources in a short period of time._
* _Create too much content on {% data variables.product.company_short %} in a short amount of time._ In general, no more than 80 content-generating requests per minute and no more than 500 content-generating requests per hour are allowed. Some endpoints have lower content creation limits. Content creation limits include actions taken on the {% data variables.product.company_short %} web interface as well as via the REST API and GraphQL API.
* _Make too many OAuth access token requests in a short period of time._ No more than 2,000 OAuth access token requests per hour are allowed for {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %}.

These secondary rate limits are subject to change without notice. You may also encounter a secondary rate limit for undisclosed reasons.

Expand Down
4 changes: 2 additions & 2 deletions data/variables/secret-scanning.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ roi-calculator: 'ROI calculator'
pricing-calculator: 'pricing calculator'

# Secret risk assessment call to action links. If changing the links below, also update the hard-coded link in /code-security/index.md
secret-risk-assessment-cta-link: '/code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/assess-your-secret-risk'
secret-risk-assessment-cta-link: '/code-security/how-tos/secure-at-scale/configure-organization-security/configure-specific-tools/assess-your-secret-risk'
secret-risk-assessment-cta-text: 'Find out how to run a free secret risk assessment'
secret-risk-assessment-cta-product: '[<span class="btn btn-primary mt-3 mr-3 no-underline">{% data variables.secret-scanning.secret-risk-assessment-cta-text %}</span>](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/viewing-the-secret-risk-assessment-report-for-your-organization#generating-an-initial-secret-risk-assessment)'
secret-risk-assessment-cta-product: '[<span class="btn btn-primary mt-3 mr-3 no-underline">{% data variables.secret-scanning.secret-risk-assessment-cta-text %}</span>](/code-security/how-tos/secure-at-scale/configure-organization-security/configure-specific-tools/assess-your-secret-risk#generating-an-initial-secret-risk-assessment)'

# Combined to provide a secret to demonstrate push protection. Dummy secret, no access.
learner-example-secret-a: 'secret_scanning_ab85fc6f8d76'
Expand Down
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.