/github-quick-actions

Primary LanguageGherkinGNU Affero General Public License v3.0AGPL-3.0

Github quick actions

GitHub deployments Total alerts GoReportCard example CodeFactor codecov GitHub license GitHub release

This workflow allows everyone to use Gitlab quick actions on their repository.

NOTE: this documentation is mainly based on the Gitlab one, available on Gitlab

What are quick actions

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.

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.

Available quick actions

The following quick actions are already released and available on the Github application.

Command Applicable on Description
/assign @user [@user...] issue
issue_comment
pull_request
pull_request_review_comment
Assign one or more users.
Use me to assign yourself.
/unassign
/remove_assignees
issue_comment
pull_request_review_comment
Remove all assignees.
/unassign @user [@user...] issue_comment
pull_request_review_comment
Remove one or more assignees.
Use me to remove yourself.
/duplicate #issue issue_comment
pull_request_review_comment
Close this issue and mark as a duplicate of another issue.
/label ~label [~label...] issue
issue_comment
pull_request
pull_request_review_comment
Add one or more labels.
Label names can also start without a tilde (~).
/unlabel
/remove_label
issue_comment
pull_request_review_comment
Remove specified labels.
Label names can also start without a tilde (~).
/unlabel ~label [~label...]
/remove_label ~label [~label...]
issue_comment
pull_request_review_comment
Remove all labels.

Quick actions to be developed

The following quick actions will be available in the future (must need times to develop them).

Command Applicable on Description
/reassign @user [@user...] issue_comment
pull_request_review_comment
Replace current assignees with those specified.
Use me to assign yourself.
/relabel ~label [~label...] issue_comment
pull_request_review_comment
Replace current labels with those specified.
Label names can also start without a tilde (~).
/assign_reviewer @user [@user ...] issue_comment
pull_request
pull_request_review_comment
Assign one or more users as reviewers.
Use me to assign yourself.
/reassign_reviewer @user [@user ...] issue_comment
pull_request_review_comment
Replace current reviewers with those specified.
Use me to assign yourself.
/unassign_reviewer @user [@user ...] issue_comment
pull_request_review_comment
Remove specified reviewers.
Use me to remove yourself.
/unassign_reviewer
/remove_reviewer
issue_comment
pull_request_review_comment
Remove all reviewers.
/draft issue_comment
pull_request
pull_request_review_comment
Toggle the draft status.
/reopen issue_comment Reopen the current issue or pull request.
/close issue_comment Close the current issue or pull request.
/merge issue_comment Merge the current pull request.
/copy_metadata #issue field [field...] issue
issue_comment
pull_request
Copy specified metadata from another issue or pull request.
Available metadata are: assignees, reviewers, labels,
project, milestones, related_issues and related_pull_requests

/copy_metadata #issue issue
issue_comment
pull_request
Copy all metadata from another issue or pull request.
/create_pull_request branch_name issue_comment Create a new merge request starting from the current issue.
It will automatically link the current issue with the new PR
/milestone %milestone issue
issue_comment
pull_request
Set milestone.
/relate #issue [#issue...] issue
issue_comment
pull_request
pull_request_review_comment
Mark issues as related.
/target_branch branch_name issue_comment Set target branch.
/title new_title issue_comment
pull_request
Change title.
/submit_review @user [@user...] issue_comment Submit a pending review to specified reviewers.
/submit_review issue_comment Submit a pending review to all reviewers.

Quick actions that will not be developed

The following quick actions will not be developed for specific reasons.

Command Description Reasons
/subscribe Subscribe to notifications. Github App needs access to a user information and ability to modify them
/unsubscribe Unsubscribe from notifications. Github App needs access to a user information and ability to modify them
/approve Approve the merge request or the review. Github App needs access to a user information and impersonate them
/rebase 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.
Cost too much to implement and to execute; alternative exists like using GithubAction with specific labels
Could have impact on the PR content

Contributing

See the contributing guide for detailed instructions of how to get started with our project.

We accept different types of contributions, including some that don't require you to write a single line of code. If you're looking for a way to contribute, you can scan through our existing issues for something to work on.