doc/user/project/quick_actions.md
{{< details >}}
{{< /details >}}
Quick actions provide text-based shortcuts for common actions in GitLab. Quick actions:
For example, you can use quick actions to:
Each command starts with a forward slash (/) and must be entered on a separate line.
Many quick actions accept parameters, which you can enter with quotation marks (") or specific formatting.
Many quick actions require a parameter. For example, the /assign quick action
requires a username. GitLab uses autocomplete characters
with quick actions to help users enter parameters, by providing a list of
available values.
If you manually enter a parameter, it must be enclosed in double quotation marks
("), unless it contains only these characters:
_), hyphen (-), question mark (?), dot (.), ampersand (&) or at (@)Parameters are case-sensitive. Autocomplete handles this, and the insertion of quotation marks, automatically.
{{< history >}}
/cc quick action removed in GitLab 18.3.{{< /history >}}
The following quick actions are applicable to descriptions, discussions, and threads. Some quick actions might not be available to all subscription tiers.
add_childAdd one or more items as child items.
Availability:
Parameters:
<item>: The item to add as a child. The value should be in the format of #item, group/project#item, or a URL to the item.
Multiple work items can be added as child items at the same time.Examples:
Add a single child item:
/add_child #123
Add multiple child items:
/add_child #123 #456 group/project#789
Add a child item using a URL:
/add_child https://gitlab.com/group/project/-/work_items/123
add_contactsAdd one or more active CRM contacts.
Availability:
Parameters:
[contact:[email protected]]: One or more contact emails in the format contact:[email protected].Examples:
Add a single contact:
/add_contacts [contact:[email protected]]
Add multiple contacts:
/add_contacts [contact:[email protected]] [contact:[email protected]]
Additional details:
add_emailAdd up to six email participants.
{{< history >}}
issue_email_participants. Enabled by default.issue_email_participants removed.{{< /history >}}
Availability:
Parameters:
email1 email2: One or more email addresses, separated by spaces.Examples:
Add a single email participant:
/add_email [email protected]
Add multiple email participants:
/add_email [email protected] [email protected]
Additional details:
approveApprove the merge request.
Availability:
Examples:
Approve a merge request:
/approve
Additional details:
/unapprove.assign{{< history >}}
{{< /history >}}
Assign one or more users to the work item.
Availability:
Parameters:
@user1 @user2: One or more usernames to assign. Usernames must be prefixed with @.me: Assign yourself to the work item.Examples:
Assign a single user:
/assign @alex
Assign multiple users:
/assign @alex @sam
Assign yourself:
/assign me
Additional details:
/unassign./reassign.assign_reviewerAssign one or more users as reviewers, or request a new review from existing reviewers.
Alias for /request_review.
Availability:
Parameters:
@user1 @user2: One or more usernames to assign as reviewers. Usernames must be prefixed with @.me: Assign yourself as a reviewer.Examples:
Assign a single reviewer:
/assign_reviewer @alex
Assign multiple reviewers:
/assign_reviewer @alex @sam
Assign yourself as a reviewer:
/assign_reviewer me
Additional details:
/reviewer is also an alias for this command./reassign_reviewer./unassign_reviewer./request_review.awardToggle an emoji reaction.
{{< history >}}
{{< /history >}}
Availability:
Parameters:
:emoji:: The emoji to toggle. Must be in the format :emoji_name:.Examples:
Toggle a thumbs up reaction:
/award :thumbsup:
Toggle a heart reaction:
/award :heart:
Additional details:
/award is an alias of /react.blocked_byMark the item as blocked by other items.
{{< history >}}
{{< /history >}}
Availability:
Parameters:
<item1> <item2>: One or more items that block this item. The value should be in the format of #item, group/project#item, or the full URL. For merge requests, use !merge_request, group/project!merge_request, or the merge request URL.Examples:
Mark as blocked by a single item:
/blocked_by #123
Mark as blocked by multiple items:
/blocked_by #123 group/project#456
Mark as blocked by an item using a URL:
/blocked_by https://gitlab.com/group/project/-/work_items/123
Mark a merge request as blocked by another merge request:
/blocked_by !456
Additional details:
/unlink./relate.blocksMark the item as blocking other items.
{{< history >}}
{{< /history >}}
Availability:
Parameters:
<item1> <item2>: One or more items that this item blocks. The value should be in the format of #item, group/project#item, or the full URL. For merge requests, use !merge_request, group/project!merge_request, or the merge request URL.Examples:
Mark as blocking a single item:
/blocks #123
Mark as blocking multiple items:
/blocks #123 group/project#456
Mark as blocking an item using a URL:
/blocks https://gitlab.com/group/project/-/work_items/123
Mark a merge request as blocking another merge request:
/blocks !456
Additional details:
/unlink./relate.board_moveMove issue to a column on the board.
Availability:
Parameters:
~column: The label name of the board column to move the issue to. Must be prefixed with ~.Examples:
Move to a column:
/board_move ~"In Progress"
Additional details:
checkin_reminderSchedule check-in reminders for objectives.
{{< history >}}
okrs_mvc and okr_checkin_reminders. Disabled by default.{{< /history >}}
[!flag] The availability of this feature is controlled by a feature flag. For more information, see the history.
Availability:
Parameters:
<cadence>: The reminder cadence. Options are:
weeklytwice-monthlymonthlynever (default)Examples:
Set weekly reminders:
/checkin_reminder weekly
Disable reminders:
/checkin_reminder never
Additional details:
clear_health_statusClear the health status.
Availability:
Examples:
Clear health status:
/clear_health_status
Additional details:
clear_weightClear the weight.
Availability:
Examples:
Clear weight:
/clear_weight
cloneClone the work item to a given group or project.
Availability:
Parameters:
<path/to/group_or_project>: The path to the target group or project. If not provided, clones to the current project.--with_notes: Optional flag to include comments and system notes in the clone.Examples:
Clone to another project:
/clone group/project
Clone to the current project:
/clone
Clone with notes:
/clone group/project --with_notes
Additional details:
--with_notes is provided as an argument.closeClose the work item.
Availability:
Examples:
Close a work item:
/close
Additional details:
/reopen.confidentialMark the work item as confidential.
{{< history >}}
{{< /history >}}
Availability:
Examples:
Mark as confidential:
/confidential
Additional details:
convert_to_ticketConvert an issue into a Service Desk ticket.
{{< history >}}
{{< /history >}}
Availability:
Parameters:
<email address>: The email address to associate with the ticket.Examples:
Convert to a ticket:
/convert_to_ticket [email protected]
Additional details:
copy_metadataCopy labels and milestone from another item.
{{< history >}}
{{< /history >}}
Availability:
Parameters:
<#item>: The item to copy metadata from. For merge requests, use the format !MR_IID. For other items, use #item or a URL.Examples:
Copy metadata from an issue:
/copy_metadata #123
Copy metadata from a merge request:
/copy_metadata !456
Copy metadata from a work item using a URL:
/copy_metadata https://gitlab.com/group/project/-/work_items/123
Additional details:
create_merge_requestCreate a new merge request starting from the current issue.
Availability:
Parameters:
<branch name>: The name of the branch to create for the merge request.Examples:
Create a merge request:
/create_merge_request fix-bug-123
doneMark a to-do item as done.
{{< history >}}
{{< /history >}}
Availability:
Examples:
Mark to-do as done:
/done
draftSet the draft status of a merge request.
Availability:
Examples:
Mark as draft:
/draft
Additional details:
dueSet the due date.
Availability:
Parameters:
<date>: The due date. Examples of valid dates include in 2 days, this Friday, and December 31st.Examples:
Set due date to a specific date:
/due December 31st
Set due date relative to today:
/due in 2 days
Set due date to next Friday:
/due this Friday
Additional details:
/remove_due_date.duplicateClose this item and mark as related to, and a duplicate of, another item.
Availability:
Parameters:
<item>: The item this is a duplicate of. The value should be in the format of #item, group/project#item, or a URL.Examples:
Mark as duplicate:
/duplicate #123
Mark as duplicate using a URL:
/duplicate https://gitlab.com/group/project/-/work_items/123
epicAdd to an epic as a child item.
Availability:
Parameters:
<epic>: The epic to add this item to. The value should be in the format of &epic, #epic, group&epic, group#epic, or a URL to an epic.Examples:
Add to an epic by reference:
/epic &123
Add to an epic by group and reference:
/epic group&456
Add to an epic using a URL:
/epic https://gitlab.com/groups/group/-/epics/123
Additional details:
/set_parent behaves the same, but is available for more work item types.estimateSet the time estimate.
Availability:
Parameters:
<time>: The time estimate. For example, 1mo 2w 3d 4h 5m.Examples:
Set time estimate:
/estimate 1mo 2w 3d 4h 5m
Set time estimate in hours:
/estimate 8h
Additional details:
/estimate_time is an alias for /estimate./remove_estimate.health_statusSet the health status.
Availability:
Parameters:
<value>: The health status value. Valid options are on_track, needs_attention, and at_risk.Examples:
Set health status to on track:
/health_status on_track
Set health status to needs attention:
/health_status needs_attention
Set health status to at risk:
/health_status at_risk
Additional details:
iterationSet the iteration.
{{< history >}}
--current and --next options.{{< /history >}}
Availability:
Parameters:
*iteration:<iteration ID> or <iteration name>: Set to a specific iteration by ID or name.[cadence:<iteration cadence ID> or <iteration cadence name>] <--current or --next>: Set to the current or next iteration of a specific cadence.--current or --next: Set to the current or next iteration when a group has one iteration cadence.Examples:
Set to a specific iteration by name:
/iteration *iteration:"Late in July"
Set to current iteration of a cadence:
/iteration [cadence:"Team cadence"] --current
Set to next iteration when group has one cadence:
/iteration --next
Additional details:
/remove_iteration.labelAdd one or more labels.
Availability:
Parameters:
~label1 ~label2: One or more label names.
Label names can also start without a tilde (~), but mixed syntax is not supported.Examples:
Add a single label:
/label ~bug
Add multiple labels:
/label ~bug ~"high priority"
Add labels without tilde:
/label bug "high priority"
Additional details:
/labels is an alias for /label./unlabel./relabel.linkAdd a link and description to linked resources in an incident.
Availability:
Examples:
Add a linked resource:
/link
Additional details:
lockLock the discussions.
Availability:
Examples:
Lock discussions:
/lock
Additional details:
/unlock.mergeMerge the changes.
Availability:
Examples:
Merge the merge request:
/merge
Additional details:
milestone{{< history >}}
{{< /history >}}
Set the milestone.
Availability:
Parameters:
%milestone: The milestone name. Must be prefixed with %.Examples:
Set milestone:
/milestone %"Sprint 1"
Additional details:
/remove_milestone.moveMove the work item to another group or project.
Availability:
Parameters:
<path/to/group_or_project>: The path to the target group or project.Examples:
Move to another project:
/move group/project
Additional details:
pageStart escalations for the incident.
Availability:
Parameters:
<policy name>: The escalation policy name.Examples:
Start escalations:
/page "On-call policy"
promote_toPromote a work item to a specified type.
{{< history >}}
{{< /history >}}
Availability:
Parameters:
<type>: The type to promote to. Available options:
Epic (for issues)Incident (for issues)issue (for tasks)objective (for key results)Examples:
Promote issue to epic:
/promote_to Epic
Promote task to issue:
/promote_to issue
Promote key result to objective:
/promote_to objective
Additional details:
/promote_to_incident is a shortcut for /promote_to Incident./type.promote_to_incidentPromote an issue to an incident.
Availability:
Examples:
Promote to incident:
/promote_to_incident
Additional details:
publishPublish an issue to an associated Status Page.
Availability:
Examples:
Publish to status page:
/publish
Additional details:
reactToggle an emoji reaction.
{{< history >}}
/award in GitLab 16.7. /award is still available as an aliased command.{{< /history >}}
Availability:
Parameters:
:emoji:: The emoji to toggle. Must be in the format :emoji_name:.Examples:
Toggle a thumbs up reaction:
/react :thumbsup:
Toggle a heart reaction:
/react :heart:
Additional details:
/award is an alias for /react.readySet the ready status of a merge request.
Availability:
Examples:
Mark as ready:
/ready
Additional details:
reassign{{< history >}}
{{< /history >}}
Replace current assignees with those specified.
Availability:
Parameters:
@user1 @user2: One or more usernames to assign. Usernames must be prefixed with @.Examples:
Reassign to a single user:
/reassign @alex
Reassign to multiple users:
/reassign @alex @sam
Additional details:
/assign./unassign./reassign.reassign_reviewerReplace current reviewers with those specified.
Availability:
Parameters:
@user1 @user2: One or more usernames to assign as reviewers. Usernames must be prefixed with @.Examples:
Reassign to a single reviewer:
/reassign_reviewer @alex
Reassign to multiple reviewers:
/reassign_reviewer @alex @sam
Additional details:
/assign_reviewer./unassign_reviewer.rebaseRebase the source branch on the latest commit of the target branch. If there are conflicts, nothing happens.
Availability:
Examples:
Rebase the merge request:
/rebase
Additional details:
relabelReplace current labels with those specified.
Availability:
Parameters:
~label1 ~label2: One or more label names. Label names can also start without a tilde (~), but mixed syntax is not supported.Examples:
Replace with a single label:
/relabel ~bug
Replace with multiple labels:
/relabel ~bug ~"high priority"
Additional details:
/label./unlabel.relateMark items as related.
Availability:
Parameters:
<item1> <item2>: One or more items to relate. The value should be in the format of #item, group/project#item, or the full URL.Examples:
Relate to a single item:
/relate #123
Relate to multiple items:
/relate #123 group/project#456
Additional details:
/unlink./blocked_by or /blocks.remove_childRemove an item as a child item.
{{< history >}}
{{< /history >}}
Availability:
Parameters:
<item>: The item to remove as a child. The value should be in the format of #item, group/project#item, or a URL to the item.Examples:
Remove a child item:
/remove_child #123
Remove a child item using a URL:
/remove_child https://gitlab.com/group/project/-/work_items/123
remove_contactsRemove one or more CRM contacts.
Availability:
Parameters:
[contact:[email protected]]: One or more contact emails in the format contact:[email protected].Examples:
Remove a single contact:
/remove_contacts [contact:[email protected]]
Remove multiple contacts:
/remove_contacts [contact:[email protected]] [contact:[email protected]]
Additional details:
remove_due_dateRemove the due date.
Availability:
Examples:
Remove due date:
/remove_due_date
Additional details:
/due.remove_emailRemove up to six email participants.
{{< history >}}
issue_email_participants. Enabled by default.issue_email_participants removed.{{< /history >}}
Availability:
Parameters:
email1 email2: One or more email addresses, separated by spaces.Examples:
Remove a single email participant:
/remove_email [email protected]
Remove multiple email participants:
/remove_email [email protected] [email protected]
Additional details:
remove_estimateRemove the time estimate.
Availability:
Examples:
Remove time estimate:
/remove_estimate
Additional details:
/remove_time_estimate is an alias for /remove_estimate./estimate.remove_iterationRemove the iteration.
Availability:
Examples:
Remove iteration:
/remove_iteration
Additional details:
/iteration.remove_milestone{{< history >}}
{{< /history >}}
Remove the milestone.
Availability:
Examples:
Remove milestone:
/remove_milestone
Additional details:
/milestone.remove_parentRemove the parent from the item.
{{< history >}}
{{< /history >}}
Availability:
Examples:
Remove parent:
/remove_parent
Additional details:
/set_parent.remove_time_spentRemove time spent.
Availability:
Examples:
Remove time spent:
/remove_time_spent
Additional details:
/spend.remove_zoomRemove a Zoom meeting from an issue.
Availability:
Examples:
Remove Zoom meeting:
/remove_zoom
Additional details:
/zoom.reopenReopen the work item.
Availability:
Examples:
Reopen a work item:
/reopen
Additional details:
/close.request_reviewAssign a reviewer or request a new review from one or more users.
Availability:
Parameters:
@user1 @user2: One or more usernames to request a review from. Usernames must be prefixed with @.me: Request a review from yourself.Examples:
Request review from a single user:
/request_review @alex
Request review from multiple users:
/request_review @alex @sam
Request review from yourself:
/request_review me
Additional details:
/assign_reviewer or /reviewer.run_pipelineRun a new pipeline for the merge request.
{{< history >}}
{{< /history >}}
Availability:
Examples:
Run a new pipeline:
/run_pipeline
Additional details:
The pipeline is triggered asynchronously and appears shortly after the command is executed.
You must have permission to create pipelines for the merge request.
You can combine this with other quick actions. For example, to run a pipeline and set auto-merge:
/run_pipeline
/merge
set_parentSet the parent item.
{{< history >}}
/epic for issues introduced in GitLab 17.10.{{< /history >}}
Availability:
Parameters:
<item>: The parent item. The value should be in the format of #IID, reference, or a URL to an item.Examples:
Set parent by reference:
/set_parent #123
Set parent using a URL:
/set_parent https://gitlab.com/group/project/-/work_items/123
Additional details:
/epic is an alias for /set_parent./remove_parent.severitySet the severity of an incident.
Availability:
Parameters:
<severity>: The severity level. Available options:
S1S2S3S4criticalhighmediumlowunknownExamples:
Set severity to critical:
/severity critical
Set severity using S-notation:
/severity S1
shrugAdd ¯\_(ツ)_/¯ to the comment.
Availability:
Examples:
Add shrug:
/shrug
spendAdd or subtract spent time.
Availability:
Parameters:
<time>: The time to add or subtract. For example, 1mo 2w 3d 4h 5m. Use a negative value to subtract time.[<date>]: Optional. The date that time was spent on.Examples:
Add spent time:
/spend 1mo 2w 3d 4h 5m
Subtract spent time:
/spend -1h 30m
Add spent time on a specific date:
/spend 1mo 2w 3d 4h 5m 2018-08-26
Additional details:
/spend_time is an alias for /spend./remove_time_spent.statusSet the status.
Availability:
Parameters:
<value>: The status value. Available options include status options set for the namespace.Examples:
Set status:
/status "In Progress"
Additional details:
submit_reviewSubmit a pending review.
Availability:
Examples:
Submit review:
/submit_review
/submit_review reviewed
Submit review and approve:
/submit_review approve
Submit review and request changes:
/submit_review requested_changes
subscribeSubscribe to notifications for a work item.
{{< history >}}
{{< /history >}}
Availability:
Examples:
Subscribe to notifications:
/subscribe
Additional details:
/unsubscribe.tableflipAdd (╯°□°)╯︵ ┻━┻ to the comment.
Availability:
Examples:
Add tableflip:
/tableflip
target_branchSet the target branch of a merge request.
Availability:
Parameters:
<local branch name>: The name of the target branch.Examples:
Set target branch:
/target_branch main
timelineAdd a timeline event to an incident.
Availability:
Parameters:
<timeline comment> | <date(YYYY-MM-DD)> <time(HH:MM)>: The timeline comment, date, and time, separated by |.Examples:
Add a timeline event:
/timeline DB load spiked | 2022-09-07 09:30
titleChange the title.
Availability:
Parameters:
<new title>: The new title for the work item.Examples:
Change title:
/title New title for this item
todoAdd a to-do item for yourself.
{{< history >}}
{{< /history >}}
Availability:
Examples:
Add to-do:
/todo
typeConvert a work item to a specified type.
{{< history >}}
{{< /history >}}
Availability:
Parameters:
<type>: The type to convert to. Available options:
issuetaskobjectivekey resultExamples:
Convert to issue:
/type issue
Convert to task:
/type task
Additional details:
/promote_to.unapproveUnapprove the merge request.
Availability:
Examples:
Unapprove a merge request:
/unapprove
Additional details:
/approve.unassign{{< history >}}
{{< /history >}}
Remove assignees.
Availability:
Parameters:
@user1 @user2: Optional. One or more usernames to unassign.
If not provided, removes all assignees.Examples:
Remove specific assignees:
/unassign @alex @sam
Remove all assignees:
/unassign
Additional details:
unassign_reviewerRemove reviewers.
Availability:
Parameters:
@user1 @user2: Optional. One or more usernames to remove as reviewers. If not provided, removes all reviewers.me: Remove yourself as a reviewer.Examples:
Remove specific reviewers:
/unassign_reviewer @alex @sam
Remove yourself as a reviewer:
/unassign_reviewer me
Remove all reviewers:
/unassign_reviewer
Additional details:
/remove_reviewer is an alias for /unassign_reviewer./assign_reviewer./reassign_reviewer.unlabelRemove labels.
Availability:
Parameters:
~label1 ~label2: Optional. One or more label names to remove. If not provided, removes all labels.Examples:
Remove specific labels:
/unlabel ~bug ~"high priority"
Remove all labels:
/unlabel
Additional details:
/remove_label is an alias for /unlabel./label./relabel.unlinkRemove a link to another item.
{{< history >}}
{{< /history >}}
Availability:
Parameters:
<item>: The item to unlink. The value should be in the format of #item, group/project#item, or the full URL. For merge requests, use !merge_request, group/project!merge_request, or the merge request URL.Examples:
Unlink an item:
/unlink #123
Unlink an item using a URL:
/unlink https://gitlab.com/group/project/-/work_items/123
Remove a blocking relationship between merge requests:
/unlink !456
Additional details:
/relate, /blocks, or /blocked_by.unlockUnlock the discussions.
Availability:
Examples:
Unlock discussions:
/unlock
Additional details:
/lock.unsubscribeUnsubscribe from notifications for a work item.
{{< history >}}
{{< /history >}}
Availability:
Examples:
Unsubscribe from notifications:
/unsubscribe
Additional details:
/subscribe.weightSet the weight.
Availability:
Parameters:
<value>: The weight value. Valid values are integers like 0, 1, or 2.Examples:
Set weight:
/weight 3
zoomAdd a Zoom meeting to an issue or incident.
Availability:
Parameters:
<Zoom URL>: The URL of the Zoom meeting.Examples:
Add a Zoom meeting:
/zoom https://zoom.us/j/123456789
Additional details:
/remove_zoom.You can use quick actions when commenting on individual commits. These quick actions work only in commit comment threads, not in commit messages or other GitLab contexts.
To use quick actions in commit comments:
The following quick actions are applicable for commit comments:
tagCreate a Git tag pointing to the commented commit.
Parameters:
v1.2.3: The tag name.<message>: Optional. A message for the tag.Examples:
Create a tag with a message:
Ready for release after security fix.
/tag v2.1.1 Security patch release
This comment creates a Git tag named v2.1.1 pointing to the commit, with the
message "Security patch release".
If you run a quick action, but nothing happens, check if the quick action appears in the autocomplete box as you type it. If it doesn't, it's possible that:
/unlabel on an issue without any labels.