You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/copilot/how-tos/administer-copilot/manage-for-organization/add-copilot-coding-agent.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,6 +50,10 @@ By default, {% data variables.copilot.copilot_coding_agent %} is available in al
50
50
51
51
Once {% data variables.copilot.copilot_coding_agent %} is enabled for a repository, any user with access to {% data variables.copilot.copilot_coding_agent %} and write permission for the repository can delegate work to {% data variables.product.prodname_copilot_short %}.
52
52
53
+
## Managing the agent firewall for your organization
54
+
55
+
Organization owners can configure the {% data variables.copilot.copilot_coding_agent %} firewall for their organization, including whether it is enabled for the organization and which external hosts and URLs the agent can access. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-firewall).
56
+
53
57
## Next steps
54
58
55
59
* Tell the members of repositories where {% data variables.copilot.copilot_coding_agent %} is available that they can delegate work to the {% data variables.copilot.copilot_coding_agent_short %}.
> Firewall configuration has moved to the {% data variables.copilot.copilot_coding_agent %} settings page. Previous configurations saved as Actions variables will be maintained on that page.
20
-
21
18
## Overview
22
19
23
20
By default, {% data variables.product.prodname_copilot_short %}'s access to the internet is limited by a firewall.
@@ -52,44 +49,69 @@ The recommended allowlist, enabled by default, allows access to:
52
49
53
50
For the complete list of hosts included in the recommended allowlist, see [AUTOTITLE](/copilot/reference/copilot-allowlist-reference#copilot-coding-agent-recommended-allowlist).
54
51
55
-
## Disabling the recommended allowlist
52
+
## Configuring the firewall at the organization level
56
53
57
-
You can choose to turn off the recommended allowlist. Disabling the recommended allowlist is likely to increase the risk of unauthorized access to external resources.
54
+
Organization owners can configure all firewall settings at the organization level. To access the firewall settings:
58
55
59
-
{% data reusables.repositories.navigate-to-repo %}
60
-
{% data reusables.repositories.sidebar-settings %}
61
-
1. In the "Code & automation" section of the sidebar, click **{% data variables.product.prodname_copilot_short %}** then **{% data variables.copilot.copilot_coding_agent_short %}**.
62
-
1. Toggle the **Recommended allowlist** setting **off**.
56
+
{% data reusables.profile.access_org %}
57
+
{% data reusables.profile.org_settings %}
58
+
{% data reusables.copilot.coding-agent-settings %}
59
+
60
+
### Enabling or disabling the firewall
61
+
62
+
> [!WARNING]
63
+
> Disabling the firewall will allow {% data variables.product.prodname_copilot_short %} to connect to any host, increasing risks of exfiltration of code or other sensitive information.
64
+
65
+
1. Under "Internet access", set the **Enable firewall** setting to **Enabled**, **Disabled**, or **Let repositories decide** (default).
66
+
67
+
### Enabling or disabling the recommended allowlist
68
+
69
+
1. Under "Internet access", set the **Recommended allowlist** setting to **Enabled**, **Disabled**, or **Let repositories decide** (default).
63
70
64
-
To use the recommended allowlist in addition to your own allowlist, keep the **Recommended allowlist** setting **on**, and add your additional addresses in the **Custom allowlist** page.
71
+
### Controlling whether repositories can add custom allowlist rules
65
72
66
-
## Allowlisting additional hosts in the agent's firewall
73
+
By default, repository administrators can add their own entries to the firewall allowlist. Organization owners can disable this to prevent repositories from adding custom rules.
67
74
68
-
You can allowlist additional addresses in the agent's firewall.
75
+
1. Under "Internet access", set the **Allow repository custom rules** setting to **Enabled** (default) or **Disabled**.
76
+
77
+
### Managing the organization custom allowlist
78
+
79
+
Items added to the organization custom allowlist apply to all repositories in the organization. These items cannot be deleted at the repository level. Organization-level and repository-level rules are combined.
80
+
81
+
1. Under "Internet access", click **Organization custom allowlist**.
82
+
{% data reusables.copilot.coding-agent.custom-allowlist-add-entries %}
83
+
84
+
## Configuring the firewall at the repository level
85
+
86
+
Repository administrators can configure firewall settings at the repository level, including enabling or disabling the firewall, enabling or disabling the recommended allowlist, and managing a custom allowlist. Depending on the organization-level configuration, some of these settings may be locked.
87
+
88
+
To access the firewall settings:
69
89
70
90
{% data reusables.repositories.navigate-to-repo %}
71
91
{% data reusables.repositories.sidebar-settings %}
72
92
1. In the "Code & automation" section of the sidebar, click **{% data variables.product.prodname_copilot_short %}** then **{% data variables.copilot.copilot_coding_agent_short %}**.
73
-
1. Click **Custom allowlist**
74
-
1. Add the addresses you want to include in the allowlist. You can include:
75
93
76
-
***Domains** (for example, `packages.contoso.corp`). Traffic will be allowed to the specified domain and any subdomains.
94
+
### Enabling or disabling the firewall
77
95
78
-
**Example**: `packages.contoso.corp` will allow traffic to `packages.contoso.corp` and `prod.packages.contoso.corp`, but not `artifacts.contoso.corp`.
96
+
> [!NOTE]
97
+
> You can only change this setting at the repository level if the organization-level **Enable firewall** setting is set to **Let repositories decide**. If the organization-level setting is **Enabled** or **Disabled**, you can't change this setting for individual repositories.
79
98
80
-
***URLs** (for example, `https://packages.contoso.corp/project-1/`). Traffic will only be allowed on the specified scheme (`https`) and host (`packages.contoso.corp`), and limited to the specified path and descendant paths.
99
+
1. Toggle the **Enable firewall** setting on or off.
81
100
82
-
**Example**: `https://packages.contoso.corp/project-1/` will allow traffic to `https://packages.contoso.corp/project-1/` and `https://packages.contoso.corp/project-1/tags/latest`, but not `https://packages.consoto.corp/project-2`, `ftp://packages.contoso.corp` or `https://artifacts.contoso.corp`.
101
+
### Enabling or disabling the recommended allowlist
83
102
84
-
1. Click **Add Rule**.
85
-
1. After validating your list, click**Save changes**.
103
+
> [!NOTE]
104
+
> You can only change this setting at the repository level if the organization-level **Recommended allowlist** setting is set to **Let repositories decide**. If the organization-level setting is**Enabled** or **Disabled**, you can't change this setting for individual repositories.
86
105
87
-
### Disabling the firewall
106
+
1. Toggle the **Recommended allowlist** setting on or off.
88
107
89
-
> [!WARNING]
90
-
> Disabling the firewall will allow {% data variables.product.prodname_copilot_short %} to connect to any host, increasing risks of exfiltration of code or other sensitive information.
108
+
### Managing the custom allowlist
109
+
110
+
> [!NOTE]
111
+
> You can only add custom allowlist rules at the repository level if the organization-level **Allow repository custom rules** setting is set to **Enabled**. For more information, see [Controlling whether repositories can add custom allowlist rules](#controlling-whether-repositories-can-add-custom-allowlist-rules).
91
112
92
-
The firewall is enabled by default. To disable the firewall, toggle the **Enable firewall** setting to **off**.
113
+
1. Click **Custom allowlist**.
114
+
{% data reusables.copilot.coding-agent.custom-allowlist-add-entries %}
1. In the sidebar, under "Code, planning, and automation", click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}**, and then click **{% data variables.copilot.copilot_coding_agent_short %}**.
1
+
1. In the sidebar, under "Code, planning, and automation", click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}**, and then click **{% data variables.copilot.copilot_coding_agent_short_cap_c %}**.
1. Add the addresses you want to include in the allowlist. You can include:
2
+
3
+
***Domains** (for example, `packages.contoso.corp`). Traffic will be allowed to the specified domain and any subdomains.
4
+
5
+
**Example**: `packages.contoso.corp` will allow traffic to `packages.contoso.corp` and `prod.packages.contoso.corp`, but not `artifacts.contoso.corp`.
6
+
7
+
***URLs** (for example, `https://packages.contoso.corp/project-1/`). Traffic will only be allowed on the specified scheme (`https`) and host (`packages.contoso.corp`), and limited to the specified path and descendant paths.
8
+
9
+
**Example**: `https://packages.contoso.corp/project-1/` will allow traffic to `https://packages.contoso.corp/project-1/` and `https://packages.contoso.corp/project-1/tags/latest`, but not `https://packages.contoso.corp/project-2`, `ftp://packages.contoso.corp` or `https://artifacts.contoso.corp`.
10
+
11
+
1. Click **Add rule**.
12
+
1. After validating your list, click **Save changes**.
Copy file name to clipboardExpand all lines: src/rest/data/fpt-2022-11-28/agent-tasks.json
+12-25Lines changed: 12 additions & 25 deletions
Original file line number
Diff line number
Diff line change
@@ -85,9 +85,10 @@
85
85
"name": "is_archived",
86
86
"in": "query",
87
87
"schema": {
88
-
"type": "boolean"
88
+
"type": "boolean",
89
+
"default": false
89
90
},
90
-
"description": "<p>Filter by archived status. When <code>true</code>, returns only archived tasks. When <code>false</code>, returns only non-archived tasks.</p>"
91
+
"description": "<p>Filter by archived status. When <code>true</code>, returns only archived tasks. When <code>false</code> or omitted, returns only non-archived tasks. Defaults to <code>false</code>.</p>"
91
92
},
92
93
{
93
94
"name": "since",
@@ -108,7 +109,7 @@
108
109
}
109
110
],
110
111
"bodyParameters": [],
111
-
"descriptionHTML": "<p>Returns a list of tasks for a specific repository</p>",
112
+
"descriptionHTML": "<div class=\"ghd-alert ghd-alert-accent\" data-container=\"alert\"><p class=\"ghd-alert-title\"><svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon mr-2\" aria-hidden><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"></path></svg>Note</p>\n<p>\nThis endpoint is in public preview and is subject to change.</p>\n</div>\n<p>Returns a list of tasks for a specific repository</p>",
112
113
"codeExamples": [
113
114
{
114
115
"request": {
@@ -451,7 +452,7 @@
451
452
{
452
453
"type": "string",
453
454
"name": "model",
454
-
"description": "<p>Model identifier</p>"
455
+
"description": "<p>The model to use for this task. The allowed models may change over time and depend on the user's GitHub Copilot plan and organization policies. Currently supported values: <code>claude-sonnet-4.6</code>, <code>claude-opus-4.6</code>, <code>gpt-5.2-codex</code>, <code>gpt-5.3-codex</code>, <code>gpt-5.4</code>, <code>claude-sonnet-4.5</code>, <code>claude-opus-4.5</code></p>"
455
456
},
456
457
{
457
458
"type": "string",
@@ -467,24 +468,9 @@
467
468
"type": "string",
468
469
"name": "base_ref",
469
470
"description": "<p>Base ref for new branch/PR</p>"
470
-
},
471
-
{
472
-
"type": "string",
473
-
"name": "event_type",
474
-
"description": "<p>Type of event</p>"
475
-
},
476
-
{
477
-
"type": "string",
478
-
"name": "event_url",
479
-
"description": "<p>URL of the triggering event</p>"
480
-
},
481
-
{
482
-
"type": "array of strings",
483
-
"name": "event_identifiers",
484
-
"description": "<p>Identifiers for tracking</p>"
485
471
}
486
472
],
487
-
"descriptionHTML": "<p>Creates a new task for a repository</p>",
473
+
"descriptionHTML": "<div class=\"ghd-alert ghd-alert-accent\" data-container=\"alert\"><p class=\"ghd-alert-title\"><svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon mr-2\" aria-hidden><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"></path></svg>Note</p>\n<p>\nThis endpoint is in public preview and is subject to change.</p>\n</div>\n<p>Creates a new task for a repository</p>",
488
474
"codeExamples": [
489
475
{
490
476
"request": {
@@ -784,7 +770,7 @@
784
770
}
785
771
],
786
772
"bodyParameters": [],
787
-
"descriptionHTML": "<p>Returns a task by ID scoped to an owner/repo path</p>",
773
+
"descriptionHTML": "<div class=\"ghd-alert ghd-alert-accent\" data-container=\"alert\"><p class=\"ghd-alert-title\"><svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon mr-2\" aria-hidden><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"></path></svg>Note</p>\n<p>\nThis endpoint is in public preview and is subject to change.</p>\n</div>\n<p>Returns a task by ID scoped to an owner/repo path</p>",
788
774
"codeExamples": [
789
775
{
790
776
"request": {
@@ -1325,9 +1311,10 @@
1325
1311
"name": "is_archived",
1326
1312
"in": "query",
1327
1313
"schema": {
1328
-
"type": "boolean"
1314
+
"type": "boolean",
1315
+
"default": false
1329
1316
},
1330
-
"description": "<p>Filter by archived status. When <code>true</code>, returns only archived tasks. When <code>false</code>, returns only non-archived tasks.</p>"
1317
+
"description": "<p>Filter by archived status. When <code>true</code>, returns only archived tasks. When <code>false</code> or omitted, returns only non-archived tasks. Defaults to <code>false</code>.</p>"
1331
1318
},
1332
1319
{
1333
1320
"name": "since",
@@ -1340,7 +1327,7 @@
1340
1327
}
1341
1328
],
1342
1329
"bodyParameters": [],
1343
-
"descriptionHTML": "<p>Returns a list of tasks for the authenticated user</p>",
1330
+
"descriptionHTML": "<div class=\"ghd-alert ghd-alert-accent\" data-container=\"alert\"><p class=\"ghd-alert-title\"><svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon mr-2\" aria-hidden><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"></path></svg>Note</p>\n<p>\nThis endpoint is in public preview and is subject to change.</p>\n</div>\n<p>Returns a list of tasks for the authenticated user</p>",
1344
1331
"codeExamples": [
1345
1332
{
1346
1333
"request": {
@@ -1645,7 +1632,7 @@
1645
1632
}
1646
1633
],
1647
1634
"bodyParameters": [],
1648
-
"descriptionHTML": "<p>Returns a task by ID with its associated sessions</p>",
1635
+
"descriptionHTML": "<div class=\"ghd-alert ghd-alert-accent\" data-container=\"alert\"><p class=\"ghd-alert-title\"><svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon mr-2\" aria-hidden><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"></path></svg>Note</p>\n<p>\nThis endpoint is in public preview and is subject to change.</p>\n</div>\n<p>Returns a task by ID with its associated sessions</p>",
0 commit comments