アクション スクリプトの例 (コミット前フェーズ)
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
以下に、アセットが作成または変更されたときにコミット前フェーズ (処理中) のトリガーによって実行されるアクション スクリプトの例を示します。このスクリプトは、ファイル名に特定の拡張子が付いているアセットに対して既定のアセット タイプ (Web) を設定します。
ユース ケース
ユース ケース
- ユーザーがアセットを作成または変更します。
- アセットのファイル名に特定の拡張子が付いている場合、そのアセットの AssetType が Web に設定されます。
前提条件
前提条件
Web は、M.AssetType の既定のタイプではありません。必要に応じて作成する必要があります。
-
[管理] に移動して [タクソノミー] をクリックします。
-
[M.Asset] を検索します。
-
M.AssetType タクソノミーに新しいアイテムを追加するため、[+] をクリックします。
-
新しいアイテムのラベルとして「Web」と入力します。
-
[保存] をクリックします。
スクリプト
スクリプト
スクリプトの説明
スクリプトの説明
-
スクリプトで使用するライブラリをインクルードします。
ヒントインクルードするライブラリを確認するには、「コンテキスト プロパティ」セクションのプロパティ タイプを参照してください。
-
拡張子のリストを定義します。アセットのファイル名にこれらの拡張子のいずれかが含まれている場合、AssetType Web というラベルが付けられます。
-
ファイル名プロパティとアセット タイプ リレーションが読み込まれていることを確認します。まだ読み込まれていない場合、それらは遅延読み込みされます。
-
ContextからTargetオブジェクトを取得し、IEntityにキャストします。Targetは、作成または変更イベントに関与するアセットです。警告Targetオブジェクトのタイプは、トリガーの目的 (エンティティ、エンティティ定義、ポリシーなど) によって異なります。この例では、トリガーの目的はエンティティの作成とエンティティの変更です。したがって、TargetをIEntityにキャストする必要があります。ヒントコンテキスト プロパティの
TargetTypeは、Targetのタイプを示します。TargetTypeの有効な値はEntity、EntityDefinition、Policy、DataSourceです。コンテキスト プロパティの詳細については、「コンテキスト プロパティ」セクションを参照してください。 -
GetPropertyValueを使用して、TargetオブジェクトからFilenameプロパティを取得します。 -
アセットにファイル名がない場合、スクリプトは終了します。
-
Path.GetExtension(System.IO) を使用して、ファイル名から拡張子を取得します。 -
ファイル名に拡張子がない場合、スクリプトは終了します。
-
ファイル名に拡張子は付いているものの、指定された拡張子のいずれにも一致しない場合、スクリプトは終了します。
-
M.AssetType.Web の識別子を持つ AssetType Web の ID を取得するクエリを作成します。
-
作成したクエリを使用して、Web AssetType の ID を取得します。
注意MClientオブジェクトは常に使用可能であり、すべてのスクリプト タイプで使用できます。MClientの詳細については、「SDK リファレンス ノート」(MClient) を参照してください。 -
AssetType の ID が返されなかった場合、スクリプトは終了します。
-
GetRelationを使用して、IEntityオブジェクトからAssetTypeToAssetのリレーションを取得します。注意AssetTypeToAssetは、Asset (子) と AssetType (親) の間のリレーションです。 -
リレーションが存在しない場合、スクリプトは終了します。
-
AssetType Web をアセットに設定するため、AssetType の ID をリレーションの親属性に代入します。
-
これは、ファイル名の拡張子の取得に使用される内部メソッドです。