Add usage ping counters for Quick Actions
Problem To Solve
Quick Actions are used by power users, but they are very simple and if only more people would know them, they would use them (at least that is my hypothesis). Once someone finds out about them -they will feel delight.
Why should we consider them simple instead of a power tool?
Slack has democratized the / commands and therefore I don't consider Quick Actions a power tool that limited audience will use.
We have spent so much energy building these out -- and it is a shame that people don't know about them. Instead of focusing our energy on adding every single item in UX and then dealing with the inevitable response (Too many things in the UI, its cluttered, etc) -- it would be great to make them discoverable.
Proposal
If we want to improve -we need to measure, experiment, measure.
Place a
Command | Issue | Merge request | Epic | Action |
---|---|---|---|---|
/approve | ✓ | Approve the merge request. | ||
/assign @user | ✓ | ✓ | Assign one user. | |
/assign @user1 @user2 | ✓ | ✓ | Assign multiple users. | |
/assign me | ✓ | ✓ | Assign yourself. | |
/award :emoji: | ✓ | ✓ | ✓ | Toggle emoji award. |
/child_epic | ✓ | Add child epic to . The value should be in the format of &epic, group&epic, or a URL to an epic (introduced in GitLab 12.0). | ||
/clear_weight | ✓ | Clear weight. | ||
/clone <path/to/project> [--with_notes] | ✓ | 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 | ✓ | ✓ | ✓ | Close. |
/confidential | ✓ | Make confidential. | ||
/copy_metadata <!merge_request> | ✓ | ✓ | Copy labels and milestone from another merge request in the project. | |
/copy_metadata <#issue> | ✓ | ✓ | Copy labels and milestone from another issue in the project. | |
/create_merge_request | ✓ | Create a new merge request starting from the current issue. | ||
/done | ✓ | ✓ | ✓ | Mark to do as done. |
/draft | ✓ | Toggle the draft status. | ||
/due | ✓ | Set due date. Examples of valid include in 2 days, this Friday and December 31st. | ||
/duplicate <#issue> | ✓ | Close this issue and mark as a duplicate of another issue. Also, mark both as related. | ||
/epic | ✓ | Add to epic . The value should be in the format of &epic, group&epic, or a URL to an epic. | ||
/estimate <w |
✓ | ✓ | Set time estimate. For example, /estimate 1w 3d 2h 14m. | |
/iteration *iteration:"iteration name" | ✓ | Set iteration. For example, to set the Late in July iteration: /iteration *iteration:"Late in July" (introduced in GitLab 13.1). | ||
/label ~label1 ~label2 | ✓ | ✓ | ✓ | Add one or more labels. Label names can also start without a tilde (~), but mixed syntax is not supported. |
/lock | ✓ | ✓ | Lock the discussions. | |
/merge | ✓ | Merge changes. Depending on the project setting, this may be when the pipeline succeeds, adding to a Merge Train, etc. | ||
/milestone %milestone | ✓ | ✓ | Set milestone. | |
/move <path/to/project> | ✓ | Move this issue to another project. | ||
/parent_epic | ✓ | Set parent epic to . The value should be in the format of &epic, group&epic, or a URL to an epic (introduced in GitLab 12.1). | ||
/promote | ✓ | Promote issue to epic. | ||
/publish | ✓ | Publish issue to an associated Status Page (Introduced in GitLab 13.0) | ||
/reassign @user1 @user2 | ✓ | ✓ | Replace current assignees with those specified. | |
/relabel ~label1 ~label2 | ✓ | ✓ | ✓ | Replace current labels with those specified. |
/relate #issue1 #issue2 | ✓ | Mark issues as related. | ||
/remove_child_epic | ✓ | Remove child epic from . The value should be in the format of &epic, group&epic, or a URL to an epic (introduced in GitLab 12.0). | ||
/remove_due_date | ✓ | Remove due date. | ||
/remove_epic | ✓ | Remove from epic. | ||
/remove_estimate | ✓ | ✓ | Remove time estimate. | |
/remove_iteration | ✓ | Remove iteration (introduced in GitLab 13.1) | ||
/remove_milestone | ✓ | ✓ | Remove milestone. | |
/remove_parent_epic | ✓ | Remove parent epic from epic (introduced in GitLab 12.1). | ||
/remove_time_spent | ✓ | ✓ | Remove time spent. | |
/remove_zoom | ✓ | Remove Zoom meeting from this issue (introduced in GitLab 12.4). | ||
/reopen | ✓ | ✓ | ✓ | Reopen. |
/shrug | ✓ | ✓ | ✓ | Append the comment with ¯\_(ツ)_/¯. |
/spend <time(-h m)> <date()> | ✓ | ✓ | Subtract spent time. Optionally, specify the date that time was spent on. For example, /spend time(-1h 30m) or /spend time(-1h 30m) date(2018-08-26). | |
/spend <time(h m)> <date()> | ✓ | ✓ | Add spent time. Optionally, specify the date that time was spent on. For example, /spend time(1h 30m) or /spend time(1h 30m) date(2018-08-26). | |
/submit_review | ✓ | Submit a pending review (introduced in GitLab 12.7). | ||
/subscribe | ✓ | ✓ | ✓ | Subscribe to notifications. |
/tableflip | ✓ | ✓ | ✓ | Append the comment with (╯°□°)╯︵ ┻━┻. |
/target_branch | ✓ | Set target branch. | ||
/title | ✓ | ✓ | ✓ | Change title. |
/todo | ✓ | ✓ | ✓ | Add a to-do item. |
/unassign @user1 @user2 | ✓ | ✓ | Remove specific assignees. | |
/unassign | ✓ | ✓ | Remove all assignees. | |
/unlabel ~label1 ~label2 or /remove_label ~label1 ~label2 | ✓ | ✓ | ✓ | Remove specified labels. |
/unlabel or /remove_label | ✓ | ✓ | ✓ | Remove all labels. |
/unlock | ✓ | ✓ | Unlock the discussions. | |
/unsubscribe | ✓ | ✓ | ✓ | Unsubscribe from notifications. |
/weight | ✓ | Set weight. Valid options for include 0, 1, 2, and so on. | ||
/wip | ✓ | Toggle the draft status. | ||
/zoom | ✓ | Add Zoom meeting to this issue (introduced in GitLab 12.4). |