Service for managing comments on GitHub
Go to file
Jakub Sokołowski 865d30dbb7
remove hash from template for build ids
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-13 22:30:57 +01:00
src remove hash from template for build ids 2018-12-13 22:30:57 +01:00
.babelrc add initial package.json .gitignire and .babelrc 2018-12-12 15:57:17 +01:00
.gitignore add initial package.json .gitignire and .babelrc 2018-12-12 15:57:17 +01:00
Dockerfile add more env variables 2018-12-13 10:13:14 +01:00
README.md add valid commit to example 2018-12-13 15:01:26 +01:00
gulpfile.js add basic app sources and gulpfile.js 2018-12-12 16:22:15 +01:00
package.json improve error handling with koa-json-error 2018-12-13 10:36:43 +01:00

README.md

Description

This is a minimal REST API intended for use with a Continuous Integration system for managing comments on GitHub.

The problem this solves is posting comments in a PR from multiple builds without spamming the comment section. Instead we post just one comment with a table and continue to update it.

Example Comment


Jenkins Builds

Commit #️⃣ Finished Duration Platform Result
a088572b #3 12:12:55 AM ~12 min android 📄 build log
a088572b #3 12:13:18 AM ~12 min android 📄 build log
✔️ a088572b #3 12:13:53 AM ~12 min ios 📦 package
✔️ a088572b #3 12:13:34 AM ~12 min ios 📦 package
✔️ a088572b #3 12:14:44 AM ~12 min ios 📦 package

API

It exposes just 1 call:

  • POST /builds/:id - Post a comment for PR with given ID.
  • POST /builds/:id/refresh - Update the comment for PR with given ID.
  • POST /comments - Show currently managed comments in PRs.

By default it listens on localhost:8080.

Configuration

There are few environment variables you can set:

  • LISTEN_PORT - Default: 8000

Usage

For development use:

npm run start

For building use:

npm run build

To create the docker image use:

npm run image

To push the image use:

npm run push