Hierarchy widget - Expose list of allowed children types in API
When we have restrictions about parent/child relationship in DB, we should also expose in API what are allowed types being added for a work item. So for example if we define that "key result" type can be only child of "objective" type, or "task" can be child only of "issue" type, we should return this info in API.
The reason is that UI for hierarchy widget then can get info what are allowed types to be added to the work item being displayed and filter by allowed types in the autocompletion dropdown when adding new children.
Example query
query getAllowedWorkItemChildTypes {
workItem(id: "gid://gitlab/WorkItem/1") {
workItemType {
name
widgetDefinitions {
... on WorkItemWidgetDefinitionHierarchy {
type
allowedChildTypes {
nodes {
id
name
iconName
}
}
}
}
}
}
}
Example response
{
"data": {
"workItem": {
"workItemType": {
"name": "Issue",
"widgetDefinitions": [
{
"type": "HIERARCHY",
"allowedChildTypes": {
"nodes": [
{
"id": "gid://gitlab/WorkItems::Type/5",
"name": "Task",
"iconName": "issue-type-task"
}
]
}
}
]
}
}
}
}
Edited by Eugenia Grieff