如何使用REST API查找特定作业id的可见塔作业状态



我正在Ansible Tower中创建一个作业模板,然后使用REST API启动它。现在我需要检查Ansible Tower中当前运行的作业的状态(PENDING, RUNNING, FAILED, success, CANCELLED)。

我试图运行curl GET请求和jq一起解析json输出,但是在GET输出中有很多不同作业事件的字段以及以前的作业记录,我无法找出正确的方法来过滤我预期的输出(当前作业状态)。

/api/v2/jobs/{jobId}/
/api/v2/jobs/{jobId}/job_events/
/api/v2/jobs/{jobId}/job_host_sumamries/
/api/v2/jobs/{jobId}/activity_stream/

是否有一种方法可以获取具有作业id的特定作业的作业状态。

我认为@zeinatour有最好的解决方案…在这个url中:

<your tower server>/api/v2/jobs/<jobid>

查找这些条目:

"status": "successful",
"failed": false,

如果不是,要知道一个作业的状态将是poke in a loop:

<your tower server>/api/v2/jobs/<jobid>/stdout/

并查找PLAY RECAP并解析它:

PLAY RECAP *********************************************************************
<host>               : ok=4    changed=1    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   

解析后,如果只有ok值,没有失败,我认为你可以得出结论,有一个成功!;)

相关内容

  • 没有找到相关文章

最新更新