{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments/23809225","id":23809225,"diff_hunk":"@@ -18,128 +18,20 @@ package latest\n \n import (\n \t\"encoding/json\"\n-\t\"strconv\"\n+\t\"math/rand\"\n \t\"testing\"\n \n \tinternal \"github.com/GoogleCloudPlatform/kubernetes/pkg/api\"\n \t_ \"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta1\"\n \t_ \"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta2\"\n-\t\"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime\"\n \t\"github.com/GoogleCloudPlatform/kubernetes/pkg/util\"\n-\n-\tdocker \"github.com/fsouza/go-dockerclient\"\n-\tfuzz \"github.com/google/gofuzz\"\n-)\n-\n-// apiObjectFuzzer can randomly populate api objects.\n-var apiObjectFuzzer = fuzz.New().NilChance(.5).NumElements(1, 1).Funcs(\n-\tfunc(j *internal.TypeMeta, c fuzz.Continue) {\n-\t\t// We have to customize the randomization of TypeMetas because their\n-\t\t// APIVersion and Kind must remain blank in memory.\n-\t\tj.APIVersion = \"\"\n-\t\tj.Kind = \"\"\n-\t},\n-\tfunc(j *internal.ObjectMeta, c fuzz.Continue) {\n-\t\tj.Name = c.RandString()\n-\t\tj.ResourceVersion = strconv.FormatUint(c.RandUint64(), 10)\n-\t\tj.SelfLink = c.RandString()\n-\n-\t\tvar sec, nsec int64\n-\t\tc.Fuzz(&sec)\n-\t\tc.Fuzz(&nsec)\n-\t\tj.CreationTimestamp = util.Unix(sec, nsec).Rfc3339Copy()\n-\t},\n-\tfunc(j *internal.ListMeta, c fuzz.Continue) {\n-\t\tj.ResourceVersion = strconv.FormatUint(c.RandUint64(), 10)\n-\t\tj.SelfLink = c.RandString()\n-\t},\n-\tfunc(j *internal.ObjectReference, c fuzz.Continue) {\n-\t\t// We have to customize the randomization of TypeMetas because their\n-\t\t// APIVersion and Kind must remain blank in memory.\n-\t\tj.APIVersion = c.RandString()\n-\t\tj.Kind = c.RandString()\n-\t\tj.Namespace = c.RandString()\n-\t\tj.Name = c.RandString()\n-\t\tj.ResourceVersion = strconv.FormatUint(c.RandUint64(), 10)\n-\t\tj.FieldPath = c.RandString()\n-\t},\n-\tfunc(j *internal.PodPhase, c fuzz.Continue) {\n-\t\tstatuses := []internal.PodPhase{internal.PodPending, internal.PodRunning, internal.PodFailed, internal.PodUnknown}\n-\t\t*j = statuses[c.Rand.Intn(len(statuses))]\n-\t},\n-\tfunc(j *internal.ReplicationControllerSpec, c fuzz.Continue) {\n-\t\t// TemplateRef must be nil for round trip\n-\t\tc.Fuzz(&j.Template)\n-\t\tif j.Template == nil {\n-\t\t\t// TODO: v1beta1/2 can't round trip a nil template correctly, fix by having v1beta1/2\n-\t\t\t// conversion compare converted object to nil via DeepEqual\n-\t\t\tj.Template = &internal.PodTemplateSpec{}\n-\t\t}\n-\t\tj.Template.ObjectMeta = internal.ObjectMeta{Labels: j.Template.ObjectMeta.Labels}\n-\t\tj.Template.Spec.NodeSelector = nil\n-\t\tc.Fuzz(&j.Selector)\n-\t\tj.Replicas = int(c.RandUint64())\n-\t},\n-\tfunc(j *internal.ReplicationControllerStatus, c fuzz.Continue) {\n-\t\t// only replicas round trips\n-\t\tj.Replicas = int(c.RandUint64())\n-\t},\n-\tfunc(j *internal.List, c fuzz.Continue) {\n-\t\tc.Fuzz(&j.ListMeta)\n-\t\tc.Fuzz(&j.Items)\n-\t\tif j.Items == nil {\n-\t\t\tj.Items = []runtime.Object{}\n-\t\t}\n-\t},\n-\tfunc(j *runtime.Object, c fuzz.Continue) {\n-\t\tif c.RandBool() {\n-\t\t\t*j = &runtime.Unknown{\n-\t\t\t\tTypeMeta: runtime.TypeMeta{Kind: \"Something\", APIVersion: \"unknown\"},\n-\t\t\t\tRawJSON:  []byte(`{\"apiVersion\":\"unknown\",\"kind\":\"Something\",\"someKey\":\"someValue\"}`),\n-\t\t\t}\n-\t\t} else {\n-\t\t\ttypes := []runtime.Object{&internal.Pod{}, &internal.ReplicationController{}}\n-\t\t\tt := types[c.Rand.Intn(len(types))]\n-\t\t\tc.Fuzz(t)\n-\t\t\t*j = t\n-\t\t}\n-\t},\n-\tfunc(intstr *util.IntOrString, c fuzz.Continue) {\n-\t\t// util.IntOrString will panic if its kind is set wrong.\n-\t\tif c.RandBool() {\n-\t\t\tintstr.Kind = util.IntstrInt\n-\t\t\tintstr.IntVal = int(c.RandUint64())\n-\t\t\tintstr.StrVal = \"\"\n-\t\t} else {\n-\t\t\tintstr.Kind = util.IntstrString\n-\t\t\tintstr.IntVal = 0\n-\t\t\tintstr.StrVal = c.RandString()\n-\t\t}\n-\t},\n-\tfunc(pb map[docker.Port][]docker.PortBinding, c fuzz.Continue) {\n-\t\t// This is necessary because keys with nil values get omitted.\n-\t\t// TODO: Is this a bug?\n-\t\tpb[docker.Port(c.RandString())] = []docker.PortBinding{\n-\t\t\t{c.RandString(), c.RandString()},\n-\t\t\t{c.RandString(), c.RandString()},\n-\t\t}\n-\t},\n-\tfunc(pm map[string]docker.PortMapping, c fuzz.Continue) {\n-\t\t// This is necessary because keys with nil values get omitted.\n-\t\t// TODO: Is this a bug?\n-\t\tpm[c.RandString()] = docker.PortMapping{\n-\t\t\tc.RandString(): c.RandString(),\n-\t\t}\n-\t},\n-\tfunc(p *internal.PullPolicy, c fuzz.Continue) {\n-\t\tpolicies := []internal.PullPolicy{internal.PullAlways, internal.PullNever, internal.PullIfNotPresent}\n-\t\t*p = policies[c.Rand.Intn(len(policies))]\n-\t},\n )\n \n func TestInternalRoundTrip(t *testing.T) {\n \tlatest := \"v1beta2\"\n \n+\tseed := rand.Int63()\n+\tapiObjectFuzzer := internal.FuzzerFor(nil, \"\", rand.NewSource(seed))","path":"pkg/api/latest/latest_test.go","position":128,"original_position":128,"commit_id":"098b4fe4468c15bda5b5c10bb0d74a98385631c6","original_commit_id":"098b4fe4468c15bda5b5c10bb0d74a98385631c6","user":{"login":"yujuhong","id":10524058,"avatar_url":"https://avatars.githubusercontent.com/u/10524058?v=3","gravatar_id":"","url":"https://api.github.com/users/yujuhong","html_url":"https://github.com/yujuhong","followers_url":"https://api.github.com/users/yujuhong/followers","following_url":"https://api.github.com/users/yujuhong/following{/other_user}","gists_url":"https://api.github.com/users/yujuhong/gists{/gist_id}","starred_url":"https://api.github.com/users/yujuhong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yujuhong/subscriptions","organizations_url":"https://api.github.com/users/yujuhong/orgs","repos_url":"https://api.github.com/users/yujuhong/repos","events_url":"https://api.github.com/users/yujuhong/events{/privacy}","received_events_url":"https://api.github.com/users/yujuhong/received_events","type":"User","site_admin":false},"body":"You're right. I forgot to pass that since we were not actually using \"t\" anywhere in FuzzFor(). Fixed.","created_at":"2015-01-29T22:33:15Z","updated_at":"2015-01-29T22:33:15Z","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/3917#discussion_r23809225","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/3917","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments/23809225"},"html":{"href":"https://github.com/GoogleCloudPlatform/kubernetes/pull/3917#discussion_r23809225"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/3917"}}},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/3917","id":28246478,"html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/3917","diff_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/3917.diff","patch_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/3917.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3917","number":3917,"state":"open","locked":false,"title":"Refactor API object fuzzer","user":{"login":"yujuhong","id":10524058,"avatar_url":"https://avatars.githubusercontent.com/u/10524058?v=3","gravatar_id":"","url":"https://api.github.com/users/yujuhong","html_url":"https://github.com/yujuhong","followers_url":"https://api.github.com/users/yujuhong/followers","following_url":"https://api.github.com/users/yujuhong/following{/other_user}","gists_url":"https://api.github.com/users/yujuhong/gists{/gist_id}","starred_url":"https://api.github.com/users/yujuhong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yujuhong/subscriptions","organizations_url":"https://api.github.com/users/yujuhong/orgs","repos_url":"https://api.github.com/users/yujuhong/repos","events_url":"https://api.github.com/users/yujuhong/events{/privacy}","received_events_url":"https://api.github.com/users/yujuhong/received_events","type":"User","site_admin":false},"body":"API object fuzzer is used to randomly populate API object for testing. Similar\r\ncode of the fuzzer was duplicated in multiple files. This change refactors the\r\ntests and moves the fuzzer to a separate file.\r\n\r\nThis closes #3691.","created_at":"2015-01-29T01:28:16Z","updated_at":"2015-01-29T22:33:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9e4330971f00436a38e530f3fa96f2ef2e99d091","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/3917/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/3917/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments/{number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3917/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/statuses/098b4fe4468c15bda5b5c10bb0d74a98385631c6","head":{"label":"yujuhong:dedup","ref":"dedup","sha":"098b4fe4468c15bda5b5c10bb0d74a98385631c6","user":{"login":"yujuhong","id":10524058,"avatar_url":"https://avatars.githubusercontent.com/u/10524058?v=3","gravatar_id":"","url":"https://api.github.com/users/yujuhong","html_url":"https://github.com/yujuhong","followers_url":"https://api.github.com/users/yujuhong/followers","following_url":"https://api.github.com/users/yujuhong/following{/other_user}","gists_url":"https://api.github.com/users/yujuhong/gists{/gist_id}","starred_url":"https://api.github.com/users/yujuhong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yujuhong/subscriptions","organizations_url":"https://api.github.com/users/yujuhong/orgs","repos_url":"https://api.github.com/users/yujuhong/repos","events_url":"https://api.github.com/users/yujuhong/events{/privacy}","received_events_url":"https://api.github.com/users/yujuhong/received_events","type":"User","site_admin":false},"repo":{"id":29618390,"name":"kubernetes","full_name":"yujuhong/kubernetes","owner":{"login":"yujuhong","id":10524058,"avatar_url":"https://avatars.githubusercontent.com/u/10524058?v=3","gravatar_id":"","url":"https://api.github.com/users/yujuhong","html_url":"https://github.com/yujuhong","followers_url":"https://api.github.com/users/yujuhong/followers","following_url":"https://api.github.com/users/yujuhong/following{/other_user}","gists_url":"https://api.github.com/users/yujuhong/gists{/gist_id}","starred_url":"https://api.github.com/users/yujuhong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yujuhong/subscriptions","organizations_url":"https://api.github.com/users/yujuhong/orgs","repos_url":"https://api.github.com/users/yujuhong/repos","events_url":"https://api.github.com/users/yujuhong/events{/privacy}","received_events_url":"https://api.github.com/users/yujuhong/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/yujuhong/kubernetes","description":"Container Cluster Manager","fork":true,"url":"https://api.github.com/repos/yujuhong/kubernetes","forks_url":"https://api.github.com/repos/yujuhong/kubernetes/forks","keys_url":"https://api.github.com/repos/yujuhong/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/yujuhong/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/yujuhong/kubernetes/teams","hooks_url":"https://api.github.com/repos/yujuhong/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/yujuhong/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/yujuhong/kubernetes/events","assignees_url":"https://api.github.com/repos/yujuhong/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/yujuhong/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/yujuhong/kubernetes/tags","blobs_url":"https://api.github.com/repos/yujuhong/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/yujuhong/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/yujuhong/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/yujuhong/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/yujuhong/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/yujuhong/kubernetes/languages","stargazers_url":"https://api.github.com/repos/yujuhong/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/yujuhong/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/yujuhong/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/yujuhong/kubernetes/subscription","commits_url":"https://api.github.com/repos/yujuhong/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/yujuhong/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/yujuhong/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/yujuhong/kubernetes/issues/comments/{number}","contents_url":"https://api.github.com/repos/yujuhong/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/yujuhong/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/yujuhong/kubernetes/merges","archive_url":"https://api.github.com/repos/yujuhong/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/yujuhong/kubernetes/downloads","issues_url":"https://api.github.com/repos/yujuhong/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/yujuhong/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/yujuhong/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/yujuhong/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/yujuhong/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/yujuhong/kubernetes/releases{/id}","created_at":"2015-01-21T21:45:40Z","updated_at":"2015-01-29T01:03:54Z","pushed_at":"2015-01-29T01:25:08Z","git_url":"git://github.com/yujuhong/kubernetes.git","ssh_url":"git@github.com:yujuhong/kubernetes.git","clone_url":"https://github.com/yujuhong/kubernetes.git","svn_url":"https://github.com/yujuhong/kubernetes","homepage":"http://kubernetes.io","size":26029,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"GoogleCloudPlatform:master","ref":"master","sha":"fcb1cd30ff5704bb463aa3d6a3280f6c6af478b8","user":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":20580498,"name":"kubernetes","full_name":"GoogleCloudPlatform/kubernetes","owner":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/kubernetes","description":"Container Cluster Manager","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/comments/{number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/releases{/id}","created_at":"2014-06-06T22:56:04Z","updated_at":"2015-01-29T22:12:44Z","pushed_at":"2015-01-29T22:12:44Z","git_url":"git://github.com/GoogleCloudPlatform/kubernetes.git","ssh_url":"git@github.com:GoogleCloudPlatform/kubernetes.git","clone_url":"https://github.com/GoogleCloudPlatform/kubernetes.git","svn_url":"https://github.com/GoogleCloudPlatform/kubernetes","homepage":"http://kubernetes.io","size":64188,"stargazers_count":5968,"watchers_count":5968,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1004,"mirror_url":null,"open_issues_count":658,"forks":1004,"open_issues":658,"watchers":5968,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/3917"},"html":{"href":"https://github.com/GoogleCloudPlatform/kubernetes/pull/3917"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3917"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3917/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/3917/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/3917/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/statuses/098b4fe4468c15bda5b5c10bb0d74a98385631c6"}}}}