{"action":"created","comment":{"url":"https://api.github.com/repos/ansible/ansible/pulls/comments/175247208","pull_request_review_id":104755878,"id":175247208,"diff_hunk":"@@ -0,0 +1,146 @@\n+#!/usr/bin/python\n+#\n+# Copyright: (c) Ansible Project\n+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)\n+\n+from __future__ import (absolute_import, division, print_function)\n+__metaclass__ = type\n+\n+ANSIBLE_METADATA = {\n+    'metadata_version': '1.1',\n+    'status': ['preview'],\n+    'supported_by': 'community'\n+}\n+\n+DOCUMENTATION = '''\n+---\n+module: github_webhook_facts\n+short_description: Query information about Github webhooks","path":"lib/ansible/modules/source_control/github_webhook_facts.py","position":18,"original_position":18,"commit_id":"7f2c5b628226e1d283bef4712754e634e0c96cc1","original_commit_id":"7f2c5b628226e1d283bef4712754e634e0c96cc1","user":{"login":"Akasurde","id":633765,"avatar_url":"https://avatars1.githubusercontent.com/u/633765?v=4","gravatar_id":"","url":"https://api.github.com/users/Akasurde","html_url":"https://github.com/Akasurde","followers_url":"https://api.github.com/users/Akasurde/followers","following_url":"https://api.github.com/users/Akasurde/following{/other_user}","gists_url":"https://api.github.com/users/Akasurde/gists{/gist_id}","starred_url":"https://api.github.com/users/Akasurde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akasurde/subscriptions","organizations_url":"https://api.github.com/users/Akasurde/orgs","repos_url":"https://api.github.com/users/Akasurde/repos","events_url":"https://api.github.com/users/Akasurde/events{/privacy}","received_events_url":"https://api.github.com/users/Akasurde/received_events","type":"User","site_admin":false},"body":"s/Github/GitHub/","created_at":"2018-03-17T04:01:12Z","updated_at":"2018-03-17T04:11:01Z","html_url":"https://github.com/ansible/ansible/pull/35814#discussion_r175247208","pull_request_url":"https://api.github.com/repos/ansible/ansible/pulls/35814","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/ansible/ansible/pulls/comments/175247208"},"html":{"href":"https://github.com/ansible/ansible/pull/35814#discussion_r175247208"},"pull_request":{"href":"https://api.github.com/repos/ansible/ansible/pulls/35814"}}},"pull_request":{"url":"https://api.github.com/repos/ansible/ansible/pulls/35814","id":167544954,"html_url":"https://github.com/ansible/ansible/pull/35814","diff_url":"https://github.com/ansible/ansible/pull/35814.diff","patch_url":"https://github.com/ansible/ansible/pull/35814.patch","issue_url":"https://api.github.com/repos/ansible/ansible/issues/35814","number":35814,"state":"open","locked":false,"title":"Add github_webhook_facts module","user":{"login":"stpierre","id":632407,"avatar_url":"https://avatars3.githubusercontent.com/u/632407?v=4","gravatar_id":"","url":"https://api.github.com/users/stpierre","html_url":"https://github.com/stpierre","followers_url":"https://api.github.com/users/stpierre/followers","following_url":"https://api.github.com/users/stpierre/following{/other_user}","gists_url":"https://api.github.com/users/stpierre/gists{/gist_id}","starred_url":"https://api.github.com/users/stpierre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stpierre/subscriptions","organizations_url":"https://api.github.com/users/stpierre/orgs","repos_url":"https://api.github.com/users/stpierre/repos","events_url":"https://api.github.com/users/stpierre/events{/privacy}","received_events_url":"https://api.github.com/users/stpierre/received_events","type":"User","site_admin":false},"body":"##### SUMMARY\r\n\r\n`github_webhook_facts` gathers information about Github webhooks.\r\n\r\nThis is part of a two-part replacement for `github_hooks`, which lacks a number of important features and has a strange interface.\r\n\r\nThe other parts are:\r\n\r\n* Add `github_webhook` module: https://github.com/ansible/ansible/pull/35813\r\n* Deprecate `github_hooks` module: https://github.com/ansible/ansible/pull/35815\r\n\r\n`github_hooks` lacks a number of important features: The ability to specify the events on which a webhook should fire; the ability to add a shared secret to a hook; the ability to create hooks that do not verify SSL against their target; and more. I considered merely updating that module to add the features needed, but the existing interface is pretty odd and would be difficult to update in a backwards-compatible way. For instance, it has a built-in feature for deleting all hooks whose last request returned 504 (`action: clean504`), but no way to update an existing hook, or delete a specific hook. It requires you to provide the API URL to a repository, rather than just the name of the repo (and optionally a Github API base), which requires a fair degree of familiarity with the Github API.\r\n\r\nIt has other issues that are easier to fix, but still weighed in on my decision to replace rather than upgrade: it rolls its own API client layer rather than using an existing library; it appears to support both password and API token auth, but only accepts a single `oauthkey` argument, which is a misnomer in both cases.\r\n\r\nRather than try to update it and fix all of the issues, I replaced it with two modules whose usage patterns are, I hope, much more intuitive.\r\n\r\n##### ISSUE TYPE\r\n\r\n - New Module Pull Request\r\n\r\n##### COMPONENT NAME\r\ngithub_webhook_facts\r\n\r\n##### ANSIBLE VERSION\r\n```\r\nansible 2.5.0 (github-webhook-facts-module 0192267b05) last updated 2018/02/06 16:11:06 (GMT -500)\r\n  config file = None\r\n  configured module search path = [u'/home/stpierre/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']\r\n  ansible python module location = /home/stpierre/devel/ansible/lib/ansible\r\n  executable location = /home/stpierre/devel/ansible/bin/ansible\r\n  python version = 2.7.14 (default, Jan 17 2018, 14:28:32) [GCC 7.2.1 20170915 (Red Hat 7.2.1-2)]\r\n```\r\n","created_at":"2018-02-06T22:17:26Z","updated_at":"2018-03-17T04:11:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bcbe721bd5c11087ed6e9b2480596e3436a1cf2c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":501518759,"url":"https://api.github.com/repos/ansible/ansible/labels/community_review","name":"community_review","color":"f9d0c4","default":false},{"id":496359346,"url":"https://api.github.com/repos/ansible/ansible/labels/module","name":"module","color":"1d76db","default":false},{"id":473225334,"url":"https://api.github.com/repos/ansible/ansible/labels/new_module","name":"new_module","color":"ededed","default":false},{"id":153577825,"url":"https://api.github.com/repos/ansible/ansible/labels/new_plugin","name":"new_plugin","color":"bfe5bf","default":false},{"id":636327968,"url":"https://api.github.com/repos/ansible/ansible/labels/support:community","name":"support:community","color":"ededed","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/ansible/ansible/pulls/35814/commits","review_comments_url":"https://api.github.com/repos/ansible/ansible/pulls/35814/comments","review_comment_url":"https://api.github.com/repos/ansible/ansible/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ansible/ansible/issues/35814/comments","statuses_url":"https://api.github.com/repos/ansible/ansible/statuses/7f2c5b628226e1d283bef4712754e634e0c96cc1","head":{"label":"stpierre:github-webhook-facts-module","ref":"github-webhook-facts-module","sha":"7f2c5b628226e1d283bef4712754e634e0c96cc1","user":{"login":"stpierre","id":632407,"avatar_url":"https://avatars3.githubusercontent.com/u/632407?v=4","gravatar_id":"","url":"https://api.github.com/users/stpierre","html_url":"https://github.com/stpierre","followers_url":"https://api.github.com/users/stpierre/followers","following_url":"https://api.github.com/users/stpierre/following{/other_user}","gists_url":"https://api.github.com/users/stpierre/gists{/gist_id}","starred_url":"https://api.github.com/users/stpierre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stpierre/subscriptions","organizations_url":"https://api.github.com/users/stpierre/orgs","repos_url":"https://api.github.com/users/stpierre/repos","events_url":"https://api.github.com/users/stpierre/events{/privacy}","received_events_url":"https://api.github.com/users/stpierre/received_events","type":"User","site_admin":false},"repo":{"id":59766569,"name":"ansible","full_name":"stpierre/ansible","owner":{"login":"stpierre","id":632407,"avatar_url":"https://avatars3.githubusercontent.com/u/632407?v=4","gravatar_id":"","url":"https://api.github.com/users/stpierre","html_url":"https://github.com/stpierre","followers_url":"https://api.github.com/users/stpierre/followers","following_url":"https://api.github.com/users/stpierre/following{/other_user}","gists_url":"https://api.github.com/users/stpierre/gists{/gist_id}","starred_url":"https://api.github.com/users/stpierre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stpierre/subscriptions","organizations_url":"https://api.github.com/users/stpierre/orgs","repos_url":"https://api.github.com/users/stpierre/repos","events_url":"https://api.github.com/users/stpierre/events{/privacy}","received_events_url":"https://api.github.com/users/stpierre/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/stpierre/ansible","description":"Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications— automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.","fork":true,"url":"https://api.github.com/repos/stpierre/ansible","forks_url":"https://api.github.com/repos/stpierre/ansible/forks","keys_url":"https://api.github.com/repos/stpierre/ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/stpierre/ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/stpierre/ansible/teams","hooks_url":"https://api.github.com/repos/stpierre/ansible/hooks","issue_events_url":"https://api.github.com/repos/stpierre/ansible/issues/events{/number}","events_url":"https://api.github.com/repos/stpierre/ansible/events","assignees_url":"https://api.github.com/repos/stpierre/ansible/assignees{/user}","branches_url":"https://api.github.com/repos/stpierre/ansible/branches{/branch}","tags_url":"https://api.github.com/repos/stpierre/ansible/tags","blobs_url":"https://api.github.com/repos/stpierre/ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/stpierre/ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/stpierre/ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/stpierre/ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/stpierre/ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/stpierre/ansible/languages","stargazers_url":"https://api.github.com/repos/stpierre/ansible/stargazers","contributors_url":"https://api.github.com/repos/stpierre/ansible/contributors","subscribers_url":"https://api.github.com/repos/stpierre/ansible/subscribers","subscription_url":"https://api.github.com/repos/stpierre/ansible/subscription","commits_url":"https://api.github.com/repos/stpierre/ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/stpierre/ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/stpierre/ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/stpierre/ansible/issues/comments{/number}","contents_url":"https://api.github.com/repos/stpierre/ansible/contents/{+path}","compare_url":"https://api.github.com/repos/stpierre/ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/stpierre/ansible/merges","archive_url":"https://api.github.com/repos/stpierre/ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/stpierre/ansible/downloads","issues_url":"https://api.github.com/repos/stpierre/ansible/issues{/number}","pulls_url":"https://api.github.com/repos/stpierre/ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/stpierre/ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/stpierre/ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/stpierre/ansible/labels{/name}","releases_url":"https://api.github.com/repos/stpierre/ansible/releases{/id}","deployments_url":"https://api.github.com/repos/stpierre/ansible/deployments","created_at":"2016-05-26T16:36:00Z","updated_at":"2016-05-26T16:36:09Z","pushed_at":"2018-03-16T19:01:16Z","git_url":"git://github.com/stpierre/ansible.git","ssh_url":"git@github.com:stpierre/ansible.git","clone_url":"https://github.com/stpierre/ansible.git","svn_url":"https://github.com/stpierre/ansible","homepage":"http://ansible.com/","size":107944,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"devel"}},"base":{"label":"ansible:devel","ref":"devel","sha":"872a7b4a7a54133f8a060d6fc6050d195d08c780","user":{"login":"ansible","id":1507452,"avatar_url":"https://avatars2.githubusercontent.com/u/1507452?v=4","gravatar_id":"","url":"https://api.github.com/users/ansible","html_url":"https://github.com/ansible","followers_url":"https://api.github.com/users/ansible/followers","following_url":"https://api.github.com/users/ansible/following{/other_user}","gists_url":"https://api.github.com/users/ansible/gists{/gist_id}","starred_url":"https://api.github.com/users/ansible/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ansible/subscriptions","organizations_url":"https://api.github.com/users/ansible/orgs","repos_url":"https://api.github.com/users/ansible/repos","events_url":"https://api.github.com/users/ansible/events{/privacy}","received_events_url":"https://api.github.com/users/ansible/received_events","type":"Organization","site_admin":false},"repo":{"id":3638964,"name":"ansible","full_name":"ansible/ansible","owner":{"login":"ansible","id":1507452,"avatar_url":"https://avatars2.githubusercontent.com/u/1507452?v=4","gravatar_id":"","url":"https://api.github.com/users/ansible","html_url":"https://github.com/ansible","followers_url":"https://api.github.com/users/ansible/followers","following_url":"https://api.github.com/users/ansible/following{/other_user}","gists_url":"https://api.github.com/users/ansible/gists{/gist_id}","starred_url":"https://api.github.com/users/ansible/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ansible/subscriptions","organizations_url":"https://api.github.com/users/ansible/orgs","repos_url":"https://api.github.com/users/ansible/repos","events_url":"https://api.github.com/users/ansible/events{/privacy}","received_events_url":"https://api.github.com/users/ansible/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ansible/ansible","description":"Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications— automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.","fork":false,"url":"https://api.github.com/repos/ansible/ansible","forks_url":"https://api.github.com/repos/ansible/ansible/forks","keys_url":"https://api.github.com/repos/ansible/ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ansible/ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ansible/ansible/teams","hooks_url":"https://api.github.com/repos/ansible/ansible/hooks","issue_events_url":"https://api.github.com/repos/ansible/ansible/issues/events{/number}","events_url":"https://api.github.com/repos/ansible/ansible/events","assignees_url":"https://api.github.com/repos/ansible/ansible/assignees{/user}","branches_url":"https://api.github.com/repos/ansible/ansible/branches{/branch}","tags_url":"https://api.github.com/repos/ansible/ansible/tags","blobs_url":"https://api.github.com/repos/ansible/ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ansible/ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ansible/ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/ansible/ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ansible/ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/ansible/ansible/languages","stargazers_url":"https://api.github.com/repos/ansible/ansible/stargazers","contributors_url":"https://api.github.com/repos/ansible/ansible/contributors","subscribers_url":"https://api.github.com/repos/ansible/ansible/subscribers","subscription_url":"https://api.github.com/repos/ansible/ansible/subscription","commits_url":"https://api.github.com/repos/ansible/ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/ansible/ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/ansible/ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/ansible/ansible/issues/comments{/number}","contents_url":"https://api.github.com/repos/ansible/ansible/contents/{+path}","compare_url":"https://api.github.com/repos/ansible/ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ansible/ansible/merges","archive_url":"https://api.github.com/repos/ansible/ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ansible/ansible/downloads","issues_url":"https://api.github.com/repos/ansible/ansible/issues{/number}","pulls_url":"https://api.github.com/repos/ansible/ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/ansible/ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/ansible/ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ansible/ansible/labels{/name}","releases_url":"https://api.github.com/repos/ansible/ansible/releases{/id}","deployments_url":"https://api.github.com/repos/ansible/ansible/deployments","created_at":"2012-03-06T14:58:02Z","updated_at":"2018-03-17T04:02:15Z","pushed_at":"2018-03-17T04:04:05Z","git_url":"git://github.com/ansible/ansible.git","ssh_url":"git@github.com:ansible/ansible.git","clone_url":"https://github.com/ansible/ansible.git","svn_url":"https://github.com/ansible/ansible","homepage":"https://www.ansible.com/","size":121434,"stargazers_count":29021,"watchers_count":29021,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":10524,"mirror_url":null,"archived":false,"open_issues_count":4930,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0"},"forks":10524,"open_issues":4930,"watchers":29021,"default_branch":"devel"}},"_links":{"self":{"href":"https://api.github.com/repos/ansible/ansible/pulls/35814"},"html":{"href":"https://github.com/ansible/ansible/pull/35814"},"issue":{"href":"https://api.github.com/repos/ansible/ansible/issues/35814"},"comments":{"href":"https://api.github.com/repos/ansible/ansible/issues/35814/comments"},"review_comments":{"href":"https://api.github.com/repos/ansible/ansible/pulls/35814/comments"},"review_comment":{"href":"https://api.github.com/repos/ansible/ansible/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ansible/ansible/pulls/35814/commits"},"statuses":{"href":"https://api.github.com/repos/ansible/ansible/statuses/7f2c5b628226e1d283bef4712754e634e0c96cc1"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"Akasurde"}}