rezplugins.release_hook.amqp

Publishes a message to the broker.

class rezplugins.release_hook.amqp.AmqpReleaseHook(source_path)[source]

Bases: rez.release_hook.ReleaseHook

Publishes a message to the broker.

The message is a json encoded dictionary of the form -
{
package{

handle : {}, name : … version : … user: … (who released the package) qualified_name : … uri : …

}, variants : [

{ handle : {} }, { handle : {} }

]

}

classmethod name()[source]

Return name of source retriever, eg ‘git’

post_release(user, install_path, variants, **kwargs)[source]

Post-release hook.

This is called after all package variants have been released.

Parameters
  • user – Name of person who did the release.

  • install_path – Directory the package was installed into.

  • variants (list of Variant) – The variants that have been released.

  • release_message – User-supplied release message.

  • changelog – List of strings describing changes since last release.

  • previous_version – Version of previously-release package, None if no previous release.

  • previous_revision – Revision of previously-releaved package (type depends on repo - see ReleaseVCS.get_current_revision().

  • kwargs – Reserved.

publish_message(data)[source]
schema_dict = {'connect_timeout': <class 'int'>, 'exchange_name': <class 'str'>, 'exchange_routing_key': <class 'str'>, 'host': <class 'str'>, 'message_attributes': <class 'dict'>, 'message_delivery_mode': <class 'int'>, 'password': <class 'str'>, 'userid': <class 'str'>}
rezplugins.release_hook.amqp.register_plugin()[source]