001-010645
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の処理者:ユーザー1、ユーザー2
------------ - ユーザー1で、申請1を承認します。
補足:- 2021年4月1日以降に承認したものとします。
- ユーザー2では処理しません。
このとき、最終承認が完了していないため、申請1は進行中と表示されます。
- 2021年4月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/
- 「rangeStartApprovedAt」を指定して、2021年4月1日以降に承認された申請データを取得します。
→現象発生:
最終承認が完了していない進行中の申請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"
}
(省略)
}
"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