簡體   English   中英

如何從Ansible Tower API查詢中過濾結果

[英]How to filter results from ansible tower api query

使用郵遞員,我只需要顯示name = TestWorkflow的結果

以下是針對我的查詢返回的結果:獲取http://ansible-awx.pxdtools.io:8000/api/v2/workflow_job_template_nodes/

{
    "results": [
        {
            "id": 1323,
            "summary_fields": {
                "workflow_job_template": {
                    "id": 121,
                    "name": "TestWorkflow",
                }
              }
        },
        {
            "id": 29,
            "summary_fields": {
                "workflow_job_template": {
                    "id": 61,
                    "name": "Livraison en TEST",
                },
            }
        }
    ]
}

我已經嘗試了許多這些過濾器: https : //docs.ansible.com/ansible-tower/latest/html/towerapi/filtering.html

此查詢不起作用,因為名稱在results / summary_fields內部

獲取http://ansible-awx.pxdtools.io:8000/api/v2/workflow_job_template_nodes/?name=TestWorkflow

{
    "detail": "WorkflowJobTemplateNode has no field named 'name'"
}

我想要的預期結果將是

{
    "results": [
        {
            "id": 1323,
            "summary_fields": {
                "workflow_job_template": {
                    "id": 121,
                    "name": "TestWorkflow",
                }
              }
        }
    ]
}

使用下面的selectattr嘗試任務

- set_fact:
    results: "{{ data.results|
                 selectattr('summary_fields.workflow_job_template.name',
                            'match',
                            'TestWorkflow')|
                 list }}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM