| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
There was a problem hiding this comment.
Adds complete basic ProjectV2 view lifecycle support to the consolidated Projects tools.
Changes:
| File | Description |
|---|---|
| README.md | Documents view parameters. |
| pkg/github/toolset_instructions.go | Adds view workflow guidance. |
| pkg/github/projects.go | Implements view lifecycle operations. |
| pkg/github/projects_v2_test.go | Tests view behavior and authorization. |
| pkg/github/projects_test.go | Verifies updated tool schemas. |
| pkg/github/minimal_types.go | Adds normalized view output type. |
| pkg/github/__toolsnaps__/projects_write.snap | Updates write schema snapshot. |
| pkg/github/__toolsnaps__/projects_list.snap | Updates list schema snapshot. |
| pkg/github/__toolsnaps__/projects_get.snap | Updates get schema snapshot. |
Sorry, something went wrong.
There was a problem hiding this comment.
Left two comments, otherwise lgtm!
Sorry, something went wrong.
| case "org": | ||
| endpoint = fmt.Sprintf("orgs/%s/projectsV2/%d/views", owner, projectNumber) | ||
| case "user": | ||
| endpoint = fmt.Sprintf("users/%s/projectsV2/%d/views", owner, projectNumber) |
There was a problem hiding this comment.
owner is a login, but I think this endpoint requires the numeric user_id (octocat → 583231). If so, we should maybe resolve the user ID before building the URL and update the test? source
Sorry, something went wrong.
There was a problem hiding this comment.
Great catch! This is actually an error in the docs. Verified against production:
POST /users/zwick/projectsV2/7/views
{"name":"Route evidence - login","layout":"table"}
HTTP 201
{"name":"Route evidence - login","project_url":"https://api.github.com/users/zwick/projectsV2/7"}
POST /users/1871037/projectsV2/7/views
{"name":"Route evidence - numeric ID","layout":"table"}
HTTP 404
{"message":"Not Found","status":"404"}
I'll see about getting these docs updated
Sorry, something went wrong.
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
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000
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>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000
| Back | FazBrowse Home | New Git URL |
Summary
Adds basic ProjectV2 view lifecycle support to the consolidated Projects tools: list/get views plus create/update/delete with name, layout, and filter. Create supports visible fields by database ID or case-insensitive field name.
Why
Fixes github/planning-tracking#3776.
What changed
MCP impact
Prompts tested (tool changes only)
Validated through the built stdio MCP server against the public APIs without preview headers, including visible_field_names resolution, ownership-mismatch rejection, and final cleanup/read-back.
Security / limits
Tool renaming
Lint & tests
Docs