Page MenuHomePhabricator

Bridge GitHub to Phabricator
Open, NormalPublic

Assigned To
Authored By
epriestley
Mar 7 2016, 11:12 PM
Referenced Files
F1164892: Screen Shot 2016-03-09 at 5.29.33 AM.png
Mar 9 2016, 1:31 PM
F1164851: Screen Shot 2016-03-09 at 4.48.28 AM.png
Mar 9 2016, 12:51 PM
F1164848: Screen Shot 2016-03-09 at 4.46.30 AM.png
Mar 9 2016, 12:51 PM
Tokens
"Love" token, awarded by leoluk."Like" token, awarded by kaendfinger."Love" token, awarded by eduard44."Mountain of Wealth" token, awarded by Luke081515.2."Love" token, awarded by hach-que."The World Burns" token, awarded by johnny-bit."Like" token, awarded by joshuaspence."Grey Medal" token, awarded by nateguchi2."Baby Tequila" token, awarded by chad."Like" token, awarded by michaeljs1990."Love" token, awarded by tycho.tatitscheff."Pterodactyl" token, awarded by cburroughs.

Description

If we build a tremendously complicated, expensive, difficult-to-maintain bridge between Phabricator and GitHub, it is possible that we will reduce the activation energy required to move a project from GitHub to Phabricator enough to have a substantial impact on growth. Or maybe not.

Our current plan is to build a minimal version of this and see if it gets any traction.

Revisions and Commits

Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
epriestley added a revision: Restricted Differential Revision.Mar 8 2016, 4:29 PM
epriestley added a revision: Restricted Differential Revision.Mar 8 2016, 4:34 PM
epriestley added a revision: Restricted Differential Revision.Mar 8 2016, 6:27 PM
epriestley added a commit: Restricted Diffusion Commit.Mar 8 2016, 6:29 PM
epriestley added a commit: Restricted Diffusion Commit.Mar 8 2016, 6:33 PM
epriestley added a commit: Restricted Diffusion Commit.Mar 8 2016, 8:03 PM

Alright, so here's the first real issue. Here's what I did on GitHub:

Screen Shot 2016-03-09 at 4.46.30 AM.png (1×838 px, 150 KB)

I also edited a comment and subscribed/unsubscribed in this sequence.

Here's what the GitHub Events API gives me for that:

Screen Shot 2016-03-09 at 4.48.28 AM.png (311×1 px, 59 KB)

That is, I only get the major events (comment, close, reopen).

There's also a separate "Issue Events API", which I haven't looked at yet. So it's possible we can just poll both APIs, which is messy but not especially problematic. I'll see how bad Pull Request-related events look first.

epriestley added a revision: Restricted Differential Revision.Mar 9 2016, 12:59 PM

The "Issue Events API" appears to provide the remaining events in a different format with different rules. It does not provide any duplicate events, so, e.g., one API retrieves issues being created and commented on while a different API retrieves labels, milestones, etc., except that both report opens and closes, I think. Anyway, seems mostly workable.

Screen Shot 2016-03-09 at 5.29.33 AM.png (570×363 px, 62 KB)

epriestley added a revision: Restricted Differential Revision.Mar 9 2016, 1:39 PM
epriestley added a revision: Restricted Differential Revision.Mar 9 2016, 2:46 PM
epriestley added a revision: Restricted Differential Revision.Mar 9 2016, 3:35 PM
epriestley added a commit: Restricted Diffusion Commit.Mar 9 2016, 5:27 PM
epriestley added a commit: Restricted Diffusion Commit.
epriestley added a commit: Restricted Diffusion Commit.Mar 9 2016, 5:29 PM
epriestley added a commit: Restricted Diffusion Commit.
epriestley added a revision: Restricted Differential Revision.Mar 22 2016, 1:43 PM
epriestley added a commit: Restricted Diffusion Commit.Mar 22 2016, 10:07 PM
epriestley added a revision: Restricted Differential Revision.Mar 22 2016, 10:21 PM
epriestley added a commit: Restricted Diffusion Commit.Mar 22 2016, 10:22 PM
epriestley added a revision: Restricted Differential Revision.Mar 22 2016, 11:09 PM
epriestley added a commit: Restricted Diffusion Commit.Mar 24 2016, 12:18 PM
epriestley added a revision: Restricted Differential Revision.Mar 24 2016, 1:03 PM
epriestley added a revision: Restricted Differential Revision.Mar 24 2016, 1:28 PM
epriestley added a commit: Restricted Diffusion Commit.Mar 24 2016, 3:57 PM
epriestley added a revision: Restricted Differential Revision.Mar 28 2016, 6:44 PM
epriestley added a revision: Restricted Differential Revision.Mar 28 2016, 7:46 PM
epriestley added a commit: Restricted Diffusion Commit.Mar 28 2016, 7:47 PM
epriestley added a commit: Restricted Diffusion Commit.Mar 28 2016, 8:10 PM

Will this be a one way or two way bridge?

Where does this feature stand? I wasn't able to find any documentation on how to use this, but it also looks that a non-trivial amount of work has been completed towards this goal. Is this something still in the immediate roadmap? Being able to easily integrate GitHub issues into Phabricator (and back) is a big roadblock to adoption for us.

See Planning for help with timelines and status.

Hard to say since it fell off the roadmap a year ago, but we do have rough plans to ship Nuance (pre-requisite) in the shorter term.

epriestley edited projects, added Nuance; removed Nuance (v1).