{"action":"created","comment":{"url":"https://api.github.com/repos/cake-build/cake/pulls/comments/190966701","pull_request_review_id":123461070,"id":190966701,"diff_hunk":"@@ -0,0 +1,93 @@\n+﻿// Licensed to the .NET Foundation under one or more agreements.\n+// The .NET Foundation licenses this file to you under the MIT license.\n+// See the LICENSE file in the project root for more information.\n+\n+using System;\n+using System.Collections.Generic;\n+using System.Linq;\n+using Cake.Core;\n+using Cake.Core.IO;\n+\n+namespace Cake.Common.Build.TFBuild.Data\n+{\n+    /// <summary>\n+    ///  Provides TF Build agent info for publishing test results\n+    /// </summary>\n+    public class TFBuildPublishTestResultsData\n+    {\n+        /// <summary>\n+        /// Gets or Sets the type test runner the results are formated in\n+        /// </summary>\n+        public TFTestRunnerType? TestRunner { get; set; }\n+\n+        /// <summary>\n+        /// Gets or sets the list of Test Result files to publish.\n+        /// </summary>\n+        public string[] TestResultsFiles { get; set; }\n+\n+        /// <summary>\n+        /// Gets or Sets whether to merge all Test Result Files into one run\n+        /// </summary>\n+        public bool? MergeTestResults { get; set; }\n+\n+        /// <summary>\n+        /// Gets or Sets the Platform for which the tests were run on\n+        /// </summary>\n+        public string Platform { get; set; }\n+\n+        /// <summary>\n+        /// Gets or Sets the configuration for which the tests were run on\n+        /// </summary>\n+        public string Configuration { get; set; }\n+\n+        /// <summary>\n+        /// Gets or Sets a name for the Test Run.\n+        /// </summary>\n+        public string TestRunTitle { get; set; }\n+\n+        /// <summary>\n+        /// Gets or Sets whether to opt in/out of publishing test run level attachments\n+        /// </summary>\n+        public bool? PublishRunAttachments { get; set; }\n+\n+        internal Dictionary<string, string> GetProperties(ICakeEnvironment environment)\n+        {\n+            if (environment == null)\n+            {\n+                throw new ArgumentNullException(nameof(environment));\n+            }\n+\n+            var properties = new Dictionary<string, string>();\n+\n+            if (TestRunner.HasValue)\n+            {\n+                properties.Add(\"type\", TestRunner.Value.ToString());\n+            }\n+            if (MergeTestResults.HasValue)\n+            {\n+                properties.Add(\"mergeResults\", MergeTestResults.ToString().ToLowerInvariant());\n+            }\n+            if (!string.IsNullOrWhiteSpace(Platform))\n+            {\n+                properties.Add(\"platform\", Platform);\n+            }\n+            if (!string.IsNullOrWhiteSpace(Configuration))\n+            {\n+                properties.Add(\"config\", Configuration);\n+            }\n+            if (!string.IsNullOrWhiteSpace(TestRunTitle))\n+            {\n+                properties.Add(\"runTitle\", $\"'{TestRunTitle}'\");\n+            }\n+            if (PublishRunAttachments.HasValue)\n+            {\n+                properties.Add(\"publishRunAttachments\", PublishRunAttachments.ToString().ToLowerInvariant());\n+            }\n+            if (TestResultsFiles != null && TestResultsFiles.Any())\n+            {\n+                properties.Add(\"resultFiles\", string.Join(\";\", TestResultsFiles.Select(filePath => new FilePath(filePath).MakeAbsolute(environment).FullPath.Replace(\"/\", \"\\\\\"))));","path":"src/Cake.Common/Build/TFBuild/Data/TFBuildPublishTestResultsData.cs","position":88,"original_position":88,"commit_id":"50a10f75bb6557f10a0135d5c622f8db2c30c0b3","original_commit_id":"50a10f75bb6557f10a0135d5c622f8db2c30c0b3","user":{"login":"jnm2","id":8040367,"avatar_url":"https://avatars2.githubusercontent.com/u/8040367?v=4","gravatar_id":"","url":"https://api.github.com/users/jnm2","html_url":"https://github.com/jnm2","followers_url":"https://api.github.com/users/jnm2/followers","following_url":"https://api.github.com/users/jnm2/following{/other_user}","gists_url":"https://api.github.com/users/jnm2/gists{/gist_id}","starred_url":"https://api.github.com/users/jnm2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnm2/subscriptions","organizations_url":"https://api.github.com/users/jnm2/orgs","repos_url":"https://api.github.com/users/jnm2/repos","events_url":"https://api.github.com/users/jnm2/events{/privacy}","received_events_url":"https://api.github.com/users/jnm2/received_events","type":"User","site_admin":false},"body":"@louisfischer Trying to educate myself- how did you find out that it should be semicolon-separated?","created_at":"2018-05-25T17:51:47Z","updated_at":"2018-05-25T17:51:47Z","html_url":"https://github.com/cake-build/cake/pull/2109#discussion_r190966701","pull_request_url":"https://api.github.com/repos/cake-build/cake/pulls/2109","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/cake-build/cake/pulls/comments/190966701"},"html":{"href":"https://github.com/cake-build/cake/pull/2109#discussion_r190966701"},"pull_request":{"href":"https://api.github.com/repos/cake-build/cake/pulls/2109"}}},"pull_request":{"url":"https://api.github.com/repos/cake-build/cake/pulls/2109","id":178761315,"html_url":"https://github.com/cake-build/cake/pull/2109","diff_url":"https://github.com/cake-build/cake/pull/2109.diff","patch_url":"https://github.com/cake-build/cake/pull/2109.patch","issue_url":"https://api.github.com/repos/cake-build/cake/issues/2109","number":2109,"state":"open","locked":false,"title":"GH1609: Add additional VSTS actions","user":{"login":"louisfischer","id":1905010,"avatar_url":"https://avatars0.githubusercontent.com/u/1905010?v=4","gravatar_id":"","url":"https://api.github.com/users/louisfischer","html_url":"https://github.com/louisfischer","followers_url":"https://api.github.com/users/louisfischer/followers","following_url":"https://api.github.com/users/louisfischer/following{/other_user}","gists_url":"https://api.github.com/users/louisfischer/gists{/gist_id}","starred_url":"https://api.github.com/users/louisfischer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/louisfischer/subscriptions","organizations_url":"https://api.github.com/users/louisfischer/orgs","repos_url":"https://api.github.com/users/louisfischer/repos","events_url":"https://api.github.com/users/louisfischer/events{/privacy}","received_events_url":"https://api.github.com/users/louisfischer/received_events","type":"User","site_admin":false},"body":"This pull request added  PublishTestResults and PublishCodeCoverage commands to the TFSBuilder. This is related to open issue #1609","created_at":"2018-04-02T02:23:06Z","updated_at":"2018-05-25T17:51:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5912db8165c9cd1cfb404918c9aaaa815f50d3a9","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/cake-build/cake/pulls/2109/commits","review_comments_url":"https://api.github.com/repos/cake-build/cake/pulls/2109/comments","review_comment_url":"https://api.github.com/repos/cake-build/cake/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cake-build/cake/issues/2109/comments","statuses_url":"https://api.github.com/repos/cake-build/cake/statuses/50a10f75bb6557f10a0135d5c622f8db2c30c0b3","head":{"label":"louisfischer:feature/gh-1609/additional-vsts-actions","ref":"feature/gh-1609/additional-vsts-actions","sha":"50a10f75bb6557f10a0135d5c622f8db2c30c0b3","user":{"login":"louisfischer","id":1905010,"avatar_url":"https://avatars0.githubusercontent.com/u/1905010?v=4","gravatar_id":"","url":"https://api.github.com/users/louisfischer","html_url":"https://github.com/louisfischer","followers_url":"https://api.github.com/users/louisfischer/followers","following_url":"https://api.github.com/users/louisfischer/following{/other_user}","gists_url":"https://api.github.com/users/louisfischer/gists{/gist_id}","starred_url":"https://api.github.com/users/louisfischer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/louisfischer/subscriptions","organizations_url":"https://api.github.com/users/louisfischer/orgs","repos_url":"https://api.github.com/users/louisfischer/repos","events_url":"https://api.github.com/users/louisfischer/events{/privacy}","received_events_url":"https://api.github.com/users/louisfischer/received_events","type":"User","site_admin":false},"repo":{"id":127582030,"name":"cake","full_name":"louisfischer/cake","owner":{"login":"louisfischer","id":1905010,"avatar_url":"https://avatars0.githubusercontent.com/u/1905010?v=4","gravatar_id":"","url":"https://api.github.com/users/louisfischer","html_url":"https://github.com/louisfischer","followers_url":"https://api.github.com/users/louisfischer/followers","following_url":"https://api.github.com/users/louisfischer/following{/other_user}","gists_url":"https://api.github.com/users/louisfischer/gists{/gist_id}","starred_url":"https://api.github.com/users/louisfischer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/louisfischer/subscriptions","organizations_url":"https://api.github.com/users/louisfischer/orgs","repos_url":"https://api.github.com/users/louisfischer/repos","events_url":"https://api.github.com/users/louisfischer/events{/privacy}","received_events_url":"https://api.github.com/users/louisfischer/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/louisfischer/cake","description":"Cake (C# Make) is a cross platform build automation system.","fork":true,"url":"https://api.github.com/repos/louisfischer/cake","forks_url":"https://api.github.com/repos/louisfischer/cake/forks","keys_url":"https://api.github.com/repos/louisfischer/cake/keys{/key_id}","collaborators_url":"https://api.github.com/repos/louisfischer/cake/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/louisfischer/cake/teams","hooks_url":"https://api.github.com/repos/louisfischer/cake/hooks","issue_events_url":"https://api.github.com/repos/louisfischer/cake/issues/events{/number}","events_url":"https://api.github.com/repos/louisfischer/cake/events","assignees_url":"https://api.github.com/repos/louisfischer/cake/assignees{/user}","branches_url":"https://api.github.com/repos/louisfischer/cake/branches{/branch}","tags_url":"https://api.github.com/repos/louisfischer/cake/tags","blobs_url":"https://api.github.com/repos/louisfischer/cake/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/louisfischer/cake/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/louisfischer/cake/git/refs{/sha}","trees_url":"https://api.github.com/repos/louisfischer/cake/git/trees{/sha}","statuses_url":"https://api.github.com/repos/louisfischer/cake/statuses/{sha}","languages_url":"https://api.github.com/repos/louisfischer/cake/languages","stargazers_url":"https://api.github.com/repos/louisfischer/cake/stargazers","contributors_url":"https://api.github.com/repos/louisfischer/cake/contributors","subscribers_url":"https://api.github.com/repos/louisfischer/cake/subscribers","subscription_url":"https://api.github.com/repos/louisfischer/cake/subscription","commits_url":"https://api.github.com/repos/louisfischer/cake/commits{/sha}","git_commits_url":"https://api.github.com/repos/louisfischer/cake/git/commits{/sha}","comments_url":"https://api.github.com/repos/louisfischer/cake/comments{/number}","issue_comment_url":"https://api.github.com/repos/louisfischer/cake/issues/comments{/number}","contents_url":"https://api.github.com/repos/louisfischer/cake/contents/{+path}","compare_url":"https://api.github.com/repos/louisfischer/cake/compare/{base}...{head}","merges_url":"https://api.github.com/repos/louisfischer/cake/merges","archive_url":"https://api.github.com/repos/louisfischer/cake/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/louisfischer/cake/downloads","issues_url":"https://api.github.com/repos/louisfischer/cake/issues{/number}","pulls_url":"https://api.github.com/repos/louisfischer/cake/pulls{/number}","milestones_url":"https://api.github.com/repos/louisfischer/cake/milestones{/number}","notifications_url":"https://api.github.com/repos/louisfischer/cake/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/louisfischer/cake/labels{/name}","releases_url":"https://api.github.com/repos/louisfischer/cake/releases{/id}","deployments_url":"https://api.github.com/repos/louisfischer/cake/deployments","created_at":"2018-04-01T00:19:41Z","updated_at":"2018-04-01T00:19:46Z","pushed_at":"2018-04-09T03:53:13Z","git_url":"git://github.com/louisfischer/cake.git","ssh_url":"git@github.com:louisfischer/cake.git","clone_url":"https://github.com/louisfischer/cake.git","svn_url":"https://github.com/louisfischer/cake","homepage":"http://cakebuild.net/","size":8001,"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":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"cake-build:develop","ref":"develop","sha":"879023328d55426e9760166064539772e0c121f1","user":{"login":"cake-build","id":7738262,"avatar_url":"https://avatars1.githubusercontent.com/u/7738262?v=4","gravatar_id":"","url":"https://api.github.com/users/cake-build","html_url":"https://github.com/cake-build","followers_url":"https://api.github.com/users/cake-build/followers","following_url":"https://api.github.com/users/cake-build/following{/other_user}","gists_url":"https://api.github.com/users/cake-build/gists{/gist_id}","starred_url":"https://api.github.com/users/cake-build/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cake-build/subscriptions","organizations_url":"https://api.github.com/users/cake-build/orgs","repos_url":"https://api.github.com/users/cake-build/repos","events_url":"https://api.github.com/users/cake-build/events{/privacy}","received_events_url":"https://api.github.com/users/cake-build/received_events","type":"Organization","site_admin":false},"repo":{"id":20094029,"name":"cake","full_name":"cake-build/cake","owner":{"login":"cake-build","id":7738262,"avatar_url":"https://avatars1.githubusercontent.com/u/7738262?v=4","gravatar_id":"","url":"https://api.github.com/users/cake-build","html_url":"https://github.com/cake-build","followers_url":"https://api.github.com/users/cake-build/followers","following_url":"https://api.github.com/users/cake-build/following{/other_user}","gists_url":"https://api.github.com/users/cake-build/gists{/gist_id}","starred_url":"https://api.github.com/users/cake-build/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cake-build/subscriptions","organizations_url":"https://api.github.com/users/cake-build/orgs","repos_url":"https://api.github.com/users/cake-build/repos","events_url":"https://api.github.com/users/cake-build/events{/privacy}","received_events_url":"https://api.github.com/users/cake-build/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cake-build/cake","description":"Cake (C# Make) is a cross platform build automation system.","fork":false,"url":"https://api.github.com/repos/cake-build/cake","forks_url":"https://api.github.com/repos/cake-build/cake/forks","keys_url":"https://api.github.com/repos/cake-build/cake/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cake-build/cake/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cake-build/cake/teams","hooks_url":"https://api.github.com/repos/cake-build/cake/hooks","issue_events_url":"https://api.github.com/repos/cake-build/cake/issues/events{/number}","events_url":"https://api.github.com/repos/cake-build/cake/events","assignees_url":"https://api.github.com/repos/cake-build/cake/assignees{/user}","branches_url":"https://api.github.com/repos/cake-build/cake/branches{/branch}","tags_url":"https://api.github.com/repos/cake-build/cake/tags","blobs_url":"https://api.github.com/repos/cake-build/cake/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cake-build/cake/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cake-build/cake/git/refs{/sha}","trees_url":"https://api.github.com/repos/cake-build/cake/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cake-build/cake/statuses/{sha}","languages_url":"https://api.github.com/repos/cake-build/cake/languages","stargazers_url":"https://api.github.com/repos/cake-build/cake/stargazers","contributors_url":"https://api.github.com/repos/cake-build/cake/contributors","subscribers_url":"https://api.github.com/repos/cake-build/cake/subscribers","subscription_url":"https://api.github.com/repos/cake-build/cake/subscription","commits_url":"https://api.github.com/repos/cake-build/cake/commits{/sha}","git_commits_url":"https://api.github.com/repos/cake-build/cake/git/commits{/sha}","comments_url":"https://api.github.com/repos/cake-build/cake/comments{/number}","issue_comment_url":"https://api.github.com/repos/cake-build/cake/issues/comments{/number}","contents_url":"https://api.github.com/repos/cake-build/cake/contents/{+path}","compare_url":"https://api.github.com/repos/cake-build/cake/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cake-build/cake/merges","archive_url":"https://api.github.com/repos/cake-build/cake/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cake-build/cake/downloads","issues_url":"https://api.github.com/repos/cake-build/cake/issues{/number}","pulls_url":"https://api.github.com/repos/cake-build/cake/pulls{/number}","milestones_url":"https://api.github.com/repos/cake-build/cake/milestones{/number}","notifications_url":"https://api.github.com/repos/cake-build/cake/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cake-build/cake/labels{/name}","releases_url":"https://api.github.com/repos/cake-build/cake/releases{/id}","deployments_url":"https://api.github.com/repos/cake-build/cake/deployments","created_at":"2014-05-23T09:26:54Z","updated_at":"2018-05-25T06:40:05Z","pushed_at":"2018-05-25T14:44:22Z","git_url":"git://github.com/cake-build/cake.git","ssh_url":"git@github.com:cake-build/cake.git","clone_url":"https://github.com/cake-build/cake.git","svn_url":"https://github.com/cake-build/cake","homepage":"http://cakebuild.net/","size":8015,"stargazers_count":1753,"watchers_count":1753,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":449,"mirror_url":null,"archived":false,"open_issues_count":282,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":449,"open_issues":282,"watchers":1753,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/cake-build/cake/pulls/2109"},"html":{"href":"https://github.com/cake-build/cake/pull/2109"},"issue":{"href":"https://api.github.com/repos/cake-build/cake/issues/2109"},"comments":{"href":"https://api.github.com/repos/cake-build/cake/issues/2109/comments"},"review_comments":{"href":"https://api.github.com/repos/cake-build/cake/pulls/2109/comments"},"review_comment":{"href":"https://api.github.com/repos/cake-build/cake/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cake-build/cake/pulls/2109/commits"},"statuses":{"href":"https://api.github.com/repos/cake-build/cake/statuses/50a10f75bb6557f10a0135d5c622f8db2c30c0b3"}},"author_association":"NONE"}}
{"actor":{"display_login":"jnm2"}}