triage-party
triage-party copied to clipboard
Add support for GitLab
It would be great if the triage-party can also be used with other systems like gitlab, to get an overview of multiple repos and systems to get a better cross platform overview. I am aware, that this is not a small feature, but it would be an awesome improvement for bigger communities or companies, who need to use multiple services.
Would love to know your opinion about it. No hard feelings, if the request is just closed ;)
I don't personally use GitLab, but I would be open to open to accepting PR's that add GitLab support. I agree that it is likely to be a large endeavor to do so, and would require a motivated person to get through.
Triage Party does not make any complicated API calls to GitHub, but does lean heavily on interfaces provided by https://github.com/google/go-github (like *github.User, *github.Label). If there is a gitlab library that provides similar interfaces, it wouldn't be too difficult. If not, some adaptation would be required.
If someone is brave enough to take this on, I'm happy to help guide them. I would personally start by pulling the GitHub API calls code out of pkg/hubbub
, and move it to pkg/provider
:
- pkg/hubbub/issue.go
- pkg/hubbub/orgs.go
- pkg/hubbub/pull_request.go
.. and then replace instances of *github.User and *github.Label with a generalized struct (like provider.User
). At this point, you will be nearly out of the woods in abstracting it out, and can then add in a GitLab provider.
If someone wants to take this on... one idea is:
- Add GitLab support in the
pkg/hubbub
package. It already translates GitHub objects into it's own native structs. - https://github.com/xanzy/go-gitlab seems like a reasonable.
@tstromberg Hey! I think I am brave enough for this task. I have already started working on it. I think soon I will be ready to show you first draft PR.
@vavilen84 - Wow. That's amazing to hear. Good luck, I know this is not going to be a trivial addition.
@tstromberg Hey! My PR is ready for review https://github.com/google/triage-party/pull/193 - I mentioned my concerns in the last PR comment. If you have ideas of what I can fix/improve/change - please, tell me.