diff --git a/content/actions/concepts/workflows-and-actions/expressions.md b/content/actions/concepts/workflows-and-actions/expressions.md new file mode 100644 index 000000000000..b1e804641a9a --- /dev/null +++ b/content/actions/concepts/workflows-and-actions/expressions.md @@ -0,0 +1,44 @@ +--- +title: Expressions +intro: 'You can evaluate expressions in workflows and actions.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +type: overview +topics: + - Actions + - Workflows +--- + +## About expressions + +You can use expressions to programmatically set environment variables in workflow files and access contexts. An expression can be any combination of literal values, references to a context, or functions. You can combine literals, context references, and functions using operators. For more information about contexts, see [AUTOTITLE](/actions/learn-github-actions/contexts). + +Expressions are commonly used with the conditional `if` keyword in a workflow file to determine whether a step should run. When an `if` conditional is `true`, the step will run. + +{% data reusables.actions.expressions-syntax-evaluation %} + +{% raw %} +`${{ }}` +{% endraw %} + +> [!NOTE] +> The exception to this rule is when you are using expressions in an `if` clause, where, optionally, you can usually omit {% raw %}`${{`{% endraw %} and {% raw %}`}}`{% endraw %}. For more information about `if` conditionals, see [AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idif). + +{% data reusables.actions.context-injection-warning %} + +### Example setting an environment variable + +{% raw %} + +```yaml +env: + MY_ENV_VAR: ${{ }} +``` + +{% endraw %} + +## Further reading + +For technical reference information about expressions you can use in workflows and actions, see [AUTOTITLE](/actions/reference/evaluate-expressions-in-workflows-and-actions). diff --git a/content/actions/concepts/workflows-and-actions/index.md b/content/actions/concepts/workflows-and-actions/index.md index 48b0f931e38b..8118750b2fc7 100644 --- a/content/actions/concepts/workflows-and-actions/index.md +++ b/content/actions/concepts/workflows-and-actions/index.md @@ -11,6 +11,7 @@ children: - /avoiding-duplication - /about-custom-actions - /contexts + - /expressions - /about-monitoring-workflows - /notifications-for-workflow-runs - /about-troubleshooting-workflows diff --git a/content/actions/reference/evaluate-expressions-in-workflows-and-actions.md b/content/actions/reference/evaluate-expressions-in-workflows-and-actions.md index 86be2dd34d39..dbfd6ae9843e 100644 --- a/content/actions/reference/evaluate-expressions-in-workflows-and-actions.md +++ b/content/actions/reference/evaluate-expressions-in-workflows-and-actions.md @@ -1,7 +1,7 @@ --- title: Evaluate expressions in workflows and actions -shortTitle: Expressions -intro: You can evaluate expressions in workflows and actions. +shortTitle: Expressions reference +intro: Find information for expressions in {% data variables.product.prodname_actions %}. versions: fpt: '*' ghes: '*' @@ -12,36 +12,6 @@ redirect_from: - /actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions --- -{% data reusables.actions.enterprise-github-hosted-runners %} - -## About expressions - -You can use expressions to programmatically set environment variables in workflow files and access contexts. An expression can be any combination of literal values, references to a context, or functions. You can combine literals, context references, and functions using operators. For more information about contexts, see [AUTOTITLE](/actions/learn-github-actions/contexts). - -Expressions are commonly used with the conditional `if` keyword in a workflow file to determine whether a step should run. When an `if` conditional is `true`, the step will run. - -{% data reusables.actions.expressions-syntax-evaluation %} - -{% raw %} -`${{ }}` -{% endraw %} - -> [!NOTE] -> The exception to this rule is when you are using expressions in an `if` clause, where, optionally, you can usually omit {% raw %}`${{`{% endraw %} and {% raw %}`}}`{% endraw %}. For more information about `if` conditionals, see [AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idif). - -{% data reusables.actions.context-injection-warning %} - -### Example setting an environment variable - -{% raw %} - -```yaml -env: - MY_ENV_VAR: ${{ }} -``` - -{% endraw %} - ## Literals As part of an expression, you can use `boolean`, `null`, `number`, or `string` data types. diff --git a/content/admin/data-residency/feature-overview-for-github-enterprise-cloud-with-data-residency.md b/content/admin/data-residency/feature-overview-for-github-enterprise-cloud-with-data-residency.md index 805da3a60ba8..d546e04c3532 100644 --- a/content/admin/data-residency/feature-overview-for-github-enterprise-cloud-with-data-residency.md +++ b/content/admin/data-residency/feature-overview-for-github-enterprise-cloud-with-data-residency.md @@ -28,7 +28,7 @@ The following features are currently unavailable on {% data variables.enterprise | {% data variables.product.prodname_copilot %} Workspaces | Currently unavailable | N/A | | {% 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) | +| {% data variables.copilot.copilot_coding_agent %} | Currently unavailable | [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent) | | 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) | | Billing for premium requests in {% data variables.product.prodname_copilot_short %} | Currently unavailable | [AUTOTITLE](/copilot/managing-copilot/understanding-and-managing-copilot-usage/understanding-and-managing-requests-in-copilot) | | {% data variables.product.prodname_github_models %} | Currently unavailable | [AUTOTITLE](/github-models/about-github-models) | diff --git a/content/billing/managing-billing-for-your-products/about-billing-for-github-copilot.md b/content/billing/managing-billing-for-your-products/about-billing-for-github-copilot.md index 8a43b1f7f3d4..d2dcbbae97f2 100644 --- a/content/billing/managing-billing-for-your-products/about-billing-for-github-copilot.md +++ b/content/billing/managing-billing-for-your-products/about-billing-for-github-copilot.md @@ -75,7 +75,7 @@ When you use {% data variables.copilot.copilot_coding_agent %}, {% data variable On average, {% data variables.copilot.copilot_coding_agent %} uses 30-50 premium requests each time it is invoked. The exact number of premium requests will vary depending on the task’s complexity and the number of required steps. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/monitoring-usage-and-entitlements/avoiding-unexpected-copilot-costs). -For more information about {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot). +For more information about {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ### What happens if you have used up your monthly quota? diff --git a/content/code-security/dependabot/working-with-dependabot/configuring-multi-ecosystem-updates.md b/content/code-security/dependabot/working-with-dependabot/configuring-multi-ecosystem-updates.md new file mode 100644 index 000000000000..1c16a47f618c --- /dev/null +++ b/content/code-security/dependabot/working-with-dependabot/configuring-multi-ecosystem-updates.md @@ -0,0 +1,403 @@ +--- +title: Configuring multi-ecosystem updates for Dependabot +intro: 'Learn how to configure {% data variables.product.prodname_dependabot %} to group updates across different ecosystems so that you receive a single, consolidated pull request per group instead of one pull request for each ecosystem.' +permissions: '{% data reusables.permissions.dependabot-yml-configure %}' +allowTitleToDifferFromFilename: true +type: how_to +versions: + fpt: '*' + ghec: '*' +topics: + - Dependabot + - Version updates + - Repositories + - Dependencies + - Pull requests +shortTitle: Multi-ecosystem updates +--- + +## About multi-ecosystem updates + +Multi-ecosystem updates allow you to create groups that span multiple package ecosystems and get a single {% data variables.product.prodname_dependabot %} pull request with updates across all supported ecosystems. This approach helps reduce the number of {% data variables.product.prodname_dependabot %} pull requests you receive and streamlines your dependency update workflow. + +Multi-ecosystem updates are particularly useful for: + +* **Infrastructure projects** that use multiple technologies (Docker, Terraform, Python scripts). +* **Full-stack applications** with frontend and backend dependencies that should be updated together. +* **Cross-platform libraries** that need synchronized protocol versions across languages. + +## Getting Started + +You should follow these instructions to set up your first multi-ecosystem group. + +### 1. Add `multi-ecosystem-groups` to your `.github/dependabot.yml` file + +Start by defining a group with a schedule in the top-level `multi-ecosystem-groups` section: + +```yaml copy +version: 2 + +multi-ecosystem-groups: + infrastructure: + schedule: + interval: "weekly" + +updates: + # Your existing package ecosystems will go here +``` + +### 2. Assign ecosystems to groups with patterns + +1. Add the `multi-ecosystem-group` key. +1. Add `patterns` to your package ecosystem configurations. + +```yaml copy +version: 2 + +multi-ecosystem-groups: + infrastructure: + schedule: + interval: "weekly" + +updates: + - package-ecosystem: "docker" + directory: "/" + patterns: ["nginx", "redis", "postgres"] + multi-ecosystem-group: "infrastructure" + + - package-ecosystem: "terraform" + directory: "/" + patterns: ["aws", "terraform-*"] + multi-ecosystem-group: "infrastructure" +``` + +> [!IMPORTANT] +> The `patterns` key is required when using `multi-ecosystem-group`. You can specify dependency patterns to include only certain dependencies in the group, or use `["*"]` to include all dependencies. + +### 3. Commit and watch for consolidated pull requests + +Once you commit the changes to your `dependabot.yml` file, {% data variables.product.prodname_dependabot %} will: + +* Check for updates according to the group's schedule +* Check for updates according to the group's schedule. +* Create a single pull request containing updates for all the ecosystems specified in the group. +* Use the group identifier in the branch name and the pull request title. + +### 4. Customize with additional keys (optional) + +Add [`assignees`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#assignees--), [`labels`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#labels--), and other settings to your groups: + +```yaml copy +multi-ecosystem-groups: + infrastructure: + schedule: + interval: "weekly" + assignees: ["@platform-team"] + labels: ["infrastructure", "dependencies"] + +updates: + - package-ecosystem: "docker" + directory: "/" + patterns: ["nginx", "redis", "postgres"] + multi-ecosystem-group: "infrastructure" + + - package-ecosystem: "terraform" + directory: "/" + patterns: ["aws", "terraform-*"] + multi-ecosystem-group: "infrastructure" +``` + +## Multi-ecosystem specific configuration + +Multi-ecosystem updates use a two-level configuration structure to provide flexibility and control over how updates are grouped and managed: + +* **Group-level** (`multi-ecosystem-groups`): This is where you define the overall group behavior, scheduling, and shared settings that apply to all package ecosystems in the group. +* **Ecosystem-level** (`updates`): Configure individual package managers within the group, including which dependencies to include and ecosystem-specific settings. + +This structure allows you to set consistent policies at the group level while maintaining fine-grained control over individual package ecosystems. + +### `multi-ecosystem-groups` + +Define groups that span multiple package ecosystems. Each group requires: + +* **Group identifier**: Used in branch names and pull request titles. +* **Schedule**: How often to check for updates. See [schedule](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#schedule-) for all available options. + +### `multi-ecosystem-group` + +Assign a package ecosystem to a multi-ecosystem group. Requires the `patterns` key to specify which dependencies to include. + +For more information about `patterns`, see [`patterns` and `exclude-patterns`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#patterns-and-exclude-patterns-groups). + +### Additional configuration options + +All standard {% data variables.product.prodname_dependabot %} configuration options can be used with multi-ecosystem groups. See [`package-ecosystem`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#package-ecosystem--), [`directory`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#directories-or-directory-), [`allow`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#allow--), [`ignore`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#ignore-), and [`registries`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#registries--) in [AUTOTITLE](/code-security/dependabot/working-with-dependabot/dependabot-options-reference). + +## Key configuration + +When using multi-ecosystem groups, keys are configured at two levels. Here's a complete breakdown of which keys can be used where: + +### Group-level (`multi-ecosystem-groups`) + +The following table shows the configuration keys available at the group level, along with their behavior types. For more information, see [Configuration behavior](#configuration-behavior). + +| Key | Required | Behavior | +|---------------------|:--------:|:----------------| +| [`schedule`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#schedule-) |{% octicon "check" aria-label="Required" %}| Not applicable | +| [`labels`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#labels--) |{% octicon "x" aria-label="Not required" %}| Additive | +| [`milestone`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#milestone--) | {% octicon "x" aria-label="Not required" %} | Group-only | +| [`assignees`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#assignees--) |{% octicon "x" aria-label="Not required" %} |Additive | +| [`target-branch`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#target-branch--) |{% octicon "x" aria-label="Not required" %} |Group-only | +| [`commit-message`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#commit-message--) |{% octicon "x" aria-label="Not required" %} |Group-only | +| [`pull-request-branch-name`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#pull-request-branch-nameseparator--) |{% octicon "x" aria-label="Not required" %} |Group-only | + +### Ecosystem-level (`updates`) + +The following table shows the configuration keys available at the ecosystem level, along with their behavior types. For more information, see [Configuration behavior](#configuration-behavior). + +| Key | Required | Behavior | +|---------------------|:--------:|:----------------| +| [`package-ecosystem`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#package-ecosystem--) |{% octicon "check" aria-label="Required" %}| Not applicable | +| [`directory` / `directories`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#directories-or-directory--) |{% octicon "check" aria-label="Required" %}| Not applicable | +| [`patterns`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#patterns-and-exclude-patterns-groups) |{% octicon "check" aria-label="Required" %}| Not applicable | +| [`allow`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#allow--) |{% octicon "x" aria-label="Not required" %}| Not applicable | +| [`ignore`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#ignore--) |{% octicon "x" aria-label="Not required" %}| Not applicable | +| [`registries`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#registrie--) |{% octicon "x" aria-label="Not required" %}| Not applicable | +| [`vendor`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#vendor--) |{% octicon "x" aria-label="Not required" %}| Not applicable | +| [`versioning-strategy`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#versioning-strategy--) |{% octicon "x" aria-label="Not required" %}| Not applicable | +| [`update-types`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#update-types-groups--) |{% octicon "x" aria-label="Not required" %}| Not applicable | +| [`labels`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#labels--) | {% octicon "x" aria-label="Not required" %} | Additive | +| [`assignees`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#assignees--) |{% octicon "x" aria-label="Not required" %} |Additive | + +### Configuration behavior + +#### Additive keys + +Additive keys merge values from both the group level and individual ecosystem level rather than one overriding the other. This allows you to set consistent team-wide configurations at the group level while adding specific ecosystem expertise at the individual level. + +* `assignees` - All assignees from both group and ecosystem levels are assigned +* `labels` - All labels from both group and ecosystem levels are applied + +This table shows how {% data variables.product.prodname_dependabot %} combines values from both group and ecosystem levels for Docker pull requests in the example below: + +| Option | Group-level value | Ecosystem-level value | Result | +|-----------|------------------------------------- |-------------------------|--------------------------------------------------------------| +| `assignees` | `@platform-team`, `@security-lead` | `@docker-admin` | `@platform-team`, `@security-lead`, `@docker-admin` | +| `labels` | `infrastructure`, `dependencies` | `docker`, `containers` | `infrastructure`, `dependencies`, `docker`, `containers` | + +```yaml copy +multi-ecosystem-groups: + infrastructure: + assignees: ["@platform-team", "@security-lead"] + labels: ["infrastructure", "dependencies"] + +updates: + - package-ecosystem: "docker" + assignees: ["@docker-admin"] + labels: ["docker", "containers"] + multi-ecosystem-group: "infrastructure" +``` + +#### Group-only keys + +* `milestone` - Integer milestone number +* `commit-message` - Commit message templates +* `target-branch` - Target branch for pull requests +* `pull-request-branch-name` - Branch naming configuration + +> [!WARNING] +> If you attempt to set group-only keys at the ecosystem level (in `updates` entries), {% data variables.product.prodname_dependabot %} will throw a configuration error and fail to process your `dependabot.yml` file. These keys must only be specified in the `multi-ecosystem-groups` section. + +**Example:** + +This table shows how {% data variables.product.prodname_dependabot %} combines values from both group and ecosystem levels for Docker pull requests in the example below: + +| Option | Group-level value | Ecosystem-level value | Result | +|-----------|---------------------|-------------------------|----------------------------------------| +| `assignees` | `@platform-team` | `@docker-admin` | `@platform-team`, `@docker-admin` | +| `labels` | `infrastructure` | `docker`, `containers` | `infrastructure`, `docker`, `containers`| + +```yaml copy +multi-ecosystem-groups: + infrastructure: + assignees: ["@platform-team"] + labels: ["infrastructure"] + +updates: + - package-ecosystem: "docker" + assignees: ["@docker-admin"] + labels: ["docker", "containers"] + multi-ecosystem-group: "infrastructure" +``` + +## Use cases and examples + +Multi-ecosystem updates are particularly useful for projects that use multiple package managers and want to coordinate updates across them. Here are common scenarios: + +### Infrastructure projects + +**Scenario**: Your infrastructure code uses multiple technologies - Docker containers, Terraform for cloud resources, and Python scripts for automation. You want all infrastructure-related updates grouped together for easier review and deployment coordination. + +**Why group these together**: Infrastructure changes often need to be deployed together, and having separate PRs for each technology creates coordination overhead. + +```yaml copy +multi-ecosystem-groups: + infrastructure: + schedule: + interval: "weekly" # Weekly updates to avoid disruption + +updates: + - package-ecosystem: "docker" + directory: "/" + patterns: ["nginx", "redis", "postgres"] + multi-ecosystem-group: "infrastructure" + - package-ecosystem: "terraform" + directory: "/" + patterns: ["aws", "terraform-*"] + multi-ecosystem-group: "infrastructure" + - package-ecosystem: "pip" + directory: "/" + patterns: ["boto3", "requests", "pyyaml"] + multi-ecosystem-group: "infrastructure" +``` + +**Result**: One weekly pull request containing updates for Docker images, Terraform providers, and Python dependencies used in infrastructure automation. + +### Full-stack applications + +**Scenario**: You have a web application with a React frontend and Rails backend. You want frontend and backend dependencies updated together to ensure compatibility and streamline testing. + +**Why group these together**: Frontend and backend often depend on each other, and updating them together ensures you can test the full application stack in one go. + +```yaml copy +multi-ecosystem-groups: + app-dependencies: + schedule: + interval: "daily" # More frequent updates for application code + +updates: + - package-ecosystem: "npm" + directory: "/frontend" + patterns: ["react", "lodash", "@types/*"] # Core frontend libraries and TypeScript types + multi-ecosystem-group: "app-dependencies" + - package-ecosystem: "bundler" + directory: "/backend" + patterns: ["rails", "pg", "sidekiq"] # Core backend framework and database + multi-ecosystem-group: "app-dependencies" +``` + +**Result**: Daily PRs containing both frontend JavaScript/TypeScript updates and backend Ruby gem updates, allowing you to test the complete application together. + +### Cross-platform libraries + +**Scenario**: You're building a library or service that uses the same protocols across different languages (like gRPC and Protocol Buffers). You want to keep the library versions synchronized across all implementations. + +**Why group these together**: Protocol libraries need to stay compatible across different language implementations, so updating them together prevents version mismatches. + +```yaml copy +multi-ecosystem-groups: + grpc-and-protobuf: + schedule: + interval: "daily" + +updates: + - package-ecosystem: "bundler" + directory: "/grpc-proto-test/" + patterns: ["grpc", "google-protobuf"] + multi-ecosystem-group: "grpc-and-protobuf" + - package-ecosystem: "npm" + directory: "/grpc-proto-test/" + patterns: ["@grpc/grpc-js", "google-protobuf"] + multi-ecosystem-group: "grpc-and-protobuf" +``` + +**Result**: Daily PRs ensuring that Ruby and Node.js gRPC libraries stay synchronized, preventing protocol compatibility issues. + +## Advanced configuration example + +This comprehensive example shows how a complex project might use multiple groups with different update strategies and key merging: + +```yaml copy +version: 2 + +multi-ecosystem-groups: + infrastructure: + schedule: + interval: "weekly" + assignees: ["@platform-team"] # assign platform team + labels: ["infrastructure", "dependencies"] + milestone: 10 # Track in milestone + commit-message: + prefix: "infra" + include: "scope" + + # Application code updates - daily, with development team + full-stack: + schedule: + interval: "daily" + assignees: ["@full-stack-team"] # assign to full-stack team + labels: ["full-stack"] + +updates: + # Docker images - infrastructure group with additional docker expertise + - package-ecosystem: "docker" + directory: "/" + patterns: ["nginx", "redis", "postgres"] + assignees: ["@docker-admin"] # adds to @platform-team (additive) + labels: ["docker"] # adds to infrastructure, dependencies (additive) + multi-ecosystem-group: "infrastructure" + + # Terraform - infrastructure group with terraform specialists + - package-ecosystem: "terraform" + directory: "/" + patterns: ["aws", "terraform-*"] + multi-ecosystem-group: "infrastructure" + + # Frontend - full-stack group with frontend focus + - package-ecosystem: "npm" + directory: "/frontend" + patterns: ["react", "lodash", "@types/*"] + labels: ["frontend"] # adds to full-stack (additive) + multi-ecosystem-group: "full-stack" + + # Backend - full-stack group with backend specialist + - package-ecosystem: "bundler" + directory: "/backend" + patterns: ["rails", "pg", "sidekiq"] + assignees: ["@backend-dev"] # adds to @full-stack-team (additive) + multi-ecosystem-group: "full-stack" +``` + +### How this configuration works + +#### Infrastructure PRs + +* `schedule: weekly` + +| Option| Group-level value | Ecosystem-level value | Result | +|---------|------------|-----------------|--------| +| `assignees` | `@platform-team` | `@docker-admin` (Docker), `@terraform-experts` (Terraform) | All combined | +| `labels` | `infrastructure`, `dependencies` | `docker` (Docker) | All combined | +| `schedule` | `weekly` | None | Weekly updates | +| `milestone` | `10` | None | Tracked in milestone 10 | + +#### Full-stack PRs + +* `schedule: daily` + +| Option | Group-level value | Ecosystem-level value | Result | +|---------|------------|-----------------|--------| +| `assignees` | `@full-stack-team` | `@backend-dev` (Backend) | All combined | +| `labels` | `full-stack` | `frontend` (Frontend) | All combined | +| `schedule` | `daily` | None | More frequent updates | + +This approach ensures that the right people are involved for each type of update while maintaining consistent policies across related technologies. + +## Best practices + +* **Group related dependencies**: Only group ecosystems that logically belong together. +* **Use descriptive identifiers**: Choose group names that clearly indicate the group's purpose. + +### Further reading + +* [AUTOTITLE](/code-security/dependabot/working-with-dependabot/dependabot-options-reference) diff --git a/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md b/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md index 92e780da1f3c..1d1527fbbd13 100644 --- a/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md +++ b/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md @@ -222,8 +222,8 @@ Supported by: `bundler`, `composer`, `mix`, `maven`, `npm`, and `pip`. By default, a group will include all types of dependencies. -* Use `development` to include only dependencies in the "Development dependency group". -* Use `production` to include only dependencies in the "Production dependency group". +* Use `development` to include only dependencies in the "Development dependency group." +* Use `production` to include only dependencies in the "Production dependency group." ### `patterns` and `exclude-patterns` (`groups`) @@ -344,6 +344,51 @@ Supported value: the numeric identifier of a milestone. >[!TIP] >If you view a milestone, the final part of the page URL, after `milestone`, is the identifier. For example: `https://github.com///milestone/3`, see [AUTOTITLE](/issues/using-labels-and-milestones-to-track-work/viewing-your-milestones-progress). +{% ifversion not ghes %} + +## `multi-ecosystem-groups` {% octicon "versions" aria-label="Version updates" height="24" %} + +Define groups that span multiple package ecosystems to get a single {% data variables.product.prodname_dependabot %} pull request that updates all supported package ecosystems. This approach helps reduce the number of {% data variables.product.prodname_dependabot %} pull requests you receive and streamlines your dependency update workflow. + +{% data variables.product.prodname_dependabot %} default behavior: + +* Create separate pull requests for each package ecosystem that has dependency updates. + +When `multi-ecosystem-groups` is used: + +* Updates across multiple package ecosystems in the same group are combined into a single pull request. +* Groups have their own schedules and can inherit or override individual ecosystem settings. + +### `multi-ecosystem-group` + +Assign individual package ecosystems to a multi-ecosystem group using the `multi-ecosystem-group` parameter in your `updates` configuration. + +> [!IMPORTANT] +> Multi-ecosystem updates require specific configuration patterns and have unique parameter merging behavior. For complete setup instructions, configuration examples, and detailed parameter reference, see [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-multi-ecosystem-updates). + +```yaml copy +# Basic `dependabot.yml` file defining a multi-ecosystem-group +version: 2 + +multi-ecosystem-groups: + infrastructure: + schedule: + interval: "weekly" + +updates: + - package-ecosystem: "docker" + directory: "/" + patterns: ["nginx", "redis"] + multi-ecosystem-group: "infrastructure" + + - package-ecosystem: "terraform" + directory: "/" + patterns: ["aws"] + multi-ecosystem-group: "infrastructure" +``` + +{% endif %} + ## `open-pull-requests-limit` {% octicon "versions" aria-label="Version updates only" height="24" %} Change the limit on the maximum number of pull requests for version updates open at any time. diff --git a/content/code-security/dependabot/working-with-dependabot/index.md b/content/code-security/dependabot/working-with-dependabot/index.md index 1d05b503b211..d2439e60ec4b 100644 --- a/content/code-security/dependabot/working-with-dependabot/index.md +++ b/content/code-security/dependabot/working-with-dependabot/index.md @@ -20,6 +20,7 @@ children: - /keeping-your-actions-up-to-date-with-dependabot - /configuring-access-to-private-registries-for-dependabot - /guidance-for-the-configuration-of-private-registries-for-dependabot + - /configuring-multi-ecosystem-updates - /dependabot-options-reference - /setting-dependabot-to-run-on-self-hosted-runners-using-arc - /setting-dependabot-to-run-on-github-hosted-runners-using-vnet diff --git a/content/copilot/concepts/about-assigning-tasks-to-copilot.md b/content/copilot/concepts/about-copilot-coding-agent.md similarity index 90% rename from content/copilot/concepts/about-assigning-tasks-to-copilot.md rename to content/copilot/concepts/about-copilot-coding-agent.md index 0f77df7bffd4..5e001f08c40a 100644 --- a/content/copilot/concepts/about-assigning-tasks-to-copilot.md +++ b/content/copilot/concepts/about-copilot-coding-agent.md @@ -1,6 +1,5 @@ --- -title: About assigning tasks to Copilot -shortTitle: Assign tasks to Copilot +title: About Copilot coding agent intro: 'You can assign {% data variables.product.github %} issues to {% data variables.product.prodname_copilot_short %}, or ask {% data variables.product.prodname_copilot_short %} to create a pull request.' product: '{% data reusables.gated-features.copilot-coding-agent %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' versions: @@ -9,6 +8,7 @@ topics: - Copilot type: overview redirect_from: + - /copilot/concepts/about-assigning-tasks-to-copilot - /copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-tasks/about-assigning-tasks-to-copilot - /copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-issues/about-assigning-issues-to-copilot - /copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-issues/about-assigning-tasks-to-copilot @@ -40,9 +40,9 @@ To delegate development tasks to {% data variables.product.prodname_copilot_shor While working on a coding task, {% data variables.product.prodname_copilot_short %} has access to its own ephemeral development environment, powered by {% data variables.product.prodname_actions %}, where it can explore your code, make changes, execute automated tests and linters and more. -### {% data variables.copilot.copilot_coding_agent %} vs. agent mode in {% data variables.product.prodname_vscode %} +### {% data variables.copilot.copilot_coding_agent %} versus agent mode -{% data variables.copilot.copilot_coding_agent %} is distinct from the "agent mode" feature available in {% data variables.product.prodname_vscode %}. {% data variables.copilot.copilot_coding_agent %} works autonomously in a {% data variables.product.prodname_actions %}-powered environment to complete development tasks assigned through {% data variables.product.github %} issues or {% data variables.copilot.copilot_chat %} prompts, and creates pull requests with the results. In contrast, agent mode in {% data variables.product.prodname_vscode %} is part of the {% data variables.copilot.copilot_edits %} feature that allows {% data variables.product.prodname_copilot_short %} to make autonomous edits directly in your local development environment. For more information about agent mode, see [AUTOTITLE](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-your-ide?tool=visualstudio#copilot-edits-1). +{% data variables.copilot.copilot_coding_agent %} is distinct from the "agent mode" feature available in {% data variables.product.prodname_vs %} and {% data variables.product.prodname_vscode %}. {% data variables.copilot.copilot_coding_agent %} works autonomously in a {% data variables.product.prodname_actions %}-powered environment to complete development tasks assigned through {% data variables.product.github %} issues or {% data variables.copilot.copilot_chat %} prompts, and creates pull requests with the results. In contrast, agent mode in {% data variables.product.prodname_vs %} and {% data variables.product.prodname_vscode %} is part of the {% data variables.copilot.copilot_edits %} feature that allows {% data variables.product.prodname_copilot_short %} to make autonomous edits directly in your local development environment. For more information about agent mode, see [AUTOTITLE](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-your-ide?tool=visualstudio#copilot-edits-1). ### Streamlining software development with {% data variables.copilot.copilot_coding_agent %} @@ -115,8 +115,5 @@ Users can include hidden messages in issues assigned to {% data variables.produc ## Further reading * **Hands-on practice**: Try the [Expand your team with {% data variables.copilot.copilot_coding_agent %}](https://github.com/skills/expand-your-team-with-copilot/) Skills course for practical experience with {% data variables.copilot.copilot_coding_agent %}. -* [AUTOTITLE](/copilot/using-github-copilot/coding-agent) +* [AUTOTITLE](/copilot/using-github-copilot/coding-agent) how-to articles * [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom) -* [AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent) -* [AUTOTITLE](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent) -* [AUTOTITLE](/copilot/using-github-copilot/coding-agent/extending-copilot-coding-agent-with-mcp) diff --git a/content/copilot/concepts/copilot-billing/understanding-and-managing-requests-in-copilot.md b/content/copilot/concepts/copilot-billing/understanding-and-managing-requests-in-copilot.md index 7da8219e9d25..8ac9ba9d16c4 100644 --- a/content/copilot/concepts/copilot-billing/understanding-and-managing-requests-in-copilot.md +++ b/content/copilot/concepts/copilot-billing/understanding-and-managing-requests-in-copilot.md @@ -34,7 +34,7 @@ The following {% data variables.product.prodname_copilot_short %} features can u | Feature | Premium request consumption | | ------- | ----------- | | [{% data variables.copilot.copilot_chat_short %}](/copilot/using-github-copilot/copilot-chat) | {% data variables.copilot.copilot_chat_short %} uses **one premium request** per user prompt, multiplied by the model's rate. | -| [{% data variables.copilot.copilot_coding_agent %}](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot) | {% data variables.copilot.copilot_coding_agent %} will make multiple premium requests to complete a single task. On average, {% data variables.copilot.copilot_coding_agent %} uses **30-50 premium requests** each time it is invoked. The exact number of premium requests will vary depending on the task’s complexity and the number of required steps. {% data variables.copilot.copilot_coding_agent %} uses a fixed multiplier of 1 for the premium requests it uses. | +| [{% data variables.copilot.copilot_coding_agent %}](/copilot/concepts/about-copilot-coding-agent) | {% data variables.copilot.copilot_coding_agent %} will make multiple premium requests to complete a single task. On average, {% data variables.copilot.copilot_coding_agent %} uses **30-50 premium requests** each time it is invoked. The exact number of premium requests will vary depending on the task’s complexity and the number of required steps. {% data variables.copilot.copilot_coding_agent %} uses a fixed multiplier of 1 for the premium requests it uses. | | [Agent mode in {% data variables.copilot.copilot_chat_short %}](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-your-ide#copilot-edits) | Agent mode uses **one premium request** per user prompt, multiplied by the model's rate. | | [{% data variables.product.prodname_copilot_short %} code review](/copilot/using-github-copilot/code-review/using-copilot-code-review) | When you assign {% data variables.product.prodname_copilot_short %} as a reviewer for a pull request, **one premium request** is used each time {% data variables.product.prodname_copilot_short %} posts comments to the pull request. | | [{% data variables.copilot.copilot_extensions_short %}](/copilot/building-copilot-extensions/about-building-copilot-extensions) | {% data variables.copilot.copilot_extensions_short %} uses **one premium request** per user prompt, multiplied by the model's rate. | diff --git a/content/copilot/concepts/index.md b/content/copilot/concepts/index.md index a7fffaf81f38..8acd60a05b7c 100644 --- a/content/copilot/concepts/index.md +++ b/content/copilot/concepts/index.md @@ -10,9 +10,8 @@ children: - /copilot-billing - /prompt-engineering-for-copilot-chat - /about-customizing-github-copilot-chat-responses - - /about-assigning-tasks-to-copilot + - /about-copilot-coding-agent - /indexing-repositories-for-copilot-chat - /about-organizing-and-sharing-context-with-copilot-spaces - /build-copilot-extensions --- - diff --git a/content/copilot/how-tos/administer/enterprises/managing-copilot-coding-agent-in-your-enterprise.md b/content/copilot/how-tos/administer/enterprises/managing-copilot-coding-agent-in-your-enterprise.md index 2ed8fae7ded4..27524eb1b8fc 100644 --- a/content/copilot/how-tos/administer/enterprises/managing-copilot-coding-agent-in-your-enterprise.md +++ b/content/copilot/how-tos/administer/enterprises/managing-copilot-coding-agent-in-your-enterprise.md @@ -15,7 +15,10 @@ redirect_from: - /copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-copilot-coding-agent-in-your-enterprise --- -{% data reusables.copilot.coding-agent.preview-note %} +> [!NOTE] +> {% data reusables.copilot.coding-agent.preview-note-text %} +> +> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## Prerequisites diff --git a/content/copilot/how-tos/administer/organizations/adding-copilot-coding-agent-to-organization.md b/content/copilot/how-tos/administer/organizations/adding-copilot-coding-agent-to-organization.md index bb14b2b0d995..2299c247660e 100644 --- a/content/copilot/how-tos/administer/organizations/adding-copilot-coding-agent-to-organization.md +++ b/content/copilot/how-tos/administer/organizations/adding-copilot-coding-agent-to-organization.md @@ -13,7 +13,10 @@ redirect_from: - /copilot/managing-copilot/managing-github-copilot-in-your-organization/adding-copilot-coding-agent-to-organization --- -{% data reusables.copilot.coding-agent.preview-note %} +> [!NOTE] +> {% data reusables.copilot.coding-agent.preview-note-text %} +> +> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## Prerequisites diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/asking-copilot-to-create-a-pull-request.md b/content/copilot/how-tos/agents/copilot-coding-agent/asking-copilot-to-create-a-pull-request.md index 3ea1ead889b7..1e4cc1bf0bb5 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/asking-copilot-to-create-a-pull-request.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/asking-copilot-to-create-a-pull-request.md @@ -16,6 +16,7 @@ redirect_from: > [!NOTE] > * {% data reusables.copilot.coding-agent.preview-note-text %} +> * For an overview of {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## Introduction @@ -71,6 +72,6 @@ From the session logs page, you can also stop {% data variables.product.prodname ## Further reading -* [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot) +* [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent) * [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks) * [AUTOTITLE](/copilot/using-github-copilot/coding-agent/troubleshooting-copilot-coding-agent#copilot-cant-create-a-pull-request-from-copilot-chat) diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks.md b/content/copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks.md index d939a065d110..ffa01840dc43 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks.md @@ -16,7 +16,10 @@ redirect_from: - /copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks --- -{% data reusables.copilot.coding-agent.preview-note %} +> [!NOTE] +> {% data reusables.copilot.coding-agent.preview-note-text %} +> +> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## Making sure your issues are well-scoped diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/customizing-or-disabling-the-firewall-for-copilot-coding-agent.md b/content/copilot/how-tos/agents/copilot-coding-agent/customizing-or-disabling-the-firewall-for-copilot-coding-agent.md index 85b61c963b2b..d31c85ef64a3 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/customizing-or-disabling-the-firewall-for-copilot-coding-agent.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/customizing-or-disabling-the-firewall-for-copilot-coding-agent.md @@ -14,7 +14,7 @@ redirect_from: > [!NOTE] > {% data reusables.copilot.coding-agent.preview-note-text %} > -> For more information about {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot). +> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## Overview diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/customizing-the-development-environment-for-copilot-coding-agent.md b/content/copilot/how-tos/agents/copilot-coding-agent/customizing-the-development-environment-for-copilot-coding-agent.md index b07c09b342f9..8689894f493d 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/customizing-the-development-environment-for-copilot-coding-agent.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/customizing-the-development-environment-for-copilot-coding-agent.md @@ -15,7 +15,7 @@ redirect_from: > [!NOTE] > {% data reusables.copilot.coding-agent.preview-note-text %} > -> For more information about {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot). +> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## About customizing {% data variables.copilot.copilot_coding_agent %}'s development environment diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/enabling-copilot-coding-agent.md b/content/copilot/how-tos/agents/copilot-coding-agent/enabling-copilot-coding-agent.md index 0eb85e9f5b86..730350f4fd95 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/enabling-copilot-coding-agent.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/enabling-copilot-coding-agent.md @@ -14,7 +14,10 @@ redirect_from: - /copilot/using-github-copilot/coding-agent/enabling-copilot-coding-agent --- -{% data reusables.copilot.coding-agent.preview-note %} +> [!NOTE] +> {% data reusables.copilot.coding-agent.preview-note-text %} +> +> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## Overview diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp.md b/content/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp.md index 6e3dadc5cf70..9efe9a6b4434 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp.md @@ -18,7 +18,9 @@ redirect_from: > [!NOTE] > {% data reusables.copilot.coding-agent.preview-note-text %} > -> For more information about {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot). +> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). + +## Overview {% data reusables.copilot.coding-agent.mcp-brief-intro %} diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/index.md b/content/copilot/how-tos/agents/copilot-coding-agent/index.md index 81bd6b56ea38..a517abb2fa71 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/index.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/index.md @@ -23,3 +23,4 @@ redirect_from: - /copilot/using-github-copilot/coding-agent --- +For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/reviewing-a-pull-request-created-by-copilot.md b/content/copilot/how-tos/agents/copilot-coding-agent/reviewing-a-pull-request-created-by-copilot.md index 0feb66ec2e7d..cd85f664d7e7 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/reviewing-a-pull-request-created-by-copilot.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/reviewing-a-pull-request-created-by-copilot.md @@ -13,7 +13,10 @@ redirect_from: - /copilot/using-github-copilot/coding-agent/reviewing-a-pull-request-created-by-copilot --- -{% data reusables.copilot.coding-agent.preview-note %} +> [!NOTE] +> {% data reusables.copilot.coding-agent.preview-note-text %} +> +> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## Reviewing {% data variables.product.prodname_copilot_short %}'s changes diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/tracking-copilots-sessions.md b/content/copilot/how-tos/agents/copilot-coding-agent/tracking-copilots-sessions.md index 11d314f89aa3..23a90e1be3ac 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/tracking-copilots-sessions.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/tracking-copilots-sessions.md @@ -14,11 +14,14 @@ redirect_from: - /copilot/how-tos/agents/copilot-coding-agent/using-the-copilot-coding-agent-logs --- -{% data reusables.copilot.coding-agent.preview-note %} +> [!NOTE] +> {% data reusables.copilot.coding-agent.preview-note-text %} +> +> For an overview of {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## Introduction -After you give {% data variables.product.prodname_copilot_short %} a task, it works autonomously in the background to complete it. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot). +After you give {% data variables.product.prodname_copilot_short %} a task, it works autonomously in the background to complete it. See [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). The [Agents page](https://github.com/copilot/agents) provides an overview of your agent sessions across repositories. From this page, you can kick off new tasks and track {% data variables.product.prodname_copilot_short %}'s progress. diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/troubleshooting-copilot-coding-agent.md b/content/copilot/how-tos/agents/copilot-coding-agent/troubleshooting-copilot-coding-agent.md index 927c49e5f36f..30f48c5ea1c4 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/troubleshooting-copilot-coding-agent.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/troubleshooting-copilot-coding-agent.md @@ -15,7 +15,10 @@ redirect_from: - /copilot/using-github-copilot/coding-agent/troubleshooting-copilot-coding-agent --- -{% data reusables.copilot.coding-agent.preview-note %} +> [!NOTE] +> {% data reusables.copilot.coding-agent.preview-note-text %} +> +> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## {% data variables.product.prodname_copilot_short %} is not available in the "Assignees" list on my issue diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/using-copilot-to-work-on-an-issue.md b/content/copilot/how-tos/agents/copilot-coding-agent/using-copilot-to-work-on-an-issue.md index da8425d7e82a..d2321cef4b90 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/using-copilot-to-work-on-an-issue.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/using-copilot-to-work-on-an-issue.md @@ -14,11 +14,14 @@ redirect_from: - /copilot/using-github-copilot/coding-agent/using-copilot-to-work-on-an-issue --- -{% data reusables.copilot.coding-agent.preview-note %} +> [!NOTE] +> {% data reusables.copilot.coding-agent.preview-note-text %} +> +> For an overview of {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## Introduction -You can assign a {% data variables.product.github %} issue to {% data variables.product.prodname_copilot_short %}, just like you would with a human software developer. {% data variables.product.prodname_copilot_short %} will start working on the issue, raise a pull request and when it's finished working, request a review from you. For more information, see [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot). +You can assign a {% data variables.product.github %} issue to {% data variables.product.prodname_copilot_short %}, just like you would with a human software developer. {% data variables.product.prodname_copilot_short %} will start working on the issue, raise a pull request and when it's finished working, request a review from you. For more information, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). If you haven't used {% data variables.product.prodname_copilot_short %} to work on an issue before, you can find some useful advice for getting good results in [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks). diff --git a/content/copilot/index.md b/content/copilot/index.md index c5bcb446e86e..31de754f115f 100644 --- a/content/copilot/index.md +++ b/content/copilot/index.md @@ -15,7 +15,7 @@ featuredLinks: - /copilot/get-started/what-is-github-copilot - /copilot/get-started/quickstart - /copilot/how-tos/build-copilot-extensions/quickstart-for-github-copilot-extensions-using-agents - - /copilot/concepts/about-assigning-tasks-to-copilot + - /copilot/concepts/about-copilot-coding-agent popular: - /copilot/get-started/github-copilot-features - /copilot/tutorials/copilot-chat-cookbook @@ -35,4 +35,3 @@ children: topics: - Copilot --- - diff --git a/content/copilot/tutorials/rolling-out-github-copilot-at-scale/driving-downstream-impact/increase-test-coverage.md b/content/copilot/tutorials/rolling-out-github-copilot-at-scale/driving-downstream-impact/increase-test-coverage.md index 246236f88d58..7fb18d8035a6 100644 --- a/content/copilot/tutorials/rolling-out-github-copilot-at-scale/driving-downstream-impact/increase-test-coverage.md +++ b/content/copilot/tutorials/rolling-out-github-copilot-at-scale/driving-downstream-impact/increase-test-coverage.md @@ -128,7 +128,7 @@ Developers **should not**: * [{% data variables.copilot.copilot_chat_dotcom_short %}](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-github) * [{% data variables.product.prodname_copilot_short %} code completion](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot) * [{% data variables.copilot.copilot_chat_short %} in the IDE](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-your-ide) -* [{% data variables.copilot.copilot_coding_agent %}](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot) +* [{% data variables.copilot.copilot_coding_agent %}](/copilot/concepts/about-copilot-coding-agent) ## Metrics to watch diff --git a/content/issues/tracking-your-work-with-issues/using-issues/assigning-issues-and-pull-requests-to-other-github-users.md b/content/issues/tracking-your-work-with-issues/using-issues/assigning-issues-and-pull-requests-to-other-github-users.md index 9a905f38506a..0cca585caf36 100644 --- a/content/issues/tracking-your-work-with-issues/using-issues/assigning-issues-and-pull-requests-to-other-github-users.md +++ b/content/issues/tracking-your-work-with-issues/using-issues/assigning-issues-and-pull-requests-to-other-github-users.md @@ -53,7 +53,7 @@ Issues and pull requests in public repositories, and in private repositories for ## Assigning an issue to {% data variables.product.prodname_copilot_short %} -If you assign an issue to {% data variables.product.prodname_copilot_short %}, {% data variables.product.prodname_copilot_short %} will work autonomously on the issue, creating a pull request and, when it has finished, requesting that you review the pull request. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot). +If you assign an issue to {% data variables.product.prodname_copilot_short %}, {% data variables.product.prodname_copilot_short %} will work autonomously on the issue, creating a pull request and, when it has finished, requesting that you review the pull request. See [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). {% endif %} diff --git a/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md b/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md index 33ca3366e998..9335a22f2134 100644 --- a/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md +++ b/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md @@ -20,7 +20,7 @@ You can review changes in a pull request one file at a time. While reviewing the {% ifversion copilot %} -If the pull request was raised by {% data variables.product.prodname_copilot %} then, when you submit your comments, {% data variables.product.prodname_copilot_short %} will carry out more work to respond to your comments and will push a new commit to the pull request with further changes. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot). +If the pull request was raised by {% data variables.product.prodname_copilot %} then, when you submit your comments, {% data variables.product.prodname_copilot_short %} will carry out more work to respond to your comments and will push a new commit to the pull request with further changes. See [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). {% endif %}