Skip to content

Integration of github-services WIP

gitlab-qa-bot requested to merge github/fork/IMnet/github-services into master

Created by: dsander

This is not a finished feature, probably basic functions are not implemented yet. I created this pull request to check if you guys are OK with my approach of integrating the github-services gem.

My goal was to make as few changes as possible to the gem. This changes are the ones I had to make and which will probably never be merged to the original version as they are pretty specific to our needs.

List of changes I made and/or are proposing:

  • Removed the Service model and rely on the Service classes github-services provides
  • Created a ProjectService which stores the configuration for every Project <-> GitHub Service
  • Todo: change the payload to match GitHubs version as much as possible. For the current web hook the payload should of course stay the same.
  • Todo: create a github-service for GitLabCI, because GitHub requires that implemented services send the payload unmodified, so it would probably be good to change the receiving endpoint in GitLabCI or create a new one
  • Todo: migrate the old GitLabCI service settings to the new one
  • Todo: validate as many hooks as possible that they are working as expected and blacklist the broken ones
  • Todo: tests for the code, and make this actually usable 😉

What does work?

At the moment the services can just be used via the 'Test service' button. I tested the Campfire, Hipchat and IRC hooks and they worked kinda nicely 😄

Here is a small teaser: teaser

regards,

Dominik

Merge request reports