{"action":"created","comment":{"url":"https://api.github.com/repos/openhab/openhab-core/pulls/comments/143176710","pull_request_review_id":67650108,"id":143176710,"diff_hunk":"@@ -0,0 +1,206 @@\n+<template>\n+  <div class='row'>\n+    <div class='col-sm-6' id=\"form\">\n+      <vue-form-generator :schema='schema' :model='model' :options='formOptions'>\n+      </vue-form-generator>\n+      <pre class='language-json hidden-xs-up'><code>{{ model }}</code></pre>\n+    </div>\n+    <div class='col-sm-6'>\n+      <affix id=\"preview\" relative-element-selector=\"#form\" :offset=\"{ top: 65, bottom: 0 }\">\n+        <collapse v-if=\"model && model.filesGenerated.includes('items')\" :uid=\"'items'\" :heading=\"'Items'\" :content='model.itemsType === \"text\" ? generateItems(model) : generateItemsJson(model)'></collapse>\n+\n+        <collapse v-if=\"model && model.filesGenerated.includes('sitemap')\" :uid=\"'sitemap'\" :heading=\"'Sitemap'\" :content='generateSitemap(model)'></collapse>\n+\n+        <collapse v-if=\"model && model.filesGenerated.includes('habpanel')\" :uid=\"'habpanel'\" :heading=\"'HABPanel Dashboard'\" :content='generateDashboard(model)'></collapse>\n+      </affix>\n+    </div>\n+  </div>\n+</template>\n+\n+<style lang=\"scss\" src=\"./scss/app.scss\">\n+\n+</style>\n+\n+<script>\n+import * as _ from 'lodash'\n+import * as s from 'underscore.string'\n+import Vue from 'vue'\n+import Collapse from './Collapse.vue'\n+import { component as VueFormGenerator } from 'vue-form-generator'\n+import { floors, rooms, devices, languages, DEVICES_SUFFIX } from './definitions'\n+import * as schema from './formSchema'\n+import { generateItems } from './textItems'\n+import { generateItemsJson } from './restItems'\n+import { generateDashboard } from './habpanel'\n+import { sitemapName, generateSitemap } from './sitemap'\n+\n+export default {\n+  components: {\n+    VueFormGenerator,\n+    Collapse\n+  },\n+\n+  data() {\n+    return {\n+      model: {\n+        language: 'en-UK',\n+        homeName: 'Our Home',\n+        filesGenerated: ['items', 'sitemap'],\n+        itemsType: 'text',\n+        itemsChannel: true,\n+        itemsIcons: true,\n+        floorsCount: 1,\n+        GroundFloor: []\n+      },\n+\n+      schema: {\n+        groups: [\n+          { legend: '', fields: schema.basicFields },\n+          { legend: 'Floors', fields: schema.floorsFields },\n+          { legend: 'Rooms', fields: schema.roomsFields },\n+          { legend: 'Devices', fields: schema.devicesFields },\n+          { legend: '', fields: schema.settingsFields }\n+        ],\n+      },\n+\n+      formOptions: {\n+        validateAfterLoad: true,\n+        validateAfterChanged: true,\n+        fieldIdPrefix: 'user-'\n+      }\n+    }\n+  },\n+\n+  methods: {\n+    /**\n+     * Generates textual Items\n+     */\n+    generateItems: generateItems,\n+\n+    /**\n+     * Generates JSON array of Items,\n+     * understandable by REST API\n+     */\n+    generateItemsJson: generateItemsJson,\n+\n+    /**\n+     * Generates textual Sitemap\n+     */\n+    generateSitemap: generateSitemap,\n+\n+    /**\n+     * Generates HABPanel dashboard JSON config\n+     */\n+    generateDashboard: generateDashboard,\n+\n+    /**\n+     * Gets i18n configuration from ESH service\n+     */\n+    getLocale: function() {\n+      const DEFAULT_LOCALE = 'en-UK';\n+      this.$http\n+        .get('services/org.eclipse.smarthome.core.i18nprovider/config')\n+        .then(response => {\n+          let body = response.body;\n+          let selectedLang = DEFAULT_LOCALE;\n+\n+          if (body.language && body.region) {\n+            let langId = body.language + '-' + body.region;\n+            let lang = _.find(languages, { id: langId });\n+            selectedLang = lang ? langId : DEFAULT_LOCALE;\n+          }\n+\n+          this.$data.model.language = selectedLang;\n+          this.fetchTranslations(selectedLang);\n+        })\n+        .catch(reason => {\n+          this.$data.model.language = DEFAULT_LOCALE;\n+          this.fetchTranslations(DEFAULT_LOCALE);\n+        });\n+    },\n+\n+    /**\n+     * Loads translation file from the `/i18n/` folder\n+     * and assigns new `name` properties to the definitions.\n+     */\n+    fetchTranslations: function(language) {\n+      let root = window.location.href.replace('/index.html', '');\n+      this.$http.get(root + '/i18n/' + language + '.json').then(response => {\n+        this.$i18n.locale = language;\n+        this.$i18n.setLocaleMessage(language, response.body);\n+\n+        let stack = [...rooms, ...devices];\n+        let roomsModel = _.chain(this.$data.model)\n+          .pickBy((value, key) => {\n+            return _.endsWith(key, DEVICES_SUFFIX);\n+          })","path":"bundles/org.openhab.ui.homebuilder/web/src/AppForm.vue","position":136,"original_position":136,"commit_id":"2b59abc129fdd4d2d8b256b1ff0adb960b9b489e","original_commit_id":"2b59abc129fdd4d2d8b256b1ff0adb960b9b489e","user":{"login":"108adams","id":1893748,"avatar_url":"https://avatars2.githubusercontent.com/u/1893748?v=4","gravatar_id":"","url":"https://api.github.com/users/108adams","html_url":"https://github.com/108adams","followers_url":"https://api.github.com/users/108adams/followers","following_url":"https://api.github.com/users/108adams/following{/other_user}","gists_url":"https://api.github.com/users/108adams/gists{/gist_id}","starred_url":"https://api.github.com/users/108adams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/108adams/subscriptions","organizations_url":"https://api.github.com/users/108adams/orgs","repos_url":"https://api.github.com/users/108adams/repos","events_url":"https://api.github.com/users/108adams/events{/privacy}","received_events_url":"https://api.github.com/users/108adams/received_events","type":"User","site_admin":false},"body":"```\r\n.pickBy((value, key) => _.endsWith(key, DEVICES_SUFFIX))\r\n```","created_at":"2017-10-06T12:23:58Z","updated_at":"2017-10-06T12:50:32Z","html_url":"https://github.com/openhab/openhab-core/pull/172#discussion_r143176710","pull_request_url":"https://api.github.com/repos/openhab/openhab-core/pulls/172","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/openhab/openhab-core/pulls/comments/143176710"},"html":{"href":"https://github.com/openhab/openhab-core/pull/172#discussion_r143176710"},"pull_request":{"href":"https://api.github.com/repos/openhab/openhab-core/pulls/172"}}},"pull_request":{"url":"https://api.github.com/repos/openhab/openhab-core/pulls/172","id":133100734,"html_url":"https://github.com/openhab/openhab-core/pull/172","diff_url":"https://github.com/openhab/openhab-core/pull/172.diff","patch_url":"https://github.com/openhab/openhab-core/pull/172.patch","issue_url":"https://api.github.com/repos/openhab/openhab-core/issues/172","number":172,"state":"open","locked":false,"title":"HomeBuilder - Initial contribution","user":{"login":"kubawolanin","id":2270505,"avatar_url":"https://avatars1.githubusercontent.com/u/2270505?v=4","gravatar_id":"","url":"https://api.github.com/users/kubawolanin","html_url":"https://github.com/kubawolanin","followers_url":"https://api.github.com/users/kubawolanin/followers","following_url":"https://api.github.com/users/kubawolanin/following{/other_user}","gists_url":"https://api.github.com/users/kubawolanin/gists{/gist_id}","starred_url":"https://api.github.com/users/kubawolanin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubawolanin/subscriptions","organizations_url":"https://api.github.com/users/kubawolanin/orgs","repos_url":"https://api.github.com/users/kubawolanin/repos","events_url":"https://api.github.com/users/kubawolanin/events{/privacy}","received_events_url":"https://api.github.com/users/kubawolanin/received_events","type":"User","site_admin":false},"body":"Here's my attempt to port [generator-openhab](https://github.com/kubawolanin/generator-openhab) functionality to the openHAB UI.\r\n\r\nCloses #178\r\n\r\nDiscussion that led me to this can be found [here](https://community.openhab.org/t/openhab-generator-design-your-smart-home-in-no-time/).\r\n\r\n~~#### *Very early stage*. ***Not for merging***~~\r\n~~The code is ugly and doesn't work currently - submitting a PR for visibility.~~\r\n~~Note: \"openHAB Home Designer\" title is temporary.~~\r\n\r\n### Preview:\r\nHere's a little demo for you to play around: **[home generator](http://kubawolanin.com/home-test/)**\r\nIt doesn't reflect the TODO list underneath. It's temporarily hosted on my server if that's ok. Will remove it after it's all merged.\r\n\r\n![generator](https://user-images.githubusercontent.com/2270505/28747074-0e92bf00-7497-11e7-9cb4-2f1d984acc04.gif)\r\n\r\n### TODO:\r\n\r\n- [x] i18n\r\n- [x] Styling + layout\r\n- [x] Swap Bootstrap 4 stylesheet with [Material](http://daemonite.github.io/material/)\r\n- [ ] Syntax highlight with [highlight.js](https://github.com/isagalaev/highlight.js) ([for vue](https://github.com/metachris/vue-highlightjs))\r\n- [ ] Ability to dynamically add new rooms (per @ThomDietrich's request)\r\n- [x] Quick 'Copy' button\r\n- [x] REST API request construction for non-textual config ( `PUT /items` - requires https://github.com/eclipse/smarthome/issues/4060 to be implemented first)\r\n- [x] Update documentation and README\r\n- [x] Move changes to dashobard bundle to another PR\r\n- [x] Create a separate bundle\r\n- [x] Get rid of plural `Group`-items names in favor of `gSomething` (meh...)\r\n- [x] Make the dynamic form produce real home structure\r\n- [x] Sort out templating (from EJS to Vue templates)\r\n- [x] Create a webpack-based build chain\r\n- [x] Move all dependencies to `package.json`\r\n- [x] Dynamic column formatting for Items (ascii-table)\r\n- [x] Items preview\r\n- [x] Sitemap preview\r\n- [x] Ability to toggle `{ channel=\"\" }` suffixes for non-Group items\r\n- [x] Ability to toggle icons\r\n- [x] `checklists` replaced with [vue-multiselect](http://monterail.github.io/vue-multiselect/)\r\n- [x] Better Sitemaps design (a frame per floor with the room groups)\r\n- [x] HABPanel JSON generator\r\n- [x] Add optional HomeKit/HueEmulation/Alexa tags (see [Item tagging](http://docs.openhab.org/addons/io/homekit/readme.html#item-configuration))\r\n\r\nAnd stuff that I  will need someone's help with:\r\n- [ ] Saving the `*.items` and `*.sitemap` files inside `$openhab-config`\r\n- ~Saving items directly in the JSONDb~ I'll use REST API\r\n- [ ] Saving HABPanel dashboards directly (related to https://github.com/openhab/org.openhab.ui.habpanel/issues/209)\r\n- ~Making this page actually accessible from somewhere ;-)~ I'll create a bundle\r\n\r\nPinging: @kaikreuzer @ThomDietrich @rkoshak @ghys\r\n\r\nSigned-off-by: Kuba Wolanin <hi@kubawolanin.com> (github: kubawolanin)","created_at":"2017-07-29T17:52:41Z","updated_at":"2017-10-06T12:50:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":"29e0d63d2da0bdafef67b778735baf5cea0be776","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/openhab/openhab-core/pulls/172/commits","review_comments_url":"https://api.github.com/repos/openhab/openhab-core/pulls/172/comments","review_comment_url":"https://api.github.com/repos/openhab/openhab-core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openhab/openhab-core/issues/172/comments","statuses_url":"https://api.github.com/repos/openhab/openhab-core/statuses/2b59abc129fdd4d2d8b256b1ff0adb960b9b489e","head":{"label":"kubawolanin:home","ref":"home","sha":"2b59abc129fdd4d2d8b256b1ff0adb960b9b489e","user":{"login":"kubawolanin","id":2270505,"avatar_url":"https://avatars1.githubusercontent.com/u/2270505?v=4","gravatar_id":"","url":"https://api.github.com/users/kubawolanin","html_url":"https://github.com/kubawolanin","followers_url":"https://api.github.com/users/kubawolanin/followers","following_url":"https://api.github.com/users/kubawolanin/following{/other_user}","gists_url":"https://api.github.com/users/kubawolanin/gists{/gist_id}","starred_url":"https://api.github.com/users/kubawolanin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubawolanin/subscriptions","organizations_url":"https://api.github.com/users/kubawolanin/orgs","repos_url":"https://api.github.com/users/kubawolanin/repos","events_url":"https://api.github.com/users/kubawolanin/events{/privacy}","received_events_url":"https://api.github.com/users/kubawolanin/received_events","type":"User","site_admin":false},"repo":{"id":98524930,"name":"openhab-core","full_name":"kubawolanin/openhab-core","owner":{"login":"kubawolanin","id":2270505,"avatar_url":"https://avatars1.githubusercontent.com/u/2270505?v=4","gravatar_id":"","url":"https://api.github.com/users/kubawolanin","html_url":"https://github.com/kubawolanin","followers_url":"https://api.github.com/users/kubawolanin/followers","following_url":"https://api.github.com/users/kubawolanin/following{/other_user}","gists_url":"https://api.github.com/users/kubawolanin/gists{/gist_id}","starred_url":"https://api.github.com/users/kubawolanin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubawolanin/subscriptions","organizations_url":"https://api.github.com/users/kubawolanin/orgs","repos_url":"https://api.github.com/users/kubawolanin/repos","events_url":"https://api.github.com/users/kubawolanin/events{/privacy}","received_events_url":"https://api.github.com/users/kubawolanin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kubawolanin/openhab-core","description":null,"fork":true,"url":"https://api.github.com/repos/kubawolanin/openhab-core","forks_url":"https://api.github.com/repos/kubawolanin/openhab-core/forks","keys_url":"https://api.github.com/repos/kubawolanin/openhab-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubawolanin/openhab-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubawolanin/openhab-core/teams","hooks_url":"https://api.github.com/repos/kubawolanin/openhab-core/hooks","issue_events_url":"https://api.github.com/repos/kubawolanin/openhab-core/issues/events{/number}","events_url":"https://api.github.com/repos/kubawolanin/openhab-core/events","assignees_url":"https://api.github.com/repos/kubawolanin/openhab-core/assignees{/user}","branches_url":"https://api.github.com/repos/kubawolanin/openhab-core/branches{/branch}","tags_url":"https://api.github.com/repos/kubawolanin/openhab-core/tags","blobs_url":"https://api.github.com/repos/kubawolanin/openhab-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubawolanin/openhab-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubawolanin/openhab-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubawolanin/openhab-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubawolanin/openhab-core/statuses/{sha}","languages_url":"https://api.github.com/repos/kubawolanin/openhab-core/languages","stargazers_url":"https://api.github.com/repos/kubawolanin/openhab-core/stargazers","contributors_url":"https://api.github.com/repos/kubawolanin/openhab-core/contributors","subscribers_url":"https://api.github.com/repos/kubawolanin/openhab-core/subscribers","subscription_url":"https://api.github.com/repos/kubawolanin/openhab-core/subscription","commits_url":"https://api.github.com/repos/kubawolanin/openhab-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubawolanin/openhab-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubawolanin/openhab-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubawolanin/openhab-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubawolanin/openhab-core/contents/{+path}","compare_url":"https://api.github.com/repos/kubawolanin/openhab-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubawolanin/openhab-core/merges","archive_url":"https://api.github.com/repos/kubawolanin/openhab-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubawolanin/openhab-core/downloads","issues_url":"https://api.github.com/repos/kubawolanin/openhab-core/issues{/number}","pulls_url":"https://api.github.com/repos/kubawolanin/openhab-core/pulls{/number}","milestones_url":"https://api.github.com/repos/kubawolanin/openhab-core/milestones{/number}","notifications_url":"https://api.github.com/repos/kubawolanin/openhab-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubawolanin/openhab-core/labels{/name}","releases_url":"https://api.github.com/repos/kubawolanin/openhab-core/releases{/id}","deployments_url":"https://api.github.com/repos/kubawolanin/openhab-core/deployments","created_at":"2017-07-27T10:45:27Z","updated_at":"2017-08-15T17:50:10Z","pushed_at":"2017-09-19T18:36:48Z","git_url":"git://github.com/kubawolanin/openhab-core.git","ssh_url":"git@github.com:kubawolanin/openhab-core.git","clone_url":"https://github.com/kubawolanin/openhab-core.git","svn_url":"https://github.com/kubawolanin/openhab-core","homepage":null,"size":10762,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"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":"openhab:master","ref":"master","sha":"54cc26d4a447627221790a06876b802558048037","user":{"login":"openhab","id":1007353,"avatar_url":"https://avatars0.githubusercontent.com/u/1007353?v=4","gravatar_id":"","url":"https://api.github.com/users/openhab","html_url":"https://github.com/openhab","followers_url":"https://api.github.com/users/openhab/followers","following_url":"https://api.github.com/users/openhab/following{/other_user}","gists_url":"https://api.github.com/users/openhab/gists{/gist_id}","starred_url":"https://api.github.com/users/openhab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openhab/subscriptions","organizations_url":"https://api.github.com/users/openhab/orgs","repos_url":"https://api.github.com/users/openhab/repos","events_url":"https://api.github.com/users/openhab/events{/privacy}","received_events_url":"https://api.github.com/users/openhab/received_events","type":"Organization","site_admin":false},"repo":{"id":48337670,"name":"openhab-core","full_name":"openhab/openhab-core","owner":{"login":"openhab","id":1007353,"avatar_url":"https://avatars0.githubusercontent.com/u/1007353?v=4","gravatar_id":"","url":"https://api.github.com/users/openhab","html_url":"https://github.com/openhab","followers_url":"https://api.github.com/users/openhab/followers","following_url":"https://api.github.com/users/openhab/following{/other_user}","gists_url":"https://api.github.com/users/openhab/gists{/gist_id}","starred_url":"https://api.github.com/users/openhab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openhab/subscriptions","organizations_url":"https://api.github.com/users/openhab/orgs","repos_url":"https://api.github.com/users/openhab/repos","events_url":"https://api.github.com/users/openhab/events{/privacy}","received_events_url":"https://api.github.com/users/openhab/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openhab/openhab-core","description":null,"fork":false,"url":"https://api.github.com/repos/openhab/openhab-core","forks_url":"https://api.github.com/repos/openhab/openhab-core/forks","keys_url":"https://api.github.com/repos/openhab/openhab-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openhab/openhab-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openhab/openhab-core/teams","hooks_url":"https://api.github.com/repos/openhab/openhab-core/hooks","issue_events_url":"https://api.github.com/repos/openhab/openhab-core/issues/events{/number}","events_url":"https://api.github.com/repos/openhab/openhab-core/events","assignees_url":"https://api.github.com/repos/openhab/openhab-core/assignees{/user}","branches_url":"https://api.github.com/repos/openhab/openhab-core/branches{/branch}","tags_url":"https://api.github.com/repos/openhab/openhab-core/tags","blobs_url":"https://api.github.com/repos/openhab/openhab-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openhab/openhab-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openhab/openhab-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/openhab/openhab-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openhab/openhab-core/statuses/{sha}","languages_url":"https://api.github.com/repos/openhab/openhab-core/languages","stargazers_url":"https://api.github.com/repos/openhab/openhab-core/stargazers","contributors_url":"https://api.github.com/repos/openhab/openhab-core/contributors","subscribers_url":"https://api.github.com/repos/openhab/openhab-core/subscribers","subscription_url":"https://api.github.com/repos/openhab/openhab-core/subscription","commits_url":"https://api.github.com/repos/openhab/openhab-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/openhab/openhab-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/openhab/openhab-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/openhab/openhab-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/openhab/openhab-core/contents/{+path}","compare_url":"https://api.github.com/repos/openhab/openhab-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openhab/openhab-core/merges","archive_url":"https://api.github.com/repos/openhab/openhab-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openhab/openhab-core/downloads","issues_url":"https://api.github.com/repos/openhab/openhab-core/issues{/number}","pulls_url":"https://api.github.com/repos/openhab/openhab-core/pulls{/number}","milestones_url":"https://api.github.com/repos/openhab/openhab-core/milestones{/number}","notifications_url":"https://api.github.com/repos/openhab/openhab-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openhab/openhab-core/labels{/name}","releases_url":"https://api.github.com/repos/openhab/openhab-core/releases{/id}","deployments_url":"https://api.github.com/repos/openhab/openhab-core/deployments","created_at":"2015-12-20T21:23:20Z","updated_at":"2017-10-03T06:24:54Z","pushed_at":"2017-09-30T12:23:29Z","git_url":"git://github.com/openhab/openhab-core.git","ssh_url":"git@github.com:openhab/openhab-core.git","clone_url":"https://github.com/openhab/openhab-core.git","svn_url":"https://github.com/openhab/openhab-core","homepage":null,"size":9687,"stargazers_count":31,"watchers_count":31,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":75,"mirror_url":null,"open_issues_count":16,"forks":75,"open_issues":16,"watchers":31,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openhab/openhab-core/pulls/172"},"html":{"href":"https://github.com/openhab/openhab-core/pull/172"},"issue":{"href":"https://api.github.com/repos/openhab/openhab-core/issues/172"},"comments":{"href":"https://api.github.com/repos/openhab/openhab-core/issues/172/comments"},"review_comments":{"href":"https://api.github.com/repos/openhab/openhab-core/pulls/172/comments"},"review_comment":{"href":"https://api.github.com/repos/openhab/openhab-core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openhab/openhab-core/pulls/172/commits"},"statuses":{"href":"https://api.github.com/repos/openhab/openhab-core/statuses/2b59abc129fdd4d2d8b256b1ff0adb960b9b489e"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"108adams"}}