Support moving issue between epics
What does this MR do?
On issue board, epics act as "horizontal lists"/swimlanes. IOW from user point of view dragging and dropping an issue between swimlanes and a specific position in the target swimlane is an atomic operation. Although both operations can be done be separate mutations, it's hard to use them if any of them can fail.
This enables moving an issue between epic swimlanes by extending an existing issueMoveList
mutation - because this is similar to moving issue between lists (but in this case the list is horizontal).
It updates setting of epic to be processed the same way (and in the same phase) when creating and updating an issue, now epic is set in filter_params
callback in both cases instead of treating it differently for update vs create service.
Sample query:
mutation {
issueMoveList(input: {boardId: "gid://gitlab/Board/2", projectPath: "h5bp/html5-boilerplate", iid: "7", epicId: "gid://gitlab/Epic/1"}) {
errors
issue {
id
relativePosition
epic {
id
}
}
}
}
Related to #241219 (closed)
Screenshots
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team