gitreports.com
Git Reports is a free service that lets you set up a stable URL for anonymous users to submit bugs and other Issues to your GitHub repositories. It works with public and private repositories and personal and organization repositories. It also provides some custom settings like Issue labels and messages to display to users submitting bugs.
Development
Git Reports is built on Ruby on Rails and uses yarn for frontend assets.
Setup
- Clone the repository (
git clone [email protected]:schneidmaster/gitreports.com.git
) - Install gems:
bundle install
- Install packages:
yarn install
- Start the Rails and webpack servers:
foreman start -f Procfile.dev
Self-hosting
You're welcome to clone and self-host the application if you're so inclined. Follow these steps:
- Git Reports uses Sidekiq for background jobs. To enable processing of jobs on your local machine, you just need to have Redis installed and running. (If you installed Redis with Homebrew, execute
brew info redis
to retrieve the necessary command and then execute that command.) Then just runbundle exec sidekiq
(use the-d
flag to daemonize it). - Clone the application,
bundle
, andrake db:migrate
. - Register your instance of the application with GitHub here; this will give you an application client ID and client secret.
- Git Reports uses dotenv for configuration. Create a file in the application root directory named ".env" and add the following lines to it (filling in the values you got from the last step):
GITHUB_CLIENT_ID=youridhere
GITHUB_CLIENT_SECRET=yoursecrethere
GITHUB_CALLBACK_URL=http://yourdomain.com/github_callback
If you're developing locally with WEBrick or similar, your domain in the callback URL should include the port, i.e.
GITHUB_CALLBACK_URL=http://localhost:3000/github_callback
Since GitHub only accepts one callback URL for registered applications, I found it useful to register a development instance and a production instance, and use separate .env files in development and production with the appropriate client id, client secret, and callback URL in each.
If you want to track the application with Google Analytics, create the property and add the tracking code to the .env file as follows:
GOOGLE_ANALYTICS_CODE=UA-########-#
Translations
The public-facing portions of the Git Reports UI support i18n translations. Presently, English, French and Polish are supported; the active locale is selected using the Accept-Location HTTP header. If you would like to contribute a translation, make a copy of config/locales/en.yml
using the desired locale code (check the full list here), translate the text, and submit a pull request.
Staging/Production Configuration
On Heroku, Git Reports requires both the node buildpack (for webpack/asset compilation) and the ruby buildpack. Add them with:
heroku buildpacks:clear
heroku buildpacks:set heroku/nodejs
heroku buildpacks:add heroku/ruby --index 2
Contributing
- Fork it (https://github.com/schneidmaster/gitreports.com/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request