Phabricator/Help/zh

致Phabricator-{zh-hans:用户;zh-hant:使用者}-，如果您有问题，可直接在讨论页询问. 我们基于收到的-{zh-hans:反馈;zh-hant:回饋}-改进我们的-{zh-hans:文档;zh-hant:文件}-. 如果您希望测试Phabricator，您应该使用实验室实例.

要对Phabricator是什么，能做什么有一个基础了解，. 或继续向下阅读该页面以便入门.

创建您的-{zh-hans:账户;zh-hant:賬號}-



 * 首先，请确保您已至维基媒体.
 * 如果您尚未拥有一个维基媒体-{zh-hans:账户;zh-hant:賬號}-，请一个.
 * 前往Phabricator登录页面（当您退出时，链接在右上角显示成进入一扇门的箭头）.
 * 点击向日葵按钮，它称为“Login or Register - MediaWiki”（登录或注册——MediaWiki）.
 * 您将需要同意MediaWiki.org连接请求.
 * Phabricator将要求您输入用户名. 当您有疑惑时，直接填写您的维基媒体用户名即可，但请注意Phabricator用户名不能包含非拉丁文，例如“العَرَبِيةُ”或“中华民族”. 亦请勿使用空格，可以用下划线“ ”替代. 另外需要有效的电子邮件地址以供验证，但电子邮件地址不会向其他用户显示.
 * 如果您发现您的Phabricator账户被禁用，请在Talk:Phabricator/Help说明情形. 如果您未收到及时反馈，可联络Bugwrangler.
 * 点击做出导航栏的Manage（管理）.
 * 点击Edit Profile（编辑个人资料）并设置您的“Also Known As”（又称，例如是您的全名）以便其他用户更容易搜索到您.


 * 高级
 * 如果您有一个wikitech.wikimedia.org账户&mdash;或称做LDAP账户或是Gerrit账户的话——您也可以使用该账户登录. 同一个Phabricator用户名可以连接相关的MediaWiki.org和LDAP账户. 这可以作为备份，在某些不太可能发生的维基媒体SUL机制无法工作的情况下.  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.

索要您之前在Bugzilla和RT上的-{zh-hans:账户;zh-hant:賬號}-
跟随这个-{zh-hans:链接;zh-hant:連結}-.

接收更新和通知
Phabricator会就和您有关的活动向您发出提醒，包括您自己的活动. 您可以在偏好设置中对此进行调节，例如对某些活动只接收站内通知或完全不接收通知.

Phabricator提供多种方式供您接收通知.

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. As a project member, you can opt out of project mail via the  on the project's Members page. There is more information in the Managing Phabricator Email user guide.
 * 如果您对某个单独的对象（例如一个Task、mockup等）感兴趣，点击 即可订阅该对象的通知. 发表评论会自动为您订阅该对象.
 * 如果您对一个Project（项目）内的所有活动感兴趣，您可以点击该项目概要页面上的 按钮. 在Projects用户指引中有更多相关信息.

为通知-{zh-hans:创建;zh-hant:建立}-Herald（传令）规则
Follow this link to learn how to create custom (personal) notification rules in Wikimedia Phabricator's Herald. This is a more advanced option and can be difficult to use.

-{zh-hans:创建;zh-hant:建立}-一个任务
There are several 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.
 * A new task: click the Star button toward the right side of the top navigation bar. From the dropdown menu, choose Create Task. You will get a blank form.
 * A security problem: click the Star button toward the right side of the top navigation bar. From the dropdown menu, choose Report Security Issue. You will get a form pre-tagged with Security, and with a link to special instructions for filing security bugs.
 * A subtask of an existing task: click Edit Related Tasks… > Create Subtask 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, Subscribers, Priority, Projects). Subtasks will be listed in the parent task under "Task Graph", sorted by most recently updated.

格式化
Phabricator supports some formatting in text areas. See this help about formatting in Phabricator.

选择-{zh-hans:项目;zh-hant:專案}-
In order to relate a task with a project (tag) that uses Phabricator, you just need to start typing its name in the Tags field and select the project from the list of matching projects (the list will only show five matching projects). You can search for projects and read short project descriptions by clicking the magnifier icon in the Tags field. You can add one or more projects to the Tags 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.)

设置任务优先权
优先权（Priority）通常应由产品经理、维护人员或计划工作于对应任务的开发人员设置，或由bugwrangler或有经验的社群成员设置，而不是由提报者填写在错误报告中，或由外来人员设置. 请参见Phabricator项目管理以获取详细信息.

使用电子邮件
You can also create tasks by sending email 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 set a project, add the corresponding command "!projects" and its hashtag at the beginning of the body, e.g.,. Further commands to set the task assignee, priority or status via email are available.

''Note: if your email 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
"Report a bug in Phabricator" link can pass numerous values via URL parameters appended to the generic task creation link.

这是一个非常-{zh-hans:高级;zh-hant:進階}-的功能. 在此了解更多.

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 subscribe 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.
 * If you want to paste lines of code, add a line with three backticks before and after the code: . Or create a Paste and link to the Paste from the task.

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.

上传-{zh-hans:文件;zh-hant:檔案}-附件
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:. Per default it's included as thumbnail. For more formatting options, visit Remarkup reference. 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 re-upload 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. Further, note that anyone with the full URL to a file can download the file or share the link with others. There is no authentication protecting files from being accessed. Phabricator files rely entirely on security through obscurity; guessing the (pseudo-random) URL for any given file would be very difficult. If you need more protection for particularly sensitive files then you should consider a more secure alternative.

If you ever need to delete a file that you uploaded, open the list of files you authored, select the file and click "Delete File" in the sidebar.

Project management in Phabricator
If you maintain or manage a project, please follow this link for more details.

父任务和子任务
Tasks can be a parent task or a subtask of any number of other tasks. Such relations can be set via "Edit Related Tasks...". This feature can be used to accomplish a few different things:

Parent tasks and subtasks are displayed under "Task Graph" in the task. NOTE: There is a "Edit Related Tasks... > Create Subtask" feature. In addition to setting up the correct parent/subtask relationship, it also caries the CC (subscription) list into the new subtask.
 * Blockers and Subtasks. A (parent) task might simply be blocked by another (sub)task, representing a dependency (see Phabricator/Project management on how to add a subtask).
 * Tracking. A "workless" (parent) task blocked by several (sub)tasks might be tracking a collection of (sub)tasks within a release or other time period. Note that "Tracking" here has a different meaning from the deprecated #Tracking tag in Phabricator.
 * Approval. Several (parent) tasks (such as draft team goals) might be blocked by a single (sub)task which represents the draft tasks getting approved, after which those draft goals are now real goals.

优先次序
Each Task has a Priority field, which is reflected in the sidebar color of Tasks that appear in Workboards. Note that this Priority is inherent to the Task, and thus will be the same in every Project and Workboard that task appears in.

Within a Workboard, Tasks can be arranged in a priority order within a column. Choose "Natural" sort, and then drag-and-drop Tasks up or down within a column. This allows a groomed backlog to be sequenced by priority, or could indicate the urgency of items in a "Needs Review" column. Note that Workboard columns can also be sorted by the underlying Priority field, so while discussing a Workboard with someone not in the room, it is best to agree on and use the same sort order to avoid confusion.

Assignment
Each Task may be assigned to one person. As with Priority, this is inherent to the Task, and affects every Project that Task is in. So it is impossible to have a Task assigned to Robin in one Project, but to Kim in another. The assigned person is displayed as part of the Task card in each Workboard.

Some teams might choose to assign Tasks to people while the Tasks are in a TODO column. Others would have people assign Tasks to themselves only at the moment that they are moving them from TODO to DOING. Assigning a Task to yourself before you are ready to work on it is a form of "cookie licking".

After the main work on a Task is finished, there are 2 main patterns for assignment:


 * The Task remains assigned to whoever did the work, as that task's permanent owner
 * The Task gets reassigned to whoever needs to work on it next

So for example, after code has been written, it might needs a code review from some specific person. In the second case, the Task would be assigned to that person, making it clear who is responsible for moving that task forward. Obviously if there are multiple possible code reviewers, that model would not work. Later, if the issue were waiting for someone to test it, or deploy it, or to run some specific task necessary for the Task to be completed (like a re-index), the Task could be assigned to that person. A team might have a policy that completed tasks should get assigned back to the person who originally created them, so that person can verify that their needs were met, and the task is ready to be closed.

"Done"
Each Task has a Status field, which includes the state of Resolved. Resolved tasks are by default hidden from Workboards. When they are displayed, they appear grayed out and struck out. Other statuses include Open and Stalled.

Note that this Resolved status is inherent to the Task, and so will affect that Task's appearance and behavior in every Project (and Workboard) it is in. This is independent of which column a Task might be in, in any given Workboard. So a Task could be Open, and could be in the DONE column of one Workboard, but the DOING column of another. It could also be in the column somewhere else.

As a result, it is important not to mark a task Resolved until it is considered done by ALL of the projects it is in. It's fine to move a Task to your own Workboard's DONE column, but before you mark a task Resolved, ensure that no other project still wants to keep tracking its progress.

"Tracking" tasks
This term was brought over from Bugzilla, where it had a specific meaning: A task which was blocked on other tasks, but which itself did not represent any work, and which was not tied to a specific release/date. An example might be a Task named "Clean up the documentation", which might then have a variety of subtasks, each of which would describe specific work to be done. These "Tracking" Tasks tended to stick around for a long time (or forever), as their subtasks would get resolved but new ones would get created. In Phabricator, it would be better to create a Project (tag) to categorize this type of work.

Note, however, that there are other types of work-less umbrella tasks which do still make sense in Phabricator. Notably, "Release" tasks. An upcoming release could be represented by a Task, which lists as subtasks all the actual work tasks which are targeted for that release. Once the release goes out, it can be resolved. A similar use would be to have a task which represents a teams overall goals for the quarter, and then each goal might (or might not) be a blocking subtask.

搜索项目


Phabricator consists of several applications (task management in "Maniphest" being one of them, and in the future also Diffusion and Differential for code review). The search field in the upper corner allows searching across all these applications.

Using Maniphest (Advanced Search)


Maniphest is a tool which allows users to make detailed queries. Users can refine a query using multiple parameters. Queries can also be saved and managed.

New users will find several saved queries preset inside Maniphest. Clicking on the "Advanced Search" will bring up a new search page.

Click here for a detailed Maniphest walkthrough.

使用控制面板
Dashboards are specially designed home pages which can display a wide range of custom information. They can be created, managed and shared between users.

Click here for a detailed Dashboard walkthrough.

Batch edits
Phabricator offers the possibility to perform mass/bulk 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.

Batch editing can be reversed by noting the "Bulk Job" ID that is generated at the start of a Batch Edit. This can be accessed by clicking "Details" before or after executing. On the following page, there will be a "Continue" menu item to the right, which will generate a Maniphest query of all the affected tasks.

Favorites
The Star menu in the top navigation bar can be customized with links to your preferred forms and actions. See the Profile Menu instructions for more information.

Personal lists of items
The "Flag For Later" functionality offers marking objects (like tasks or revisions) which "you want to remember to look at later". Eight flag colors are available. Flags are personal and private so your lists cannot be shared with others. Your flagged objects are listed on flag. They can be searched by color or object type, in contrast to tokens.

-{zh-hans:创建项目;zh-hant:建立專案}-


In Phabricator projects are tags, tags are projects. Hierarchy via sub-projects is available since February 2016. 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")

申请一个新-{zh-hans:项目;zh-hant:專案}-
参见Phabricator/申请一个新项目.

Restricting access to tasks
Please see Phabricator/Security for a general overview and the dedicated task creation form. See Phabricator/Creating and renaming projects for default project settings (and using Spaces).

Displaying and using a Space


''Spaces (upstream documentation) allow restricting access to groups of objects (like tasks) to members of a specific group only. See Restricting access via Space policies for setting up.''

If you can access at least two spaces, you see an additional Spaces dropdown under "Visible To" when creating and editing an object. Users with access to only one space will not see this control.



In Maniphest's task view, the Space will also be displayed in front of the task summary. You can batch-edit tasks to move them to a different Space.

Note that you will still have to associate the corresponding "public" project (if existing) to a task to make a task in a restricted Space (which you have access to) to show up in search queries and the workboard of the project. The "public" project could be automatically added via requesting a global Herald rule.

When creating tasks in Spaces, use the "Create Advanced Task" option in the "Create Task" dropdown. This option will display an additional Spaces dropdown under "Visible To" in the task creation UI that will allow you to set visibility to the Space for which this task should be visible.

If you instead create a task via the "Create Simple Task" option in the "Create Task" dropdown, then after you create it, you will have to edit the task to restrict visibility to members of the Space. Before this edit, the task will be visible to anyone and notifications about your task might have been sent to public logged IRC channels and other subscribed individuals.

MediaWiki模板与-{zh-hans:链接;zh-hant:連結}-

 * 您可以通过使用 及其简短版本 ，从wiki页面-{zh-hans:链接;zh-hant:連結}-至Phabricator任务，例如 会生成example.
 * Template:Tracked已更新，以便包含至Phabricator对象的-{zh-hans:链接;zh-hant:連結}-——参见右侧 是怎么生成的.
 * Template:Phabricator同样可用； 会生成.

现有Bugzilla链接和模板仍将工作，因为这些链接将继续指向bugzilla.wikimedia.org，而它将重定向至转换过的Phabricator任务.

Using Conpherence
Conpherence is a Phabricator application that enables private conversations between two or more users, similar to instant messaging and private chat rooms. No team is known to use this. It may conflict with other communication channels. To learn more click here.

Conpherence has an optional persistent window/column that can be shown and hidden with the keyboard key "\". Users may accidentally activate this feature, and it can only be hidden again by using the "\" key (there is no graphical UI feature to close it).

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. Phragile and Phlogiston are further reporting tool options for Phabricator.

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.

Forms


Phabricator allows some customization of the fields shown for a given task. These are handled via the Forms feature.

其他-{zh-hans:链接;zh-hant:連結}-

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