2022年2月に行われるクラウド版の定期外メンテナンス、およびパッケージ版 Garoon 5.9.2 における API に関する情報をお知らせします。
下記の通り、ワークフローの申請に添付されたファイルに関する API の不具合修正が行われます。
申請データに添付されたファイルを取得するようなカスタマイズをしている場合には、「ご確認いただきたいこと」を確認してください。
修正対象
- クラウド版(2022年2月24日(木)12:00 の定期外メンテナンス以降)
- パッケージ版 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
- ワークフロー申請の詳細画面が表示されたときのイベント 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()
- 申請情報を取得する 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. で提出した申請の「申請内容の詳細」画面を開きます。
- 「申請内容の詳細」画面で、ブラウザの開発者コンソールを表示し、次のコードを実行します。
var request = garoon.workflow.request.get();
request.items; - ファイル添付の項目について、value 以下の id を確認します。
次の例では、payment.pdf の idは「11」です。
"$29": {
"name": "添付ファイル",
"type": "FILE",
"value": [
{
"id": "11", // ファイル ID
"name": "payment.pdf",
"size": "24",
"contentType": "application/pdf"
}
]
}, - 「申請内容の詳細」画面のファイル添付の項目について、4.で確認したファイルの[詳細]をクリックします。
- URL の ifid の値を確認します。
次の例の場合、ifid は「10」です。
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
- 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()
cybozu developer network 運営局です。
このページでお知らせしている Garoon API の不具合について、パッケージ版では、バージョン 5.9.2 で修正されます。
つきましては、パッケージ版 Garoon 5.9.2 に関する情報を追記しました。