Skip to content
Eduardo Trujillo edited this page Feb 20, 2017 · 6 revisions

2.4 to 3.0 (alpha)

NOTE: 3.0 is a work in progress. Use 2.4 in the meantime if you are looking for a stable release.

New commands

This release adds a few new commands. Check Command Reference for more information.

New settings

There are a bunch of new settings available on this release due to the addition of command modules and network connectors:

  • server.modules: A list of modules to enable. Modules provide different functionality and commands. This release includes three modules: core, extension, dev.
  • slack.enable: Tells the bot whether to enable or disable the Slack connector.
  • irc.enable: Tells the bot whether to enable or disable the IRC connector.
  • irc.nick: Username to use when connecting to an IRC network.
  • irc.hostname: Hostname of the IRC network.
  • irc.password: Password to use when connecting to the IRC network.
  • irc.port: Port to use when connecting to the IRC network.
  • irc.tls: Whether to use TLS or not when connecting to the IRC network.
  • core.summon.expandProjects: Whether the bot should query the members of a project assigned to review the revision and include them in the mention message, rather than mentioning the project name.
  • core.summon.includeSelf: Whether the bot should include the person requesting review in the list of username in the message.

Other changes

  • Switched to goxc for cross-platform builds.
  • To use the extension module, you will need to enable the following extension on your Phabricator install: https://phabricator.chromabits.com/diffusion/PHPH/. This provides the additional Conduit methods required to enable this functionality. See Extension for instructions on how to enable it.

2.3 to 2.4

New settings

  • server.hostname can be used for specifying on which interface the server should listen for connections.
  • slack.as-user can now be used to tell the bot to only use the Slack RTM API for posting messages. This has the benefit of keeping messages consistent (same user, avatar, etc), but the bot looses the ability of posting on channels it is not invited to.

Other changes

  • A FreeBSD build target is now part of the project's Makefile.
  • A new meme command has been added. Now you can create memes using Phabricator macros.
  • The bot should now properly identify whenever a lookup came back with empty or no results.

2.2 to 2.3

Upgrading to 2.3 does not require any additional actions.

2.1 to 2.2

Obtain an API token for Conduit:

Phabricator is deprecating certificate-based authentication in favor of stateless token authentication. Phabulous 2.2 gains support for token authentication, but it still preserves support for certificate authentication in case you are stuck with an old install.

  1. Go to https://such.phabricator.wow/settings/panel/apitokens/ (replace with your install's actual URL).
  2. Click generate token and copy it.
  3. Set the conduit.token key on the configuration file.
  4. Remove the conduit.user and conduit.cert keys. They are no longer needed when using tokens.

NOTE: It's usually a good idea to have a separate bot user for Phabulous. You can create one at: https://such.phabricator.wow/people/new/bot/ (Replace with your install's URL).

Create a Slack Bot user:

Phabulous 2.2 now supports interactive commands through Slack. This is possible by using Slacks RTM API. In order to use this API, Phabricator needs a bot user. This can be created on the Slack admin panel.

WARNING: While it is possible to keep the current user API token, this means that Phabulous will use your own account to send and listen for messages. This behavior is undefined and it might break randomly.

  1. Pick a username for your bot (usually phabulous).
  2. Go to https://replaceme.slack.com/services/new/bot and create the bot user.
  3. Set a profile picture.
  4. Replace the slack.username and slack.token keys on the configuration file with the bot's username and token.
  5. After starting the bot, invite the bot to channels where you want it to be active and listening for commands.