2022年2月24日Garoon APIアップデート情報
2022年2月24日に実施するメンテナンスにおける、Garoon APIのアップデート内容は次のとおりです。
概要
クラウド版およびパッケージ版Garoon 5.9.2で、ワークフローの申請に添付されたファイルに関するAPIの不具合修正が行われます。
申請データに添付されたファイルを取得するようなカスタマイズをしている場合には、
ご確認いただきたいこと
を確認してください。
メンテナンス日(クラウド版)
2022年2月24日(木)12:00
修正対象
- クラウド版Garoon
- パッケージ版Garoon 5.9.2以降
修正される不具合
ワークフローの申請フォームでは、「ファイル添付」項目を使って、ファイルを添付できます。
この申請データに添付されたファイルについて、環境によっては、SOAP APIにおけるファイルIDの示すファイルと、JavaScript APIやREST APIにおけるファイルIDの示すファイルが異なってしまうことがありました。
これに伴い次のような場合に、申請データに添付されたファイルとは異なるファイルを取得してしまう、またはエラーでファイルを取得できない現象が発生しています。
- 次の申請データを取得できるREST APIやJavaScript APIで取得したファイルIDを指定して、ファイルを取得するSOAP APIでファイルを取得したとき
- Garoon REST API
- Garoon JavaScript API
- ワークフロー申請の詳細画面を表示したときのイベント
- ワークフロー申請の承認画面を表示したときのイベント
- ワークフロー申請の印刷用画面を表示したときのイベント
- ワークフロー申請を提出したときのイベント パッケージ版Garoon 5.9.2は対象外
- ワークフロー申請を承認したときのイベント
- ワークフロー申請を確認したときのイベント パッケージ版Garoon 5.9.2は対象外
- 申請データの値を取得する
- 申請情報を取得するSOAP APIで取得したファイルIDを指定して、次のREST APIでファイルを取得したとき
- Garoon REST API
この修正で、上記のような場合でも、正しいファイルを取得できます。
次に挙げるTipsで紹介されているカスタマイズを適用している場合も、申請データに添付されたファイルとは異なるファイルを取得してしまう、またはエラーでファイルを取得できない現象が発生する場合があることを確認しています。
- Garoon JavaScript APIワークフロー承認後に掲示板を投稿する
- Garoon JavaScript APIワークフロー承認後にメッセージを送信する
- Garoon JavaScript APIワークフロー承認後にファイル管理にファイルを登録する
- Garoon JavaScript API-ワークフロー承認後にメールを送信する
修正以降は、これらのカスタマイズを適用していても、正しくファイルを取得できます。
なお、現在Tipsで紹介しているカスタマイズは、不具合が発生しないようにコードを修正しています。コードを修正した日付は、各Tipsの更新履歴を参照してください。
ご確認いただきたいこと
申請データに添付されたファイルを取得するようなカスタマイズをしている場合には、「不具合修正に対する影響とその対応方法」に挙げた処理を行っていないかどうかを確認してください。
該当する場合で、不具合が発生する環境のときは、今回のメンテナンス後またはパッケージ版のバージョンアップ後に、それぞれの対応方法のとおりに対応することを検討してください。
不具合が発生する環境を確認する手順は、不具合が発生する環境かどうかを調べる方法を参照してください。
不具合修正に対する影響とその対応方法
今回のメンテナンス前またはパッケージ版のバージョンアップ前にバックアップした申請データを使ってファイルを取得している場合、次のような処理で影響を受ける可能性があります。
-
申請情報を取得するSOAP API
で取得した申請データのファイルIDを利用して、
申請データに添付されたファイルを取得するREST API
でファイルを取得している。
- 対応方法
メンテナンス後、またはバージョンアップ後に、ファイルを取得し直します。
メンテナンス前、またはバージョンアップ後に取得していたファイルは、申請データに添付されたファイルと異なる可能性があります。
- 対応方法
- 申請データを取得するREST API、またはJavaScript APIで取得した申請データのファイルIDを利用して、
ファイルを取得するSOAP API
でファイルを取得している。
- 対応方法
メンテナンス後またはバージョンアップ後に、もう一度申請データを取得し、ファイルを取得し直します。
バックアップした申請データのファイルIDを利用すると、異なるファイルを取得する可能性があります。
また、メンテナンス前またはバージョンアップ前に取得していたファイルは、申請データに添付されたファイルと異なる可能性があります。
- 対応方法
- 申請データを取得できるREST APIまたはJavaScript APIで取得した申請データのファイルIDを利用して、
申請データに添付されたファイルを取得するREST API
でファイルを取得している。
- 対応方法
メンテナンス後またはバージョンアップ後に、申請データを取得し直します。
メンテナンス前またはバージョンアップ前に取得したファイルを再取得する必要はありません。
バックアップした申請データのファイルIDを利用すると、異なるファイルを取得する可能性があります。
- 対応方法
不具合が発生する環境かどうかを調べる方法
SOAP APIにおけるファイルIDが示すファイルと、JavaScript APIやREST APIにおけるファイルIDの示すファイルが異なる環境かどうかを調べる手順です。
-
「ファイル添付」項目がある申請フォームで、ファイルを添付して申請を提出します。
-
1で提出した申請の「申請内容の詳細」画面を開きます。
-
「申請内容の詳細」画面で、ブラウザーの開発者コンソールを表示し、次のコードを実行します。
1 2
var request = garoon.workflow.request.get(); request.items;
-
ファイル添付の項目について、
value
以下のid
を確認します。 次の例における「payment.pdf」のid
は「11」です。1 2 3 4 5 6 7 8 9 10 11 12
"$29": { "name": "添付ファイル", "type": "FILE", "value": [ { "id": "11", // ファイルID "name": "payment.pdf", "size": "24", "contentType": "application/pdf" } ] },
-
「申請内容の詳細」画面のファイル添付の項目について、4で確認したファイルの[詳細]をクリックします。
-
URLの
ifid
の値を確認します。
次の例の場合、ifid
は「10」です。1
https://example.cybozu.com/g/workflow/file_view.csp?fid=4&pid=38&ifid=10&cid=3
-
4のJavaScript APIで確認した
id
の値と、6のURLで確認したifid
が異なっていれば、不具合が発生する環境です。
修正されるAPI一覧
Garoon REST API
-
申請データを取得する
-
/g/api/v1/workflow/admin/requests
-
申請データに添付されたファイルを取得する
-
/g/api/v1/workflow/admin/files/ファイルID
Garoon JavaScript API
-
ワークフロー申請の詳細画面を表示したときのイベント
-
workflow.request.detail.show
-
ワークフロー申請の承認画面を表示したときのイベント
-
workflow.request.approve.show
-
ワークフロー申請の印刷用画面を表示したときのイベント
-
workflow.request.print.show
-
ワークフロー申請を提出したときのイベント
-
workflow.request.create.submit.success
パッケージ版Garoon 5.9.2は対象外 -
ワークフロー申請を承認したときのイベント
-
workflow.request.approve.submit.success
-
ワークフロー申請を確認したときのイベント
-
workflow.request.acknowledge.submit.success
パッケージ版Garoon 5.9.2は対象外 -
申請データの値を取得する
-
garoon.workflow.request.get()