cybozu developer network

カテゴリー内の他の記事

2022年2月のクラウド版定期外メンテナンス、およびパッケージ版 Garoon 5.9.2 における Garoon API 更新情報 (2022/02/04)

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 が示すファイルが異なってしまうことがありました。
これに伴い、次のような場合に、申請データに添付されたファイルとは異なるファイルを取得してしまう、またはエラーでファイルを取得できない現象が発生しています。

この修正で、上記のような場合でも、正しいファイルを取得できるようになります。

次に挙げる Tips で紹介されているカスタマイズを適用している場合も、申請データに添付されたファイルとは異なるファイルを取得してしまう、またはエラーでファイルを取得できない現象が発生する場合があることを確認しています。

修正以降は、これらのカスタマイズを適用していても、正しくファイルを取得できるようになります。
なお、現在 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. 「ファイル添付」項目がある申請フォームで、ファイルを添付して申請を提出します。
  2. 1. で提出した申請の「申請内容の詳細」画面を開きます。
  3. 「申請内容の詳細」画面で、ブラウザの開発者コンソールを表示し、次のコードを実行します。
    var request = garoon.workflow.request.get();
    request.items;
  4. ファイル添付の項目について、value 以下の id を確認します。
    次の例では、payment.pdf の idは「11」です。
     "$29": {
    "name": "添付ファイル",
    "type": "FILE",
    "value": [
    {
    "id": "11", // ファイル ID
    "name": "payment.pdf",
    "size": "24",
    "contentType": "application/pdf"
    }
    ]
    },
    コードの例
  5. 「申請内容の詳細」画面のファイル添付の項目について、4.で確認したファイルの[詳細]をクリックします。
    ファイルの[詳細]を囲んでいる画面
  6.  URL の ifid の値を確認します。
    次の例の場合、ifid は「10」です。
    https://example.cybozu.com/g/workflow/file_view.csp?fid=4&pid=38&ifid=10&cid=3
  7. 4. の JavaScript API で確認した id の値と、6. の URL で確認した ifid が異なっていれば、不具合が発生する環境です。

修正される API 一覧

記事に関するフィードバック

記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。

Avatar
cybozu Development team

cybozu developer network 運営局です。

このページでお知らせしている Garoon API の不具合について、パッケージ版では、バージョン 5.9.2 で修正されます。
つきましては、パッケージ版 Garoon 5.9.2 に関する情報を追記しました。

サインインしてコメントを残してください。