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
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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:20260213-184502-g77a9fd0b0@sha256:88c4a7176139d7ea917c7a30413af68bbf16672b16806a71451ada25d0ac78ff AS base
FROM ghcr.io/github/gh-base-image/gh-base-noble:20260218-111945-g0ef8bb15f@sha256:03eb088f3581049afaf2984f917a3a9be7e5efc248049f4156cd83481579fb59 AS base

# Install curl for Node install and determining the early access branch
# Install git for cloning docs-early-access & translations repos
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,6 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav
```powershell
ssh-add c:/Users/YOU/.ssh/id_ed25519
```
{% data reusables.ssh.add-public-key-to-github %}
> ### Troubleshooting SSH agent conflicts in Windows
Expand Down Expand Up @@ -267,7 +266,7 @@ If you are using macOS or Linux, you may need to update your SSH client or insta
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
```

{% data reusables.ssh.add-public-key-to-github %}


Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ contentType: concepts
Software developers and security researchers can secure their code
using {% data variables.product.prodname_codeql %} analysis. For more information about {% data variables.product.prodname_codeql %}, see [AUTOTITLE](/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql).

{% data reusables.code-scanning.what-is-codeql-cli %}
The {% data variables.product.prodname_codeql_cli %} is a standalone, command-line tool that you can use to analyze code. Its main purpose is to generate a database representation of a codebase, a {% data variables.product.prodname_codeql %} database. Once the database is ready, you can query it interactively, or run a suite of queries to generate a set of results in SARIF format and upload the results to {% data variables.product.github %}.

You can use the {% data variables.product.prodname_codeql_cli %} to:

Expand Down Expand Up @@ -110,4 +110,8 @@ codeql github upload-results \
--sarif=python-results.sarif
```

### Database extraction

The {% data variables.product.prodname_codeql_cli %} uses special programs, called extractors, to extract information from the source code of a software system into a database that can be queried. You can customize the behavior of extractors by setting extractor configuration options through the {% data variables.product.prodname_codeql_cli %}. See [AUTOTITLE](/code-security/reference/code-scanning/codeql/codeql-cli/extractor-options).

{% data reusables.code-scanning.codeql-license %}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: About global security advisories
shortTitle: Global security advisories
intro: Global security advisories live in the {% data variables.product.prodname_advisory_database %}, a collection of CVEs and {% data variables.product.company_short %}-originated advisories affecting the open source world. You can contribute to improving global security advisories.
intro: Global security advisories are CVEs and {% data variables.product.company_short %}-originated advisories affecting the open source world, located in the {% data variables.product.prodname_advisory_database %}.
versions:
fpt: '*'
ghec: '*'
Expand All @@ -19,22 +19,24 @@ redirect_from:

## About global security advisories

{% ifversion fpt or ghec %}There are two types of advisories: global security advisories and repository security advisories. For more information about repository security advisories, see [AUTOTITLE](/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories).{% endif %}

Global security advisories are grouped into these categories: {% data variables.product.company_short %}-reviewed advisories, unreviewed advisories, and malware advisories.
{% ifversion fpt or ghec %} There are two types of advisories: global security advisories and repository security advisories. {% endif %}**Global** advisories live in the [{% data variables.product.prodname_advisory_database %}](https://github.com/advisories) and are grouped into three categories:
* {% data reusables.advisory-database.github-reviewed-overview %}
* {% data reusables.advisory-database.unreviewed-overview %}
* {% data reusables.advisory-database.malware-overview %}

> [!NOTE]
> {% data variables.product.prodname_dependabot %} doesn't generate {% data variables.product.prodname_dependabot_alerts %} for unreviewed and malware advisories.

For more information about the {% data variables.product.prodname_advisory_database %}, see [AUTOTITLE](/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database).
Every **repository** advisory is reviewed by the {% data variables.product.prodname_security %} curation team for consideration as a global advisory. We publish security advisories for any of the ecosystems supported by the dependency graph to the {% data variables.product.prodname_advisory_database %}.

Anyone can suggest improvements on any global security advisory. You can edit or add any detail, including additionally affected ecosystems, severity level or description of who is impacted. The {% data variables.product.prodname_security %} curation team will review the submitted improvements.

{% data reusables.security-advisory.global-advisories %}
## Next steps

Every repository advisory is reviewed by the {% data variables.product.prodname_security %} curation team for consideration as a global advisory. We publish security advisories for any of the ecosystems supported by the dependency graph to the {% data variables.product.prodname_advisory_database %} on [github.com/advisories](https://github.com/advisories).
Access advisories in the {% data variables.product.prodname_advisory_database %}. See [AUTOTITLE](/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/browsing-security-advisories-in-the-github-advisory-database).

You can access any advisory in the {% data variables.product.prodname_advisory_database %}. For more information, see [AUTOTITLE](/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/browsing-security-advisories-in-the-github-advisory-database).
{% ifversion fpt or ghec %}
## Further reading

You can suggest improvements to any advisory in the {% data variables.product.prodname_advisory_database %}. For more information, see [AUTOTITLE](/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/editing-security-advisories-in-the-github-advisory-database).
* [AUTOTITLE](/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories)
{% endif %}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Extractor options
intro: You can use the {% data variables.product.prodname_codeql_cli %} to run {% data variables.product.prodname_codeql %} processes locally on software projects.
intro: Control how the {% data variables.product.prodname_codeql_cli %} builds databases for analysis with extractor options.
product: '{% data reusables.gated-features.codeql %}'
versions:
fpt: '*'
Expand All @@ -19,13 +19,13 @@ contentType: reference
<!--The CodeQL CLI man pages include a link to this article. If you rename this article,
make sure that you also update the MS short link: https://aka.ms/codeql-cli-docs/extractor-options.-->

## About extractors
## Available extractor options

The {% data variables.product.prodname_codeql_cli %} uses special programs, called extractors, to extract information from the source code of a software system into a database that can be queried. You can customize the behavior of extractors by setting extractor configuration options through the {% data variables.product.prodname_codeql_cli %}.
Each extractor defines its own set of configuration options for building a queryable {% data variables.product.prodname_codeql %} database from source code. To find out which options are available for a particular extractor, you can run either of the following commands:
* `codeql resolve languages --format=betterjson`
* `codeql resolve extractor --language=LANGUAGE --format=betterjson`

## About extractor options

Each extractor defines its own set of configuration options. To find out which options are available for a particular extractor, you can run `codeql resolve languages` or `codeql resolve extractor` with the `--format=betterjson` option. The `betterjson` output format provides the root paths of extractors and additional information. The output of `codeql resolve extractor --format=betterjson` will often be formatted like the following example:
The `betterjson` output format provides the root paths of extractors and additional information. The output of `codeql resolve extractor --language=LANGUAGE --format=betterjson` will often be formatted like the following example:

```json
{
Expand Down Expand Up @@ -70,7 +70,7 @@ In the example above, the extractor declares two options:
* `option1` is a `string` option with value matching `[a-z]+`
* `group1.option2` is an `array` option with values matching `[1-9][0-9]\*`

## Setting extractor options with the {% data variables.product.prodname_codeql_cli %}
## Commands for setting extractor options

The {% data variables.product.prodname_codeql_cli %} supports setting extractor options in subcommands that directly or indirectly invoke extractors. These commands are:

Expand All @@ -84,7 +84,9 @@ When running these subcommands, you can set extractor options with the `--extrac
* `codeql database create --extractor-option java.option1=abc ...`
* `codeql database start-tracing --extractor-option java.group1.option2=102 ...`

`--extractor-option` requires exactly one argument of the form `extractor_option_name=extractor_option_value`. `extractor_option_name` is the name of the extractor (in this example, `java`) followed by a period and then the name of the extractor option (in this example, either `option1` or `group1.option2`). `extractor_option_value` is the value being assigned to the extractor option. The value must match the regular expression pattern of the extractor option (if it exists), and it must not contain newline characters.
`--extractor-option` requires exactly one argument of the form `extractor_option_name=extractor_option_value`:
* `extractor_option_name` is the name of the extractor (in this example, `java`) followed by a period and then the name of the extractor option (in this example, either `option1` or `group1.option2`).
* `extractor_option_value` is the value being assigned to the extractor option. The value must match the regular expression pattern of the extractor option (if it exists), and it must not contain newline characters.

Using `--extractor-option` to assign an extractor option that does not exist is an error.

Expand All @@ -97,7 +99,7 @@ You can also specify extractor option names without the extractor name. For exam

If you do not specify an extractor name, the extractor option settings will apply to all extractors that declare an option with the given name. In the above example, the first command would set the extractor option `option1` to `abc` for the `java` extractor and every extractor that has an option of `option1`, for example the `cpp` extractor, if the `option1` extractor option exists for that extractor.

## Setting extractor options from files
## File format for extractor options

You can also set extractor options through a file. The {% data variables.product.prodname_codeql_cli %} subcommands that accept `--extractor-option` also accept `--extractor-options-file`, which has a required argument of the path to a YAML file (with extension `.yaml` or `.yml`) or a JSON file (with extension `.json`). For example:

Expand Down
16 changes: 3 additions & 13 deletions content/copilot/concepts/agents/code-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@ redirect_from:
- /copilot/code-review
- /copilot/concepts/code-review/code-review
- /copilot/concepts/code-review
- /copilot/how-tos/use-copilot-agents/request-a-code-review/manage-tools
contentType: concepts
category:
- Learn about Copilot
---

## Introduction

{% data variables.copilot.copilot_code-review_short %} reviews code written in any language, and provides feedback. It reviews your code from multiple angles to identify issues and suggest fixes. You can apply suggested changes with a couple of clicks.
{% data variables.copilot.copilot_code-review_short %} reviews code written in any language, and provides feedback. It reviews your code from multiple angles to identify issues and suggest fixes. You can apply suggested changes with a couple of clicks.

This article provides an overview of {% data variables.copilot.copilot_code-review_short %}. To learn how to request a code review from {% data variables.product.prodname_copilot_short %}, see [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review).

Expand Down Expand Up @@ -77,7 +78,7 @@ Some file types are excluded from {% data variables.copilot.copilot_code-review_
* Log files
* SVG files

If you include these file types in a pull request, {% data variables.copilot.copilot_code-review_short %} will not review the file.
If you include these file types in a pull request, {% data variables.copilot.copilot_code-review_short %} will not review the file.

For more information, see [AUTOTITLE](/copilot/reference/review-excluded-files).

Expand All @@ -93,7 +94,6 @@ If you get a {% data variables.product.prodname_copilot_short %} subscription fr
These new tools are enabled automatically for {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} plans.

* **Full project context gathering**. This provides more specific, accurate, and contextually aware code reviews.
* **Support for static analysis tools like {% data variables.product.prodname_codeql %}, ESLint, and PMD**. This delivers more high-signal, consistent findings for security and quality.
* **The ability to pass suggestions to {% data variables.copilot.copilot_coding_agent %}**. This automates creation of a new pull request against your branch with the suggested fixes applied.

You do not need to have {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_actions %} enabled in your organization or enterprise to use the {% data variables.copilot.copilot_code-review-tools_short %}.
Expand Down Expand Up @@ -176,16 +176,6 @@ For full instructions, see [AUTOTITLE](/copilot/how-tos/agents/copilot-code-revi
> [!NOTE]
> Unless {% data variables.product.prodname_copilot_short %} has been configured to review each push to a pull request, it will only review a pull request once. If you make changes to the pull request after it has been automatically reviewed and you want {% data variables.product.prodname_copilot_short %} to re-review it, you can request this manually. Click the {% octicon "sync" aria-label="Re-request review" %} button next to {% data variables.product.prodname_copilot_short %}'s name in the **Reviewers** menu.

## About static analysis tools

Enable static analysis tools in {% data variables.copilot.copilot_code-review_short %} to enhance its ability to identify and fix issues. Available tools include:

* **{% data variables.product.prodname_codeql %}**: A code analysis engine that identifies security vulnerabilities. For more information, see [About {% data variables.product.prodname_codeql %}](/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql).
* **ESLint**: A linter designed specifically for JavaScript. See [Core Concepts](https://eslint.org/docs/latest/use/core-concepts/) in the the ESLint documentation.
* **PMD**: A static code analyzer that focuses on Java and Apex. It also supports many other languages. See the [PMD documentation](https://docs.pmd-code.org/latest/).

If you have access to {% data variables.copilot.copilot_code-review-tools_short %}, {% data variables.product.prodname_codeql %} is enabled by default. ESLint and PMD are disabled. If you have access to rulesets, you can change your selected tools. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/request-a-code-review/manage-tools).

## Getting detailed code quality feedback for your whole repository

{% data variables.copilot.copilot_code-review %} reviews your code in pull requests and provides feedback. If you want actionable feedback on the reliability and maintainability of your whole repository, enable {% data variables.product.prodname_code_quality %}. See [AUTOTITLE](/code-security/code-quality/concepts/about-code-quality).
Expand Down
12 changes: 12 additions & 0 deletions content/copilot/concepts/agents/coding-agent/about-coding-agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,18 @@ Having {% data variables.copilot.copilot_coding_agent %} as an additional coding

You can create specialized {% data variables.copilot.custom_agents_short %} for different tasks. For example, you might create a {% data variables.copilot.copilot_custom_agent_short %} specialized for frontend development that focuses on React components and styling, a documentation agent that excels at writing and updating technical documentation, or a testing agent that specializes in generating comprehensive unit tests. Each {% data variables.copilot.copilot_custom_agent_short %} can be tailored with specific prompts and tools suited to its particular task.

## Measuring pull request outcomes for {% data variables.copilot.copilot_coding_agent %}

Enterprise administrators can use {% data variables.product.prodname_copilot_short %} usage metrics to analyze pull request outcomes for pull requests created by {% data variables.copilot.copilot_coding_agent %}.

The enterprise-level {% data variables.product.prodname_copilot_short %} usage metrics API includes pull request lifecycle metrics such as:

* The total number of pull requests created and merged
* The number of pull requests created by {% data variables.copilot.copilot_coding_agent %} that have been merged
* Median time to merge for merged pull requests, including pull requests created by {% data variables.copilot.copilot_coding_agent %}

These metrics can help you track adoption of {% data variables.copilot.copilot_coding_agent %} and monitor changes in pull request throughput and time to merge over time. See [AUTOTITLE](/copilot/concepts/copilot-usage-metrics/copilot-metrics).

## Integrating {% data variables.copilot.copilot_coding_agent %} with third-party tools

You can also invoke {% data variables.copilot.copilot_coding_agent %} from external tools, allowing you to assign tasks to {% data variables.product.prodname_copilot_short %}, provide context, and open pull requests without leaving your workflow. See [AUTOTITLE](/copilot/concepts/tools/about-copilot-integrations)
Expand Down
Loading