Deprecate updating an iteration's attributes via GraphQL
What does this MR do and why?
- Deprecates updating an iteration manually through the GraphQL API.
- Returns an error if trying to update a deprecated field if the iteration belongs to an automatic iteration cadence. This is not a breaking change as automatic cadences could only be created if the
iteration_cadences
was enabled. It should not affect the behavior of the legacy iterations feature.
How to set up and validate locally
- Make sure the
iteration_cadences
FF is disabled in the rails console (Feature.disable(:iteration_cadences)
) - Visit the
iterations
menu inside theissues
side menu of a group. - Test that the legacy iterations feature works as expected. Should be able to update deprecated arguments if the cadence is manual.
- Enable the
iteration_cadences
FF in the rails console (Feature.enable(:iteration_cadences)
) - Visit http://localhost:3000/groups/gitlab-org/-/cadences
- Create an automatic iteration cadence.
- You should get an error if trying to update the title, start_date or due_date of any of the generated iterations inside the new automatic iteration cadence using the following query in GraphiQL:
mutation {
updateIteration(input: {id: "gid://gitlab/Iteration/22", groupPath: "flightjs", title: "deprecated"}) {
errors
iteration { title description }
}
}
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #356069 (closed)
Edited by Mario Celi