Commit 896b8e22b53446eca0a70049c0d1b027256081f3
1 parent
c0b84268
Exists in
master
and in
1 other branch
review docs and prep rc0.4
Showing
2 changed files
with
109 additions
and
223 deletions
Show diff stats
CHANGELOG.md
| 1 | -## 0.4.0 - Not released Yet | 1 | +## 0.4.0 |
| 2 | 2 | ||
| 3 | - #791 Fix double escaping of problem title in list view.(@felixbuenemann) | 3 | - #791 Fix double escaping of problem title in list view.(@felixbuenemann) |
| 4 | - #790 Fix favicon location.(@felixbuenemann) | 4 | - #790 Fix favicon location.(@felixbuenemann) |
| 5 | - #716 Fix inline comments styles.(@oelmekki) | 5 | - #716 Fix inline comments styles.(@oelmekki) |
| 6 | -- Update to rails 4.1.(@arthurnn) | 6 | +- #778 Update to rails 4.1.(@arthurnn) |
| 7 | - #682 Namespace fingerprint classes better.(@csaunders) | 7 | - #682 Namespace fingerprint classes better.(@csaunders) |
| 8 | - Drop ruby support for versions 1.9.x, and 2.0.x.(@arthurnn) | 8 | - Drop ruby support for versions 1.9.x, and 2.0.x.(@arthurnn) |
| 9 | -- #773 Only leave GitHub issue tracker on vanila errbit, as the others could be added just using the plugin.(@arthurnn) | 9 | +- #773 Only leave GitHub issue tracker on vanila errbit, as the others could be |
| 10 | + added just using the plugin.(@arthurnn) | ||
| 10 | - #768 Update to Mongoid 4.0 and rails to 4.0 (@arthurnn) | 11 | - #768 Update to Mongoid 4.0 and rails to 4.0 (@arthurnn) |
| 12 | +- #820 Environment-only configuration | ||
| 11 | 13 | ||
| 12 | ## 0.3.0 | 14 | ## 0.3.0 |
| 13 | 15 |
README.md
| @@ -9,15 +9,11 @@ | @@ -9,15 +9,11 @@ | ||
| 9 | [gemnasium-img-url]:https://gemnasium.com/errbit/errbit.png | 9 | [gemnasium-img-url]:https://gemnasium.com/errbit/errbit.png |
| 10 | [gemnasium-url]:https://gemnasium.com/errbit/errbit | 10 | [gemnasium-url]:https://gemnasium.com/errbit/errbit |
| 11 | 11 | ||
| 12 | - | ||
| 13 | - | ||
| 14 | ### The open source, self-hosted error catcher | 12 | ### The open source, self-hosted error catcher |
| 15 | 13 | ||
| 16 | - | ||
| 17 | Errbit is a tool for collecting and managing errors from other applications. | 14 | Errbit is a tool for collecting and managing errors from other applications. |
| 18 | -It is [Airbrake](http://airbrake.io) (formerly known as Hoptoad) API compliant, | ||
| 19 | -so if you are already using Airbrake, you can just point the `airbrake` gem to your Errbit server. | ||
| 20 | - | 15 | +It is [Airbrake](http://airbrake.io) API compliant, so if you are already using |
| 16 | +Airbrake, you can just point the `airbrake` gem to your Errbit server. | ||
| 21 | 17 | ||
| 22 | <table> | 18 | <table> |
| 23 | <tr> | 19 | <tr> |
| @@ -52,10 +48,10 @@ so if you are already using Airbrake, you can just point the `airbrake` gem to y | @@ -52,10 +48,10 @@ so if you are already using Airbrake, you can just point the `airbrake` gem to y | ||
| 52 | </tr> | 48 | </tr> |
| 53 | </table> | 49 | </table> |
| 54 | 50 | ||
| 55 | - | ||
| 56 | Errbit may be a good fit for you if: | 51 | Errbit may be a good fit for you if: |
| 57 | 52 | ||
| 58 | -* Your exceptions may contain sensitive data that you don't want sitting on someone else's server | 53 | +* Your exceptions may contain sensitive data that you don't want sitting on |
| 54 | + someone else's server | ||
| 59 | * Your application is behind a firewall | 55 | * Your application is behind a firewall |
| 60 | * You'd like to brand your error catcher | 56 | * You'd like to brand your error catcher |
| 61 | * You want to add customer features to your error catcher | 57 | * You want to add customer features to your error catcher |
| @@ -64,26 +60,18 @@ Errbit may be a good fit for you if: | @@ -64,26 +60,18 @@ Errbit may be a good fit for you if: | ||
| 64 | If this doesn't sound like you, you should probably stick with a hosted service such as | 60 | If this doesn't sound like you, you should probably stick with a hosted service such as |
| 65 | [Airbrake](http://airbrake.io). | 61 | [Airbrake](http://airbrake.io). |
| 66 | 62 | ||
| 67 | - | ||
| 68 | Mailing List | 63 | Mailing List |
| 69 | ------------ | 64 | ------------ |
| 70 | 65 | ||
| 71 | -Join the Google Group at https://groups.google.com/group/errbit to receive updates and notifications. | ||
| 72 | - | ||
| 73 | -Demo | ||
| 74 | ----- | ||
| 75 | - | ||
| 76 | -There is a demo available at [http://errbit-demo.herokuapp.com/](http://errbit-demo.herokuapp.com/) | ||
| 77 | - | ||
| 78 | -Email: demo@errbit-demo.herokuapp.com<br/> | ||
| 79 | -Password: password | 66 | +Join the Google Group at https://groups.google.com/group/errbit to receive |
| 67 | +updates and notifications. | ||
| 80 | 68 | ||
| 81 | # Requirements | 69 | # Requirements |
| 82 | 70 | ||
| 83 | -The list of requirements to install Errbit are : | 71 | +The list of requirements to install Errbit are: |
| 84 | 72 | ||
| 85 | - * Ruby 2.1.0 or higher | ||
| 86 | - * MongoDB 2.2.0 or higher | 73 | +* Ruby 2.1.0 or higher |
| 74 | +* MongoDB 2.2.0 or higher | ||
| 87 | 75 | ||
| 88 | Installation | 76 | Installation |
| 89 | ------------ | 77 | ------------ |
| @@ -92,49 +80,11 @@ Installation | @@ -92,49 +80,11 @@ Installation | ||
| 92 | Rails applications. If you're uncomfortable with any steps below then Errbit is not | 80 | Rails applications. If you're uncomfortable with any steps below then Errbit is not |
| 93 | for you. | 81 | for you. |
| 94 | 82 | ||
| 95 | -**Set up your local box or server(Ubuntu):** | ||
| 96 | - | ||
| 97 | - * Install MongoDB. Follow the directions [here](http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages), then: | ||
| 98 | - | ||
| 99 | -```bash | ||
| 100 | -apt-get update | ||
| 101 | -apt-get install mongodb-10gen | ||
| 102 | -``` | ||
| 103 | - | ||
| 104 | - * Install libxml, libzip, libssl and libcurl | ||
| 105 | - | ||
| 106 | -```bash | ||
| 107 | -apt-get install libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libzip-dev libssl-dev | ||
| 108 | -``` | ||
| 109 | - | ||
| 110 | - * Install Bundler | ||
| 111 | - | ||
| 112 | -```bash | ||
| 113 | -gem install bundler | ||
| 114 | -``` | ||
| 115 | - | ||
| 116 | -**Running Locally:** | ||
| 117 | - | ||
| 118 | - * Install dependencies | ||
| 119 | - | ||
| 120 | -```bash | ||
| 121 | -bundle install | ||
| 122 | -``` | ||
| 123 | - | ||
| 124 | - * Install MongoDB. Follow the directions [here](http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages), then: | ||
| 125 | - | ||
| 126 | - * Bootstrap Errbit. This will seed the database. Make sure you copy the | ||
| 127 | - username and password down someplace safe. | ||
| 128 | - | ||
| 129 | -```bash | ||
| 130 | -rake errbit:bootstrap | ||
| 131 | -``` | ||
| 132 | - | ||
| 133 | - * Start Server | ||
| 134 | - | ||
| 135 | -```bash | ||
| 136 | -rails s | ||
| 137 | -``` | 83 | +* [Install MongoDB](https://www.mongodb.org/downloads) |
| 84 | +* git clone https://github.com/errbit/errbit.git | ||
| 85 | +* bundle install | ||
| 86 | +* bundle exec rake errbit:bootstrap | ||
| 87 | +* bundle exec rails server | ||
| 138 | 88 | ||
| 139 | Configuration | 89 | Configuration |
| 140 | ------------- | 90 | ------------- |
| @@ -152,57 +102,63 @@ See [notes on deployment](docs/deployment.md) | @@ -152,57 +102,63 @@ See [notes on deployment](docs/deployment.md) | ||
| 152 | Authentication | 102 | Authentication |
| 153 | -------------- | 103 | -------------- |
| 154 | ### Configuring GitHub authentication: | 104 | ### Configuring GitHub authentication: |
| 155 | -* Set GITHUB_AUTHENTICATION to true | 105 | +* Set GITHUB_AUTHENTICATION=true |
| 156 | * Register your instance of Errbit at https://github.com/settings/applications | 106 | * Register your instance of Errbit at https://github.com/settings/applications |
| 157 | 107 | ||
| 158 | -If you hosted Errbit at errbit.example.com, you would fill in: | 108 | +If you host Errbit at errbit.example.com, you would fill in: |
| 159 | 109 | ||
| 160 | -<table> | ||
| 161 | - <tr><th>URL:</th><td><a href="http://errbit.example.com/">http://errbit.example.com/</a></td></tr> | ||
| 162 | - <tr><th>Callback URL:</th><td><a href="http://errbit.example.com/users/auth/github">http://errbit.example.com/users/auth/github</a></td></tr> | ||
| 163 | -</table> | 110 | +<dl> |
| 111 | +<dt>URL | ||
| 112 | +<dd>http://errbit.example.com | ||
| 113 | +<dt>Callback URL | ||
| 114 | +<dd>http://errbit.example.com/users/auth/github | ||
| 115 | +</dl> | ||
| 164 | 116 | ||
| 165 | * After you have registered your app, set GITHUB_CLIENT_ID and GITHUB_SECRET | 117 | * After you have registered your app, set GITHUB_CLIENT_ID and GITHUB_SECRET |
| 166 | with your app's Client ID and Secret key. | 118 | with your app's Client ID and Secret key. |
| 167 | 119 | ||
| 168 | When you start your applicatoin, you should see the option to **Sign in with | 120 | When you start your applicatoin, you should see the option to **Sign in with |
| 169 | -GitHub** on the Login page. | ||
| 170 | - | ||
| 171 | -You will also be able to link your GitHub profile to your user account on your | ||
| 172 | -**Edit profile** page. | ||
| 173 | - | ||
| 174 | -If you have signed in with GitHub, or linked your GitHub profile, and the App | ||
| 175 | -has a GitHub repo configured, then you will be able to create issues on GitHub. | ||
| 176 | -You will still be able to create an issue on the App's configured issue | ||
| 177 | -tracker. | ||
| 178 | - | ||
| 179 | -You can change the requested account permissions by setting | ||
| 180 | -`GITHUB_ACCESS_SCOPE` to: | ||
| 181 | - | ||
| 182 | -<table> | ||
| 183 | - <tr><th>['repo'] </th><td>Allow creating issues for public and private repos.</td></tr> | ||
| 184 | - <tr><th>['public_repo'] </th><td>Only allow creating issues for public repos.</td></tr> | ||
| 185 | - <tr><th>[] </th><td>No permission to create issues on any repos.</td></tr> | ||
| 186 | -</table> | 121 | +GitHub** on the Login page. You will also be able to link your GitHub profile |
| 122 | +to your user account on your **Edit profile** page. | ||
| 123 | + | ||
| 124 | +If you have signed in with GitHub, or linked your GitHub profile, and you're | ||
| 125 | +working with an App that has a GitHub repo configured, then you will be able to | ||
| 126 | +create issues on GitHub. If you use another issue tracker, see [Issue | ||
| 127 | +Trackers](#issue-trackers). | ||
| 128 | + | ||
| 129 | +You can change the OAuth scope Errbit requests from GitHub by setting | ||
| 130 | +`GITHUB_ACCESS_SCOPE`. The default ['repo'] is very permissive, but there are a | ||
| 131 | +few others that could make sense for your needs: | ||
| 132 | + | ||
| 133 | +<dl> | ||
| 134 | +<dt>GITHUB_ACCESS_SCOPE="['repo']"</dt> | ||
| 135 | +<dd>Allow creating issues for public and private repos</dd> | ||
| 136 | +<dt>GITHUB_ACCESS_SCOPE="['public_repo']"</dt> | ||
| 137 | +<dd>Allow creating issues for public repos only</dd> | ||
| 138 | +<dt>GITHUB_ACCESS_SCOPE="[]"</dt> | ||
| 139 | +<dd>No permissions at all, but allows errbit login through github</dd> | ||
| 140 | +</dl> | ||
| 187 | 141 | ||
| 188 | * GITHUB_ORG_ID is an optional environment variable you can set to your own | 142 | * GITHUB_ORG_ID is an optional environment variable you can set to your own |
| 189 | - github organization id. If set, any user of the specified GitHub organization | ||
| 190 | - can login. If it is their first time, an account will automatically be | ||
| 191 | - created for them. | 143 | + github organization id. If set, only users of the specified GitHub |
| 144 | + organization can log in to Errbit through GitHub. Errbit will provision | ||
| 145 | + accounts for new users. | ||
| 192 | 146 | ||
| 193 | ### Configuring LDAP authentication: | 147 | ### Configuring LDAP authentication: |
| 194 | 148 | ||
| 195 | - * Set `USER_HAS_USERNAME` to `true` | ||
| 196 | - * Follow the instructions at https://github.com/cschiewek/devise_ldap_authenticatable | ||
| 197 | - to set up the devise_ldap_authenticatable gem. | ||
| 198 | - * Ensure to set ```config.ldap_create_user = true``` in ```config/initializers/devise.rb```, this enables creating the users from LDAP, otherwhise login will not work. | ||
| 199 | - * Create a new initializer (e.g. ```config/initializers/devise_ldap.rb```) and add the following code to enable ldap authentication in the User-model: | 149 | +* Set USER_HAS_USERNAME=true |
| 150 | +* Follow the instructions at | ||
| 151 | + https://github.com/cschiewek/devise_ldap_authenticatable to set up the | ||
| 152 | + devise_ldap_authenticatable gem. | ||
| 153 | +* Set ```config.ldap_create_user = true``` in ```config/initializers/devise.rb```, this enables creating the users from LDAP, otherwhise login will not work. | ||
| 154 | +* Create a new initializer (e.g. ```config/initializers/devise_ldap.rb```) and add the following code to enable ldap authentication in the User-model: | ||
| 155 | + | ||
| 200 | ```ruby | 156 | ```ruby |
| 201 | Errbit::Config.devise_modules << :ldap_authenticatable | 157 | Errbit::Config.devise_modules << :ldap_authenticatable |
| 202 | ``` | 158 | ``` |
| 203 | 159 | ||
| 204 | - * If you are authenticating by `username`, you will need to set the user's email manually | ||
| 205 | - before authentication. You must add the following lines to `app/models/user.rb`: | 160 | +* If you are authenticating by `username`, you will need to set the user's email manually |
| 161 | +before authentication. You must add the following lines to `app/models/user.rb`: | ||
| 206 | 162 | ||
| 207 | ```ruby | 163 | ```ruby |
| 208 | def ldap_before_save | 164 | def ldap_before_save |
| @@ -215,8 +171,8 @@ Errbit::Config.devise_modules << :ldap_authenticatable | @@ -215,8 +171,8 @@ Errbit::Config.devise_modules << :ldap_authenticatable | ||
| 215 | end | 171 | end |
| 216 | ``` | 172 | ``` |
| 217 | 173 | ||
| 218 | - * Now login with your user from LDAP, this will create a user in the database | ||
| 219 | - * Open a rails console and set the admin flag for your user: | 174 | +* Now login with your user from LDAP, this will create a user in the database |
| 175 | +* Open a rails console and set the admin flag for your user: | ||
| 220 | 176 | ||
| 221 | ```ruby | 177 | ```ruby |
| 222 | user = User.first | 178 | user = User.first |
| @@ -237,114 +193,55 @@ rake assets:precompile | @@ -237,114 +193,55 @@ rake assets:precompile | ||
| 237 | 193 | ||
| 238 | This will ensure that your application stays up to date with any schema changes. | 194 | This will ensure that your application stays up to date with any schema changes. |
| 239 | 195 | ||
| 196 | +### Upgrading errbit from version 0.3 to 0.4 | ||
| 240 | 197 | ||
| 241 | -### Upgrading errbit from version 0.2 to 0.3 | ||
| 242 | - | ||
| 243 | -The MongoDB connection file `config/mongoid.yml` has changed between version 0.2 and | ||
| 244 | -0.3. We have provided a new example configuration file to use at `config/mongoid.example.yml`. | ||
| 245 | - | ||
| 246 | -This change is not needed if you use ENV variables to | ||
| 247 | -define access to your MongoDB database. | ||
| 248 | - | ||
| 249 | - | ||
| 250 | -## User information in error reports | ||
| 251 | - | ||
| 252 | -Errbit can now display information about the user who experienced an error. | ||
| 253 | -This gives you the ability to ask the user for more information, | ||
| 254 | -and let them know when you've fixed the bug. | ||
| 255 | - | ||
| 256 | -If you are running a Rails application and would like to include information | ||
| 257 | -about the current user in your error reports, you can replace the `airbrake` | ||
| 258 | -gem in your Gemfile with `airbrake_user_attributes`. | ||
| 259 | -This gem is a wrapper around the `airbrake` gem and will automatically | ||
| 260 | -inject information about the user into any error reports, | ||
| 261 | -so long as your controllers respond to a `#current_user` method. | ||
| 262 | -The user's attributes are filtered to remove authentication fields. | ||
| 263 | - | ||
| 264 | -If user information is received with an error report, | ||
| 265 | -it will be displayed under the *User Details* tab: | ||
| 266 | - | ||
| 267 | - | ||
| 268 | - | ||
| 269 | - | ||
| 270 | -(This tab will be hidden if no user information is available.) | 198 | +* All configuration is now done through the environment. See |
| 199 | + [configuration](docs/configuration.md) | ||
| 200 | +* Ruby 1.9 and 2.0 are no longer offically supported. Please upgrade to Ruby | ||
| 201 | + 2.1+ | ||
| 202 | +* Errbit now maintains an issue tracker only for github. If you're using | ||
| 203 | + another issue tracker integration, you may need to maintain it yourself. See | ||
| 204 | + (issue trackers)[#issue-trackers] | ||
| 271 | 205 | ||
| 272 | Javascript error notifications | 206 | Javascript error notifications |
| 273 | -------------------------------------- | 207 | -------------------------------------- |
| 274 | 208 | ||
| 275 | -You can log javascript errors that occur in your application by including | 209 | +You can log javascript errors that occur in your application by including the |
| 276 | [airbrake-js](https://github.com/airbrake/airbrake-js) javascript library. | 210 | [airbrake-js](https://github.com/airbrake/airbrake-js) javascript library. |
| 277 | 211 | ||
| 278 | -First you need to add airbrake-shim.js to your site and set some basic configuration | ||
| 279 | -options: | ||
| 280 | - | ||
| 281 | -``` | ||
| 282 | -<script src="airbrake-shim.js" data-airbrake-project-id="ERRBIT API KEY" data-airbrake-project-key="ERRBIT API KEY" data-airbrake-environment-name="production" data-airbrake-host="http://errbit.yourdomain.com"></script> | ||
| 283 | -``` | ||
| 284 | - | ||
| 285 | -Or you can just add shim file and set these options using: | 212 | +Install airbrake-js according to the docs at |
| 213 | +[airbrake-js](https://github.com/airbrake/airbrake-js) and set your project and | ||
| 214 | +host as early as possible: | ||
| 286 | 215 | ||
| 287 | -``` | 216 | +```javascript |
| 288 | Airbrake.setProject("ERRBIT API KEY", "ERRBIT API KEY"); | 217 | Airbrake.setProject("ERRBIT API KEY", "ERRBIT API KEY"); |
| 289 | Airbrake.setHost("http://errbit.yourdomain.com"); | 218 | Airbrake.setHost("http://errbit.yourdomain.com"); |
| 290 | ``` | 219 | ``` |
| 291 | 220 | ||
| 292 | -And that's it. | ||
| 293 | - | ||
| 294 | -Testing API V3 using ruby airbrake client | ||
| 295 | ------------------------------------------ | ||
| 296 | - | ||
| 297 | -If you want you test standard airbrake ruby gem with API V3. To do that you | ||
| 298 | -need to change your airbrake initializer file to something like this: | ||
| 299 | - | ||
| 300 | -``` | ||
| 301 | -Airbrake.configure do |config| | ||
| 302 | - config.api_key = ENV['airbrake_api_key'] | ||
| 303 | - config.host = ENV['airbrake_host'] | ||
| 304 | - config.port = ENV['airbrake_port'].to_i | ||
| 305 | - config.secure = ENV['airbrake_secure'] == 'true' | ||
| 306 | - config.project_id = ENV['airbrake_api_key'] | ||
| 307 | -end | ||
| 308 | - | ||
| 309 | -class Airbrake::Sender | ||
| 310 | - def json_api_enabled? | ||
| 311 | - true | ||
| 312 | - end | ||
| 313 | -end | ||
| 314 | -``` | ||
| 315 | - | ||
| 316 | -It is important to set project_id option to the same value as api_key, because | ||
| 317 | -project_id is required for building url to api endpoint. And airbrake has a bug | ||
| 318 | -that removes api_key from endpoint url. The only way to get this value is by passing | ||
| 319 | -it as project_id. This little monkey-patch is required because airbrake gem only | ||
| 320 | -uses v3 api when host is set to collect.airbrake.io. | ||
| 321 | - | ||
| 322 | -V3 request don't have framework option so you won't see this value in your error | ||
| 323 | -notices in errbit. Besides that everything looks the same. It was tested using | ||
| 324 | -rake airbrake:test for both v2 and v3. | ||
| 325 | - | ||
| 326 | Using custom fingerprinting methods | 221 | Using custom fingerprinting methods |
| 327 | ----------------------------------- | 222 | ----------------------------------- |
| 328 | 223 | ||
| 329 | -Errbit allows you to use your own Fingerprinting Strategy. | ||
| 330 | -If you are upgrading from a very old version of errbit, you can use the `Fingerprint::MD5` for compatibility. The fingerprint strategy can be changed by adding an initializer to errbit: | 224 | +Errbit collates errors into groups using a fingerprinting strategy. If you find |
| 225 | +your errors are not getting grouped the way you would expect, you may need to | ||
| 226 | +implement your own strategy. A fingerprinting strategy is just a class that | ||
| 227 | +implements a ::generate class method. See the classes in | ||
| 228 | +`app/models/fingerprint/` if you need some inspiration. You can install it with | ||
| 229 | +an initializer like: | ||
| 331 | 230 | ||
| 332 | ```ruby | 231 | ```ruby |
| 333 | -# config/fingerprint.rb | ||
| 334 | -ErrorReport.fingerprint_strategy = Fingerprint::MD5 | 232 | +# config/initializers/fingerprint.rb |
| 233 | +ErrorReport.fingerprint_strategy = MyStrategy | ||
| 335 | ``` | 234 | ``` |
| 336 | 235 | ||
| 337 | -The easiest way to add custom fingerprint methods is to simply subclass `Fingerprint` | ||
| 338 | - | ||
| 339 | Plugins and Integrations | 236 | Plugins and Integrations |
| 340 | ------------------------ | 237 | ------------------------ |
| 341 | -You can extend Errbit by adding Ruby gems and plugins which are generally also | ||
| 342 | -gems. It's nice to keep track of which gems are core Errbit dependencies and | ||
| 343 | -which gems are your own dependencies. If you want to add gems to your own | ||
| 344 | -Errbit, place them in a new file called `UserGemfile`. If you want to use a | ||
| 345 | -file with a different name, you can pass the name of that file in an | ||
| 346 | -environment variable named `USER_GEMFILE`. For example, if you wanted to use | ||
| 347 | -errbit_jira_plugin, you could: | 238 | +You can extend Errbit by adding Ruby gems and plugins which are typically gems. |
| 239 | +It's nice to keep track of which gems are core Errbit dependencies and which | ||
| 240 | +gems are your own dependencies. If you want to add gems to your own Errbit, | ||
| 241 | +place them in a new file called `UserGemfile` and Errbit will treat that file | ||
| 242 | +as an additional Gemfile. If you want to use a file with a different name, you | ||
| 243 | +can pass the name of that file in an environment variable named `USER_GEMFILE`. | ||
| 244 | +If you want to use errbit_jira_plugin, just add it to UserGemfile: | ||
| 348 | 245 | ||
| 349 | ```bash | 246 | ```bash |
| 350 | echo "gem 'errbit_jira_plugin'" > UserGemfile | 247 | echo "gem 'errbit_jira_plugin'" > UserGemfile |
| @@ -361,38 +258,29 @@ supported issue tracker plugin is | @@ -361,38 +258,29 @@ supported issue tracker plugin is | ||
| 361 | If you want to implement your own issue tracker plugin, read the README.md file | 258 | If you want to implement your own issue tracker plugin, read the README.md file |
| 362 | at [errbit_plugin](https://github.com/errbit/errbit_plugin). | 259 | at [errbit_plugin](https://github.com/errbit/errbit_plugin). |
| 363 | 260 | ||
| 364 | -Notification Service | ||
| 365 | --------------------- | ||
| 366 | -**Flowdock Notification** | ||
| 367 | - | ||
| 368 | -Allow notification to [Flowdock](https://www.flowdock.com/). See | ||
| 369 | -[complete documentation](docs/notifications/flowdock/index.md) | ||
| 370 | - | ||
| 371 | - | ||
| 372 | What if Errbit has an error? | 261 | What if Errbit has an error? |
| 373 | ---------------------------- | 262 | ---------------------------- |
| 374 | 263 | ||
| 375 | -Errbit will log it's own errors to an internal app named **Self.Errbit**. | ||
| 376 | -The **Self.Errbit** app will be automatically created whenever the first error happens. | 264 | +Errbit will log it's own errors to an internal app named **Self.Errbit**. The |
| 265 | +**Self.Errbit** app is automatically created when the first error happens. | ||
| 377 | 266 | ||
| 378 | -If your Errbit instance has logged an error, we would appreciate a bug report on GitHub Issues. | ||
| 379 | -You can post this manually at [https://github.com/errbit/errbit/issues](https://github.com/errbit/errbit/issues), | 267 | +If your Errbit instance has logged an error, we would appreciate a bug report |
| 268 | +on GitHub Issues. You can post this manually at | ||
| 269 | +[https://github.com/errbit/errbit/issues](https://github.com/errbit/errbit/issues), | ||
| 380 | or you can set up the GitHub Issues tracker for your **Self.Errbit** app: | 270 | or you can set up the GitHub Issues tracker for your **Self.Errbit** app: |
| 381 | 271 | ||
| 382 | - * 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`.) | ||
| 383 | - | 272 | + * Go to the **Self.Errbit** app's edit page. If that app does not exist yet, |
| 273 | + go to the apps page and click **Add a new App** to create it. (You can also | ||
| 274 | + create it by running `rake airbrake:test`.) | ||
| 384 | * In the **Issue Tracker** section, click **GitHub Issues**. | 275 | * In the **Issue Tracker** section, click **GitHub Issues**. |
| 385 | - | ||
| 386 | * Fill in the **Account/Repository** field with **errbit/errbit**. | 276 | * Fill in the **Account/Repository** field with **errbit/errbit**. |
| 387 | - | ||
| 388 | * Fill in the **Username** field with your github username. | 277 | * Fill in the **Username** field with your github username. |
| 389 | - | ||
| 390 | - * If you are logged in on [GitHub](https://github.com), you can find your **API Token** on this page: [https://github.com/account/admin](https://github.com/account/admin). | ||
| 391 | - | 278 | + * If you are logged in on [GitHub](https://github.com), you can find your |
| 279 | + **API Token** on this page: | ||
| 280 | + [https://github.com/account/admin](https://github.com/account/admin). | ||
| 392 | * Save the settings by clicking **Update App** (or **Add App**) | 281 | * Save the settings by clicking **Update App** (or **Add App**) |
| 393 | - | ||
| 394 | - * You can now easily post bug reports to GitHub Issues by clicking the **Create Issue** button on a **Self.Errbit** error. | ||
| 395 | - | 282 | + * You can now easily post bug reports to GitHub Issues by clicking the |
| 283 | + **Create Issue** button on a **Self.Errbit** error. | ||
| 396 | 284 | ||
| 397 | Use Errbit with applications written in other languages | 285 | Use Errbit with applications written in other languages |
| 398 | ------------------------------------------------------- | 286 | ------------------------------------------------------- |
| @@ -415,17 +303,14 @@ Solutions known to work are listed below: | @@ -415,17 +303,14 @@ Solutions known to work are listed below: | ||
| 415 | </tr> | 303 | </tr> |
| 416 | </table> | 304 | </table> |
| 417 | 305 | ||
| 418 | -TODO | ||
| 419 | ----- | ||
| 420 | - | ||
| 421 | -* Add ability for watchers to be configured for types of notifications they should receive | ||
| 422 | - | ||
| 423 | - | ||
| 424 | People using Errbit | 306 | People using Errbit |
| 425 | ------------------- | 307 | ------------------- |
| 426 | 308 | ||
| 427 | -See our wiki page for a [list of people and companies around the world who use Errbit](https://github.com/errbit/errbit/wiki/People-using-Errbit). | ||
| 428 | -Feel free to [edit this page](https://github.com/errbit/errbit/wiki/People-using-Errbit/_edit), and add your name and country to the list if you are using Errbit. | 309 | +See our wiki page for a [list of people and companies around the world who use |
| 310 | +Errbit](https://github.com/errbit/errbit/wiki/People-using-Errbit). You may | ||
| 311 | +[edit this | ||
| 312 | +page](https://github.com/errbit/errbit/wiki/People-using-Errbit/_edit), and add | ||
| 313 | +your name and country to the list if you are using Errbit. | ||
| 429 | 314 | ||
| 430 | 315 | ||
| 431 | Special Thanks | 316 | Special Thanks |
| @@ -440,8 +325,7 @@ Special Thanks | @@ -440,8 +325,7 @@ Special Thanks | ||
| 440 | * [Relevance](http://thinkrelevance.com) - For giving me Open-source Fridays to work on Errbit and all my awesome co-workers for giving feedback and inspiration. | 325 | * [Relevance](http://thinkrelevance.com) - For giving me Open-source Fridays to work on Errbit and all my awesome co-workers for giving feedback and inspiration. |
| 441 | * [Thoughtbot](http://thoughtbot.com) - For being great open-source advocates and setting the bar with [Airbrake](http://airbrake.io). | 326 | * [Thoughtbot](http://thoughtbot.com) - For being great open-source advocates and setting the bar with [Airbrake](http://airbrake.io). |
| 442 | 327 | ||
| 443 | -See the [contributors graph](https://github.com/errbit/errbit/graphs/contributors) for further details. | ||
| 444 | - | 328 | +See the [contributors graph](https://github.com/errbit/errbit/graphs/contributors) for more details. |
| 445 | 329 | ||
| 446 | Contributing to Errbit | 330 | Contributing to Errbit |
| 447 | ------------ | 331 | ------------ |
| @@ -456,4 +340,4 @@ Check the .travis.yml file to see how tests are run | @@ -456,4 +340,4 @@ Check the .travis.yml file to see how tests are run | ||
| 456 | Copyright | 340 | Copyright |
| 457 | --------- | 341 | --------- |
| 458 | 342 | ||
| 459 | -Copyright (c) 2010-2014 Errbit Team. See LICENSE for details. | 343 | +Copyright (c) 2010-2015 Errbit Team |