{"action":"created","comment":{"url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/comments/90602672","pull_request_review_id":11121308,"id":90602672,"diff_hunk":"@@ -1,49 +1,103 @@\n import { Meteor } from 'meteor/meteor';\n+import { TAPi18n } from 'meteor/tap:i18n';\n import ElasticSearch from 'elasticsearch';\n-// Collection import\n-import { Proxies } from '/proxies/collection';\n-\n \n Meteor.methods({\n-  getElasticSearchData (opts, proxyId) {\n-    // Check if user is authorised\n-    if (Meteor.user()) {\n-      const host = Meteor.call('getElasticsearchUrl', proxyId);\n-\n-      // Init ES client\n-      const esClient = new ElasticSearch.Client({ host });\n+  getElasticSearchData (proxyData, analyticsData) {\n+    let params;\n \n-      // Get elasticsearch data and return\n-      return esClient.search(opts).then((res) => {\n-        return res;\n-      }, (err) => {\n-        throw new Meteor.Error(err.message);\n-      });\n+    // Constructs the Elastic Search query object\n+    switch (proxyData.proxyType) {\n+      case 'apiUmbrella':\n+        params = Meteor.call('getElasticQueryUmbrella', proxyData.frontendPrefix, analyticsData);\n+        break;\n+      case 'emqtt':\n+        // TODO: Add fronted prefix parameter if eMQTT protocol has it\n+        params = Meteor.call('getElasticQueryEmqtt');\n+        break;\n+      default:\n+        const message = TAPi18n.__('dashboard_errorMessage_unknownProxyType');\n+        throw new Meteor.Error(message);\n     }\n \n-    throw new Meteor.Error('User is not authorised.');\n+    // Save the Elastic Search url\n+    const host = proxyData.elasticSearchUrl;\n+    // Init ES client\n+    const esClient = new ElasticSearch.Client({ host });\n+\n+    // Makes the HTTP request\n+    // Get Elastic Search data and return\n+    return esClient.search(params).then((res) => res, (err) => {\n+      // Throw an error\n+      throw new Meteor.Error(err.message);\n+    });\n   },\n-  elasticsearchIsDefined (proxyId) {\n-    // Get Proxy instance of ID\n-    const proxy = Proxies.findOne(proxyId);\n-    // Check of existing this proxy instance\n-    if (proxy) {\n-      // Get Elastic Search URL\n-      const elasticsearch = proxy.apiUmbrella.elasticsearch;\n+  // Constructs the Elastic Search query object for apiUmbrella\n+  getElasticQueryUmbrella (frontendPrefix, analyticsData) {\n+    // Construct parameters for Elastic Search\n+    // TODO: For case \"Proxy Admin API\" with prefix /api-umbrella/\n+    // TODO: Values aggregation associated with granularity\n+    const params = {\n+      size: 50000,\n+      body: {\n+        query: {\n+          filtered: {\n+            query: {\n+              bool: {\n+                should: [\n+                  {\n+                    wildcard: {\n+                      request_path: {\n+                        // Add '*' to partially match the url\n+                        value: `${frontendPrefix}*`,\n+                      },\n+                    },\n+                  },\n+                ],\n+              },\n+            },\n+            filter: {\n+              range: {\n+                request_at: {},\n+              },\n+            },\n+          },\n+        },\n+        sort: [\n+          {\n+            request_at: {\n+              order: 'desc',\n+            },\n+          },\n+        ],\n+        fields: [\n+          'request_at',\n+          'response_status',\n+          'response_time',\n+          'request_ip_country',\n+          'request_ip',\n+          'request_path',\n+          'user_id',\n+        ],\n+      },\n+    };\n \n-      // Return true or false, depending on whether elasticsearch is defined\n-      return (elasticsearch);\n+    // Update query parameters for date range, when provided\n+    if (analyticsData.analyticsFrom) {\n+      // Set start date (greater than or equal to) for analytics timeframe\n+      params.body.query.filtered.filter.range.request_at.gte = analyticsData.analyticsFrom;\n     }\n \n-    return false;\n-  },\n-  getElasticsearchUrl (proxyId) {\n-    // Check existing of Elastci Search URL\n-    if (Meteor.call('elasticsearchIsDefined', proxyId)) {\n-      // Return URL\n-      return Proxies.findOne(proxyId).apiUmbrella.elasticsearch;\n+    // Update query parameters for date range, when provided\n+    if (analyticsData.analyticsTo) {\n+      // Set end date (less than or equal to) for analytics timeframe\n+      params.body.query.filtered.filter.range.request_at.lte = analyticsData.analyticsTo;\n     }\n \n-    throw new Meteor.Error('Elasticsearch is not defined');\n+    return params;\n+  },\n+  // TODO: Add right constructor\n+  getElasticQueryEmqtt () {\n+    return { size: 1000 };","path":"elasticsearch/server/methods.js","position":135,"original_position":135,"commit_id":"58a1f56dcc543df23f4b1eef8b3c926b54cdcff5","original_commit_id":"58a1f56dcc543df23f4b1eef8b3c926b54cdcff5","user":{"login":"brylie","id":17307,"avatar_url":"https://avatars.githubusercontent.com/u/17307?v=3","gravatar_id":"","url":"https://api.github.com/users/brylie","html_url":"https://github.com/brylie","followers_url":"https://api.github.com/users/brylie/followers","following_url":"https://api.github.com/users/brylie/following{/other_user}","gists_url":"https://api.github.com/users/brylie/gists{/gist_id}","starred_url":"https://api.github.com/users/brylie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brylie/subscriptions","organizations_url":"https://api.github.com/users/brylie/orgs","repos_url":"https://api.github.com/users/brylie/repos","events_url":"https://api.github.com/users/brylie/events{/privacy}","received_events_url":"https://api.github.com/users/brylie/received_events","type":"User","site_admin":false},"body":"OK, cool. Perhaps add a comment like:\r\n\r\n``js\r\n// TODO: describe the 'size' attribute and why it is '1000'\r\n```\r\n\r\n/cc @frenchbread","created_at":"2016-12-02T08:29:24Z","updated_at":"2016-12-02T08:29:24Z","html_url":"https://github.com/Digipalvelutehdas/APIKA/pull/64#discussion_r90602672","pull_request_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/64","_links":{"self":{"href":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/comments/90602672"},"html":{"href":"https://github.com/Digipalvelutehdas/APIKA/pull/64#discussion_r90602672"},"pull_request":{"href":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/64"}}},"pull_request":{"url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/64","id":95716327,"html_url":"https://github.com/Digipalvelutehdas/APIKA/pull/64","diff_url":"https://github.com/Digipalvelutehdas/APIKA/pull/64.diff","patch_url":"https://github.com/Digipalvelutehdas/APIKA/pull/64.patch","issue_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/issues/64","number":64,"state":"open","locked":false,"title":"Code refactoring of Elastic Search","user":{"login":"marla-singer","id":20643403,"avatar_url":"https://avatars.githubusercontent.com/u/20643403?v=3","gravatar_id":"","url":"https://api.github.com/users/marla-singer","html_url":"https://github.com/marla-singer","followers_url":"https://api.github.com/users/marla-singer/followers","following_url":"https://api.github.com/users/marla-singer/following{/other_user}","gists_url":"https://api.github.com/users/marla-singer/gists{/gist_id}","starred_url":"https://api.github.com/users/marla-singer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marla-singer/subscriptions","organizations_url":"https://api.github.com/users/marla-singer/orgs","repos_url":"https://api.github.com/users/marla-singer/repos","events_url":"https://api.github.com/users/marla-singer/events{/privacy}","received_events_url":"https://api.github.com/users/marla-singer/received_events","type":"User","site_admin":false},"body":"Closes #61 \r\nCloses https://github.com/apinf/platform/issues/1956\r\n### Changes\r\n- Added server method **getProxyData**:\r\n    - fetches proxy document\r\n    - checks of existing needed proxy parameters\r\n    - constructs and returns needed proxy data\r\n- Deleted two elastic search methods associated with definition URL (move this part of getProxyData method)\r\n- Refactored getElasticSearchData method: \r\n    - constructs the Elastic Search query object\r\n    - makes the HTTP request\r\n- Move getElasticQuery to own server method (create query for apiUmbrella proxy type)","created_at":"2016-11-29T15:39:34Z","updated_at":"2016-12-02T08:29:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"cea5ae9210a02099f4aae06e4bf1e1dca8d8a721","assignee":{"login":"brylie","id":17307,"avatar_url":"https://avatars.githubusercontent.com/u/17307?v=3","gravatar_id":"","url":"https://api.github.com/users/brylie","html_url":"https://github.com/brylie","followers_url":"https://api.github.com/users/brylie/followers","following_url":"https://api.github.com/users/brylie/following{/other_user}","gists_url":"https://api.github.com/users/brylie/gists{/gist_id}","starred_url":"https://api.github.com/users/brylie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brylie/subscriptions","organizations_url":"https://api.github.com/users/brylie/orgs","repos_url":"https://api.github.com/users/brylie/repos","events_url":"https://api.github.com/users/brylie/events{/privacy}","received_events_url":"https://api.github.com/users/brylie/received_events","type":"User","site_admin":false},"assignees":[{"login":"brylie","id":17307,"avatar_url":"https://avatars.githubusercontent.com/u/17307?v=3","gravatar_id":"","url":"https://api.github.com/users/brylie","html_url":"https://github.com/brylie","followers_url":"https://api.github.com/users/brylie/followers","following_url":"https://api.github.com/users/brylie/following{/other_user}","gists_url":"https://api.github.com/users/brylie/gists{/gist_id}","starred_url":"https://api.github.com/users/brylie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brylie/subscriptions","organizations_url":"https://api.github.com/users/brylie/orgs","repos_url":"https://api.github.com/users/brylie/repos","events_url":"https://api.github.com/users/brylie/events{/privacy}","received_events_url":"https://api.github.com/users/brylie/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/milestones/1","html_url":"https://github.com/Digipalvelutehdas/APIKA/milestones/R1-Sprint%201","labels_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/milestones/1/labels","id":2144132,"number":1,"title":"R1-Sprint 1","description":"Sprint 1: 21 November - 2 December","creator":{"login":"bajiat","id":11626388,"avatar_url":"https://avatars.githubusercontent.com/u/11626388?v=3","gravatar_id":"","url":"https://api.github.com/users/bajiat","html_url":"https://github.com/bajiat","followers_url":"https://api.github.com/users/bajiat/followers","following_url":"https://api.github.com/users/bajiat/following{/other_user}","gists_url":"https://api.github.com/users/bajiat/gists{/gist_id}","starred_url":"https://api.github.com/users/bajiat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bajiat/subscriptions","organizations_url":"https://api.github.com/users/bajiat/orgs","repos_url":"https://api.github.com/users/bajiat/repos","events_url":"https://api.github.com/users/bajiat/events{/privacy}","received_events_url":"https://api.github.com/users/bajiat/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":29,"state":"open","created_at":"2016-11-18T13:25:39Z","updated_at":"2016-12-02T08:28:15Z","due_on":"2016-12-02T00:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/64/commits","review_comments_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/64/comments","review_comment_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/issues/64/comments","statuses_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/statuses/58a1f56dcc543df23f4b1eef8b3c926b54cdcff5","head":{"label":"Digipalvelutehdas:feature/dashboard-renders-charts","ref":"feature/dashboard-renders-charts","sha":"58a1f56dcc543df23f4b1eef8b3c926b54cdcff5","user":{"login":"Digipalvelutehdas","id":12421888,"avatar_url":"https://avatars.githubusercontent.com/u/12421888?v=3","gravatar_id":"","url":"https://api.github.com/users/Digipalvelutehdas","html_url":"https://github.com/Digipalvelutehdas","followers_url":"https://api.github.com/users/Digipalvelutehdas/followers","following_url":"https://api.github.com/users/Digipalvelutehdas/following{/other_user}","gists_url":"https://api.github.com/users/Digipalvelutehdas/gists{/gist_id}","starred_url":"https://api.github.com/users/Digipalvelutehdas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Digipalvelutehdas/subscriptions","organizations_url":"https://api.github.com/users/Digipalvelutehdas/orgs","repos_url":"https://api.github.com/users/Digipalvelutehdas/repos","events_url":"https://api.github.com/users/Digipalvelutehdas/events{/privacy}","received_events_url":"https://api.github.com/users/Digipalvelutehdas/received_events","type":"Organization","site_admin":false},"repo":{"id":46119242,"name":"APIKA","full_name":"Digipalvelutehdas/APIKA","owner":{"login":"Digipalvelutehdas","id":12421888,"avatar_url":"https://avatars.githubusercontent.com/u/12421888?v=3","gravatar_id":"","url":"https://api.github.com/users/Digipalvelutehdas","html_url":"https://github.com/Digipalvelutehdas","followers_url":"https://api.github.com/users/Digipalvelutehdas/followers","following_url":"https://api.github.com/users/Digipalvelutehdas/following{/other_user}","gists_url":"https://api.github.com/users/Digipalvelutehdas/gists{/gist_id}","starred_url":"https://api.github.com/users/Digipalvelutehdas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Digipalvelutehdas/subscriptions","organizations_url":"https://api.github.com/users/Digipalvelutehdas/orgs","repos_url":"https://api.github.com/users/Digipalvelutehdas/repos","events_url":"https://api.github.com/users/Digipalvelutehdas/events{/privacy}","received_events_url":"https://api.github.com/users/Digipalvelutehdas/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Digipalvelutehdas/APIKA","description":"APIKA dashboard","fork":false,"url":"https://api.github.com/repos/Digipalvelutehdas/APIKA","forks_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/forks","keys_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/teams","hooks_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/hooks","issue_events_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/issues/events{/number}","events_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/events","assignees_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/assignees{/user}","branches_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/branches{/branch}","tags_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/tags","blobs_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/git/refs{/sha}","trees_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/statuses/{sha}","languages_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/languages","stargazers_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/stargazers","contributors_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/contributors","subscribers_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/subscribers","subscription_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/subscription","commits_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/commits{/sha}","git_commits_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/git/commits{/sha}","comments_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/comments{/number}","issue_comment_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/issues/comments{/number}","contents_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/contents/{+path}","compare_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/merges","archive_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/downloads","issues_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/issues{/number}","pulls_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls{/number}","milestones_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/milestones{/number}","notifications_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/labels{/name}","releases_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/releases{/id}","deployments_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/deployments","created_at":"2015-11-13T11:54:50Z","updated_at":"2016-11-22T08:35:06Z","pushed_at":"2016-12-02T08:28:17Z","git_url":"git://github.com/Digipalvelutehdas/APIKA.git","ssh_url":"git@github.com:Digipalvelutehdas/APIKA.git","clone_url":"https://github.com/Digipalvelutehdas/APIKA.git","svn_url":"https://github.com/Digipalvelutehdas/APIKA","homepage":null,"size":19669,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":45,"forks":0,"open_issues":45,"watchers":1,"default_branch":"develop"}},"base":{"label":"Digipalvelutehdas:develop","ref":"develop","sha":"c0b63635424f9591fb3a5421891f3b124880ad74","user":{"login":"Digipalvelutehdas","id":12421888,"avatar_url":"https://avatars.githubusercontent.com/u/12421888?v=3","gravatar_id":"","url":"https://api.github.com/users/Digipalvelutehdas","html_url":"https://github.com/Digipalvelutehdas","followers_url":"https://api.github.com/users/Digipalvelutehdas/followers","following_url":"https://api.github.com/users/Digipalvelutehdas/following{/other_user}","gists_url":"https://api.github.com/users/Digipalvelutehdas/gists{/gist_id}","starred_url":"https://api.github.com/users/Digipalvelutehdas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Digipalvelutehdas/subscriptions","organizations_url":"https://api.github.com/users/Digipalvelutehdas/orgs","repos_url":"https://api.github.com/users/Digipalvelutehdas/repos","events_url":"https://api.github.com/users/Digipalvelutehdas/events{/privacy}","received_events_url":"https://api.github.com/users/Digipalvelutehdas/received_events","type":"Organization","site_admin":false},"repo":{"id":46119242,"name":"APIKA","full_name":"Digipalvelutehdas/APIKA","owner":{"login":"Digipalvelutehdas","id":12421888,"avatar_url":"https://avatars.githubusercontent.com/u/12421888?v=3","gravatar_id":"","url":"https://api.github.com/users/Digipalvelutehdas","html_url":"https://github.com/Digipalvelutehdas","followers_url":"https://api.github.com/users/Digipalvelutehdas/followers","following_url":"https://api.github.com/users/Digipalvelutehdas/following{/other_user}","gists_url":"https://api.github.com/users/Digipalvelutehdas/gists{/gist_id}","starred_url":"https://api.github.com/users/Digipalvelutehdas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Digipalvelutehdas/subscriptions","organizations_url":"https://api.github.com/users/Digipalvelutehdas/orgs","repos_url":"https://api.github.com/users/Digipalvelutehdas/repos","events_url":"https://api.github.com/users/Digipalvelutehdas/events{/privacy}","received_events_url":"https://api.github.com/users/Digipalvelutehdas/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Digipalvelutehdas/APIKA","description":"APIKA dashboard","fork":false,"url":"https://api.github.com/repos/Digipalvelutehdas/APIKA","forks_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/forks","keys_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/teams","hooks_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/hooks","issue_events_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/issues/events{/number}","events_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/events","assignees_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/assignees{/user}","branches_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/branches{/branch}","tags_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/tags","blobs_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/git/refs{/sha}","trees_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/statuses/{sha}","languages_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/languages","stargazers_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/stargazers","contributors_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/contributors","subscribers_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/subscribers","subscription_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/subscription","commits_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/commits{/sha}","git_commits_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/git/commits{/sha}","comments_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/comments{/number}","issue_comment_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/issues/comments{/number}","contents_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/contents/{+path}","compare_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/merges","archive_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/downloads","issues_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/issues{/number}","pulls_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls{/number}","milestones_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/milestones{/number}","notifications_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/labels{/name}","releases_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/releases{/id}","deployments_url":"https://api.github.com/repos/Digipalvelutehdas/APIKA/deployments","created_at":"2015-11-13T11:54:50Z","updated_at":"2016-11-22T08:35:06Z","pushed_at":"2016-12-02T08:28:17Z","git_url":"git://github.com/Digipalvelutehdas/APIKA.git","ssh_url":"git@github.com:Digipalvelutehdas/APIKA.git","clone_url":"https://github.com/Digipalvelutehdas/APIKA.git","svn_url":"https://github.com/Digipalvelutehdas/APIKA","homepage":null,"size":19669,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":45,"forks":0,"open_issues":45,"watchers":1,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/64"},"html":{"href":"https://github.com/Digipalvelutehdas/APIKA/pull/64"},"issue":{"href":"https://api.github.com/repos/Digipalvelutehdas/APIKA/issues/64"},"comments":{"href":"https://api.github.com/repos/Digipalvelutehdas/APIKA/issues/64/comments"},"review_comments":{"href":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/64/comments"},"review_comment":{"href":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Digipalvelutehdas/APIKA/pulls/64/commits"},"statuses":{"href":"https://api.github.com/repos/Digipalvelutehdas/APIKA/statuses/58a1f56dcc543df23f4b1eef8b3c926b54cdcff5"}}}}
{"actor":{"display_login":"brylie"}}