{"action":"opened","issue":{"url":"https://api.github.com/repos/stitchfix/resque-brain/issues/22","labels_url":"https://api.github.com/repos/stitchfix/resque-brain/issues/22/labels{/name}","comments_url":"https://api.github.com/repos/stitchfix/resque-brain/issues/22/comments","events_url":"https://api.github.com/repos/stitchfix/resque-brain/issues/22/events","html_url":"https://github.com/stitchfix/resque-brain/issues/22","id":116137683,"number":22,"title":"Provide a way to attach a runbook to known failures","user":{"login":"davetron5000","id":22282,"avatar_url":"https://avatars.githubusercontent.com/u/22282?v=3","gravatar_id":"","url":"https://api.github.com/users/davetron5000","html_url":"https://github.com/davetron5000","followers_url":"https://api.github.com/users/davetron5000/followers","following_url":"https://api.github.com/users/davetron5000/following{/other_user}","gists_url":"https://api.github.com/users/davetron5000/gists{/gist_id}","starred_url":"https://api.github.com/users/davetron5000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davetron5000/subscriptions","organizations_url":"https://api.github.com/users/davetron5000/orgs","repos_url":"https://api.github.com/users/davetron5000/repos","events_url":"https://api.github.com/users/davetron5000/events{/privacy}","received_events_url":"https://api.github.com/users/davetron5000/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-11-10T16:03:46Z","updated_at":"2015-11-10T16:03:46Z","closed_at":null,"body":"Not sure how this would look, but it could be some sort of yaml file, like:\r\n\r\n```yaml\r\n- exception: SomeEsotericException\r\n  runbook: http://ourwiki.company.com/when-you-get-that-weird-exception\r\n- message: !ruby/regexp '/oh noes!/'\r\n  runbook: http://ourwiki.company.com/when-all-else-fails\r\n- exception: ActiveRecord::NotFoundError\r\n  message: !ruby/regexp '/User/`\r\n  rubook: http://ourwiki.company.com/when-no-users-are-found\r\n```\r\n\r\nThe first case would use that runbook for all `SomeEsotericException` failures.  The second would be used for anything where the message matched the regexp `/oh noes!/` while the final would match only for those exceptions *and* those messages."}}