Phabricator: Difference between revisions

From Bitpost wiki
No edit summary
No edit summary
Line 26: Line 26:
! Maintenance
! Maintenance
|-
|-
| # Stop phabricator (I usually ignore this step)  
|  
# Update code
* Stop phabricator (I usually ignore this step)  
* Update code
  m@bitpost cd development/phabricator/libphutil && git pull
  m@bitpost cd development/phabricator/libphutil && git pull
  m@bitpost cd ../arcanist && git pull
  m@bitpost cd ../arcanist && git pull
  m@bitpost cd ../phabricator && git pull
  m@bitpost cd ../phabricator && git pull
# Upgrade the mysql schema
* Upgrade the mysql schema
  m@bitpost cd development/phabricator/phabricator
  m@bitpost cd development/phabricator/phabricator
  bin/storage upgrade
  bin/storage upgrade
# Restart phabricator
* Restart phabricator
  # restart apache
  # restart apache
  m@bitpost cd development/phabricator/phabricator
  m@bitpost cd development/phabricator/phabricator

Revision as of 15:31, 26 March 2016

WORKFLOW
Workflow columns Backlog => In Progress => Fixed
Create a task Click dropdown on Backlog, select Create Task.
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).
Tips
Natural and By-priority sorting BOTH maintain their specific orders. Fucking weird.

If you are viewing a board by priority, and drag, the dropped task will have its priority automatically adjusted to fit in drag zone. Fucking weird.

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

Maintenance
  • Stop phabricator (I usually ignore this step)
  • Update code
m@bitpost cd development/phabricator/libphutil && git pull
m@bitpost cd ../arcanist && git pull
m@bitpost cd ../phabricator && git pull
  • Upgrade the mysql schema
m@bitpost cd development/phabricator/phabricator
bin/storage upgrade
  • Restart phabricator
# restart apache
m@bitpost cd development/phabricator/phabricator
bin/phd start
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/