Phabricator (or custom) provider possible?


First of all, drone is really really nice. All the simplicity everywhere is a great escape from the nightmare that was Jenkins and their horrible UI.

I’m currently migrating the team away from an internal Gitea install to Phabricator, mainly to get pre-commit review (also another nice thing), issue tracker and wiki all in one place. And the last missing piece is the CI.

So I’m wondering if there is a way (even a hack-ish one) to add custom providers to Drone? Phabricator’s internal Harbormaster can send a simple HTTP request but as I understand, from checking other providers, we also need phabricator to act as an authentication mechanism as well right?

Some of the things I’ve looked at:

In order to integrate a provider with Drone it requires the following:

  1. oauth2 login driver added to drone/go-login
  2. support for cloning using git+https using oauth2 tokens
  3. support for webhooks
  4. a driver added to drone-scm with comprehensive unit tests. see the gogs driver for the minimum required endpoints that must be implemented

also see @tboerger started working on phabricator support but ended up abandoning the effort. there may be others subscribed to that pull request that might still be interested and willing to help.

Oh, thanks for the fast reply and the pointers! I’ll check them out!

any progress?:grinning:

1 Like

@chakrit: I’m in the same situation with phabrcator and drone.

How did you manage to apply phabricator diffs into the build within drone? - Did you find any solution? - I thought about creating a drone plugin containing the arcanist - But I’m not sure if the file changes apply only the plugin container…