Update

Python objects

Message schema for Updates.

Each message is defined as a Python class. For details, see fedora-messaging documentation on messages.

class bodhi.messages.schemas.update.UpdateCommentV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateMessage

Sent when a comment is made on an update.

__str__() → str[source]

Return a human-readable representation of this message.

This should provide a detailed representation of the message, much like the body of an email.

Returns:A human readable representation of this message.
agent

Return the agent’s username for this message.

Returns:The agent’s username.
karma

Return the karma from this comment.

summary

Return a short, human-readable representation of this message.

This should provide a short summary of the message, much like the subject line of an email.

Returns:A summary for this message.
topic = 'bodhi.update.comment'
user

Return the user who wrote this comment.

class bodhi.messages.schemas.update.UpdateCompleteStableV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateMessage

Sent when an update is available in the stable repository.

summary

Return a short, human-readable representation of this message.

This should provide a short summary of the message, much like the subject line of an email.

Returns:A summary for this message.
topic = 'bodhi.update.complete.stable'
class bodhi.messages.schemas.update.UpdateCompleteTestingV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateMessage

Sent when an update is available in the testing repository.

summary

Return a short, human-readable representation of this message.

This should provide a short summary of the message, much like the subject line of an email.

Returns:A summary for this message.
topic = 'bodhi.update.complete.testing'
class bodhi.messages.schemas.update.UpdateEditV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateMessage

Sent when an update is edited.

new_bugs

Return an iterable of the new bugs that have been added to the update.

Returns:A list of Bugzilla bug IDs.
summary

Return a short, human-readable representation of this message.

This should provide a short summary of the message, much like the subject line of an email.

Returns:A summary for this message.
topic = 'bodhi.update.edit'
class bodhi.messages.schemas.update.UpdateEjectV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateMessage

Sent when an update is ejected from the push.

reason

Return the reason this update was ejected from the compose.

repo

Return the name of the repository that this update is associated with.

summary

Return a short, human-readable representation of this message.

This should provide a short summary of the message, much like the subject line of an email.

Returns:A summary for this message.
topic = 'bodhi.update.eject'
class bodhi.messages.schemas.update.UpdateKarmaThresholdV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateMessage

Sent when an update reaches its karma threshold.

status

Return the threshold that was reached.

summary

Return a short, human-readable representation of this message.

This should provide a short summary of the message, much like the subject line of an email.

Returns:A summary for this message.
topic = 'bodhi.update.karma.threshold.reach'
class bodhi.messages.schemas.update.UpdateMessage(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.base.BodhiMessage

Base class for update messages.

packages

List of names of packages affected by the action that generated this message.

Returns:A list of affected package names.
update

Return the Update referenced by this message.

url

Return a URL to the action that caused this message to be emitted.

Returns:A relevant URL.
usernames

List of users affected by the action that generated this message.

Returns:A list of affected usernames.
class bodhi.messages.schemas.update.UpdateReadyForTestingV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.base.BodhiMessage

Sent when an update is ready to be tested.

agent

Return the agent’s username for this message.

Returns:The agent’s username, or None if the body has no agent key.
packages

List of names of packages affected by the action that generated this message.

Returns:A list of affected package names.
summary

Return a short, human-readable representation of this message.

This should provide a short summary of the message, much like the subject line of an email.

Returns:A summary for this message.
topic = 'bodhi.update.status.testing.koji-build-group.build.complete'
url

Return a URL to the action that caused this message to be emitted.

Returns:A relevant URL.
usernames

List of users affected by the action that generated this message.

Returns:A list of affected usernames.
class bodhi.messages.schemas.update.UpdateRequestMessage(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateMessage

Sent when an update’s request is changed.

summary

Return a short, human-readable representation of this message.

This should provide a short summary of the message, much like the subject line of an email.

Returns:A summary for this message.
class bodhi.messages.schemas.update.UpdateRequestObsoleteV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateRequestMessage

Sent when an update is requested to be obsoleted.

topic = 'bodhi.update.request.obsolete'
class bodhi.messages.schemas.update.UpdateRequestRevokeV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateRequestMessage

Sent when an update is revoked.

topic = 'bodhi.update.request.revoke'
class bodhi.messages.schemas.update.UpdateRequestStableV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateRequestMessage

Sent when an update is submitted as a stable candidate.

topic = 'bodhi.update.request.stable'
class bodhi.messages.schemas.update.UpdateRequestTestingV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateRequestMessage

Sent when an update is submitted as a testing candidate.

topic = 'bodhi.update.request.testing'
class bodhi.messages.schemas.update.UpdateRequestUnpushV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateRequestMessage

Sent when an update is requested to be unpushed.

topic = 'bodhi.update.request.unpush'
class bodhi.messages.schemas.update.UpdateRequirementsMetStableV1(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: bodhi.messages.schemas.update.UpdateMessage

Sent when all the update requirements are meant for stable.

summary

Return a short, human-readable representation of this message.

This should provide a short summary of the message, much like the subject line of an email.

Returns:A summary for this message.
topic = 'bodhi.update.requirements_met.stable'

JSON schemas

bodhi.update.comment

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.comment#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when a comment is added to an update",
    "type": "object",
    "properties": {
        "comment": {
            "type": "object",
            "description": "The comment added to an update",
            "properties": {
                "karma": {
                    "type": "integer",
                    "description": "The karma associated with the comment"
                },
                "text": {
                    "type": "string",
                    "description": "The text of the comment"
                },
                "timestamp": {
                    "type": "string",
                    "description": "The timestamp that the comment was left on."
                },
                "update": {
                    "type": "object",
                    "description": "An update",
                    "properties": {
                        "alias": {
                            "type": "string",
                            "description": "The alias of the update"
                        },
                        "builds": {
                            "type": "array",
                            "description": "A list of builds included in this update",
                            "items": {
                                "$ref": "#/definitions/build"
                            }
                        },
                        "release": {
                            "type": "object",
                            "description": "A release",
                            "properties": {
                                "name": {
                                    "type": "string",
                                    "description": "The name of the release e.g. F32"
                                }
                            },
                            "required": [
                                "name"
                            ]
                        },
                        "request": {
                            "type": [
                                "null",
                                "string"
                            ],
                            "description": "The request of the update, if any",
                            "enum": [
                                null,
                                "testing",
                                "obsolete",
                                "unpush",
                                "revoke",
                                "stable"
                            ]
                        },
                        "status": {
                            "type": "string",
                            "description": "The current status of the update",
                            "enum": [
                                null,
                                "pending",
                                "testing",
                                "stable",
                                "unpushed",
                                "obsolete",
                                "side_tag_active",
                                "side_tag_expired"
                            ]
                        },
                        "user": {
                            "type": "object",
                            "description": "The user that submitted the override",
                            "properties": {
                                "name": {
                                    "type": "string",
                                    "description": "The user's account name"
                                }
                            },
                            "required": [
                                "name"
                            ]
                        }
                    },
                    "required": [
                        "alias",
                        "builds",
                        "release",
                        "request",
                        "status",
                        "user"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "karma",
                "text",
                "timestamp",
                "update",
                "user"
            ]
        }
    },
    "required": [
        "comment"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}

bodhi.update.complete.stable

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.complete.stable#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update is pushed stable",
    "type": "object",
    "properties": {
        "update": {
            "type": "object",
            "description": "An update",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "The alias of the update"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this update",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "release": {
                    "type": "object",
                    "description": "A release",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the release e.g. F32"
                        }
                    },
                    "required": [
                        "name"
                    ]
                },
                "request": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "description": "The request of the update, if any",
                    "enum": [
                        null,
                        "testing",
                        "obsolete",
                        "unpush",
                        "revoke",
                        "stable"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the update",
                    "enum": [
                        null,
                        "pending",
                        "testing",
                        "stable",
                        "unpushed",
                        "obsolete",
                        "side_tag_active",
                        "side_tag_expired"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "alias",
                "builds",
                "release",
                "request",
                "status",
                "user"
            ]
        }
    },
    "required": [
        "update"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}

bodhi.update.complete.testing

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.complete.testing#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update is pushed to testing",
    "type": "object",
    "properties": {
        "update": {
            "type": "object",
            "description": "An update",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "The alias of the update"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this update",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "release": {
                    "type": "object",
                    "description": "A release",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the release e.g. F32"
                        }
                    },
                    "required": [
                        "name"
                    ]
                },
                "request": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "description": "The request of the update, if any",
                    "enum": [
                        null,
                        "testing",
                        "obsolete",
                        "unpush",
                        "revoke",
                        "stable"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the update",
                    "enum": [
                        null,
                        "pending",
                        "testing",
                        "stable",
                        "unpushed",
                        "obsolete",
                        "side_tag_active",
                        "side_tag_expired"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "alias",
                "builds",
                "release",
                "request",
                "status",
                "user"
            ]
        }
    },
    "required": [
        "update"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}

bodhi.update.edit

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.edit#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update is edited",
    "type": "object",
    "properties": {
        "agent": {
            "type": "string",
            "description": "The user who edited the update"
        },
        "new_bugs": {
            "type": "array",
            "description": "An array of bug ids that have been added to the update",
            "items": {
                "type": "integer",
                "description": "A Bugzilla bug ID"
            }
        },
        "update": {
            "type": "object",
            "description": "An update",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "The alias of the update"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this update",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "release": {
                    "type": "object",
                    "description": "A release",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the release e.g. F32"
                        }
                    },
                    "required": [
                        "name"
                    ]
                },
                "request": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "description": "The request of the update, if any",
                    "enum": [
                        null,
                        "testing",
                        "obsolete",
                        "unpush",
                        "revoke",
                        "stable"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the update",
                    "enum": [
                        null,
                        "pending",
                        "testing",
                        "stable",
                        "unpushed",
                        "obsolete",
                        "side_tag_active",
                        "side_tag_expired"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "alias",
                "builds",
                "release",
                "request",
                "status",
                "user"
            ]
        }
    },
    "required": [
        "agent",
        "new_bugs",
        "update"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}

bodhi.update.eject

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.eject#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update is ejected from a compose",
    "type": "object",
    "properties": {
        "reason": {
            "type": "string",
            "description": "The reason the update was ejected"
        },
        "repo": {
            "type": "string",
            "description": "The name of the repo that the update is associated with"
        },
        "update": {
            "type": "object",
            "description": "An update",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "The alias of the update"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this update",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "release": {
                    "type": "object",
                    "description": "A release",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the release e.g. F32"
                        }
                    },
                    "required": [
                        "name"
                    ]
                },
                "request": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "description": "The request of the update, if any",
                    "enum": [
                        null,
                        "testing",
                        "obsolete",
                        "unpush",
                        "revoke",
                        "stable"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the update",
                    "enum": [
                        null,
                        "pending",
                        "testing",
                        "stable",
                        "unpushed",
                        "obsolete",
                        "side_tag_active",
                        "side_tag_expired"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "alias",
                "builds",
                "release",
                "request",
                "status",
                "user"
            ]
        }
    },
    "required": [
        "reason",
        "repo",
        "update"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}

bodhi.update.karma.threshold.reach

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.karma.threshold.reach#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update reaches its karma threshold",
    "type": "object",
    "properties": {
        "status": {
            "type": "string",
            "description": "Which karma threshold was reached",
            "enum": [
                "stable",
                "unstable"
            ]
        },
        "update": {
            "type": "object",
            "description": "An update",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "The alias of the update"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this update",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "release": {
                    "type": "object",
                    "description": "A release",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the release e.g. F32"
                        }
                    },
                    "required": [
                        "name"
                    ]
                },
                "request": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "description": "The request of the update, if any",
                    "enum": [
                        null,
                        "testing",
                        "obsolete",
                        "unpush",
                        "revoke",
                        "stable"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the update",
                    "enum": [
                        null,
                        "pending",
                        "testing",
                        "stable",
                        "unpushed",
                        "obsolete",
                        "side_tag_active",
                        "side_tag_expired"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "alias",
                "builds",
                "release",
                "request",
                "status",
                "user"
            ]
        }
    },
    "required": [
        "status",
        "update"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}

bodhi.update.status.testing.koji-build-group.build.complete

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.status.testing#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update is ready for testing",
    "type": "object",
    "properties": {
        "contact": {
            "description": "Schema for message sent when an update is ready for testing",
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "A human readable name of the team running the testing or gating"
                },
                "team": {
                    "type": "string",
                    "description": "A human readable name of the team running the testing or gating"
                },
                "docs": {
                    "type": "string",
                    "description": " Link to documentation with details about the system."
                },
                "email": {
                    "type": "string",
                    "description": "Contact email address."
                }
            },
            "required": [
                "name",
                "team",
                "docs",
                "email"
            ]
        },
        "artifact": {
            "description": "Details about the builds to test.",
            "type": "object",
            "properties": {
                "id": {
                    "description": "The bodhi identifier for this update",
                    "type": "string"
                },
                "type": {
                    "description": "Artifact type, in this case \"rpm-build-group\".",
                    "type": "string"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this group",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "repository": {
                    "description": "Url of the repository with packages from the side-tag.",
                    "type": "string",
                    "format": "uri"
                },
                "release": {
                    "description": "The release targetted by this side-tag/group of builds.",
                    "type": "string"
                }
            },
            "required": [
                "id",
                "type",
                "builds",
                "repository",
                "release"
            ]
        },
        "generated_at": {
            "description": "Time when the requested was generated, in UTC and ISO 8601 format",
            "type": "string"
        },
        "version": {
            "description": "Version of the specification",
            "type": "string"
        },
        "agent": {
            "description": "Name of the person asking to re-trigger the tests.",
            "type": "string"
        }
    },
    "required": [
        "contact",
        "artifact",
        "generated_at",
        "version",
        "agent"
    ],
    "definitions": {
        "build": {
            "description": "Details about a build to test.",
            "type": "object",
            "properties": {
                "type": {
                    "description": "Artifact type, in this case \"koji-build\"",
                    "type": "string"
                },
                "id": {
                    "description": "Build ID of the koji build.",
                    "type": "integer"
                },
                "task_id": {
                    "description": "Task ID of the koji build.",
                    "type": "integer"
                },
                "component": {
                    "description": "Name of the component tested.",
                    "type": "string"
                },
                "issuer": {
                    "description": "Build issuer of the artifact.",
                    "type": "string"
                },
                "scratch": {
                    "description": "Indication if the build is a scratch build.",
                    "type": "boolean"
                },
                "nvr": {
                    "description": "Name-version-release of the artifact.",
                    "type": "string"
                }
            },
            "required": [
                "type",
                "id",
                "issuer",
                "component",
                "nvr",
                "scratch"
            ]
        }
    }
}

bodhi.update.request.obsolete

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.request.obsolete#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update is obsoleted",
    "type": "object",
    "properties": {
        "agent": {
            "type": "string",
            "description": "The user who requested the update to be obsoleted"
        },
        "update": {
            "type": "object",
            "description": "An update",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "The alias of the update"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this update",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "release": {
                    "type": "object",
                    "description": "A release",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the release e.g. F32"
                        }
                    },
                    "required": [
                        "name"
                    ]
                },
                "request": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "description": "The request of the update, if any",
                    "enum": [
                        null,
                        "testing",
                        "obsolete",
                        "unpush",
                        "revoke",
                        "stable"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the update",
                    "enum": [
                        null,
                        "pending",
                        "testing",
                        "stable",
                        "unpushed",
                        "obsolete",
                        "side_tag_active",
                        "side_tag_expired"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "alias",
                "builds",
                "release",
                "request",
                "status",
                "user"
            ]
        }
    },
    "required": [
        "agent",
        "update"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}

bodhi.update.request.revoke

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.request.revoke#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update is revoked",
    "type": "object",
    "properties": {
        "agent": {
            "type": "string",
            "description": "The user who requested the update to be revoked"
        },
        "update": {
            "type": "object",
            "description": "An update",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "The alias of the update"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this update",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "release": {
                    "type": "object",
                    "description": "A release",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the release e.g. F32"
                        }
                    },
                    "required": [
                        "name"
                    ]
                },
                "request": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "description": "The request of the update, if any",
                    "enum": [
                        null,
                        "testing",
                        "obsolete",
                        "unpush",
                        "revoke",
                        "stable"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the update",
                    "enum": [
                        null,
                        "pending",
                        "testing",
                        "stable",
                        "unpushed",
                        "obsolete",
                        "side_tag_active",
                        "side_tag_expired"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "alias",
                "builds",
                "release",
                "request",
                "status",
                "user"
            ]
        }
    },
    "required": [
        "agent",
        "update"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}

bodhi.update.request.stable

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.request.stable#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update is requested stable",
    "type": "object",
    "properties": {
        "agent": {
            "type": "string",
            "description": "The user who requested the update to be stable"
        },
        "update": {
            "type": "object",
            "description": "An update",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "The alias of the update"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this update",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "release": {
                    "type": "object",
                    "description": "A release",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the release e.g. F32"
                        }
                    },
                    "required": [
                        "name"
                    ]
                },
                "request": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "description": "The request of the update, if any",
                    "enum": [
                        null,
                        "testing",
                        "obsolete",
                        "unpush",
                        "revoke",
                        "stable"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the update",
                    "enum": [
                        null,
                        "pending",
                        "testing",
                        "stable",
                        "unpushed",
                        "obsolete",
                        "side_tag_active",
                        "side_tag_expired"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "alias",
                "builds",
                "release",
                "request",
                "status",
                "user"
            ]
        }
    },
    "required": [
        "agent",
        "update"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}

bodhi.update.request.testing

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.request.testing#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update is requested testing",
    "type": "object",
    "properties": {
        "agent": {
            "type": "string",
            "description": "The user who requested the update to be tested"
        },
        "update": {
            "type": "object",
            "description": "An update",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "The alias of the update"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this update",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "release": {
                    "type": "object",
                    "description": "A release",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the release e.g. F32"
                        }
                    },
                    "required": [
                        "name"
                    ]
                },
                "request": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "description": "The request of the update, if any",
                    "enum": [
                        null,
                        "testing",
                        "obsolete",
                        "unpush",
                        "revoke",
                        "stable"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the update",
                    "enum": [
                        null,
                        "pending",
                        "testing",
                        "stable",
                        "unpushed",
                        "obsolete",
                        "side_tag_active",
                        "side_tag_expired"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "alias",
                "builds",
                "release",
                "request",
                "status",
                "user"
            ]
        }
    },
    "required": [
        "agent",
        "update"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}

bodhi.update.request.unpush

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.request.unpush#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update is unpushed",
    "type": "object",
    "properties": {
        "agent": {
            "type": "string",
            "description": "The user who requested the update to be unpushed"
        },
        "update": {
            "type": "object",
            "description": "An update",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "The alias of the update"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this update",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "release": {
                    "type": "object",
                    "description": "A release",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the release e.g. F32"
                        }
                    },
                    "required": [
                        "name"
                    ]
                },
                "request": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "description": "The request of the update, if any",
                    "enum": [
                        null,
                        "testing",
                        "obsolete",
                        "unpush",
                        "revoke",
                        "stable"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the update",
                    "enum": [
                        null,
                        "pending",
                        "testing",
                        "stable",
                        "unpushed",
                        "obsolete",
                        "side_tag_active",
                        "side_tag_expired"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "alias",
                "builds",
                "release",
                "request",
                "status",
                "user"
            ]
        }
    },
    "required": [
        "agent",
        "update"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}

bodhi.update.requirements_met.stable

{
    "id": "https://bodhi.fedoraproject.org/message-schemas/v1/bodhi.update.requirements_met.stable#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for message sent when an update meets stable requirements",
    "type": "object",
    "properties": {
        "update": {
            "type": "object",
            "description": "An update",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "The alias of the update"
                },
                "builds": {
                    "type": "array",
                    "description": "A list of builds included in this update",
                    "items": {
                        "$ref": "#/definitions/build"
                    }
                },
                "release": {
                    "type": "object",
                    "description": "A release",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the release e.g. F32"
                        }
                    },
                    "required": [
                        "name"
                    ]
                },
                "request": {
                    "type": [
                        "null",
                        "string"
                    ],
                    "description": "The request of the update, if any",
                    "enum": [
                        null,
                        "testing",
                        "obsolete",
                        "unpush",
                        "revoke",
                        "stable"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the update",
                    "enum": [
                        null,
                        "pending",
                        "testing",
                        "stable",
                        "unpushed",
                        "obsolete",
                        "side_tag_active",
                        "side_tag_expired"
                    ]
                },
                "user": {
                    "type": "object",
                    "description": "The user that submitted the override",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The user's account name"
                        }
                    },
                    "required": [
                        "name"
                    ]
                }
            },
            "required": [
                "alias",
                "builds",
                "release",
                "request",
                "status",
                "user"
            ]
        }
    },
    "required": [
        "update"
    ],
    "definitions": {
        "build": {
            "type": "object",
            "description": "A build",
            "properties": {
                "nvr": {
                    "type": "string",
                    "description": "The nvr the identifies the build in koji"
                }
            },
            "required": [
                "nvr"
            ]
        }
    }
}