Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 Server Administration Documentation | 2025.2

# Shelve-submit triggers

The shelve-submit trigger works like the `change-submit` trigger; it fires after the shelved changelist is created, but before before files are transferred to the server. Shelve-submit triggers are useful for integration with reporting tools or systems that do not require access to file contents.

Example:

A site administrator wants to prohibit the shelving of large disk images; the following shelve-submit trigger rejects a shelving operation if the changelist contains .iso files.

Copy

    #!/bin/sh

    # shelve1.sh - Disallow shelving of certain file types

    # This trigger always fails: when used as a shelve-submit trigger
    # with a specified path field, guarantees that files matching that
    # path are not shelved

    echo "shelve1.sh: Shelving operation disabled by trigger script."

    exit 1

To use the trigger, add the following line to your triggers table, specifying the path for which shelving is to be prohibited in the appropriate field, for example:

    shelving1   shelve-submit   //....iso   shelve1.sh

Every time a changelist is submitted that affects any `.iso` files in the depot, the `shelve1.sh` script runs, and rejects the request to shelve the disk image files.

Your search for returned results