[OpenStack-Infra] Tracking repo/branches in Maniphest tasks, episode 2

Thierry Carrez thierry at openstack.org
Fri Jul 3 14:33:51 UTC 2015


Previously in Phabriland:
In episode 1, our hero realized that the Phabricator custom field
framework could not be leveraged to display repository and branch in
task lists and subtask lists, and was stalled coming up with a
reasonable patch to implement it.

Spent some more time on this, and it's actually simpler than I thought
to patch Phabricator to support this. It may even be a reasonable patch
to carry. See attached.

The remaining issue is that the "repository" field is likely to contain
hundreds of potential values, and the built-in "select" custom fields do
not display them in a very convenient manner (infinite dropdown in edit
views, hundreds of checkboxes in search views). Also manually listing
all potential values in custom field configuration is impractical. For
all those reasons, implementation would have to go through a proper
CustomField class, which is likely to take a bit more time, but still be
possible.

So at this point the question is more... can we represent target
repositories and branches using Phabricator "projects", or should we
rely on custom fields ? Wikimedia restricts creation of "projects" to a
trusted set of users to keep the taxonomy there under strict rules[1].
So that might render them usable, at the price of extra bureaucracy to
create them. I still need to wrap my head around what this would look
like for the 3 typical cases: a simple backport request, an
issue/feature affecting multiple projects, and a security bug (which
basically combines both).

Random additional note: in Phabricator, you file a bug at the top level,
and there is an explicit triage phase to get it on the right team work
pile. The bug filing is not "per project" (like in Launchpad). It is
possible to add a project when you file a bug but it's totally optional.
This creates a problem in OpenStack where there is no default
cross-project "triaging" team. And I'm pretty sure we would have a hard
time to find volunteers for this one. Not sure how to solve this one.

While I was looking into Wikimedia: for security, our friends there
implemented something pretty close to what we need, as an extension:
https://git.wikimedia.org/tree/phabricator%2Fextensions%2Fsecurity.git

Next up on my list, looking into the CLI and API.

[1]
https://www.mediawiki.org/wiki/Phabricator/Creating_and_renaming_projects#Type_of_project

-- 
Thierry Carrez (ttx)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: repoprefix.patch
Type: text/x-patch
Size: 2565 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-infra/attachments/20150703/05fde376/attachment.bin>


More information about the OpenStack-Infra mailing list