{"action":"closed","number":1,"pull_request":{"url":"https://api.github.com/repos/neopoly/neoboard/pulls/1","id":67842289,"html_url":"https://github.com/neopoly/neoboard/pull/1","diff_url":"https://github.com/neopoly/neoboard/pull/1.diff","patch_url":"https://github.com/neopoly/neoboard/pull/1.patch","issue_url":"https://api.github.com/repos/neopoly/neoboard/issues/1","number":1,"state":"closed","locked":false,"title":"Allow ampersands (&) in activity titles","user":{"login":"splattael","id":28908,"avatar_url":"https://avatars.githubusercontent.com/u/28908?v=3","gravatar_id":"","url":"https://api.github.com/users/splattael","html_url":"https://github.com/splattael","followers_url":"https://api.github.com/users/splattael/followers","following_url":"https://api.github.com/users/splattael/following{/other_user}","gists_url":"https://api.github.com/users/splattael/gists{/gist_id}","starred_url":"https://api.github.com/users/splattael/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/splattael/subscriptions","organizations_url":"https://api.github.com/users/splattael/orgs","repos_url":"https://api.github.com/users/splattael/repos","events_url":"https://api.github.com/users/splattael/events{/privacy}","received_events_url":"https://api.github.com/users/splattael/received_events","type":"User","site_admin":false},"body":"Before this commit titles like \"Marketing & Sales\" broke\r\nthe parse with the following error message:\r\n\r\n    09:22:17.370 [info] [ProcessCushion] Starting Elixir.Neoboard.Widgets.RedmineActivity with delay of 10000\r\n    09:22:17.372 [error] GenServer #PID<0.757.0> terminating\r\n    ** (FunctionClauseError) no function clause matching in List.first/1\r\n        (elixir) lib/list.ex:163: List.first(nil)\r\n        (neoboard) lib/neoboard/widgets/redmine_activity.ex:135: Neoboard.Widgets.RedmineActivity.Parser.extract_project/1\r\n        (neoboard) lib/neoboard/widgets/redmine_activity.ex:125: Neoboard.Widgets.RedmineActivity.Parser.reduce_project/2\r\n        (elixir) lib/enum.ex:1473: Enum.\"-reduce/3-lists^foldl/2-0-\"/3\r\n        (neoboard) lib/neoboard/widgets/redmine_activity.ex:95: Neoboard.Widgets.RedmineActivity.Parser.parse!/1\r\n        (neoboard) lib/neoboard/widgets/redmine_activity.ex:24: Neoboard.Widgets.RedmineActivity.fetch/0\r\n        (neoboard) lib/neoboard/widgets/redmine_activity.ex:16: Neoboard.Widgets.RedmineActivity.handle_info/2\r\n        (stdlib) gen_server.erl:615: :gen_server.try_dispatch/4\r\n\r\nThis commit fixes that issue.\r\n\r\n@jnbt BTW, as a workaround I've renamed the project to \"Marketing & Sales\". So, don't hurry ;)","created_at":"2016-04-26T08:03:37Z","updated_at":"2016-05-02T07:58:41Z","closed_at":"2016-05-02T07:58:41Z","merged_at":"2016-05-02T07:58:41Z","merge_commit_sha":"95fdd3d7e0ef3e3f437adc3b1ecfdf015ffb4faa","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/neopoly/neoboard/pulls/1/commits","review_comments_url":"https://api.github.com/repos/neopoly/neoboard/pulls/1/comments","review_comment_url":"https://api.github.com/repos/neopoly/neoboard/pulls/comments{/number}","comments_url":"https://api.github.com/repos/neopoly/neoboard/issues/1/comments","statuses_url":"https://api.github.com/repos/neopoly/neoboard/statuses/85bff341feb3a1be4a4f500023a7a05414948338","head":{"label":"neopoly:fix/title-with-ampersand","ref":"fix/title-with-ampersand","sha":"85bff341feb3a1be4a4f500023a7a05414948338","user":{"login":"neopoly","id":442585,"avatar_url":"https://avatars.githubusercontent.com/u/442585?v=3","gravatar_id":"","url":"https://api.github.com/users/neopoly","html_url":"https://github.com/neopoly","followers_url":"https://api.github.com/users/neopoly/followers","following_url":"https://api.github.com/users/neopoly/following{/other_user}","gists_url":"https://api.github.com/users/neopoly/gists{/gist_id}","starred_url":"https://api.github.com/users/neopoly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neopoly/subscriptions","organizations_url":"https://api.github.com/users/neopoly/orgs","repos_url":"https://api.github.com/users/neopoly/repos","events_url":"https://api.github.com/users/neopoly/events{/privacy}","received_events_url":"https://api.github.com/users/neopoly/received_events","type":"Organization","site_admin":false},"repo":{"id":36065415,"name":"neoboard","full_name":"neopoly/neoboard","owner":{"login":"neopoly","id":442585,"avatar_url":"https://avatars.githubusercontent.com/u/442585?v=3","gravatar_id":"","url":"https://api.github.com/users/neopoly","html_url":"https://github.com/neopoly","followers_url":"https://api.github.com/users/neopoly/followers","following_url":"https://api.github.com/users/neopoly/following{/other_user}","gists_url":"https://api.github.com/users/neopoly/gists{/gist_id}","starred_url":"https://api.github.com/users/neopoly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neopoly/subscriptions","organizations_url":"https://api.github.com/users/neopoly/orgs","repos_url":"https://api.github.com/users/neopoly/repos","events_url":"https://api.github.com/users/neopoly/events{/privacy}","received_events_url":"https://api.github.com/users/neopoly/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/neopoly/neoboard","description":"A dashboard solution instrumenting Elixir, Phoenix and React","fork":false,"url":"https://api.github.com/repos/neopoly/neoboard","forks_url":"https://api.github.com/repos/neopoly/neoboard/forks","keys_url":"https://api.github.com/repos/neopoly/neoboard/keys{/key_id}","collaborators_url":"https://api.github.com/repos/neopoly/neoboard/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/neopoly/neoboard/teams","hooks_url":"https://api.github.com/repos/neopoly/neoboard/hooks","issue_events_url":"https://api.github.com/repos/neopoly/neoboard/issues/events{/number}","events_url":"https://api.github.com/repos/neopoly/neoboard/events","assignees_url":"https://api.github.com/repos/neopoly/neoboard/assignees{/user}","branches_url":"https://api.github.com/repos/neopoly/neoboard/branches{/branch}","tags_url":"https://api.github.com/repos/neopoly/neoboard/tags","blobs_url":"https://api.github.com/repos/neopoly/neoboard/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/neopoly/neoboard/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/neopoly/neoboard/git/refs{/sha}","trees_url":"https://api.github.com/repos/neopoly/neoboard/git/trees{/sha}","statuses_url":"https://api.github.com/repos/neopoly/neoboard/statuses/{sha}","languages_url":"https://api.github.com/repos/neopoly/neoboard/languages","stargazers_url":"https://api.github.com/repos/neopoly/neoboard/stargazers","contributors_url":"https://api.github.com/repos/neopoly/neoboard/contributors","subscribers_url":"https://api.github.com/repos/neopoly/neoboard/subscribers","subscription_url":"https://api.github.com/repos/neopoly/neoboard/subscription","commits_url":"https://api.github.com/repos/neopoly/neoboard/commits{/sha}","git_commits_url":"https://api.github.com/repos/neopoly/neoboard/git/commits{/sha}","comments_url":"https://api.github.com/repos/neopoly/neoboard/comments{/number}","issue_comment_url":"https://api.github.com/repos/neopoly/neoboard/issues/comments{/number}","contents_url":"https://api.github.com/repos/neopoly/neoboard/contents/{+path}","compare_url":"https://api.github.com/repos/neopoly/neoboard/compare/{base}...{head}","merges_url":"https://api.github.com/repos/neopoly/neoboard/merges","archive_url":"https://api.github.com/repos/neopoly/neoboard/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/neopoly/neoboard/downloads","issues_url":"https://api.github.com/repos/neopoly/neoboard/issues{/number}","pulls_url":"https://api.github.com/repos/neopoly/neoboard/pulls{/number}","milestones_url":"https://api.github.com/repos/neopoly/neoboard/milestones{/number}","notifications_url":"https://api.github.com/repos/neopoly/neoboard/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/neopoly/neoboard/labels{/name}","releases_url":"https://api.github.com/repos/neopoly/neoboard/releases{/id}","deployments_url":"https://api.github.com/repos/neopoly/neoboard/deployments","created_at":"2015-05-22T10:00:37Z","updated_at":"2016-02-19T15:25:31Z","pushed_at":"2016-05-02T07:58:42Z","git_url":"git://github.com/neopoly/neoboard.git","ssh_url":"git@github.com:neopoly/neoboard.git","clone_url":"https://github.com/neopoly/neoboard.git","svn_url":"https://github.com/neopoly/neoboard","homepage":null,"size":4182,"stargazers_count":7,"watchers_count":7,"language":"Elixir","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":7,"default_branch":"master"}},"base":{"label":"neopoly:master","ref":"master","sha":"4de08a0e8ab203379a05987aaeb136057f1bf8b5","user":{"login":"neopoly","id":442585,"avatar_url":"https://avatars.githubusercontent.com/u/442585?v=3","gravatar_id":"","url":"https://api.github.com/users/neopoly","html_url":"https://github.com/neopoly","followers_url":"https://api.github.com/users/neopoly/followers","following_url":"https://api.github.com/users/neopoly/following{/other_user}","gists_url":"https://api.github.com/users/neopoly/gists{/gist_id}","starred_url":"https://api.github.com/users/neopoly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neopoly/subscriptions","organizations_url":"https://api.github.com/users/neopoly/orgs","repos_url":"https://api.github.com/users/neopoly/repos","events_url":"https://api.github.com/users/neopoly/events{/privacy}","received_events_url":"https://api.github.com/users/neopoly/received_events","type":"Organization","site_admin":false},"repo":{"id":36065415,"name":"neoboard","full_name":"neopoly/neoboard","owner":{"login":"neopoly","id":442585,"avatar_url":"https://avatars.githubusercontent.com/u/442585?v=3","gravatar_id":"","url":"https://api.github.com/users/neopoly","html_url":"https://github.com/neopoly","followers_url":"https://api.github.com/users/neopoly/followers","following_url":"https://api.github.com/users/neopoly/following{/other_user}","gists_url":"https://api.github.com/users/neopoly/gists{/gist_id}","starred_url":"https://api.github.com/users/neopoly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neopoly/subscriptions","organizations_url":"https://api.github.com/users/neopoly/orgs","repos_url":"https://api.github.com/users/neopoly/repos","events_url":"https://api.github.com/users/neopoly/events{/privacy}","received_events_url":"https://api.github.com/users/neopoly/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/neopoly/neoboard","description":"A dashboard solution instrumenting Elixir, Phoenix and React","fork":false,"url":"https://api.github.com/repos/neopoly/neoboard","forks_url":"https://api.github.com/repos/neopoly/neoboard/forks","keys_url":"https://api.github.com/repos/neopoly/neoboard/keys{/key_id}","collaborators_url":"https://api.github.com/repos/neopoly/neoboard/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/neopoly/neoboard/teams","hooks_url":"https://api.github.com/repos/neopoly/neoboard/hooks","issue_events_url":"https://api.github.com/repos/neopoly/neoboard/issues/events{/number}","events_url":"https://api.github.com/repos/neopoly/neoboard/events","assignees_url":"https://api.github.com/repos/neopoly/neoboard/assignees{/user}","branches_url":"https://api.github.com/repos/neopoly/neoboard/branches{/branch}","tags_url":"https://api.github.com/repos/neopoly/neoboard/tags","blobs_url":"https://api.github.com/repos/neopoly/neoboard/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/neopoly/neoboard/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/neopoly/neoboard/git/refs{/sha}","trees_url":"https://api.github.com/repos/neopoly/neoboard/git/trees{/sha}","statuses_url":"https://api.github.com/repos/neopoly/neoboard/statuses/{sha}","languages_url":"https://api.github.com/repos/neopoly/neoboard/languages","stargazers_url":"https://api.github.com/repos/neopoly/neoboard/stargazers","contributors_url":"https://api.github.com/repos/neopoly/neoboard/contributors","subscribers_url":"https://api.github.com/repos/neopoly/neoboard/subscribers","subscription_url":"https://api.github.com/repos/neopoly/neoboard/subscription","commits_url":"https://api.github.com/repos/neopoly/neoboard/commits{/sha}","git_commits_url":"https://api.github.com/repos/neopoly/neoboard/git/commits{/sha}","comments_url":"https://api.github.com/repos/neopoly/neoboard/comments{/number}","issue_comment_url":"https://api.github.com/repos/neopoly/neoboard/issues/comments{/number}","contents_url":"https://api.github.com/repos/neopoly/neoboard/contents/{+path}","compare_url":"https://api.github.com/repos/neopoly/neoboard/compare/{base}...{head}","merges_url":"https://api.github.com/repos/neopoly/neoboard/merges","archive_url":"https://api.github.com/repos/neopoly/neoboard/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/neopoly/neoboard/downloads","issues_url":"https://api.github.com/repos/neopoly/neoboard/issues{/number}","pulls_url":"https://api.github.com/repos/neopoly/neoboard/pulls{/number}","milestones_url":"https://api.github.com/repos/neopoly/neoboard/milestones{/number}","notifications_url":"https://api.github.com/repos/neopoly/neoboard/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/neopoly/neoboard/labels{/name}","releases_url":"https://api.github.com/repos/neopoly/neoboard/releases{/id}","deployments_url":"https://api.github.com/repos/neopoly/neoboard/deployments","created_at":"2015-05-22T10:00:37Z","updated_at":"2016-02-19T15:25:31Z","pushed_at":"2016-05-02T07:58:42Z","git_url":"git://github.com/neopoly/neoboard.git","ssh_url":"git@github.com:neopoly/neoboard.git","clone_url":"https://github.com/neopoly/neoboard.git","svn_url":"https://github.com/neopoly/neoboard","homepage":null,"size":4182,"stargazers_count":7,"watchers_count":7,"language":"Elixir","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":7,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/neopoly/neoboard/pulls/1"},"html":{"href":"https://github.com/neopoly/neoboard/pull/1"},"issue":{"href":"https://api.github.com/repos/neopoly/neoboard/issues/1"},"comments":{"href":"https://api.github.com/repos/neopoly/neoboard/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/neopoly/neoboard/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/neopoly/neoboard/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/neopoly/neoboard/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/neopoly/neoboard/statuses/85bff341feb3a1be4a4f500023a7a05414948338"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"jnbt","id":678542,"avatar_url":"https://avatars.githubusercontent.com/u/678542?v=3","gravatar_id":"","url":"https://api.github.com/users/jnbt","html_url":"https://github.com/jnbt","followers_url":"https://api.github.com/users/jnbt/followers","following_url":"https://api.github.com/users/jnbt/following{/other_user}","gists_url":"https://api.github.com/users/jnbt/gists{/gist_id}","starred_url":"https://api.github.com/users/jnbt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnbt/subscriptions","organizations_url":"https://api.github.com/users/jnbt/orgs","repos_url":"https://api.github.com/users/jnbt/repos","events_url":"https://api.github.com/users/jnbt/events{/privacy}","received_events_url":"https://api.github.com/users/jnbt/received_events","type":"User","site_admin":false},"comments":1,"review_comments":0,"commits":1,"additions":17,"deletions":5,"changed_files":3}}