GitLab quick actions

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

Quick actions provide text-based shortcuts for common actions in GitLab. Quick actions:

  • Execute common actions without using the user interface.
  • Support working with issues, merge requests, epics, and commits.
  • Run automatically when you save descriptions or comments.
  • Respond to specific contexts and conditions.
  • Process multiple commands when entered on separate lines.

For example, you can use quick actions to:

  • Assign users.
  • Add labels.
  • Set due dates.
  • Change status.
  • Set other attributes.

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.

Parameters

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:

  • ASCII letters
  • Numbers (0-9)
  • Underscore (_), hyphen (-), question mark (?), dot (.), ampersand (&) or at (@)

Parameters are case-sensitive. Autocomplete handles this, and the insertion of quotation marks, automatically.

Issues, merge requests, and epics

The following quick actions are applicable to descriptions, discussions, and threads. Some quick actions might not be available to all subscription tiers.

CommandIssueMerge requestEpicAction
/add_contacts [contact:email1@example.com] [contact:email2@example.com]check-circle Yesdotted-circle Nodotted-circle NoAdd one or more active CRM contacts (introduced in GitLab 14.6).
/add_email email1 email2check-circle Yesdotted-circle Nodotted-circle NoAdd up to six email participants. This action is behind the feature flag issue_email_participants. Not supported in issue templates.
/approvedotted-circle Nocheck-circle Yesdotted-circle NoApprove the merge request.
/assign @user1 @user2check-circle Yescheck-circle Yesdotted-circle NoAssign one or more users.
/assign mecheck-circle Yescheck-circle Yesdotted-circle NoAssign yourself.
/assign_reviewer @user1 @user2 or /reviewer @user1 @user2dotted-circle Nocheck-circle Yesdotted-circle NoAssign one or more users as reviewers.
/assign_reviewer me or /reviewer medotted-circle Nocheck-circle Yesdotted-circle NoAssign yourself as a reviewer.
/blocked_by <item1> <item2>check-circle Yesdotted-circle Nodotted-circle NoMark the item as blocked by other items. The <item> value should be in the format of #item, group/project#item, or the full URL. (Introduced in GitLab 16.0).
/blocks <item1> <item2>check-circle Yesdotted-circle Nodotted-circle NoMark the item as blocking other items. The <item> value should be in the format of #item, group/project#item, or the full URL. (Introduced in GitLab 16.0).
/cc @usercheck-circle Yescheck-circle Yescheck-circle YesMention a user. This command performs no action. You can instead type CC @user or only @user.
/child_epic <epic>dotted-circle Nodotted-circle Nocheck-circle YesAdd child epic to <epic>. The <epic> value should be in the format of &epic, group&epic, or a URL to an epic.
/clear_health_statuscheck-circle Yesdotted-circle Nocheck-circle YesClear health status. For epics, your administrator must have enabled the new look for epics.
/clear_weightcheck-circle Yesdotted-circle Nodotted-circle NoClear weight.
/clone <path/to/project> [--with_notes]check-circle Yesdotted-circle Nodotted-circle NoClone the issue to given project, or the current one if no arguments are given. Copies as much data as possible as long as the target project contains equivalent objects like labels, milestones, or epics. Does not copy comments or system notes unless --with_notes is provided as an argument.
/closecheck-circle Yescheck-circle Yescheck-circle YesClose.
/confidentialcheck-circle Yesdotted-circle Nocheck-circle YesMark issue or epic as confidential. Support for epics introduced in GitLab 15.6.
/convert_to_ticket <email address>check-circle Yesdotted-circle Nodotted-circle NoConvert an issue into a Service Desk ticket. Introduced in GitLab 16.9
/copy_metadata <!merge_request>check-circle Yescheck-circle Yesdotted-circle NoCopy labels and milestone from another merge request in the project.
/copy_metadata <#issue>check-circle Yescheck-circle Yesdotted-circle NoCopy labels and milestone from another issue in the project.
/create_merge_request <branch name>check-circle Yesdotted-circle Nodotted-circle NoCreate a new merge request starting from the current issue.
/donecheck-circle Yescheck-circle Yescheck-circle YesMark to-do item as done.
/draftdotted-circle Nocheck-circle Yesdotted-circle NoSet the draft status.
/due <date>check-circle Yesdotted-circle Nodotted-circle NoSet due date. Examples of valid <date> include in 2 days, this Friday and December 31st. See Chronic for more examples.
/duplicate <item>check-circle Yesdotted-circle Nodotted-circle NoClose this . Marks as related to, and a duplicate of, <#item>.
/epic <epic>check-circle Yesdotted-circle Nodotted-circle NoAdd to epic <epic>. The <epic> value should be in the format of &epic, group&epic, or a URL to an epic.
/estimate <time> or /estimate_time <time>check-circle Yescheck-circle Yescheck-circle YesSet time estimate. For example, /estimate 1mo 2w 3d 4h 5m. For more information, see Time tracking. Alias /estimate_time introduced in GitLab 15.6. For epics, your administrator must have enabled the new look for epics.
/health_status <value>check-circle Yesdotted-circle Nocheck-circle YesSet health status. For epics, your administrator must have enabled the new look for epics. Valid options for <value> are on_track, needs_attention, and at_risk.
/iteration *iteration:<iteration ID> or <iteration name>check-circle Yesdotted-circle Nodotted-circle NoSet iteration. For example, to set the Late in July iteration: /iteration *iteration:"Late in July".
/iteration [cadence:<iteration cadence ID> or <iteration cadence name>] <--current or --next>check-circle Yesdotted-circle Nodotted-circle NoSet iteration to the current or next upcoming iteration of the referenced iteration cadence. For example, /iteration [cadence:"Team cadence"] --current sets the iteration to the current iteration of the iteration cadence named “Team cadence”. Introduced in GitLab 16.9.
/iteration <--current or --next>check-circle Yesdotted-circle Nodotted-circle NoSet iteration to the current or next upcoming iteration when a group has one iteration cadence. For example, /iteration --current sets the iteration to the current iteration of the iteration cadence. Introduced in GitLab 16.9.
/label ~label1 ~label2 or /labels ~label1 ~label2check-circle Yescheck-circle Yescheck-circle YesAdd one or more labels. Label names can also start without a tilde (~), but mixed syntax is not supported.
/linkcheck-circle Yesdotted-circle Nodotted-circle NoAdd a link and description to linked resources in an incident (introduced in GitLab 15.5).
/lockcheck-circle Yescheck-circle Yesdotted-circle NoLock the discussions.
/mergedotted-circle Nocheck-circle Yesdotted-circle NoMerge changes. Depending on the project setting, this may be when the pipeline succeeds, or adding to a Merge Train.
/milestone %milestonecheck-circle Yescheck-circle Yesdotted-circle NoSet milestone.
/move <path/to/project>check-circle Yesdotted-circle Nodotted-circle NoMove this issue to another project. Be careful when moving an issue to a project with different access rules. Before moving the issue, make sure it does not contain sensitive data.
/page <policy name>check-circle Yesdotted-circle Nodotted-circle NoStart escalations for the incident.
/parent_epic <epic>dotted-circle Nodotted-circle Nocheck-circle YesSet parent epic to <epic>. The <epic> value should be in the format of &epic, group&epic, or a URL to an epic.
/promote_to_incidentcheck-circle Yesdotted-circle Nodotted-circle NoPromote issue to incident. In GitLab 15.8 and later, you can also use the quick action when creating a new issue.
/promotecheck-circle Yesdotted-circle Nodotted-circle NoPromote issue to epic.
/publishcheck-circle Yesdotted-circle Nodotted-circle NoPublish issue to an associated Status Page.
/react :emoji:check-circle Yescheck-circle Yescheck-circle YesToggle an emoji reaction. Renamed from /award in GitLab 16.7. /award is still available as an aliased command.
/readydotted-circle Nocheck-circle Yesdotted-circle NoSet the ready status (Introduced in GitLab 15.1).
/reassign @user1 @user2check-circle Yescheck-circle Yesdotted-circle NoReplace current assignees with those specified.
/reassign_reviewer @user1 @user2dotted-circle Nocheck-circle Yesdotted-circle NoReplace current reviewers with those specified.
/rebasedotted-circle Nocheck-circle Yesdotted-circle NoRebase source branch on the latest commit of the target branch. For help, see troubleshooting information.
/relabel ~label1 ~label2check-circle Yescheck-circle Yescheck-circle YesReplace current labels with those specified.
/relate <item1> <item2>check-circle Yesdotted-circle Nodotted-circle NoMark items as related. The <item> value should be in the format of #item, group/project#item, or the full URL.
/remove_child_epic <epic>dotted-circle Nodotted-circle Nocheck-circle YesRemove child epic from <epic>. The <epic> value should be in the format of &epic, group&epic, or a URL to an epic.
/remove_contacts [contact:email1@example.com] [contact:email2@example.com]check-circle Yesdotted-circle Nodotted-circle NoRemove one or more CRM contacts
/remove_due_datecheck-circle Yesdotted-circle Nodotted-circle NoRemove due date.
/remove_email email1 email2check-circle Yesdotted-circle Nodotted-circle NoRemove up to six email participants. This action is behind the feature flag issue_email_participants. Not supported in issue templates, merge requests, or epics.
/remove_epiccheck-circle Yesdotted-circle Nodotted-circle NoRemove from epic.
/remove_estimate or /remove_time_estimatecheck-circle Yescheck-circle Yesdotted-circle NoRemove time estimate. Alias /remove_time_estimate introduced in GitLab 15.6.
/remove_iterationcheck-circle Yesdotted-circle Nodotted-circle NoRemove iteration.
/remove_milestonecheck-circle Yescheck-circle Yesdotted-circle NoRemove milestone.
/remove_parent_epicdotted-circle Nodotted-circle Nocheck-circle YesRemove parent epic from epic.
/remove_time_spentcheck-circle Yescheck-circle Yesdotted-circle NoRemove time spent.
/remove_zoomcheck-circle Yesdotted-circle Nodotted-circle NoRemove Zoom meeting from this issue.
/reopencheck-circle Yescheck-circle Yescheck-circle YesReopen.
/request_review @user1 @user2dotted-circle Nocheck-circle Yesdotted-circle NoAssigns or requests a new review from one or more users.
/request_review medotted-circle Nocheck-circle Yesdotted-circle NoAssigns or requests a new review from one or more users.
/severity <severity>check-circle Yesdotted-circle Nodotted-circle NoSet the severity. Issue type must be Incident. Options for <severity> are S1S4, critical, high, medium, low, unknown.
/shrugcheck-circle Yescheck-circle Yescheck-circle YesAdd ¯\_(ツ)_/¯.
/spend <time> [<date>] or /spend_time <time> [<date>]check-circle Yescheck-circle Yesdotted-circle NoAdd or subtract spent time. Optionally, specify the date that time was spent on. For example, /spend 1mo 2w 3d 4h 5m 2018-08-26 or /spend -1h 30m. For more information, see Time tracking. Alias /spend_time introduced in GitLab 15.6.
/submit_reviewdotted-circle Nocheck-circle Yesdotted-circle NoSubmit a pending review.
/subscribecheck-circle Yescheck-circle Yescheck-circle YesSubscribe to notifications.
/tableflipcheck-circle Yescheck-circle Yescheck-circle YesAdd (╯°□°)╯︵ ┻━┻.
/target_branch <local branch name>dotted-circle Nocheck-circle Yesdotted-circle NoSet target branch.
/timeline <timeline comment> | <date(YYYY-MM-DD)> <time(HH:MM)>check-circle Yesdotted-circle Nodotted-circle NoAdd a timeline event to this incident. For example, /timeline DB load spiked | 2022-09-07 09:30. (introduced in GitLab 15.4).
/title <new title>check-circle Yescheck-circle Yescheck-circle YesChange title.
/todocheck-circle Yescheck-circle Yescheck-circle YesAdd a to-do item.
/unapprovedotted-circle Nocheck-circle Yesdotted-circle NoUnapprove the merge request.
/unassign @user1 @user2check-circle Yescheck-circle Yesdotted-circle NoRemove specific assignees.
/unassign_reviewer @user1 @user2 or /remove_reviewer @user1 @user2dotted-circle Nocheck-circle Yesdotted-circle NoRemove specific reviewers.
/unassign_reviewer medotted-circle Nocheck-circle Yesdotted-circle NoRemove yourself as a reviewer.
/unassign_reviewer or /remove_reviewerdotted-circle Nocheck-circle Yesdotted-circle NoRemove all reviewers.
/unassigndotted-circle Nocheck-circle Yesdotted-circle NoRemove all assignees.
/unlabel ~label1 ~label2 or /remove_label ~label1 ~label2check-circle Yescheck-circle Yescheck-circle YesRemove specified labels.
/unlabel or /remove_labelcheck-circle Yescheck-circle Yescheck-circle YesRemove all labels.
/unlink <item>check-circle Yesdotted-circle Nodotted-circle NoRemove link with to the provided issue. The <item> value should be in the format of #item, group/project#item, or the full URL. (Introduced in GitLab 16.1).
/unlockcheck-circle Yescheck-circle Yesdotted-circle NoUnlock the discussions.
/unsubscribecheck-circle Yescheck-circle Yescheck-circle YesUnsubscribe from notifications.
/weight <value>check-circle Yesdotted-circle Nodotted-circle NoSet weight. Valid values are integers like 0, 1, or 2.
/zoom <Zoom URL>check-circle Yesdotted-circle Nodotted-circle NoAdd a Zoom meeting to this issue or incident. In GitLab 15.3 and later users on GitLab Premium can add a short description when adding a Zoom link to an incident.

Work items

History

Work items in GitLab include tasks and OKRs. The following quick actions can be applied through the description field when editing or commenting on work items.

CommandTaskObjectiveKey ResultAction
/assign @user1 @user2check-circle Yescheck-circle Yescheck-circle YesAssign one or more users.
/assign mecheck-circle Yescheck-circle Yescheck-circle YesAssign yourself.
/add_child <work_item>dotted-circle Nocheck-circle Yesdotted-circle NoAdd child to <work_item>. The <work_item> value should be in the format of #item, group/project#item, or a URL to a work item. Multiple work items can be added as children at the same time. Introduced in GitLab 16.5.
/award :emoji:check-circle Yescheck-circle Yescheck-circle YesToggle an emoji reaction. Introduced in GitLab 16.5
/cc @usercheck-circle Yescheck-circle Yescheck-circle YesMention a user. In GitLab 15.0 and later, this command performs no action. You can instead type CC @user or only @user.
/checkin_reminder <cadence>dotted-circle Nocheck-circle Yesdotted-circle NoSchedule check-in reminders. Options are weekly, twice-monthly, monthly, or never (default). Introduced in GitLab 16.4 with flags named okrs_mvc and okr_checkin_reminders.
/clear_health_statuscheck-circle Yescheck-circle Yescheck-circle YesClear health status.
/clear_weightcheck-circle Yesdotted-circle Nodotted-circle NoClear weight.
/closecheck-circle Yescheck-circle Yescheck-circle YesClose.
/confidentialcheck-circle Yescheck-circle Yescheck-circle YesMark work item as confidential. introduced in GitLab 16.4.
/copy_metadata <work_item>check-circle Yescheck-circle Yescheck-circle YesCopy labels and milestone from another work item in the same namespace. The <work_item> value should be in the format of #item or a URL to a work item. Introduced in GitLab 17.9.
/donecheck-circle Yescheck-circle Yescheck-circle YesMark to-do item as done. Introduced in GitLab 16.2.
/due <date>check-circle Yesdotted-circle Nocheck-circle YesSet due date. Examples of valid <date> include in 2 days, this Friday and December 31st.
/health_status <value>check-circle Yescheck-circle Yescheck-circle YesSet health status. Valid options for <value> are on_track, needs_attention, or at_risk.
/label ~label1 ~label2 or /labels ~label1 ~label2check-circle Yescheck-circle Yescheck-circle YesAdd one or more labels. Label names can also start without a tilde (~), but mixed syntax is not supported.
/promote_to <type>check-circle Yesdotted-circle Nocheck-circle YesPromotes work item to specified type. Available options for <type>: issue (promote a task) or objective (promote a key result). Introduced in GitLab 16.1.
/reassign @user1 @user2check-circle Yescheck-circle Yescheck-circle YesReplace current assignees with those specified.
/relabel ~label1 ~label2check-circle Yescheck-circle Yescheck-circle YesReplace current labels with those specified.
/remove_due_datecheck-circle Yesdotted-circle Nocheck-circle YesRemove due date.
/remove_child <work_item>dotted-circle Nocheck-circle Yesdotted-circle NoRemove the child <work_item>. The <work_item> value should be in the format of #item, group/project#item, or a URL to a work item. Introduced in GitLab 16.10.
/remove_parentcheck-circle Yesdotted-circle Nocheck-circle YesRemoves the parent work item. Introduced in GitLab 16.9.
/reopencheck-circle Yescheck-circle Yescheck-circle YesReopen.
/set_parent <work_item>check-circle Yesdotted-circle Nocheck-circle YesSet parent work item to <work_item>. The <work_item> value should be in the format of #item, group/project#item, or a URL to a work item. Introduced in GitLab 16.5.
/shrugcheck-circle Yescheck-circle Yescheck-circle YesAdd ¯\_(ツ)_/¯.
/subscribecheck-circle Yescheck-circle Yescheck-circle YesSubscribe to notifications. Introduced in GitLab 16.4
/tableflipcheck-circle Yescheck-circle Yescheck-circle YesAdd (╯°□°)╯︵ ┻━┻.
/title <new title>check-circle Yescheck-circle Yescheck-circle YesChange title.
/todocheck-circle Yescheck-circle Yescheck-circle YesAdd a to-do item. Introduced in GitLab 16.2.
/typecheck-circle Yescheck-circle Yescheck-circle YesConverts work item to specified type. Available options for <type> include issue, task, objective and key result. Introduced in GitLab 16.0.
/unassign @user1 @user2check-circle Yescheck-circle Yescheck-circle YesRemove specific assignees.
/unassigndotted-circle Nocheck-circle Yescheck-circle YesRemove all assignees.
/unlabel ~label1 ~label2 or /remove_label ~label1 ~label2check-circle Yescheck-circle Yescheck-circle YesRemove specified labels.
/unlabel or /remove_labelcheck-circle Yescheck-circle Yescheck-circle YesRemove all labels.
/unlinkcheck-circle Yescheck-circle Yescheck-circle YesRemove link to the provided work item. The <work item> value should be in the format of #work_item, group/project#work_item, or the full work item URL. Introduced in GitLab 17.8.
/unsubscribecheck-circle Yescheck-circle Yescheck-circle YesUnsubscribe to notifications. Introduced in GitLab 16.4
/weight <value>check-circle Yesdotted-circle Nodotted-circle NoSet weight. Valid options for <value> include 0, 1, and 2.

Commit messages

The following quick actions are applicable for commit messages:

CommandAction
/tag v1.2.3 <message>Tags the commit with an optional message.

Troubleshooting

Quick action isn’t executed

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:

  • The feature related to the quick action isn’t available to you based on your subscription tier or user role for the group or project.
  • A required condition for the quick action isn’t met. For example, you’re running /unlabel on an issue without any labels.