{
    "title": "Filter To checkout a specific branch in a local repository",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.publish.git.commands.CheckoutFilter",
    "type": "object",
    "oneOf": [
        {
            "required": [
                "branch",
                "folder",
                "category"
            ]
        },
        {
            "required": [
                "tag",
                "folder",
                "category"
            ]
        }
    ],
    "properties": {
        "branch": {
            "type": "string",
            "pattern": "^[^<>]*$",
            "maxLength": 100
        },
        "tag": {
            "type": "string",
            "pattern": "^[^<>]*$",
            "maxLength": 100
        },
        "folder": {
            "type": "string",
            "pattern": "^[^<>]*$",
            "maxLength": 255
        },
        "category": {
            "javaType": "com.sos.joc.model.publish.repository.Category",
            "type": "string",
            "enum": [
                "LOCAL",
                "ROLLOUT"
            ],
            "javaEnumNames": [
                "LOCAL",
                "ROLLOUT"
            ]
        },
        "auditLog": {
            "javaType": "com.sos.joc.model.audit.AuditParams",
            "type": "object",
            "properties": {
                "comment": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255
                },
                "timeSpent": {
                    "type": "integer",
                    "minimum": 0
                },
                "ticketLink": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255
                }
            }
        }
    }
}