{"action":"created","comment":{"url":"https://api.github.com/repos/influxdata/chronograf/pulls/comments/210278148","pull_request_review_id":146457191,"id":210278148,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMDI3ODE0OA==","diff_hunk":"@@ -0,0 +1,118 @@\n+package filestore\n+\n+import (\n+\t\"context\"\n+\t\"encoding/json\"\n+\t\"io/ioutil\"\n+\t\"os\"\n+\t\"path\"\n+\n+\t\"github.com/influxdata/chronograf\"\n+)\n+\n+// ProtoboardExt is the the file extension searched for in the directory for protoboard files\n+const ProtoboardExt = \".json\"\n+\n+// Protoboards are instantiable JSON representation of dashbards.  Implements ProtoboardsStore.\n+type Protoboards struct {\n+\tDir     string                                      // Dir is the directory containing protoboard json definitions\n+\tLoad    func(string) (chronograf.Protoboard, error) // Load receives filename, returns a Protoboard from json file","path":"filestore/protoboards.go","position":19,"original_position":19,"commit_id":"b4a3c1295e1a237c91e0c2aebe84f46cde5a0007","original_commit_id":"b4a3c1295e1a237c91e0c2aebe84f46cde5a0007","user":{"login":"desa","id":1477539,"node_id":"MDQ6VXNlcjE0Nzc1Mzk=","avatar_url":"https://avatars1.githubusercontent.com/u/1477539?v=4","gravatar_id":"","url":"https://api.github.com/users/desa","html_url":"https://github.com/desa","followers_url":"https://api.github.com/users/desa/followers","following_url":"https://api.github.com/users/desa/following{/other_user}","gists_url":"https://api.github.com/users/desa/gists{/gist_id}","starred_url":"https://api.github.com/users/desa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/desa/subscriptions","organizations_url":"https://api.github.com/users/desa/orgs","repos_url":"https://api.github.com/users/desa/repos","events_url":"https://api.github.com/users/desa/events{/privacy}","received_events_url":"https://api.github.com/users/desa/received_events","type":"User","site_admin":false},"body":"found it :) https://github.com/influxdata/chronograf/pull/4217/files#diff-30ff908306987253d049f1a97bb43216R29","created_at":"2018-08-15T14:01:54Z","updated_at":"2018-08-15T14:01:54Z","html_url":"https://github.com/influxdata/chronograf/pull/4217#discussion_r210278148","pull_request_url":"https://api.github.com/repos/influxdata/chronograf/pulls/4217","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/influxdata/chronograf/pulls/comments/210278148"},"html":{"href":"https://github.com/influxdata/chronograf/pull/4217#discussion_r210278148"},"pull_request":{"href":"https://api.github.com/repos/influxdata/chronograf/pulls/4217"}},"in_reply_to_id":210267409},"pull_request":{"url":"https://api.github.com/repos/influxdata/chronograf/pulls/4217","id":208415559,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA4NDE1NTU5","html_url":"https://github.com/influxdata/chronograf/pull/4217","diff_url":"https://github.com/influxdata/chronograf/pull/4217.diff","patch_url":"https://github.com/influxdata/chronograf/pull/4217.patch","issue_url":"https://api.github.com/repos/influxdata/chronograf/issues/4217","number":4217,"state":"open","locked":false,"title":"feat: protoboard api","user":{"login":"ebb-tide","id":10937678,"node_id":"MDQ6VXNlcjEwOTM3Njc4","avatar_url":"https://avatars2.githubusercontent.com/u/10937678?v=4","gravatar_id":"","url":"https://api.github.com/users/ebb-tide","html_url":"https://github.com/ebb-tide","followers_url":"https://api.github.com/users/ebb-tide/followers","following_url":"https://api.github.com/users/ebb-tide/following{/other_user}","gists_url":"https://api.github.com/users/ebb-tide/gists{/gist_id}","starred_url":"https://api.github.com/users/ebb-tide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ebb-tide/subscriptions","organizations_url":"https://api.github.com/users/ebb-tide/orgs","repos_url":"https://api.github.com/users/ebb-tide/repos","events_url":"https://api.github.com/users/ebb-tide/events{/privacy}","received_events_url":"https://api.github.com/users/ebb-tide/received_events","type":"User","site_admin":false},"body":"Co-authored-by: Deniz Kusefoglu <deniz@influxdata.com>\r\nCo-authored-by: Jared Scheib <jared.scheib@gmail.com>\r\n\r\nCloses #4080 \r\n_Briefly describe your proposed changes:_\r\n_What was the problem?_\r\nThe user needed a way to instantiate dashboards from a template like structure during for example the onboarding wizard process. \r\n\r\n_What was the solution?_\r\nWe implemented a API that can serve protoboards from .json files on the filesystem, in the /protoboards directory. \r\n\r\n  - [x] CHANGELOG.md updated with a link to the PR (not the Issue)\r\n  - [x] Rebased/mergeable\r\n  - [x] Tests pass\r\n","created_at":"2018-08-14T21:26:55Z","updated_at":"2018-08-15T14:01:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"09d3610418e64e373ed133924c09464e633cdf4f","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/influxdata/chronograf/pulls/4217/commits","review_comments_url":"https://api.github.com/repos/influxdata/chronograf/pulls/4217/comments","review_comment_url":"https://api.github.com/repos/influxdata/chronograf/pulls/comments{/number}","comments_url":"https://api.github.com/repos/influxdata/chronograf/issues/4217/comments","statuses_url":"https://api.github.com/repos/influxdata/chronograf/statuses/b4a3c1295e1a237c91e0c2aebe84f46cde5a0007","head":{"label":"influxdata:feat/dashboard_templates","ref":"feat/dashboard_templates","sha":"b4a3c1295e1a237c91e0c2aebe84f46cde5a0007","user":{"login":"influxdata","id":5713248,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU3MTMyNDg=","avatar_url":"https://avatars2.githubusercontent.com/u/5713248?v=4","gravatar_id":"","url":"https://api.github.com/users/influxdata","html_url":"https://github.com/influxdata","followers_url":"https://api.github.com/users/influxdata/followers","following_url":"https://api.github.com/users/influxdata/following{/other_user}","gists_url":"https://api.github.com/users/influxdata/gists{/gist_id}","starred_url":"https://api.github.com/users/influxdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/influxdata/subscriptions","organizations_url":"https://api.github.com/users/influxdata/orgs","repos_url":"https://api.github.com/users/influxdata/repos","events_url":"https://api.github.com/users/influxdata/events{/privacy}","received_events_url":"https://api.github.com/users/influxdata/received_events","type":"Organization","site_admin":false},"repo":{"id":66506962,"node_id":"MDEwOlJlcG9zaXRvcnk2NjUwNjk2Mg==","name":"chronograf","full_name":"influxdata/chronograf","owner":{"login":"influxdata","id":5713248,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU3MTMyNDg=","avatar_url":"https://avatars2.githubusercontent.com/u/5713248?v=4","gravatar_id":"","url":"https://api.github.com/users/influxdata","html_url":"https://github.com/influxdata","followers_url":"https://api.github.com/users/influxdata/followers","following_url":"https://api.github.com/users/influxdata/following{/other_user}","gists_url":"https://api.github.com/users/influxdata/gists{/gist_id}","starred_url":"https://api.github.com/users/influxdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/influxdata/subscriptions","organizations_url":"https://api.github.com/users/influxdata/orgs","repos_url":"https://api.github.com/users/influxdata/repos","events_url":"https://api.github.com/users/influxdata/events{/privacy}","received_events_url":"https://api.github.com/users/influxdata/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/influxdata/chronograf","description":"Open source monitoring and visualization UI for the TICK stack","fork":false,"url":"https://api.github.com/repos/influxdata/chronograf","forks_url":"https://api.github.com/repos/influxdata/chronograf/forks","keys_url":"https://api.github.com/repos/influxdata/chronograf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/influxdata/chronograf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/influxdata/chronograf/teams","hooks_url":"https://api.github.com/repos/influxdata/chronograf/hooks","issue_events_url":"https://api.github.com/repos/influxdata/chronograf/issues/events{/number}","events_url":"https://api.github.com/repos/influxdata/chronograf/events","assignees_url":"https://api.github.com/repos/influxdata/chronograf/assignees{/user}","branches_url":"https://api.github.com/repos/influxdata/chronograf/branches{/branch}","tags_url":"https://api.github.com/repos/influxdata/chronograf/tags","blobs_url":"https://api.github.com/repos/influxdata/chronograf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/influxdata/chronograf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/influxdata/chronograf/git/refs{/sha}","trees_url":"https://api.github.com/repos/influxdata/chronograf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/influxdata/chronograf/statuses/{sha}","languages_url":"https://api.github.com/repos/influxdata/chronograf/languages","stargazers_url":"https://api.github.com/repos/influxdata/chronograf/stargazers","contributors_url":"https://api.github.com/repos/influxdata/chronograf/contributors","subscribers_url":"https://api.github.com/repos/influxdata/chronograf/subscribers","subscription_url":"https://api.github.com/repos/influxdata/chronograf/subscription","commits_url":"https://api.github.com/repos/influxdata/chronograf/commits{/sha}","git_commits_url":"https://api.github.com/repos/influxdata/chronograf/git/commits{/sha}","comments_url":"https://api.github.com/repos/influxdata/chronograf/comments{/number}","issue_comment_url":"https://api.github.com/repos/influxdata/chronograf/issues/comments{/number}","contents_url":"https://api.github.com/repos/influxdata/chronograf/contents/{+path}","compare_url":"https://api.github.com/repos/influxdata/chronograf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/influxdata/chronograf/merges","archive_url":"https://api.github.com/repos/influxdata/chronograf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/influxdata/chronograf/downloads","issues_url":"https://api.github.com/repos/influxdata/chronograf/issues{/number}","pulls_url":"https://api.github.com/repos/influxdata/chronograf/pulls{/number}","milestones_url":"https://api.github.com/repos/influxdata/chronograf/milestones{/number}","notifications_url":"https://api.github.com/repos/influxdata/chronograf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/influxdata/chronograf/labels{/name}","releases_url":"https://api.github.com/repos/influxdata/chronograf/releases{/id}","deployments_url":"https://api.github.com/repos/influxdata/chronograf/deployments","created_at":"2016-08-24T23:28:56Z","updated_at":"2018-08-14T23:50:35Z","pushed_at":"2018-08-15T06:27:04Z","git_url":"git://github.com/influxdata/chronograf.git","ssh_url":"git@github.com:influxdata/chronograf.git","clone_url":"https://github.com/influxdata/chronograf.git","svn_url":"https://github.com/influxdata/chronograf","homepage":"https://www.influxdata.com/time-series-platform/chronograf/","size":63861,"stargazers_count":707,"watchers_count":707,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":145,"mirror_url":null,"archived":false,"open_issues_count":715,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":145,"open_issues":715,"watchers":707,"default_branch":"master"}},"base":{"label":"influxdata:master","ref":"master","sha":"60f0ac7582106a41c2cc78a510dd887a149992a1","user":{"login":"influxdata","id":5713248,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU3MTMyNDg=","avatar_url":"https://avatars2.githubusercontent.com/u/5713248?v=4","gravatar_id":"","url":"https://api.github.com/users/influxdata","html_url":"https://github.com/influxdata","followers_url":"https://api.github.com/users/influxdata/followers","following_url":"https://api.github.com/users/influxdata/following{/other_user}","gists_url":"https://api.github.com/users/influxdata/gists{/gist_id}","starred_url":"https://api.github.com/users/influxdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/influxdata/subscriptions","organizations_url":"https://api.github.com/users/influxdata/orgs","repos_url":"https://api.github.com/users/influxdata/repos","events_url":"https://api.github.com/users/influxdata/events{/privacy}","received_events_url":"https://api.github.com/users/influxdata/received_events","type":"Organization","site_admin":false},"repo":{"id":66506962,"node_id":"MDEwOlJlcG9zaXRvcnk2NjUwNjk2Mg==","name":"chronograf","full_name":"influxdata/chronograf","owner":{"login":"influxdata","id":5713248,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU3MTMyNDg=","avatar_url":"https://avatars2.githubusercontent.com/u/5713248?v=4","gravatar_id":"","url":"https://api.github.com/users/influxdata","html_url":"https://github.com/influxdata","followers_url":"https://api.github.com/users/influxdata/followers","following_url":"https://api.github.com/users/influxdata/following{/other_user}","gists_url":"https://api.github.com/users/influxdata/gists{/gist_id}","starred_url":"https://api.github.com/users/influxdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/influxdata/subscriptions","organizations_url":"https://api.github.com/users/influxdata/orgs","repos_url":"https://api.github.com/users/influxdata/repos","events_url":"https://api.github.com/users/influxdata/events{/privacy}","received_events_url":"https://api.github.com/users/influxdata/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/influxdata/chronograf","description":"Open source monitoring and visualization UI for the TICK stack","fork":false,"url":"https://api.github.com/repos/influxdata/chronograf","forks_url":"https://api.github.com/repos/influxdata/chronograf/forks","keys_url":"https://api.github.com/repos/influxdata/chronograf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/influxdata/chronograf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/influxdata/chronograf/teams","hooks_url":"https://api.github.com/repos/influxdata/chronograf/hooks","issue_events_url":"https://api.github.com/repos/influxdata/chronograf/issues/events{/number}","events_url":"https://api.github.com/repos/influxdata/chronograf/events","assignees_url":"https://api.github.com/repos/influxdata/chronograf/assignees{/user}","branches_url":"https://api.github.com/repos/influxdata/chronograf/branches{/branch}","tags_url":"https://api.github.com/repos/influxdata/chronograf/tags","blobs_url":"https://api.github.com/repos/influxdata/chronograf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/influxdata/chronograf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/influxdata/chronograf/git/refs{/sha}","trees_url":"https://api.github.com/repos/influxdata/chronograf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/influxdata/chronograf/statuses/{sha}","languages_url":"https://api.github.com/repos/influxdata/chronograf/languages","stargazers_url":"https://api.github.com/repos/influxdata/chronograf/stargazers","contributors_url":"https://api.github.com/repos/influxdata/chronograf/contributors","subscribers_url":"https://api.github.com/repos/influxdata/chronograf/subscribers","subscription_url":"https://api.github.com/repos/influxdata/chronograf/subscription","commits_url":"https://api.github.com/repos/influxdata/chronograf/commits{/sha}","git_commits_url":"https://api.github.com/repos/influxdata/chronograf/git/commits{/sha}","comments_url":"https://api.github.com/repos/influxdata/chronograf/comments{/number}","issue_comment_url":"https://api.github.com/repos/influxdata/chronograf/issues/comments{/number}","contents_url":"https://api.github.com/repos/influxdata/chronograf/contents/{+path}","compare_url":"https://api.github.com/repos/influxdata/chronograf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/influxdata/chronograf/merges","archive_url":"https://api.github.com/repos/influxdata/chronograf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/influxdata/chronograf/downloads","issues_url":"https://api.github.com/repos/influxdata/chronograf/issues{/number}","pulls_url":"https://api.github.com/repos/influxdata/chronograf/pulls{/number}","milestones_url":"https://api.github.com/repos/influxdata/chronograf/milestones{/number}","notifications_url":"https://api.github.com/repos/influxdata/chronograf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/influxdata/chronograf/labels{/name}","releases_url":"https://api.github.com/repos/influxdata/chronograf/releases{/id}","deployments_url":"https://api.github.com/repos/influxdata/chronograf/deployments","created_at":"2016-08-24T23:28:56Z","updated_at":"2018-08-14T23:50:35Z","pushed_at":"2018-08-15T06:27:04Z","git_url":"git://github.com/influxdata/chronograf.git","ssh_url":"git@github.com:influxdata/chronograf.git","clone_url":"https://github.com/influxdata/chronograf.git","svn_url":"https://github.com/influxdata/chronograf","homepage":"https://www.influxdata.com/time-series-platform/chronograf/","size":63861,"stargazers_count":707,"watchers_count":707,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":145,"mirror_url":null,"archived":false,"open_issues_count":715,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":145,"open_issues":715,"watchers":707,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/influxdata/chronograf/pulls/4217"},"html":{"href":"https://github.com/influxdata/chronograf/pull/4217"},"issue":{"href":"https://api.github.com/repos/influxdata/chronograf/issues/4217"},"comments":{"href":"https://api.github.com/repos/influxdata/chronograf/issues/4217/comments"},"review_comments":{"href":"https://api.github.com/repos/influxdata/chronograf/pulls/4217/comments"},"review_comment":{"href":"https://api.github.com/repos/influxdata/chronograf/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/influxdata/chronograf/pulls/4217/commits"},"statuses":{"href":"https://api.github.com/repos/influxdata/chronograf/statuses/b4a3c1295e1a237c91e0c2aebe84f46cde5a0007"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"desa"}}