Skip to content

include_tasks

Collection Note

This module is part of the ansible.builtin collection. To install the collection, use:

ansible-galaxy collection install ansible.builtin
Added in version 2.4.

Synopsis

  • Includes a file with a list of tasks to be executed in the current playbook.

Parameters

Parameter Defaults / Choices Comments
apply
str
Accepts a hash of task keywords (for example C(tags), C(become)) that will be applied to the tasks within the include.
Version Added: 2.7
file
str
Specifies the name of the file that lists tasks to add to the current playbook.
Version Added: 2.7
free-form Specifies the name of the imported file directly without any other option C(- include_tasks: file.yml).
Is the equivalent of specifying an argument for the O(file) parameter.
Most keywords, including loop, with_items, and conditionals, apply to this statement unlike M(ansible.builtin.import_tasks).
The do-until loop is not supported.

Examples

- hosts: all
  tasks:
    - ansible.builtin.debug:
        msg: task1

    - name: Include task list in play
      ansible.builtin.include_tasks:
        file: stuff.yaml

    - ansible.builtin.debug:
        msg: task10

- hosts: all
  tasks:
    - ansible.builtin.debug:
        msg: task1

    - name: Include task list in play only if the condition is true
      ansible.builtin.include_tasks: "{{ hostvar }}.yaml"
      when: hostvar is defined

- name: Apply tags to tasks within included file
  ansible.builtin.include_tasks:
    file: install.yml
    apply:
      tags:
        - install
  tags:
    - always

- name: Apply tags to tasks within included file when using free-form
  ansible.builtin.include_tasks: install.yml
  args:
    apply:
      tags:
        - install
  tags:
    - always

Authors

  • Ansible Core Team (@ansible)