GitLab quick actions | GitLab Docs (original) (raw)
- 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 characterswith 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 | check-circle Yes | dotted-circle No | check-circle Yes | Add as a child item. The 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. The new look for epics must be enabled. |
/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 | check-circle Yes | dotted-circle No | check-circle Yes | Mark the item as blocked by other items. The value should be in the format of #item, group/project#item, or the full URL. (Introduced in GitLab 16.0). For epics, the new look for epics must be enabled. |
/blocks | check-circle Yes | dotted-circle No | check-circle Yes | Mark the item as blocking other items. The value should be in the format of #item, group/project#item, or the full URL. (Introduced in GitLab 16.0). For epics, the new look for epics must be enabled. |
/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. For epics, the new look for epics must be enabled. |
/clear_weight | check-circle Yes | dotted-circle No | dotted-circle No | Clear weight. |
/clone <path/to/project> [--with_notes] | check-circle Yes | dotted-circle No | dotted-circle No | Clone 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. |
/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. Support for epics introduced in GitLab 15.6. |
/convert_to_ticket | 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 issue in the project. For epics, the new look for epics must be enabled. |
/create_merge_request | 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 | check-circle Yes | dotted-circle No | check-circle Yes | Set due date. Examples of valid include in 2 days, this Friday and December 31st. See Chronic for more examples. For epics, the new look for epics must be enabled. |
/duplicate | check-circle Yes | dotted-circle No | check-circle Yes | Close this . Marks as related to, and a duplicate of, <#item>. For epics, the new look for epics must be enabled. |
/epic or /set_parent | check-circle Yes | dotted-circle No | check-circle Yes | Add to epic as a child item. The value should be in the format of &epic, group&epic, or a URL to an epic. For epics, the new look for epics must be enabled. Alias /set_parent introduced in GitLab 17.10. |
/estimate | 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. Alias /estimate_time introduced in GitLab 15.6. For epics, the new look for epics must be enabled. |
/health_status | check-circle Yes | dotted-circle No | check-circle Yes | Set health status. For epics, the new look for epics must be enabled. Valid options for are on_track, needs_attention, and at_risk. |
/iteration *iteration: or | 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: or ] <--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 (introduced in GitLab 15.5). |
/lock | check-circle Yes | check-circle Yes | check-circle Yes | Lock the discussions. For epics, the new look for epics must be enabled. |
/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/project> | check-circle Yes | dotted-circle No | dotted-circle No | Move 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 | check-circle Yes | dotted-circle No | dotted-circle No | Start escalations for the incident. |
/parent_epic | dotted-circle No | dotted-circle No | check-circle Yes | Set parent epic to . The value should be in the format of &epic, group&epic, or a URL to an epic. If the new look for epics is enabled, use /set_parent instead. |
/promote_to_incident | check-circle Yes | dotted-circle No | dotted-circle No | Promote issue to incident. In GitLab 15.8 and later, 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 (Introduced in GitLab 15.1). |
/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 | check-circle Yes | dotted-circle No | check-circle Yes | Mark items as related. The value should be in the format of #item, group/project#item, or the full URL. For epics, the new look for epics must be enabled. |
/remove_child | check-circle Yes | dotted-circle No | check-circle Yes | Remove as child. The 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. For epics, the new look for epics must be enabled. |
/remove_child_epic | dotted-circle No | dotted-circle No | check-circle Yes | Remove child epic from . The value should be in the format of &epic, group&epic, or a URL to an epic. If the new look for epics is enabled, use /remove_child instead. |
/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_epic | check-circle Yes | dotted-circle No | dotted-circle No | Remove epic as parent item. If the new look for epics is enabled, use /remove_parent instead. |
/remove_estimate or /remove_time_estimate | check-circle Yes | check-circle Yes | check-circle Yes | Remove time estimate. Alias /remove_time_estimate introduced in GitLab 15.6. For epics, the new look for epics must be enabled. |
/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. For epics, the new look for epics must be enabled. |
/remove_parent_epic | dotted-circle No | dotted-circle No | check-circle Yes | Remove parent epic from epic. If the new look for epics is enabled, use /remove_parent instead. |
/remove_time_spent | check-circle Yes | check-circle Yes | check-circle Yes | Remove time spent. For epics, the new look for epics must be enabled. |
/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 | check-circle Yes | dotted-circle No | check-circle Yes | Set parent item. The 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. For epics, the new look for epics must be enabled. |
/severity | check-circle Yes | dotted-circle No | dotted-circle No | Set the severity. Issue type must be Incident. Options for are S1 … S4, critical, high, medium, low, unknown. |
/shrug | check-circle Yes | check-circle Yes | check-circle Yes | Add ¯\_(ツ)_/¯. |
/spend |
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. Alias /spend_time introduced in GitLab 15.6. For epics, the new look for epics must be enabled. |
/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 | dotted-circle No | check-circle Yes | dotted-circle No | Set target branch. |
/timeline | <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. (introduced in GitLab 15.4). |
/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 | check-circle Yes | dotted-circle No | check-circle Yes | Remove link with to the provided issue. The value should be in the format of #item, group/project#item, or the full URL. (Introduced in GitLab 16.1). For epics, the new look for epics must be enabled. |
/unlock | check-circle Yes | check-circle Yes | check-circle Yes | Unlock the discussions. For epics, the new look for epics must be enabled. |
/unsubscribe | check-circle Yes | check-circle Yes | check-circle Yes | Unsubscribe from notifications. |
/weight | check-circle Yes | dotted-circle No | dotted-circle No | Set weight. Valid values are integers like 0, 1, or 2. |
/zoom | check-circle Yes | dotted-circle No | dotted-circle No | Add 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
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.
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 |
/cc @user | check-circle Yes | check-circle Yes | check-circle Yes | Mention a user. In GitLab 15.0 and later, this command performs no action. You can instead type CC @user or only @user. |
/checkin_reminder | 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 | check-circle Yes | dotted-circle No | check-circle Yes | Set due date. Examples of valid include in 2 days, this Friday and December 31st. |
/health_status | check-circle Yes | check-circle Yes | check-circle Yes | Set health status. Valid options for 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 | check-circle Yes | dotted-circle No | check-circle Yes | Promotes work item to specified type. Available options for : 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 ¯\_(ツ)_/¯. |
/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 | 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 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 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 | check-circle Yes | dotted-circle No | dotted-circle No | Set weight. Valid options for include 0, 1, and 2. |
Commit messages
The following quick actions are applicable for commit messages:
Command | Action |
---|---|
/tag v1.2.3 | 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.