{"id":22963216,"url":"https://github.com/ifokeev/github-codequality-service","last_synced_at":"2026-04-16T17:37:19.590Z","repository":{"id":79666441,"uuid":"87805497","full_name":"ifokeev/github-codequality-service","owner":"ifokeev","description":"Micro server that watches Github pull requests and comments on code violations","archived":false,"fork":false,"pushed_at":"2017-04-10T12:48:09.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-07T18:32:50.864Z","etag":null,"topics":["heroku","nodejs","pronto","rubocop","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ifokeev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-10T11:58:16.000Z","updated_at":"2020-02-14T22:31:59.000Z","dependencies_parsed_at":"2023-05-14T10:30:22.958Z","dependency_job_id":null,"html_url":"https://github.com/ifokeev/github-codequality-service","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifokeev%2Fgithub-codequality-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifokeev%2Fgithub-codequality-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifokeev%2Fgithub-codequality-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifokeev%2Fgithub-codequality-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ifokeev","download_url":"https://codeload.github.com/ifokeev/github-codequality-service/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246752604,"owners_count":20827987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["heroku","nodejs","pronto","rubocop","ruby"],"created_at":"2024-12-14T19:33:12.440Z","updated_at":"2025-10-05T13:22:43.745Z","avatar_url":"https://github.com/ifokeev.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Micro server that watches Github pull requests and comments on code violations.\n\nBased on [Watchdog](https://github.com/GratifyCommerce/watchdog)\n\n- Free alternative to [Hound](https://houndci.com): deploy it on a free Heroku dyno.\n- No need to configure a CI server: useful if your CI server has limitations, or if you want to introduce automated code checks in a team with minimal effort.\n- Based on [Pronto](https://github.com/mmozuras/pronto) and [Sinatra](http://www.sinatrarb.com).\n\n## Deploying to Heroku\n\n0. Choose a Github user (or create a [dedicated one](https://github.com/vicidog)) that will be linked to watchdog when commenting pull requests. Make sure the user has access to any private repository you want to analyze.\n\n0. [Create a Github access token](https://github.com/settings/tokens) for this user and make sure the `read:repo_hook` scope is ticked. Note that token down for later.\n\n0. Install the [Heroku Toolbelt](https://toolbelt.heroku.com) CLI. If on OSX:\n\n```\nbrew install heroku-toolbelt\n```\n\n0. Login to Heroku if it is not already the case:\n\n```\nheroku login\n```\n\n0. Go to the watchdog directory and deploy:\n\n```\nheroku create your_app_name\n\nheroku config:set GITHUB_USERNAME=your_github_username \\\n                  GITHUB_PASSWORD=your_github_password \\\n                  GITHUB_ACCESS_TOKEN=your_github_access_token\n\n# The commands below may take a while to execute\nheroku buildpacks:add https://github.com/heroku/heroku-buildpack-apt\nheroku buildpacks:add heroku/nodejs\nheroku buildpacks:add heroku/ruby\n\ngit push heroku master\n```\n\n0. https://your_app_name.herokuapp.com should display \"{success: true}\".\n\n0. Go to the Github project(s) you want to analyze, add the https://your_app_name.herokuapp.com/pull_request_events webhook, and make it trigger only for Pull Request events.\n\n    You can also do this organization-wide for all your projects by going to https://github.com/organizations/your_organization/settings/hooks.\n\n0. Profit.\n\n## Contributing\n\nTo run the server on your local machine, you will need to install [Ruby](https://www.ruby-lang.org) with the version indicated in [this file](https://raw.githubusercontent.com/VicinityCommerce/watchdog/master/.ruby-version) and install bundler.\n\nThen:\n\n0. Install CMake. If on OS X:\n\n```\nbrew install cmake\n```\n\n0. Install dependencies:\n\n```\nbundle\n```\n\n0. Copy `.env.example` to `.env` and fill in the variables with real values.\n\n0. Run the server:\n\n```\nbundle exec rackup\n```\n\n0. [http://localhost:9292](http://localhost:9292) should display \"{success: true}\".\n\n0. If you want to test the `POST` [http://localhost:9292/pull_request_events](http://localhost:9292/pull_request_events) webhook with real Github data, you will need to use a tool like [ngrok](https://ngrok.com) to make your server publicly reachable. For ngrok, the command would be `ngrok http 9292`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifokeev%2Fgithub-codequality-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fifokeev%2Fgithub-codequality-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifokeev%2Fgithub-codequality-service/lists"}