Trigger definition
After you have written a trigger, you create the trigger definition by
issuing the
command and providing trigger
information in the triggers form. You must be a
Helix Server
superuser to run this command. The p4 triggers
p4 triggers
form
looks like this:
Triggers: relnotecheck change-submit //depot/bld/... "/usr/bin/rcheck.pl %user%" verify_jobs change-submit //depot/... "/usr/bin/job.py %change%"
As with all
Helix Server
commands that use forms, field names (such as Triggers:
)
must be flush left (not indented) and must end with a colon, and field
values (that is, the set of lines you add, one for each trigger) must be
indented with spaces or tabs on the lines beneath the field name.
Each line in the trigger form you fill out when you use the p4
triggers
command has four fields. These are briefly
described in the following table. Values for three of these fields vary
with the trigger type; these values are described in additional detail in
the sections describing each type of trigger. The
name
field uses the same format for all trigger
types.
Field | Meaning |
---|---|
|
The user-defined name of the trigger. To use the same trigger script with multiple file patterns, list
the same trigger multiple times on contiguous lines in the
trigger table. Use exclusionary mappings to prevent files from
activating the trigger script; the order of the trigger entries
matters, just as it does when exclusionary mappings are used in
views. In this case, only the |
|
Triggers are divided into ten categories: submit triggers, push
triggers, command triggers, journal-rotate triggers, shelve
triggers, edge-server triggers, fix triggers, form triggers,
authentication triggers, and archive triggers. One or more types
is defined for each of these categories. For example, submit
triggers include the Please consult the section describing the category of interest to determine which types relate to that trigger. |
|
The use of this field varies with the trigger type. For example, for submit, edge server, and shelve triggers, this field is a file pattern in depot syntax. When a user submits a changelist that contains files that match this pattern, the trigger script executes. Please consult the section describing the trigger of interest to determine which path is appropriate for that trigger. |
|
The trigger for Helix Server to run when the conditions implied by the trigger definition are satisfied. You must specify the name of the trigger script or executable in ASCII, even when the server is running in Unicode mode and passes arguments to the trigger script in UTF8. Specify the trigger in a way that allows Helix Server
to locate and run the command. The On those platforms where the operating system does not know how
to run the trigger, you will need to specify an interpreter in
the command field. For example, Windows does not know how to run
lo form-out label "perl //myscripts/validate.pl" When your trigger script is stored in the depot, its path must
be specified in depot syntax, delimited by percent characters.
For example, if your script is stored in the depot as
|
Triggers are run in the order listed in the trigger table; if a trigger script fails for a specified type, subsequent trigger scripts also associated with that type are not run.
The p4 triggers
command has a very simple
syntax:
p4 triggers [ -i | -o ]
- With no flags, the user’s editor is invoked to specify the trigger definitions.
- The
-i
flag reads the trigger table from standard input. - The
-o
flag displays all the trigger definitions stored in the trigger table.