{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/comments/74175035","id":74175035,"diff_hunk":"@@ -0,0 +1,304 @@\n+// Copyright 2016 Google Inc. All rights reserved.\n+// Use of this source code is governed by the Apache 2.0\n+// license that can be found in the LICENSE file.\n+\n+// Command dataproc uses the Cloud Dataproc API to create a cluster,\n+// submit a sample job, and delete the cluster when finished.\n+package main\n+\n+import (\n+\t\"errors\"\n+\t\"flag\"\n+\t\"fmt\"\n+\t\"io/ioutil\"\n+\t\"log\"\n+\t\"strings\"\n+\t\"time\"\n+\n+\t\"golang.org/x/net/context\"\n+\t\"golang.org/x/oauth2/google\"\n+\n+\tdataproc \"google.golang.org/api/dataproc/v1\"\n+\tstorage \"cloud.google.com/go/storage\"\n+)\n+\n+const (\n+\t// Filename of example job (Python) file uploaded to Cloud Storage\n+\texampleJobName = \"test-file\"\n+\n+\t// Allows for full access to Google Cloud Platform products\n+\tscope = \"https://www.googleapis.com/auth/cloud-platform\"\n+\n+\t// Compute URI base\n+\tcomputeUriBase = \"https://www.googleapis.com/compute/v1/projects/%s/zones/%s\"\n+)\n+\n+var (\n+\tbucketName  = flag.String(\"bucket\", \"\", \"GCS Bucket for storage of job file\")\n+\tclusterName = flag.String(\"cluster-name\", \"\", \"Name of cluster\")\n+\tprojectID   = flag.String(\"project\", \"\", \"Your cloud project ID.\")\n+\tpysparkFile = flag.String(\"pyspark-file\", \"\", \"PySpark Job file\")\n+\tregion      = flag.String(\"region\", \"global\", \"Your cloud project region.\")\n+\tzoneID      = flag.String(\"zone\", \"\", \"Cloud Platform zone\")\n+)\n+\n+// clusterConfig defines the confuration of a cluster including its project, name, and region.\n+type clusterConfig struct{\n+\t\tbucket,\n+    project,\n+\t\tregion,\n+\t\tstate,\n+\t\tname,\n+\t\tuuid,\n+\t\tzone string\n+}\n+\n+func main() {\n+\t// Parse command line arguments\n+\tflag.Parse()\n+\n+\t// Check for required flags (golang flags does not support?)\n+\tif *bucketName == \"\" || *clusterName == \"\" || *projectID == \"\" || *pysparkFile == \"\" || *region == \"\" || *zoneID == \"\" {\n+\t\tlog.Fatal(\"Incorrect arguments specified see 'go-dataproc -help' for help\")\n+\t}\n+\n+\t// Create a new Cloud Dataproc service\n+\tctx := context.Background()\n+\tclient, err := google.DefaultClient(ctx, scope)\n+\tif err != nil {\n+\t\tlog.Fatal(err)\n+\t}\n+\tservice, err := dataproc.New(client)\n+\tif err != nil {\n+\t\tlog.Fatal(err)\n+\t}\n+\n+\t// Create a new Google Clout Storage service\n+\tstorageService, err := storage.NewClient(ctx)\n+\tif err != nil {\n+\t\tlog.Fatal(err)\n+\t}\n+\n+\t// Create a new clusterConfig to hold details about this cluster\n+\tcluster := clusterConfig{project: *projectID, region: *region, name: *clusterName, zone: *zoneID}\n+\n+\t// Create a cluster\n+\tif _, err := createCluster(service, &cluster); err != nil {\n+\t\tlog.Fatal(err)\n+\t}\n+\tlog.Println(\"Cluster created\")\n+\n+\t// Wait on the cluster to become active\n+\tlog.Println(\"Waiting for cluster to be ready\")\n+\tif _, err = waitForCluster(service, &cluster); err != nil {\n+\t\tlog.Fatal(err)\n+\t}\n+\n+\t// Submit a job to the cluster\n+\tlog.Println(\"Submitting job\")\n+\tjobID, err := submitJob(service, storageService, *pysparkFile, *bucketName, &cluster)\n+\tif err != nil {\n+\t\tlog.Fatal(err)\n+\t}\n+\n+\t// Wait for the job to complete\n+\tlog.Println(\"Waiting for job to complete\")\n+\tif _, err = waitForJob(service, jobID, &cluster); err != nil {\n+\t\tlog.Fatal(err)\n+\t}\n+\tlog.Println(\"Job is finished\")\n+\n+\toutput, err := getJobOutput(storageService, jobID, &cluster)\n+\tif err != nil {\n+\t\tlog.Fatal(err)\n+\t}\n+\tlog.Printf(\"Job output:\\n%s\\n\", output)\n+\n+\t// Delete the cluster\n+\tif _, err = deleteCluster(service, &cluster); err != nil {\n+\t\tlog.Fatal(err)\n+\t}\n+\tlog.Println(\"Cluster deleted\")\n+}\n+\n+// createCluster creates a Cloud Dataproc cluster with the given name and region.\n+func createCluster(service *dataproc.Service, cluster *clusterConfig) (response string, err error) {\n+\t// Create a gceConfig object for the cluster\n+\tgceConfig := dataproc.GceClusterConfig{\n+\t\tZoneUri: fmt.Sprintf(computeUriBase, cluster.project, cluster.zone),\n+\t}\n+\n+\t// Create a (Dataproc API) clusterConfig for the cluster\n+\tclusterConfig := dataproc.ClusterConfig{\n+\t\tGceClusterConfig: &gceConfig,\n+\t}\n+\n+\t// Create a cluster object\n+\tclusterSpec := dataproc.Cluster{\n+\t\tClusterName: cluster.name,\n+\t\tProjectId:   cluster.project,\n+\t\tConfig:      &clusterConfig,\n+\t}\n+\n+\t// Create the cluster\n+\tres, err := service.Projects.Regions.Clusters.Create(cluster.project, cluster.region, &clusterSpec).Do()\n+\n+\treturn fmt.Sprintf(\"%s\", res), err","path":"dataproc/dataproc.go","position":146,"original_position":146,"commit_id":"9b8d2d58c3797518c13f48f3740be607b7b69e76","original_commit_id":"9b8d2d58c3797518c13f48f3740be607b7b69e76","user":{"login":"broady","id":24982,"avatar_url":"https://avatars.githubusercontent.com/u/24982?v=3","gravatar_id":"","url":"https://api.github.com/users/broady","html_url":"https://github.com/broady","followers_url":"https://api.github.com/users/broady/followers","following_url":"https://api.github.com/users/broady/following{/other_user}","gists_url":"https://api.github.com/users/broady/gists{/gist_id}","starred_url":"https://api.github.com/users/broady/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/broady/subscriptions","organizations_url":"https://api.github.com/users/broady/orgs","repos_url":"https://api.github.com/users/broady/repos","events_url":"https://api.github.com/users/broady/events{/privacy}","received_events_url":"https://api.github.com/users/broady/received_events","type":"User","site_admin":false},"body":"Just `return ...Do()`, perhaps? The formatted string is not used except for tests.","created_at":"2016-08-10T01:55:58Z","updated_at":"2016-08-10T01:55:58Z","html_url":"https://github.com/GoogleCloudPlatform/golang-samples/pull/77#discussion_r74175035","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/77","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/comments/74175035"},"html":{"href":"https://github.com/GoogleCloudPlatform/golang-samples/pull/77#discussion_r74175035"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/77"}}},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/77","id":80112042,"html_url":"https://github.com/GoogleCloudPlatform/golang-samples/pull/77","diff_url":"https://github.com/GoogleCloudPlatform/golang-samples/pull/77.diff","patch_url":"https://github.com/GoogleCloudPlatform/golang-samples/pull/77.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/issues/77","number":77,"state":"open","locked":false,"title":"Adding example for Cloud Dataproc","user":{"login":"evilsoapbox","id":425799,"avatar_url":"https://avatars.githubusercontent.com/u/425799?v=3","gravatar_id":"","url":"https://api.github.com/users/evilsoapbox","html_url":"https://github.com/evilsoapbox","followers_url":"https://api.github.com/users/evilsoapbox/followers","following_url":"https://api.github.com/users/evilsoapbox/following{/other_user}","gists_url":"https://api.github.com/users/evilsoapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/evilsoapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evilsoapbox/subscriptions","organizations_url":"https://api.github.com/users/evilsoapbox/orgs","repos_url":"https://api.github.com/users/evilsoapbox/repos","events_url":"https://api.github.com/users/evilsoapbox/events{/privacy}","received_events_url":"https://api.github.com/users/evilsoapbox/received_events","type":"User","site_admin":false},"body":"Go example for Google Cloud Dataproc. This sample follows a pretty basic (and common) Cloud Dataproc pattern:\r\n\r\n1. Create cluster\r\n2. Submit job\r\n3. Get job output\r\n4. Delete cluster\r\n\r\nA sample PySpark job is also included in the repository.","created_at":"2016-08-04T16:48:05Z","updated_at":"2016-08-10T01:55:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f7f0a28777444e07cfaff86ed03e949d3ec745e3","assignee":{"login":"broady","id":24982,"avatar_url":"https://avatars.githubusercontent.com/u/24982?v=3","gravatar_id":"","url":"https://api.github.com/users/broady","html_url":"https://github.com/broady","followers_url":"https://api.github.com/users/broady/followers","following_url":"https://api.github.com/users/broady/following{/other_user}","gists_url":"https://api.github.com/users/broady/gists{/gist_id}","starred_url":"https://api.github.com/users/broady/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/broady/subscriptions","organizations_url":"https://api.github.com/users/broady/orgs","repos_url":"https://api.github.com/users/broady/repos","events_url":"https://api.github.com/users/broady/events{/privacy}","received_events_url":"https://api.github.com/users/broady/received_events","type":"User","site_admin":false},"assignees":[{"login":"broady","id":24982,"avatar_url":"https://avatars.githubusercontent.com/u/24982?v=3","gravatar_id":"","url":"https://api.github.com/users/broady","html_url":"https://github.com/broady","followers_url":"https://api.github.com/users/broady/followers","following_url":"https://api.github.com/users/broady/following{/other_user}","gists_url":"https://api.github.com/users/broady/gists{/gist_id}","starred_url":"https://api.github.com/users/broady/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/broady/subscriptions","organizations_url":"https://api.github.com/users/broady/orgs","repos_url":"https://api.github.com/users/broady/repos","events_url":"https://api.github.com/users/broady/events{/privacy}","received_events_url":"https://api.github.com/users/broady/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/77/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/77/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/issues/77/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/statuses/9b8d2d58c3797518c13f48f3740be607b7b69e76","head":{"label":"evilsoapbox:master","ref":"master","sha":"9b8d2d58c3797518c13f48f3740be607b7b69e76","user":{"login":"evilsoapbox","id":425799,"avatar_url":"https://avatars.githubusercontent.com/u/425799?v=3","gravatar_id":"","url":"https://api.github.com/users/evilsoapbox","html_url":"https://github.com/evilsoapbox","followers_url":"https://api.github.com/users/evilsoapbox/followers","following_url":"https://api.github.com/users/evilsoapbox/following{/other_user}","gists_url":"https://api.github.com/users/evilsoapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/evilsoapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evilsoapbox/subscriptions","organizations_url":"https://api.github.com/users/evilsoapbox/orgs","repos_url":"https://api.github.com/users/evilsoapbox/repos","events_url":"https://api.github.com/users/evilsoapbox/events{/privacy}","received_events_url":"https://api.github.com/users/evilsoapbox/received_events","type":"User","site_admin":false},"repo":{"id":64230485,"name":"golang-samples","full_name":"evilsoapbox/golang-samples","owner":{"login":"evilsoapbox","id":425799,"avatar_url":"https://avatars.githubusercontent.com/u/425799?v=3","gravatar_id":"","url":"https://api.github.com/users/evilsoapbox","html_url":"https://github.com/evilsoapbox","followers_url":"https://api.github.com/users/evilsoapbox/followers","following_url":"https://api.github.com/users/evilsoapbox/following{/other_user}","gists_url":"https://api.github.com/users/evilsoapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/evilsoapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evilsoapbox/subscriptions","organizations_url":"https://api.github.com/users/evilsoapbox/orgs","repos_url":"https://api.github.com/users/evilsoapbox/repos","events_url":"https://api.github.com/users/evilsoapbox/events{/privacy}","received_events_url":"https://api.github.com/users/evilsoapbox/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/evilsoapbox/golang-samples","description":"Sample apps and code written in the Go programming language.","fork":true,"url":"https://api.github.com/repos/evilsoapbox/golang-samples","forks_url":"https://api.github.com/repos/evilsoapbox/golang-samples/forks","keys_url":"https://api.github.com/repos/evilsoapbox/golang-samples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/evilsoapbox/golang-samples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/evilsoapbox/golang-samples/teams","hooks_url":"https://api.github.com/repos/evilsoapbox/golang-samples/hooks","issue_events_url":"https://api.github.com/repos/evilsoapbox/golang-samples/issues/events{/number}","events_url":"https://api.github.com/repos/evilsoapbox/golang-samples/events","assignees_url":"https://api.github.com/repos/evilsoapbox/golang-samples/assignees{/user}","branches_url":"https://api.github.com/repos/evilsoapbox/golang-samples/branches{/branch}","tags_url":"https://api.github.com/repos/evilsoapbox/golang-samples/tags","blobs_url":"https://api.github.com/repos/evilsoapbox/golang-samples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/evilsoapbox/golang-samples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/evilsoapbox/golang-samples/git/refs{/sha}","trees_url":"https://api.github.com/repos/evilsoapbox/golang-samples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/evilsoapbox/golang-samples/statuses/{sha}","languages_url":"https://api.github.com/repos/evilsoapbox/golang-samples/languages","stargazers_url":"https://api.github.com/repos/evilsoapbox/golang-samples/stargazers","contributors_url":"https://api.github.com/repos/evilsoapbox/golang-samples/contributors","subscribers_url":"https://api.github.com/repos/evilsoapbox/golang-samples/subscribers","subscription_url":"https://api.github.com/repos/evilsoapbox/golang-samples/subscription","commits_url":"https://api.github.com/repos/evilsoapbox/golang-samples/commits{/sha}","git_commits_url":"https://api.github.com/repos/evilsoapbox/golang-samples/git/commits{/sha}","comments_url":"https://api.github.com/repos/evilsoapbox/golang-samples/comments{/number}","issue_comment_url":"https://api.github.com/repos/evilsoapbox/golang-samples/issues/comments{/number}","contents_url":"https://api.github.com/repos/evilsoapbox/golang-samples/contents/{+path}","compare_url":"https://api.github.com/repos/evilsoapbox/golang-samples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/evilsoapbox/golang-samples/merges","archive_url":"https://api.github.com/repos/evilsoapbox/golang-samples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/evilsoapbox/golang-samples/downloads","issues_url":"https://api.github.com/repos/evilsoapbox/golang-samples/issues{/number}","pulls_url":"https://api.github.com/repos/evilsoapbox/golang-samples/pulls{/number}","milestones_url":"https://api.github.com/repos/evilsoapbox/golang-samples/milestones{/number}","notifications_url":"https://api.github.com/repos/evilsoapbox/golang-samples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/evilsoapbox/golang-samples/labels{/name}","releases_url":"https://api.github.com/repos/evilsoapbox/golang-samples/releases{/id}","deployments_url":"https://api.github.com/repos/evilsoapbox/golang-samples/deployments","created_at":"2016-07-26T15:00:52Z","updated_at":"2016-07-26T15:00:53Z","pushed_at":"2016-08-10T01:14:46Z","git_url":"git://github.com/evilsoapbox/golang-samples.git","ssh_url":"git@github.com:evilsoapbox/golang-samples.git","clone_url":"https://github.com/evilsoapbox/golang-samples.git","svn_url":"https://github.com/evilsoapbox/golang-samples","homepage":null,"size":352,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"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":"9f653cb5068b8eab617ee07426d0c1002435c6c3","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":43332504,"name":"golang-samples","full_name":"GoogleCloudPlatform/golang-samples","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/golang-samples","description":"Sample apps and code written in the Go programming language.","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/releases{/id}","deployments_url":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/deployments","created_at":"2015-09-28T23:20:08Z","updated_at":"2016-08-09T19:00:58Z","pushed_at":"2016-08-10T01:14:46Z","git_url":"git://github.com/GoogleCloudPlatform/golang-samples.git","ssh_url":"git@github.com:GoogleCloudPlatform/golang-samples.git","clone_url":"https://github.com/GoogleCloudPlatform/golang-samples.git","svn_url":"https://github.com/GoogleCloudPlatform/golang-samples","homepage":null,"size":403,"stargazers_count":75,"watchers_count":75,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":31,"mirror_url":null,"open_issues_count":11,"forks":31,"open_issues":11,"watchers":75,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/77"},"html":{"href":"https://github.com/GoogleCloudPlatform/golang-samples/pull/77"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/issues/77"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/issues/77/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/77/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/pulls/77/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/golang-samples/statuses/9b8d2d58c3797518c13f48f3740be607b7b69e76"}}}}
{"actor":{"display_login":"broady"}}