Add status to board list GraphQL API
What does this MR do and why?
As part of the configurable work item statuses initiative, this MR adds status to board list GraphQL API.
The status
field will be used by the frontend in ee/app/assets/javascripts/boards/graphql/board_lists.query.graphql
.
18.1
. Currently, the API returns nil
for status data. We will start returning actual status data, likely at the beginning of 18.1
, once creating board lists with status values is supported.
Notes
As per our decision log, we're implementing support for statuses in legacy issue boards, since work item lists won't be ready for GA by July 2025.
References
- BE: Add status to legacy issues GraphQL API
- 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 queries below to verify the results.
View query
query BoardList($fullPath: ID!, $boardId: BoardID!) {
project(fullPath: $fullPath) {
id
board(id: $boardId) {
id
lists {
nodes {
id
title
milestone {
title
}
status {
id
name
color
color
}
}
}
}
}
}
{
"fullPath": "flightjs/Flight",
"boardId": "gid://gitlab/Board/6" # TODO: Replace with your board GID
}
View response
{
"data": {
"project": {
"id": "gid://gitlab/Project/7",
"board": {
"id": "gid://gitlab/Board/6",
"lists": {
"nodes": [
{
"id": "gid://gitlab/List/11",
"title": "Open",
"milestone": null,
"status": null
},
{
"id": "gid://gitlab/List/12",
"title": "Closed",
"milestone": null,
"status": null
}
]
}
}
}
},
"correlationId": "01JSX4VNJ6ZQR3XEE7JFA6GRV4"
}
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.