Page MenuHomePhabricator
Applications Differential Email Commands: Revisions

Email Commands: Revisions

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 Differential Revisions

This page documents the commands you can use to interact with revisions in Differential.

Quick Reference

This table summarizes the available mail commands. For details on a specific command, see the command section below.

CommandSummary
!abandonAbandon a revision.
!commandeerCommandeer a revision.
!planchangesPlan changes to a revision.
!projects #project ...Add related projects.
!reclaimReclaim a revision.
!requestRequest changes to a revision.
!resignResign from a revision.
!subscribe username #project ...Add users or projects as subscribers.
!unsubscribeRemove yourself as a subscriber.

!abandon

Abandon a revision.

PropertyValue
Syntax!abandon
AliasesNone
ClassDifferentialActionEmailCommand

!commandeer

Commandeer a revision.

PropertyValue
Syntax!commandeer
Aliases!claim
ClassDifferentialActionEmailCommand

!planchanges

Plan changes to a revision.

PropertyValue
Syntax!planchanges
Aliases!rethink
ClassDifferentialActionEmailCommand

!projects

Add related projects.

PropertyValue
Syntax!projects #project ...
Aliases!project
ClassProjectAddProjectsEmailCommand

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.

!reclaim

Reclaim a revision.

PropertyValue
Syntax!reclaim
AliasesNone
ClassDifferentialActionEmailCommand

!request

Request changes to a revision.

PropertyValue
Syntax!request
Aliases!reject
ClassDifferentialActionEmailCommand

!resign

Resign from a revision.

PropertyValue
Syntax!resign
AliasesNone
ClassDifferentialActionEmailCommand

!subscribe

Add users or projects as subscribers.

PropertyValue
Syntax!subscribe username #project ...
Aliases!cc
ClassPhabricatorSubscriptionsSubscribeEmailCommand

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.

PropertyValue
Syntax!unsubscribe
AliasesNone
ClassPhabricatorSubscriptionsUnsubscribeEmailCommand