{"action":"created","issue":{"url":"https://api.github.com/repos/18F/C2/issues/772","labels_url":"https://api.github.com/repos/18F/C2/issues/772/labels{/name}","comments_url":"https://api.github.com/repos/18F/C2/issues/772/comments","events_url":"https://api.github.com/repos/18F/C2/issues/772/events","html_url":"https://github.com/18F/C2/pull/772","id":115393789,"number":772,"title":"[Delivers #106050582] avoid duplicate observer","user":{"login":"pkarman","id":1205061,"avatar_url":"https://avatars.githubusercontent.com/u/1205061?v=3","gravatar_id":"","url":"https://api.github.com/users/pkarman","html_url":"https://github.com/pkarman","followers_url":"https://api.github.com/users/pkarman/followers","following_url":"https://api.github.com/users/pkarman/following{/other_user}","gists_url":"https://api.github.com/users/pkarman/gists{/gist_id}","starred_url":"https://api.github.com/users/pkarman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pkarman/subscriptions","organizations_url":"https://api.github.com/users/pkarman/orgs","repos_url":"https://api.github.com/users/pkarman/repos","events_url":"https://api.github.com/users/pkarman/events{/privacy}","received_events_url":"https://api.github.com/users/pkarman/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/18F/C2/labels/review-needed","name":"review-needed","color":"c7def8"}],"state":"open","locked":false,"assignee":{"login":"jessieay","id":601515,"avatar_url":"https://avatars.githubusercontent.com/u/601515?v=3","gravatar_id":"","url":"https://api.github.com/users/jessieay","html_url":"https://github.com/jessieay","followers_url":"https://api.github.com/users/jessieay/followers","following_url":"https://api.github.com/users/jessieay/following{/other_user}","gists_url":"https://api.github.com/users/jessieay/gists{/gist_id}","starred_url":"https://api.github.com/users/jessieay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jessieay/subscriptions","organizations_url":"https://api.github.com/users/jessieay/orgs","repos_url":"https://api.github.com/users/jessieay/repos","events_url":"https://api.github.com/users/jessieay/events{/privacy}","received_events_url":"https://api.github.com/users/jessieay/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2015-11-05T22:52:49Z","updated_at":"2015-11-09T17:53:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/18F/C2/pulls/772","html_url":"https://github.com/18F/C2/pull/772","diff_url":"https://github.com/18F/C2/pull/772.diff","patch_url":"https://github.com/18F/C2/pull/772.patch"},"body":"Story: https://www.pivotaltracker.com/story/show/106050582\r\n\r\nRelated story: https://www.pivotaltracker.com/story/show/107438934\r\n\r\nThis PR does 2 things:\r\n\r\n1. only users with matching client_slug, and who are not already observers, are available in the Observer dropdown list\r\n1. if a duplicate Observer is attempted, a graceful error response is given rather than a 5xx error\r\n\r\nYou can test (1) by trying to add the same user multiple times as an Observer.\r\n\r\nYou can test (2) by opening 2 browser tabs for the same page, selecting the same observer for both tabs, submitting the first tab (should be successful), submitting the second tab (should give nice error message)."},"comment":{"url":"https://api.github.com/repos/18F/C2/issues/comments/155138950","html_url":"https://github.com/18F/C2/pull/772#issuecomment-155138950","issue_url":"https://api.github.com/repos/18F/C2/issues/772","id":155138950,"user":{"login":"jessieay","id":601515,"avatar_url":"https://avatars.githubusercontent.com/u/601515?v=3","gravatar_id":"","url":"https://api.github.com/users/jessieay","html_url":"https://github.com/jessieay","followers_url":"https://api.github.com/users/jessieay/followers","following_url":"https://api.github.com/users/jessieay/following{/other_user}","gists_url":"https://api.github.com/users/jessieay/gists{/gist_id}","starred_url":"https://api.github.com/users/jessieay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jessieay/subscriptions","organizations_url":"https://api.github.com/users/jessieay/orgs","repos_url":"https://api.github.com/users/jessieay/repos","events_url":"https://api.github.com/users/jessieay/events{/privacy}","received_events_url":"https://api.github.com/users/jessieay/received_events","type":"User","site_admin":false},"created_at":"2015-11-09T17:53:07Z","updated_at":"2015-11-09T17:53:07Z","body":"Code looks good to :ship: -- will QA after my meeting!"}}