[ワークフロー承認後にスケジュールを登録する]の応用

「Garoon JavaScript API」サンプルで『【Garoon JavaScript API】ワークフロー承認後にスケジュールを登録する』(https://developer.cybozu.io/hc/ja/articles/360000653943)がありますが、こちらの応用方法を教えてください。%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%81%93%E3%81%A1%E3%82%89%E3%81%AE%E5%BF%9C%E7%94%A8%E6%96%B9%E6%B3%95%E3%82%92%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82)

以下のことができないか考えています。

①登録するタイミングは最終承認者が承認したとき

②登録先は任意のユーザー ※申請者ではなくあらかじめ内部で指定したユーザー。

(システム管理者等、特定の複数のユーザー、3名程度)

③"開始日時"・"終了日時"は、"開始日時~終了日時"ではなく、“開始日時~+30分”、"終了日時~+30分"の計2回

 

この内容で登録したいのですが、どのようにすればできるものでしょうか。

Garoonのサンプルコードはガチガチに書いてあって、初心者の方が応用するのは難しいかもしれませんね。
チュートリアルもないですからね。

とはいえ、私はコードは提供しない主義なのでヒントだけ。

①のタイミングについては承認イベントでeventの中の値を使って判断します。
ドキュメントの以下のページの「ワークフローオブジェクト」のところを見てみてください。
https://cybozu.dev/ja/garoon/docs/overview/workflow-object/

②コードを読んでみると、USER_IDあたりが怪しいと思いませんか?
変数名にもヒントがあります。

たとえば「schAdd~」という接頭語はきっと
sch:スケジュール(schedule)
Add:追加(add)

のはずですよね。

https://developer.cybozu.io/hc/ja/articles/360000653943

の環境を実際に作ってコンソールでブレークポイントで止めながら実行していけばそのうち解読できると思います。
解読したらIDをベタ書き指定して書き換えて実行します。
それから、任意のユーザーで入力するにはどうしたらいいかを考えると良いと思います。

③サンプルのコードの日時の操作はMoment.jsを使って書かれていますね。
Moment.jsの使い方を検索してみてください。
※Moment.jsならChatGPTに聞いてみると書き方を教えてくれそうな気がします。

しかし、以下のページに書かれているようにMoment.jsは推奨されない&Luxonおすすめなので要注意ではあります。
https://cybozu.dev/ja/kintone/sdk/library/cybozu-cdn/#momentjs

 

どうしても難しい場合は(難しいと思いますが)パートナーさんに頼るのが良いと思います。
↓こちらで探せると思います。
https://partner.cybozu.co.jp/

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。