Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • G gitlabhq1
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 21
    • Issues 21
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 12
    • Merge requests 12
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • gpt
  • large_projects
  • gitlabhq1
  • Merge requests
  • !3709

Closed
Created Apr 24, 2013 by Administrator@rootOwner
  • Report abuse
Report abuse

Integration of github-services WIP

  • Overview 6
  • Commits 1
  • Changes 14

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

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: github/fork/IMnet/github-services