Phabricator

From Bitpost wiki
Revision as of 14:12, 26 March 2016 by M (talk | contribs)
Install
Installing Phabricator is as simple as any other LAMP installation. We grabbed the three primary git repos, here:
m@bitpost cd development/phabricator
git clone https://github.com/phacility/libphutil.git
git clone https://github.com/phacility/arcanist.git
git clone https://github.com/phacility/phabricator.git

Then set up an alias and directory in apache. Then a mysql user + db. Browse to the url to finish. Easy peasy.

API
The Phabricator API can be used to extract a query of tasks. You need to get a (permanent) auth certificate from arcanist:
m@bitpost cd development/phabricator/arcanist
bin/arc set-config default https://thedigitalage.org/
emacs .arcconfig # and set phabricator.uri to the same
bin/arc install-certificate

That will tell you to browse here. You'll get an "API Token" once you log in, eg cli-5sdfksomkhgvasdlfkwfelk or whatever (NOT that one).

Paste API Token from that page: cli-5fxsvztkshgvtc7ssdf
Writing ~/.arcrc...
SUCCESS!  API Token installed.

It then creates ~/.arcrc with the token, which is used by subsequent arc calls, like this:

Now you can use that in the API calls to authenticate, like this:

curl https://tdigitalage.org/api/maniphest.query -d api.token=cli-5fxsvztksdfsomkhgvczjtcdts 

Pretty easy to use once you have the initial bullshit done. It certainly isn't secure though.

bitpost.com uses the API to get a list of tasks. Generally, it's a really really bad setup though, as anyone can sniff out that auth token. Use ssl, for sure: https://bitpost.com. Maybe I should actually disable non-SSL bitpost.com... Actually the only viable solution is to do it server-side. Geesh. See bitpost.com/ci.php code for details.

View active tokens here:

https://thedigitalage.org/settings/panel/apitokens/

MY WORKFLOW

I use these workboard columns: Backlog (Default), In Progress, Fixed

START A TASK: drag it from Backlog to In Progress, and change Priority to High (so that the CI dashboard shows the task).

FINISH A TASK: drag it from In Progress to Done, and change Status to Resolved (so that the CI dashboard doesn't show the task).

Wikipedia is done with Phabricator and is a great resource, for example their project management guidelines.