community.general.github_release module – Interact with GitHub Releases

Note

This module is part of the community.general collection (version 8.3.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general. You need further requirements to be able to use this module, see Requirements for details.

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

Synopsis

  • Fetch metadata about GitHub Releases

Aliases: source_control.github.github_release

Requirements

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

  • github3.py >= 1.0.0a3

Parameters

Parameter

Comments

action

string / required

Action to perform

Choices:

  • "latest_release"

  • "create_release"

body

string

Description of the release when creating a release

draft

boolean

Sets if the release is a draft or not. (boolean)

Choices:

  • false ← (default)

  • true

name

string

Name of release when creating a release

password

string

The GitHub account password for the user. Mutually exclusive with token.

prerelease

boolean

Sets if the release is a prerelease or not. (boolean)

Choices:

  • false ← (default)

  • true

repo

string / required

Repository name

tag

string

Tag name when creating a release. Required when using action=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

Attributes

Attribute

Support

Description

check_mode

Support: full

Can run in check_mode and return changed status prediction without modifying target.

diff_mode

Support: none

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode.

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
  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

Description

tag

string

Version of the created/latest release.

Returned: success

Sample: "1.1.0"

Authors

  • Adrian Moisey (@adrianmoisey)