Repository navigation
feat: Add typed issue artifact REST support - #4677
veralizeth wants to merge 2 commits into
Conversation
Add IssuesService artifact CRUD methods, typed version history, and httptest coverage. Preserve optional update fields and document pagination without Link headers. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #4677 +/- ##
=======================================
Coverage 98.63% 98.64%
=======================================
Files 201 202 +1
Lines 18951 19013 +62
=======================================
+ Hits 18693 18755 +62
Misses 258 258 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Generate the standard list iterator and document Link-header pagination for issue artifacts. Exercise page traversal, filter preservation, and options immutability. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
@veralizeth - this PR is currently in the state where there are two authors:
To fix this, you will either need to rewrite the commits locally so that you are the only author (and are the one who has signed the CLA), and then force-push to this PR to remove the copilot commit, or close this PR and start a new one where you are the only author. Sorry for the inconvenience. |
Add
IssuesService.ListArtifacts,GetArtifact,CreateArtifact,UpdateArtifact, andDeleteArtifact, with typed artifacts and version history. Get preserves the stable{artifact, versions}envelope; artifact paths use issue-scoped numbers rather than global IDs. Updates preserve omitted fields and can send explicit empty strings.Wire shapes are based on the public CLI artifact models and REST client fixtures. The artifact endpoint is not yet published in the public REST/OpenAPI documentation, and the pagination-header contract described below has not yet been deployed; runtime compatibility is not claimed.
List uses standard
ListOptionsand returns the standard*Response. The planned endpoint contract provides standard Link headers, soResponse.NextPageand generatedListArtifactsIterare supported; no synthetic pagination metadata is added. Offset pagination has no snapshot guarantee. The public API documentation is still pending.Includes nullable actors, timestamps, and HTML fields, typed version history, request/error tests, generated accessors/string tests, and an iterator test covering Link traversal, filter preservation, and options immutability.
Validation: targeted issue-artifact and iterator tests; full
go test -race ./github;script/test.sh,script/fmt.sh,script/generate.sh --check, andscript/lint.shpassed. No live artifacts were created or modified.Assisted contribution: GitHub Copilot helped implement and review the SDK methods, tests, and PR description.