#612 closed enhancement

WebHookの機能拡張 — at Version 1

Reported by: yasunaka Owned by:
Priority: major Milestone: ver 2.1.3
Component: crossnote Version: ver 2.1.3
Keywords: #8029 Cc:

Description (last modified by yasunaka)

WebHookでPOSTするデータをテンプレートを使ってカスタマイズできるようにし、WebHookからEDITROOMなどのWeb APIを呼び出す場合に外部のサービスを経由しないで直接呼出しが出来るようにします。

WebHookを利用するにはライセンスが必要です。ライセンスがある場合、admintoolのタスク設定画面にWebhookの設定画面が表示されます。

以下のような設定画面からWebhookの設定ができます。


テンプレートの仕様

  • ファイルが複数ある場合、ファイル数だけ繰り返してWeb APIを実行するか、それともまとめて1回で実行するかを選べるようにする。
  • 変数
    • $(id), $(companyId), $(projectId), $(date)
    • $(属性キーワード) ... generateで指定された属性キーワード
    • $(shareBox) ... Shareからの場合
    • 以下の変数はファイル数だけ繰り返す場合に利用可能
      • $(action), $(apisUri), $(nodeId), $(filePath) $(documentStatus)
      • $(exportType), $(secureUrl), $(publicUrl)はEDITROOMからの出力の場合のみ利用可能。またpublicUrlは公開設定となっているファイルの場合のみセットされる。
      • $(num) ... 0, 1, 2, ...のようにファイルのインデックス番号を示す
    • まとめて1回で実行する場合にファイル数だけくり返す部分を指定する方法。
         ${ここの中はファイル数だけ繰り返す$$区切り文字$}
      
      • この場合、中の変数にはファイル数だけ繰り返す場合のものを使うことができる。
      • 下の例ではurlを""でくくり、,で繋げている
           ${"$(url)"$$,$}
        
      • ネストは不可
    • 指定した変数が定義されている場合のみ出力する場合
         $!(変数名){ここに内容を書く$!}
      
      • 下の例は、boxが定義されている場合のみ、"box" : "ほにゃらら"; と出力する例
           $!(box){"box" : "$(box)";$!}
        
      • ネストは不可
  • 各変数の意味は以下の通り
変数名 対象のAction 意味
$(id) 常に利用可 WebHookのユニークID、またはbw_publisherのrequestId
$(companyId) 常に利用可 テナント(会社)のID
$(projectId) 常に利用可 projectのID
$(date) 常に利用可 発生日時
$(shareBox) ADD_FILE,UPDATE_FILE,DELETE_FILE インポートしたShareのBOX名
$(action) 常に利用可 WebhookのAction
$(apisUri) BW_PUBLISHER_VALIDATE_ERROR以外 生成されたドキュメントのApisURI
$(nodeId) BW_PUBLISHER_VALIDATE_ERROR以外 生成されたドキュメントのID
$(filePath) BW_PUBLISHER_VALIDATE_ERROR以外 生成されたドキュメントのパス
$(documentStatus) UPDATE_DOCUMENT_STATUS ドキュメントステータス
$(exportType) BW_PUBLISHER_COMPLETED 生成ドキュメントの種別
$(secureUrl) BW_PUBLISHER_COMPLETED 生成ドキュメントへのURL(要API Key)
$(publicUrl) BW_PUBLISHER_COMPLETED 生成ドキュメントへの公開URL
$(num) - ファイルのインデックス番号

Change History (2)

comment:1 by yasunaka, on Jan 6, 2023 at 11:17:12 AM

Description: modified (diff)
Note: See TracTickets for help on using tickets.