Helix Coreサーバ管理者ガイド (2020.1)

コマンドの前または後にトリガを起動させる

commandタイプのトリガにより、Helixサーバを設定して、任意のコマンドが実行される前後にトリガを実行させることができます。 一般的に、コマンドが実行される前にスクリプトを実行することにより、そのコマンドの実行を防ぐことが望ましい場合や、コマンドが実行された後にスクリプトを実行することにより、そのアクションを他のツールまたはプロセスにつなげることが望ましい場合があるものです。

注意

コマンドタイプのトリガは、p4 pushコマンドおよびp4 fetchコマンドと組み合わせて使用することができます。

以下の表では、commandトリガに関するフィールドについて説明します。

フィールド 意味

name

コマンドトリガの名前。

type

command

実行するコマンドは、pathフィールドで指定します。

path

pre-user-commandの値を使用して、トリガを起動するに実行するコマンドを指定します。

post-user-commandの値を使用して、トリガを起動するに実行するコマンドを指定します。

command は正規表現を使用できます。

正規表現の文法に関する補足情報については、p4 help grepを参照してください。

指定できる値の例:

  • pre-user-login
  • post-user-add
  • post-user-edit
  • pre-user-obliterate
  • pre-user-sync
  • post-user-sync

別の有効なコマンド名の一部であるコマンド名と一致させるには、行末メタ文字を使用してそのコマンド名の終端を指定します。 例えば、changesというコマンド名に一致させる場合は、change$を使用します。

p4 pushコマンドとp4 changeコマンドのパス値に関して詳しくは、プッシュコマンドおよびフェッチコマンド用のその他のトリガを参照してください。

pre-user-infoトリガは作成できません。

command

このHelixサーバ向けトリガは、pathによって暗黙的に指定された条件が満たされると、実行されます。

Helixサーバがコマンドを参照して実行できるような方法で、コマンドを指定します。 command(通常は1回につき1つのスクリプトを呼び出します)は、引用符で囲まれる必要があります。また、commandによって構文上引数として解析できる範囲のあらゆる引数を扱うことができます(適用可能なHelixサーバトリガ変数を含む)。

トリガスクリプトがディポに保存されている場合、ディポシンタックス内でそのパスをパーセントで囲んで指定する必要があります。 例えば、スクリプトがディポに//depot/scripts/myScript.plとして保存されている場合、これに対応してコマンドフィールドで使用される値は"/usr/bin/perl %//depot/scripts/myScript.pl%"となります。 詳細については、「ディポ内にトリガを保存する」を参照してください。