Skip to content

feat: Add typed issue artifact REST support - #4677

Draft
veralizeth wants to merge 2 commits into
google:masterfrom
veralizeth:veralizeth-issue-artifacts-go-sdk
Draft

veralizeth wants to merge 2 commits into
google:masterfrom
veralizeth:veralizeth-issue-artifacts-go-sdk

Conversation

@veralizeth

@veralizeth veralizeth commented Oct 26, 2026 •

Copy link
Copy Markdown

Add IssuesService.ListArtifacts, GetArtifact, CreateArtifact, UpdateArtifact, and DeleteArtifact, 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 ListOptions and returns the standard *Response. The planned endpoint contract provides standard Link headers, so Response.NextPage and generated ListArtifactsIter are 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, and script/lint.sh passed. No live artifacts were created or modified.

Assisted contribution: GitHub Copilot helped implement and review the SDK methods, tests, and PR description.

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>
@google-cla

google-cla Bot commented Oct 26, 2026

Copy link
Copy Markdown

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.

@gmlewis gmlewis added the NeedsReview PR is awaiting a review before merging. label Oct 26, 2026
@gmlewis gmlewis changed the title Add typed issue artifact REST support feat: Add typed issue artifact REST support Oct 26, 2026
@codecov

codecov Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.64%. Comparing base (6eccc42) to head (a429e7a).

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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>
@gmlewis

gmlewis commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

@veralizeth - this PR is currently in the state where there are two authors:

The following contributors were found for this pull request:
❌ a429e7a Author: @veralizeth <47796851+veralizeth​@users.noreply.github.com>
❌ a429e7a Co-Author: @Copilot <223556219+Copilot​@users.noreply.github.com>

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

NeedsReview PR is awaiting a review before merging.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants