Email Commands: Tasks
Mail Commands Overview
After configuring processing for inbound mail, you can interact with objects (like tasks and revisions) over email. For information on configuring inbound mail, see Configuring Inbound Email.
In most cases, you can reply to email you receive from this server to leave comments. You can also use mail commands to take a greater range of actions (like claiming a task or requesting changes to a revision) without needing to log in to the web UI.
Mail commands are keywords which start with an exclamation point, like !claim. Some commands may take parameters, like !assign alincoln.
To use mail commands, write one command per line at the beginning or end of your mail message. For example, you could write this in a reply to task email to claim the task:
!claim I'll take care of this.
When Phabricator receives your mail, it will process any commands first, then post the remaining message body as a comment. You can execute multiple commands at once:
!assign alincoln !close I just talked to @alincoln, and he showed me that he fixed this.
Interacting with Maniphest Tasks
This page documents the commands you can use to interact with tasks in Maniphest. These commands work when creating new tasks via email and when replying to existing tasks.
Quick Reference
This table summarizes the available mail commands. For details on a specific command, see the command section below.
Command | Summary |
---|---|
!assign username | Assign a task to a specific user. |
!claim | Assign yourself as the owner of a task. To assign another user, see !assign. |
!close | Close a task. This changes the task status to the default closed status. For a more powerful (but less concise) way to change task statuses, see !status. |
!priority priority | Change the priority of a task. |
!projects #project ... | Add related projects. |
!status status | Change the status of a task. |
!subscribe username #project ... | Add users or projects as subscribers. |
!unsubscribe | Remove yourself as a subscriber. |
!assign
Assign a task to a specific user.
Property | Value |
---|---|
Syntax | !assign username |
Aliases | None |
Class | ManiphestAssignEmailCommand |
To assign a task to another user, provide their username. For example, to assign a task to alincoln, write !assign alincoln.
If you omit the username or the username is not valid, this behaves like !claim and assigns the task to you instead.
!claim
Assign yourself as the owner of a task. To assign another user, see !assign.
Property | Value |
---|---|
Syntax | !claim |
Aliases | None |
Class | ManiphestClaimEmailCommand |
!close
Close a task. This changes the task status to the default closed status. For a more powerful (but less concise) way to change task statuses, see !status.
Property | Value |
---|---|
Syntax | !close |
Aliases | None |
Class | ManiphestCloseEmailCommand |
!priority
Change the priority of a task.
Property | Value |
---|---|
Syntax | !priority priority |
Aliases | None |
Class | ManiphestPriorityEmailCommand |
To change the priority of a task, specify the desired priority, like !priority high. This table shows the configured names for priority levels.
Priority | Keywords |
---|---|
Unbreak Now! | unbreak |
Needs Triage | triage |
High | high |
Normal | normal |
Low | low |
Wishlist | wish, wishlist |
If you specify an invalid priority, the command is ignored. This command has no effect if you do not specify a priority.
!projects
Add related projects.
Property | Value |
---|---|
Syntax | !projects #project ... |
Aliases | !project |
Class | ProjectAddProjectsEmailCommand |
Add one or more projects to the object by listing their hashtags. Separate projects with spaces. For example, use !projects #ios #feature to add both related projects.
Projects which are invalid or unrecognized will be ignored. This command has no effect if you do not specify any projects.
!status
Change the status of a task.
Property | Value |
---|---|
Syntax | !status status |
Aliases | None |
Class | ManiphestStatusEmailCommand |
To change the status of a task, specify the desired status, like !status invalid. This table shows the configured names for statuses.
Status | Keywords |
---|---|
Open | open |
Resolved | closed, fixed, resolved |
Wontfix | wontfix |
Invalid | invalid |
Duplicate | duplicate |
Spite | spite |
If you specify an invalid status, the command is ignored. This command has no effect if you do not specify a status.
To quickly close a task, see !close.
!subscribe
Add users or projects as subscribers.
Property | Value |
---|---|
Syntax | !subscribe username #project ... |
Aliases | !cc |
Class | PhabricatorSubscriptionsSubscribeEmailCommand |
Add one or more subscribers to the object. You can add users by providing their usernames, or add projects by adding their hashtags. For example, use !subscribe alincoln #ios to add the user alincoln and the project with hashtag #ios as subscribers.
Subscribers which are invalid or unrecognized will be ignored. This command has no effect if you do not specify any subscribers.
Users who are CC'd on the email itself are also automatically subscribed if their addresses are associated with a known account.
!unsubscribe
Remove yourself as a subscriber.
Property | Value |
---|---|
Syntax | !unsubscribe |
Aliases | None |
Class | PhabricatorSubscriptionsUnsubscribeEmailCommand |