{"action":"created","comment":{"url":"https://api.github.com/repos/caskdata/cdap/pulls/comments/40167415","id":40167415,"diff_hunk":"@@ -0,0 +1,107 @@\n+{\n+    \"artifact\": {\n+        \"name\": \"cdap-etl-realtime\",\n+        \"scope\": \"SYSTEM\",\n+        \"version\": \"3.2.0-SNAPSHOT\"\n+    },\n+    \"config\": {\n+        \"source\": {\n+            \"name\": \"Twitter\",\n+            \"label\": \"Twitter Stream\",\n+            \"properties\": {\n+                \"AccessToken\": \"\",\n+                \"AccessTokenSecret\": \"\",\n+                \"ConsumerSecret\": \"\",\n+                \"ConsumerKey\": \"\"\n+            }\n+        },\n+        \"sinks\": [\n+            {\n+                \"name\": \"Table\",\n+                \"label\": \"HBase Table\",\n+                \"properties\": {\n+                    \"schema\": \"{\\\"type\\\":\\\"record\\\",\\\"name\\\":\\\"etlSchemaBody\\\",\\\"fields\\\":[{\\\"name\\\":\\\"message\\\",\\\"type\\\":\\\"string\\\"},{\\\"name\\\":\\\"lang\\\",\\\"type\\\":\\\"string\\\"},{\\\"name\\\":\\\"time\\\",\\\"type\\\":\\\"long\\\"},{\\\"name\\\":\\\"favCount\\\",\\\"type\\\":\\\"int\\\"},{\\\"name\\\":\\\"rtCount\\\",\\\"type\\\":\\\"int\\\"},{\\\"name\\\":\\\"source\\\",\\\"type\\\":\\\"string\\\"},{\\\"name\\\":\\\"id\\\",\\\"type\\\":\\\"long\\\"}]}\",\n+                    \"name\": \"\",\n+                    \"schema.row.field\": \"\"\n+                }\n+            }\n+        ],\n+        \"transforms\": [],\n+        \"instances\": 1\n+    },\n+    \"description\": \"Realtime stream Twitter data into a HBase Table.\",\n+    \"name\": \"TwitterToHBase\",\n+    \"ui\": {\n+        \"nodes\": {\n+            \"Twitter-source-1\": {\n+                \"id\": \"Twitter-source-1\",\n+                \"name\": \"Twitter\",\n+                \"label\": \"Twitter Stream\",\n+                \"icon\": \"fa-twitter\",\n+                \"style\": {\n+                    \"top\": \"149px\",\n+                    \"left\": \"320px\"\n+                },\n+                \"description\": \"Samples tweets in real-time. Output records contain the fields id (long), message (string), lang (nullable string), time (nullable long), favCount (int), rtCount (int), source (nullable string), geoLat (nullable double), geoLong (nullable double), and isRetweet (boolean).\",\n+                \"outputSchema\": \"{\\\"fields\\\":[{\\\"name\\\":\\\"id\\\",\\\"type\\\":\\\"long\\\"},{\\\"name\\\":\\\"message\\\",\\\"type\\\":\\\"string\\\"},{\\\"name\\\":\\\"lang\\\",\\\"type\\\":[\\\"string\\\",\\\"null\\\"]},{\\\"name\\\":\\\"time\\\",\\\"type\\\":[\\\"long\\\",\\\"null\\\"]},{\\\"name\\\":\\\"favCount\\\",\\\"type\\\":\\\"int\\\"},{\\\"name\\\":\\\"rtCount\\\",\\\"type\\\":\\\"int\\\"},{\\\"name\\\":\\\"source\\\",\\\"type\\\":[\\\"string\\\",\\\"null\\\"]},{\\\"name\\\":\\\"geoLat\\\",\\\"type\\\":[\\\"double\\\",\\\"null\\\"]},{\\\"name\\\":\\\"geoLong\\\",\\\"type\\\":[\\\"double\\\",\\\"null\\\"]},{\\\"name\\\":\\\"isRetweet\\\",\\\"type\\\":\\\"boolean\\\"}]}\",\n+                \"pluginTemplate\": null,\n+                \"errorDatasetName\": \"\",\n+                \"validationFields\": null,\n+                \"lock\": null,\n+                \"properties\": {\n+                    \"AccessToken\": \"\",\n+                    \"AccessTokenSecret\": \"\",\n+                    \"ConsumerSecret\": \"\",\n+                    \"ConsumerKey\": \"\"\n+                },\n+                \"type\": \"realtimesource\",\n+                \"valid\": false,\n+                \"requiredFieldCount\": 4,\n+                \"error\": {\n+                    \"message\": \"Source is missing required fields\",\n+                    \"requiredFieldCount\": 4\n+                },\n+                \"warning\": false,\n+                \"selected\": false,\n+                \"implicitSchema\": true\n+            },\n+            \"Table-sink-4\": {\n+                \"id\": \"Table-sink-4\",\n+                \"name\": \"Table\",\n+                \"label\": \"HBase Table\",\n+                \"icon\": \"fa-table\",\n+                \"style\": {\n+                    \"top\": \"149px\",\n+                    \"left\": \"670px\"\n+                },\n+                \"description\": \"Real Time Sink for CDAP Table dataset\",\n+                \"outputSchema\": \"{\\\"type\\\":\\\"record\\\",\\\"name\\\":\\\"etlSchemaBody\\\",\\\"fields\\\":[{\\\"name\\\":\\\"message\\\",\\\"type\\\":\\\"string\\\"},{\\\"name\\\":\\\"lang\\\",\\\"type\\\":\\\"string\\\"},{\\\"name\\\":\\\"time\\\",\\\"type\\\":\\\"long\\\"},{\\\"name\\\":\\\"favCount\\\",\\\"type\\\":\\\"int\\\"},{\\\"name\\\":\\\"rtCount\\\",\\\"type\\\":\\\"int\\\"},{\\\"name\\\":\\\"source\\\",\\\"type\\\":\\\"string\\\"},{\\\"name\\\":\\\"id\\\",\\\"type\\\":\\\"long\\\"}]}\",\n+                \"pluginTemplate\": null,\n+                \"errorDatasetName\": \"\",\n+                \"validationFields\": null,\n+                \"lock\": null,\n+                \"properties\": {\n+                    \"schema\": \"{\\\"type\\\":\\\"record\\\",\\\"name\\\":\\\"etlSchemaBody\\\",\\\"fields\\\":[{\\\"name\\\":\\\"message\\\",\\\"type\\\":\\\"string\\\"},{\\\"name\\\":\\\"lang\\\",\\\"type\\\":\\\"string\\\"},{\\\"name\\\":\\\"time\\\",\\\"type\\\":\\\"long\\\"},{\\\"name\\\":\\\"favCount\\\",\\\"type\\\":\\\"int\\\"},{\\\"name\\\":\\\"rtCount\\\",\\\"type\\\":\\\"int\\\"},{\\\"name\\\":\\\"source\\\",\\\"type\\\":\\\"string\\\"},{\\\"name\\\":\\\"id\\\",\\\"type\\\":\\\"long\\\"}]}\",\n+                    \"case.sensitive.row.field\": \"true\",\n+                    \"name\": \"\",\n+                    \"schema.row.field\": \"\"\n+                },\n+                \"type\": \"realtimesink\",\n+                \"valid\": false,\n+                \"requiredFieldCount\": 2,\n+                \"error\": {\n+                    \"message\": \"Sink is missing required fields\",\n+                    \"requiredFieldCount\": 2\n+                },\n+                \"warning\": false,\n+                \"selected\": true\n+            }\n+        },\n+        \"connections\": [\n+            {\n+                \"source\": \"Twitter-source-1\",\n+                \"target\": \"Table-sink-4\"\n+            }\n+        ]\n+    }\n+}","path":"cdap-ui/templates/apps/predefined/TwitterToHBase.json","position":107,"original_position":107,"commit_id":"b9df576d88aef4753170b045f32a6bc80176be57","original_commit_id":"b9df576d88aef4753170b045f32a6bc80176be57","user":{"login":"bdmogal","id":3895099,"avatar_url":"https://avatars.githubusercontent.com/u/3895099?v=3","gravatar_id":"","url":"https://api.github.com/users/bdmogal","html_url":"https://github.com/bdmogal","followers_url":"https://api.github.com/users/bdmogal/followers","following_url":"https://api.github.com/users/bdmogal/following{/other_user}","gists_url":"https://api.github.com/users/bdmogal/gists{/gist_id}","starred_url":"https://api.github.com/users/bdmogal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdmogal/subscriptions","organizations_url":"https://api.github.com/users/bdmogal/orgs","repos_url":"https://api.github.com/users/bdmogal/repos","events_url":"https://api.github.com/users/bdmogal/events{/privacy}","received_events_url":"https://api.github.com/users/bdmogal/received_events","type":"User","site_admin":false},"body":"missing newline","created_at":"2015-09-23T02:56:46Z","updated_at":"2015-09-23T02:56:46Z","html_url":"https://github.com/caskdata/cdap/pull/4162#discussion_r40167415","pull_request_url":"https://api.github.com/repos/caskdata/cdap/pulls/4162","_links":{"self":{"href":"https://api.github.com/repos/caskdata/cdap/pulls/comments/40167415"},"html":{"href":"https://github.com/caskdata/cdap/pull/4162#discussion_r40167415"},"pull_request":{"href":"https://api.github.com/repos/caskdata/cdap/pulls/4162"}}},"pull_request":{"url":"https://api.github.com/repos/caskdata/cdap/pulls/4162","id":45739674,"html_url":"https://github.com/caskdata/cdap/pull/4162","diff_url":"https://github.com/caskdata/cdap/pull/4162.diff","patch_url":"https://github.com/caskdata/cdap/pull/4162.patch","issue_url":"https://api.github.com/repos/caskdata/cdap/issues/4162","number":4162,"state":"open","locked":false,"title":"Adding predefined templates to UI","user":{"login":"nitinmotgi","id":1365919,"avatar_url":"https://avatars.githubusercontent.com/u/1365919?v=3","gravatar_id":"","url":"https://api.github.com/users/nitinmotgi","html_url":"https://github.com/nitinmotgi","followers_url":"https://api.github.com/users/nitinmotgi/followers","following_url":"https://api.github.com/users/nitinmotgi/following{/other_user}","gists_url":"https://api.github.com/users/nitinmotgi/gists{/gist_id}","starred_url":"https://api.github.com/users/nitinmotgi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitinmotgi/subscriptions","organizations_url":"https://api.github.com/users/nitinmotgi/orgs","repos_url":"https://api.github.com/users/nitinmotgi/repos","events_url":"https://api.github.com/users/nitinmotgi/events{/privacy}","received_events_url":"https://api.github.com/users/nitinmotgi/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-09-23T02:54:59Z","updated_at":"2015-09-23T02:56:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bd34f7b8e51a3521bd5e055d48c0e655e3f483cb","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/caskdata/cdap/pulls/4162/commits","review_comments_url":"https://api.github.com/repos/caskdata/cdap/pulls/4162/comments","review_comment_url":"https://api.github.com/repos/caskdata/cdap/pulls/comments{/number}","comments_url":"https://api.github.com/repos/caskdata/cdap/issues/4162/comments","statuses_url":"https://api.github.com/repos/caskdata/cdap/statuses/b9df576d88aef4753170b045f32a6bc80176be57","head":{"label":"caskdata:feature/predefined-templates","ref":"feature/predefined-templates","sha":"b9df576d88aef4753170b045f32a6bc80176be57","user":{"login":"caskdata","id":8123023,"avatar_url":"https://avatars.githubusercontent.com/u/8123023?v=3","gravatar_id":"","url":"https://api.github.com/users/caskdata","html_url":"https://github.com/caskdata","followers_url":"https://api.github.com/users/caskdata/followers","following_url":"https://api.github.com/users/caskdata/following{/other_user}","gists_url":"https://api.github.com/users/caskdata/gists{/gist_id}","starred_url":"https://api.github.com/users/caskdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caskdata/subscriptions","organizations_url":"https://api.github.com/users/caskdata/orgs","repos_url":"https://api.github.com/users/caskdata/repos","events_url":"https://api.github.com/users/caskdata/events{/privacy}","received_events_url":"https://api.github.com/users/caskdata/received_events","type":"Organization","site_admin":false},"repo":{"id":22542759,"name":"cdap","full_name":"caskdata/cdap","owner":{"login":"caskdata","id":8123023,"avatar_url":"https://avatars.githubusercontent.com/u/8123023?v=3","gravatar_id":"","url":"https://api.github.com/users/caskdata","html_url":"https://github.com/caskdata","followers_url":"https://api.github.com/users/caskdata/followers","following_url":"https://api.github.com/users/caskdata/following{/other_user}","gists_url":"https://api.github.com/users/caskdata/gists{/gist_id}","starred_url":"https://api.github.com/users/caskdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caskdata/subscriptions","organizations_url":"https://api.github.com/users/caskdata/orgs","repos_url":"https://api.github.com/users/caskdata/repos","events_url":"https://api.github.com/users/caskdata/events{/privacy}","received_events_url":"https://api.github.com/users/caskdata/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/caskdata/cdap","description":"Cask Data Application Platform (CDAP)","fork":false,"url":"https://api.github.com/repos/caskdata/cdap","forks_url":"https://api.github.com/repos/caskdata/cdap/forks","keys_url":"https://api.github.com/repos/caskdata/cdap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/caskdata/cdap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/caskdata/cdap/teams","hooks_url":"https://api.github.com/repos/caskdata/cdap/hooks","issue_events_url":"https://api.github.com/repos/caskdata/cdap/issues/events{/number}","events_url":"https://api.github.com/repos/caskdata/cdap/events","assignees_url":"https://api.github.com/repos/caskdata/cdap/assignees{/user}","branches_url":"https://api.github.com/repos/caskdata/cdap/branches{/branch}","tags_url":"https://api.github.com/repos/caskdata/cdap/tags","blobs_url":"https://api.github.com/repos/caskdata/cdap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/caskdata/cdap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/caskdata/cdap/git/refs{/sha}","trees_url":"https://api.github.com/repos/caskdata/cdap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/caskdata/cdap/statuses/{sha}","languages_url":"https://api.github.com/repos/caskdata/cdap/languages","stargazers_url":"https://api.github.com/repos/caskdata/cdap/stargazers","contributors_url":"https://api.github.com/repos/caskdata/cdap/contributors","subscribers_url":"https://api.github.com/repos/caskdata/cdap/subscribers","subscription_url":"https://api.github.com/repos/caskdata/cdap/subscription","commits_url":"https://api.github.com/repos/caskdata/cdap/commits{/sha}","git_commits_url":"https://api.github.com/repos/caskdata/cdap/git/commits{/sha}","comments_url":"https://api.github.com/repos/caskdata/cdap/comments{/number}","issue_comment_url":"https://api.github.com/repos/caskdata/cdap/issues/comments{/number}","contents_url":"https://api.github.com/repos/caskdata/cdap/contents/{+path}","compare_url":"https://api.github.com/repos/caskdata/cdap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/caskdata/cdap/merges","archive_url":"https://api.github.com/repos/caskdata/cdap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/caskdata/cdap/downloads","issues_url":"https://api.github.com/repos/caskdata/cdap/issues{/number}","pulls_url":"https://api.github.com/repos/caskdata/cdap/pulls{/number}","milestones_url":"https://api.github.com/repos/caskdata/cdap/milestones{/number}","notifications_url":"https://api.github.com/repos/caskdata/cdap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/caskdata/cdap/labels{/name}","releases_url":"https://api.github.com/repos/caskdata/cdap/releases{/id}","created_at":"2014-08-02T09:00:10Z","updated_at":"2015-09-22T22:48:18Z","pushed_at":"2015-09-23T02:55:00Z","git_url":"git://github.com/caskdata/cdap.git","ssh_url":"git@github.com:caskdata/cdap.git","clone_url":"https://github.com/caskdata/cdap.git","svn_url":"https://github.com/caskdata/cdap","homepage":"http://cdap.io","size":868213,"stargazers_count":69,"watchers_count":69,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":19,"mirror_url":null,"open_issues_count":2,"forks":19,"open_issues":2,"watchers":69,"default_branch":"develop"}},"base":{"label":"caskdata:release/3.2","ref":"release/3.2","sha":"08160240b5a612e9a3a2129b79b1127650c51aad","user":{"login":"caskdata","id":8123023,"avatar_url":"https://avatars.githubusercontent.com/u/8123023?v=3","gravatar_id":"","url":"https://api.github.com/users/caskdata","html_url":"https://github.com/caskdata","followers_url":"https://api.github.com/users/caskdata/followers","following_url":"https://api.github.com/users/caskdata/following{/other_user}","gists_url":"https://api.github.com/users/caskdata/gists{/gist_id}","starred_url":"https://api.github.com/users/caskdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caskdata/subscriptions","organizations_url":"https://api.github.com/users/caskdata/orgs","repos_url":"https://api.github.com/users/caskdata/repos","events_url":"https://api.github.com/users/caskdata/events{/privacy}","received_events_url":"https://api.github.com/users/caskdata/received_events","type":"Organization","site_admin":false},"repo":{"id":22542759,"name":"cdap","full_name":"caskdata/cdap","owner":{"login":"caskdata","id":8123023,"avatar_url":"https://avatars.githubusercontent.com/u/8123023?v=3","gravatar_id":"","url":"https://api.github.com/users/caskdata","html_url":"https://github.com/caskdata","followers_url":"https://api.github.com/users/caskdata/followers","following_url":"https://api.github.com/users/caskdata/following{/other_user}","gists_url":"https://api.github.com/users/caskdata/gists{/gist_id}","starred_url":"https://api.github.com/users/caskdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caskdata/subscriptions","organizations_url":"https://api.github.com/users/caskdata/orgs","repos_url":"https://api.github.com/users/caskdata/repos","events_url":"https://api.github.com/users/caskdata/events{/privacy}","received_events_url":"https://api.github.com/users/caskdata/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/caskdata/cdap","description":"Cask Data Application Platform (CDAP)","fork":false,"url":"https://api.github.com/repos/caskdata/cdap","forks_url":"https://api.github.com/repos/caskdata/cdap/forks","keys_url":"https://api.github.com/repos/caskdata/cdap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/caskdata/cdap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/caskdata/cdap/teams","hooks_url":"https://api.github.com/repos/caskdata/cdap/hooks","issue_events_url":"https://api.github.com/repos/caskdata/cdap/issues/events{/number}","events_url":"https://api.github.com/repos/caskdata/cdap/events","assignees_url":"https://api.github.com/repos/caskdata/cdap/assignees{/user}","branches_url":"https://api.github.com/repos/caskdata/cdap/branches{/branch}","tags_url":"https://api.github.com/repos/caskdata/cdap/tags","blobs_url":"https://api.github.com/repos/caskdata/cdap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/caskdata/cdap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/caskdata/cdap/git/refs{/sha}","trees_url":"https://api.github.com/repos/caskdata/cdap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/caskdata/cdap/statuses/{sha}","languages_url":"https://api.github.com/repos/caskdata/cdap/languages","stargazers_url":"https://api.github.com/repos/caskdata/cdap/stargazers","contributors_url":"https://api.github.com/repos/caskdata/cdap/contributors","subscribers_url":"https://api.github.com/repos/caskdata/cdap/subscribers","subscription_url":"https://api.github.com/repos/caskdata/cdap/subscription","commits_url":"https://api.github.com/repos/caskdata/cdap/commits{/sha}","git_commits_url":"https://api.github.com/repos/caskdata/cdap/git/commits{/sha}","comments_url":"https://api.github.com/repos/caskdata/cdap/comments{/number}","issue_comment_url":"https://api.github.com/repos/caskdata/cdap/issues/comments{/number}","contents_url":"https://api.github.com/repos/caskdata/cdap/contents/{+path}","compare_url":"https://api.github.com/repos/caskdata/cdap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/caskdata/cdap/merges","archive_url":"https://api.github.com/repos/caskdata/cdap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/caskdata/cdap/downloads","issues_url":"https://api.github.com/repos/caskdata/cdap/issues{/number}","pulls_url":"https://api.github.com/repos/caskdata/cdap/pulls{/number}","milestones_url":"https://api.github.com/repos/caskdata/cdap/milestones{/number}","notifications_url":"https://api.github.com/repos/caskdata/cdap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/caskdata/cdap/labels{/name}","releases_url":"https://api.github.com/repos/caskdata/cdap/releases{/id}","created_at":"2014-08-02T09:00:10Z","updated_at":"2015-09-22T22:48:18Z","pushed_at":"2015-09-23T02:55:00Z","git_url":"git://github.com/caskdata/cdap.git","ssh_url":"git@github.com:caskdata/cdap.git","clone_url":"https://github.com/caskdata/cdap.git","svn_url":"https://github.com/caskdata/cdap","homepage":"http://cdap.io","size":868213,"stargazers_count":69,"watchers_count":69,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":19,"mirror_url":null,"open_issues_count":2,"forks":19,"open_issues":2,"watchers":69,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/caskdata/cdap/pulls/4162"},"html":{"href":"https://github.com/caskdata/cdap/pull/4162"},"issue":{"href":"https://api.github.com/repos/caskdata/cdap/issues/4162"},"comments":{"href":"https://api.github.com/repos/caskdata/cdap/issues/4162/comments"},"review_comments":{"href":"https://api.github.com/repos/caskdata/cdap/pulls/4162/comments"},"review_comment":{"href":"https://api.github.com/repos/caskdata/cdap/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/caskdata/cdap/pulls/4162/commits"},"statuses":{"href":"https://api.github.com/repos/caskdata/cdap/statuses/b9df576d88aef4753170b045f32a6bc80176be57"}}}}