{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/comments/222829492","pull_request_review_id":161813302,"id":222829492,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyMjgyOTQ5Mg==","diff_hunk":"@@ -762,6 +782,184 @@ bool GetRequesterPays(string bucketName)\n         }\r\n         // [END storage_download_file_requester_pays]\r\n \r\n+        // [START storage_set_retention_policy]\r\n+        private void SetBucketRetentionPolicy(string bucketName,\r\n+            long retentionPeriod)\r\n+        {\r\n+            var storage = StorageClient.Create();\r\n+            var bucket = storage.GetBucket(bucketName);\r\n+            bucket.RetentionPolicy = new Bucket.RetentionPolicyData();\r\n+            bucket.RetentionPolicy.RetentionPeriod = retentionPeriod;\r\n+            bucket = storage.UpdateBucket(bucket, new UpdateBucketOptions()\r\n+            {\r\n+                IfMetagenerationMatch = bucket.Metageneration\r\n+            });\r\n+\r\n+            Console.WriteLine($\"Retention policy for {bucketName} was set to {retentionPeriod}\");\r\n+        }\r\n+        // [END storage_set_retention_policy]\r\n+\r\n+        // [START storage_lock_retention_policy]\r\n+        private void LockBucketRetentionPolicy(string bucketName)\r\n+        {\r\n+            var storage = StorageClient.Create();\r\n+            var bucket = storage.GetBucket(bucketName);\r\n+            storage.LockBucketRetentionPolicy(bucketName,\r\n+                bucket.Metageneration.Value);\r\n+            bucket = storage.GetBucket(bucketName);\r\n+            Console.WriteLine($\"Retention policy for {bucketName} is now locked\");\r\n+            Console.WriteLine($\"Retention policy effective as of {bucket.RetentionPolicy.EffectiveTime}\");\r\n+        }\r\n+        // [END storage_lock_retention_policy]\r\n+\r\n+        // [START storage_remove_retention_policy]\r\n+        private void RemoveBucketRetentionPolicy(string bucketName)\r\n+        {\r\n+            var storage = StorageClient.Create();\r\n+            var bucket = storage.GetBucket(bucketName);\r\n+            if (bucket.RetentionPolicy != null)\r\n+            {\r\n+                bool? isLockedOrNull = bucket?.RetentionPolicy.IsLocked;\r\n+                bool isLocked =\r\n+                    isLockedOrNull.HasValue ? isLockedOrNull.Value : false;\r\n+                if (isLocked)\r\n+                {\r\n+                    throw new Exception(\"Retention Policy is locked.\");\r\n+                }\r\n+\r\n+                bucket.RetentionPolicy.RetentionPeriod = null;\r\n+                bucket = storage.UpdateBucket(bucket, new UpdateBucketOptions()\r\n+                {\r\n+                    IfMetagenerationMatch = bucket.Metageneration\r\n+                });\r\n+\r\n+                Console.WriteLine($\"Retention period for {bucketName} has been removed.\");\r\n+            }\r\n+        }\r\n+        // [END storage_remove_retention_policy]\r\n+\r\n+        // [START storage_get_retention_policy]\r\n+        private void GetBucketRetentionPolicy(string bucketName)\r\n+        {\r\n+            var storage = StorageClient.Create();\r\n+            var bucket = storage.GetBucket(bucketName);\r\n+\r\n+            if (bucket.RetentionPolicy != null)\r\n+            {\r\n+                Console.WriteLine(\"Retention policy:\");\r\n+                Console.WriteLine($\"period: {bucket.RetentionPolicy.RetentionPeriod}\");\r\n+                Console.WriteLine($\"effective time: {bucket.RetentionPolicy.EffectiveTime}\");\r\n+                bool? isLockedOrNull = bucket?.RetentionPolicy.IsLocked;\r\n+                bool isLocked =\r\n+                    isLockedOrNull.HasValue ? isLockedOrNull.Value : false;\r\n+                Console.WriteLine(\"policy locked: {0}\", isLocked);\r\n+            }\r\n+        }\r\n+        // [END storage_get_retention_policy]\r\n+\r\n+        // [START storage_enable_default_event_based_hold]\r\n+        private void EnableBucketDefaultEventBasedHold(string bucketName)\r\n+        {\r\n+            var storage = StorageClient.Create();\r\n+            var bucket = storage.GetBucket(bucketName);\r\n+            bucket.DefaultEventBasedHold = true;\r\n+            bucket = storage.UpdateBucket(bucket, new UpdateBucketOptions()\r\n+            {\r\n+                // Use IfMetagenerationMatch to avoid race conditions.\r\n+                IfMetagenerationMatch = bucket.Metageneration\r\n+            });\r\n+            Console.WriteLine($\"Default event-based hold was enabled for #{bucketName}\");\r\n+        }\r\n+        // [END storage_enable_default_event_based_hold]\r\n+\r\n+        // [START storage_get_default_event_based_hold]\r\n+        private bool GetBucketDefaultEventBasedHold(string bucketName)\r\n+        {\r\n+            var storage = StorageClient.Create();\r\n+            var bucket = storage.GetBucket(bucketName);\r\n+            bool? defaultEventBasedHoldOrNull = bucket?.DefaultEventBasedHold;\r\n+            bool defaultEventBasedHold =\r\n+                defaultEventBasedHoldOrNull.HasValue ? defaultEventBasedHoldOrNull.Value : false;\r\n+            Console.WriteLine(\"Default event-based hold: {0}\", defaultEventBasedHold);\r\n+            return defaultEventBasedHold;\r\n+        }\r\n+        // [END storage_get_default_event_based_hold]\r\n+\r\n+        // [START storage_disable_default_event_based_hold]\r\n+        private void DisableBucketDefaultEventBasedHold(string bucketName)\r\n+        {\r\n+            var storage = StorageClient.Create();\r\n+            var bucket = storage.GetBucket(bucketName);\r\n+            bucket.DefaultEventBasedHold = false;\r\n+            bucket = storage.UpdateBucket(bucket, new UpdateBucketOptions()\r\n+            {\r\n+                // Use IfMetagenerationMatch to avoid race conditions.\r\n+                IfMetagenerationMatch = bucket.Metageneration\r\n+            });\r\n+            Console.WriteLine($\"Default event-based hold was disabled for #{bucketName}\");\r","path":"storage/api/Storage/Storage.cs","position":163,"original_position":163,"commit_id":"50ef5fa1ee59ff54ec0537ffc7f00fa276b73f5d","original_commit_id":"50ef5fa1ee59ff54ec0537ffc7f00fa276b73f5d","user":{"login":"jsimonweb","id":2709164,"node_id":"MDQ6VXNlcjI3MDkxNjQ=","avatar_url":"https://avatars1.githubusercontent.com/u/2709164?v=4","gravatar_id":"","url":"https://api.github.com/users/jsimonweb","html_url":"https://github.com/jsimonweb","followers_url":"https://api.github.com/users/jsimonweb/followers","following_url":"https://api.github.com/users/jsimonweb/following{/other_user}","gists_url":"https://api.github.com/users/jsimonweb/gists{/gist_id}","starred_url":"https://api.github.com/users/jsimonweb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsimonweb/subscriptions","organizations_url":"https://api.github.com/users/jsimonweb/orgs","repos_url":"https://api.github.com/users/jsimonweb/repos","events_url":"https://api.github.com/users/jsimonweb/events{/privacy}","received_events_url":"https://api.github.com/users/jsimonweb/received_events","type":"User","site_admin":false},"body":"#{bucketName}\r\n\r\nConsider removing the \"#\" symbol.","created_at":"2018-10-04T21:14:38Z","updated_at":"2018-10-04T21:14:39Z","html_url":"https://github.com/GoogleCloudPlatform/dotnet-docs-samples/pull/648#discussion_r222829492","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/648","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/comments/222829492"},"html":{"href":"https://github.com/GoogleCloudPlatform/dotnet-docs-samples/pull/648#discussion_r222829492"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/648"}}},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/648","id":218106824,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE4MTA2ODI0","html_url":"https://github.com/GoogleCloudPlatform/dotnet-docs-samples/pull/648","diff_url":"https://github.com/GoogleCloudPlatform/dotnet-docs-samples/pull/648.diff","patch_url":"https://github.com/GoogleCloudPlatform/dotnet-docs-samples/pull/648.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/issues/648","number":648,"state":"open","locked":false,"title":"[Storage] Bucket lock samples","user":{"login":"frankyn","id":1907648,"node_id":"MDQ6VXNlcjE5MDc2NDg=","avatar_url":"https://avatars1.githubusercontent.com/u/1907648?v=4","gravatar_id":"","url":"https://api.github.com/users/frankyn","html_url":"https://github.com/frankyn","followers_url":"https://api.github.com/users/frankyn/followers","following_url":"https://api.github.com/users/frankyn/following{/other_user}","gists_url":"https://api.github.com/users/frankyn/gists{/gist_id}","starred_url":"https://api.github.com/users/frankyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankyn/subscriptions","organizations_url":"https://api.github.com/users/frankyn/orgs","repos_url":"https://api.github.com/users/frankyn/repos","events_url":"https://api.github.com/users/frankyn/events{/privacy}","received_events_url":"https://api.github.com/users/frankyn/received_events","type":"User","site_admin":false},"body":"### Samples\r\n- [x]  Tested samples\r\n- [x]  Define a retention policy\r\n- [x]  Remove a retention policy if not locked\r\n- [x]  Lock a retention policy\r\n- [x]  Set temporary hold\r\n- [x]  Release temporary hold\r\n- [x]  Set event-based hold\r\n- [x]  Release event-based hold\r\n- [x]  Set default event-based hold\r\n- [x]  Release default event-based hold\r\n- [x]  View default event-based hold\r\n- [x]  View bucket retention policy metadata\r\n- [x]  View metadata for object\r\n- [x]  Updated README.md\r\n- [x]  Updated CLI\r\n- [x] enable feature for test projects.\r\n- [x] lint.\r\n- [x] Test against Kokoro when library is released. Right now, I'm only able to test locally.","created_at":"2018-09-25T20:21:23Z","updated_at":"2018-10-04T21:14:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dd0ec905473029e97e6eb5a2f3757497ee3d3b44","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/648/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/648/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/issues/648/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/statuses/50ef5fa1ee59ff54ec0537ffc7f00fa276b73f5d","head":{"label":"frankyn:bucket-lock-samples","ref":"bucket-lock-samples","sha":"50ef5fa1ee59ff54ec0537ffc7f00fa276b73f5d","user":{"login":"frankyn","id":1907648,"node_id":"MDQ6VXNlcjE5MDc2NDg=","avatar_url":"https://avatars1.githubusercontent.com/u/1907648?v=4","gravatar_id":"","url":"https://api.github.com/users/frankyn","html_url":"https://github.com/frankyn","followers_url":"https://api.github.com/users/frankyn/followers","following_url":"https://api.github.com/users/frankyn/following{/other_user}","gists_url":"https://api.github.com/users/frankyn/gists{/gist_id}","starred_url":"https://api.github.com/users/frankyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankyn/subscriptions","organizations_url":"https://api.github.com/users/frankyn/orgs","repos_url":"https://api.github.com/users/frankyn/repos","events_url":"https://api.github.com/users/frankyn/events{/privacy}","received_events_url":"https://api.github.com/users/frankyn/received_events","type":"User","site_admin":false},"repo":{"id":138231400,"node_id":"MDEwOlJlcG9zaXRvcnkxMzgyMzE0MDA=","name":"dotnet-docs-samples","full_name":"frankyn/dotnet-docs-samples","private":false,"owner":{"login":"frankyn","id":1907648,"node_id":"MDQ6VXNlcjE5MDc2NDg=","avatar_url":"https://avatars1.githubusercontent.com/u/1907648?v=4","gravatar_id":"","url":"https://api.github.com/users/frankyn","html_url":"https://github.com/frankyn","followers_url":"https://api.github.com/users/frankyn/followers","following_url":"https://api.github.com/users/frankyn/following{/other_user}","gists_url":"https://api.github.com/users/frankyn/gists{/gist_id}","starred_url":"https://api.github.com/users/frankyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankyn/subscriptions","organizations_url":"https://api.github.com/users/frankyn/orgs","repos_url":"https://api.github.com/users/frankyn/repos","events_url":"https://api.github.com/users/frankyn/events{/privacy}","received_events_url":"https://api.github.com/users/frankyn/received_events","type":"User","site_admin":false},"html_url":"https://github.com/frankyn/dotnet-docs-samples","description":".NET code samples used on https://cloud.google.com","fork":true,"url":"https://api.github.com/repos/frankyn/dotnet-docs-samples","forks_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/forks","keys_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/teams","hooks_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/hooks","issue_events_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/issues/events{/number}","events_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/events","assignees_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/assignees{/user}","branches_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/branches{/branch}","tags_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/tags","blobs_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/git/refs{/sha}","trees_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/statuses/{sha}","languages_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/languages","stargazers_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/stargazers","contributors_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/contributors","subscribers_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/subscribers","subscription_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/subscription","commits_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/commits{/sha}","git_commits_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/git/commits{/sha}","comments_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/comments{/number}","issue_comment_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/issues/comments{/number}","contents_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/contents/{+path}","compare_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/merges","archive_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/downloads","issues_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/issues{/number}","pulls_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/pulls{/number}","milestones_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/milestones{/number}","notifications_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/labels{/name}","releases_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/releases{/id}","deployments_url":"https://api.github.com/repos/frankyn/dotnet-docs-samples/deployments","created_at":"2018-06-21T23:18:23Z","updated_at":"2018-06-21T23:18:27Z","pushed_at":"2018-10-03T23:38:58Z","git_url":"git://github.com/frankyn/dotnet-docs-samples.git","ssh_url":"git@github.com:frankyn/dotnet-docs-samples.git","clone_url":"https://github.com/frankyn/dotnet-docs-samples.git","svn_url":"https://github.com/frankyn/dotnet-docs-samples","homepage":"https://cloud.google.com/dotnet","size":14225,"stargazers_count":0,"watchers_count":0,"language":"C#","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":"other","name":"NOASSERTION","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"GoogleCloudPlatform:master","ref":"master","sha":"ffd0e648acbcfe26500f9247e54c10b15f10079e","user":{"login":"GoogleCloudPlatform","id":2810941,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MTA5NDE=","avatar_url":"https://avatars0.githubusercontent.com/u/2810941?v=4","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":43513481,"node_id":"MDEwOlJlcG9zaXRvcnk0MzUxMzQ4MQ==","name":"dotnet-docs-samples","full_name":"GoogleCloudPlatform/dotnet-docs-samples","private":false,"owner":{"login":"GoogleCloudPlatform","id":2810941,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MTA5NDE=","avatar_url":"https://avatars0.githubusercontent.com/u/2810941?v=4","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},"html_url":"https://github.com/GoogleCloudPlatform/dotnet-docs-samples","description":".NET code samples used on https://cloud.google.com","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/releases{/id}","deployments_url":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/deployments","created_at":"2015-10-01T18:29:55Z","updated_at":"2018-10-01T10:49:35Z","pushed_at":"2018-10-03T23:38:59Z","git_url":"git://github.com/GoogleCloudPlatform/dotnet-docs-samples.git","ssh_url":"git@github.com:GoogleCloudPlatform/dotnet-docs-samples.git","clone_url":"https://github.com/GoogleCloudPlatform/dotnet-docs-samples.git","svn_url":"https://github.com/GoogleCloudPlatform/dotnet-docs-samples","homepage":"https://cloud.google.com/dotnet","size":15008,"stargazers_count":228,"watchers_count":228,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":542,"mirror_url":null,"archived":false,"open_issues_count":21,"license":{"key":"other","name":"NOASSERTION","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":542,"open_issues":21,"watchers":228,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/648"},"html":{"href":"https://github.com/GoogleCloudPlatform/dotnet-docs-samples/pull/648"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/issues/648"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/issues/648/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/648/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/pulls/648/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/dotnet-docs-samples/statuses/50ef5fa1ee59ff54ec0537ffc7f00fa276b73f5d"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"jsimonweb"}}