chore: clean up of work item attributes
What does this merge request do and why?
Cleans up and optimizes GraphQL queries for work item retrieval by removing unused attributes and adding new required fields.
Changes
Removed unused attributes:
- Author name
- Confidential flag
- Imported flag
- Archived flag
- Namespace and project IDs (kept fullPath only)
- Work item type ID (kept name only)
- Linked items: workItemState, id, createdAt, closedAt, webUrl
- Label descriptions
- Milestone: id, state, expired, upcoming, startDate
Added new attributes:
-
WorkItemWidgetStatus- status name -
WorkItemWidgetHealthStatus- health status for both main work items and linked items -
WorkItemWidgetStartAndDueDate- start date, due date, and isFixed flag -
WorkItemWidgetAssignees- assignee usernames
Why?
This change improves query efficiency by:
- Removing fields that aren't being used in the application
- Adding newly required fields for work item filtering and display (status, health status, assignees)
- Reducing payload size and query complexity
references https://gitlab.com/gitlab-org/gitlab/-/work_items/580662+
How to set up and validate locally
Use this branch here and mk-cleanup-of-attributes-for-work-items-tools branch in monolith. Then ask about work item in the agentic chat and see if the new data is accessible.
Merge request checklist
-
Tests added for new functionality. If not, please raise an issue to follow up. -
Documentation added/updated, if needed. -
If this change requires executor implementation: verified that issues/MRs exist for both Go executor and Node executor or confirmed that changes are backward-compatible and don't break existing executor functionality.
/label typemaintenance
Edited by Gosia Ksionek