README.md

Errbit

The open source, self-hosted error catcher

Errbit is a tool for collecting and managing errors from other applications.
It is Airbrake (formerly known as Hoptoad) API compliant,
so if you are already using Airbrake, you can just point the airbrake gem to your Errbit server.

Seed the DB (NOTE: No bootstrap task is used on Heroku!) and
create index

heroku run rake db:seed
heroku run rake db:mongoid:create_indexes

If you are using a free database on Heroku, you may want to periodically clear resolved errors to free up space.

With the heroku-scheduler add-on (replacement for cron):

# Install the heroku scheduler add-on
heroku addons:add scheduler:standard
# Go open the dashboard to schedule the job. You should use# 'rake errbit:db:clear_resolved' as the task command, and schedule it# at whatever frequency you like (once/day should work great).
heroku addons:open scheduler

After you have registered your app, set github_client_id and github_secret
in config/config.yml with your app's Client ID and Secret key.

After you have followed these instructions, you will be able to Sign in with GitHub on the Login page.

You will also be able to link your GitHub profile to your user account on your Edit profile page.

If you have signed in with GitHub, or linked your GitHub profile, and the App has a GitHub repo configured,
then you will be able to create issues on GitHub.
You will still be able to create an issue on the App's configured issue tracker.

You can change the requested account permissions by setting github_access_scope to:

Upgrading

If we change the way that data is stored, this will run any migrations to bring your database up to date.

Upgrade from errbit 0.2 to 0.3

The file of MongoDB connection config/mongoid.yml change between 0.2 to
0.3. So Check the new config/mongoid.yml.example file and update it in
good way.

This change is not need to be done if you use only ENV variable to
define you access to MongoDB database.

User information in error reports

Errbit can now display information about the user who experienced an error.
This gives you the ability to ask the user for more information,
and let them know when you've fixed the bug.

If you would like to include information about the current user in your error reports,
you can replace the airbrake gem in your Gemfile with airbrake_user_attributes,
which wraps the airbrake gem and injects user information.
It will inject information about the current user into the error report
if your Rails app's controller responds to a #current_user method.
The user's attributes are filtered to remove authentication fields.

If user information is received with an error report,
it will be displayed under the User Details tab:

(This tab will be hidden if no user information is available.)

Adding javascript errors notifications

Errbit easily supports javascript errors notifications. You just need to add config.js_notifier = true to the errbit initializer in the rails app.

Notification Service

What if Errbit has an error?

Errbit will log it's own errors to an internal app named Self.Errbit.
The Self.Errbit app will be automatically created whenever the first error happens.

If your Errbit instance has logged an error, we would appreciate a bug report on GitHub Issues.
You can post this manually at https://github.com/errbit/errbit/issues,
or you can set up the GitHub Issues tracker for your Self.Errbit app:

Go to the Self.Errbit app's edit page. If that app does not exist yet, go to the apps page and click Add a new App to create it. (You can also create it by running rake airbrake:test.)

See the contributors graph for further details. You can see another list of Contributors by release version on [CONTRIBUTORS.md]

Contributing

We welcome any contributions. If you need to tweak Errbit for your organization's needs,
there are probably other users who will appreciate your work.
Please try to determine whether or not your feature should be global or optional,
and make optional features configurable via config/config.yml.

Examples of optional features:

Enable / disable user comments on errors.

Adding a username field to the User model.

How to contribute:

Fork the project.

Make your feature addition or bug fix.

Add tests for it. This is important so we don't break it in a future version unintentionally.

Commit, do not mess with Rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself we can ignore when we pull)