001-010645

パッケージ版 Garoon

関心あり
0人の方が関心を示しています

REST API「申請データの取得(GET)」を使用するとき、最終承認日時を指定しても、進行中の申請データが取得されてしまう場合がある。

種別
不具合
機能
  • ワークフロー
  • REST API
再現バージョン
  • 5.0.0
  • 5.0.1
  • 5.0.2
  • 5.5.0
  • 5.5.1
改修バージョン
5.9.0
公開日
2021-05-10
更新日
2021-11-12

詳細

【発生条件】
次の条件をすべて満たす場合に発生します。
  • 承認経路の最後の経路ステップで、経路種別に「承認(全員)」を設定する。

  • 承認経路の最後の経路ステップに、申請を承認した処理者と、未処理の処理者が存在する。

  • REST API「申請データの取得(GET)」を使用するとき、「rangeStartApprovedAt」と「rangeEndApprovedAt」のどちらか、または両方を指定する。

【準備】
  • ユーザーを追加します。

    例:
    • ユーザー1
    • ユーザー2

  • 申請フォームを追加します。

    例:
    申請フォーム1

  • 申請フォーム1に承認経路を設定し、申請フォームを有効にします。

    例:
    ------------
    経路情報:
    • 経路名:専用経路

    承認経路:
    • 経路種別:承認(全員)
    • 経路ステップ名:承認経路1
    ------------

    補足:
    • 承認経路の最後の経路ステップで、経路種別に「承認(全員)」を設定します。

  • 申請フォーム1を使用して申請を作成します。

    例:
    ------------
    標題:申請1
    承認経路1の処理者:ユーザー1、ユーザー2
    ------------

  • ユーザー1で、申請1を承認します。

    補足:
    • 2021年4月1日以降に承認したものとします。

    • ユーザー2では処理しません。
      このとき、最終承認が完了していないため、申請1は進行中と表示されます。

【再現手順】
  1. REST API「申請データの取得(GET)」を使用して、申請データを取得します。

    例:
    ------------
    GET /xxxxx/xxxxx/grn.xxx/api/v1/workflow/admin/requests?rangeStartApprovedAt=2021-04-01T00:00:00Z HTTP/1.1
    Host: xx.xx.xx.xx
    X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
    ------------

    補足:
    • 「rangeStartApprovedAt」を指定して、2021年4月1日以降に承認された申請データを取得します。

    • Garoon REST APIの使用については、cybozu developer networkをご確認ください。
      https://cybozu.dev/ja/garoon/docs/rest-api/

→現象発生:
 最終承認が完了していない進行中の申請1のデータが取得されます。

 例:
 ------------
 {
     "requests": [
         {
             "id": "1",
             "status": {
                 "name": "進行中",
                 "type": "IN_PROGRESS"
             },
             "createdAt": "2021-04-01T10:00:00Z",
             "processingStepCode": "approval_step1",
             "name": "申請フォーム1(申請1)",

 (省略)

             "steps": {
                 "approval_step1": {
                     "id": "1",
                     "name": "承認経路1",
                     "requirement": "承認(全員)",
                     "isApprovalStep": 1,
                     "processors": [
                         {
                             "id": "2",
                             "code": "user1",
                             "name": "ユーザー1",
                             "result": "承認",
                             "operatedAt": "2021-04-01T11:00:00Z"
                         },
                         {
                             "id": "3",
                             "code": "user2",
                             "name": "ユーザー2"
                         }

 (省略)

 }
 ------------

補足:
  • 準備3点目で共有経路を設定した場合も、同様の現象が発生します。

  • 手順1で「rangeEndApprovedAt」を指定した場合、または「rangeStartApprovedAt」と「rangeEndApprovedAt」の両方を指定した場合も、同様の現象が発生します。

回避/対応方法

【回避方法】
次のバージョンの製品で本現象を改修しています。バージョンアップを検討してください。
  • バージョン 5.9.0のGaroon