Phabricator/Search

This is a detailed description of the basic search options in Phabricator.

The generic global search (not limited to Maniphest tasks only) is found in the upper right of every Phabricator page.

Inside Maniphest, custom, saved searches and advanced search options are listed in the navigation bar on the left.

Search query addresses (URL) are stable so you can save and reuse them.

You can share the address in your web browser's address bar with other people, e.g. via posting the link on a wikipage.

To make the user name dynamic (e.g. for "Tasks assigned to the person running this query") in searches that you'd like to share with others, set "Current viewer".

Note that some common queries are also available in the "Activity" tabs on the Phabricator frontpage.

Search terms
Special care needs to be put in choosing correct search terms.

Some locally-valid properties for the "Query" field: People who don't remember the exact words used in an item they are looking for usually follow one of these paths:
 * Case insensitive:  is the same as
 * phrase search works:
 * basic tokenization is performed, e.g. to strip punctuation
 * Stemming is performed: "edited" is also found when searching for . However,   does not match   as quoted text does not stem.
 * Substring search is supported:  matches , but   does not.
 * matches  as quoted and substring-operator text uses substring search.
 * Boolean queries to exclude certain terms are possible by using the - symbol before the unwanted term. E.g. use  to exclude "non-fatal" errors from results.
 * To only search in a task title but not in the task description or comments, use  which is the same as  . To search for one term in the task title and other terms anywhere in a task, use   or  . See https://secure.phabricator.com/book/phabricator/article/search/ for more information.
 * use the activity feed and edit the query to be restricted to certain projects or timeframes
 * use an external search engine;
 * remove all search terms, refine the search only by project etc. and then scan all the possible results manually or use Ctrl+F to search specific strings (this might require setting "Page Size" to a high value to display more than only 100 results);
 * file a new task, mentioning that a past report exists as well, and wait for someone to merge the new report to the old.

Searching for tasks and bug reports
There are 2 different main task search forms:

There is also an advanced search for some of the other applications (e.g. file/query/advanced). To only search for tasks / bug reports, use the Maniphest advanced search.
 * https://phabricator.wikimedia.org/search/query/advanced/ - this one is fairly simple - it's in the top-header bar
 * https://phabricator.wikimedia.org/maniphest/query/advanced/ - this one has more fields, and auto-completion that includes "Not in:..." (equivalent to NOT) and "In any:..." (equivalent to OR) (for example, type "echo" in the "Tags" field)

The advanced search forms are not explicit about the logic but in general use AND between different fields. You can exclude specific projects from the results by entering  (equivalent to NOT) and combine several projects via   (equivalent to OR) via the auto-completion suggestions. There's a limit of 5 items in the maniphest autocomplete. To increase this limit, see these userscripts for Chrome and for Firefox.

Maniphest offers links to some predefined search queries. For example, click authored to get a list of tasks that you have created.

To get a list of tasks which were created in the last 24 hours, set the "Created After" field to "-24 hours" or "-1 day". Note that "Updated Before" actually means "Last updated before" and that absolute date values like "2014-11-26" refer to UTC time while your time zone setting might be different. (Searching for tasks that got closed within a certain timeframe is not supported — use Reports as a workaround by setting the "Recently Means" value and checking the "Recently Closed" column for your product.) The "Updated After" and "Updated Before" fields return any and all changes to a task. For example, when a task is moved to another column in a board it registers as "updated". This may add noise to your search results.

You can also list all actions that you have performed over a certain timeframe at feed/query/EW2FwdAi.Kfz/.

Selecting Dates and Date Ranges
Using the Date fields like "Created After" and "Created Before" allow entering absolute dates in the format "Month/Day/Year".

You can also use a relative date by entering text such as "5 days ago" or "2:45 AM 5 days ago".

Please note that Maniphest uses UTC. Here are examples of how Maniphest interprets searches:

Examples:
 * "02/25/2015" is interpreted as "12:01 AM on February 25th, 2015" (UTC)
 * "5 days ago" is interpreted as "12:01 AM on the fourth calendar day before today" (UTC)
 * "2:45 AM 5 days ago" is interpreted as "12:01 AM on the fourth calendar day before today" (UTC)

The "X days ago" range can be confusing. Phabricator interprets today as part of any data set. Even if it is 12:30 AM UTC, Phabricator will interpret that as a potential day in the range.

Saving and Managing Searches/Queries
Queries can be saved and managed inside Maniphest.

If you want to save a search, select the "Save Query" button at the bottom of the Advanced Search UI.

When looking at the main navigation in Maniphest, click on the "Edit Queries" link. You will see a list of your saved queries. All users have a default set which can be deleted in this UI.

Some options in this UI:
 * Use the line elements on the left to drag queries up and down in the list.
 * The "x" will permanently delete a Query.
 * The Pencil icon allows a user to edit the name of a query
 * Clicking on the name of a Query will bring up the search options and results of that query

Once you save a query, you cannot change its parameters, but you can change its name. To edit a query, click on it's name, change parameters and save it as a new query. Also, Phabricator allows users to save multiple queries with the same name.

Finding the Maniphest task corresponding to a Bugzilla bug number
All Phabricator tasks migrated in 2014 from Bugzilla have a Reference field that contains a value "bz" followed by the number of the equivalent report in Bugzilla. If you want to search the task corresponding to a specific Bugzilla report, use the Reference field in the advanced search or just add 2000.

Defining your default search context
By default, the search field in the top bar of Phabricator searches all types of documents (open tasks, closed tasks, code commits, etc…).

You can change the default context using the the arrow menu to the left of the search bar. For example, select "Open Tasks" to only show results in open tasks from the Maniphest issue tracker.

Or select "Current Application" to search Maniphest in Maniphest, Diffusion in Diffusion etc.