happo icon indicating copy to clipboard operation
happo copied to clipboard

Provide pluggable way to integrate with any CI or code review system

Open lencioni opened this issue 9 years ago • 2 comments

We want happo to be as easy to set up as possible. People use all different kinds of CI systems (e.g. Jenkins, Travis CI, CircleCI) and code review systems (e.g. Gerrit, GitHub, GitHub Enterprise, GitLab, BitBucket). I think it makes sense to enable plugins to be written to easily set up Happo to interface with any CI system or code review system.

I think this should be sequenced after we rewrite in JavaScript (#81). Plugins could be npm packages in the form of happo-plugin-travis-ci and happo-plugin-github.

cc: @kesne

lencioni avatar Sep 06 '16 17:09 lencioni

One idea that would get this going sooner without being blocked on transferring to a node project is to expose a few scripts that you can use.

happo travis-ci
happo jenkins-ci

etc.

trotzig avatar Sep 11 '16 04:09 trotzig

Just a thought: If we decide to implement this as npm modules, and allow users to plug them in using .importjs.js, we should make sure that plugins are explicitly imported and used/instantiated:

const HappoPluginTravisCI = require('happo-plugin-travis-ci');

module.exports = {
  plugins: [
    new HappoPluginTravisCI(),
  ]
};

I've seen others include plugins through string reference only (e.g. http://eslint.org/docs/developer-guide/working-with-plugins) and I find it too implicit.

trotzig avatar Nov 22 '16 13:11 trotzig