community.general.github_release – Interact with GitHub Releases

Note

This plugin is part of the community.general collection.

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.github_release.

Synopsis

  • Fetch metadata about GitHub Releases

Requirements

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

  • github3.py >= 1.0.0a3

Parameters

Parameter Choices/Defaults Comments
action
string / required
    Choices:
  • latest_release
  • create_release
Action to perform
body
string
Description of the release when creating a release
draft
boolean
    Choices:
  • no ←
  • yes
Sets if the release is a draft or not. (boolean)
name
string
Name of release when creating a release
password
string
The GitHub account password for the user. Mutually exclusive with token.
prerelease
boolean
    Choices:
  • no ←
  • yes
Sets if the release is a prerelease or not. (boolean)
repo
string / required
Repository name
tag
string
Tag name when creating a release. Required when using action is set to create_release.
target
string
Target of release when creating a release
token
string
GitHub Personal Access Token for authenticating. Mutually exclusive with password.
user
string / required
The GitHub account that owns the repository

Examples

- name: Get latest release of a public repository
  community.general.github_release:
    user: ansible
    repo: ansible
    action: latest_release

- name: Get latest release of testuseer/testrepo
  community.general.github_release:
    token: tokenabc1234567890
    user: testuser
    repo: testrepo
    action: latest_release

- name: Get latest release of test repo using username and password. Ansible 2.4.
  community.general.github_release:
    user: testuser
    password: secret123
    repo: testrepo
    action: latest_release

- name: Create a new release
  community.general.github_release:
    token: tokenabc1234567890
    user: testuser
    repo: testrepo
    action: create_release
    tag: test
    target: master
    name: My Release
    body: Some description

Return Values

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

Key Returned Description
create_release
string
success
Version of the created release
For Ansible version 2.5 and later, if specified release version already exists, then State is unchanged
For Ansible versions prior to 2.5, if specified release version already exists, then State is skipped

Sample:
1.1.0
latest_release
string
success
Version of the latest release

Sample:
1.1.0


Authors

  • Adrian Moisey (@adrianmoisey)