{"action":"closed","number":2883,"pull_request":{"url":"https://api.github.com/repos/Graylog2/graylog2-server/pulls/2883","id":86475670,"html_url":"https://github.com/Graylog2/graylog2-server/pull/2883","diff_url":"https://github.com/Graylog2/graylog2-server/pull/2883.diff","patch_url":"https://github.com/Graylog2/graylog2-server/pull/2883.patch","issue_url":"https://api.github.com/repos/Graylog2/graylog2-server/issues/2883","number":2883,"state":"closed","locked":false,"title":"Implement \"contains\" stream rule","user":{"login":"joschi","id":43951,"avatar_url":"https://avatars.githubusercontent.com/u/43951?v=3","gravatar_id":"","url":"https://api.github.com/users/joschi","html_url":"https://github.com/joschi","followers_url":"https://api.github.com/users/joschi/followers","following_url":"https://api.github.com/users/joschi/following{/other_user}","gists_url":"https://api.github.com/users/joschi/gists{/gist_id}","starred_url":"https://api.github.com/users/joschi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joschi/subscriptions","organizations_url":"https://api.github.com/users/joschi/orgs","repos_url":"https://api.github.com/users/joschi/repos","events_url":"https://api.github.com/users/joschi/events{/privacy}","received_events_url":"https://api.github.com/users/joschi/received_events","type":"User","site_admin":false},"body":"## Description\r\n\r\nGraylog contains a variety of stream rule types, such as exact match, field presence, or match against regular expressions.\r\n\r\nIt is, however, missing the very simple but immensely useful \"contains\" matcher, which this PR aims to provide.\r\n\r\n## Motivation and Context\r\n\r\nhttps://twitter.com/HenrikJohansen/status/779231109901062144 :trollface: \r\n\r\n## Types of changes\r\n<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->\r\n- [ ] Bug fix (non-breaking change which fixes an issue)\r\n- [x] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to change)\r\n\r\n## Checklist:\r\n<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->\r\n<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->\r\n- [x] My code follows the code style of this project.\r\n- [ ] My change requires a change to the documentation.\r\n- [ ] I have updated the documentation accordingly.\r\n- [x] I have read the **CONTRIBUTING** document.\r\n- [x] I have added tests to cover my changes.\r\n- [x] All new and existing tests passed.","created_at":"2016-09-23T08:53:30Z","updated_at":"2016-09-23T12:20:54Z","closed_at":"2016-09-23T12:20:54Z","merged_at":"2016-09-23T12:20:54Z","merge_commit_sha":"573b5fd54feeed0bfd138c33c2b7a9a5b5c626b9","assignee":{"login":"dennisoelkers","id":41929,"avatar_url":"https://avatars.githubusercontent.com/u/41929?v=3","gravatar_id":"","url":"https://api.github.com/users/dennisoelkers","html_url":"https://github.com/dennisoelkers","followers_url":"https://api.github.com/users/dennisoelkers/followers","following_url":"https://api.github.com/users/dennisoelkers/following{/other_user}","gists_url":"https://api.github.com/users/dennisoelkers/gists{/gist_id}","starred_url":"https://api.github.com/users/dennisoelkers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dennisoelkers/subscriptions","organizations_url":"https://api.github.com/users/dennisoelkers/orgs","repos_url":"https://api.github.com/users/dennisoelkers/repos","events_url":"https://api.github.com/users/dennisoelkers/events{/privacy}","received_events_url":"https://api.github.com/users/dennisoelkers/received_events","type":"User","site_admin":false},"assignees":[{"login":"dennisoelkers","id":41929,"avatar_url":"https://avatars.githubusercontent.com/u/41929?v=3","gravatar_id":"","url":"https://api.github.com/users/dennisoelkers","html_url":"https://github.com/dennisoelkers","followers_url":"https://api.github.com/users/dennisoelkers/followers","following_url":"https://api.github.com/users/dennisoelkers/following{/other_user}","gists_url":"https://api.github.com/users/dennisoelkers/gists{/gist_id}","starred_url":"https://api.github.com/users/dennisoelkers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dennisoelkers/subscriptions","organizations_url":"https://api.github.com/users/dennisoelkers/orgs","repos_url":"https://api.github.com/users/dennisoelkers/repos","events_url":"https://api.github.com/users/dennisoelkers/events{/privacy}","received_events_url":"https://api.github.com/users/dennisoelkers/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/Graylog2/graylog2-server/milestones/56","html_url":"https://github.com/Graylog2/graylog2-server/milestones/2.2.0","labels_url":"https://api.github.com/repos/Graylog2/graylog2-server/milestones/56/labels","id":1905276,"number":56,"title":"2.2.0","description":"","creator":{"login":"bernd","id":461,"avatar_url":"https://avatars.githubusercontent.com/u/461?v=3","gravatar_id":"","url":"https://api.github.com/users/bernd","html_url":"https://github.com/bernd","followers_url":"https://api.github.com/users/bernd/followers","following_url":"https://api.github.com/users/bernd/following{/other_user}","gists_url":"https://api.github.com/users/bernd/gists{/gist_id}","starred_url":"https://api.github.com/users/bernd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bernd/subscriptions","organizations_url":"https://api.github.com/users/bernd/orgs","repos_url":"https://api.github.com/users/bernd/repos","events_url":"https://api.github.com/users/bernd/events{/privacy}","received_events_url":"https://api.github.com/users/bernd/received_events","type":"User","site_admin":false},"open_issues":36,"closed_issues":19,"state":"open","created_at":"2016-07-26T15:59:45Z","updated_at":"2016-09-23T12:20:54Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/Graylog2/graylog2-server/pulls/2883/commits","review_comments_url":"https://api.github.com/repos/Graylog2/graylog2-server/pulls/2883/comments","review_comment_url":"https://api.github.com/repos/Graylog2/graylog2-server/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Graylog2/graylog2-server/issues/2883/comments","statuses_url":"https://api.github.com/repos/Graylog2/graylog2-server/statuses/8850ef199c8d3be7d492b9a2691b93370ace7a0c","head":{"label":"Graylog2:make-henrik-happy","ref":"make-henrik-happy","sha":"8850ef199c8d3be7d492b9a2691b93370ace7a0c","user":{"login":"Graylog2","id":474892,"avatar_url":"https://avatars.githubusercontent.com/u/474892?v=3","gravatar_id":"","url":"https://api.github.com/users/Graylog2","html_url":"https://github.com/Graylog2","followers_url":"https://api.github.com/users/Graylog2/followers","following_url":"https://api.github.com/users/Graylog2/following{/other_user}","gists_url":"https://api.github.com/users/Graylog2/gists{/gist_id}","starred_url":"https://api.github.com/users/Graylog2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Graylog2/subscriptions","organizations_url":"https://api.github.com/users/Graylog2/orgs","repos_url":"https://api.github.com/users/Graylog2/repos","events_url":"https://api.github.com/users/Graylog2/events{/privacy}","received_events_url":"https://api.github.com/users/Graylog2/received_events","type":"Organization","site_admin":false},"repo":{"id":671825,"name":"graylog2-server","full_name":"Graylog2/graylog2-server","owner":{"login":"Graylog2","id":474892,"avatar_url":"https://avatars.githubusercontent.com/u/474892?v=3","gravatar_id":"","url":"https://api.github.com/users/Graylog2","html_url":"https://github.com/Graylog2","followers_url":"https://api.github.com/users/Graylog2/followers","following_url":"https://api.github.com/users/Graylog2/following{/other_user}","gists_url":"https://api.github.com/users/Graylog2/gists{/gist_id}","starred_url":"https://api.github.com/users/Graylog2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Graylog2/subscriptions","organizations_url":"https://api.github.com/users/Graylog2/orgs","repos_url":"https://api.github.com/users/Graylog2/repos","events_url":"https://api.github.com/users/Graylog2/events{/privacy}","received_events_url":"https://api.github.com/users/Graylog2/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Graylog2/graylog2-server","description":"Free and open source log management","fork":false,"url":"https://api.github.com/repos/Graylog2/graylog2-server","forks_url":"https://api.github.com/repos/Graylog2/graylog2-server/forks","keys_url":"https://api.github.com/repos/Graylog2/graylog2-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Graylog2/graylog2-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Graylog2/graylog2-server/teams","hooks_url":"https://api.github.com/repos/Graylog2/graylog2-server/hooks","issue_events_url":"https://api.github.com/repos/Graylog2/graylog2-server/issues/events{/number}","events_url":"https://api.github.com/repos/Graylog2/graylog2-server/events","assignees_url":"https://api.github.com/repos/Graylog2/graylog2-server/assignees{/user}","branches_url":"https://api.github.com/repos/Graylog2/graylog2-server/branches{/branch}","tags_url":"https://api.github.com/repos/Graylog2/graylog2-server/tags","blobs_url":"https://api.github.com/repos/Graylog2/graylog2-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Graylog2/graylog2-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Graylog2/graylog2-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/Graylog2/graylog2-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Graylog2/graylog2-server/statuses/{sha}","languages_url":"https://api.github.com/repos/Graylog2/graylog2-server/languages","stargazers_url":"https://api.github.com/repos/Graylog2/graylog2-server/stargazers","contributors_url":"https://api.github.com/repos/Graylog2/graylog2-server/contributors","subscribers_url":"https://api.github.com/repos/Graylog2/graylog2-server/subscribers","subscription_url":"https://api.github.com/repos/Graylog2/graylog2-server/subscription","commits_url":"https://api.github.com/repos/Graylog2/graylog2-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/Graylog2/graylog2-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/Graylog2/graylog2-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/Graylog2/graylog2-server/issues/comments{/number}","contents_url":"https://api.github.com/repos/Graylog2/graylog2-server/contents/{+path}","compare_url":"https://api.github.com/repos/Graylog2/graylog2-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Graylog2/graylog2-server/merges","archive_url":"https://api.github.com/repos/Graylog2/graylog2-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Graylog2/graylog2-server/downloads","issues_url":"https://api.github.com/repos/Graylog2/graylog2-server/issues{/number}","pulls_url":"https://api.github.com/repos/Graylog2/graylog2-server/pulls{/number}","milestones_url":"https://api.github.com/repos/Graylog2/graylog2-server/milestones{/number}","notifications_url":"https://api.github.com/repos/Graylog2/graylog2-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Graylog2/graylog2-server/labels{/name}","releases_url":"https://api.github.com/repos/Graylog2/graylog2-server/releases{/id}","deployments_url":"https://api.github.com/repos/Graylog2/graylog2-server/deployments","created_at":"2010-05-17T21:27:02Z","updated_at":"2016-09-23T08:32:08Z","pushed_at":"2016-09-23T12:20:54Z","git_url":"git://github.com/Graylog2/graylog2-server.git","ssh_url":"git@github.com:Graylog2/graylog2-server.git","clone_url":"https://github.com/Graylog2/graylog2-server.git","svn_url":"https://github.com/Graylog2/graylog2-server","homepage":"https://www.graylog.org/","size":66463,"stargazers_count":2276,"watchers_count":2276,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":350,"mirror_url":null,"open_issues_count":371,"forks":350,"open_issues":371,"watchers":2276,"default_branch":"master"}},"base":{"label":"Graylog2:master","ref":"master","sha":"471a2bf42e0bd98592fb850a347024437f4312b4","user":{"login":"Graylog2","id":474892,"avatar_url":"https://avatars.githubusercontent.com/u/474892?v=3","gravatar_id":"","url":"https://api.github.com/users/Graylog2","html_url":"https://github.com/Graylog2","followers_url":"https://api.github.com/users/Graylog2/followers","following_url":"https://api.github.com/users/Graylog2/following{/other_user}","gists_url":"https://api.github.com/users/Graylog2/gists{/gist_id}","starred_url":"https://api.github.com/users/Graylog2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Graylog2/subscriptions","organizations_url":"https://api.github.com/users/Graylog2/orgs","repos_url":"https://api.github.com/users/Graylog2/repos","events_url":"https://api.github.com/users/Graylog2/events{/privacy}","received_events_url":"https://api.github.com/users/Graylog2/received_events","type":"Organization","site_admin":false},"repo":{"id":671825,"name":"graylog2-server","full_name":"Graylog2/graylog2-server","owner":{"login":"Graylog2","id":474892,"avatar_url":"https://avatars.githubusercontent.com/u/474892?v=3","gravatar_id":"","url":"https://api.github.com/users/Graylog2","html_url":"https://github.com/Graylog2","followers_url":"https://api.github.com/users/Graylog2/followers","following_url":"https://api.github.com/users/Graylog2/following{/other_user}","gists_url":"https://api.github.com/users/Graylog2/gists{/gist_id}","starred_url":"https://api.github.com/users/Graylog2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Graylog2/subscriptions","organizations_url":"https://api.github.com/users/Graylog2/orgs","repos_url":"https://api.github.com/users/Graylog2/repos","events_url":"https://api.github.com/users/Graylog2/events{/privacy}","received_events_url":"https://api.github.com/users/Graylog2/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Graylog2/graylog2-server","description":"Free and open source log management","fork":false,"url":"https://api.github.com/repos/Graylog2/graylog2-server","forks_url":"https://api.github.com/repos/Graylog2/graylog2-server/forks","keys_url":"https://api.github.com/repos/Graylog2/graylog2-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Graylog2/graylog2-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Graylog2/graylog2-server/teams","hooks_url":"https://api.github.com/repos/Graylog2/graylog2-server/hooks","issue_events_url":"https://api.github.com/repos/Graylog2/graylog2-server/issues/events{/number}","events_url":"https://api.github.com/repos/Graylog2/graylog2-server/events","assignees_url":"https://api.github.com/repos/Graylog2/graylog2-server/assignees{/user}","branches_url":"https://api.github.com/repos/Graylog2/graylog2-server/branches{/branch}","tags_url":"https://api.github.com/repos/Graylog2/graylog2-server/tags","blobs_url":"https://api.github.com/repos/Graylog2/graylog2-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Graylog2/graylog2-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Graylog2/graylog2-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/Graylog2/graylog2-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Graylog2/graylog2-server/statuses/{sha}","languages_url":"https://api.github.com/repos/Graylog2/graylog2-server/languages","stargazers_url":"https://api.github.com/repos/Graylog2/graylog2-server/stargazers","contributors_url":"https://api.github.com/repos/Graylog2/graylog2-server/contributors","subscribers_url":"https://api.github.com/repos/Graylog2/graylog2-server/subscribers","subscription_url":"https://api.github.com/repos/Graylog2/graylog2-server/subscription","commits_url":"https://api.github.com/repos/Graylog2/graylog2-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/Graylog2/graylog2-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/Graylog2/graylog2-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/Graylog2/graylog2-server/issues/comments{/number}","contents_url":"https://api.github.com/repos/Graylog2/graylog2-server/contents/{+path}","compare_url":"https://api.github.com/repos/Graylog2/graylog2-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Graylog2/graylog2-server/merges","archive_url":"https://api.github.com/repos/Graylog2/graylog2-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Graylog2/graylog2-server/downloads","issues_url":"https://api.github.com/repos/Graylog2/graylog2-server/issues{/number}","pulls_url":"https://api.github.com/repos/Graylog2/graylog2-server/pulls{/number}","milestones_url":"https://api.github.com/repos/Graylog2/graylog2-server/milestones{/number}","notifications_url":"https://api.github.com/repos/Graylog2/graylog2-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Graylog2/graylog2-server/labels{/name}","releases_url":"https://api.github.com/repos/Graylog2/graylog2-server/releases{/id}","deployments_url":"https://api.github.com/repos/Graylog2/graylog2-server/deployments","created_at":"2010-05-17T21:27:02Z","updated_at":"2016-09-23T08:32:08Z","pushed_at":"2016-09-23T12:20:54Z","git_url":"git://github.com/Graylog2/graylog2-server.git","ssh_url":"git@github.com:Graylog2/graylog2-server.git","clone_url":"https://github.com/Graylog2/graylog2-server.git","svn_url":"https://github.com/Graylog2/graylog2-server","homepage":"https://www.graylog.org/","size":66463,"stargazers_count":2276,"watchers_count":2276,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":350,"mirror_url":null,"open_issues_count":371,"forks":350,"open_issues":371,"watchers":2276,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Graylog2/graylog2-server/pulls/2883"},"html":{"href":"https://github.com/Graylog2/graylog2-server/pull/2883"},"issue":{"href":"https://api.github.com/repos/Graylog2/graylog2-server/issues/2883"},"comments":{"href":"https://api.github.com/repos/Graylog2/graylog2-server/issues/2883/comments"},"review_comments":{"href":"https://api.github.com/repos/Graylog2/graylog2-server/pulls/2883/comments"},"review_comment":{"href":"https://api.github.com/repos/Graylog2/graylog2-server/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Graylog2/graylog2-server/pulls/2883/commits"},"statuses":{"href":"https://api.github.com/repos/Graylog2/graylog2-server/statuses/8850ef199c8d3be7d492b9a2691b93370ace7a0c"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"dennisoelkers","id":41929,"avatar_url":"https://avatars.githubusercontent.com/u/41929?v=3","gravatar_id":"","url":"https://api.github.com/users/dennisoelkers","html_url":"https://github.com/dennisoelkers","followers_url":"https://api.github.com/users/dennisoelkers/followers","following_url":"https://api.github.com/users/dennisoelkers/following{/other_user}","gists_url":"https://api.github.com/users/dennisoelkers/gists{/gist_id}","starred_url":"https://api.github.com/users/dennisoelkers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dennisoelkers/subscriptions","organizations_url":"https://api.github.com/users/dennisoelkers/orgs","repos_url":"https://api.github.com/users/dennisoelkers/repos","events_url":"https://api.github.com/users/dennisoelkers/events{/privacy}","received_events_url":"https://api.github.com/users/dennisoelkers/received_events","type":"User","site_admin":false},"comments":0,"review_comments":1,"commits":2,"additions":205,"deletions":20,"changed_files":6}}
{"actor":{"display_login":"dennisoelkers"}}