Ansible Playbooks Playbook Job Structure
An Ansible playbook job representing a single execution of a job template, including status, output, and configuration details.
Type: object
Properties: 17
Required: 5
AnsibleAutomationConfiguration ManagementDevOpsInfrastructure As CodeOrchestrationPlaybooks
PlaybookJob is a JSON Structure definition published by Ansible Playbooks, describing 17 properties, of which 5 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/ansible-playbooks/refs/heads/main/json-structure/ansible-playbooks-playbook-job-structure.json",
"description": "An Ansible playbook job representing a single execution of a job template, including status, output, and configuration details.",
"type": "object",
"properties": {
"id": {
"type": "int32",
"description": "Unique numeric identifier for the job.",
"example": 500123
},
"name": {
"type": "string",
"description": "Name of the job template that spawned this job.",
"example": "Deploy Web Application"
},
"status": {
"type": "string",
"enum": [
"new",
"pending",
"waiting",
"running",
"successful",
"failed",
"error",
"canceled"
],
"description": "Current job status.",
"example": "successful"
},
"playbook": {
"type": "string",
"description": "Playbook file executed by this job.",
"example": "site.yml"
},
"started": {
"type": "datetime",
"description": "Timestamp when the job started executing.",
"example": "2026-04-19T14:00:00Z"
},
"finished": {
"type": "datetime",
"description": "Timestamp when the job finished.",
"example": "2026-04-19T14:05:00Z"
},
"elapsed": {
"type": "double",
"description": "Job duration in seconds.",
"example": 300.5
},
"job_type": {
"type": "string",
"enum": [
"run",
"check",
"scan"
],
"description": "Type of Ansible job.",
"example": "run"
},
"launch_type": {
"type": "string",
"enum": [
"manual",
"relaunch",
"callback",
"scheduled",
"dependency",
"workflow",
"sync",
"scm"
],
"description": "How the job was launched.",
"example": "manual"
},
"verbosity": {
"type": "int32",
"minimum": 0,
"maximum": 5,
"description": "Ansible verbosity level (0-5).",
"example": 0
},
"limit": {
"type": "string",
"description": "Host pattern limit applied to this job run.",
"example": "web-servers"
},
"extra_vars": {
"type": "string",
"description": "Extra variables passed to the playbook as a JSON string.",
"example": "{\"env\": \"production\"}"
},
"inventory": {
"type": "int32",
"description": "ID of the inventory used by this job.",
"example": 42
},
"project": {
"type": "int32",
"description": "ID of the project containing the playbook.",
"example": 7
},
"result_traceback": {
"type": "string",
"description": "Error traceback if the job failed.",
"example": ""
},
"created": {
"type": "datetime",
"description": "Timestamp when the job record was created.",
"example": "2026-04-19T13:59:00Z"
},
"modified": {
"type": "datetime",
"description": "Timestamp when the job record was last modified.",
"example": "2026-04-19T14:05:00Z"
}
},
"required": [
"id",
"name",
"status",
"playbook",
"job_type"
],
"name": "PlaybookJob"
}