【Garoon JavaScript API】ワークフロー承認後にメールを送信する
概要
2017年11月のアップデートで追加された ワークフロー申請を承認したときのイベント を使い、ワークフローの申請内容をメール送信します(メール送信する部分はGaroon SOAP APIを使用しています)。
前提条件と注意事項
- このカスタマイズには、クラウド版Garoonまたはパッケージ版Garoon 5.0.0以降の環境が必要です。
- ワークフローのJavaScriptカスタマイズは、JavaScriptを適用した後に申請されたワークフローが対象となります。
それ以前に申請されたワークフローには適用されません。 - 事前に
メールサーバーの設定
と ユーザーアカウントの設定
が必要です。
- 代理承認時にカスタマイズが動作しない不具合を確認しています。(2019/2/21追記)
- このカスタマイズを利用できるのは、cybozu.com共通管理者権限、またはワークフローのアプリケーション管理者権限をもつユーザーに限られます。(2021/8/30追記)
できること
ワークフローとメールを連携させることにより、メール送信前に上司の確認・承認をはさむことができます。
たとえば、社外向けの情報発信メールについて、送信前に上司による確認するようなケースが想定されます。
完成イメージ
Garoonのワークフローにて承認すると、申請内容がメールで送信される流れになります。
「承認する」ボタンをクリックすると、メールが送信されます。
ワークフローの設定に対して、JavaScriptファイルを設定しカスタマイズしていきます。
Garoonワークフローの設定手順
ワークフローの項目の内容は会社によって異なります。
ここでは、メール送信のために必要な項目を網羅した申請フォームを作成し、JavaScript / CSSカスタマイズを設定する流れを説明します。
1. ワークフローの申請フォームを作成する
まずは以下の項目を配置して、ワークフローの申請フォームを作成していきます。
申請フォームの作成方法については、Garoonヘルプ - 申請フォームの作成の流れ
クラウド版
・
パッケージ版
を参照してください。
申請フォームの内容は、いわゆるメーラーです。それぞれの項目は以下のとおり設定してください。
項目コードは、JavaScriptコード内でそれぞれの項目を指定するための一意の文字列になります。
| 項目名 | 項目タイプ | 項目コード | 必須 | 備考 |
|---|---|---|---|---|
| 申請理由 | 文字列(複数行) | 承認者への通達事項を記載します。 JavaScriptでは扱わないため、項目コードは不要です。 |
||
| To | 文字列(複数行) | To | 必須 | メールアドレスを1行1アドレスで入力します。 |
| Cc | 文字列(複数行) | Cc | メールアドレスを1行1アドレスで入力します。 | |
| Bcc | 文字列(複数行) | Bcc | メールアドレスを1行1アドレスで入力します。 | |
| タイトル | 文字列(1行) | Subject | 必須 | |
| 本文 | 文字列(複数行) | Body | 必須 | |
| 添付ファイル | ファイル添付 | Attach | 5つまで登録可能とします。 |
上記のとおり設定が完了したら、土台となる申請フォームの作成は完了です。
2. JavaScript/CSSファイルを適用する
申請フォームの作成が完了したので、ここから作成した申請フォームにJavaScriptファイルを適用していきます。
3. 適用ファイルの準備
次のサンプルコードをエディタにコピーして、ファイル名を「wf_to_mail.js」、文字コードを「UTF-8」で保存します。
ファイル名は任意ですが、ファイルの拡張子は「js」にしてください。
|
|
ポイント
- workflow.request.approve.submit.successイベントに実装することにより、承認が行われた後に起動する処理を作成できます。
- ワークフローに登録した添付ファイルを、5つまで添付ファイルとして送信できます。
- 送信者は申請者ではなく、承認者になります。申請者名義での送信はできないため、タイトルに申請者名を明記しています。
4. JavaScript/CSSファイルとして使用するファイルのおよびリンクの追加
-
「申請フォーム情報」部分の右端にある「JavaScript / CSSによるカスタマイズ」をクリックします。
ワークフローのカスタマイズが許可されていない場合は、「JavaScript / CSSによるカスタマイズ」のリンクが表示されません。
Garoonヘルプ( クラウド版・ パッケージ版
)を参照し、ワークフローのカスタマイズを許可してください。
-
[カスタマイズ]項目に「適用する」を選択します。
jsが使用するjQuery、Luxon、および作成した「wf_to_mail.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_mail.jsより上位に登録してください。
以上ですべての設定は完了です。最初にお見せした完成イメージのとおり、動けば成功です。
おわりに
Garoon APIのカスタマイズサンプル ワークフローとメールとの連携方法を紹介しました。
ワークフローの承認実行のタイミングでGaroon内の別アプリにデータを登録することが簡単にできます。
更新履歴
- 2021年8月30日
添付ファイルのIDを取得する処理を、workflow.request.approve.submit.successイベントのワークフローオブジェクトを使う方法から、 申請データを取得する を使う方法に変更 - 2024年9月30日
エラーハンドリング関数を追加
このTipsは、2024年9月版Garoonで動作を確認しています。
