Skip to content

Help & Troubleshooting

Andrew edited this page May 16, 2017 · 2 revisions

Environment

It is possible to override any variable in the configuration file through environment variables:

export SLACK_TOKEN=mytoken

is the same as setting:

slack:
  token: mytoken

See https://github.com/jacobstr/confer for more information.

Events are not showing up

Make sure that the feed.http-hooks setting on your Phabricator instance is setup correctly, and that the server can communicate with the Phabulous API. An easy way to test this is using curl from the server hosting Phabricator:

curl http://localhost:8085

The command above should return something like:

{
  "messages": ["Welcome to the Phabulous API"],
  "status": "success",
  "version": "1.0.0"
}

Self-signed certificates

If you are using self-signed certificates for your Phabricator instance, you can disable checking at your own risk by setting misc.ignore-ca to true on your configuration file.

OMG, the feed is flooding everything

The channels.feed setting tells Phabulous where to post about every single feed event from Phabricator. This might get too noisy if you have a constant stream of events. To disable the feed channel, just set it to an empty string:

channels:
  feed: ''

Routing events

Phabulous supports routing events concerning Revisions, Tasks and Commits to specific channels, such as Project's or Repo's channel:

channels:
  feed: '#phabricator'
  repositories:
    CALLSIGN: '#channel'
    OTHERCALLSIGN: '#otherchannel'
  projects:
    10: '#anotherchannel'

Specifying repository-channel mappings will cause Revision and Commit events for that repository to be sent to the provided channel. The same applies for project-channels mappings and Task events.

Project IDs can be found in the URL of a project.

Stuck daemon tasks

Every now and then, some FeedPublisherHTTPWorker tasks will fail to be processed by Phabulous. This is usually caused by lack of permissions for the bot. When a feed job fails to be processed, the bot returns a non-200 HTTP response, and Phabricator will attempt to retry the job until it succeeds.

To work around this, you can either cancel individual jobs:

bin/worker cancel --id <jobId>

or the whole class:

WARNING: This will cancel all feed jobs, not just the ones that are stuck.

bin/worker cancel --class FeedPublisherHTTPWorker