{"action":"created","comment":{"url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/comments/73513455","id":73513455,"diff_hunk":"@@ -0,0 +1,243 @@\n+/*\n+ * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.\n+ *\n+ * WSO2 Inc. licenses this file to you under the Apache License,\n+ * Version 2.0 (the \"License\"); you may not use this file except\n+ * in compliance with the License.\n+ * You may obtain a copy of the License at\n+ *\n+ *   http://www.apache.org/licenses/LICENSE-2.0\n+ *\n+ * Unless required by applicable law or agreed to in writing,\n+ * software distributed under the License is distributed on an\n+ * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n+ * KIND, either express or implied.  See the License for the\n+ * specific language governing permissions and limitations\n+ * under the License.\n+*/\n+\n+package org.wso2.greg.plugin.workspace;\n+\n+import com.eviware.soapui.impl.WorkspaceImpl;\n+import com.eviware.soapui.impl.rest.RestService;\n+import com.eviware.soapui.impl.wsdl.WsdlProject;\n+import com.eviware.soapui.plugins.auto.PluginImportMethod;\n+import com.eviware.soapui.support.StringUtils;\n+import com.eviware.soapui.support.UISupport;\n+import com.eviware.soapui.support.action.support.AbstractSoapUIAction;\n+import com.eviware.x.form.ValidationMessage;\n+import com.eviware.x.form.XFormDialog;\n+import com.eviware.x.form.XFormField;\n+import com.eviware.x.form.XFormFieldValidator;\n+import com.eviware.x.form.support.ADialogBuilder;\n+import org.apache.commons.logging.Log;\n+import org.apache.commons.logging.LogFactory;\n+import org.wso2.greg.plugin.Utils;\n+import org.wso2.greg.plugin.common.GregReadyPluginException;\n+import org.wso2.greg.plugin.constants.HelpMessageConstants;\n+import org.wso2.greg.plugin.constants.ResourceConstants;\n+import org.wso2.greg.plugin.dataObjects.ResourceExtractionResult;\n+import org.wso2.greg.plugin.dataObjects.ResourceInfo;\n+import org.wso2.greg.plugin.dataObjects.ResourceSelectionResult;\n+import org.wso2.greg.plugin.ui.ProjectModel;\n+import org.wso2.greg.plugin.worker.ResourceExtractorWorker;\n+import org.wso2.greg.plugin.worker.ResourceImporterWorker;\n+\n+import java.io.BufferedReader;\n+import java.io.BufferedWriter;\n+import java.io.File;\n+import java.io.FileInputStream;\n+import java.io.FileWriter;\n+import java.io.IOException;\n+import java.io.InputStreamReader;\n+import java.util.HashMap;\n+import java.util.List;\n+import java.util.Map;\n+import java.util.regex.PatternSyntaxException;\n+\n+\n+/**\n+ * This class is used to generate a new workspace for the WSO2 API Manager projects\n+ */\n+@PluginImportMethod(label = \"Import wsdl/swagger resources from WSO2 Governance Registry\")\n+public class WSO2GregWorkspace extends AbstractSoapUIAction<WorkspaceImpl> {\n+\n+    private ResourceExtractionResult listExtractionResult = null;\n+    private static final Log log = LogFactory.getLog(WSO2GregWorkspace.class);\n+\n+    public WSO2GregWorkspace() {\n+        super(\"Create Project from WSO2 Governance Registry\", \"Creates new project from wsdl/swagger Resources on the G-reg Store\");\n+    }\n+\n+    public void perform(WorkspaceImpl workspace, Object params) {\n+\n+        final XFormDialog dialog = ADialogBuilder.buildDialog(ProjectModel.class);\n+        setProfileValuesToUI(dialog);\n+        /*\n+         * The purpose of this listener is to validate the API Store URL and the Project name upon submitting the form\n+         */\n+        dialog.getFormField(ProjectModel.GREG_HOST).addFormFieldValidator(new XFormFieldValidator() {\n+            public ValidationMessage[] validateField(XFormField formField) {\n+                if (StringUtils.isNullOrEmpty(dialog.getValue(ProjectModel.GREG_HOST))) {\n+                    return new ValidationMessage[]{\n+                            new ValidationMessage(HelpMessageConstants.HOST_EMPTY,\n+                                    dialog.getFormField(ProjectModel.GREG_HOST))};\n+                }\n+                if (StringUtils.isNullOrEmpty(dialog.getValue(ProjectModel.PROJECT_NAME))) {\n+                    return new ValidationMessage[]{\n+                            new ValidationMessage(HelpMessageConstants.PROJECT_NAME_VALIDATION_MSG,\n+                                    dialog.getFormField(ProjectModel.PROJECT_NAME))};\n+                }\n+                if (StringUtils.isNullOrEmpty(dialog.getValue(ProjectModel.USER_NAME))) {\n+                    return new ValidationMessage[]{\n+                            new ValidationMessage(HelpMessageConstants.USER_NAME_VALIDATION_MSG,\n+                                    dialog.getFormField(ProjectModel.USER_NAME))};\n+                }\n+                if (StringUtils.isNullOrEmpty(dialog.getValue(ProjectModel.PASSWORD))) {\n+                    return new ValidationMessage[]{\n+                            new ValidationMessage(HelpMessageConstants.PASSWORD_VALIDATION_MSG,\n+                                    dialog.getFormField(ProjectModel.PASSWORD))};\n+                }\n+\n+                String hostName = dialog.getValue(ProjectModel.GREG_HOST);\n+                String port = dialog.getValue(ProjectModel.GREG_PORT);\n+                String resourceType = dialog.getValue(ProjectModel.RESOURCETYPE);\n+\n+                try {\n+                    saveLoginProfileData(hostName, port, dialog.getValue(ProjectModel.USER_NAME),\n+                            dialog.getValue(ProjectModel.TENANT_DOMAIN));\n+                } catch (GregReadyPluginException e) {\n+                    log.error(\"Error occurred while saving profile data \", e);\n+                }\n+\n+                listExtractionResult = ResourceExtractorWorker.downloadResourcesList(hostName, port,\n+                        resourceType, dialog.getValue(ProjectModel.USER_NAME),\n+                        dialog.getValue(ProjectModel.PASSWORD).toCharArray(),\n+                        dialog.getValue(ProjectModel.TENANT_DOMAIN),\n+                        dialog.getValue(ProjectModel.PRODUCT_VERSION));\n+\n+                if (StringUtils.hasContent(listExtractionResult.getError())) {\n+                    return new ValidationMessage[]{new ValidationMessage(listExtractionResult.getError(),\n+                            formField)};\n+                }\n+                return new ValidationMessage[0];\n+            }\n+        });\n+\n+        if (dialog.show() && listExtractionResult != null && !listExtractionResult.isCanceled()) {\n+            ResourceSelectionResult selectionResult =\n+                    Utils.showSelectAPIDefDialog(listExtractionResult.getResourceInfos());\n+            if (selectionResult == null) {\n+                return;\n+            }\n+\n+            List<ResourceInfo> selectedAPIs = selectionResult.getResourceInfoList();\n+            if (selectedAPIs != null) {\n+                WsdlProject project;\n+                try {\n+                    project = workspace.createProject(dialog.getValue(ProjectModel.PROJECT_NAME), null);\n+                } catch (Exception e) {\n+                    log.error(\"Error occured while creating a project\", e);\n+                    UISupport.showErrorMessage(String.format(\"Unable to create Project because of %s exception with \"\n+                                    + \"\\\"%s\\\" message\", e.getClass().getName(),\n+                            e.getMessage()));\n+                    return;\n+                }\n+                List<RestService> services =\n+                        ResourceImporterWorker.importServices(selectionResult, project);\n+                if (services != null && !services.isEmpty()) {\n+                    UISupport.select(services.get(0));\n+                } else {\n+                    workspace.removeProject(project);\n+                }\n+\n+\n+            }\n+        }\n+    }\n+\n+    private void saveLoginProfileData(String host, String port, String userName, String tenantDomain) throws GregReadyPluginException {\n+\n+        File profileDataFile;\n+\n+        profileDataFile = new File(System.getProperty(\"java.io.tmpdir\") + File.separator +\n+                ResourceConstants.LOGIN_PROFILE_FILE_PREFIX +\n+                ResourceConstants.LOGIN_PROFILE_FILE_SUFFIX);\n+\n+        if (profileDataFile.exists()) {\n+            profileDataFile.delete();\n+        }\n+        try (\n+            BufferedWriter out = new BufferedWriter(new FileWriter(profileDataFile));\n+        )\n+        {\n+            profileDataFile.createNewFile();\n+\n+            String data = ResourceConstants.URLS.HOST_NAME + \":\" + host + \"\\n\" +\n+                    ResourceConstants.URLS.PORT + \":\" + port + \"\\n\" +\n+                    ResourceConstants.URLS.USER_NAME + \":\" + userName + \"\\n\" +\n+                    ResourceConstants.TENANT_DOMAIN + \":\" + tenantDomain + \"\\n\";\n+\n+            out.write(data);\n+            out.flush();\n+\n+        } catch (IOException ioEx) {\n+            log.error(\"IO Exception occured while saving login profile\", ioEx);\n+            throw new GregReadyPluginException(\"IO Exception occurred while saving login profile\", ioEx);\n+        }\n+    }\n+\n+    private void setProfileValuesToUI(XFormDialog dialog) {\n+\n+        File loginPrfileSettingsFile = new File(System.getProperty(\"java.io.tmpdir\") + File.separator +\n+                ResourceConstants.LOGIN_PROFILE_FILE_PREFIX + ResourceConstants.LOGIN_PROFILE_FILE_SUFFIX);\n+\n+        Map profileMap = new HashMap();\n+\n+        if (loginPrfileSettingsFile.exists()) {\n+\n+            try (\n+                 FileInputStream fis = new FileInputStream(loginPrfileSettingsFile);\n+                 BufferedReader br = new BufferedReader(new InputStreamReader(fis));\n+            ){\n+                String line;\n+\n+                while ((line = br.readLine()) != null) {\n+                    try {\n+                        profileMap.put(line.split(\":\")[0], line.split(\":\")[1]);\n+                    }catch(PatternSyntaxException patEx){\n+                        log.error(\"Pattern syntax error in setting profile data\"+line,patEx);\n+                    }catch (ArrayIndexOutOfBoundsException arrEx){","path":"src/main/java/org/wso2/greg/plugin/workspace/WSO2GregWorkspace.java","position":210,"original_position":210,"commit_id":"a756d80ac6200fa09a4d02035bebe98ef12bcf69","original_commit_id":"a756d80ac6200fa09a4d02035bebe98ef12bcf69","user":{"login":"cnapagoda","id":5191315,"avatar_url":"https://avatars.githubusercontent.com/u/5191315?v=3","gravatar_id":"","url":"https://api.github.com/users/cnapagoda","html_url":"https://github.com/cnapagoda","followers_url":"https://api.github.com/users/cnapagoda/followers","following_url":"https://api.github.com/users/cnapagoda/following{/other_user}","gists_url":"https://api.github.com/users/cnapagoda/gists{/gist_id}","starred_url":"https://api.github.com/users/cnapagoda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cnapagoda/subscriptions","organizations_url":"https://api.github.com/users/cnapagoda/orgs","repos_url":"https://api.github.com/users/cnapagoda/repos","events_url":"https://api.github.com/users/cnapagoda/events{/privacy}","received_events_url":"https://api.github.com/users/cnapagoda/received_events","type":"User","site_admin":false},"body":"Formatting issues.\r\n1. There should be a space in between ) and catch block\r\n2. There should be a space in between ) and { characters ","created_at":"2016-08-04T12:39:54Z","updated_at":"2016-08-04T12:39:54Z","html_url":"https://github.com/wso2-incubator/greg-smartbear-plugin/pull/1#discussion_r73513455","pull_request_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/comments/73513455"},"html":{"href":"https://github.com/wso2-incubator/greg-smartbear-plugin/pull/1#discussion_r73513455"},"pull_request":{"href":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/1","id":80059727,"html_url":"https://github.com/wso2-incubator/greg-smartbear-plugin/pull/1","diff_url":"https://github.com/wso2-incubator/greg-smartbear-plugin/pull/1.diff","patch_url":"https://github.com/wso2-incubator/greg-smartbear-plugin/pull/1.patch","issue_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/issues/1","number":1,"state":"open","locked":false,"title":"WSO2 G-reg smart bear plugin","user":{"login":"manojgunayadev","id":8859861,"avatar_url":"https://avatars.githubusercontent.com/u/8859861?v=3","gravatar_id":"","url":"https://api.github.com/users/manojgunayadev","html_url":"https://github.com/manojgunayadev","followers_url":"https://api.github.com/users/manojgunayadev/followers","following_url":"https://api.github.com/users/manojgunayadev/following{/other_user}","gists_url":"https://api.github.com/users/manojgunayadev/gists{/gist_id}","starred_url":"https://api.github.com/users/manojgunayadev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manojgunayadev/subscriptions","organizations_url":"https://api.github.com/users/manojgunayadev/orgs","repos_url":"https://api.github.com/users/manojgunayadev/repos","events_url":"https://api.github.com/users/manojgunayadev/events{/privacy}","received_events_url":"https://api.github.com/users/manojgunayadev/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-08-04T11:06:33Z","updated_at":"2016-08-04T12:39:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d5c20457e9cbcae5e8d838e5edaa3124b75d8b35","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/1/commits","review_comments_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/1/comments","review_comment_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/comments{/number}","comments_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/issues/1/comments","statuses_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/statuses/a756d80ac6200fa09a4d02035bebe98ef12bcf69","head":{"label":"manojgunayadev:master","ref":"master","sha":"a756d80ac6200fa09a4d02035bebe98ef12bcf69","user":{"login":"manojgunayadev","id":8859861,"avatar_url":"https://avatars.githubusercontent.com/u/8859861?v=3","gravatar_id":"","url":"https://api.github.com/users/manojgunayadev","html_url":"https://github.com/manojgunayadev","followers_url":"https://api.github.com/users/manojgunayadev/followers","following_url":"https://api.github.com/users/manojgunayadev/following{/other_user}","gists_url":"https://api.github.com/users/manojgunayadev/gists{/gist_id}","starred_url":"https://api.github.com/users/manojgunayadev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manojgunayadev/subscriptions","organizations_url":"https://api.github.com/users/manojgunayadev/orgs","repos_url":"https://api.github.com/users/manojgunayadev/repos","events_url":"https://api.github.com/users/manojgunayadev/events{/privacy}","received_events_url":"https://api.github.com/users/manojgunayadev/received_events","type":"User","site_admin":false},"repo":{"id":63549343,"name":"greg-smartbear-plugin","full_name":"manojgunayadev/greg-smartbear-plugin","owner":{"login":"manojgunayadev","id":8859861,"avatar_url":"https://avatars.githubusercontent.com/u/8859861?v=3","gravatar_id":"","url":"https://api.github.com/users/manojgunayadev","html_url":"https://github.com/manojgunayadev","followers_url":"https://api.github.com/users/manojgunayadev/followers","following_url":"https://api.github.com/users/manojgunayadev/following{/other_user}","gists_url":"https://api.github.com/users/manojgunayadev/gists{/gist_id}","starred_url":"https://api.github.com/users/manojgunayadev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manojgunayadev/subscriptions","organizations_url":"https://api.github.com/users/manojgunayadev/orgs","repos_url":"https://api.github.com/users/manojgunayadev/repos","events_url":"https://api.github.com/users/manojgunayadev/events{/privacy}","received_events_url":"https://api.github.com/users/manojgunayadev/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/manojgunayadev/greg-smartbear-plugin","description":null,"fork":true,"url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin","forks_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/forks","keys_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/teams","hooks_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/hooks","issue_events_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/issues/events{/number}","events_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/events","assignees_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/assignees{/user}","branches_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/branches{/branch}","tags_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/tags","blobs_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/git/refs{/sha}","trees_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/statuses/{sha}","languages_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/languages","stargazers_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/stargazers","contributors_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/contributors","subscribers_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/subscribers","subscription_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/subscription","commits_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/commits{/sha}","git_commits_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/git/commits{/sha}","comments_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/comments{/number}","issue_comment_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/issues/comments{/number}","contents_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/contents/{+path}","compare_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/merges","archive_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/downloads","issues_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/issues{/number}","pulls_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/pulls{/number}","milestones_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/milestones{/number}","notifications_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/labels{/name}","releases_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/releases{/id}","deployments_url":"https://api.github.com/repos/manojgunayadev/greg-smartbear-plugin/deployments","created_at":"2016-07-17T19:43:02Z","updated_at":"2016-08-04T10:18:25Z","pushed_at":"2016-08-04T11:05:16Z","git_url":"git://github.com/manojgunayadev/greg-smartbear-plugin.git","ssh_url":"git@github.com:manojgunayadev/greg-smartbear-plugin.git","clone_url":"https://github.com/manojgunayadev/greg-smartbear-plugin.git","svn_url":"https://github.com/manojgunayadev/greg-smartbear-plugin","homepage":null,"size":29,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"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":0,"default_branch":"master"}},"base":{"label":"wso2-incubator:master","ref":"master","sha":"4174d3edf15f29176079f3909f3c164eb6f5049c","user":{"login":"wso2-incubator","id":6744733,"avatar_url":"https://avatars.githubusercontent.com/u/6744733?v=3","gravatar_id":"","url":"https://api.github.com/users/wso2-incubator","html_url":"https://github.com/wso2-incubator","followers_url":"https://api.github.com/users/wso2-incubator/followers","following_url":"https://api.github.com/users/wso2-incubator/following{/other_user}","gists_url":"https://api.github.com/users/wso2-incubator/gists{/gist_id}","starred_url":"https://api.github.com/users/wso2-incubator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wso2-incubator/subscriptions","organizations_url":"https://api.github.com/users/wso2-incubator/orgs","repos_url":"https://api.github.com/users/wso2-incubator/repos","events_url":"https://api.github.com/users/wso2-incubator/events{/privacy}","received_events_url":"https://api.github.com/users/wso2-incubator/received_events","type":"Organization","site_admin":false},"repo":{"id":61362383,"name":"greg-smartbear-plugin","full_name":"wso2-incubator/greg-smartbear-plugin","owner":{"login":"wso2-incubator","id":6744733,"avatar_url":"https://avatars.githubusercontent.com/u/6744733?v=3","gravatar_id":"","url":"https://api.github.com/users/wso2-incubator","html_url":"https://github.com/wso2-incubator","followers_url":"https://api.github.com/users/wso2-incubator/followers","following_url":"https://api.github.com/users/wso2-incubator/following{/other_user}","gists_url":"https://api.github.com/users/wso2-incubator/gists{/gist_id}","starred_url":"https://api.github.com/users/wso2-incubator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wso2-incubator/subscriptions","organizations_url":"https://api.github.com/users/wso2-incubator/orgs","repos_url":"https://api.github.com/users/wso2-incubator/repos","events_url":"https://api.github.com/users/wso2-incubator/events{/privacy}","received_events_url":"https://api.github.com/users/wso2-incubator/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/wso2-incubator/greg-smartbear-plugin","description":"","fork":false,"url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin","forks_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/forks","keys_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/teams","hooks_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/hooks","issue_events_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/issues/events{/number}","events_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/events","assignees_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/assignees{/user}","branches_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/branches{/branch}","tags_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/tags","blobs_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/git/refs{/sha}","trees_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/statuses/{sha}","languages_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/languages","stargazers_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/stargazers","contributors_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/contributors","subscribers_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/subscribers","subscription_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/subscription","commits_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/commits{/sha}","git_commits_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/git/commits{/sha}","comments_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/comments{/number}","issue_comment_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/issues/comments{/number}","contents_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/contents/{+path}","compare_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/merges","archive_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/downloads","issues_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/issues{/number}","pulls_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls{/number}","milestones_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/milestones{/number}","notifications_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/labels{/name}","releases_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/releases{/id}","deployments_url":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/deployments","created_at":"2016-06-17T09:29:03Z","updated_at":"2016-06-21T05:56:35Z","pushed_at":"2016-08-04T11:06:33Z","git_url":"git://github.com/wso2-incubator/greg-smartbear-plugin.git","ssh_url":"git@github.com:wso2-incubator/greg-smartbear-plugin.git","clone_url":"https://github.com/wso2-incubator/greg-smartbear-plugin.git","svn_url":"https://github.com/wso2-incubator/greg-smartbear-plugin","homepage":null,"size":4,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/1"},"html":{"href":"https://github.com/wso2-incubator/greg-smartbear-plugin/pull/1"},"issue":{"href":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/issues/1"},"comments":{"href":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/wso2-incubator/greg-smartbear-plugin/statuses/a756d80ac6200fa09a4d02035bebe98ef12bcf69"}}}}
{"actor":{"display_login":"cnapagoda"}}