Phabricator/Help/zh

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

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

创建您的-{zh-hans:账户;zh-hant:賬號}-
您可以将新的Phabricator帐户与您的全域维基媒体维基帐户或维基媒体开发者帐户相关联. 在这两种情况下，都不需要单独的密码.

与你的全域账户



 * 首先，请确保您已至维基媒体.
 * 如果您尚未拥有一个维基媒体-{zh-hans:账户;zh-hant:賬號}-，请一个.
 * 前往Phabricator登录页面（当您退出时，链接在右上角显示成进入一扇门的箭头）.
 * 点击向日葵按钮，它称为“Login or Register - MediaWiki”（登录或注册——MediaWiki）.
 * 您将需要同意MediaWiki.org连接请求.
 * Phabricator将要求您输入用户名. 当您有疑惑时，直接填写您的维基媒体用户名即可，但请注意Phabricator用户名不能包含非拉丁文，例如“العَرَبِيةُ”或“中华民族”或“Xï”. 亦请勿使用空格，可以用下划线“ ”替代. 另外需要有效的电子邮件地址以供验证，但电子邮件地址不会向其他用户显示.


 * 点击做出导航栏的Manage（管理）.
 * 点击Edit Profile（编辑个人资料）并设置您的“Also Known As”（又称，例如是您的全名）以便其他用户更容易搜索到您.

与你的维基媒体开发者账号

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

[[phab:settings/panel/external/|将您的维基媒体SUL和LDAP帐户]连接到单个Phabricator用户名！否则您将创建两个单独的Phabricator帐户.

Multi-factor authentication

 * 我们不鼓励在Phabricator上使用多因素身份验证. 如果您仍打算使用它，请先阅读多因素身份验证指南和要求.

Troubleshooting

 * 如果您发现您的Phabricator账户被禁用，请在Talk:Phabricator/Help说明情形.
 * If you find your Phabricator account disabled, please add a note on Talk:Phabricator/Help.
 * If you get an "Email address already taken" error when you try to create a Phabricator account via "Login or Register - MediaWiki" you probably already registered a Phabricator account connected to your Wikimedia Developer account. You will have to log into Phabricator via your Developer account. Use wikitech:Special:PasswordReset if you have forgotten your Developer account password.
 * If you need to change your Phabricator user name for some reason, please add a note on Talk:Phabricator/Help.

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

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

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


 * 如果您对某个单独的对象（例如一个Task、mockup等）感兴趣，点击 即可订阅该对象的通知. 发表评论会自动为您订阅该对象.
 * 如果您对一个Project（项目）内的所有活动感兴趣，您可以点击该项目概要页面上的 按钮. 在Projects用户指引中有更多相关信息.

See Phabricator/Help/Managing mail for reducing the amount of mail notifications and about filtering mail notifications.

Troubleshooting
If you receive unexpected mail notifications for a task:


 * You might be subscribed to the task.
 * You might be a member of a project or of a subproject associated to that task. A list of all projects that you are a member of is available.
 * You might watch a project associated to that task. A list of all projects that you watch is available.
 * In your email preferences under "Maniphest Tasks", you might have enabled "One of a task's subtasks changes status".
 * You might have a personal Herald rule set up. Check the "X-Herald-Rules" message header field to see a list of all applied Herald rules.

为通知-{zh-hans:创建;zh-hant:建立}-Herald（传令）规则
关注此链接了解如何在Wikimedia Phabricator's Herald中创建自定义（个人）通知规则. 这是一个更高级的选项，可能很难使用.

-{zh-hans:创建;zh-hant:建立}-一个任务
创建任务有多种方法，具体取决于您要携带的信息： 填写表单，留下您不确定的字段.
 * 新任务：单击顶部导航栏右侧的星形按钮. 从下拉菜单中选择创建人物. 你会得到一张空白表单.
 * 安全问题：单击顶部导航栏右侧的星形按钮. 从下拉菜单中，选择报告安全问题.  您将得到一个预先标记为安全的表单，并带有一个链接来提交Bug的特殊说明.
 * 现有任务的子任务：单击当前任务右栏中的编辑相关任务…→创建子任务. 将设置两个任务之间的依赖关系，并且默认情况下将承载父任务的某些值（分配给、订户、优先和项目）. 子任务将列在任务图下的父任务中，按最近更新的顺序排序.

格式化
Phabricator支持文本区域中的一些格式. [https://secure.phabricator.com/book/phabricator/article/remarkup/ 在Phabricator中查看有关格式化的帮助. ]

选择-{zh-hans:项目;zh-hant:專案}-
为了将任务与使用Phabricator的项目（标签）相关联，您只需要在“标签”字段中输入其名称，然后从匹配项目列表中选择项目（该列表仅显示五个匹配项目）项目）. 您可以通过单击标签字段中的放大镜图标来搜索项目并阅读简短的项目描述. 您可以将一个或多个项目添加到标签字段中. 如果您不确定，也可以将其留空，分类员将处理没有项目设置的任务. 有一个（长）项目列表可用按 以搜索项目（此列表也可在Phabricator/Projects中找到）.

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

使用电子邮件
您还可以通过向[mailto:task@phabricator.wikimedia.org task@phabricator.wikimedia.org]发送电子邮件来创建任务. 主题将用作任务标题，主体将按原样直接使用，附件将包含在任务中. 要设置项目，请在正文的开头添加相应的命令“!projects”及其主题标签，例如. [https://secure.phabricator.com/applications/mailcommands/PhabricatorManiphestApplication/task/ 可以通过电子邮件设置任务受让人，优先级或状态的其他命令. ]

''注意：如果您的电子邮件签名没有按照事实上的标准（包括“ - ”与正文分开）进行格式化，那么它也会被发布. 我们鼓励您在第一次尝试时从签名中删除私人信息，以确保这一点. ''

在任务创建URL中传递某些值
“报告Phabricator中的错误”链接可以通过附加到通用任务创建链接的URL参数传递大量值.

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

回复评论和标记
要回复，您还需要一个帐户，这基本上就是您的维基媒体用户名.

编写评论和描述
Phabricator允许您使用文本格式和插入图像或其他文件发布和编辑注释和描述；见[|上传文件附件]. 您可以使用输入文本区域顶部的工具栏，您可以使用Phabricator的Remarkup.

在页面的末尾，您有一个实时预览，以检查您的文本是否看起来像您期望的那样. 标记的流行使用包括：
 * 在 中提及用户将创建指向其个人资料的链接，并将订阅他们的任务.
 * 在 中添加任务编号将创建包含悬停卡的任务链接. 在文本中插入任务的标题.
 * 在 中添加项目名称将创建指向项目主页面的链接.
 * 如果您想引用文字，您只需在开头添加 . 如果您想回复包含它作为报价的评论，请单击要回复的评论右端的下拉箭头.
 * 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.

上传-{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.

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. If Task A is not solved until Task B is solved, then Task A is the parent task, and Task B is the subtask. Such relations can be set via "Edit Related Tasks...". Parent tasks and subtasks are displayed under "Task Graph" in the task. This feature can be used to accomplish a few different things:

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.

优先次序
See Phabricator/Project management

Assignment
See Phabricator/Project management

追踪任务
The term "tracking task" 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, projects are favored over 'tracking tasks' with dependencies.

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.

Search context (global vs advanced)


Phabricator consists of several applications (task management in "Maniphest" being one of them, or Diffusion for code browsing).



There are 2 different search forms:


 * The global search at https://phabricator.wikimedia.org/search/query/advanced/. This one is fairly simple. It is in the upper right corner. By default, it searches across all applications and hence 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.
 * Advanced, application specific search, for example at https://phabricator.wikimedia.org/maniphest/query/advanced/ for Maniphest. 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). There is also an advanced search for most other applications (e.g. file/query/advanced for Files). To only search for tasks / bug reports, use the Maniphest advanced search.

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

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

Some locally-valid properties for the "Query" field:
 * 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.

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.

Alternatives ways to find something
If you don't remember the exact words used in an item you are looking for you can follow one of these paths:
 * use the activity feed and edit the query to be restricted to certain projects or timeframes
 * use the activity feed to list all actions that you performed in a certain timeframe at feed/query/EW2FwdAi.Kfz/
 * 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.

Selecting Dates and Date Ranges
This is only available in the Advanced Search.

Using the Date fields like "Created After" and "Created Before" allow entering absolute and relative dates. Note that Maniphest uses UTC.

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

Examples of how Maniphest interprets searches:
 * "02/25/2015" is interpreted as "00:01 on February 25th, 2015" (UTC)
 * "5 days ago" is interpreted as "00:01 on the fourth calendar day before today" (UTC)
 * "2:45 AM 5 days ago" is interpreted as "02:45 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 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.

Maniphest offers links to some predefined search queries in the navigation bar on the left. For example, click authored to get a list of tasks that you have created.

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.

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

When looking at the navigation bar on the left 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.

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.

Finding the Maniphest task corresponding to a Bugzilla bug number
This is only available in the Advanced Search.

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.

使用控制面板
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.

收藏夹
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
Access to a specific task can be changed via "Edit Task" and then changing the "Visible To" field to something else than "Public".

Note that tasks filed as Security issues are not publicly visible. See Reporting security bugs for more information. 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任务.

Chat rooms (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 established communication channels such as IRC. 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).

统计
Phabricator offers tables showing the open tasks by priority and by either user or project (not available due to T125357). 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.

Code browsing (Diffusion)


Diffusion is the Phabricator repository browser. Another option is using gitiles at https://gerrit.wikimedia.org/r/plugins/gitiles/?format=HTML for repository read-only mirroring. Right now, we're mirroring some of our Git repositories to Phabricator for demonstration purposes.

To request and set up a new code repository, see Gerrit/New repositories/Requests.

Default fields (Forms)


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

API (Conduit)
Conduit is the name of the web API. https://phabricator.wikimedia.org/conduit/ offers some explanation and examples. See the Conduit upstream documentation. Also see Phabricator/Bots.

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

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