{"action":"created","comment":{"url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/comments/242643522","pull_request_review_id":186204896,"id":242643522,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MjY0MzUyMg==","diff_hunk":"@@ -1,247 +1,109 @@\n-//global vars\r\n+/* global chrome jQuery */\r\n+/* eslint \"space-before-function-paren\": [\"error\", {\r\n+        \"anonymous\": \"always\",\r\n+        \"named\": \"never\",\r\n+        \"asyncArrow\": \"always\"\r\n+    }], */\r\n \r\n-\tvar vaultServer = \"\";\r\n-\tvar login = \"\";\r\n-\tvar pass = \"\";\r\n-\tvar userToken = \"\";\r\n-\r\n-//sleep function for debugging purposes (read text values)\r\n-function sleep(miliseconds) {\r\n-var currentTime = new Date().getTime();\r\n-    while (currentTime + miliseconds >= new Date().getTime()) {\r\n+var vaultServerAdress, vaultToken, secretList, currentUrl\r\n \r\n+function mainLoaded() {\r\n+  var resultList = document.getElementById('resultList')\r\n+\r\n+  chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {\r\n+    for (let tabIndex = 0; tabIndex < tabs.length; tabIndex++) {\r\n+      var tab = tabs[tabIndex]\r\n+      if (tab.url) {\r\n+        currentUrl = tab.url\r\n+      }\r\n     }\r\n-}\r\n+  })\r\n \r\n-//verify URL function (copy pasted from google, standart one)\r\n-function checkURL(value) {\r\n-    var urlregex = new RegExp(\"^(http|https)\\://([a-zA-Z0-9\\.\\-]+(\\:[a-zA-Z0-9\\.&amp;%\\$\\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|([a-zA-Z0-9\\-]+\\.)*[a-zA-Z0-9\\-]+\\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\\:[0-9]+)*(/($|[a-zA-Z0-9\\.\\,\\?\\'\\\\\\+&amp;%\\$#\\=~_\\-]+))*$\");\r\n-    if (urlregex.test(value)) {\r\n-        return (true);\r\n+  chrome.storage.local.get(['vaultToken'], function (result) {\r\n+    if (result.vaultToken) {\r\n+      vaultToken = result.vaultToken\r\n+    } else {\r\n+      console.error('No Vault-Token information available\\nPlease use the options page to login')\r\n     }\r\n-    return (false);\r\n-}\r\n-\r\n-// clear page after auth\r\n-function clearPage(){\r\n-elementsToClear = [\"serverBox\", \"loginBox\", \"passBox\", \"authButton\", \"serverBoxLabel\", \"loginBoxLabel\", \"passBoxLabel\", \"authHeader\"]\r\n-\tvar dels = {}\r\n-\tfor (var i in elementsToClear) {\r\n-    \tdels[i] = document.getElementById(elementsToClear[i]);\r\n-\t\tdels[i].parentNode.removeChild(dels[i]);\r\n-\t}\r\n-}\r\n-\r\n-\r\n-// read secret \r\n-\r\n-function writeSecret(){\r\n-\t// send GET request to show mounts available\r\n-\tnotify.textContent = \"writing to: \" + vaultServer.value + \"/v1/\" + inputTextWrite.value\r\n-\tjQuery.ajax({\r\n-\t    type: \"POST\",\r\n-\t    method: \"POST\",\r\n-        data: '{\"' + inputTextWriteKey.value + '\":\"' + inputTextWriteValue.value + '\"}',\r\n-\t    url: vaultServer.value + \"/v1/\" + inputTextWrite.value,\r\n-\t    headers: { \r\n-\t    \t'X-Vault-Token': userToken,\r\n-\t    \t'Content-Type': 'application/json'\r\n-\t    },\r\n-\t    contents: \"json\",\r\n-\t    dataType: \"json\",\r\n-\t    success: function() {\r\n-\t        notify.textContent = \"Secret value written!\" \r\n-\t    }\r\n-\t})\r\n-}\r\n-\r\n-function readSecret(){\r\n-\t// send GET request to show mounts available\r\n-\tnotify.textContent = \"fetching from: \" + vaultServer.value + \"/v1/\" + inputTextRead.value\r\n-\r\n-\tjQuery.ajax({\r\n-\t    type: \"GET\",\r\n-\t    method: \"GET\",\r\n-\t    url: vaultServer.value + \"/v1/\" + inputTextRead.value,\r\n-\t    headers: { \r\n-\t    \t'X-Vault-Token': userToken\r\n-\t    },\r\n-\t    contents: \"json\",\r\n-\t    dataType: \"json\",\r\n-\t    success: function(data) {\r\n-\t        notify.textContent = \"Secret value:\" +  JSON.stringify(data.data)\r\n-\t    }\r\n-\t})\r\n-}\r\n-\r\n-\r\n-// show mounts after login\r\n-function showMounts(params){\r\n-\t// send GET request to show mounts available\r\n-\tjQuery.ajax({\r\n-\t    type: \"GET\",\r\n-\t    url: params.url + params.urlSuffix,\r\n-\t    headers: { \r\n-\t    \t'X-Vault-Token': params.token \r\n-\t    },\r\n-\t    contents: \"json\",\r\n-\t    dataType: \"json\",\r\n-\t    success: function(data) {\r\n-\r\n-\t        notify.innerText = \"Mount List SUCCESS.\\nAvailable mounts: \" \r\n-\t        \r\n-\t        var mountNames = Object.keys(data)\r\n-\t        mounts.innerText = \"\"\r\n-\t        for (var num in mountNames){\r\n-\t        \tmounts.innerText += mountNames[num]  + \"\\n\"\r\n-\t\t\t}\r\n-\t\t\t// fields for secret read , and button\r\n-\r\n-\t\t\tvar label1 = document.createElement('label');\r\n-    \t\tlabel1.innerHTML = \"Read secret: \";\r\n-\t\t    document.body.appendChild(label1);\r\n-\r\n-\r\n-\t        inputTextRead = document.createElement(\"input\");\r\n-\t\t\tinputTextRead.type = \"text\";\r\n-\t\t\tinputTextRead.id = \"inputTextRead\"; \r\n-\t\t\tinputTextRead.value = \"read secret path\"; \r\n-\t\t\tdocument.body.appendChild(inputTextRead);\r\n-\t\r\n-\t\t\tvar getSecretBtn = document.createElement(\"BUTTON\"); \r\n-\t\t\tgetSecretBtn.type = \"submit\"   \r\n-\t\t\tgetSecretBtn.setAttribute('class', 'btn btn-success')\r\n-\t\t\tvar txtReadSecret = document.createTextNode(\"Read secret\");      \r\n-\t\t\tgetSecretBtn.appendChild(txtReadSecret);                                \r\n-\t\t\tdocument.body.appendChild(getSecretBtn);   \r\n-\r\n-document.body.appendChild(document.createElement(\"br\"));\r\n-document.body.appendChild(document.createElement(\"br\"));\r\n-document.body.appendChild(document.createElement(\"br\"));\r\n-\r\n-\t\t\tvar label2 = document.createElement('label');\r\n-    \t\tlabel2.innerHTML = \"Write secret to: \";\r\n-\t\t    document.body.appendChild(label2);\r\n-\r\n-\t\t\t// fields for write key / value / secret , and button\r\n-\t        inputTextWrite = document.createElement(\"input\");\r\n-\t\t\tinputTextWrite.type = \"text\";\r\n-\t\t\tinputTextWrite.id = \"inputTextWrite\"; \r\n-\t\t\tinputTextWrite.value = \"path to secret\"; \r\n-\t\t\tdocument.body.appendChild(inputTextWrite);\r\n-\r\n-document.body.appendChild(document.createElement(\"br\"));\r\n-\r\n-\t\t\tvar label3 = document.createElement('label');\r\n-    \t\tlabel3.innerHTML = \"Key: \";\r\n-\t\t    document.body.appendChild(label3);\r\n-\r\n-\t\t\tinputTextWriteKey = document.createElement(\"input\");\r\n-\t\t\tinputTextWriteKey.type = \"text\";\r\n-\t\t\tinputTextWriteKey.id = \"inputTextWriteKey\"; \r\n-\t\t\tinputTextWriteKey.value = \"key\"; \r\n-\t\t\tdocument.body.appendChild(inputTextWriteKey);\r\n-document.body.appendChild(document.createElement(\"br\"));\r\n-\r\n-\t\t\tvar label4 = document.createElement('label');\r\n-    \t\tlabel4.innerHTML = \"Value: \";\r\n-\t\t    document.body.appendChild(label4);\r\n-\r\n-\t\t\tinputTextWriteValue = document.createElement(\"input\");\r\n-\t\t\tinputTextWriteValue.type = \"text\";\r\n-\t\t\tinputTextWriteValue.id = \"inputTextWriteValue\"; \r\n-\t\t\tinputTextWriteValue.value = \"value\"; \r\n-\t\t\tdocument.body.appendChild(inputTextWriteValue);\r\n-\r\n-document.body.appendChild(document.createElement(\"br\"));\r\n-\tdocument.body.appendChild(document.createElement(\"br\"));\r\n-\r\n-\t\t\tvar setSecretBtn = document.createElement(\"BUTTON\"); \r\n-\t\t\tsetSecretBtn.type = \"submit\"\r\n-\t\t\tsetSecretBtn.setAttribute('class', 'btn btn-danger')\r\n-\t\t\tvar txtWriteSecret = document.createTextNode(\"Write secret!\");      \r\n-\t\t\tsetSecretBtn.appendChild(txtWriteSecret);                                \r\n-\t\t\tdocument.body.appendChild(setSecretBtn);   \r\n-document.body.appendChild(document.createElement(\"br\"));\r\n-document.body.appendChild(document.createElement(\"br\"));\r\n-\r\n-\t\t\tgetSecretBtn.addEventListener('click', readSecret , false);\r\n-\t\t\tsetSecretBtn.addEventListener('click', writeSecret , false);\r\n-\t    },\r\n-\t    error: function(data) {\r\n-\t        notify.textContent = \"ERROR: \" + JSON.stringify( data ) \r\n-\t    }\r\n-\t});\r\n+  })\r\n+  chrome.storage.sync.get(['vaultAddress'], function (result) {\r\n+    vaultServerAdress = result.vaultAddress\r\n+  })\r\n+\r\n+  chrome.storage.sync.get(['secrets'], function (result) {\r\n+    secretList = result.secrets\r\n+    if (!secretList) {\r\n+      secretList = []\r\n+    }\r\n+    resultList.textContent = ''\r\n+\r\n+    secretList.forEach(secret => {\r\n+      jQuery.ajax({\r\n+        type: 'LIST',\r\n+        url: vaultServerAdress + '/v1/secret/metadata/vaultPass/' + secret,\r\n+        headers: { 'X-Vault-Token': vaultToken },\r\n+        contentType: 'application/json',\r\n+        dataType: 'json',\r\n+        success: function (data) {\r\n+          data.data.keys.forEach(element => {\r\n+            var pattern = new RegExp(element)\r\n+            var patternMatches = pattern.test(currentUrl)\r\n+            console.log(element + ' - ' + currentUrl + ' - ' + patternMatches)\r\n+            if (patternMatches) {\r\n+              getCredentials(vaultServerAdress + '/v1/secret/data/vaultPass/' + secret + element).then((credentials) =>\r\n+                addCredentials(credentials.data.data, element, resultList))\r\n+            }\r\n+          })\r\n+        },\r\n+        error: function (data) {\r\n+          console.error('ERROR accessing ' + secret + ': ' + JSON.stringify(data))\r\n+        }\r\n+      })\r\n+    })\r\n+  })\r\n }\r\n \r\n-// invoked after user clicks \"login to vault\" button, if all fields filled in, and URL passed regexp check.\r\n-function authToVault( myurl, username, password ) {\r\n-\r\n-notify.textContent = \"server: \" + myurl + \"/v1/auth/userpass/login/\" + username;\r\n-sleep(500)\r\n-\r\n-\tjQuery.ajax({\r\n-\t    type: \"POST\",\r\n-\t    url: myurl + \"/v1/auth/userpass/login/\" + username,\r\n-\t    data: JSON.stringify( {password: password} ),\r\n-\t    contents: \"json\",\r\n-\t    dataType: \"json\",\r\n-\t    success: function(data) {\r\n-\t        notify.textContent = \"AUTH SUCCESS, token: \" + data.auth.client_token ;\r\n-\t        mounts.textContent = \"mounts list here\"\r\n-sleep(500)\r\n-\t        // set global token for other functions\r\n-\t        userToken = data.auth.client_token\r\n-\r\n-\t        //clear page from auth items\r\n-\t        clearPage()\r\n-\r\n-\t        // pass those params to showMounts function\r\n-\t        var params = {\r\n-\t        \ttoken: data.auth.client_token,\r\n-\t        \turl: myurl ,\r\n-\t        \turlSuffix: \"/v1/sys/mounts\"\r\n-\t        }\r\n-\t        //show all mounts\r\n-\t        showMounts( params )\r\n-\t    },\r\n-\t    error: function(data) {\r\n-\t        notify.textContent = \"ERROR: \" + JSON.stringify( data ) ;\r\n-\t    }\r\n-\t});\r\n-\r\n+function addCredentials(credentials, credentialName, list) {\r\n+  var item = document.createElement('li')\r\n+  console.log(credentials)\r","path":"popup.js","position":273,"original_position":273,"commit_id":"2abd6fea6ed27913c5b2cb026fb8d4101b5dd985","original_commit_id":"2abd6fea6ed27913c5b2cb026fb8d4101b5dd985","user":{"login":"Dmitry1987","id":9369080,"node_id":"MDQ6VXNlcjkzNjkwODA=","avatar_url":"https://avatars1.githubusercontent.com/u/9369080?v=4","gravatar_id":"","url":"https://api.github.com/users/Dmitry1987","html_url":"https://github.com/Dmitry1987","followers_url":"https://api.github.com/users/Dmitry1987/followers","following_url":"https://api.github.com/users/Dmitry1987/following{/other_user}","gists_url":"https://api.github.com/users/Dmitry1987/gists{/gist_id}","starred_url":"https://api.github.com/users/Dmitry1987/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dmitry1987/subscriptions","organizations_url":"https://api.github.com/users/Dmitry1987/orgs","repos_url":"https://api.github.com/users/Dmitry1987/repos","events_url":"https://api.github.com/users/Dmitry1987/events{/privacy}","received_events_url":"https://api.github.com/users/Dmitry1987/received_events","type":"User","site_admin":false},"body":"you mean the log of credentials to console? yeah.. I would remove that too I guess. ","created_at":"2018-12-18T18:02:37Z","updated_at":"2018-12-18T18:02:37Z","html_url":"https://github.com/Dmitry1987/vault-chrome-extension/pull/2#discussion_r242643522","pull_request_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/2","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/comments/242643522"},"html":{"href":"https://github.com/Dmitry1987/vault-chrome-extension/pull/2#discussion_r242643522"},"pull_request":{"href":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/2"}},"in_reply_to_id":242601794},"pull_request":{"url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/2","id":239172352,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM5MTcyMzUy","html_url":"https://github.com/Dmitry1987/vault-chrome-extension/pull/2","diff_url":"https://github.com/Dmitry1987/vault-chrome-extension/pull/2.diff","patch_url":"https://github.com/Dmitry1987/vault-chrome-extension/pull/2.patch","issue_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/issues/2","number":2,"state":"open","locked":false,"title":"Refactor and added functionality","user":{"login":"zeichenanonym","id":131446,"node_id":"MDQ6VXNlcjEzMTQ0Ng==","avatar_url":"https://avatars3.githubusercontent.com/u/131446?v=4","gravatar_id":"","url":"https://api.github.com/users/zeichenanonym","html_url":"https://github.com/zeichenanonym","followers_url":"https://api.github.com/users/zeichenanonym/followers","following_url":"https://api.github.com/users/zeichenanonym/following{/other_user}","gists_url":"https://api.github.com/users/zeichenanonym/gists{/gist_id}","starred_url":"https://api.github.com/users/zeichenanonym/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zeichenanonym/subscriptions","organizations_url":"https://api.github.com/users/zeichenanonym/orgs","repos_url":"https://api.github.com/users/zeichenanonym/repos","events_url":"https://api.github.com/users/zeichenanonym/events{/privacy}","received_events_url":"https://api.github.com/users/zeichenanonym/received_events","type":"User","site_admin":false},"body":"Major refactor of the whole codebase:\r\n* Popup will not login any more\r\n* Popup displays a clickable list of found secrets\r\n* Options page can be used to login and select secret paths\r\n* Secrets paths will be checked on option change\r\n* Credential fill-in on pages possible now\r\n  * Click on the respective item in the popup list\r\n* LDAP login to Vault possible now\r\n* Credentials now stored in Chrome storage\r\n  * Username and Vault server address synced\r\n    accross devices!\r\n\r\nresolve #1 ","created_at":"2018-12-17T14:55:03Z","updated_at":"2018-12-18T18:02:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"af97e0b48994a1c722665d24cb37d04642d016b5","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/2/commits","review_comments_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/2/comments","review_comment_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/issues/2/comments","statuses_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/statuses/2abd6fea6ed27913c5b2cb026fb8d4101b5dd985","head":{"label":"zeichenanonym:master","ref":"master","sha":"2abd6fea6ed27913c5b2cb026fb8d4101b5dd985","user":{"login":"zeichenanonym","id":131446,"node_id":"MDQ6VXNlcjEzMTQ0Ng==","avatar_url":"https://avatars3.githubusercontent.com/u/131446?v=4","gravatar_id":"","url":"https://api.github.com/users/zeichenanonym","html_url":"https://github.com/zeichenanonym","followers_url":"https://api.github.com/users/zeichenanonym/followers","following_url":"https://api.github.com/users/zeichenanonym/following{/other_user}","gists_url":"https://api.github.com/users/zeichenanonym/gists{/gist_id}","starred_url":"https://api.github.com/users/zeichenanonym/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zeichenanonym/subscriptions","organizations_url":"https://api.github.com/users/zeichenanonym/orgs","repos_url":"https://api.github.com/users/zeichenanonym/repos","events_url":"https://api.github.com/users/zeichenanonym/events{/privacy}","received_events_url":"https://api.github.com/users/zeichenanonym/received_events","type":"User","site_admin":false},"repo":{"id":162138315,"node_id":"MDEwOlJlcG9zaXRvcnkxNjIxMzgzMTU=","name":"vault-chrome-extension","full_name":"zeichenanonym/vault-chrome-extension","private":false,"owner":{"login":"zeichenanonym","id":131446,"node_id":"MDQ6VXNlcjEzMTQ0Ng==","avatar_url":"https://avatars3.githubusercontent.com/u/131446?v=4","gravatar_id":"","url":"https://api.github.com/users/zeichenanonym","html_url":"https://github.com/zeichenanonym","followers_url":"https://api.github.com/users/zeichenanonym/followers","following_url":"https://api.github.com/users/zeichenanonym/following{/other_user}","gists_url":"https://api.github.com/users/zeichenanonym/gists{/gist_id}","starred_url":"https://api.github.com/users/zeichenanonym/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zeichenanonym/subscriptions","organizations_url":"https://api.github.com/users/zeichenanonym/orgs","repos_url":"https://api.github.com/users/zeichenanonym/repos","events_url":"https://api.github.com/users/zeichenanonym/events{/privacy}","received_events_url":"https://api.github.com/users/zeichenanonym/received_events","type":"User","site_admin":false},"html_url":"https://github.com/zeichenanonym/vault-chrome-extension","description":"Attempt in creating chrome extension for Hashicorp Vault","fork":true,"url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension","forks_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/forks","keys_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/keys{/key_id}","collaborators_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/teams","hooks_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/hooks","issue_events_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/issues/events{/number}","events_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/events","assignees_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/assignees{/user}","branches_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/branches{/branch}","tags_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/tags","blobs_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/git/refs{/sha}","trees_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/git/trees{/sha}","statuses_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/statuses/{sha}","languages_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/languages","stargazers_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/stargazers","contributors_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/contributors","subscribers_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/subscribers","subscription_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/subscription","commits_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/commits{/sha}","git_commits_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/git/commits{/sha}","comments_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/comments{/number}","issue_comment_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/issues/comments{/number}","contents_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/contents/{+path}","compare_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/compare/{base}...{head}","merges_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/merges","archive_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/downloads","issues_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/issues{/number}","pulls_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/pulls{/number}","milestones_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/milestones{/number}","notifications_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/labels{/name}","releases_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/releases{/id}","deployments_url":"https://api.github.com/repos/zeichenanonym/vault-chrome-extension/deployments","created_at":"2018-12-17T13:54:42Z","updated_at":"2018-12-18T12:39:34Z","pushed_at":"2018-12-18T12:39:32Z","git_url":"git://github.com/zeichenanonym/vault-chrome-extension.git","ssh_url":"git@github.com:zeichenanonym/vault-chrome-extension.git","clone_url":"https://github.com/zeichenanonym/vault-chrome-extension.git","svn_url":"https://github.com/zeichenanonym/vault-chrome-extension","homepage":null,"size":125,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Dmitry1987:master","ref":"master","sha":"3a87a3adcc7a83f70e88d0c1613eced5119deddc","user":{"login":"Dmitry1987","id":9369080,"node_id":"MDQ6VXNlcjkzNjkwODA=","avatar_url":"https://avatars1.githubusercontent.com/u/9369080?v=4","gravatar_id":"","url":"https://api.github.com/users/Dmitry1987","html_url":"https://github.com/Dmitry1987","followers_url":"https://api.github.com/users/Dmitry1987/followers","following_url":"https://api.github.com/users/Dmitry1987/following{/other_user}","gists_url":"https://api.github.com/users/Dmitry1987/gists{/gist_id}","starred_url":"https://api.github.com/users/Dmitry1987/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dmitry1987/subscriptions","organizations_url":"https://api.github.com/users/Dmitry1987/orgs","repos_url":"https://api.github.com/users/Dmitry1987/repos","events_url":"https://api.github.com/users/Dmitry1987/events{/privacy}","received_events_url":"https://api.github.com/users/Dmitry1987/received_events","type":"User","site_admin":false},"repo":{"id":56406986,"node_id":"MDEwOlJlcG9zaXRvcnk1NjQwNjk4Ng==","name":"vault-chrome-extension","full_name":"Dmitry1987/vault-chrome-extension","private":false,"owner":{"login":"Dmitry1987","id":9369080,"node_id":"MDQ6VXNlcjkzNjkwODA=","avatar_url":"https://avatars1.githubusercontent.com/u/9369080?v=4","gravatar_id":"","url":"https://api.github.com/users/Dmitry1987","html_url":"https://github.com/Dmitry1987","followers_url":"https://api.github.com/users/Dmitry1987/followers","following_url":"https://api.github.com/users/Dmitry1987/following{/other_user}","gists_url":"https://api.github.com/users/Dmitry1987/gists{/gist_id}","starred_url":"https://api.github.com/users/Dmitry1987/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dmitry1987/subscriptions","organizations_url":"https://api.github.com/users/Dmitry1987/orgs","repos_url":"https://api.github.com/users/Dmitry1987/repos","events_url":"https://api.github.com/users/Dmitry1987/events{/privacy}","received_events_url":"https://api.github.com/users/Dmitry1987/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Dmitry1987/vault-chrome-extension","description":"Attempt in creating chrome extension for Hashicorp Vault","fork":false,"url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension","forks_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/forks","keys_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/teams","hooks_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/hooks","issue_events_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/issues/events{/number}","events_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/events","assignees_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/assignees{/user}","branches_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/branches{/branch}","tags_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/tags","blobs_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/git/refs{/sha}","trees_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/statuses/{sha}","languages_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/languages","stargazers_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/stargazers","contributors_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/contributors","subscribers_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/subscribers","subscription_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/subscription","commits_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/commits{/sha}","git_commits_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/git/commits{/sha}","comments_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/comments{/number}","issue_comment_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/issues/comments{/number}","contents_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/contents/{+path}","compare_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/merges","archive_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/downloads","issues_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/issues{/number}","pulls_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls{/number}","milestones_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/milestones{/number}","notifications_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/labels{/name}","releases_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/releases{/id}","deployments_url":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/deployments","created_at":"2016-04-16T21:44:55Z","updated_at":"2018-12-17T17:16:29Z","pushed_at":"2018-12-18T12:39:33Z","git_url":"git://github.com/Dmitry1987/vault-chrome-extension.git","ssh_url":"git@github.com:Dmitry1987/vault-chrome-extension.git","clone_url":"https://github.com/Dmitry1987/vault-chrome-extension.git","svn_url":"https://github.com/Dmitry1987/vault-chrome-extension","homepage":null,"size":81,"stargazers_count":8,"watchers_count":8,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":1,"open_issues":1,"watchers":8,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/2"},"html":{"href":"https://github.com/Dmitry1987/vault-chrome-extension/pull/2"},"issue":{"href":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/issues/2"},"comments":{"href":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/Dmitry1987/vault-chrome-extension/statuses/2abd6fea6ed27913c5b2cb026fb8d4101b5dd985"}},"author_association":"NONE"}}
{"actor":{"display_login":"Dmitry1987"}}