Skip to main content

Manage Phabricator tasks from the comfort of your terminal

Project description

phable

Manage Phabricator tasks from the comfort of your terminal.

phable is a CLI allowing you to manage your Phorge/Phabricator tasks.

It tries to be very simple and not go overboard with features. You can:

  • create a new task
  • display a task details
  • move a task to a column on its current board
  • assign a task to a user
  • add a comment to a task

Installation

$ pip install phable-cli

Usage

$ phable --help
Usage: phable [OPTIONS] COMMAND [ARGS]...

  Manage Phabricator tasks from the comfort of your terminal

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  assign     Assign one or multiple task ids to a username
  comment    Add a comment to a task
  create     Create a new task
  move       Move one or several task on their current project board
  show       Show task details
  subscribe  Subscribe to one or multiple task ids

Setup

For phable to work, you need to define the follwoing configuration, by running $EDITOR $(phable config show):

[phabricator]
url = # URL to your phabricator instance. Ex: `url = https://phabricator.wikimedia.org`
token = # API token. Generate a token from ${PHABRICATOR_URL}/settings/user/${YOUR_USERNAME}/page/apitokens/
default_project_phid = # id for the Phabricator project to be used by default when creating tasks.

To get default_project_phid, define the first 2 configurations, and run the following command, where T123456 is a task id belonging to your project.

$ phable show T123456 --format=json | jq -r '.attachments.projects.projectPHIDs[]'

Note: you can also expose these confriguration through the following environment variables, for backwards compatibility:

  • PHABRICATOR_URL
  • PHABRICATOR_TOKEN
  • PHABRICATOR_DEFAULT_PROJECT_PHID

Tips and tricks

Setting up aliases

You can define command aliases. For example, instead of typing phable move --column 'Done' --milestone T123456, you might want to type phable done T123456. To do this, open the phable configuration file, with $EDITOR $(phable config show) and define an alias:

[aliases]
done = move --column 'Done' --milestone

I personally currently have the following aliases:

$ phable config aliases list
done = move --column 'Done' --milestone
review = move --column 'Needs Review' --milestone
wip = move --column 'In Progress' --milestone

Phabricator task IDs as clickable links in iTerm2

If you're using iTerm2, you can turn the task IDs into clickable links, by going to iTerm2 > Settings > Profiles > Advanced > Smart Selection > Edit > [+]:

Then click on the new rule Notes field, and set it to Phabricator, and set the Regular expression field to T\d{6} (adjust the number of digits to what a task ID looks like in your instance. The latest created task has ID 385678 right now, so \d{6} gives us some leeway).

One that is done, holding Command when hovering on a task ID should turn it into a link.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phable_cli-0.1.9.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

phable_cli-0.1.9-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file phable_cli-0.1.9.tar.gz.

File metadata

  • Download URL: phable_cli-0.1.9.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.3 Darwin/24.3.0

File hashes

Hashes for phable_cli-0.1.9.tar.gz
Algorithm Hash digest
SHA256 078be500b2a190e6a6bf81dd47272ab1d210494caf3d01577015126db15e59c4
MD5 8e5a00e65eb47c910ccdaeec80a45cb4
BLAKE2b-256 bea5490f42c9bce78878b29ed7642f604a6a5284f0376584278a23ab27c6b220

See more details on using hashes here.

File details

Details for the file phable_cli-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: phable_cli-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.3 Darwin/24.3.0

File hashes

Hashes for phable_cli-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 f58ca6054b4ce95fab9ad898746f38d70c1bf92de260b38564157ac934226fd6
MD5 424484610d4dc108244d75d337827d09
BLAKE2b-256 5eaff140c1b15e4dc5c1c7b7d74adff7317e184237f10449e1256ee44fe8b6bd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page