Phabricator/Help



Dear potential or actual Phabricator user, if you have questions, just ask in the Discussion page. We improve our documentation based on the feedback received.

Creating your account



 * First, make sure you are to Wikimedia.
 * If you don't have a Wikimedia account yet, for one.
 * Go to the Phabricator login page (the link shows as an arrow to a door in the top right when you're logged out).
 * Click the sunflower button that says "Login or Register".
 * You will be asked by MediaWiki.org to approve connecting.
 * Phabricator will ask you for a username. In case of doubt, just use your Wikimedia username. An e-mail address will also be required, but not shown to other users.
 * Click on Profile (top right) > Edit Profile and set your Also Known As (for example, to your full name) to make it easier to search for you.


 * Advanced
 * If you have a wikitech.wikimedia.org account &mdash; also known as an LDAP account or Gerrit account &mdash; you can also use that to log in. The same Phabricator username can have both MediaWiki.org and LDAP connected. This can be a backup, in the unlikely event Wikimedia SUL is not working.   Connect your Wikimedia SUL and LDAP accounts to a single Phabricator username! Otherwise you will create two separate Phabricator accounts.
 * We do not encourage using multi-factor authentication on Wikimedia Phabricator. If you still plan to use it, read the multi-factor authentication guidelines and requirements first.

Claiming your previous Bugzilla and RT accounts
If you were a Wikimedia Bugzilla user you are encouraged to read our Phabricator versus Bugzilla comparison.


 * 1) Go to your Phabricator email settings.
 * 2) Add the email addresses that you used in fab.wmflabs.org, RT or Bugzilla (they are kept private).

Your account activity (comments, reports you created, etc) will be merged into your Phabricator account within the next days. Please be patient as this can take quite some time, depending on how active you were in Bugzilla and RT before. After the process to link your previous, imported contributions to your Phabricator account has finished, you will be e.g. able to search for reports in Phabricator that you had created in Bugzilla before Bugzilla's reports were imported into Phabricator.

Migrating your Bugzilla votes
Your Bugzilla votes can only be migrated manually (unless you did before the Bugzilla switch-off), because votes were not imported. You probably want to migrate your votes, otherwise you will no longer be notified of updates to those bugs and other users will not know of your votes.

If you have many votes to migrate, you can do something like this:
 * 1) open your Bugzilla votes;
 * 2) click "view all as bug list" at the bottom;
 * 3) (optional) if you only care about notifications, click "edit search" at the bottom, expand "search by people", select "a CC list member" + "doesn't contain" and enter your email address, enter or click "search";
 * 4) save page as a local file, for instance "votes.html";
 * 5) convert all the links, for instance with   in the command line;
 * 6) install a browser extension to open all links in tabs, like  or ;
 * 7) open votes.html, select all search results, open all in tabs, wait for the tabs to have loaded;
 * 8) now switch to each tab, e.g. with Ctrl Tab, and click "subscribe" and/or "award token" for each bug.

Steps 4-8 may be automated by coding an appropriate JavaScript tool authenticating to Phabricator.

Receiving updates and notifications


Phabricator notifies you about relevant activity, including your own actions. You can fine tune your email preferences to your taste, receiving web notifications only for certain activities, or no notifications at all.

Phabricator offers several tools to receive the notifications you wish to receive.
 * If you are interested in a single object (a task, a mockup...) just click  in its page. Adding a comment will subscribe you automatically.
 * If you are interested in all the activity within a project, you can go to the  page of the project (the "Members" button in the project navigation bar on the left) and add yourself as a member. Afterwards, go to the project homepage (the first button in the project navigation bar on the left) and click  . You can also subscribe to projects, which happens automatically when you add yourself as a project member. The difference is that subscribers only get notified for changes if the project is in the task's   field, not when it is in the   field.

You can also define in your Email preferences for which specific actions (e.g. status, owner, priority or subscriber changes) in a task you would like to (not) receive notifications. Prolific users might want to reduce email settings to a minimum, such as in File:Phabricator email settings panel.png

Creating Herald rules for notifications
To request a Herald rule, create a task in Phabricator describing your request, and add the #Phabricator project. If the request is not completed within a reasonable amount of time, contact one of the Phabricator admins (preferably User:AKlapper (WMF)).

Writing comments and descriptions


Phabricator allows you to post and edit comments and descriptions using text formatting and inserting images or other files; see Uploading file attachments. You can use toolbar at the top of the input text area and you can use Phabricator's Remarkup.

At the end of the page you have a live preview to check whether your text looks as you expect. Popular use of markup includes:
 * Mentioning users as in  will create a link to their profile and will CC them to the task.
 * Adding a task number as in  will create a link to the task including a hover card.   inserts the title of the task in your text.
 * Adding a project name as in  will create a link to the project main page.
 * If you want to quote text, you can simply add " " at the beginning. If you want to reply a comment including it as a quote, click the drop down arrow at the right end of the comment you want to reply.
 * If you want to display an uploaded mockup image file, e.g., like, embedded in your comment, write.
 * If you want to create an external link, e.g.  in wiki markup, use   including the whitespaces in Phabricator.
 * If you want to add a web address (URL link) in a comment for example to provide a testcase, it is highly recommended to copy and paste the full web address from your web browser's address bar, e.g.,  instead of  . Interwiki prefixes like   are not supported in Phabricator and most customizations that Bugzilla had neither, e.g., Gerrit changes should be pasted as full web addresses too.

Note that Phabricator's own markup language is different from MediaWiki's markup. The upstream Phabricator instance hosts a Remarkup Reference for Phabricator's own markup language.

Creating a task


There are three ways to create a task, depending on the information you want to carry: Fill the form, leaving the fields you are not sure about unchanged.
 * Plain new task: click the  button or the Create Task link located at the top right. You will get a blank form.
 * A subtask of an existing task: click the Create Subtask link located in the right column of the current task. The dependency between both tasks will be set, and some values of the parent task will be carried by default (Assigned To, CC, Priority, Projects). Subtasks will be listed in the parent task, sorted by most recently updated.
 * A similar task to the one you just created: after creating a task, a Similar Task link is offered at the top right corner. Click it to prefill Assigned To, CC, Priority, and Projects with the same values.

Selecting projects
In order to relate a task with a project that uses Phabricator, you just need to start typing its name in the Projects field and select the project from the list of matching projects (the list will only show five matching projects). You can add one or more projects to the Projects field. If you are unsure, you can also leave it empty — triagers will take care of tasks that have no project set. There is a (long) list of projects available. Press  to search for projects. (This list is also available at Phabricator/Projects.)

Setting task priority
Priority should normally be set by product managers, maintainers, or developers who plan to work on the task, or by the bugwrangler or experienced community members, not by the reporter filing the bug report or by outside observers. See Phabricator project management for details.

Using e-mail
You can also create tasks by sending e-mail to [mailto:task@phabricator.wikimedia.org task@phabricator.wikimedia.org]. The subject will be used as task title, the body will be used directly as is, and attachments will be included on the task. To select a project, use its hashtag somewhere in the body, e.g.,.

''Note: if your e-mail signature is not formatted following de facto standards (including "-- " to be separated from the body text) it will be posted as well. You are encouraged to remove private information from your signature in your first attempt, just to be sure.''

Passing certain values in the task creation URL
Project wikipages which offer a "Report a bug in Phabricator" link can pass numerous values via URL parameters appended to the generic task creation link such as: Prefix your properties with "?" and use "&" to chain properties together.
 * projects=project-name1,project-name2
 * assign=username
 * title=Title%20of%20task
 * description=Description%20of%20task
 * template=XXXX
 * priority=[100, 90, 80, 50, 25, 10]


 * Example
 * Would create a new task with the tag "Beta-Feature" and prefix the title with "Hovercards:" and give a priority of "Lowest".
 * Would create a new task with the tag "Beta-Feature" and prefix the title with "Hovercards:" and give a priority of "Lowest".

Uploading file attachments


There are several ways to upload files: You can add a file (for example a screen photo) to a comment or a task description via drag and drop with your mouse. Users can also copy and paste images via the clipboard functionality of their system.

If this is not available on your system you can use phabricator:file/upload and refer to the file number (like "123") that is shown after a successful upload by writing  in a comment. This will create a link to the file. To include the file in the comment, enclose the ID in braces:. If you have to upload files frequently and consider the currently available options uncomfortable, you could also add a text panel to your homepage with a direct link.

Advanced users could also use "arc upload" which provides an F number that can be used via  syntax to embed in a comment.

Note that you cannot upload a file and then decrease the access level to the file (e.g linking it to a restricted security ticket). You would have to delete the file and reupload it with stricter access permissions. It is recommended to upload files which should have restricted access together with the creation of a restricted (security) ticket.

If you ever need to delete a file that you uploaded, open the file/ overview, select "Authored", select the file and click "Delete File" in the sidebar.

Searching for items

 * This is the basic Search documentation. For an advanced use, see Phabricator Search User Guide.



Phabricator consists of several applications (task management in "Maniphest" being one of them, and in the future also code review and other applications). The search field in the upper corner allows searching across all these applications. For a search with advanced search criteria across applications, use the Advanced Search.

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.

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

Search keywords
Special care needs to be put in choosing a correct search keyword.

As of 2015, Phabricator is using the MariaDB search backend; in-depth knowledge of it might help searching better. Some locally-valid properties:
 * case insensitive:  is the same as  ;
 * forced AND:  means  ;
 * phrase search works: ;
 * basic tokenization is performed, e.g. to strip punctuation;
 * only whole-word matches are returned and no morphological analysis is performed: "edited" is only found by, not by   and even less by  ;
 * no advanced search features exist, e.g. regex search, substring search, comparison etc. etc.

People who don't remember the exact words used in an item they are looking for usually follow one of these paths:
 * use an external search engine;
 * remove all keywords, refine the search only by project etc. and then scan all the possible results manually or use Ctrl F to search specific strings;
 * use the Bugzilla search for tasks created before November 2014 (docs, tips, more tips);
 * 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:
 * 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 "Projects" field)

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.

The advanced search forms are not explicit about the logic they use. In general, they seem to use OR within a field (except words), AND between different fields. It's sometimes possible to specify in a field "in any", "not in", via the auto-completion suggestions.

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.)

Defining your default search parameters
By default, the search field in the top bar of Phabricator searches all types of documents (tasks, change sets…).

Users can change which types of documents are searched for by default by clicking the arrow to the left of the search bar. For instance, selecting "Open tasks" will make sure that every future search is restricted to that; selecting "current application" will search Maniphest in Maniphest, diffusion in diffusion etc.

Finding the Maniphest task corresponding to a Bugzilla bug number
All Phabricator tasks migrated 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.

Custom queries in Maniphest


Maniphest allows for you to save custom queries for easier access and locating of tasks. This requires being logged in.

You can do so by first going to one of the pre-saved queries and editing the query parameters. For example, take the query "All tasks" and click the "Edit Query" button to adjust its parameters.

Saved custom queries can be accessed anytime in the side bar and edited as per your needs. It allows you to limit your search to different categories including but not limited to: date created, assigned to, priority, status of the task and many more.


 * Example
 * You want to view tasks which are in the project, authored by a specific author, assigned to you, and with the priority  . Enter   in the   section, enter your username in the   section, enter the author's name in the   section and finally, enable the   checkbox in the   section. After doing so, click the   button to see the list of tasks. To save this query, simply click the   button and enter a name for your query. Afterwards, it will be displayed in the side bar under.

Using Conpherence
Conpherence is a Phabricator application that enables private conversations between two or more users, similar to instant messaging and private chat rooms. Public rooms are in the works as well.

To create a new conpherence, click the "+" icon in the header and select "Conpherence thread". Select the users you want to chat with, introduce the text (where you can use the Phabricator syntax) and you are good to go.

When someone adds you to a Conpherence thread or replies in a thread you are subscribed, you will receive a notification (via web or email, depending on your Conpherence preferences). Web notifications activate an own dialog icon next to the Phabricator logo, so they don't get mixed with the regular Phabricator web notifications.

Once a Conpherence thread is open, users can rename it, can add more users, and can leave the thread themselves. Threads are listed in your main Conpherence page.

Appropriate uses of Conpherence
Conpherence is for private communication, and therefore it is useful for Conpherence is NOT a substitute of public community channels like IRC, mailing-lists, Phabricator tasks... Any bug reports or support requests sent through this channel can and probably will be completely ignored.
 * Reaching out to a user instead of sending a private e-mail.
 * Create a cozy space for casual communication i.e. with newcomers in the context of outreach programs.
 * ... And in general any type of personal communication not expecting project decisions, official replies, or any reply at all.

Creating your dashboard
The Phabricator homepage is in fact a dashboard that you can customize. Dashboards are made out of panels. If you find a (public) dashboard in the dashboard list that you like, you can start from it with  &gt;   and then reuse or create others panels you want to appear on it via the   and   links at the bottom. There are three types of panels: You can add and position the panels in a dashboard. Then you can click, which will make that dashboard your own Phabricator homepage. You can have additional dashboards with more panels, but only can substitute your homepage. If you are really into dashboards and you have a bunch of them, you can link to them from a text panel in your homepage.
 * Text panels: a free-form box where you can type any static content. This is an easy way to collect your dearest shortcuts.
 * Query panels: a wide collection of predefined search queries allow you to include all kinds of lists to a panel. You can also create and save your own queries using the advanced search tools, and then you can include those saved queries in panels. For instance, you can have a panel showing the combined list of oldest untriaged tasks in the projects you are involved.
 * Tab panels: not enough space? a tab panel allows you to include several panels in different layers, using tabs.

Batch edits
Phabricator offers the possibility to perform batch edits for tasks. At the end of any Maniphest search query you will find a "Batch Edit Selected" to edit all the tasks you have selected using Shift-click. Users willing to use this feature need to join the Triagers group.

Statistics
Phabricator offers tables showing the open tasks by priority and by either user or project. Apart from that, Phabricator doesn't support further statistics, metrics, charts, reports (e.g. over time) or however you may call them, whether built-in or via an API.

Creating a project
In Phabricator projects are tags, tags are projects. There is no tree hierarchy, and there are no subprojects, yet. Tasks can be assigned to more than one project, and they can also be submitted without assigning them to any project.

When do you need a project?
In general, you need a project...
 * when you have an established team running one or several projects (start here, ask more only when you need more)
 * when you need a workboard (i.e. a sprint)
 * when you need a tag or keyword to organize a type of task that can be part of any project (for example "Accessibility")

Requesting a new project
See Phabricator/Requesting a new project.

Restricting access to tasks
Please see Phabricator/Security for a general overview and Phabricator/Creating and renaming projects for default project settings.

MediaWiki templates and links
Existing Bugzilla links and templates will still work, because those links will continue to point to bugzilla.wikimedia.org which will redirect them to the converted Phabricator task.
 * You can link to Phabricator tasks from wiki pages using  and its shorter version , for instance   generates example.
 * Template:Tracked has been updated to include links to Phabricator objects — see at the right how  is rendered.
 * Template:Phabricator is also available;  generates.

Diffusion


Diffusion is the Phabricator repository browser and repository management tool. Eventually we want to replace Gerrit for code review and repository management, and gitblit for repository read-only mirroring. Right now, we're mirroring some of our Git repositories to Phabricator for demonstration purposes.

Diffusion is integrated with the other tools in the Phabricator suite. For instance:
 * When you commit Differential revisions to a tracked repository, they are automatically updated and linked to the corresponding commits;
 * You can add Herald rules to notify you about commits that match certain rules;
 * In tasks and other places, you can automatically link to commits.

Other links

 * Other
 * OAuth consumer phabricator-production, use Special:OAuthManageMyGrants to manage connected apps
 * Phabricator etiquette