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: UpdateMessage

Sent when a comment is made on an update.

__annotations__ = {}
__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.

property agent_name: str

Return the agent’s username for this message.

Returns:

The agent’s username.

property karma: int

Return the karma from this comment.

property summary: str

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'
property user: UserV1

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: UpdateMessage

Sent when an update is available in the stable repository.

__annotations__ = {}
__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.

property summary: str

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: UpdateMessage

Sent when an update is available in the testing repository.

__annotations__ = {}
__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.

property summary: str

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: UpdateMessage

Sent when an update is edited.

__annotations__ = {}
__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.

property new_bugs: Iterable[int]

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

Returns:

A list of Bugzilla bug IDs.

property summary: str

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.UpdateEditV2(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: UpdateEditV1

Sent when an update is edited. Newer version.

Has ‘new_builds’ and ‘removed_builds’ properties.

__annotations__ = {'body_schema': typing.Any}
__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.

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

Bases: UpdateMessage

Sent when an update is ejected from the push.

__annotations__ = {}
property reason: str

Return the reason this update was ejected from the compose.

property repo: str

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

property summary: str

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: UpdateMessage

Sent when an update reaches its karma threshold.

__annotations__ = {}
__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.

property status: str

Return the threshold that was reached.

property summary: str

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: BodhiMessage

Base class for update messages.

__annotations__ = {}
__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.

property packages: Iterable[str]

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

Returns:

A list of affected package names.

property update: UpdateV1

Return the Update referenced by this message.

property url: str

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

Returns:

A relevant URL.

property usernames: List[str]

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: BodhiMessage

Sent when an update is ready to be tested. Original version.

Does not have ‘update’ property or inherit from UpdateMessage.

__annotations__ = {}
__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.

property agent_name: str | None

Return the agent’s username for this message.

Returns:

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

property packages: Iterable[str]

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

Returns:

A list of affected package names.

severity = 10
property summary: str

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'
property url: str

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

Returns:

A relevant URL.

property usernames: List[str]

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

Returns:

A list of affected usernames.

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

Bases: UpdateReadyForTestingV1

Sent when an update is ready to be tested. Newer version.

Has ‘update’ property, like other update messages.

__annotations__ = {'body_schema': typing.Any}
__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.

renamed = {'$ref': '#/definitions/artifactbuild'}
property summary: str

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.UpdateReadyForTestingV3(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: UpdateMessage

Sent when an update is ready to be tested. Simplified version.

Specifically, this message is sent:

  • When an update is created

  • When an update is edited and its builds change

  • When a “re-trigger tests” request is made via the web UI or API

These are the points where we expect that automated systems will test the update.

Inherits from UpdateMessage and only contains as much extra information (in the ‘artifact’ dict) as the Fedora CI schedulers actually need.

__annotations__ = {}
__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.

severity = 10
property summary: str

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'
class bodhi.messages.schemas.update.UpdateRequestMessage(body=None, headers=None, topic=None, properties=None, severity=None)[source]

Bases: UpdateMessage

Sent when an update’s request is changed.

__annotations__ = {}
__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.

property summary: str

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: UpdateRequestMessage

Sent when an update is requested to be obsoleted.

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

Bases: UpdateRequestMessage

Sent when an update is revoked.

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

Bases: UpdateRequestMessage

Sent when an update is submitted as a stable candidate.

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

Bases: UpdateRequestMessage

Sent when an update is submitted as a testing candidate.

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

Bases: UpdateRequestMessage

Sent when an update is requested to be unpushed.

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

Bases: UpdateMessage

Sent when all the update requirements are met for stable.

__annotations__ = {}
__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.

property summary: str

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