Helix Coreサーバ管理者ガイド: 基本 (2019.1)

Push-submitトリガ

チェンジリストの作成後、かつ共有サーバへのファイルの転送前に起動するトリガを作成するには、push-submitトリガタイプを使用します。push-submitトリガは、ファイルがサーバに転送される前に起動するので、ファイルの内容にアクセスできません。Push-submitトリガは、ファイルの内容へのアクセスを必要としないレポートツールまたはシステムとの反映に役立ちます。

サブミットとプッシュのプロセスについて前のセクションで述べたように、プッシュのプロセスはpush-submitトリガで実行できるコマンドを制限します。次のコマンドのみを使用してください。

p4 change -o %changelist%
p4 describe -s %changelist%
p4 files //path/...@=%changelist%
p4 fstat //path/...@=%changelist%

 

以下のpush-submitトリガは、チェンジリストの説明に「XXXXXXXX」によりレビューおよび承認(「署名」)された形式の行が含まれていなかった場合にチェンジリストのプッシュを拒否するMS-DOSバッチファイルです。

@echo off

if not x%1==x goto doit
echo Usage is %0[change#]
exit 1
:doit
p4 describe -s %1 | findstr "Reviewed and signed off" > nul
if errorlevel 1 echo "Changelist %1 missing review information."

トリガを使用するには、次の行をトリガテーブルに追加します。

sample1   push-submit //depot/qa/...   "reviewcheck.bat %changelist%"

チェンジリストがプッシュされるたびに、//depot/qa以下のすべてのファイルに影響し、reviewcheck.batが呼び出されます。「Reviewed and signed off」という行が検出された場合、スクリプトは必要なレビューが行われたと認識し、チェンジリストのプッシュの続行を許可します。この文字列が検出されなければ、サブミットは拒否されます。

Note

p4 changeコマンドとp4 describeコマンドをpush-submitトリガまたはpush-contentトリガから実行すると、プッシュされる変更に対してプッシュの一部として追加される変更内容が関連付けられている場合であっても、その変更内容が表示されることはありません。