-
Notifications
You must be signed in to change notification settings - Fork 47
Extension
Since Phabulous 3.0, it is possible to have additional integrations between Slack and Phabricator. This is done through a combination of a Phabricator extension, which provides additional Conduit API methods, and a Phabulous module called extension
which makes use of these API methods. This allows Phabulous to:
- Mention users by the Slack username when the
summon
command is used. - Lookup a Slack username by their Phabricator username.
- Lookup a Phabricator username by their Slack username.
NOTE: The extension is somewhat experimental. Use at your own risk.
- A Phabricator version with the Slack authentication provider (2016 Week 38 or newer).
- The
phabricator-phabulous
extension: https://phabricator.chromabits.com/diffusion/PHPH/ - Phabulous 3.0 or newer, which the
extension
module enabled.
Step 1: Upgrade: Begin by upgrading your Phabricator instance if it is older than 2016 Week 38.
Step 2: Install the extension
- SSH or login into your Phabricator server and navigate to the directory where your Phabricator install is located.
For example, if our installed was in a directory called websites
, we want to cd websites
, not cd websites/phabricator
:
.
└── websites
└── phabricator
- Clone the extension into this directory:
git clone https://phabricator.chromabits.com/diffusion/PHPH/phabricator-phabulous.git
:
.
└── websites
├── phabricator
└── phabricator-phabulous
- Edit your
phabricator/conf/local/local.json
and add the Phabulous library:
{
//... Other settings
"load-libraries": {
"phabulous": "/path/to/websites/phabricator-phabulous/src"
}
}
Step 4: Load the extension
module in Phabulous by adding a - extension
entry to the server.modules
key in config/main.yaml
:
server:
modules:
- core
- extension
Step 5: Add a Slack authentication provider, so your user can link their Phabricator and Slack accounts: https://phabricator.website.cool/auth/.
NOTE: Users should login with the same Slack organization the bot is running on. e.g. If the user links an account from
examplea.slack.com
, and the bot is running onexampleb.slack.com
, it won't be able to find the account.
- Go to your instance's Conduit page: https://phabricator.website.cool/conduit/
- Verify that the following methods are available:
phabulous.fromslack
phabulous.toslack