Commit f3f95fd7fbea744b500bffa4e2beccdc379e8e1a

Authored by Nathan Broadbent
1 parent 50e3e2ab
Exists in master and in 1 other branch production

Added GitHub authentication info to README. Replaced numbers with bullets, since they always reset.

Showing 1 changed file with 63 additions and 30 deletions   Show diff stats
@@ -75,20 +75,20 @@ for you. Checkout [Airbrake](http://airbrakeapp.com) from the guys over at @@ -75,20 +75,20 @@ for you. Checkout [Airbrake](http://airbrakeapp.com) from the guys over at
75 75
76 **Set up your local box or server(Ubuntu):** 76 **Set up your local box or server(Ubuntu):**
77 77
78 - 1. Install MongoDB. Follow the directions [here](http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages), then: 78 + * Install MongoDB. Follow the directions [here](http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages), then:
79 79
80 ```bash 80 ```bash
81 apt-get update 81 apt-get update
82 apt-get install mongodb 82 apt-get install mongodb
83 ``` 83 ```
84 84
85 - 2. Install libxml and libcurl 85 + * Install libxml and libcurl
86 86
87 ```bash 87 ```bash
88 apt-get install libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev 88 apt-get install libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev
89 ``` 89 ```
90 90
91 - 3. Install Bundler 91 + * Install Bundler
92 92
93 ```bash 93 ```bash
94 gem install bundler 94 gem install bundler
@@ -96,21 +96,21 @@ gem install bundler @@ -96,21 +96,21 @@ gem install bundler
96 96
97 **Running Locally:** 97 **Running Locally:**
98 98
99 - 1. Install dependencies 99 + * Install dependencies
100 100
101 ```bash 101 ```bash
102 bundle install 102 bundle install
103 ``` 103 ```
104 104
105 - 2. Bootstrap Errbit. This will copy over config.yml and also seed the database. 105 + * Bootstrap Errbit. This will copy over config.yml and also seed the database.
106 106
107 ```bash 107 ```bash
108 rake errbit:bootstrap 108 rake errbit:bootstrap
109 ``` 109 ```
110 110
111 - 3. Update the config.yml and mongoid.yml files with information about your environment 111 + * Update the config.yml and mongoid.yml files with information about your environment
112 112
113 - 4. Start Server 113 + * Start Server
114 114
115 ```bash 115 ```bash
116 script/rails server 116 script/rails server
@@ -118,14 +118,14 @@ script/rails server @@ -118,14 +118,14 @@ script/rails server
118 118
119 **Deploying:** 119 **Deploying:**
120 120
121 - 1. Bootstrap Errbit. This will copy over config.yml and also seed the database. 121 + * Bootstrap Errbit. This will copy over config.yml and also seed the database.
122 122
123 ```bash 123 ```bash
124 rake errbit:bootstrap 124 rake errbit:bootstrap
125 ``` 125 ```
126 126
127 - 2. Update the deploy.rb file with information about your server  
128 - 3. Setup server and deploy 127 + * Update the deploy.rb file with information about your server
  128 + * Setup server and deploy
129 129
130 ```bash 130 ```bash
131 cap deploy:setup deploy 131 cap deploy:setup deploy
@@ -133,13 +133,13 @@ cap deploy:setup deploy @@ -133,13 +133,13 @@ cap deploy:setup deploy
133 133
134 **Deploying to Heroku:** 134 **Deploying to Heroku:**
135 135
136 - 1. Clone the repository 136 + * Clone the repository
137 137
138 ```bash 138 ```bash
139 git clone http://github.com/errbit/errbit.git 139 git clone http://github.com/errbit/errbit.git
140 ``` 140 ```
141 141
142 - 2. Create & configure for Heroku 142 + * Create & configure for Heroku
143 143
144 ```bash 144 ```bash
145 gem install heroku 145 gem install heroku
@@ -155,13 +155,13 @@ heroku config:add ERRBIT_EMAIL_FROM=example@example.com @@ -155,13 +155,13 @@ heroku config:add ERRBIT_EMAIL_FROM=example@example.com
155 git push heroku master 155 git push heroku master
156 ``` 156 ```
157 157
158 - 3. Seed the DB (_NOTE_: No bootstrap task is used on Heroku!) 158 + * Seed the DB (_NOTE_: No bootstrap task is used on Heroku!)
159 159
160 ```bash 160 ```bash
161 heroku run rake db:seed 161 heroku run rake db:seed
162 ``` 162 ```
163 163
164 - 4. If you are using a free database on Heroku, you may want to periodically clear resolved errors to free up space. 164 + * If you are using a free database on Heroku, you may want to periodically clear resolved errors to free up space.
165 165
166 ```bash 166 ```bash
167 # Install the heroku cron addon, to clear resolved errors daily: 167 # Install the heroku cron addon, to clear resolved errors daily:
@@ -171,23 +171,52 @@ heroku addons:add cron:daily @@ -171,23 +171,52 @@ heroku addons:add cron:daily
171 heroku rake errbit:db:clear_resolved 171 heroku rake errbit:db:clear_resolved
172 ``` 172 ```
173 173
174 - 5. You may want to enable the deployment hook for heroku : 174 + * You may want to enable the deployment hook for heroku :
175 175
176 ```bash 176 ```bash
177 heroku addons:add deployhooks:http url="http://YOUR_ERRBIT_HOST/deploys.txt?api_key=YOUR_API_KEY" 177 heroku addons:add deployhooks:http url="http://YOUR_ERRBIT_HOST/deploys.txt?api_key=YOUR_API_KEY"
178 ``` 178 ```
179 179
180 - 5. Enjoy! 180 + * Enjoy!
  181 +
  182 +
  183 +Authentication
  184 +--------------
  185 +
  186 +**Configuring GitHub authentication:**
  187 +
  188 + * In `config/config.yml`, set `github_authentication` to `true`
  189 + * Register your instance of Errbit at: https://github.com/settings/applications
  190 + If you hosted Errbit at errbit.example.com, you would fill in:
  191 +
  192 +<table>
  193 + <tr><th>URL:</th><td>http://errbit.example.com/</td></tr>
  194 + <tr><th>Callback URL:</th><td>http://errbit.example.com/users/auth/github</td></tr>
  195 +</table>
  196 +
  197 + * After you have registered your app, set `github_client_id` and `github_secret`
  198 + in `config/config.yml` with your app's Client ID and Secret key.
  199 +
  200 +
  201 +After you have followed these instructions, you will be able to
  202 +<img src="http://errbit.github.com/errbit/images/sign_in_with_github_button.png" alt="Sign in with GitHub">
  203 +on the Login page.
  204 +
  205 +You will also be able to link your GitHub profile to your user account on your **Edit profile** page.
  206 +
  207 +If you have signed in with GitHub, or linked your GitHub profile,
  208 +you are able to create an issue on GitHub if the App has a GitHub repo configured.
  209 +You will also be able to create an issue on a configured issue trackers.
181 210
182 211
183 **Configuring LDAP authentication:** 212 **Configuring LDAP authentication:**
184 213
185 - 1. In `config/config.yml`, set `user_has_username` to `true`  
186 - 2. Follow the instructions at https://github.com/cschiewek/devise_ldap_authenticatable 214 + * In `config/config.yml`, set `user_has_username` to `true`
  215 + * Follow the instructions at https://github.com/cschiewek/devise_ldap_authenticatable
187 to set up the devise_ldap_authenticatable gem. 216 to set up the devise_ldap_authenticatable gem.
188 217
189 - 3. If you are authenticating by `username`, you will need to set the user's email  
190 - after authentication. You can do this by adding the following lines to `app/models/user.rb`: 218 + * If you are authenticating by `username`, you will need to set the user's email manually
  219 + before authentication. You must add the following lines to `app/models/user.rb`:
191 220
192 ```ruby 221 ```ruby
193 before_save :set_ldap_email 222 before_save :set_ldap_email
@@ -198,7 +227,7 @@ heroku addons:add deployhooks:http url=&quot;http://YOUR_ERRBIT_HOST/deploys.txt?api_ @@ -198,7 +227,7 @@ heroku addons:add deployhooks:http url=&quot;http://YOUR_ERRBIT_HOST/deploys.txt?api_
198 227
199 Upgrading 228 Upgrading
200 --------- 229 ---------
201 -*Note*: When upgrading Errbit, please run: 230 +When upgrading Errbit, please run:
202 231
203 ```bash 232 ```bash
204 git pull origin master # assuming origin is the github.com/errbit/errbit repo 233 git pull origin master # assuming origin is the github.com/errbit/errbit repo
@@ -209,7 +238,7 @@ If we change the way that data is stored, this will run any migrations to bring @@ -209,7 +238,7 @@ If we change the way that data is stored, this will run any migrations to bring
209 238
210 239
211 User information in error reports 240 User information in error reports
212 ------------------------------ 241 +---------------------------------
213 242
214 Errbit can now display information about the user who experienced an error. 243 Errbit can now display information about the user who experienced an error.
215 This gives you the ability to ask the user for more information, 244 This gives you the ability to ask the user for more information,
@@ -256,7 +285,11 @@ Issue Trackers @@ -256,7 +285,11 @@ Issue Trackers
256 * Account is the host of your mingle installation. i.e. **https://mingle.example.com** *note*: You should use SSL if possible. 285 * Account is the host of your mingle installation. i.e. **https://mingle.example.com** *note*: You should use SSL if possible.
257 * Errbit uses 'sign-in name' & password authentication. You may want to set up an **errbit** user with limited rights. 286 * Errbit uses 'sign-in name' & password authentication. You may want to set up an **errbit** user with limited rights.
258 * Project id is the identifier of your project, i.e. **awesomeapp** for project at https://mingle.example.com/projects/awesomeapp 287 * Project id is the identifier of your project, i.e. **awesomeapp** for project at https://mingle.example.com/projects/awesomeapp
259 -* Card properties are comma separated key value pairs. You must specify a 'card_type', but anything else is optional. i.e. card_type = Defect, status = Open, priority = Essential 288 +* Card properties are comma separated key value pairs. You must specify a 'card_type', but anything else is optional, e.g.:
  289 +
  290 +```
  291 +card_type = Defect, status = Open, priority = Essential
  292 +```
260 293
261 **GitHub Issues Integration** 294 **GitHub Issues Integration**
262 295
@@ -275,19 +308,19 @@ If your Errbit instance has logged an error, we would appreciate a bug report on @@ -275,19 +308,19 @@ If your Errbit instance has logged an error, we would appreciate a bug report on
275 You can post this manually at [https://github.com/errbit/errbit/issues](https://github.com/errbit/errbit/issues), 308 You can post this manually at [https://github.com/errbit/errbit/issues](https://github.com/errbit/errbit/issues),
276 or you can set up the GitHub Issues tracker for your **Self.Errbit** app: 309 or you can set up the GitHub Issues tracker for your **Self.Errbit** app:
277 310
278 - 1. 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`.) 311 + * 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`.)
279 312
280 - 2. In the **Issue Tracker** section, click **GitHub Issues**. 313 + * In the **Issue Tracker** section, click **GitHub Issues**.
281 314
282 - 3. Fill in the **Account/Repository** field with **errbit/errbit**. 315 + * Fill in the **Account/Repository** field with **errbit/errbit**.
283 316
284 - 4. Fill in the **Username** field with your github username. 317 + * Fill in the **Username** field with your github username.
285 318
286 - 5. 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). 319 + * 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).
287 320
288 - 6. Save the settings by clicking **Update App** (or **Add App**) 321 + * Save the settings by clicking **Update App** (or **Add App**)
289 322
290 - 7. You can now easily post bug reports to GitHub Issues by clicking the **Create Issue** button on a **Self.Errbit** error. 323 + * You can now easily post bug reports to GitHub Issues by clicking the **Create Issue** button on a **Self.Errbit** error.
291 324
292 325
293 TODO 326 TODO