Skip to content

fix(gitlab): use PascalCase GraphQL input type names for note mutations - #20

Merged
liamg merged 1 commit into
mainfrom
fix/gitlab-graphql-input-type-names
Jul 1, 2026
Merged

fix(gitlab): use PascalCase GraphQL input type names for note mutations#20
liamg merged 1 commit into
mainfrom
fix/gitlab-graphql-input-type-names

Conversation

@liamg

@liamg liamg commented Jul 1, 2026

Copy link
Copy Markdown
Member

Comment updates/deletes on GitLab were failing in prod with updateNoteInput isn't a defined input type.

shurcooL/graphql derives the GraphQL input type name from the Go struct name verbatim, so the unexported updateNoteInput/destroyNoteInput structs produced a mutation with a type name GitLab's (case-sensitive) schema rejects. The old CLI used PascalCase names, which is why it worked there and regressed on the port.

Comment creation uses the REST API, so this only surfaced on MRs with a pre-existing Infracost comment (the update/delete path) — hence it wasn't caught on fresh MRs.

Renames the structs to UpdateNoteInput/DestroyNoteInput to match GitLab's schema types, and adds a regression test that captures the mutation body over the wire and asserts the correct type name. GitHub (uses githubv4's own types) and Azure (REST only) were checked and are unaffected.

shurcooL/graphql derives the GraphQL input type name from the Go struct
name verbatim, so unexported structs (updateNoteInput/destroyNoteInput)
produced mutations GitLab rejects with "updateNoteInput isn't a defined
input type". Rename to UpdateNoteInput/DestroyNoteInput to match GitLab's
schema, and add a regression test asserting the wire type names.

Only the update/delete paths (GraphQL) were affected; comment creation
uses REST, so this only surfaced on MRs with a pre-existing comment.
@liamg liamg self-assigned this Jul 1, 2026
@liamg
liamg marked this pull request as ready for review July 1, 2026 09:20
@liamg
liamg merged commit bf087ec into main Jul 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants