Sam Morrow
5d47ccc32f
feat: add create_project and create_iteration_field methods to projects_write
...
Adds two new methods to the consolidated projects_write tool:
- create_project: creates a new GitHub ProjectsV2 for a user or org
- create_iteration_field: adds an iteration field to an existing project
Changes addressing review feedback:
- Validate owner_type is exactly 'user' or 'org' in create_project
- Use resolveProjectNodeID (GraphQL) instead of getProjectNodeID (REST)
to avoid HTTP response body leaks
- Add omitempty to Iterations JSON tag
- Rename iterations item field startDate to start_date for consistency
- Validate iteration elements instead of silently skipping invalid ones
- Use explicit response structs with snake_case JSON tags
- Add test for auto-detected owner_type in create_iteration_field
- Use stubExporters() in test deps for nil-safety
Co-authored-by: João Doria de Souza <jdoria@github.com >
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-29 21:13:20 +02:00
..
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-05-11 15:07:00 +01:00
2026-01-15 17:33:22 +01:00
2026-01-15 16:15:39 +01:00
2026-04-14 15:40:00 +01:00
2026-02-04 17:46:21 +00:00
2026-04-14 15:40:00 +01:00
2026-01-22 23:27:21 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-04-14 15:40:00 +01:00
2026-03-04 14:34:49 +01:00
2026-04-14 15:40:00 +01:00
2026-02-12 13:03:00 +00:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-04-14 15:40:00 +01:00
2026-05-15 15:16:36 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-05-15 15:16:36 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-05-21 16:41:21 +02:00
2026-01-15 16:15:39 +01:00
2026-05-19 12:19:30 +02:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-05-28 13:11:29 +02:00
2026-05-28 13:11:29 +02:00
2026-05-21 16:41:21 +02:00
2026-01-15 16:15:39 +01:00
2026-05-20 15:27:04 +02:00
2026-03-24 21:34:31 +01:00
2026-05-20 15:27:04 +02:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-05-21 16:19:49 +02:00
2026-01-15 16:15:39 +01:00
2026-05-21 23:01:19 +02:00
2026-05-21 23:01:19 +02:00
2026-05-21 16:41:21 +02:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-05-15 11:20:30 +02:00
2026-01-15 16:15:39 +01:00
2026-05-20 15:27:04 +02:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-02-18 10:14:40 +01:00
2026-02-18 10:14:40 +01:00
2026-05-29 21:13:20 +02:00
2026-05-19 19:40:19 +02:00
2026-05-21 16:41:21 +02:00
2026-03-29 04:34:20 +02:00
2026-04-14 15:40:00 +01:00
2026-04-14 15:40:00 +01:00
2026-01-15 16:15:39 +01:00
2026-04-14 15:40:00 +01:00
2026-04-14 15:40:00 +01:00
2026-05-20 12:30:38 +02:00
2026-05-20 16:24:00 +02:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-05-28 02:29:34 -07:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-04-14 15:40:00 +01:00
2026-04-14 15:40:00 +01:00
2026-01-15 16:15:39 +01:00
2026-01-15 16:15:39 +01:00
2026-04-14 15:40:00 +01:00
2026-04-14 15:40:00 +01:00
2026-05-28 02:29:34 -07:00
2026-04-14 15:40:00 +01:00
2026-04-14 15:40:00 +01:00
2026-04-14 15:40:00 +01:00
2026-05-28 02:29:34 -07:00
2026-04-14 15:40:00 +01:00
2026-01-15 16:15:39 +01:00
2026-04-14 15:40:00 +01:00
2026-04-14 15:40:00 +01:00
2026-04-14 15:40:00 +01:00
2026-01-15 16:15:39 +01:00