要从 JSON 文件中解析 Ansible 构建报告,可以使用 Ansible 的 json_query
过滤插件来提取所需的信息。以下是一个示例代码:
- name: 从 JSON 文件中提取构建报告
hosts: localhost
gather_facts: false
tasks:
- name: 读取 JSON 文件
slurp:
src: /path/to/build_report.json
register: json_data
- name: 解析 JSON 数据
set_fact:
build_report: "{{ json_data.content | b64decode | from_json }}"
- name: 提取构建报告信息
set_fact:
ansible_build_report: "{{ build_report | json_query('ansible_facts.ansible_build_report') }}"
- name: 输出构建报告
debug:
var: ansible_build_report
在上面的示例中,我们首先使用 slurp
模块读取 JSON 文件的内容,并将结果存储在 json_data
变量中。然后,使用 set_fact
模块将解码后的 JSON 数据存储在 build_report
变量中。
接下来,我们使用 json_query
过滤插件来提取所需的构建报告信息,并将结果存储在 ansible_build_report
变量中。
最后,使用 debug
模块输出构建报告的内容。
请注意,上述代码中的 /path/to/build_report.json
应替换为实际的 JSON 文件路径。