{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/comments/88125466","pull_request_review_id":8708432,"id":88125466,"diff_hunk":"@@ -70,46 +71,85 @@ public CloudSdkPanel() {\n         .addDocumentListener(new DocumentAdapter() {\n           @Override\n           protected void textChanged(DocumentEvent event) {\n-            checkSdk();\n+            checkSdkInBackground();\n           }\n         });\n \n-    checkSdk();\n+    checkSdkInBackground();\n   }\n \n-  private void checkSdk() {\n-    String path = cloudSdkDirectoryField.getText();\n+  private void checkSdkInBackground() {\n+    final String path = cloudSdkDirectoryField.getText();\n+    ApplicationManager.getApplication().executeOnPooledThread(new CloudSdkChecker(path));\n+  }\n \n+  @VisibleForTesting\n+  protected void checkSdk(String path) {\n     if (StringUtil.isEmpty(path)) {\n-      warningIcon.setVisible(true);\n-      warningMessage.setVisible(true);\n-      warningMessage.setText(\n-          createErrorMessageWithLink(\n-              GctBundle.message(\"appengine.cloudsdk.location.missing.message\")));\n-\n+      String warningText = appendCloudSdkDownloadMessage(\n+              GctBundle.message(\"appengine.cloudsdk.location.missing.message\"));\n+      showWarning(warningText, false /* setSdkDirectoryErrorState */);\n       return;\n     }\n \n-    try {\n-      new CloudSdk.Builder()\n-          .sdkPath(Paths.get(path))\n-          .build()\n-          .validateCloudSdk();\n-\n-      cloudSdkDirectoryField.getTextField().setForeground(JBColor.black);\n-      warningIcon.setVisible(false);\n-      warningMessage.setVisible(false);\n-    } catch (AppEngineException aee) {\n-      cloudSdkDirectoryField.getTextField().setForeground(JBColor.red);\n-      warningIcon.setVisible(true);\n-      warningMessage.setVisible(true);\n-      warningMessage.setText(\n-          createErrorMessageWithLink(\n-              GctBundle.message(\"appengine.cloudsdk.location.invalid.message\")));\n+    Set<CloudSdkValidationResult> validationResults =\n+        CloudSdkService.getInstance().validateCloudSdk(Paths.get(path));\n+\n+    // if there are any validation errors, show the first one to the user\n+    if (validationResults.size() > 0) {\n+      CloudSdkValidationResult validationResult = validationResults.iterator().next();\n+      String message;\n+      switch (validationResult) {\n+        case CLOUD_SDK_NOT_FOUND:\n+          message = appendCloudSdkDownloadMessage(validationResult.getMessage());\n+          break;\n+        case CLOUD_SDK_VERSION_NOT_SUPPORTED:\n+          message = validationResult.getMessage();\n+          break;\n+        default:\n+          message = validationResult.getMessage();\n+      }\n+      showWarning(message, validationResult.isError());\n+    } else {\n+      hideWarning();\n     }\n   }\n \n   @VisibleForTesting\n+  protected void showWarning(final String message, final boolean setSdkDirectoryErrorState) {\n+    invokePanelValidationUpdate(new Runnable() {\n+      @Override\n+      public void run() {\n+        warningIcon.setVisible(true);\n+        warningMessage.setVisible(true);\n+        warningMessage.setText(message);\n+\n+        if (setSdkDirectoryErrorState) {\n+          cloudSdkDirectoryField.getTextField().setForeground(JBColor.red);\n+        }\n+      }\n+    });\n+  }\n+\n+  @VisibleForTesting\n+  protected void hideWarning() {\n+    invokePanelValidationUpdate(new Runnable() {\n+      @Override\n+      public void run() {\n+        cloudSdkDirectoryField.getTextField().setForeground(JBColor.black);\n+        warningIcon.setVisible(false);\n+        warningIcon.setVisible(false);\n+        warningMessage.setVisible(false);\n+      }\n+    });\n+  }\n+\n+  private void invokePanelValidationUpdate(Runnable runnable) {\n+    ApplicationManager.getApplication().invokeLater(runnable,","path":"google-cloud-tools-plugin/src/com/google/cloud/tools/intellij/appengine/sdk/CloudSdkPanel.java","position":128,"original_position":128,"commit_id":"0b95b3fa1438319c692a19356b25a4eb161d49b5","original_commit_id":"0b95b3fa1438319c692a19356b25a4eb161d49b5","user":{"login":"aslo","id":1039411,"avatar_url":"https://avatars.githubusercontent.com/u/1039411?v=3","gravatar_id":"","url":"https://api.github.com/users/aslo","html_url":"https://github.com/aslo","followers_url":"https://api.github.com/users/aslo/followers","following_url":"https://api.github.com/users/aslo/following{/other_user}","gists_url":"https://api.github.com/users/aslo/gists{/gist_id}","starred_url":"https://api.github.com/users/aslo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aslo/subscriptions","organizations_url":"https://api.github.com/users/aslo/orgs","repos_url":"https://api.github.com/users/aslo/repos","events_url":"https://api.github.com/users/aslo/events{/privacy}","received_events_url":"https://api.github.com/users/aslo/received_events","type":"User","site_admin":false},"body":"No, because showWarning and hideWarning are called within `checkSdk` which is always called by a background thread. See `checkSdkInBackground`.","created_at":"2016-11-15T22:10:19Z","updated_at":"2016-11-15T22:10:19Z","html_url":"https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1084#discussion_r88125466","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/1084","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/comments/88125466"},"html":{"href":"https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1084#discussion_r88125466"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/1084"}}},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/1084","id":92056275,"html_url":"https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1084","diff_url":"https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1084.diff","patch_url":"https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1084.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/issues/1084","number":1084,"state":"open","locked":false,"title":"Implement cloud sdk version checks","user":{"login":"aslo","id":1039411,"avatar_url":"https://avatars.githubusercontent.com/u/1039411?v=3","gravatar_id":"","url":"https://api.github.com/users/aslo","html_url":"https://github.com/aslo","followers_url":"https://api.github.com/users/aslo/followers","following_url":"https://api.github.com/users/aslo/following{/other_user}","gists_url":"https://api.github.com/users/aslo/gists{/gist_id}","starred_url":"https://api.github.com/users/aslo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aslo/subscriptions","organizations_url":"https://api.github.com/users/aslo/orgs","repos_url":"https://api.github.com/users/aslo/repos","events_url":"https://api.github.com/users/aslo/events{/privacy}","received_events_url":"https://api.github.com/users/aslo/received_events","type":"User","site_admin":false},"body":"fixes https://github.com/GoogleCloudPlatform/google-cloud-intellij/issues/1051\r\n\r\nWarns the user if they are using an incompatible version of the Cloud SDK. Wherever possible, if an unsupported Cloud SDK version is found, the message will be displayed as a warning, not an error (it will not block the user from performing whatever action they were trying to do).\r\n\r\nThis check occurs in all of the following places: \r\n1. as an application-level balloon notification, triggered\r\n   a. when a project is opened\r\n   b. when a local dev server run is started\r\n   c. when an app engine deployment run is started\r\n2. in the cloud sdk panel (which appears in a couple places)\r\n  a. when creating a new app engine project\r\n  b. in the application servers menu\r\n  c. in the Clouds menu\r\n\r\nSee screenshots below:\r\n\r\n1. as an application-level balloon notification\r\n![balloon](https://cloud.githubusercontent.com/assets/1039411/20313785/f8a1f28c-ab25-11e6-995c-d6f6b08fd7c2.png)\r\n\r\n2a. in the cloud sdk panel - new app engine project\r\n![cloudsdkpanel_newproject](https://cloud.githubusercontent.com/assets/1039411/20313823/1ac77b66-ab26-11e6-9174-880d0ee6fd11.png)\r\n\r\n2b. in the cloud sdk panel -  application servers menu\r\n![cloudsdkpanel_appservers](https://cloud.githubusercontent.com/assets/1039411/20313853/36a4a110-ab26-11e6-8ece-d00bf9f03aae.png)\r\n\r\n2c. in the cloud sdk panel -  clouds menu\r\n![cloudsdkpanel_clouds](https://cloud.githubusercontent.com/assets/1039411/20313849/3460d9fa-ab26-11e6-8c24-31f81ec646e8.png)\r\n\r\n","created_at":"2016-11-02T21:11:21Z","updated_at":"2016-11-15T22:10:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a464ab4d9de9907119911dc127c9830855bdd562","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/1084/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/1084/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/issues/1084/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/statuses/0b95b3fa1438319c692a19356b25a4eb161d49b5","head":{"label":"GoogleCloudPlatform:implement-cloud-sdk-version-checks","ref":"implement-cloud-sdk-version-checks","sha":"0b95b3fa1438319c692a19356b25a4eb161d49b5","user":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":38834157,"name":"google-cloud-intellij","full_name":"GoogleCloudPlatform/google-cloud-intellij","owner":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/google-cloud-intellij","description":"Plugin to support the Google Cloud Platform in IntelliJ IDEA.","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/releases{/id}","deployments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/deployments","created_at":"2015-07-09T17:08:59Z","updated_at":"2016-11-10T16:22:11Z","pushed_at":"2016-11-15T21:35:07Z","git_url":"git://github.com/GoogleCloudPlatform/google-cloud-intellij.git","ssh_url":"git@github.com:GoogleCloudPlatform/google-cloud-intellij.git","clone_url":"https://github.com/GoogleCloudPlatform/google-cloud-intellij.git","svn_url":"https://github.com/GoogleCloudPlatform/google-cloud-intellij","homepage":"","size":19005,"stargazers_count":45,"watchers_count":45,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":13,"mirror_url":null,"open_issues_count":133,"forks":13,"open_issues":133,"watchers":45,"default_branch":"master"}},"base":{"label":"GoogleCloudPlatform:master","ref":"master","sha":"9cb25dff890108518d4a1c84ed599f3b2ba7a528","user":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":38834157,"name":"google-cloud-intellij","full_name":"GoogleCloudPlatform/google-cloud-intellij","owner":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/google-cloud-intellij","description":"Plugin to support the Google Cloud Platform in IntelliJ IDEA.","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/releases{/id}","deployments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/deployments","created_at":"2015-07-09T17:08:59Z","updated_at":"2016-11-10T16:22:11Z","pushed_at":"2016-11-15T21:35:07Z","git_url":"git://github.com/GoogleCloudPlatform/google-cloud-intellij.git","ssh_url":"git@github.com:GoogleCloudPlatform/google-cloud-intellij.git","clone_url":"https://github.com/GoogleCloudPlatform/google-cloud-intellij.git","svn_url":"https://github.com/GoogleCloudPlatform/google-cloud-intellij","homepage":"","size":19005,"stargazers_count":45,"watchers_count":45,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":13,"mirror_url":null,"open_issues_count":133,"forks":13,"open_issues":133,"watchers":45,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/1084"},"html":{"href":"https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1084"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/issues/1084"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/issues/1084/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/1084/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/pulls/1084/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-intellij/statuses/0b95b3fa1438319c692a19356b25a4eb161d49b5"}}}}
{"actor":{"display_login":"aslo"}}