【Garoon JavaScript API】ワークフロー承認後にスケジュールを登録する
概要
2017年11月のアップデートで追加された ワークフロー申請を承認したときのイベント を使い、ワークフローの申請内容をスケジュールに登録します(予定を登録する部分はGaroon SOAP APIを使用しています)。
前提条件と注意事項
- このカスタマイズには、クラウド版Garoonまたはパッケージ版Garoon 4.10以降の環境が必要です。
- ワークフローJavaScriptカスタマイズは、JavaScriptを適用してから申請されたワークフローが対象になります。
それ以前に申請されたワークフローには適用されません。 - 代理承認時にカスタマイズが動作しない不具合を確認しています。(2019/2/21追記)
できること
有給休暇、出張など、申請が必要なイベントについてワークフローとスケジュールを連携させることができます。
ワークフローでは、スケジュールへの自動登録機能が搭載されていますが、対象項目の指定等、より柔軟な連携が可能になります。
完成イメージ
Garoonのワークフローにて承認すると、申請内容がスケジュールへ登録される流れになります。
- 「承認する」ボタンをクリックすると、ワークフローの内容が申請者のスケジュールに登録されます。
- スケジュールのメモ欄には、承認されたワークフローへのリンクが設定されます。
スケジュール側には特別な設定は不要です。
ワークフローの設定にのみ、JavaScriptファイルを設定しカスタマイズしていきます。
Garoonワークフローの設定手順
ワークフローの項目の内容は、会社によって異なります。
ここでは、サンプルということで、スケジュールの項目をおおむね網羅した申請フォームにJavaScript/CSSカスタマイズを設定する流れを説明します。
1. ワークフローの申請フォームを作成する
まずは以下の項目を配置して、ワークフローの申請フォームを作成していきます。
申請フォームの作成方法については、Garoonヘルプ - 申請フォームの作成の流れ
クラウド版
・
パッケージ版
を参照してください。
申請フォームは、スケジュールの項目と対応付けます。それぞれの項目は以下のとおり設定してください。
項目コードは、JavaScriptコード内でそれぞれの項目を指定するための一意の文字列になります。
| 項目名 | 項目タイプ | 項目コード | 必須 | 備考 |
|---|---|---|---|---|
| 開始日時 | 日付(日付と時刻) | From | 〇 | |
| 終了日時 | 日付(日付と時刻) | To | 〇 | |
| 予定メニュー | メニュー | Menu | 〇 | 出張/休みをメニュー項目とします。 デフォルトの予定メニュー選択肢です。 |
| タイトル | 文字列(1行) | Title | 〇 | |
| メモ | 文字列(複数行) | Memo | ||
| 公開方法 | ラジオボタン | Scope | 〇 | 公開/非公開をラジオ項目とします。 |
上記のとおり設定が完了したら、土台となる申請フォームの作成は完了です。
2. JavaScript/CSSファイルを適用する
申請フォームの作成が完了したので、ここから作成した申請フォームにJavaScriptファイルを適用していきます。
3. 適用ファイルの準備
次のサンプルコードをエディタにコピーして、ファイル名を「wf_to_sch.js」、文字コードを「UTF-8」で保存します。
ファイル名は任意ですが、ファイルの拡張子は「js」にしてください。
|
|
ポイント
- request.approve.submit.successイベントに実装することにより、承認が行われた後に起動する処理を作成できます。
4. JavaScript/CSSファイルとして使用するファイルのおよびリンクの追加
-
「申請フォーム情報」部分の右端にある「JavaScript / CSSによるカスタマイズ」をクリックします。
ワークフローのカスタマイズが許可されていない場合、申請フォームの詳細画面に「JavaScript / CSSによるカスタマイズ」というリンクが表示されません。
詳細は、 ワークフローのカスタマイズを許可するを参照してください。
-
[カスタマイズ]項目に「適用する」を選択します。wf_to_sch.jsが使用するjQuery、Luxon、および作成した「wf_to_sch.js」ファイルを追加し、「設定する」をクリックします。
本カスタマイズでは、 Cybozu CDN の以下のライブラリーを使用します。
- jQuery
https://js.cybozu.com/jquery/3.6.4/jquery.min.js - Luxon
https://js.cybozu.com/luxon/3.3.0/luxon.min.js
警告
jQuery、Luxonはwf_to_sch.jsより上位に登録してください。
以上ですべての設定は完了です。最初にお見せした完成イメージのとおり、動けば成功です。
おわりに
Garoon APIのカスタマイズサンプル ワークフローとスケジュールとの連携方法を紹介しました。
ワークフローの承認実行のタイミングでGaroon内の別アプリにデータを登録することが簡単にできます。
このTipsは、2024年9月版Garoonで動作を確認しています。
