Add availableQuickActions to Issue and WorkItem GraphQL types
What does this MR do and why?
Follow-up to !243123 (merged), which added MergeRequest.availableQuickActions. This MR exposes the same field on the Issue and WorkItem GraphQL types, so API clients can fetch the server-resolved quick actions set for issues and work items (including group-level work items) instead of hand-maintaining a command list.
No new logic is introduced: Resolvers::Notes::AvailableQuickActionsResolver already operates on any noteable. It resolves the container via Noteable#resource_parent, so project-level noteables evaluate against their project and group-level work items against their group — the same container Groups::AutocompleteService#commands already uses to back the web editor's /-autocomplete for group-level noteables.
As with the merge request field, each command's availability is resolved server-side via QuickActions::InterpretService#available_commands, so the returned set already accounts for:
- the current user's permissions,
- the noteable's state (for example
/reopenonly when closed), - the namespace's licensed features (for example
/weight,/iterationon the relevant plans; group-level work items return no commands without the license).
New fields
Issue.availableQuickActions: [QuickActionCommand!]WorkItem.availableQuickActions: [QuickActionCommand!]
Both reuse the existing QuickActionCommand type (name, aliases, description, params, warning, icon).
Example query
{
namespace(fullPath: "gitlab-org") {
workItem(iid: "1") {
availableQuickActions {
name
aliases
description
params
}
}
}
}Screenshots or screen recordings
Not applicable — GraphQL field, covered by the generated reference docs and specs.
How to set up and validate locally
- In the GraphiQL explorer (
/-/graphql-explorer), run the query above against a work item (orproject { issue(iid:) { availableQuickActions { name } } }for an issue) you can access. - Confirm the returned commands match the
/-autocomplete shown in that noteable's comment editor (state- and permission-dependent).
MR acceptance checklist
- I have evaluated the MR acceptance checklist for this MR.
- Documentation (GraphQL reference) regenerated.
- Tests added for the new resolver entry points (issue, project-level and group-level work items).