Phabricator/Project management/Tracking tasks


A "tracking task", as it existed in now-defunct Bugzilla, was an umbrella task which specified no work itself and had no defined endpoint, but which blocked on other tasks; for example, "Fix the docs". These tasks tended to exist forever, and really represented a category of work, rather than a chunk of work.

Creating new tracking tasks (tasks that "automatically" get resolved when all their dependency tasks are resolved) in Phabricator is discouraged. It is recommended to create a project instead.

Existing tracking tasks (see phab:T4007 and the tracking project) can be converted to projects or remain regular tasks with dependency/blocker tasks. If you would like to convert a tracking task into a project, follow the regular process to request a new project and announce the conversion proposal in the tracking task.

Sub-tasks and blockers of "real" tasks (a task that describes an actual problem to fix and does not get resolved by just fixing all its dependency/blocker tasks) are of course fine. Umbrella tasks that represent a specific time period of work, such as a monthly goal, are acceptable when a sprint project won't work. And "Epic" stories, which represent a large but reasonably specific chunk of work, and which will be considered done when all the sub-tasks are resolved, are also acceptable.

Technical steps to perform a conversion[edit]

These are steps for performing the actual conversion, not for the proposal to convert:

  • If the request to convert a tracking task into a project has been made in a dedicated task, make sure that in the existing tracking task a comment has been added to create awareness and consensus: "Note that this tracking task will soon be converted into a Phabricator project, as proposed in {TXXXXX}." Wait a few days before going ahead with the following steps for the actual conversion.
  • Have batch-editing permissions
  • Create the requested new project
  • Go to the tracking task
  • Select Search… > Search Subtasks
  • Increase "Page Size" value of that search if needed (default is 100)
  • Select all tasks
  • Batch-edit the tasks and add the new project
  • If you run into a timeout, repeat.
  • Add subscribers of tracking task as project members to the new project.
  • Edit the tracking task:
    • Remove all subtasks
    • Change the status to Invalid
    • Change the priority to Low
    • Add the new project to the tracking task
    • Remove the task assignee if there is any
    • Change the task title to "[DO NOT USE] <original task name> [superseded by #<project_name>]"
    • Update its summary to "This tracking task has been superseded by the project #XXXXXXXXX as requested in {Txxxxx / above}. Please use / watch ( the project #XXXXXXXXX instead of this task."
    • Also add the new summary as a comment on the task (as mail notification settings differ)
    • Move the task to "Transition completed" column on #Tracking project workboard