CINXE.COM
Developers | Ansible Documentation
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Developers | Ansible Documentation</title> <meta name="description" content="Ansible Documentation" /> <meta name="author" content="Ansible Community" /> <link rel="canonical" href="https://docs.ansible.com/developers.html"/> <link rel="stylesheet" href="https://static.redhat.com/libs/redhat/redhat-font/2.0.0/webfonts/red-hat-font.css"/> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous"/> <link rel="stylesheet" href="https://docs.ansible.com/static/css/styles.min.css"/> <link rel="stylesheet" href="https://docs.ansible.com/static/css/main.css"> <link rel="stylesheet" href="https://docs.ansible.com/static/css/redhat-footer.css"> </head> <body> <nav class="navbar navbar-expand-md p-1"> <div class="container"> <a href="https://docs.ansible.com/"> <span class="navbar-brand d-flex justify-content-center"> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="28" height="28" viewBox="0 0 28 28" style="enable-background: new 0 0 28 28" xml:space="preserve" class="mr-1"> <style type="text/css"> .ansHeader { fill: #ffffff; } </style> <circle class="ansHeader" cx="14" cy="14" r="13.5" /> <path d="M20.4,19.3L15,6.4c-0.2-0.4-0.5-0.6-0.8-0.6c-0.4,0-0.7,0.2-0.9,0.6L7.5,20.6h2l2.3-5.8l7,5.6c0.3,0.2,0.5,0.3,0.7,0.3c0.5,0,1-0.4,1-1C20.5,19.6,20.4,19.5,20.4,19.3z M14.2,8.7l3.5,8.6l-5.3-4.1L14.2,8.7z"/> </svg> Ansible documentation </span> </a> <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#main-menu" aria-controls="main-menu" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar top"></span> <span class="icon-bar center"></span> <span class="icon-bar bottom"></span> </button> <div class="collapse navbar-collapse" id="main-menu"> <ul class="navbar-nav ml-auto"> <li class="nav-item"> <a class="nav-link" href="https://www.ansible.com/products/automation-platform">Products</a> </li> <li class="nav-item"> <a class="nav-link" href="https://www.ansible.com/blog">Blog</a> </li> <li class="nav-item"> <a class="nav-link" href="https://www.ansible.com/community">Community</a> </li> <li class="nav-item"> <a class="nav-link" href="https://www.ansible.com/resources/webinars-training">Webinars and training</a> </li> <li class="nav-item"> <a class="nav-link" href="https://www.redhat.com/en/technologies/management/ansible/try-it">Try it now</a> </li> </ul> </div> </div> </nav> <nav class="navbar navbar-expand-md p-1 docbar"> <div class="container"> <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#sub-menu" aria-controls="sub-menu" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar top"></span> <span class="icon-bar center"></span> <span class="icon-bar bottom"></span> </button> <div class="collapse navbar-collapse" id="sub-menu"> <ul class="navbar-nav mx-auto p-0"> <li class="nav-item"> <a class="nav-link" href="https://docs.ansible.com/community.html">Join the community</a> </li> <li class="nav-item"> <a class="nav-link" href="https://docs.ansible.com/users.html">Users</a> </li> <li class="nav-item"> <a class="nav-link" href="https://docs.ansible.com/developers.html">Developers</a> </li> <li class="nav-item"> <a class="nav-link" href="https://docs.ansible.com/maintainers.html">Maintainers</a> </li> <li class="nav-item"> <a class="nav-link" href="https://docs.ansible.com/core.html">Ansible core</a> </li> <li class="nav-item"> <a class="nav-link" href="https://docs.ansible.com/ecosystem.html">Ansible ecosystem</a> </li> <li class="nav-item"> <a class="nav-link" href="https://docs.ansible.com/platform.html">Red Hat Ansible Automation Platform</a> </li> </ul> </div> </div> </nav> <!-- <div class="container"> <div class="grid-wrapper"> <div class="width-12-12 width-12-12-m"> <div class="ansible-banner"> <div class="ansible-banner-text"> <p> We want to hear from you! Help us gain insights into the state of the Ansible ecosystem.<br> <a href="https://www.surveymonkey.com/r/P9Q2SNG" target="_blank">Take the Ansible Project Survey 2024</a> </p> </div> </div> </div> </div> </div> --> <div class="container"> <div class="full-width-bg component"> <div class="grid-wrapper"> <div class="width-9-12 width-12-12-m"> <div class="page-title"> <h2>Developers</h2> <p>Extend automation with custom Ansible modules, add functionality to existing modules, or fix bugs to improve existing code.</p> <p class="feedback"><i class="fas fa-comments"></i> Got thoughts or feedback on this site? We want to hear from you! <br /> Join us in the <a href="https://forum.ansible.com/tag/documentation">Ansible Forum</a> or open a <a href="https://github.com/ansible/docsite/issues" target="_blank">GitHub issue</a> in the docsite repository.</p> </div> </div> <!-- Start quicklinks. --> <div class="width-3-12 width-12-12-m"> <div class="quicklinks"> <h2>Quicklinks</h2> <ul class="fa-ul"> <li> <span class="fa-li"><i class="fas fa-book"></i></span> <a href="https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html" target="_blank">Developing modules</a> </li> <li> <span class="fa-li"><i class="fas fa-book"></i></span> <a href="https://docs.ansible.com/ansible/latest/dev_guide/developing_python_3.html" target="_blank">Ansible and Python 3</a> </li> <li> <span class="fa-li"><i class="fas fa-book"></i></span> <a href="https://docs.ansible.com/ansible/latest/dev_guide/developing_api.html" target="_blank">Python API</a> </li> </ul> <hr /> </div> </div> <!-- End quicklinks. --> <!-- Start developer journey. --> <div class="width-6-12 width-12-12-m"> <h3>Start writing code</h3> <div class="btn-group-vertical" role="group" aria-label="Button group that links to Ansible community documentation."> <a class="btn" href="https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html#environment-setup" role="button">Set up your development environment</a> <a class="btn" href="https://docs.ansible.com/ansible/latest/dev_guide/overview_architecture.html" role="button">Learn how Ansible works</a> <a class="btn" href="https://docs.ansible.com/ansible/latest/dev_guide/developing_locally.html" role="button">Write custom modules or plugins</a> </div> </div> <div class="width-6-12 width-12-12-m"> <h3>Contribute code to a collection</h3> <div class="btn-group-vertical" role="group" aria-label="Button group that links to Ansible community documentation."> <a class="btn" href="https://docs.ansible.com/ansible/latest/community/contributor_path.html#making-your-first-contribution" role="button">Make your first contribution</a> <a class="btn" href="https://docs.ansible.com/ansible/latest/community/contributions_collections.html" role="button">Explore the Collection contributor guide</a> <a class="btn" href="https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_checklist.html" role="button">Contribute your module to an existing collection</a> <a class="btn" href="https://docs.ansible.com/ansible/latest/dev_guide/module_lifecycle.html" role="button">Review the lifecycle of an Ansible module or plugin</a> </div> </div> <div class="width-6-12 width-12-12-m"> <h3>Test plugins and modules</h3> <div class="btn-group-vertical" role="group" aria-label="Button group that links to Ansible community documentation."> <a class="btn" href="https://docs.ansible.com/ansible/latest/dev_guide/testing.html#why-test-your-ansible-contributions" role="button">Understand testing in Ansible</a> <a class="btn" href="https://docs.ansible.com/ansible/latest/dev_guide/testing_sanity.html" role="button">Run sanity tests</a> <a class="btn" href="https://docs.ansible.com/ansible/latest/dev_guide/testing_integration.html#testing-integration" role="button">Write integration tests</a> <a class="btn" href="https://docs.ansible.com/ansible/latest/dev_guide/testing_units.html#testing-units" role="button">Write unit tests</a> </div> </div> <div class="width-6-12 width-12-12-m"> <h3>Create new collections</h3> <div class="btn-group-vertical" role="group" aria-label="Button group that links to Ansible community documentation."> <a class="btn" href="https://docs.ansible.com/ansible/latest/dev_guide/developing_collections_creating.html#creating-collections-skeleton" role="button">Set things up with the collection skeleton</a> <a class="btn" href="https://docs.ansible.com/ansible/latest/dev_guide/developing_collections_testing.html" role="button">Test your collection for code quality</a> <a class="btn" href="https://docs.ansible.com/ansible/devel/dev_guide/developing_collections_distributing.html#initial-configuration-of-your-distribution-server-or-servers" role="button">Publish your collection on a distribution server</a> <a class="btn" href="https://github.com/ansible-collections/ansible-inclusion" role="button">Request a collection be added to the Ansible package</a> </div> </div> <!-- End developer journey. --> </div> </div> </div> <div class="content-slim redhat-footer"> <span class="licence"> <i class="fab fa-creative-commons"></i><i class="fab fa-creative-commons-by"></i> <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank">CC BY-SA 4.0 |</a> <a href="https://www.redhat.com/en/about/privacy-policy">Privacy policy |</a> </span> <span class="redhat"> Sponsored by </span> <span class="redhat-logo"> <a href="https://www.redhat.com/" target="_blank"><img src="https://docs.ansible.com/static/images/redhat_reversed.svg" alt="Red Hat logo"></a> </span> </div> <script src="https://docs.ansible.com/static/js/iframeResizer.min.js" type="javascript"></script> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js"></script> <script src="https://www.redhat.com/dtm.js"></script> </body> </html>