ansible-lint-to-junit-xml 0.1.0

Creator: coderz1093

Last updated:

Add to Cart

Description:

ansiblelinttojunitxml 0.1.0

Convert ansible-lint outputs to a jUnit valid xml tests result file.

Quickstart
Install ansible-lint-to-junit-xml in your preferred Python env
pip install ansible-lint-to-junit-xml
Run ansible-lint on the desired files and pipe to ansible-lint-to-junit-xml
ansible-lint -q -p <file or directly> | ansible-lint-to-junit-xml > results/ansible-lint-results.xml
Alternatively you can run ansible-lint separately from ansible-lint-to-junit-xml and use a file to pass the output
ansible-lint -q -p <file or directly> > ansible-lint-results.txt
ansible-lint-to-junit-xml ansible-lint-results.txt > results/ansible-lint-results.xml
Note: ansible-lint must run with -p for the output to be machine parsable


Features

Pipe output directly from ansible-lint call
Output XML file is compliant with jenkins junit5 Schema.
Built using Nekroze/cookiecutter-pypackage
This project appeared as an alternative to wasilak’s ansible-lint-junit.



Example
Running ansible-lint on a file results in:
playbooks/test_playbook.yml:41: [E303] curl used in place of get_url or uri module
playbooks/tasks/example_task.yml:28: [E601] Don't compare to literal True/False
Running ansible-lint and piping the output to ansible-lint-to-junit-xml looks line this:
ansible-lint -q -p playbooks/test_playbook.yml | ansible-lint-to-junit-xml
Would result in:
<?xml version="1.0" ?>
<testsuites>
<testsuite errors="2" name="ansible-lint" tests="2">
<testcase name="[E303] curl used in place of get_url or uri module">
<failure message="playbooks/test_playbook.yml:41: [E303] curl used in place of get_url or uri module" type="ansible-lint">
ansible-lint error: [E303] curl used in place of get_url or uri module
ansible-lint error description: [E303] curl used in place of get_url or uri module
filename: playbooks/test_playbook.yml
line nr: 41
</failure>
</testcase>
<testcase name="[E601] Don't compare to literal True/False">
<failure message="playbooks/tasks/example_task.yml:28: [E601] Don't compare to literal True/False" type="ansible-lint">
ansible-lint error: [E601] Don't compare to literal True/False
ansible-lint error description: [E601] Don't compare to literal True/False
filename: playbooks/tasks/example_task.yml
line nr: 28
</failure>
</testcase>
</testsuite>
</testsuites>


Documentation
The full documentation is at http://ansible-lint-to-junit-xml.rtfd.org.


History
0.1.0 (2019-07-30)

First release on PyPI.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.