rez.release_hook#

rez.release_hook.get_release_hook_types()#

Returns the available release hook implementations.

rez.release_hook.create_release_hook(name, source_path)#

Return a new release hook of the given type.

rez.release_hook.create_release_hooks(names, source_path)#
class rez.release_hook.ReleaseHook#

Bases: object

An object that allows for custom behaviour during releases.

A release hook provides methods that you implement to inject custom behaviour during parts of the release process. For example, the builtin ‘email’ hook sends a post-release email to a configured address.

classmethod name()#

Return name of source retriever, eg ‘git’

__init__(source_path)#

Create a release hook.

Parameters:

source_path – Path containing source that was released.

pre_build(user, install_path, variants=None, release_message=None, changelog=None, previous_version=None, previous_revision=None, **kwargs)#

Pre-build hook.

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

  • install_path – Directory the package was installed into.

  • variants – List of variant indices we are attempting to build, or None

  • release_message – User-supplied release message.

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

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

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

  • kwargs – Reserved.

Note

This method should raise a ReleaseHookCancellingError if the release process should be cancelled.

pre_release(user, install_path, variants=None, release_message=None, changelog=None, previous_version=None, previous_revision=None, **kwargs)#

Pre-release hook.

This is called before any package variants are released.

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

  • install_path – Directory the package was installed into.

  • variants – List of variant indices we are attempting to release, or None

  • release_message – User-supplied release message.

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

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

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

  • kwargs – Reserved.

Note

This method should raise a ReleaseHookCancellingError if the release process should be cancelled.

post_release(user, install_path, variants, release_message=None, changelog=None, previous_version=None, previous_revision=None, **kwargs)#

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.

class rez.release_hook.ReleaseHookEvent#

Bases: Enum

Enum to help manage release hooks.

pre_build = ('pre-build', 'build', 'pre_build')#
pre_release = ('pre-release', 'release', 'pre_release')#
post_release = ('post-release', 'release', 'post_release')#