このマニュアルでは、「アクションスクリプト設定」画面で利用できるサンプルデータの構造と、データの取得方法、外部APIとの連携について解説します。
概要
「アクションスクリプト設定」では、アクションの実行タイミングに応じてカスタムのスクリプト(プレスクリプト、ポストスクリプト)を設定できます。 これらのスクリプト内では、画面に表示されているサンプルデータ(JSON形式)にアクセスし、レコードの情報を取得・利用することが可能です。
サンプルデータの構造と取得方法
サンプルデータは、アクション実行の対象となるレコードの情報を含んだJSONオブジェクト(item)です。キーとなる変数を指定することで、各データを取得できます。
基本データの取得
レコードの基本的な情報(ID、タイトル、ステータス、実行者など)は、item.キー名の形式で取得できます。
| 取得したいデータ | スクリプト内での変数 | 説明 |
|---|---|---|
| アイテムID | item.itemId |
アイテムの一意なID。 |
| タイトル | item.title |
アイテムのタイトル名。 |
| ステータスID | item.statusId |
現在のステータスID。 |
| アクション実行者ID | item.executingBy |
現在操作を行っているユーザーのID。 |
| リビジョンナンバー | item.revisionNo | アイテムの更新回数。 |
| 作成日時 | item.createdAt | アイテムを作成した日時。 |
| 作成者 | item.createdBy | アイテムを作成したユーザー。 ※代理起票時は、代理起票者が該当。 |
| 更新日時 | item.updatedAt | アイテムを更新した日時。 |
| 更新者 | item.updatedBy | アイテムを更新したユーザー。 |
| 依頼者 | item.requestBy | アイテム作成のリクエスト元となるたユーザー。 |
コード例:
let recordTitle = item.title;
let userId = item.executingBy;項目データの取得
レコードのカスタム項目に保存されているデータは、item.fields['項目ID']の形式で取得します。
例: 項目ID '60143566...' の値を取得する
let fieldValue = item.fields['60143566a828a12492ac71fc'];
※項目IDは環境によって異なります。テスト画面のサンプルデータを参照してください。
入力中の項目データの取得(プレスクリプト限定機能)
アクション実行前のプレスクリプトに限り、ユーザーが画面で入力中であり、まだ保存されていないデータを取得できます。
💡 fields と inputField の違い
-
item.fields['ID']: データベースに保存済みの値 -
item.inputField['ID']: ユーザーが画面で入力中の値
コード例(プレスクリプト専用):
// 画面で入力された新しい値を取得してチェックする
let newValue = item.inputField['60143566a828a12492ac71fc'];外部公開APIとの連携
取得した情報(item.executingByなど)をパラメータとしてSmartStageの外部公開APIに渡すことで、より詳細な情報を取得できます。
連携のステップ:
- スクリプト内で
item.executingByを取得。 - 取得したIDを使用して
/users/{userid}APIを呼び出す。 - APIから返ってきたユーザー名やメールアドレスを処理に利用する。
スクリプトの種類
アクションスクリプトには、実行のタイミングによって2つの種類があります。
● プレスクリプト
アクション実行前に動作。入力チェック(バリデーション)や、保存前のデータ加工に利用します。
アクション実行前に動作。入力チェック(バリデーション)や、保存前のデータ加工に利用します。
● ポストスクリプト
アクション実行後に動作。他システムへの通知や、保存完了後の関連データ更新に利用します。
アクション実行後に動作。他システムへの通知や、保存完了後の関連データ更新に利用します。
何かお困りのことはございますか?まずはヘルプセンターを検索してみましょう!
その他ご不明な点があれば、サポートチームにお問い合わせください。
コメント
0件のコメント
サインインしてコメントを残してください。