According the Ansible Tower API Reference Guide Workflow Jobs, by
Retriving a Workflow Job the status: (choice)
can have following values
new: New
pending: Pending
waiting: Waiting
running: Running
successful: Successful
failed: Failed
error: Error
canceled: Canceled
... status about the ongoing or completed job
So the status should be already there.
For example "partial", "failed", "successful", "ongoing" etc.
So it look like the options you are looking for are already there
- ongoing -> running
- partial -> canceled
- failed -> failed
- successful -> successful
curl --silent -u "${ACCOUNT}:${PASSWORD}" https://${TOWER_URL}/api/v2/workflow_jobs/${jobID}/ | jq .
Resulting into an output of
...
"launch_type": "relaunch",
"status": "running",
"failed": false,
"started": "2022-02-04T14:28:04.147633Z",
"finished": null,
"canceled_on": null,
"elapsed": 17.367907,
"job_args": "",
"job_cwd": "",
"job_env": {},
"job_explanation": "",
...
and
...
"launch_type": "relaunch",
"status": "successful",
"failed": false,
"started": "2022-02-04T14:28:04.147633Z",
"finished": "2022-02-04T14:28:24.156419Z",
"canceled_on": null,
"elapsed": 20.009,
"job_args": "",
"job_cwd": "",
"job_env": {},
"job_explanation": "",
...
Maybe below field can be edited, but i don't know how: "job_explanation": ""
According List Jobs the field
job_explanation
: A status field to indicate the state of the job if it wasn’t able to run and capture stdout (string)
therefore it should probably not be edited.
How can I edit or add a field during the ongoing job ...
The REST API is for creating, starting, stopping and so on of jobs, to remote control the Tower application. The values become set by the application, there is no safe option to set them by yourself via the API.
... and after it is completed. Is there a way to manipulate the fields on REST API job stats?
It might be possible to to alter the job result directly within in PostgreSQL application database backend.
Also it might be possible for you the change the application ansible/awx/ and the behavior of awx/api/urls/workflow_job.py.