GH Commentify

by orta



A repo you can use to work-around GH issue comment request limits by hosting your own server that makes authenticated requests on your behalf. You can find out more in this blog post

It provides:

  • The same comment route as GH's API /repos/:owner/:repo/issues/:number/comments
  • Is locked to one org by default.
  • Handles cross-domain requests
  • Paginates under-the-hood for you, so you make one request
  • Embeds comment Reactions into the request for you

The JSON looks like this:

    "url": "",
    "html_url": "",
    "issue_url": "",
    "id": 315774939,

    "user": {
      "login": "grantjbutler",
      "id": 526054,
      "avatar_url": "",
      "gravatar_id": "",
      "url": "",
      "html_url": "",
      "followers_url": "",
      "following_url": "{/other_user}",
      "gists_url": "{/gist_id}",
      "starred_url": "{/owner}{/repo}",
      "subscriptions_url": "",
      "organizations_url": "",
      "repos_url": "",
      "events_url": "{/privacy}",
      "received_events_url": "",
      "type": "User",
      "site_admin": false
    "created_at": "2017-07-17T14:38:14Z",
    "updated_at": "2017-07-17T14:38:14Z",
    "author_association": "NONE",
    "body": "This is an interesting system you've built to handle comments. Do you foresee any problems with using Github Issues for comments while also using Github Issues for issue tracking? Or do you think just having the label \"Comment Thread\" and using Github's filtering is sufficient for separating the two and keeping things organized?\r\n\r\nAdditionally, were there any surprises that came up when implementing this system? For example, needing to support some kind of content of a comment (maybe an attached file?) and styling it correctly that didn't cross your mind when first implementing this.",

    "body_html": "<p>Having comments on GH issues also made it really easy to hook up to a slack channel - so that I can use my normal stream-based flow of issue management. <g-emoji class=\"g-emoji\" alias=\"tada\" fallback-src=\"\" ios-version=\"6.0\">🎉</g-emoji></p>\n<p><a href=\"\" target=\"_blank\"><img src=\"\" alt=\"screen shot 2017-07-17 at 12 16 37\" style=\"max-width:100%;\"></a></p>",

    "reactions": {
      "url": "",
      "total_count": 0,
      "+1": 0,
      "-1": 0,
      "laugh": 0,
      "hooray": 0,
      "confused": 0,
      "heart": 0
  { ... }


This is only a server, you're expected to write your own front-end.

If you're looking for an awesome all-in-one solution for using issues on static pages, check out


  1. Make a GitHub personal access token for the server to use. It only needs public_repo if you have an public repo for comment. Otherwise, use repo.

  2. Click: Deploy

After that, you are done, pretty simple.