Skip to content

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.

Command Issue Merge request Epic Action
/add_child <item> {check-circle} Yes {dotted-circle} No {check-circle} Yes Add <item> as a child item. The <item> value should be in the format of #item, group/project#item, or a URL to the item. For issues, you can add tasks and OKRs. The new look for issues must be enabled. For epics, you can add issues, tasks, and OKRs. Multiple work items can be added as child items at the same time.
/add_contacts [contact:email1@example.com] [contact:email2@example.com] {check-circle} Yes {dotted-circle} No {dotted-circle} No Add one or more active CRM contacts.
/add_email email1 email2 {check-circle} Yes {dotted-circle} No {dotted-circle} No Add up to six email participants. This action is behind the feature flag issue_email_participants. Not supported in issue templates.
/approve {dotted-circle} No {check-circle} Yes {dotted-circle} No Approve the merge request.
/assign @user1 @user2 {check-circle} Yes {check-circle} Yes {dotted-circle} No Assign one or more users.
/assign me {check-circle} Yes {check-circle} Yes {dotted-circle} No Assign yourself.
/assign_reviewer @user1 @user2 or /reviewer @user1 @user2 {dotted-circle} No {check-circle} Yes {dotted-circle} No Assign one or more users as reviewers.
/assign_reviewer me or /reviewer me {dotted-circle} No {check-circle} Yes {dotted-circle} No Assign yourself as a reviewer.
/blocked_by <item1> <item2> {check-circle} Yes {dotted-circle} No {check-circle} Yes Mark 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} Yes {dotted-circle} No {check-circle} Yes Mark 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).
/board_move ~column {check-circle} Yes {dotted-circle} No {dotted-circle} No Move issue to column on the board. The project must have only one issue board.
/cc @user {check-circle} Yes {check-circle} Yes {check-circle} Yes Mention a user. This command performs no action. You can instead type CC @user or only @user.
/clear_health_status {check-circle} Yes {dotted-circle} No {check-circle} Yes Clear health status.
/clear_weight {check-circle} Yes {dotted-circle} No {dotted-circle} No Clear weight.
/clone <path/to/group_or_project> [--with_notes] {check-circle} Yes {dotted-circle} No {check-circle} Yes Clone the work item to a given group or project, or the current one if no arguments are given. Copies as much data as possible as long as the target contains equivalent objects like labels, milestones, or epics. Does not copy comments or system notes unless --with_notes is provided as an argument.
/close {check-circle} Yes {check-circle} Yes {check-circle} Yes Close.
/confidential {check-circle} Yes {dotted-circle} No {check-circle} Yes Mark issue or epic as confidential.
/convert_to_ticket <email address> {check-circle} Yes {dotted-circle} No {dotted-circle} No Convert an issue into a Service Desk ticket. Introduced in GitLab 16.9
/copy_metadata <!merge_request> {check-circle} Yes {check-circle} Yes {dotted-circle} No Copy labels and milestone from another merge request in the project.
/copy_metadata <#item> {check-circle} Yes {check-circle} Yes {check-circle} Yes Copy labels and milestone from another item in the project.
/create_merge_request <branch name> {check-circle} Yes {dotted-circle} No {dotted-circle} No Create a new merge request starting from the current issue.
/done {check-circle} Yes {check-circle} Yes {check-circle} Yes Mark to-do item as done.
/draft {dotted-circle} No {check-circle} Yes {dotted-circle} No Set the draft status.
/due <date> {check-circle} Yes {dotted-circle} No {check-circle} Yes Set due date. Examples of valid <date> include in 2 days, this Friday and December 31st. See Chronic for more examples.
/duplicate <item> {check-circle} Yes {dotted-circle} No {check-circle} Yes Close this item and mark as related to, and a duplicate of, <item>.
/epic <epic> or /set_parent <epic> {check-circle} Yes {dotted-circle} No {check-circle} Yes Add to epic <epic> as a child item. The <epic> value should be in the format of &epic, #epic, group&epic, group#epic, or a URL to an epic.
/estimate <time> or /estimate_time <time> {check-circle} Yes {check-circle} Yes {check-circle} Yes Set time estimate. For example, /estimate 1mo 2w 3d 4h 5m. For more information, see Time tracking.
/health_status <value> {check-circle} Yes {dotted-circle} No {check-circle} Yes Set health status. Valid options for <value> are on_track, needs_attention, and at_risk.
/iteration *iteration:<iteration ID> or <iteration name> {check-circle} Yes {dotted-circle} No {dotted-circle} No Set 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} Yes {dotted-circle} No {dotted-circle} No Set 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} Yes {dotted-circle} No {dotted-circle} No Set 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 ~label2 {check-circle} Yes {check-circle} Yes {check-circle} Yes Add one or more labels. Label names can also start without a tilde (~), but mixed syntax is not supported.
/link {check-circle} Yes {dotted-circle} No {dotted-circle} No Add a link and description to linked resources in an incident.
/lock {check-circle} Yes {check-circle} Yes {check-circle} Yes Lock the discussions.
/merge {dotted-circle} No {check-circle} Yes {dotted-circle} No Merge changes. Depending on the project setting, this may be when the pipeline succeeds, or adding to a Merge Train.
/milestone %milestone {check-circle} Yes {check-circle} Yes {dotted-circle} No Set milestone.
/move <path/to/group_or_project> {check-circle} Yes {dotted-circle} No {check-circle} Yes Move the work item to another group or project. Be careful when moving a work item to a location with different access rules. Before moving the work item, make sure it does not contain sensitive data.
/page <policy name> {check-circle} Yes {dotted-circle} No {dotted-circle} No Start escalations for the incident.
/promote_to_incident {check-circle} Yes {dotted-circle} No {dotted-circle} No Promote issue to incident. You can also use the quick action when creating a new issue.
/promote {check-circle} Yes {dotted-circle} No {dotted-circle} No Promote issue to epic. If the new look for issues is enabled, use /promote_to epic instead.
/publish {check-circle} Yes {dotted-circle} No {dotted-circle} No Publish issue to an associated Status Page.
/react :emoji: {check-circle} Yes {check-circle} Yes {check-circle} Yes Toggle an emoji reaction. Renamed from /award in GitLab 16.7. /award is still available as an aliased command.
/ready {dotted-circle} No {check-circle} Yes {dotted-circle} No Set the ready status.
/reassign @user1 @user2 {check-circle} Yes {check-circle} Yes {dotted-circle} No Replace current assignees with those specified.
/reassign_reviewer @user1 @user2 {dotted-circle} No {check-circle} Yes {dotted-circle} No Replace current reviewers with those specified.
/rebase {dotted-circle} No {check-circle} Yes {dotted-circle} No Rebase source branch on the latest commit of the target branch. For help, see troubleshooting information.
/relabel ~label1 ~label2 {check-circle} Yes {check-circle} Yes {check-circle} Yes Replace current labels with those specified.
/relate <item1> <item2> {check-circle} Yes {dotted-circle} No {check-circle} Yes Mark items as related. The <item> value should be in the format of #item, group/project#item, or the full URL.
/remove_child <item> {check-circle} Yes {dotted-circle} No {check-circle} Yes Remove <item> as child item. The <item> value should be in the format of #item, group/project#item, or a URL to the item. For issues, the new look for issues must be enabled.
/remove_contacts [contact:email1@example.com] [contact:email2@example.com] {check-circle} Yes {dotted-circle} No {dotted-circle} No Remove one or more CRM contacts
/remove_due_date {check-circle} Yes {dotted-circle} No {dotted-circle} No Remove due date.
/remove_email email1 email2 {check-circle} Yes {dotted-circle} No {dotted-circle} No Remove 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_estimate or /remove_time_estimate {check-circle} Yes {check-circle} Yes {check-circle} Yes Remove time estimate.
/remove_iteration {check-circle} Yes {dotted-circle} No {dotted-circle} No Remove iteration.
/remove_milestone {check-circle} Yes {check-circle} Yes {dotted-circle} No Remove milestone.
/remove_parent {check-circle} Yes {dotted-circle} No {check-circle} Yes Remove the parent from item. For issues, the new look for issues must be enabled.
/remove_time_spent {check-circle} Yes {check-circle} Yes {check-circle} Yes Remove time spent.
/remove_zoom {check-circle} Yes {dotted-circle} No {dotted-circle} No Remove Zoom meeting from this issue.
/reopen {check-circle} Yes {check-circle} Yes {check-circle} Yes Reopen.
/request_review @user1 @user2 {dotted-circle} No {check-circle} Yes {dotted-circle} No Assigns or requests a new review from one or more users.
/request_review me {dotted-circle} No {check-circle} Yes {dotted-circle} No Assigns or requests a new review from one or more users.
/set_parent <item> {check-circle} Yes {dotted-circle} No {check-circle} Yes Set parent item. The <item> value should be in the format of #IID, reference, or a URL to an item. For issues, the new look for issues must be enabled.
/severity <severity> {check-circle} Yes {dotted-circle} No {dotted-circle} No Set the severity. Issue type must be Incident. Options for <severity> are S1 ... S4, critical, high, medium, low, unknown.
/shrug {check-circle} Yes {check-circle} Yes {check-circle} Yes Add ¯\_(ツ)_/¯.
/spend <time> [<date>] or /spend_time <time> [<date>] {check-circle} Yes {check-circle} Yes {check-circle} Yes 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. For more information, see Time tracking.
/status <value> {check-circle} Yes {dotted-circle} No {dotted-circle} No Set status. Valid options for <value> include status options set for the namespace. Introduced in GitLab 18.2 with flag named work_item_status_feature_flag.
/submit_review {dotted-circle} No {check-circle} Yes {dotted-circle} No Submit a pending review.
/subscribe {check-circle} Yes {check-circle} Yes {check-circle} Yes Subscribe to notifications.
/tableflip {check-circle} Yes {check-circle} Yes {check-circle} Yes Add (╯°□°)╯︵ ┻━┻.
/target_branch <local branch name> {dotted-circle} No {check-circle} Yes {dotted-circle} No Set target branch.
/timeline <timeline comment> | <date(YYYY-MM-DD)> <time(HH:MM)> {check-circle} Yes {dotted-circle} No {dotted-circle} No Add a timeline event to this incident. For example, /timeline DB load spiked | 2022-09-07 09:30.
/title <new title> {check-circle} Yes {check-circle} Yes {check-circle} Yes Change title.
/todo {check-circle} Yes {check-circle} Yes {check-circle} Yes Add a to-do item.
/unapprove {dotted-circle} No {check-circle} Yes {dotted-circle} No Unapprove the merge request.
/unassign @user1 @user2 {check-circle} Yes {check-circle} Yes {dotted-circle} No Remove specific assignees.
/unassign_reviewer @user1 @user2 or /remove_reviewer @user1 @user2 {dotted-circle} No {check-circle} Yes {dotted-circle} No Remove specific reviewers.
/unassign_reviewer me {dotted-circle} No {check-circle} Yes {dotted-circle} No Remove yourself as a reviewer.
/unassign_reviewer or /remove_reviewer {dotted-circle} No {check-circle} Yes {dotted-circle} No Remove all reviewers.
/unassign {dotted-circle} No {check-circle} Yes {dotted-circle} No Remove all assignees.
/unlabel ~label1 ~label2 or /remove_label ~label1 ~label2 {check-circle} Yes {check-circle} Yes {check-circle} Yes Remove specified labels.
/unlabel or /remove_label {check-circle} Yes {check-circle} Yes {check-circle} Yes Remove all labels.
/unlink <item> {check-circle} Yes {dotted-circle} No {check-circle} Yes Remove 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).
/unlock {check-circle} Yes {check-circle} Yes {check-circle} Yes Unlock the discussions.
/unsubscribe {check-circle} Yes {check-circle} Yes {check-circle} Yes Unsubscribe from notifications.
/weight <value> {check-circle} Yes {dotted-circle} No {dotted-circle} No Set weight. Valid values are integers like 0, 1, or 2.
/zoom <Zoom URL> {check-circle} Yes {dotted-circle} No {dotted-circle} No Add a Zoom meeting to this issue or incident. Users on GitLab Premium can add a short description when adding a Zoom link to an incident.

Work items

Version history

Work items in GitLab include:

The following quick actions can be applied through the description field when editing or commenting on work items.

Command Task Objective Key Result Action
/assign @user1 @user2 {check-circle} Yes {check-circle} Yes {check-circle} Yes Assign one or more users.
/assign me {check-circle} Yes {check-circle} Yes {check-circle} Yes Assign yourself.
/add_child <work_item> {dotted-circle} No {check-circle} Yes {dotted-circle} No Add 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 child items at the same time. Introduced in GitLab 16.5.
/award :emoji: {check-circle} Yes {check-circle} Yes {check-circle} Yes Toggle an emoji reaction. Introduced in GitLab 16.5
/checkin_reminder <cadence> {dotted-circle} No {check-circle} Yes {dotted-circle} No Schedule 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_status {check-circle} Yes {check-circle} Yes {check-circle} Yes Clear health status.
/clear_weight {check-circle} Yes {dotted-circle} No {dotted-circle} No Clear weight.
/close {check-circle} Yes {check-circle} Yes {check-circle} Yes Close.
/confidential {check-circle} Yes {check-circle} Yes {check-circle} Yes Mark work item as confidential. introduced in GitLab 16.4.
/copy_metadata <work_item> {check-circle} Yes {check-circle} Yes {check-circle} Yes Copy 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.
/done {check-circle} Yes {check-circle} Yes {check-circle} Yes Mark to-do item as done. Introduced in GitLab 16.2.
/due <date> {check-circle} Yes {dotted-circle} No {check-circle} Yes Set due date. Examples of valid <date> include in 2 days, this Friday and December 31st.
/health_status <value> {check-circle} Yes {check-circle} Yes {check-circle} Yes Set health status. Valid options for <value> are on_track, needs_attention, or at_risk.
/label ~label1 ~label2 or /labels ~label1 ~label2 {check-circle} Yes {check-circle} Yes {check-circle} Yes Add one or more labels. Label names can also start without a tilde (~), but mixed syntax is not supported.
/promote_to <type> {check-circle} Yes {dotted-circle} No {check-circle} Yes Promotes 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 @user2 {check-circle} Yes {check-circle} Yes {check-circle} Yes Replace current assignees with those specified.
/relabel ~label1 ~label2 {check-circle} Yes {check-circle} Yes {check-circle} Yes Replace current labels with those specified.
/remove_due_date {check-circle} Yes {dotted-circle} No {check-circle} Yes Remove due date.
/remove_child <work_item> {dotted-circle} No {check-circle} Yes {dotted-circle} No Remove 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_parent {check-circle} Yes {dotted-circle} No {check-circle} Yes Removes the parent work item. Introduced in GitLab 16.9.
/reopen {check-circle} Yes {check-circle} Yes {check-circle} Yes Reopen.
/set_parent <work_item> {check-circle} Yes {dotted-circle} No {check-circle} Yes Set 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. Alias /epic for issues with the new look introduced in GitLab 17.10.
/shrug {check-circle} Yes {check-circle} Yes {check-circle} Yes Add ¯\_(ツ)_/¯.
/status <value> {check-circle} Yes {dotted-circle} No {dotted-circle} No Set status. Valid options for <value> include status options set for the namespace. Introduced in GitLab 18.2 with flag named work_item_status_feature_flag.
/subscribe {check-circle} Yes {check-circle} Yes {check-circle} Yes Subscribe to notifications. Introduced in GitLab 16.4
/tableflip {check-circle} Yes {check-circle} Yes {check-circle} Yes Add (╯°□°)╯︵ ┻━┻.
/title <new title> {check-circle} Yes {check-circle} Yes {check-circle} Yes Change title.
/todo {check-circle} Yes {check-circle} Yes {check-circle} Yes Add a to-do item. Introduced in GitLab 16.2.
/type {check-circle} Yes {check-circle} Yes {check-circle} Yes Converts work item to specified type. Available options for <type> include issue, task, objective and key result. Introduced in GitLab 16.0.
/unassign @user1 @user2 {check-circle} Yes {check-circle} Yes {check-circle} Yes Remove specific assignees.
/unassign {dotted-circle} No {check-circle} Yes {check-circle} Yes Remove all assignees.
/unlabel ~label1 ~label2 or /remove_label ~label1 ~label2 {check-circle} Yes {check-circle} Yes {check-circle} Yes Remove specified labels.
/unlabel or /remove_label {check-circle} Yes {check-circle} Yes {check-circle} Yes Remove all labels.
/unlink {check-circle} Yes {check-circle} Yes {check-circle} Yes Remove 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.
/unsubscribe {check-circle} Yes {check-circle} Yes {check-circle} Yes Unsubscribe to notifications. Introduced in GitLab 16.4
/weight <value> {check-circle} Yes {dotted-circle} No {dotted-circle} No Set weight. Valid options for <value> include 0, 1, and 2.

Commit comments

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:

  1. Go to a commit page by selecting a commit from the commits list, merge request, or other commit links.
  2. In the comment form at the bottom of the commit page, enter your quick action.
  3. Select Comment.

The following quick actions are applicable for commit comments:

Command Action
/tag v1.2.3 <message> Creates a Git tag pointing to the commented commit, with an optional message.

Here is an example Git tag:

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".

## 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.