Service for managing comments on GitHub
Go to file
Jakub Sokołowski f0d8eaa5f6
ignore yarn.lock
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-13 23:16:17 +01:00
src remove hash from template for build ids 2018-12-13 22:30:57 +01:00
.babelrc
.gitignore ignore yarn.lock 2018-12-13 23:16:17 +01:00
Dockerfile use alpine version of node image 2018-12-13 22:45:27 +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 remove unused package 2018-12-13 22:54:23 +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