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
* Add basic project view management
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000
* Harden project view mutations
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000
* Resolve project view fields by name
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000
* Clear project view filters with explicit null
Align the filter parameter with the nullable-parameter convention: omit
to preserve, pass null to clear. Empty strings are now rejected rather
than treated as a clear sentinel. The GraphQL and REST wire format is
unchanged, since the API still clears a filter with an empty string.
Also replace the "<nil>" string comparison in deleteProjectView with a
direct nil check on the returned ID.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Use caller-specific project field hints
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000
---------
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000
Copy file name to clipboardExpand all lines: README.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1099,6 +1099,7 @@ The following sets of tools are available:
1099
1099
-`owner_type`: Owner type (user or org). If not provided, will be automatically detected. (string, optional)
1100
1100
-`project_number`: The project's number. (number, optional)
1101
1101
-`status_update_id`: The node ID of the project status update. Required for 'get_project_status_update' method. (string, optional)
1102
+
-`view_id`: The node ID of the project view. Required for 'get_project_view' method. (string, optional)
1102
1103
1103
1104
-**projects_list** - List GitHub Projects resources
1104
1105
-**Required OAuth Scopes**: `read:project`
@@ -1111,13 +1112,14 @@ The following sets of tools are available:
1111
1112
-`owner`: The owner (user or organization login). The name is not case sensitive. (string, required)
1112
1113
-`owner_type`: Owner type (user or org). If not provided, will automatically try both. (string, optional)
1113
1114
-`per_page`: Results per page (max 50) (number, optional)
1114
-
-`project_number`: The project's number. Required for 'list_project_fields', 'list_project_items', and 'list_project_status_updates' methods. (number, optional)
1115
+
-`project_number`: The project's number. Required for 'list_project_fields', 'list_project_items', 'list_project_views', and 'list_project_status_updates' methods. (number, optional)
1115
1116
-`query`: Filter/query string. For list_projects: filter by title text and state (e.g. "roadmap is:open"). For list_project_items: advanced filtering using GitHub's project filtering syntax. (string, optional)
1116
1117
1117
1118
-**projects_write** - Manage GitHub Projects
1118
1119
-**Required OAuth Scopes**: `project`
1119
1120
-`body`: The body of the status update (markdown). Used for 'create_project_status_update' method. (string, optional)
1120
1121
-`field_name`: The name of the iteration field (e.g. 'Sprint'). Required for 'create_iteration_field' method. (string, optional)
1122
+
-`filter`: Saved view filter; omit on update to preserve it, or pass null to clear it. (string | null, optional)
1121
1123
-`issue_number`: The issue number. Required for 'add_project_item' when item_type is 'issue'. Also accepted by 'update_project_item' to resolve the item by issue number (combine with item_owner and item_repo). (number, optional)
1122
1124
-`item_id`: The project item ID. Required for 'delete_project_item'. For 'update_project_item', provide either item_id, or (item_owner + item_repo + issue_number) to resolve the item by issue. (number, optional)
1123
1125
-`item_owner`: The owner (user or organization) of the repository containing the issue or pull request. Required for 'add_project_item' method. Also accepted by 'update_project_item' when resolving the item by issue number. (string, optional)
@@ -1126,7 +1128,9 @@ The following sets of tools are available:
1126
1128
-`items`: The items to update with the top-level 'updated_field'. Required for 'update_project_items'; prefer it over calling 'update_project_item' in a loop. Each entry must match exactly one reference variant: 'node_id', numeric 'item_id', or 'item_owner' + 'item_repo' + 'issue_number'. Limit: 50 items per call. (object[], optional)
1127
1129
-`iteration_duration`: Duration in days for iterations of the field (e.g. 7 for weekly, 14 for bi-weekly). Required for 'create_iteration_field' method. (number, optional)
1128
1130
-`iterations`: Custom iterations for 'create_iteration_field' method. Only set this when you need iterations with varying durations, breaks between them, or specific titles. Otherwise omit it: GitHub auto-creates three iterations of 'iteration_duration' days starting on 'start_date', which is the right choice for most cases. (object[], optional)
1131
+
-`layout`: View layout; required when creating a view. (string, optional)
1129
1132
-`method`: The method to execute (string, required)
1133
+
-`name`: View name; required when creating a view. (string, optional)
1130
1134
-`owner`: The project owner (user or organization login). The name is not case sensitive. (string, required)
1131
1135
-`owner_type`: Owner type (user or org). Required for 'create_project' method. If not provided for other methods, will be automatically detected. (string, optional)
1132
1136
-`project_number`: The project's number. Required for all methods except 'create_project'. (number, optional)
@@ -1136,6 +1140,9 @@ The following sets of tools are available:
1136
1140
-`target_date`: The target date of the status update in YYYY-MM-DD format. Used for 'create_project_status_update' method. (string, optional)
1137
1141
-`title`: The project title. Required for 'create_project' method. (string, optional)
1138
1142
-`updated_field`: The field/value to apply, using {"id": 123, "value": ...} or {"name": "Status", "value": ...}; null clears the field. Required for 'update_project_item' and 'update_project_items', where one top-level field/value applies to every item in a batch. For 'update_project_item' SINGLE_SELECT fields, the name form accepts option names; the ID form expects an option ID. (object, optional)
1143
+
-`view_id`: Project view node ID for update or delete; must belong to owner/project_number. (string, optional)
1144
+
-`visible_field_names`: Field names for table or board creation; mutually exclusive with visible_fields. (string[], optional)
1145
+
-`visible_fields`: Field database IDs for table or board creation; mutually exclusive with visible_field_names. (string[], optional)
Copy file name to clipboardExpand all lines: pkg/github/__toolsnaps__/projects_get.snap
+7-2Lines changed: 7 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
"readOnlyHint": true,
5
5
"title": "Get details of GitHub Projects resources"
6
6
},
7
-
"description": "Get details about specific GitHub Projects resources.\nUse this tool to get details about individual projects, project fields, and project items by their unique IDs.\n",
7
+
"description": "Get details about specific GitHub Projects resources.\nUse this tool to get details about individual projects, project fields, project items, and project views by their unique IDs.\n",
8
8
"inputSchema": {
9
9
"properties": {
10
10
"field_id": {
@@ -35,7 +35,8 @@
35
35
"get_project",
36
36
"get_project_field",
37
37
"get_project_item",
38
-
"get_project_status_update"
38
+
"get_project_status_update",
39
+
"get_project_view"
39
40
],
40
41
"type": "string"
41
42
},
@@ -58,6 +59,10 @@
58
59
"status_update_id": {
59
60
"description": "The node ID of the project status update. Required for 'get_project_status_update' method.",
60
61
"type": "string"
62
+
},
63
+
"view_id": {
64
+
"description": "The node ID of the project view. Required for 'get_project_view' method.",
Copy file name to clipboardExpand all lines: pkg/github/__toolsnaps__/projects_list.snap
+4-3Lines changed: 4 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
"readOnlyHint": true,
5
5
"title": "List GitHub Projects resources"
6
6
},
7
-
"description": "Tools for listing GitHub Projects resources.\nUse this tool to list projects for a user or organization, or list project fieldsand items for a specific project.\n",
7
+
"description": "Tools for listing GitHub Projects resources.\nUse this tool to list projects for a user or organization, or list project fields, items, views, and status updates for a specific project.\n",
8
8
"inputSchema": {
9
9
"properties": {
10
10
"after": {
@@ -35,7 +35,8 @@
35
35
"list_projects",
36
36
"list_project_fields",
37
37
"list_project_items",
38
-
"list_project_status_updates"
38
+
"list_project_status_updates",
39
+
"list_project_views"
39
40
],
40
41
"type": "string"
41
42
},
@@ -56,7 +57,7 @@
56
57
"type": "number"
57
58
},
58
59
"project_number": {
59
-
"description": "The project's number. Required for 'list_project_fields', 'list_project_items', and 'list_project_status_updates' methods.",
60
+
"description": "The project's number. Required for 'list_project_fields', 'list_project_items', 'list_project_views', and 'list_project_status_updates' methods.",
Copy file name to clipboardExpand all lines: pkg/github/__toolsnaps__/projects_write.snap
+46-1Lines changed: 46 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
"readOnlyHint": false,
6
6
"title": "Manage GitHub Projects"
7
7
},
8
-
"description": "Create and manage GitHub Projects: create projects, add/update/delete items, bulk-update many items at once, create status updates, and add iteration fields.",
8
+
"description": "Create and manage GitHub Projects: create projects, add/update/delete items, bulk-update many items at once, manage views, create status updates, and add iteration fields.",
9
9
"inputSchema": {
10
10
"properties": {
11
11
"body": {
@@ -16,6 +16,17 @@
16
16
"description": "The name of the iteration field (e.g. 'Sprint'). Required for 'create_iteration_field' method.",
17
17
"type": "string"
18
18
},
19
+
"filter": {
20
+
"anyOf": [
21
+
{
22
+
"type": "string"
23
+
},
24
+
{
25
+
"type": "null"
26
+
}
27
+
],
28
+
"description": "Saved view filter; omit on update to preserve it, or pass null to clear it."
29
+
},
19
30
"issue_number": {
20
31
"description": "The issue number. Required for 'add_project_item' when item_type is 'issue'. Also accepted by 'update_project_item' to resolve the item by issue number (combine with item_owner and item_repo).",
21
32
"type": "number"
@@ -129,6 +140,15 @@
129
140
},
130
141
"type": "array"
131
142
},
143
+
"layout": {
144
+
"description": "View layout; required when creating a view.",
145
+
"enum": [
146
+
"table",
147
+
"board",
148
+
"roadmap"
149
+
],
150
+
"type": "string"
151
+
},
132
152
"method": {
133
153
"description": "The method to execute",
134
154
"enum": [
@@ -137,11 +157,18 @@
137
157
"update_project_items",
138
158
"delete_project_item",
139
159
"create_project_status_update",
160
+
"create_project_view",
161
+
"update_project_view",
162
+
"delete_project_view",
140
163
"create_project",
141
164
"create_iteration_field"
142
165
],
143
166
"type": "string"
144
167
},
168
+
"name": {
169
+
"description": "View name; required when creating a view.",
170
+
"type": "string"
171
+
},
145
172
"owner": {
146
173
"description": "The project owner (user or organization login). The name is not case sensitive.",
147
174
"type": "string"
@@ -224,6 +251,24 @@
224
251
}
225
252
],
226
253
"type": "object"
254
+
},
255
+
"view_id": {
256
+
"description": "Project view node ID for update or delete; must belong to owner/project_number.",
257
+
"type": "string"
258
+
},
259
+
"visible_field_names": {
260
+
"description": "Field names for table or board creation; mutually exclusive with visible_fields.",
261
+
"items": {
262
+
"type": "string"
263
+
},
264
+
"type": "array"
265
+
},
266
+
"visible_fields": {
267
+
"description": "Field database IDs for table or board creation; mutually exclusive with visible_field_names.",
0 commit comments