{"action":"created","comment":{"url":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/comments/139041123","pull_request_review_id":62905234,"id":139041123,"diff_hunk":"@@ -0,0 +1,208 @@\n+﻿using NUnit.Framework;\n+using OptimizelySDK.Bucketing;\n+using OptimizelySDK.Entity;\n+using OptimizelySDK.Event;\n+using OptimizelySDK.Event.Builder;\n+using OptimizelySDK.Logger;\n+using OptimizelySDK.Tests.EventTests;\n+using OptimizelySDK.Utils;\n+using System;\n+using System.Collections.Generic;\n+using System.Linq;\n+using System.Text;\n+using System.Threading.Tasks;\n+\n+namespace OptimizelySDK.Tests.UtilsTests\n+{\n+    [TestFixture]\n+    class EventTagUtilsTest\n+    {\n+        private string TestUserId = string.Empty;\n+        private ProjectConfig Config;\n+        private EventBuilder EventBuilder;\n+\n+        [TestFixtureSetUp]\n+        public void Setup()\n+        {\n+            TestUserId = \"testUserId\";\n+            var logger = new NoOpLogger();\n+            Config = ProjectConfig.Create(TestData.Datafile, logger, new ErrorHandler.NoOpErrorHandler());\n+            EventBuilder = new EventBuilder(new Bucketer(logger));\n+        }\n+\n+        [Test]\n+        public void TestGetRevenueValue()\n+        {\n+            var expectedValue = 42;\n+            var expectedValue2 = 100;\n+            var validTag = new Dictionary<string, object>() {\n+                { \"revenue\", 42 }\n+            };\n+            var validTag2 = new Dictionary<string, object>() {\n+                { \"revenue\", 100 }\n+            };\n+\n+            var invalidTag = new Dictionary<string, object>() {\n+                { \"abc\", 42 }\n+            };\n+            var nullValue = new Dictionary<string, object>() {\n+                { \"revenue\", null }\n+            };\n+            var invalidValue = new Dictionary<string, object>() {\n+                { \"revenue\", 42.5 }\n+            };\n+\n+            // Invalid data.\n+            Assert.Null(EventTagUtils.GetRevenueValue(null));\n+            Assert.Null(EventTagUtils.GetRevenueValue(invalidTag));\n+            Assert.Null(EventTagUtils.GetRevenueValue(nullValue));\n+            Assert.Null(EventTagUtils.GetRevenueValue(invalidValue));\n+\n+            // Valid data.\n+            Assert.AreEqual(EventTagUtils.GetRevenueValue(validTag), expectedValue);\n+            Assert.AreEqual(EventTagUtils.GetRevenueValue(validTag2), expectedValue2);\n+        }\n+\n+        [Test]\n+        public void TestGetEventValue()\n+        {\n+            int expectedValue = 42;\n+            float expectedValue2 = 42.5F;\n+            double expectedValue3 = 42.52;\n+\n+            var validTag = new Dictionary<string, object>() {\n+                { \"value\", 42 }\n+            };\n+\n+            var validTag2 = new Dictionary<string, object>() {\n+                { \"value\", 42.5 }\n+            };\n+\n+            var validTag3 = new Dictionary<string, object>() {\n+                { \"value\", 42.52 }\n+            };\n+\n+            var invalidTag = new Dictionary<string, object>() {\n+                { \"abc\", 42 }\n+            };\n+            var nullValue = new Dictionary<string, object>() {\n+                { \"value\", null }\n+            };\n+            var validTagStr = new Dictionary<string, object>() {\n+                { \"value\", \"42\" }\n+            };\n+            var validTagStr1 = new Dictionary<string, object>() {\n+                { \"value\", \"42.3\" }\n+            };\n+\n+            // Invalid data.\n+            Assert.Null(EventTagUtils.GetNumericValue(null));\n+            Assert.Null(EventTagUtils.GetNumericValue(invalidTag));\n+            Assert.Null(EventTagUtils.GetNumericValue(nullValue));\n+\n+\n+            // Valid data.\n+            Assert.AreEqual(42, EventTagUtils.GetNumericValue(validTagStr));\n+            Assert.AreEqual(\"42.3\", EventTagUtils.GetNumericValue(validTagStr1).ToString());\n+            Assert.AreEqual(EventTagUtils.GetNumericValue(validTag), expectedValue);\n+            Assert.AreEqual(EventTagUtils.GetNumericValue(validTag2), expectedValue2);\n+            Assert.AreEqual(EventTagUtils.GetNumericValue(validTag3).ToString(), expectedValue3.ToString());\n+        }\n+\n+        [Test]\n+        public void TestGetNumericMetricInvalidArgs()\n+        {\n+            Assert.IsNull(EventTagUtils.GetNumericValue(null));\n+\n+            //Errors for all, because it accepts only dictionary// ","path":"OptimizelySDK.Tests/UtilsTests/EventTagUtilsTest.cs","position":117,"original_position":117,"commit_id":"4f82f3f0ea117435c051493c1ba7c81f61bbffa5","original_commit_id":"4f82f3f0ea117435c051493c1ba7c81f61bbffa5","user":{"login":"alda-optimizely","id":17035132,"avatar_url":"https://avatars3.githubusercontent.com/u/17035132?v=4","gravatar_id":"","url":"https://api.github.com/users/alda-optimizely","html_url":"https://github.com/alda-optimizely","followers_url":"https://api.github.com/users/alda-optimizely/followers","following_url":"https://api.github.com/users/alda-optimizely/following{/other_user}","gists_url":"https://api.github.com/users/alda-optimizely/gists{/gist_id}","starred_url":"https://api.github.com/users/alda-optimizely/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alda-optimizely/subscriptions","organizations_url":"https://api.github.com/users/alda-optimizely/orgs","repos_url":"https://api.github.com/users/alda-optimizely/repos","events_url":"https://api.github.com/users/alda-optimizely/events{/privacy}","received_events_url":"https://api.github.com/users/alda-optimizely/received_events","type":"User","site_admin":false},"body":"If the format of the event tag value is invalid, you should catch the error and return null. ","created_at":"2017-09-15T00:24:31Z","updated_at":"2017-09-15T00:29:36Z","html_url":"https://github.com/optimizely/csharp-sdk/pull/15#discussion_r139041123","pull_request_url":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/15","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/comments/139041123"},"html":{"href":"https://github.com/optimizely/csharp-sdk/pull/15#discussion_r139041123"},"pull_request":{"href":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/15"}}},"pull_request":{"url":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/15","id":138750629,"html_url":"https://github.com/optimizely/csharp-sdk/pull/15","diff_url":"https://github.com/optimizely/csharp-sdk/pull/15.diff","patch_url":"https://github.com/optimizely/csharp-sdk/pull/15.patch","issue_url":"https://api.github.com/repos/optimizely/csharp-sdk/issues/15","number":15,"state":"open","locked":false,"title":"New Features Implemented","user":{"login":"msohailhussain","id":3163521,"avatar_url":"https://avatars1.githubusercontent.com/u/3163521?v=4","gravatar_id":"","url":"https://api.github.com/users/msohailhussain","html_url":"https://github.com/msohailhussain","followers_url":"https://api.github.com/users/msohailhussain/followers","following_url":"https://api.github.com/users/msohailhussain/following{/other_user}","gists_url":"https://api.github.com/users/msohailhussain/gists{/gist_id}","starred_url":"https://api.github.com/users/msohailhussain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msohailhussain/subscriptions","organizations_url":"https://api.github.com/users/msohailhussain/orgs","repos_url":"https://api.github.com/users/msohailhussain/repos","events_url":"https://api.github.com/users/msohailhussain/events{/privacy}","received_events_url":"https://api.github.com/users/msohailhussain/received_events","type":"User","site_admin":false},"body":"- Forced Bucketing\r\n- Event builder\r\n- Numeric metric support\r\n- Some commented removed\r\n@mikeng13 ","created_at":"2017-08-31T19:45:38Z","updated_at":"2017-09-15T00:29:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bd1a4e5cd0895c41aee8ddbdd97ada9751d2c793","assignee":{"login":"mikeng13","id":1365958,"avatar_url":"https://avatars3.githubusercontent.com/u/1365958?v=4","gravatar_id":"","url":"https://api.github.com/users/mikeng13","html_url":"https://github.com/mikeng13","followers_url":"https://api.github.com/users/mikeng13/followers","following_url":"https://api.github.com/users/mikeng13/following{/other_user}","gists_url":"https://api.github.com/users/mikeng13/gists{/gist_id}","starred_url":"https://api.github.com/users/mikeng13/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikeng13/subscriptions","organizations_url":"https://api.github.com/users/mikeng13/orgs","repos_url":"https://api.github.com/users/mikeng13/repos","events_url":"https://api.github.com/users/mikeng13/events{/privacy}","received_events_url":"https://api.github.com/users/mikeng13/received_events","type":"User","site_admin":false},"assignees":[{"login":"mikeng13","id":1365958,"avatar_url":"https://avatars3.githubusercontent.com/u/1365958?v=4","gravatar_id":"","url":"https://api.github.com/users/mikeng13","html_url":"https://github.com/mikeng13","followers_url":"https://api.github.com/users/mikeng13/followers","following_url":"https://api.github.com/users/mikeng13/following{/other_user}","gists_url":"https://api.github.com/users/mikeng13/gists{/gist_id}","starred_url":"https://api.github.com/users/mikeng13/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikeng13/subscriptions","organizations_url":"https://api.github.com/users/mikeng13/orgs","repos_url":"https://api.github.com/users/mikeng13/repos","events_url":"https://api.github.com/users/mikeng13/events{/privacy}","received_events_url":"https://api.github.com/users/mikeng13/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"aliabbasrizvi","id":1548776,"avatar_url":"https://avatars0.githubusercontent.com/u/1548776?v=4","gravatar_id":"","url":"https://api.github.com/users/aliabbasrizvi","html_url":"https://github.com/aliabbasrizvi","followers_url":"https://api.github.com/users/aliabbasrizvi/followers","following_url":"https://api.github.com/users/aliabbasrizvi/following{/other_user}","gists_url":"https://api.github.com/users/aliabbasrizvi/gists{/gist_id}","starred_url":"https://api.github.com/users/aliabbasrizvi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aliabbasrizvi/subscriptions","organizations_url":"https://api.github.com/users/aliabbasrizvi/orgs","repos_url":"https://api.github.com/users/aliabbasrizvi/repos","events_url":"https://api.github.com/users/aliabbasrizvi/events{/privacy}","received_events_url":"https://api.github.com/users/aliabbasrizvi/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/15/commits","review_comments_url":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/15/comments","review_comment_url":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/optimizely/csharp-sdk/issues/15/comments","statuses_url":"https://api.github.com/repos/optimizely/csharp-sdk/statuses/4f82f3f0ea117435c051493c1ba7c81f61bbffa5","head":{"label":"msohailhussain:phase2_ev_ns_fb","ref":"phase2_ev_ns_fb","sha":"4f82f3f0ea117435c051493c1ba7c81f61bbffa5","user":{"login":"msohailhussain","id":3163521,"avatar_url":"https://avatars1.githubusercontent.com/u/3163521?v=4","gravatar_id":"","url":"https://api.github.com/users/msohailhussain","html_url":"https://github.com/msohailhussain","followers_url":"https://api.github.com/users/msohailhussain/followers","following_url":"https://api.github.com/users/msohailhussain/following{/other_user}","gists_url":"https://api.github.com/users/msohailhussain/gists{/gist_id}","starred_url":"https://api.github.com/users/msohailhussain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msohailhussain/subscriptions","organizations_url":"https://api.github.com/users/msohailhussain/orgs","repos_url":"https://api.github.com/users/msohailhussain/repos","events_url":"https://api.github.com/users/msohailhussain/events{/privacy}","received_events_url":"https://api.github.com/users/msohailhussain/received_events","type":"User","site_admin":false},"repo":{"id":88913851,"name":"csharp-sdk","full_name":"msohailhussain/csharp-sdk","owner":{"login":"msohailhussain","id":3163521,"avatar_url":"https://avatars1.githubusercontent.com/u/3163521?v=4","gravatar_id":"","url":"https://api.github.com/users/msohailhussain","html_url":"https://github.com/msohailhussain","followers_url":"https://api.github.com/users/msohailhussain/followers","following_url":"https://api.github.com/users/msohailhussain/following{/other_user}","gists_url":"https://api.github.com/users/msohailhussain/gists{/gist_id}","starred_url":"https://api.github.com/users/msohailhussain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msohailhussain/subscriptions","organizations_url":"https://api.github.com/users/msohailhussain/orgs","repos_url":"https://api.github.com/users/msohailhussain/repos","events_url":"https://api.github.com/users/msohailhussain/events{/privacy}","received_events_url":"https://api.github.com/users/msohailhussain/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/msohailhussain/csharp-sdk","description":"This repository houses the .Net based C# SDK for Optimizely Full Stack.","fork":true,"url":"https://api.github.com/repos/msohailhussain/csharp-sdk","forks_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/forks","keys_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/teams","hooks_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/hooks","issue_events_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/events","assignees_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/tags","blobs_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/languages","stargazers_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/stargazers","contributors_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/contributors","subscribers_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/subscribers","subscription_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/subscription","commits_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/merges","archive_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/downloads","issues_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/labels{/name}","releases_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/msohailhussain/csharp-sdk/deployments","created_at":"2017-04-20T21:55:18Z","updated_at":"2017-04-21T05:31:40Z","pushed_at":"2017-09-14T21:08:06Z","git_url":"git://github.com/msohailhussain/csharp-sdk.git","ssh_url":"git@github.com:msohailhussain/csharp-sdk.git","clone_url":"https://github.com/msohailhussain/csharp-sdk.git","svn_url":"https://github.com/msohailhussain/csharp-sdk","homepage":"","size":762,"stargazers_count":1,"watchers_count":1,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"devel"}},"base":{"label":"optimizely:master","ref":"master","sha":"d8aa0474f9736393962d12a85045739a99734a09","user":{"login":"optimizely","id":1274132,"avatar_url":"https://avatars3.githubusercontent.com/u/1274132?v=4","gravatar_id":"","url":"https://api.github.com/users/optimizely","html_url":"https://github.com/optimizely","followers_url":"https://api.github.com/users/optimizely/followers","following_url":"https://api.github.com/users/optimizely/following{/other_user}","gists_url":"https://api.github.com/users/optimizely/gists{/gist_id}","starred_url":"https://api.github.com/users/optimizely/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/optimizely/subscriptions","organizations_url":"https://api.github.com/users/optimizely/orgs","repos_url":"https://api.github.com/users/optimizely/repos","events_url":"https://api.github.com/users/optimizely/events{/privacy}","received_events_url":"https://api.github.com/users/optimizely/received_events","type":"Organization","site_admin":false},"repo":{"id":87469917,"name":"csharp-sdk","full_name":"optimizely/csharp-sdk","owner":{"login":"optimizely","id":1274132,"avatar_url":"https://avatars3.githubusercontent.com/u/1274132?v=4","gravatar_id":"","url":"https://api.github.com/users/optimizely","html_url":"https://github.com/optimizely","followers_url":"https://api.github.com/users/optimizely/followers","following_url":"https://api.github.com/users/optimizely/following{/other_user}","gists_url":"https://api.github.com/users/optimizely/gists{/gist_id}","starred_url":"https://api.github.com/users/optimizely/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/optimizely/subscriptions","organizations_url":"https://api.github.com/users/optimizely/orgs","repos_url":"https://api.github.com/users/optimizely/repos","events_url":"https://api.github.com/users/optimizely/events{/privacy}","received_events_url":"https://api.github.com/users/optimizely/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/optimizely/csharp-sdk","description":"This repository houses the .Net based C# SDK for Optimizely Full Stack.","fork":false,"url":"https://api.github.com/repos/optimizely/csharp-sdk","forks_url":"https://api.github.com/repos/optimizely/csharp-sdk/forks","keys_url":"https://api.github.com/repos/optimizely/csharp-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/optimizely/csharp-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/optimizely/csharp-sdk/teams","hooks_url":"https://api.github.com/repos/optimizely/csharp-sdk/hooks","issue_events_url":"https://api.github.com/repos/optimizely/csharp-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/optimizely/csharp-sdk/events","assignees_url":"https://api.github.com/repos/optimizely/csharp-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/optimizely/csharp-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/optimizely/csharp-sdk/tags","blobs_url":"https://api.github.com/repos/optimizely/csharp-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/optimizely/csharp-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/optimizely/csharp-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/optimizely/csharp-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/optimizely/csharp-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/optimizely/csharp-sdk/languages","stargazers_url":"https://api.github.com/repos/optimizely/csharp-sdk/stargazers","contributors_url":"https://api.github.com/repos/optimizely/csharp-sdk/contributors","subscribers_url":"https://api.github.com/repos/optimizely/csharp-sdk/subscribers","subscription_url":"https://api.github.com/repos/optimizely/csharp-sdk/subscription","commits_url":"https://api.github.com/repos/optimizely/csharp-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/optimizely/csharp-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/optimizely/csharp-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/optimizely/csharp-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/optimizely/csharp-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/optimizely/csharp-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/optimizely/csharp-sdk/merges","archive_url":"https://api.github.com/repos/optimizely/csharp-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/optimizely/csharp-sdk/downloads","issues_url":"https://api.github.com/repos/optimizely/csharp-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/optimizely/csharp-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/optimizely/csharp-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/optimizely/csharp-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/optimizely/csharp-sdk/labels{/name}","releases_url":"https://api.github.com/repos/optimizely/csharp-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/optimizely/csharp-sdk/deployments","created_at":"2017-04-06T20:03:05Z","updated_at":"2017-07-20T06:07:37Z","pushed_at":"2017-09-14T23:27:40Z","git_url":"git://github.com/optimizely/csharp-sdk.git","ssh_url":"git@github.com:optimizely/csharp-sdk.git","clone_url":"https://github.com/optimizely/csharp-sdk.git","svn_url":"https://github.com/optimizely/csharp-sdk","homepage":"","size":662,"stargazers_count":5,"watchers_count":5,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":2,"forks":1,"open_issues":2,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/15"},"html":{"href":"https://github.com/optimizely/csharp-sdk/pull/15"},"issue":{"href":"https://api.github.com/repos/optimizely/csharp-sdk/issues/15"},"comments":{"href":"https://api.github.com/repos/optimizely/csharp-sdk/issues/15/comments"},"review_comments":{"href":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/15/comments"},"review_comment":{"href":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/optimizely/csharp-sdk/pulls/15/commits"},"statuses":{"href":"https://api.github.com/repos/optimizely/csharp-sdk/statuses/4f82f3f0ea117435c051493c1ba7c81f61bbffa5"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"alda-optimizely"}}