Add statusId argument to boardListCreate mutation
What does this MR do and why?
As part of the configurable work item statuses initiative, this MR adds a statusId
argument to the boardListCreate
mutation.
The statusId
argument will be used by the frontend in ee/app/assets/javascripts/boards/graphql/board_list_create.mutation.graphql
.
Changes
18.1
(with limited time remaining before the 18.0
cut-off), we are introducing a placeholder API in this MR.
- When a
statusId
is provided, the board list creation is intentionally prevented until full status support is available for board lists. In this case, theboardListCreate
mutation will return a successful response with alist
beingnil
. - Whether a valid or invalid
statusId
is passed, the response will always be the same. The error won't be raised until statuses are fully supported on the board lists.
Notes
As per our decision registry, we're implementing support for statuses in legacy issue boards, since the new board experience won't be ready for GA by July 2025.
References
- BE: Add status support for GraphQL board list queries and mutations
- BE: Implement support for status in board list services
- Status lists on legacy issue boards
- Work Items Custom Status Design Doc
- Configurable Work Item Statuses Epic
Screenshots or screen recordings
backend only.
How to set up and validate locally
- Enable the
work_item_status_feature_flag
feature flag. - Create a new issue board under
flightjs/Flight
project. - Use the mutation below to create a new issue board list.
View query
mutation createBoardListEE(
$boardId: BoardID!
$backlog: Boolean
$labelId: LabelID
$milestoneId: MilestoneID
$iterationId: IterationID
$assigneeId: UserID
$statusId: WorkItemsStatusesStatusID
$position: Int
) {
boardListCreate(
input: {
boardId: $boardId
backlog: $backlog
labelId: $labelId
milestoneId: $milestoneId
iterationId: $iterationId
assigneeId: $assigneeId
statusId: $statusId
position: $position
}
) {
list {
id
title
}
errors
}
}
{
"boardId": "gid://gitlab/Board/6", # TODO: Replace with your board GID
"statusId": "gid://gitlab/WorkItems::Statuses::SystemDefined::Status/1"
}
View response
{
"data": {
"boardListCreate": {
"list": null,
"errors": []
}
},
"correlationId": "01JT010JVRG35GJ60E1ACJD178"
}
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Agnes Slota