GitLab quick actions

Version history
  • Introduced in GitLab 12.1: once an action is executed, an alert appears when a quick action is successfully applied.
  • Introduced in GitLab 13.2: you can use quick actions when updating the description of issues, epics, and merge requests.
  • Introduced in GitLab 13.8: when you enter / into a description or comment field, all available quick actions are displayed in a scrollable list.
  • The rebase quick action was introduced in GitLab 13.8.

Quick actions are text-based shortcuts for common actions that are usually done by selecting buttons or dropdowns in the GitLab user interface. You can enter these commands in the descriptions or comments of issues, epics, merge requests, and commits.

Be sure to enter each quick action on a separate line to allow GitLab to properly detect and execute the commands.

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 (.), or ampersand (&)

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.

Command Issue Merge request Epic Action
/approve No Yes No Approve the merge request.
/assign @user Yes Yes No Assign one user.
/assign @user1 @user2 Yes Yes No Assign multiple users.
/assign me Yes Yes No Assign yourself.
/assign_reviewer @user or /reviewer @user or /request_review @user No Yes No Assign one user as a reviewer.
/assign_reviewer @user1 @user2 or /reviewer @user1 @user2 or /request_review @user1 @user2 No Yes No Assign multiple users as reviewers.
/assign_reviewer me or /reviewer me or /request_review me No Yes No Assign yourself as a reviewer.
/award :emoji: Yes Yes Yes Toggle emoji award.
/child_epic <epic> No No Yes Add child epic to <epic>. The <epic> value should be in the format of &epic, group&epic, or a URL to an epic (introduced in GitLab 12.0).
/clear_weight Yes No No Clear weight.
/clone <path/to/project> [--with_notes] Yes No No Clone the issue to given project, or the current one if no arguments are given (introduced in GitLab 13.7). Copies as much data as possible as long as the target project contains equivalent labels, milestones, and so on. Does not copy comments or system notes unless --with_notes is provided as an argument.
/close Yes Yes Yes Close.
/confidential Yes No No Make confidential.
/copy_metadata <!merge_request> Yes Yes No Copy labels and milestone from another merge request in the project.
/copy_metadata <#issue> Yes Yes No Copy labels and milestone from another issue in the project.
/create_merge_request <branch name> Yes No No Create a new merge request starting from the current issue.
/done Yes Yes Yes Mark to do as done.
/draft No Yes No Toggle the draft status.
/due <date> Yes No No Set due date. Examples of valid <date> include in 2 days, this Friday and December 31st.
/duplicate <#issue> Yes No No Close this issue and mark as a duplicate of another issue. Also, mark both as related.
/epic <epic> Yes No No Add to epic <epic>. The <epic> value should be in the format of &epic, group&epic, or a URL to an epic.
/estimate <time> Yes Yes No Set time estimate. For example, /estimate 1mo 2w 3d 4h 5m. Learn more about time tracking.
/invite_email email1 email2 Yes No No Add up to six email participants. This action is behind feature flag issue_email_participants.
/iteration *iteration:"iteration name" Yes No No Set iteration. For example, to set the Late in July iteration: /iteration *iteration:"Late in July" (introduced in GitLab 13.1).
/label ~label1 ~label2 Yes Yes Yes Add one or more labels. Label names can also start without a tilde (~), but mixed syntax is not supported.
/lock Yes Yes No Lock the discussions.
/merge No Yes No Merge changes. Depending on the project setting, this may be when the pipeline succeeds, or adding to a Merge Train.
/milestone %milestone Yes Yes No Set milestone.
/move <path/to/project> Yes No No Move this issue to another project.
/parent_epic <epic> No No Yes Set parent epic to <epic>. The <epic> value should be in the format of &epic, group&epic, or a URL to an epic (introduced in GitLab 12.1).
/promote Yes No No Promote issue to epic.
/publish Yes No No Publish issue to an associated Status Page (Introduced in GitLab 13.0)
/reassign @user1 @user2 Yes Yes No Replace current assignees with those specified.
/rebase No Yes No Rebase source branch. This schedules a background task that attempts to rebase the changes in the source branch on the latest commit of the target branch. If /rebase is used, /merge is ignored to avoid a race condition where the source branch is merged or deleted before it is rebased. If there are merge conflicts, GitLab displays a message that a rebase cannot be scheduled. Rebase failures are displayed with the merge request status.
/reassign_reviewer @user1 @user2 No Yes No Replace current reviewers with those specified.
/relabel ~label1 ~label2 Yes Yes Yes Replace current labels with those specified.
/relate #issue1 #issue2 Yes No No Mark issues as related.
/remove_child_epic <epic> No No Yes Remove child epic from <epic>. The <epic> value should be in the format of &epic, group&epic, or a URL to an epic (introduced in GitLab 12.0).
/remove_due_date Yes No No Remove due date.
/remove_epic Yes No No Remove from epic.
/remove_estimate Yes Yes No Remove time estimate.
/remove_iteration Yes No No Remove iteration (introduced in GitLab 13.1).
/remove_milestone Yes Yes No Remove milestone.
/remove_parent_epic No No Yes Remove parent epic from epic (introduced in GitLab 12.1).
/remove_time_spent Yes Yes No Remove time spent.
/remove_zoom Yes No No Remove Zoom meeting from this issue (introduced in GitLab 12.4).
/reopen Yes Yes Yes Reopen.
/shrug <comment> Yes Yes Yes Append the comment with ¯\_(ツ)_/¯.
/spend <time> [<date>] Yes Yes No Add 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. Learn more about time tracking.
/submit_review No Yes No Submit a pending review (introduced in GitLab 12.7).
/subscribe Yes Yes Yes Subscribe to notifications.
/tableflip <comment> Yes Yes Yes Append the comment with (╯°□°)╯︵ ┻━┻.
/target_branch <local branch name> No Yes No Set target branch.
/title <new title> Yes Yes Yes Change title.
/todo Yes Yes Yes Add a to-do item.
/unassign @user1 @user2 Yes Yes No Remove specific assignees.
/unassign No Yes No Remove all assignees.
/unassign_reviewer @user1 @user2 or /remove_reviewer @user1 @user2 No Yes No Remove specific reviewers.
/unassign_reviewer or /remove_reviewer No Yes No Remove all reviewers.
/unlabel ~label1 ~label2 or /remove_label ~label1 ~label2 Yes Yes Yes Remove specified labels.
/unlabel or /remove_label Yes Yes Yes Remove all labels.
/unlock Yes Yes No Unlock the discussions.
/unsubscribe Yes Yes Yes Unsubscribe from notifications.
/weight <value> Yes No No Set weight. Valid options for <value> include 0, 1, 2, and so on.
/zoom <Zoom URL> Yes No No Add Zoom meeting to this issue (introduced in GitLab 12.4).

Commit messages

The following quick actions are applicable for commit messages:

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