Page MenuHomePhabricator

Keep Dreaming Project | Integration Pipe Dream
Open, WishlistPublic

Description

It would be most cool to integrate all these services in some way. Phabricator, DocDokuPLM InvenTree, and Matrix/Discord all have APIs, I imagine BookStack will have one eventually.

I think it would be mostly useful to pull stuff into Phabricator then push out notifications from there to Discord/Matrix. It helps that Phabricator supports extensions.

SSO would also be a nice feature to have, having three separate logins is kind of annoying.

Event Timeline

zeigren lowered the priority of this task from Needs Triage to Wishlist.Nov 28 2019, 12:26 PM
zeigren created this task.

Using Drone and various Drone plugins would probably be the best way to do this.

I'm looking at Keycloak for SSO

With T58 up and running I have a better idea on how to connect everything together, although T58 works it might not be the best solution in the long term.

Everything T58 does could be done as a Phabricator extension instead, or potentially up-streamed as a feature. All it does is parse a webhook from Phabricator, queries Phabricator via the Conduit API for more information, and then bundles up that information to pass off to a Discord webhook.

As an extension it wouldn't exactly need to query the Conduit API as the same "decoded" information for the webhook is in the Herald transcript, so that part is already being done. All the extension would need to do is allow customizing the webhook json payload. Much like how Harbormaster allows variables to be used for various PHIDs in the build process.

That same extension would likely be helpful for T68.

Alternatively T68 could be enabled by a bot much like T58. However in order to fully integrate Phabricator with Drone much of what T58 does would need to be recreated in Golang for Drone SCM. So it would make sense to have those share a similar code base.

T58 could also be remade into a Phabricator to Matrix bot and then the Matrix - Discord bridge would relay those messages to Discord. Since I want to get Matrix up and running anyway this would be great, with the benefit of being able to add bridges to many other services.

BookStack is introducing both an API and SAML support. So SSO for BookStack and Phabricator are a possibility, there's at least discussion of adding SSO support to InvenTree. I haven't looked at the BookStack API yet to see what we can do with it.