{ "type": "object", "required" : [ "project", "user", "pipeline", "builds" ], "properties" : { "project": { "type": "object", "required": [ "id", "path", "created_at" ], "properties": { "id": { "type": "integer" }, "path": { "type": "string" }, "created_at": { "type": ["string", "null"], "format": "date-time" } } }, "user": { "type": "object", "required": [ "id", "username", "email", "created_at" ], "properties": { "id": { "type": "integer" }, "username": { "type": "string" }, "email": { "type": "string" }, "created_at": { "type": ["string", "null"], "format": "date-time" }, "current_sign_in_ip": { "type": ["string", "null"] }, "last_sign_in_ip": { "type": ["string", "null"] } } }, "pipeline": { "type": "object", "required": [ "sha", "ref", "type" ], "properties": { "sha": { "type": "string" }, "ref": { "type": "string" }, "type": { "type": "string" } } }, "builds": { "type": "array", "items": { "type": "object", "required": [ "name", "stage", "image", "services", "script" ], "properties": { "name": { "type": "string" }, "stage": { "type": "string" }, "image": { "type": ["string", "null"] }, "services": { "type": ["array", "null"], "items": { "type": "string" } }, "script": { "type": "array", "items": { "type": "string" } } } } } } }