Currently epic writes go through REST PUT /groups/:id/epics/:iid, while reads are moving to the Work Items GraphQL API. For consistency and because GitLab is deprecating the REST Epic API long-term, migrate the write path as well.
Scope
toggleCardState for epics → GraphQL workItemUpdateMutation with state event.
updateCardLabels for epics → GraphQL workItemUpdateMutation with labelsWidget add/remove payload.
- Keep REST write path for issues / MRs — those don't have the same deprecation pressure yet.
Dependencies
- Requires Work Items GraphQL mutations to be stable on gitlab.com (they are as of 2026).
- Proxy already forwards /graphql; no infra change.
Currently epic writes go through REST
PUT /groups/:id/epics/:iid, while reads are moving to the Work Items GraphQL API. For consistency and because GitLab is deprecating the REST Epic API long-term, migrate the write path as well.Scope
toggleCardStatefor epics → GraphQLworkItemUpdateMutationwith state event.updateCardLabelsfor epics → GraphQLworkItemUpdateMutationwith labelsWidget add/remove payload.Dependencies