community.general.jenkins_job – Manage jenkins jobs

Note

This plugin is part of the community.general collection (version 2.5.1).

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

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

Synopsis

  • Manage Jenkins jobs by using Jenkins REST API.

Requirements

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

  • python-jenkins >= 0.4.12

Parameters

Parameter Choices/Defaults Comments
config
string
config in XML format.
Required if job does not yet exist.
Mutually exclusive with enabled.
Considered if state=present.
enabled
boolean
    Choices:
  • no
  • yes
Whether the job should be enabled or disabled.
Mutually exclusive with config.
Considered if state=present.
name
string / required
Name of the Jenkins job.
password
string
Password to authenticate with the Jenkins server.
state
string
    Choices:
  • present ←
  • absent
Attribute that specifies if the job has to be created or deleted.
token
string
API token used to authenticate alternatively to password.
url
string
Default:
"http://localhost:8080"
URL where the Jenkins server is accessible.
user
string
User to authenticate with the Jenkins server.
validate_certs
boolean
added in 2.3.0 of community.general
    Choices:
  • no
  • yes ←
If set to no, the SSL certificates will not be validated. This should only set to no used on personally controlled sites using self-signed certificates as it avoids verifying the source site.
The python-jenkins library only handles this by using the environment variable PYTHONHTTPSVERIFY.

Examples

- name: Create a jenkins job using basic authentication
  community.general.jenkins_job:
    config: "{{ lookup('file', 'templates/test.xml') }}"
    name: test
    password: admin
    url: http://localhost:8080
    user: admin

- name: Create a jenkins job using the token
  community.general.jenkins_job:
    config: "{{ lookup('template', 'templates/test.xml.j2') }}"
    name: test
    token: asdfasfasfasdfasdfadfasfasdfasdfc
    url: http://localhost:8080
    user: admin

- name: Delete a jenkins job using basic authentication
  community.general.jenkins_job:
    name: test
    password: admin
    state: absent
    url: http://localhost:8080
    user: admin

- name: Delete a jenkins job using the token
  community.general.jenkins_job:
    name: test
    token: asdfasfasfasdfasdfadfasfasdfasdfc
    state: absent
    url: http://localhost:8080
    user: admin

- name: Disable a jenkins job using basic authentication
  community.general.jenkins_job:
    name: test
    password: admin
    enabled: False
    url: http://localhost:8080
    user: admin

- name: Disable a jenkins job using the token
  community.general.jenkins_job:
    name: test
    token: asdfasfasfasdfasdfadfasfasdfasdfc
    enabled: False
    url: http://localhost:8080
    user: admin

Return Values

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

Key Returned Description
enabled
boolean
success
Whether the jenkins job is enabled or not.

Sample:
True
name
string
success
Name of the jenkins job.

Sample:
test-job
state
string
success
State of the jenkins job.

Sample:
present
url
string
success
Url to connect to the Jenkins server.

Sample:
https://jenkins.mydomain.com
user
string
success
User used for authentication.

Sample:
admin


Authors

  • Sergio Millan Rodriguez (@sermilrod)