{"action":"created","comment":{"url":"https://api.github.com/repos/jenkinsci/jenkins/pulls/comments/143949594","pull_request_review_id":68534023,"id":143949594,"diff_hunk":"@@ -0,0 +1,37 @@\n+package jenkins.security.csrf;\n+\n+import hudson.Extension;\n+import hudson.model.AdministrativeMonitor;\n+import hudson.security.csrf.CrumbIssuer;\n+import jenkins.model.Jenkins;\n+import org.jenkinsci.Symbol;\n+import org.kohsuke.accmod.Restricted;\n+import org.kohsuke.accmod.restrictions.NoExternalUse;\n+\n+/**\n+ * Monitor that the CSRF is enabled on the application.\n+ *\n+ * @author Wadeck Follonier\n+ * @author Oleg Nenashev","path":"core/src/main/java/jenkins/security/csrf/CSRFAdministrativeMonitor.java","position":null,"original_position":15,"commit_id":"448cfae17c0bf34d6e5f42523b0b97164f2d37f4","original_commit_id":"fad4f1436e630e3c519dc91480576c84786c260a","user":{"login":"Wadeck","id":2662497,"avatar_url":"https://avatars1.githubusercontent.com/u/2662497?v=4","gravatar_id":"","url":"https://api.github.com/users/Wadeck","html_url":"https://github.com/Wadeck","followers_url":"https://api.github.com/users/Wadeck/followers","following_url":"https://api.github.com/users/Wadeck/following{/other_user}","gists_url":"https://api.github.com/users/Wadeck/gists{/gist_id}","starred_url":"https://api.github.com/users/Wadeck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wadeck/subscriptions","organizations_url":"https://api.github.com/users/Wadeck/orgs","repos_url":"https://api.github.com/users/Wadeck/repos","events_url":"https://api.github.com/users/Wadeck/events{/privacy}","received_events_url":"https://api.github.com/users/Wadeck/received_events","type":"User","site_admin":false},"body":"removed as requested","created_at":"2017-10-11T08:58:43Z","updated_at":"2017-10-11T08:58:43Z","html_url":"https://github.com/jenkinsci/jenkins/pull/3072#discussion_r143949594","pull_request_url":"https://api.github.com/repos/jenkinsci/jenkins/pulls/3072","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/jenkinsci/jenkins/pulls/comments/143949594"},"html":{"href":"https://github.com/jenkinsci/jenkins/pull/3072#discussion_r143949594"},"pull_request":{"href":"https://api.github.com/repos/jenkinsci/jenkins/pulls/3072"}},"in_reply_to_id":143753573},"pull_request":{"url":"https://api.github.com/repos/jenkinsci/jenkins/pulls/3072","id":145708376,"html_url":"https://github.com/jenkinsci/jenkins/pull/3072","diff_url":"https://github.com/jenkinsci/jenkins/pull/3072.diff","patch_url":"https://github.com/jenkinsci/jenkins/pull/3072.patch","issue_url":"https://api.github.com/repos/jenkinsci/jenkins/issues/3072","number":3072,"state":"open","locked":false,"title":"[JENKINS-47372] Add a new Administrative monitor for CSRF-protection","user":{"login":"Wadeck","id":2662497,"avatar_url":"https://avatars1.githubusercontent.com/u/2662497?v=4","gravatar_id":"","url":"https://api.github.com/users/Wadeck","html_url":"https://github.com/Wadeck","followers_url":"https://api.github.com/users/Wadeck/followers","following_url":"https://api.github.com/users/Wadeck/following{/other_user}","gists_url":"https://api.github.com/users/Wadeck/gists{/gist_id}","starred_url":"https://api.github.com/users/Wadeck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wadeck/subscriptions","organizations_url":"https://api.github.com/users/Wadeck/orgs","repos_url":"https://api.github.com/users/Wadeck/repos","events_url":"https://api.github.com/users/Wadeck/events{/privacy}","received_events_url":"https://api.github.com/users/Wadeck/received_events","type":"User","site_admin":false},"body":"Add administrative monitor when there is no CSRF issuer configured.\r\n\r\nSee [JENKINS-47372](https://issues.jenkins-ci.org/browse/JENKINS-47372).\r\n\r\n### Proposed changelog entries\r\n\r\n* Add new administrative monitor to ensure CSRF is enabled.\r\n\r\n### Submitter checklist\r\n\r\n- [x] JIRA issue is well described\r\n- [x] Changelog entry appropriate for the audience affected by the change (users or developer, depending on the change). [Examples](https://github.com/jenkins-infra/jenkins.io/blob/master/content/_data/changelogs/weekly.yml)\r\n      * Use the `Internal: ` prefix if the change has no user-visible impact (API, test frameworks, etc.)\r\n- [x] Appropriate autotests or explanation to why this change has no tests\r\n- [x] For dependency updates: links to external changelogs and, if possible, full diffs\r\n\r\n<!-- For new API and extension points: Link to the reference implementation in open-source (or example in Javadoc) -->\r\n\r\n### Desired reviewers\r\n\r\n@reviewbybees\r\n\r\n<!-- Comment:\r\nIf you need an accelerated review process by the community (e.g., for critical bugs), mention @jenkinsci/code-reviewers\r\n-->\r\n\r\nScreenshot of the message in action:\r\n![csrf_administrative_monitor_popup](https://user-images.githubusercontent.com/2662497/31395605-6788b172-ade1-11e7-9d99-b322eee3eb34.PNG)\r\n","created_at":"2017-10-10T14:27:20Z","updated_at":"2017-10-11T08:58:43Z","closed_at":null,"merged_at":null,"merge_commit_sha":"344bcb73b63854e4e3d606a98b0fc9956ca24a98","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/jenkinsci/jenkins/pulls/3072/commits","review_comments_url":"https://api.github.com/repos/jenkinsci/jenkins/pulls/3072/comments","review_comment_url":"https://api.github.com/repos/jenkinsci/jenkins/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jenkinsci/jenkins/issues/3072/comments","statuses_url":"https://api.github.com/repos/jenkinsci/jenkins/statuses/448cfae17c0bf34d6e5f42523b0b97164f2d37f4","head":{"label":"Wadeck:JENKINS-47372_CSRF_ADMIN_MONITOR","ref":"JENKINS-47372_CSRF_ADMIN_MONITOR","sha":"448cfae17c0bf34d6e5f42523b0b97164f2d37f4","user":{"login":"Wadeck","id":2662497,"avatar_url":"https://avatars1.githubusercontent.com/u/2662497?v=4","gravatar_id":"","url":"https://api.github.com/users/Wadeck","html_url":"https://github.com/Wadeck","followers_url":"https://api.github.com/users/Wadeck/followers","following_url":"https://api.github.com/users/Wadeck/following{/other_user}","gists_url":"https://api.github.com/users/Wadeck/gists{/gist_id}","starred_url":"https://api.github.com/users/Wadeck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wadeck/subscriptions","organizations_url":"https://api.github.com/users/Wadeck/orgs","repos_url":"https://api.github.com/users/Wadeck/repos","events_url":"https://api.github.com/users/Wadeck/events{/privacy}","received_events_url":"https://api.github.com/users/Wadeck/received_events","type":"User","site_admin":false},"repo":{"id":106254165,"name":"jenkins","full_name":"Wadeck/jenkins","owner":{"login":"Wadeck","id":2662497,"avatar_url":"https://avatars1.githubusercontent.com/u/2662497?v=4","gravatar_id":"","url":"https://api.github.com/users/Wadeck","html_url":"https://github.com/Wadeck","followers_url":"https://api.github.com/users/Wadeck/followers","following_url":"https://api.github.com/users/Wadeck/following{/other_user}","gists_url":"https://api.github.com/users/Wadeck/gists{/gist_id}","starred_url":"https://api.github.com/users/Wadeck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wadeck/subscriptions","organizations_url":"https://api.github.com/users/Wadeck/orgs","repos_url":"https://api.github.com/users/Wadeck/repos","events_url":"https://api.github.com/users/Wadeck/events{/privacy}","received_events_url":"https://api.github.com/users/Wadeck/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Wadeck/jenkins","description":"Jenkins automation server","fork":true,"url":"https://api.github.com/repos/Wadeck/jenkins","forks_url":"https://api.github.com/repos/Wadeck/jenkins/forks","keys_url":"https://api.github.com/repos/Wadeck/jenkins/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wadeck/jenkins/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wadeck/jenkins/teams","hooks_url":"https://api.github.com/repos/Wadeck/jenkins/hooks","issue_events_url":"https://api.github.com/repos/Wadeck/jenkins/issues/events{/number}","events_url":"https://api.github.com/repos/Wadeck/jenkins/events","assignees_url":"https://api.github.com/repos/Wadeck/jenkins/assignees{/user}","branches_url":"https://api.github.com/repos/Wadeck/jenkins/branches{/branch}","tags_url":"https://api.github.com/repos/Wadeck/jenkins/tags","blobs_url":"https://api.github.com/repos/Wadeck/jenkins/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wadeck/jenkins/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wadeck/jenkins/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wadeck/jenkins/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wadeck/jenkins/statuses/{sha}","languages_url":"https://api.github.com/repos/Wadeck/jenkins/languages","stargazers_url":"https://api.github.com/repos/Wadeck/jenkins/stargazers","contributors_url":"https://api.github.com/repos/Wadeck/jenkins/contributors","subscribers_url":"https://api.github.com/repos/Wadeck/jenkins/subscribers","subscription_url":"https://api.github.com/repos/Wadeck/jenkins/subscription","commits_url":"https://api.github.com/repos/Wadeck/jenkins/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wadeck/jenkins/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wadeck/jenkins/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wadeck/jenkins/issues/comments{/number}","contents_url":"https://api.github.com/repos/Wadeck/jenkins/contents/{+path}","compare_url":"https://api.github.com/repos/Wadeck/jenkins/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wadeck/jenkins/merges","archive_url":"https://api.github.com/repos/Wadeck/jenkins/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wadeck/jenkins/downloads","issues_url":"https://api.github.com/repos/Wadeck/jenkins/issues{/number}","pulls_url":"https://api.github.com/repos/Wadeck/jenkins/pulls{/number}","milestones_url":"https://api.github.com/repos/Wadeck/jenkins/milestones{/number}","notifications_url":"https://api.github.com/repos/Wadeck/jenkins/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wadeck/jenkins/labels{/name}","releases_url":"https://api.github.com/repos/Wadeck/jenkins/releases{/id}","deployments_url":"https://api.github.com/repos/Wadeck/jenkins/deployments","created_at":"2017-10-09T08:05:09Z","updated_at":"2017-10-09T08:05:41Z","pushed_at":"2017-10-11T08:54:21Z","git_url":"git://github.com/Wadeck/jenkins.git","ssh_url":"git@github.com:Wadeck/jenkins.git","clone_url":"https://github.com/Wadeck/jenkins.git","svn_url":"https://github.com/Wadeck/jenkins","homepage":"https://jenkins.io/","size":103389,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":false,"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":"jenkinsci:master","ref":"master","sha":"f81af786706e0680043ada9c9a7777edf66d47e9","user":{"login":"jenkinsci","id":107424,"avatar_url":"https://avatars0.githubusercontent.com/u/107424?v=4","gravatar_id":"","url":"https://api.github.com/users/jenkinsci","html_url":"https://github.com/jenkinsci","followers_url":"https://api.github.com/users/jenkinsci/followers","following_url":"https://api.github.com/users/jenkinsci/following{/other_user}","gists_url":"https://api.github.com/users/jenkinsci/gists{/gist_id}","starred_url":"https://api.github.com/users/jenkinsci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jenkinsci/subscriptions","organizations_url":"https://api.github.com/users/jenkinsci/orgs","repos_url":"https://api.github.com/users/jenkinsci/repos","events_url":"https://api.github.com/users/jenkinsci/events{/privacy}","received_events_url":"https://api.github.com/users/jenkinsci/received_events","type":"Organization","site_admin":false},"repo":{"id":1103607,"name":"jenkins","full_name":"jenkinsci/jenkins","owner":{"login":"jenkinsci","id":107424,"avatar_url":"https://avatars0.githubusercontent.com/u/107424?v=4","gravatar_id":"","url":"https://api.github.com/users/jenkinsci","html_url":"https://github.com/jenkinsci","followers_url":"https://api.github.com/users/jenkinsci/followers","following_url":"https://api.github.com/users/jenkinsci/following{/other_user}","gists_url":"https://api.github.com/users/jenkinsci/gists{/gist_id}","starred_url":"https://api.github.com/users/jenkinsci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jenkinsci/subscriptions","organizations_url":"https://api.github.com/users/jenkinsci/orgs","repos_url":"https://api.github.com/users/jenkinsci/repos","events_url":"https://api.github.com/users/jenkinsci/events{/privacy}","received_events_url":"https://api.github.com/users/jenkinsci/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/jenkinsci/jenkins","description":"Jenkins automation server","fork":true,"url":"https://api.github.com/repos/jenkinsci/jenkins","forks_url":"https://api.github.com/repos/jenkinsci/jenkins/forks","keys_url":"https://api.github.com/repos/jenkinsci/jenkins/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jenkinsci/jenkins/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jenkinsci/jenkins/teams","hooks_url":"https://api.github.com/repos/jenkinsci/jenkins/hooks","issue_events_url":"https://api.github.com/repos/jenkinsci/jenkins/issues/events{/number}","events_url":"https://api.github.com/repos/jenkinsci/jenkins/events","assignees_url":"https://api.github.com/repos/jenkinsci/jenkins/assignees{/user}","branches_url":"https://api.github.com/repos/jenkinsci/jenkins/branches{/branch}","tags_url":"https://api.github.com/repos/jenkinsci/jenkins/tags","blobs_url":"https://api.github.com/repos/jenkinsci/jenkins/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jenkinsci/jenkins/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jenkinsci/jenkins/git/refs{/sha}","trees_url":"https://api.github.com/repos/jenkinsci/jenkins/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jenkinsci/jenkins/statuses/{sha}","languages_url":"https://api.github.com/repos/jenkinsci/jenkins/languages","stargazers_url":"https://api.github.com/repos/jenkinsci/jenkins/stargazers","contributors_url":"https://api.github.com/repos/jenkinsci/jenkins/contributors","subscribers_url":"https://api.github.com/repos/jenkinsci/jenkins/subscribers","subscription_url":"https://api.github.com/repos/jenkinsci/jenkins/subscription","commits_url":"https://api.github.com/repos/jenkinsci/jenkins/commits{/sha}","git_commits_url":"https://api.github.com/repos/jenkinsci/jenkins/git/commits{/sha}","comments_url":"https://api.github.com/repos/jenkinsci/jenkins/comments{/number}","issue_comment_url":"https://api.github.com/repos/jenkinsci/jenkins/issues/comments{/number}","contents_url":"https://api.github.com/repos/jenkinsci/jenkins/contents/{+path}","compare_url":"https://api.github.com/repos/jenkinsci/jenkins/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jenkinsci/jenkins/merges","archive_url":"https://api.github.com/repos/jenkinsci/jenkins/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jenkinsci/jenkins/downloads","issues_url":"https://api.github.com/repos/jenkinsci/jenkins/issues{/number}","pulls_url":"https://api.github.com/repos/jenkinsci/jenkins/pulls{/number}","milestones_url":"https://api.github.com/repos/jenkinsci/jenkins/milestones{/number}","notifications_url":"https://api.github.com/repos/jenkinsci/jenkins/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jenkinsci/jenkins/labels{/name}","releases_url":"https://api.github.com/repos/jenkinsci/jenkins/releases{/id}","deployments_url":"https://api.github.com/repos/jenkinsci/jenkins/deployments","created_at":"2010-11-22T21:21:23Z","updated_at":"2017-10-11T08:37:57Z","pushed_at":"2017-10-11T08:54:27Z","git_url":"git://github.com/jenkinsci/jenkins.git","ssh_url":"git@github.com:jenkinsci/jenkins.git","clone_url":"https://github.com/jenkinsci/jenkins.git","svn_url":"https://github.com/jenkinsci/jenkins","homepage":"https://jenkins.io/","size":103385,"stargazers_count":9180,"watchers_count":9180,"language":"Java","has_issues":false,"has_projects":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":3643,"mirror_url":null,"open_issues_count":138,"forks":3643,"open_issues":138,"watchers":9180,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jenkinsci/jenkins/pulls/3072"},"html":{"href":"https://github.com/jenkinsci/jenkins/pull/3072"},"issue":{"href":"https://api.github.com/repos/jenkinsci/jenkins/issues/3072"},"comments":{"href":"https://api.github.com/repos/jenkinsci/jenkins/issues/3072/comments"},"review_comments":{"href":"https://api.github.com/repos/jenkinsci/jenkins/pulls/3072/comments"},"review_comment":{"href":"https://api.github.com/repos/jenkinsci/jenkins/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jenkinsci/jenkins/pulls/3072/commits"},"statuses":{"href":"https://api.github.com/repos/jenkinsci/jenkins/statuses/448cfae17c0bf34d6e5f42523b0b97164f2d37f4"}},"author_association":"NONE"}}
{"actor":{"display_login":"Wadeck"}}