payload: {"action":"created","comment":{"url":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/comments/331534178","pull_request_review_id":297517374,"id":331534178,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMzMTUzNDE3OA==","diff_hunk":"@@ -0,0 +1,71 @@\n+---\n+layout: post\n+title: \"JCasC JSONSchema Case-Study Using VSCode\"\n+opengraph:\n+  image: /images/logos/JCasC/JCasC.png\n+tags:\n+- community-bridge\n+- JCasC\n+- VSCode\n+- community\n+author: sladyn98\n+---\n+\n+=== JSON Schema and VSCode\n+With the new JSON Schema being enabled developers can now test their yaml file against it. The new schema checks for the configurators, their types and to a certain extent the nesting of the configurators. VSCode allows us to test out the schema right out of the box with some modifications.\n+\n+=== Steps to Enable the Schema Validation\n+\n+a)The first step includes installing the YAML plugin from redhat. Open up the Extension list in VSCode editor using `Ctrl + Shift + X`.\n+\n+b)Select and install the YAML plugin by Red Hat. Reload the editor if necessary.\n+\n+c)The next step includes inserting the JSON Schema inside the VSCode workspace. We would be including the schema in the `work` directory.\n+\n+d)Spin up your Jenkins server and navigate to `/configuration-as-code/jsonSchema`. \n+\n+e)Copy and paste this schema into a new file called `json.schema`.\n+\n+f)In order to enable validation we need to include it in the workspace settings. In order to do that\n+navigate to `File` and then `Preference` and then `Settings`. Inside settings search for `json` and inside `settings.json` include the following configuration.\n+\n+[source, json]\n+\n+---\n+{\n+\"yaml.schemas\": {\n+        \"schema.json\": \"\\*.yml\"\n+    }\n+}\n+ ---\n+\n+You can specify a glob pattern as the value for schema.json which is the file name for the shema. This would apply the schema to all yaml files.\n+\n+g)The following tasks can be done using VSCode:\n+\n+  a)Auto completion (Ctrl + Space):\n+    Auto completes on all commands.\n+\n+  b)Document Outlining (Ctrl + Shift + O):\n+  Provides the document outlining of all completed nodes in the file.\n+\n+f)Create a new file under the work directory called `jenkins.yml`. For example consider the following contents for the file:\n+\n+[source, yaml]\n+---\n+jenkins:\n+ systemMessage: “Hello World”\n+ numExecutors:2\n+ ---\n+\n+g) The above yaml file is valid according to the schema and vscode should provide you with validation and autocompletion for the same.\n+\n+For any suggestions or dicussions regarding the schema feel free to join our gitter link:https://gitter.im/jenkinsci/jcasc-devtools-project[channel].","path":"content/blog/2019/10/2019-10-04-vscode-caseStudy.adoc","position":63,"original_position":63,"commit_id":"8ab1a9943ddab82767aee4b41908ec036d93d139","original_commit_id":"8ab1a9943ddab82767aee4b41908ec036d93d139","user":{"login":"timja","id":21194782,"node_id":"MDQ6VXNlcjIxMTk0Nzgy","avatar_url":"https://avatars3.githubusercontent.com/u/21194782?v=4","gravatar_id":"","url":"https://api.github.com/users/timja","html_url":"https://github.com/timja","followers_url":"https://api.github.com/users/timja/followers","following_url":"https://api.github.com/users/timja/following{/other_user}","gists_url":"https://api.github.com/users/timja/gists{/gist_id}","starred_url":"https://api.github.com/users/timja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timja/subscriptions","organizations_url":"https://api.github.com/users/timja/orgs","repos_url":"https://api.github.com/users/timja/repos","events_url":"https://api.github.com/users/timja/events{/privacy}","received_events_url":"https://api.github.com/users/timja/received_events","type":"User","site_admin":false},"body":"should have a link to report issues","created_at":"2019-10-04T14:34:40Z","updated_at":"2019-10-04T14:34:40Z","html_url":"https://github.com/jenkins-infra/jenkins.io/pull/2541#discussion_r331534178","pull_request_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/2541","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/comments/331534178"},"html":{"href":"https://github.com/jenkins-infra/jenkins.io/pull/2541#discussion_r331534178"},"pull_request":{"href":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/2541"}}},"pull_request":{"url":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/2541","id":324688708,"node_id":"MDExOlB1bGxSZXF1ZXN0MzI0Njg4NzA4","html_url":"https://github.com/jenkins-infra/jenkins.io/pull/2541","diff_url":"https://github.com/jenkins-infra/jenkins.io/pull/2541.diff","patch_url":"https://github.com/jenkins-infra/jenkins.io/pull/2541.patch","issue_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/issues/2541","number":2541,"state":"open","locked":false,"title":"JCasC VSCode Dev Tools Case Study.","user":{"login":"sladyn98","id":28837406,"node_id":"MDQ6VXNlcjI4ODM3NDA2","avatar_url":"https://avatars1.githubusercontent.com/u/28837406?v=4","gravatar_id":"","url":"https://api.github.com/users/sladyn98","html_url":"https://github.com/sladyn98","followers_url":"https://api.github.com/users/sladyn98/followers","following_url":"https://api.github.com/users/sladyn98/following{/other_user}","gists_url":"https://api.github.com/users/sladyn98/gists{/gist_id}","starred_url":"https://api.github.com/users/sladyn98/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sladyn98/subscriptions","organizations_url":"https://api.github.com/users/sladyn98/orgs","repos_url":"https://api.github.com/users/sladyn98/repos","events_url":"https://api.github.com/users/sladyn98/events{/privacy}","received_events_url":"https://api.github.com/users/sladyn98/received_events","type":"User","site_admin":false},"body":"This PR deals with the VSCode Case Study for the new JSON Schema.\r\nCloses : https://github.com/jenkinsci/configuration-as-code-plugin/issues/1120","created_at":"2019-10-04T13:46:48Z","updated_at":"2019-10-04T14:34:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5d94b9de2b09aa821845598d78f13712ee712caf","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[{"name":"Copy Editors","id":1882929,"node_id":"MDQ6VGVhbTE4ODI5Mjk=","slug":"copy-editors","description":"Team of contributors who can act as reviewers and editors for content","privacy":"closed","url":"https://api.github.com/teams/1882929","html_url":"https://github.com/orgs/jenkins-infra/teams/copy-editors","members_url":"https://api.github.com/teams/1882929/members{/member}","repositories_url":"https://api.github.com/teams/1882929/repos","permission":"pull"}],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/2541/commits","review_comments_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/2541/comments","review_comment_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/issues/2541/comments","statuses_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/statuses/8ab1a9943ddab82767aee4b41908ec036d93d139","head":{"label":"sladyn98:vscode-case-study","ref":"vscode-case-study","sha":"8ab1a9943ddab82767aee4b41908ec036d93d139","user":{"login":"sladyn98","id":28837406,"node_id":"MDQ6VXNlcjI4ODM3NDA2","avatar_url":"https://avatars1.githubusercontent.com/u/28837406?v=4","gravatar_id":"","url":"https://api.github.com/users/sladyn98","html_url":"https://github.com/sladyn98","followers_url":"https://api.github.com/users/sladyn98/followers","following_url":"https://api.github.com/users/sladyn98/following{/other_user}","gists_url":"https://api.github.com/users/sladyn98/gists{/gist_id}","starred_url":"https://api.github.com/users/sladyn98/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sladyn98/subscriptions","organizations_url":"https://api.github.com/users/sladyn98/orgs","repos_url":"https://api.github.com/users/sladyn98/repos","events_url":"https://api.github.com/users/sladyn98/events{/privacy}","received_events_url":"https://api.github.com/users/sladyn98/received_events","type":"User","site_admin":false},"repo":{"id":200251081,"node_id":"MDEwOlJlcG9zaXRvcnkyMDAyNTEwODE=","name":"jenkins.io","full_name":"sladyn98/jenkins.io","private":false,"owner":{"login":"sladyn98","id":28837406,"node_id":"MDQ6VXNlcjI4ODM3NDA2","avatar_url":"https://avatars1.githubusercontent.com/u/28837406?v=4","gravatar_id":"","url":"https://api.github.com/users/sladyn98","html_url":"https://github.com/sladyn98","followers_url":"https://api.github.com/users/sladyn98/followers","following_url":"https://api.github.com/users/sladyn98/following{/other_user}","gists_url":"https://api.github.com/users/sladyn98/gists{/gist_id}","starred_url":"https://api.github.com/users/sladyn98/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sladyn98/subscriptions","organizations_url":"https://api.github.com/users/sladyn98/orgs","repos_url":"https://api.github.com/users/sladyn98/repos","events_url":"https://api.github.com/users/sladyn98/events{/privacy}","received_events_url":"https://api.github.com/users/sladyn98/received_events","type":"User","site_admin":false},"html_url":"https://github.com/sladyn98/jenkins.io","description":"A static site for the Jenkins automation server","fork":true,"url":"https://api.github.com/repos/sladyn98/jenkins.io","forks_url":"https://api.github.com/repos/sladyn98/jenkins.io/forks","keys_url":"https://api.github.com/repos/sladyn98/jenkins.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sladyn98/jenkins.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sladyn98/jenkins.io/teams","hooks_url":"https://api.github.com/repos/sladyn98/jenkins.io/hooks","issue_events_url":"https://api.github.com/repos/sladyn98/jenkins.io/issues/events{/number}","events_url":"https://api.github.com/repos/sladyn98/jenkins.io/events","assignees_url":"https://api.github.com/repos/sladyn98/jenkins.io/assignees{/user}","branches_url":"https://api.github.com/repos/sladyn98/jenkins.io/branches{/branch}","tags_url":"https://api.github.com/repos/sladyn98/jenkins.io/tags","blobs_url":"https://api.github.com/repos/sladyn98/jenkins.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sladyn98/jenkins.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sladyn98/jenkins.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/sladyn98/jenkins.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sladyn98/jenkins.io/statuses/{sha}","languages_url":"https://api.github.com/repos/sladyn98/jenkins.io/languages","stargazers_url":"https://api.github.com/repos/sladyn98/jenkins.io/stargazers","contributors_url":"https://api.github.com/repos/sladyn98/jenkins.io/contributors","subscribers_url":"https://api.github.com/repos/sladyn98/jenkins.io/subscribers","subscription_url":"https://api.github.com/repos/sladyn98/jenkins.io/subscription","commits_url":"https://api.github.com/repos/sladyn98/jenkins.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/sladyn98/jenkins.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/sladyn98/jenkins.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/sladyn98/jenkins.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/sladyn98/jenkins.io/contents/{+path}","compare_url":"https://api.github.com/repos/sladyn98/jenkins.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sladyn98/jenkins.io/merges","archive_url":"https://api.github.com/repos/sladyn98/jenkins.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sladyn98/jenkins.io/downloads","issues_url":"https://api.github.com/repos/sladyn98/jenkins.io/issues{/number}","pulls_url":"https://api.github.com/repos/sladyn98/jenkins.io/pulls{/number}","milestones_url":"https://api.github.com/repos/sladyn98/jenkins.io/milestones{/number}","notifications_url":"https://api.github.com/repos/sladyn98/jenkins.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sladyn98/jenkins.io/labels{/name}","releases_url":"https://api.github.com/repos/sladyn98/jenkins.io/releases{/id}","deployments_url":"https://api.github.com/repos/sladyn98/jenkins.io/deployments","created_at":"2019-08-02T14:42:49Z","updated_at":"2019-08-02T14:42:51Z","pushed_at":"2019-10-04T13:45:38Z","git_url":"git://github.com/sladyn98/jenkins.io.git","ssh_url":"git@github.com:sladyn98/jenkins.io.git","clone_url":"https://github.com/sladyn98/jenkins.io.git","svn_url":"https://github.com/sladyn98/jenkins.io","homepage":"https://jenkins.io","size":384345,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"jenkins-infra:master","ref":"master","sha":"f0be23e502ddb3e6c4607e10f486b12f62507c40","user":{"login":"jenkins-infra","id":7422698,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc0MjI2OTg=","avatar_url":"https://avatars2.githubusercontent.com/u/7422698?v=4","gravatar_id":"","url":"https://api.github.com/users/jenkins-infra","html_url":"https://github.com/jenkins-infra","followers_url":"https://api.github.com/users/jenkins-infra/followers","following_url":"https://api.github.com/users/jenkins-infra/following{/other_user}","gists_url":"https://api.github.com/users/jenkins-infra/gists{/gist_id}","starred_url":"https://api.github.com/users/jenkins-infra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jenkins-infra/subscriptions","organizations_url":"https://api.github.com/users/jenkins-infra/orgs","repos_url":"https://api.github.com/users/jenkins-infra/repos","events_url":"https://api.github.com/users/jenkins-infra/events{/privacy}","received_events_url":"https://api.github.com/users/jenkins-infra/received_events","type":"Organization","site_admin":false},"repo":{"id":44886691,"node_id":"MDEwOlJlcG9zaXRvcnk0NDg4NjY5MQ==","name":"jenkins.io","full_name":"jenkins-infra/jenkins.io","private":false,"owner":{"login":"jenkins-infra","id":7422698,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc0MjI2OTg=","avatar_url":"https://avatars2.githubusercontent.com/u/7422698?v=4","gravatar_id":"","url":"https://api.github.com/users/jenkins-infra","html_url":"https://github.com/jenkins-infra","followers_url":"https://api.github.com/users/jenkins-infra/followers","following_url":"https://api.github.com/users/jenkins-infra/following{/other_user}","gists_url":"https://api.github.com/users/jenkins-infra/gists{/gist_id}","starred_url":"https://api.github.com/users/jenkins-infra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jenkins-infra/subscriptions","organizations_url":"https://api.github.com/users/jenkins-infra/orgs","repos_url":"https://api.github.com/users/jenkins-infra/repos","events_url":"https://api.github.com/users/jenkins-infra/events{/privacy}","received_events_url":"https://api.github.com/users/jenkins-infra/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/jenkins-infra/jenkins.io","description":"A static site for the Jenkins automation server","fork":false,"url":"https://api.github.com/repos/jenkins-infra/jenkins.io","forks_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/forks","keys_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/teams","hooks_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/hooks","issue_events_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/issues/events{/number}","events_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/events","assignees_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/assignees{/user}","branches_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/branches{/branch}","tags_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/tags","blobs_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/statuses/{sha}","languages_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/languages","stargazers_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/stargazers","contributors_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/contributors","subscribers_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/subscribers","subscription_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/subscription","commits_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/contents/{+path}","compare_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/merges","archive_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/downloads","issues_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/issues{/number}","pulls_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls{/number}","milestones_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/milestones{/number}","notifications_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/labels{/name}","releases_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/releases{/id}","deployments_url":"https://api.github.com/repos/jenkins-infra/jenkins.io/deployments","created_at":"2015-10-24T22:02:57Z","updated_at":"2019-10-04T12:30:02Z","pushed_at":"2019-10-04T13:46:49Z","git_url":"git://github.com/jenkins-infra/jenkins.io.git","ssh_url":"git@github.com:jenkins-infra/jenkins.io.git","clone_url":"https://github.com/jenkins-infra/jenkins.io.git","svn_url":"https://github.com/jenkins-infra/jenkins.io","homepage":"https://jenkins.io","size":384540,"stargazers_count":135,"watchers_count":135,"language":"HTML","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":548,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":20,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":548,"open_issues":20,"watchers":135,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/2541"},"html":{"href":"https://github.com/jenkins-infra/jenkins.io/pull/2541"},"issue":{"href":"https://api.github.com/repos/jenkins-infra/jenkins.io/issues/2541"},"comments":{"href":"https://api.github.com/repos/jenkins-infra/jenkins.io/issues/2541/comments"},"review_comments":{"href":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/2541/comments"},"review_comment":{"href":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jenkins-infra/jenkins.io/pulls/2541/commits"},"statuses":{"href":"https://api.github.com/repos/jenkins-infra/jenkins.io/statuses/8ab1a9943ddab82767aee4b41908ec036d93d139"}},"author_association":"CONTRIBUTOR"}}
other: {"actor":{"display_login":"timja"}}