{"action":"created","comment":{"url":"https://api.github.com/repos/Microsoft/pai/pulls/comments/200240311","pull_request_review_id":134515696,"id":200240311,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMDI0MDMxMQ==","diff_hunk":"@@ -633,24 +639,103 @@ Notes:\n \n \n ## <a name=\"ExitStatus_Convention\">ExitStatus Convention</a>\n-You can check all the defined ExitStatus by: [ExitType](../src/main/java/com/microsoft/frameworklauncher/common/model/ExitType.java), [RetryPolicyDescriptor](../src/main/java/com/microsoft/frameworklauncher/common/model/RetryPolicyDescriptor.java), [RetryPolicyState](../src/main/java/com/microsoft/frameworklauncher/common/model/RetryPolicyState.java), [ExitDiagnostics](../src/main/java/com/microsoft/frameworklauncher/common/exit/ExitDiagnostics.java).\n+You can check all the defined ExitStatus by: [ExitType](../src/main/java/com/microsoft/frameworklauncher/common/model/ExitType.java), [ExitDiagnostics](../src/main/java/com/microsoft/frameworklauncher/common/exit/ExitDiagnostics.java).\n \n Recipes:\n 1. Your LauncherClient can depend on the ExitStatus Convention\n 2. If your Service failed, the Service can optionally return the ExitCode of USER_APP_TRANSIENT_ERROR and USER_APP_NON_TRANSIENT_ERROR to help FancyRetryPolicy to identify your Service's TRANSIENT_NORMAL and NON_TRANSIENT ExitType. If neither ExitCode is returned, the Service is considered to exit due to UNKNOWN ExitType.\n \n \n+## <a name=\"RetryPolicy\">RetryPolicy</a>\n+### <a name=\"RetryPolicy_Overview\">Overview</a>\n+RetryPolicy can be configured for the whole Framework and each TaskRole to control:\n+1. **Framework RetryPolicy**:<br>\n+The conditions to retry the whole Framework after the Framework's current associated [Application](#Concepts_YARN) completed.<br>\n+*It can also be considered as **Framework CompletionPolicy**, i.e. the conditions to complete the whole Framework.*\n+\n+2. **Task RetryPolicy**:<br>\n+The conditions to retry a single Task in the TaskRole after the Task's current associated [Container](#Concepts_YARN) completed.<br>\n+*It can also be considered as **Task CompletionPolicy**, i.e. the conditions to complete a single Task in the TaskRole.*\n+\n+### <a name=\"RetryPolicy_Usage\">Usage</a>\n+For details, please check: [RetryPolicyDescriptor](../src/main/java/com/microsoft/frameworklauncher/common/model/RetryPolicyDescriptor.java), [RetryPolicyState](../src/main/java/com/microsoft/frameworklauncher/common/model/RetryPolicyState.java).\n+\n+### <a name=\"RetryPolicy_Examples\">Examples</a>\n+Notes:\n+1. *Italic Conditions* can be inherited from the **DEFAULT** RetryPolicy, so no need to specify them explicitly.\n+2. For the definition of each ExitType, such as transient failure, see [ExitStatus Convention](#ExitStatus_Convention).\n+\n+<table>\n+  <tbody>\n+    <tr>\n+      <th>FrameworkType</th>\n+      <th>Framework RetryPolicy</th>\n+      <th>TaskRole</th>\n+      <th>Task RetryPolicy</th>\n+      <th>Description</th>\n+    </tr>\n+    <tr>\n+      <td rowspan=\"2\"><b>DEFAULT</td>\n+      <td rowspan=\"2\"><i>FancyRetryPolicy = false<br>MaxRetryCount = 0</i></td>\n+      <td>TaskRole1</td>\n+      <td><i>FancyRetryPolicy = false<br>MaxRetryCount = 0</i></td>\n+      <td rowspan=\"2\">The default RetryPolicy:<br>Never Retry for any failure or success.</td>\n+    </tr>\n+    <tr>\n+      <td>TaskRole2</td>\n+      <td><i>FancyRetryPolicy = false<br>MaxRetryCount = 0</i></td>\n+    </tr>\n+    <tr>\n+      <td rowspan=\"1\"><b>Service</td>\n+      <td rowspan=\"1\"><i>FancyRetryPolicy = false</i><br>MaxRetryCount = -2</td>\n+      <td>TaskRole1</td>\n+      <td><i>FancyRetryPolicy = false</i><br>MaxRetryCount = -2</td>\n+      <td rowspan=\"1\">Always Retry for any failure or success.</td>\n+    </tr>\n+    <tr>\n+      <td rowspan=\"1\"><b>Blind Batch Job</td>\n+      <td rowspan=\"1\"><i>FancyRetryPolicy = false</i><br>MaxRetryCount = -1</td>\n+      <td>TaskRole1</td>\n+      <td><i>FancyRetryPolicy = false</i><br>MaxRetryCount = -1</td>\n+      <td rowspan=\"1\">Always Retry for any failure.<br>Never Retry for success.</td>\n+    </tr>\n+    <tr>\n+      <td rowspan=\"1\"><b>Batch Job with Task Fault Tolerance</td>\n+      <td rowspan=\"1\">FancyRetryPolicy = true<br>MaxRetryCount = 3</td>\n+      <td>TaskRole1</td>\n+      <td>FancyRetryPolicy = true<br>MaxRetryCount = 3</td>\n+      <td rowspan=\"1\">Always Retry for transient failure.<br>Never Retry for non-transient failure or success.<br>Retry up to 3 times for unknown failure.</td>\n+    </tr>\n+    <tr>\n+      <td rowspan=\"1\"><b>Batch Job without Task Fault Tolerance</td>\n+      <td rowspan=\"1\">FancyRetryPolicy = true<br>MaxRetryCount = 3</td>\n+      <td>TaskRole1</td>\n+      <td><i>FancyRetryPolicy = false<br>MaxRetryCount = 0</i></td>\n+      <td rowspan=\"1\">For Framework RetryPolicy, same as \"Batch Job with Task Fault Tolerance\".<br>For Task RetryPolicy, because the Task cannot tolerate any failed Container, such as it cannot recover from previous failed Container, so Never Retry Task for any failure or success.</td>\n+    </tr>\n+    <tr>\n+      <td rowspan=\"1\"><b>Debug Mode</td>\n+      <td rowspan=\"1\">FancyRetryPolicy = true<br><i>MaxRetryCount = 0</i></td>\n+      <td>TaskRole1</td>\n+      <td>FancyRetryPolicy = true<br><i>MaxRetryCount = 0</i></td>\n+      <td rowspan=\"1\">Always Retry for transient failure.<br>Never Retry for non-transient failure or unknown failure or success.<br>This can help to capture the unexpected exit of User Service itself.</td>\n+    </tr>\n+  </tbody>\n+</table>\n+\n+\n ## <a name=\"ApplicationCompletionPolicy\">ApplicationCompletionPolicy</a>\n ### <a name=\"ApplicationCompletionPolicy_Overview\">Overview</a>\n ApplicationCompletionPolicy can be configured for each TaskRole to control:\n-1. The conditions to complete the Application.\n-2. The ExitStatus of the completed Application.\n+1. The conditions to complete the [Application](#Concepts_YARN).\n+2. The ExitStatus of the completed [Application](#Concepts_YARN).\n \n ### <a name=\"ApplicationCompletionPolicy_Usage\">Usage</a>\n For details, please check: [TaskRoleApplicationCompletionPolicyDescriptor](../src/main/java/com/microsoft/frameworklauncher/common/model/TaskRoleApplicationCompletionPolicyDescriptor.java).\n \n ### <a name=\"ApplicationCompletionPolicy_Examples\">Examples</a>","path":"frameworklauncher/doc/USERMANUAL.md","position":123,"original_position":123,"commit_id":"aa99a82801956db8f722de28a340461958ad24e5","original_commit_id":"aa99a82801956db8f722de28a340461958ad24e5","user":{"login":"yqwang-ms","id":32826762,"node_id":"MDQ6VXNlcjMyODI2NzYy","avatar_url":"https://avatars3.githubusercontent.com/u/32826762?v=4","gravatar_id":"","url":"https://api.github.com/users/yqwang-ms","html_url":"https://github.com/yqwang-ms","followers_url":"https://api.github.com/users/yqwang-ms/followers","following_url":"https://api.github.com/users/yqwang-ms/following{/other_user}","gists_url":"https://api.github.com/users/yqwang-ms/gists{/gist_id}","starred_url":"https://api.github.com/users/yqwang-ms/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yqwang-ms/subscriptions","organizations_url":"https://api.github.com/users/yqwang-ms/orgs","repos_url":"https://api.github.com/users/yqwang-ms/repos","events_url":"https://api.github.com/users/yqwang-ms/events{/privacy}","received_events_url":"https://api.github.com/users/yqwang-ms/received_events","type":"User","site_admin":false},"body":"They are in previous section [Usage] with hyperlink.\r\n\r\nView it in the web is more friendly:\r\n[https://github.com/Microsoft/pai/blob/yqwang/launcher-dev/frameworklauncher/doc/USERMANUAL.md#ApplicationCompletionPolicy](https://github.com/Microsoft/pai/blob/yqwang/launcher-dev/frameworklauncher/doc/USERMANUAL.md#ApplicationCompletionPolicy)\r\n\r\n\r\n### <a name=\"ApplicationCompletionPolicy_Usage\">Usage</a>\nFor details, please check: [TaskRoleApplicationCompletionPolicyDescriptor](../src/main/java/com/microsoft/frameworklauncher/common/model/TaskRoleApplicationCompletionPolicyDescriptor.java).\r\n\r\n---\r\nIn reply to: [200238905](https://github.com/Microsoft/pai/pull/812#discussion_r200238905) [](ancestors = 200238905)","created_at":"2018-07-05T06:02:33Z","updated_at":"2018-07-05T06:02:33Z","html_url":"https://github.com/Microsoft/pai/pull/812#discussion_r200240311","pull_request_url":"https://api.github.com/repos/Microsoft/pai/pulls/812","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/Microsoft/pai/pulls/comments/200240311"},"html":{"href":"https://github.com/Microsoft/pai/pull/812#discussion_r200240311"},"pull_request":{"href":"https://api.github.com/repos/Microsoft/pai/pulls/812"}},"in_reply_to_id":200238905},"pull_request":{"url":"https://api.github.com/repos/Microsoft/pai/pulls/812","id":199255661,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk5MjU1NjYx","html_url":"https://github.com/Microsoft/pai/pull/812","diff_url":"https://github.com/Microsoft/pai/pull/812.diff","patch_url":"https://github.com/Microsoft/pai/pull/812.patch","issue_url":"https://api.github.com/repos/Microsoft/pai/issues/812","number":812,"state":"open","locked":false,"title":"[Launcher]: Add RetryPolicy Doc","user":{"login":"yqwang-ms","id":32826762,"node_id":"MDQ6VXNlcjMyODI2NzYy","avatar_url":"https://avatars3.githubusercontent.com/u/32826762?v=4","gravatar_id":"","url":"https://api.github.com/users/yqwang-ms","html_url":"https://github.com/yqwang-ms","followers_url":"https://api.github.com/users/yqwang-ms/followers","following_url":"https://api.github.com/users/yqwang-ms/following{/other_user}","gists_url":"https://api.github.com/users/yqwang-ms/gists{/gist_id}","starred_url":"https://api.github.com/users/yqwang-ms/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yqwang-ms/subscriptions","organizations_url":"https://api.github.com/users/yqwang-ms/orgs","repos_url":"https://api.github.com/users/yqwang-ms/repos","events_url":"https://api.github.com/users/yqwang-ms/events{/privacy}","received_events_url":"https://api.github.com/users/yqwang-ms/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-07-04T13:49:09Z","updated_at":"2018-07-05T06:02:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f8b32e68fc77430f86bb6c31fd7094d2a695e502","assignee":null,"assignees":[],"requested_reviewers":[{"login":"sterowang","id":11206612,"node_id":"MDQ6VXNlcjExMjA2NjEy","avatar_url":"https://avatars2.githubusercontent.com/u/11206612?v=4","gravatar_id":"","url":"https://api.github.com/users/sterowang","html_url":"https://github.com/sterowang","followers_url":"https://api.github.com/users/sterowang/followers","following_url":"https://api.github.com/users/sterowang/following{/other_user}","gists_url":"https://api.github.com/users/sterowang/gists{/gist_id}","starred_url":"https://api.github.com/users/sterowang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sterowang/subscriptions","organizations_url":"https://api.github.com/users/sterowang/orgs","repos_url":"https://api.github.com/users/sterowang/repos","events_url":"https://api.github.com/users/sterowang/events{/privacy}","received_events_url":"https://api.github.com/users/sterowang/received_events","type":"User","site_admin":false},{"login":"abuccts","id":13360214,"node_id":"MDQ6VXNlcjEzMzYwMjE0","avatar_url":"https://avatars3.githubusercontent.com/u/13360214?v=4","gravatar_id":"","url":"https://api.github.com/users/abuccts","html_url":"https://github.com/abuccts","followers_url":"https://api.github.com/users/abuccts/followers","following_url":"https://api.github.com/users/abuccts/following{/other_user}","gists_url":"https://api.github.com/users/abuccts/gists{/gist_id}","starred_url":"https://api.github.com/users/abuccts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abuccts/subscriptions","organizations_url":"https://api.github.com/users/abuccts/orgs","repos_url":"https://api.github.com/users/abuccts/repos","events_url":"https://api.github.com/users/abuccts/events{/privacy}","received_events_url":"https://api.github.com/users/abuccts/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Microsoft/pai/pulls/812/commits","review_comments_url":"https://api.github.com/repos/Microsoft/pai/pulls/812/comments","review_comment_url":"https://api.github.com/repos/Microsoft/pai/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Microsoft/pai/issues/812/comments","statuses_url":"https://api.github.com/repos/Microsoft/pai/statuses/aa99a82801956db8f722de28a340461958ad24e5","head":{"label":"Microsoft:yqwang/launcher-dev","ref":"yqwang/launcher-dev","sha":"aa99a82801956db8f722de28a340461958ad24e5","user":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":104741169,"node_id":"MDEwOlJlcG9zaXRvcnkxMDQ3NDExNjk=","name":"pai","full_name":"Microsoft/pai","owner":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Microsoft/pai","description":"Resource scheduling and cluster management for AI","fork":false,"url":"https://api.github.com/repos/Microsoft/pai","forks_url":"https://api.github.com/repos/Microsoft/pai/forks","keys_url":"https://api.github.com/repos/Microsoft/pai/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/pai/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/pai/teams","hooks_url":"https://api.github.com/repos/Microsoft/pai/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/pai/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/pai/events","assignees_url":"https://api.github.com/repos/Microsoft/pai/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/pai/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/pai/tags","blobs_url":"https://api.github.com/repos/Microsoft/pai/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/pai/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/pai/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/pai/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/pai/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/pai/languages","stargazers_url":"https://api.github.com/repos/Microsoft/pai/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/pai/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/pai/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/pai/subscription","commits_url":"https://api.github.com/repos/Microsoft/pai/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/pai/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/pai/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/pai/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/pai/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/pai/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/pai/merges","archive_url":"https://api.github.com/repos/Microsoft/pai/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/pai/downloads","issues_url":"https://api.github.com/repos/Microsoft/pai/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/pai/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/pai/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/pai/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/pai/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/pai/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/pai/deployments","created_at":"2017-09-25T11:24:51Z","updated_at":"2018-07-05T05:20:24Z","pushed_at":"2018-07-05T05:26:41Z","git_url":"git://github.com/Microsoft/pai.git","ssh_url":"git@github.com:Microsoft/pai.git","clone_url":"https://github.com/Microsoft/pai.git","svn_url":"https://github.com/Microsoft/pai","homepage":"","size":3598,"stargazers_count":337,"watchers_count":337,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":84,"mirror_url":null,"archived":false,"open_issues_count":101,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":84,"open_issues":101,"watchers":337,"default_branch":"master"}},"base":{"label":"Microsoft:master","ref":"master","sha":"a97798ab429fb11d040e019ac2872eb8778d4818","user":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":104741169,"node_id":"MDEwOlJlcG9zaXRvcnkxMDQ3NDExNjk=","name":"pai","full_name":"Microsoft/pai","owner":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Microsoft/pai","description":"Resource scheduling and cluster management for AI","fork":false,"url":"https://api.github.com/repos/Microsoft/pai","forks_url":"https://api.github.com/repos/Microsoft/pai/forks","keys_url":"https://api.github.com/repos/Microsoft/pai/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/pai/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/pai/teams","hooks_url":"https://api.github.com/repos/Microsoft/pai/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/pai/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/pai/events","assignees_url":"https://api.github.com/repos/Microsoft/pai/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/pai/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/pai/tags","blobs_url":"https://api.github.com/repos/Microsoft/pai/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/pai/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/pai/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/pai/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/pai/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/pai/languages","stargazers_url":"https://api.github.com/repos/Microsoft/pai/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/pai/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/pai/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/pai/subscription","commits_url":"https://api.github.com/repos/Microsoft/pai/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/pai/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/pai/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/pai/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/pai/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/pai/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/pai/merges","archive_url":"https://api.github.com/repos/Microsoft/pai/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/pai/downloads","issues_url":"https://api.github.com/repos/Microsoft/pai/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/pai/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/pai/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/pai/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/pai/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/pai/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/pai/deployments","created_at":"2017-09-25T11:24:51Z","updated_at":"2018-07-05T05:20:24Z","pushed_at":"2018-07-05T05:26:41Z","git_url":"git://github.com/Microsoft/pai.git","ssh_url":"git@github.com:Microsoft/pai.git","clone_url":"https://github.com/Microsoft/pai.git","svn_url":"https://github.com/Microsoft/pai","homepage":"","size":3598,"stargazers_count":337,"watchers_count":337,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":84,"mirror_url":null,"archived":false,"open_issues_count":101,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":84,"open_issues":101,"watchers":337,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Microsoft/pai/pulls/812"},"html":{"href":"https://github.com/Microsoft/pai/pull/812"},"issue":{"href":"https://api.github.com/repos/Microsoft/pai/issues/812"},"comments":{"href":"https://api.github.com/repos/Microsoft/pai/issues/812/comments"},"review_comments":{"href":"https://api.github.com/repos/Microsoft/pai/pulls/812/comments"},"review_comment":{"href":"https://api.github.com/repos/Microsoft/pai/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Microsoft/pai/pulls/812/commits"},"statuses":{"href":"https://api.github.com/repos/Microsoft/pai/statuses/aa99a82801956db8f722de28a340461958ad24e5"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"yqwang-ms"}}