{"action":"created","comment":{"url":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/comments/238484693","pull_request_review_id":181037462,"id":238484693,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzODQ4NDY5Mw==","diff_hunk":"@@ -0,0 +1,93 @@\n+package io.vinyldns.java.model.membership;\n+\n+import java.util.Set;\n+import org.joda.time.DateTime;\n+\n+public class Group {\n+    private final String name, email, id;\n+    private final String description;\n+    private final DateTime created;\n+    private final GroupStatus status;\n+    private final Set<String> memberIds, adminUserIds;\n+\n+    public Group(String name, String email, String description, String id, DateTime created, GroupStatus status,\n+                 Set<String> memberIds, Set<String> adminUserIds) {\n+        this.name = name;\n+        this.email = email;\n+        this.description = description;\n+        this.id = id;\n+        this.created = created;\n+        this.status = status;\n+        this.memberIds = memberIds;\n+        this.adminUserIds = adminUserIds;\n+    }\n+\n+    public Group(String name, String email, String id, DateTime created, GroupStatus status,","path":"src/main/java/io/vinyldns/java/model/membership/Group.java","position":25,"original_position":25,"commit_id":"408e7eb0941e37713839f34f543b78efe492c840","original_commit_id":"408e7eb0941e37713839f34f543b78efe492c840","user":{"login":"pauljamescleary","id":17361753,"node_id":"MDQ6VXNlcjE3MzYxNzUz","avatar_url":"https://avatars2.githubusercontent.com/u/17361753?v=4","gravatar_id":"","url":"https://api.github.com/users/pauljamescleary","html_url":"https://github.com/pauljamescleary","followers_url":"https://api.github.com/users/pauljamescleary/followers","following_url":"https://api.github.com/users/pauljamescleary/following{/other_user}","gists_url":"https://api.github.com/users/pauljamescleary/gists{/gist_id}","starred_url":"https://api.github.com/users/pauljamescleary/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pauljamescleary/subscriptions","organizations_url":"https://api.github.com/users/pauljamescleary/orgs","repos_url":"https://api.github.com/users/pauljamescleary/repos","events_url":"https://api.github.com/users/pauljamescleary/events{/privacy}","received_events_url":"https://api.github.com/users/pauljamescleary/received_events","type":"User","site_admin":false},"body":"not good form to take a parameter out of the middle of the constructor (seems like you removed description here), especially as it is backfilled with another `String`.\r\n\r\nLeave \"optional\" elements to the end of the constructor, then set them to a valid default value in the constructor itself.\r\n\r\nOften times it is good form to have one constructor call another providing the defaults, as opposed to the `this.name = name` bits we see here.\r\n\r\nLook at the default/optional params in the API for guidance.\r\n\r\nI am pretty sure that `id`, `created`, `status` should all be optional.  `memberIds` and `adminUserIds` can default to an empty set (even though they will fail API side).  We don't have a mechanism for throwing errors in this client so I am actually ok with that.","created_at":"2018-12-03T23:55:00Z","updated_at":"2018-12-03T23:55:00Z","html_url":"https://github.com/vinyldns/vinyldns-java/pull/26#discussion_r238484693","pull_request_url":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/26","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/comments/238484693"},"html":{"href":"https://github.com/vinyldns/vinyldns-java/pull/26#discussion_r238484693"},"pull_request":{"href":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/26"}}},"pull_request":{"url":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/26","id":224890175,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI0ODkwMTc1","html_url":"https://github.com/vinyldns/vinyldns-java/pull/26","diff_url":"https://github.com/vinyldns/vinyldns-java/pull/26.diff","patch_url":"https://github.com/vinyldns/vinyldns-java/pull/26.patch","issue_url":"https://api.github.com/repos/vinyldns/vinyldns-java/issues/26","number":26,"state":"open","locked":false,"title":"Implement listGroups","user":{"login":"mitruly","id":12224090,"node_id":"MDQ6VXNlcjEyMjI0MDkw","avatar_url":"https://avatars3.githubusercontent.com/u/12224090?v=4","gravatar_id":"","url":"https://api.github.com/users/mitruly","html_url":"https://github.com/mitruly","followers_url":"https://api.github.com/users/mitruly/followers","following_url":"https://api.github.com/users/mitruly/following{/other_user}","gists_url":"https://api.github.com/users/mitruly/gists{/gist_id}","starred_url":"https://api.github.com/users/mitruly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mitruly/subscriptions","organizations_url":"https://api.github.com/users/mitruly/orgs","repos_url":"https://api.github.com/users/mitruly/repos","events_url":"https://api.github.com/users/mitruly/events{/privacy}","received_events_url":"https://api.github.com/users/mitruly/received_events","type":"User","site_admin":false},"body":"Code changes:\r\n- Add `Group` model\r\n- Implement `listGroups`\r\n\r\nResolves #18.","created_at":"2018-10-23T04:15:31Z","updated_at":"2018-12-03T23:55:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2a133c9e8284492eeafb741c20e232637777f143","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/26/commits","review_comments_url":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/26/comments","review_comment_url":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vinyldns/vinyldns-java/issues/26/comments","statuses_url":"https://api.github.com/repos/vinyldns/vinyldns-java/statuses/408e7eb0941e37713839f34f543b78efe492c840","head":{"label":"mitruly:list-groups","ref":"list-groups","sha":"408e7eb0941e37713839f34f543b78efe492c840","user":{"login":"mitruly","id":12224090,"node_id":"MDQ6VXNlcjEyMjI0MDkw","avatar_url":"https://avatars3.githubusercontent.com/u/12224090?v=4","gravatar_id":"","url":"https://api.github.com/users/mitruly","html_url":"https://github.com/mitruly","followers_url":"https://api.github.com/users/mitruly/followers","following_url":"https://api.github.com/users/mitruly/following{/other_user}","gists_url":"https://api.github.com/users/mitruly/gists{/gist_id}","starred_url":"https://api.github.com/users/mitruly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mitruly/subscriptions","organizations_url":"https://api.github.com/users/mitruly/orgs","repos_url":"https://api.github.com/users/mitruly/repos","events_url":"https://api.github.com/users/mitruly/events{/privacy}","received_events_url":"https://api.github.com/users/mitruly/received_events","type":"User","site_admin":false},"repo":{"id":145604969,"node_id":"MDEwOlJlcG9zaXRvcnkxNDU2MDQ5Njk=","name":"vinyldns-java","full_name":"mitruly/vinyldns-java","private":false,"owner":{"login":"mitruly","id":12224090,"node_id":"MDQ6VXNlcjEyMjI0MDkw","avatar_url":"https://avatars3.githubusercontent.com/u/12224090?v=4","gravatar_id":"","url":"https://api.github.com/users/mitruly","html_url":"https://github.com/mitruly","followers_url":"https://api.github.com/users/mitruly/followers","following_url":"https://api.github.com/users/mitruly/following{/other_user}","gists_url":"https://api.github.com/users/mitruly/gists{/gist_id}","starred_url":"https://api.github.com/users/mitruly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mitruly/subscriptions","organizations_url":"https://api.github.com/users/mitruly/orgs","repos_url":"https://api.github.com/users/mitruly/repos","events_url":"https://api.github.com/users/mitruly/events{/privacy}","received_events_url":"https://api.github.com/users/mitruly/received_events","type":"User","site_admin":false},"html_url":"https://github.com/mitruly/vinyldns-java","description":"Java client for VinylDNS","fork":true,"url":"https://api.github.com/repos/mitruly/vinyldns-java","forks_url":"https://api.github.com/repos/mitruly/vinyldns-java/forks","keys_url":"https://api.github.com/repos/mitruly/vinyldns-java/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mitruly/vinyldns-java/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mitruly/vinyldns-java/teams","hooks_url":"https://api.github.com/repos/mitruly/vinyldns-java/hooks","issue_events_url":"https://api.github.com/repos/mitruly/vinyldns-java/issues/events{/number}","events_url":"https://api.github.com/repos/mitruly/vinyldns-java/events","assignees_url":"https://api.github.com/repos/mitruly/vinyldns-java/assignees{/user}","branches_url":"https://api.github.com/repos/mitruly/vinyldns-java/branches{/branch}","tags_url":"https://api.github.com/repos/mitruly/vinyldns-java/tags","blobs_url":"https://api.github.com/repos/mitruly/vinyldns-java/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mitruly/vinyldns-java/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mitruly/vinyldns-java/git/refs{/sha}","trees_url":"https://api.github.com/repos/mitruly/vinyldns-java/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mitruly/vinyldns-java/statuses/{sha}","languages_url":"https://api.github.com/repos/mitruly/vinyldns-java/languages","stargazers_url":"https://api.github.com/repos/mitruly/vinyldns-java/stargazers","contributors_url":"https://api.github.com/repos/mitruly/vinyldns-java/contributors","subscribers_url":"https://api.github.com/repos/mitruly/vinyldns-java/subscribers","subscription_url":"https://api.github.com/repos/mitruly/vinyldns-java/subscription","commits_url":"https://api.github.com/repos/mitruly/vinyldns-java/commits{/sha}","git_commits_url":"https://api.github.com/repos/mitruly/vinyldns-java/git/commits{/sha}","comments_url":"https://api.github.com/repos/mitruly/vinyldns-java/comments{/number}","issue_comment_url":"https://api.github.com/repos/mitruly/vinyldns-java/issues/comments{/number}","contents_url":"https://api.github.com/repos/mitruly/vinyldns-java/contents/{+path}","compare_url":"https://api.github.com/repos/mitruly/vinyldns-java/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mitruly/vinyldns-java/merges","archive_url":"https://api.github.com/repos/mitruly/vinyldns-java/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mitruly/vinyldns-java/downloads","issues_url":"https://api.github.com/repos/mitruly/vinyldns-java/issues{/number}","pulls_url":"https://api.github.com/repos/mitruly/vinyldns-java/pulls{/number}","milestones_url":"https://api.github.com/repos/mitruly/vinyldns-java/milestones{/number}","notifications_url":"https://api.github.com/repos/mitruly/vinyldns-java/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mitruly/vinyldns-java/labels{/name}","releases_url":"https://api.github.com/repos/mitruly/vinyldns-java/releases{/id}","deployments_url":"https://api.github.com/repos/mitruly/vinyldns-java/deployments","created_at":"2018-08-21T18:41:21Z","updated_at":"2018-10-18T19:50:09Z","pushed_at":"2018-11-23T15:52:41Z","git_url":"git://github.com/mitruly/vinyldns-java.git","ssh_url":"git@github.com:mitruly/vinyldns-java.git","clone_url":"https://github.com/mitruly/vinyldns-java.git","svn_url":"https://github.com/mitruly/vinyldns-java","homepage":null,"size":106,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"vinyldns:master","ref":"master","sha":"156192f6307227716db9b21ec3ebfc618d8efd67","user":{"login":"vinyldns","id":40363296,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQwMzYzMjk2","avatar_url":"https://avatars0.githubusercontent.com/u/40363296?v=4","gravatar_id":"","url":"https://api.github.com/users/vinyldns","html_url":"https://github.com/vinyldns","followers_url":"https://api.github.com/users/vinyldns/followers","following_url":"https://api.github.com/users/vinyldns/following{/other_user}","gists_url":"https://api.github.com/users/vinyldns/gists{/gist_id}","starred_url":"https://api.github.com/users/vinyldns/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vinyldns/subscriptions","organizations_url":"https://api.github.com/users/vinyldns/orgs","repos_url":"https://api.github.com/users/vinyldns/repos","events_url":"https://api.github.com/users/vinyldns/events{/privacy}","received_events_url":"https://api.github.com/users/vinyldns/received_events","type":"Organization","site_admin":false},"repo":{"id":142579984,"node_id":"MDEwOlJlcG9zaXRvcnkxNDI1Nzk5ODQ=","name":"vinyldns-java","full_name":"vinyldns/vinyldns-java","private":false,"owner":{"login":"vinyldns","id":40363296,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQwMzYzMjk2","avatar_url":"https://avatars0.githubusercontent.com/u/40363296?v=4","gravatar_id":"","url":"https://api.github.com/users/vinyldns","html_url":"https://github.com/vinyldns","followers_url":"https://api.github.com/users/vinyldns/followers","following_url":"https://api.github.com/users/vinyldns/following{/other_user}","gists_url":"https://api.github.com/users/vinyldns/gists{/gist_id}","starred_url":"https://api.github.com/users/vinyldns/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vinyldns/subscriptions","organizations_url":"https://api.github.com/users/vinyldns/orgs","repos_url":"https://api.github.com/users/vinyldns/repos","events_url":"https://api.github.com/users/vinyldns/events{/privacy}","received_events_url":"https://api.github.com/users/vinyldns/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/vinyldns/vinyldns-java","description":"Java client for VinylDNS","fork":false,"url":"https://api.github.com/repos/vinyldns/vinyldns-java","forks_url":"https://api.github.com/repos/vinyldns/vinyldns-java/forks","keys_url":"https://api.github.com/repos/vinyldns/vinyldns-java/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vinyldns/vinyldns-java/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vinyldns/vinyldns-java/teams","hooks_url":"https://api.github.com/repos/vinyldns/vinyldns-java/hooks","issue_events_url":"https://api.github.com/repos/vinyldns/vinyldns-java/issues/events{/number}","events_url":"https://api.github.com/repos/vinyldns/vinyldns-java/events","assignees_url":"https://api.github.com/repos/vinyldns/vinyldns-java/assignees{/user}","branches_url":"https://api.github.com/repos/vinyldns/vinyldns-java/branches{/branch}","tags_url":"https://api.github.com/repos/vinyldns/vinyldns-java/tags","blobs_url":"https://api.github.com/repos/vinyldns/vinyldns-java/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vinyldns/vinyldns-java/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vinyldns/vinyldns-java/git/refs{/sha}","trees_url":"https://api.github.com/repos/vinyldns/vinyldns-java/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vinyldns/vinyldns-java/statuses/{sha}","languages_url":"https://api.github.com/repos/vinyldns/vinyldns-java/languages","stargazers_url":"https://api.github.com/repos/vinyldns/vinyldns-java/stargazers","contributors_url":"https://api.github.com/repos/vinyldns/vinyldns-java/contributors","subscribers_url":"https://api.github.com/repos/vinyldns/vinyldns-java/subscribers","subscription_url":"https://api.github.com/repos/vinyldns/vinyldns-java/subscription","commits_url":"https://api.github.com/repos/vinyldns/vinyldns-java/commits{/sha}","git_commits_url":"https://api.github.com/repos/vinyldns/vinyldns-java/git/commits{/sha}","comments_url":"https://api.github.com/repos/vinyldns/vinyldns-java/comments{/number}","issue_comment_url":"https://api.github.com/repos/vinyldns/vinyldns-java/issues/comments{/number}","contents_url":"https://api.github.com/repos/vinyldns/vinyldns-java/contents/{+path}","compare_url":"https://api.github.com/repos/vinyldns/vinyldns-java/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vinyldns/vinyldns-java/merges","archive_url":"https://api.github.com/repos/vinyldns/vinyldns-java/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vinyldns/vinyldns-java/downloads","issues_url":"https://api.github.com/repos/vinyldns/vinyldns-java/issues{/number}","pulls_url":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls{/number}","milestones_url":"https://api.github.com/repos/vinyldns/vinyldns-java/milestones{/number}","notifications_url":"https://api.github.com/repos/vinyldns/vinyldns-java/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vinyldns/vinyldns-java/labels{/name}","releases_url":"https://api.github.com/repos/vinyldns/vinyldns-java/releases{/id}","deployments_url":"https://api.github.com/repos/vinyldns/vinyldns-java/deployments","created_at":"2018-07-27T13:22:33Z","updated_at":"2018-11-23T15:54:24Z","pushed_at":"2018-11-23T15:52:42Z","git_url":"git://github.com/vinyldns/vinyldns-java.git","ssh_url":"git@github.com:vinyldns/vinyldns-java.git","clone_url":"https://github.com/vinyldns/vinyldns-java.git","svn_url":"https://github.com/vinyldns/vinyldns-java","homepage":null,"size":92,"stargazers_count":2,"watchers_count":2,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":20,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":4,"open_issues":20,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/26"},"html":{"href":"https://github.com/vinyldns/vinyldns-java/pull/26"},"issue":{"href":"https://api.github.com/repos/vinyldns/vinyldns-java/issues/26"},"comments":{"href":"https://api.github.com/repos/vinyldns/vinyldns-java/issues/26/comments"},"review_comments":{"href":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/26/comments"},"review_comment":{"href":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vinyldns/vinyldns-java/pulls/26/commits"},"statuses":{"href":"https://api.github.com/repos/vinyldns/vinyldns-java/statuses/408e7eb0941e37713839f34f543b78efe492c840"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"pauljamescleary"}}