github_webhook – Manage GitHub webhooks

New in version 2.8.

Synopsis

  • Create and delete GitHub webhooks

Requirements

The below requirements are needed on the host that executes this module.

  • PyGithub >= 1.3.5

Parameters

Parameter Choices/Defaults Comments
active
boolean
    Choices:
  • no
  • yes ←
Whether or not the hook is active
content_type
-
    Choices:
  • form ←
  • json
The media type used to serialize the payloads
events
-
A list of GitHub events the hook is triggered for. Events are listed at https://developer.github.com/v3/activity/events/types/. Required unless state is absent
github_url
-
Default:
"https://api.github.com"
Base URL of the GitHub API
insecure_ssl
boolean
    Choices:
  • no ←
  • yes
Flag to indicate that GitHub should skip SSL verification when calling the hook.
password
-
Password to authenticate to GitHub with
repository
- / required
Full name of the repository to configure a hook for

aliases: repo
secret
-
The shared secret between GitHub and the payload URL.
state
-
    Choices:
  • absent
  • present ←
Whether the hook should be present or absent
token
-
Token to authenticate to GitHub with
url
- / required
URL to which payloads will be delivered
user
- / required
User to authenticate to GitHub as

Examples

- name:  create a new webhook that triggers on push (password auth)
  github_webhook:
    repository: ansible/ansible
    url: https://www.example.com/hooks/
    events:
      - push
    user: "{{ github_user }}"
    password: "{{ github_password }}"

- name: create a new webhook in a github enterprise installation with multiple event triggers (token auth)
  github_webhook:
    repository: myorg/myrepo
    url: https://jenkins.example.com/ghprbhook/
    content_type: json
    secret: "{{ github_shared_secret }}"
    insecure_ssl: True
    events:
      - issue_comment
      - pull_request
    user: "{{ github_user }}"
    token: "{{ github_user_api_token }}"
    github_url: https://github.example.com

- name: delete a webhook (password auth)
  github_webhook:
    repository: ansible/ansible
    url: https://www.example.com/hooks/
    state: absent
    user: "{{ github_user }}"
    password: "{{ github_password }}"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
hook_id
integer
when state is 'present'
The GitHub ID of the hook created/updated

Sample:
6206


Status

Authors

  • Chris St. Pierre (@stpierre)

Hint

If you notice any issues in this documentation you can edit this document to improve it.