プロセス管理の設定を変更する

目次

プロセス管理の設定を変更する

アプリのプロセス管理の設定を変更します。

この API は、動作テスト環境のアプリを変更します。
本番環境に変更を反映する場合、この API を実行した後に アプリ設定を運用環境へ反映する API を実行してください。

URL

通常のアプリ
https://sample.cybozu.com/k/v1/preview/app/status.json
ゲストスペースのアプリ
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/preview/app/status.json

HTTP メソッド

PUT

必要なアクセス権

  • アプリ管理権限

リクエスト

パラメーター
パラメーター名 必須 説明
app 数値または文字列 必須 アプリ ID
enable 真偽値または文字列 省略可 プロセス管理が有効かどうか
  • true:プロセス管理が有効
  • false:プロセス管理が無効
states オブジェクト 省略可 ステータスの情報
ステータスを追加、更新するときは、既存のステータスを states に指定してください。
指定しないとそのステータスは削除されます。
states.ステータス名 オブジェクト 省略可 各ステータスの設定
  • ステータスを追加するとき:
    追加するステータス名を ステータス名 に指定します。
  • ステータスを変更するとき:
    更新前のステータス名を ステータス名 に指定します。
  • ステータスを削除するとき:
    削除するステータス名のプロパティを指定しません。
先頭のステータスは新規に追加できません。
先頭のステータスを変更したい場合は、既存の先頭ステータスのステータス名を変更してください。
states.ステータス名.name 文字列 条件必須 ステータスの名前
64 文字以内で指定します。
新しいステータスを追加する場合は必須で、ステータス名 と同じ値を指定します。
states.ステータス名.index 数値または文字列 条件必須 ステータスの順番
0 からの数値を指定します。値の昇順で並べ替えられます。
ステータス名 を指定する場合は必須です。
states.ステータス名.assignee オブジェクト 省略可 ステータスの作業者
states.ステータス名.assignee.type 文字列 条件必須 ステータスの作業者の指定形式
  • ONE:次のユーザーから作業者を選択
  • ALL:次のユーザー全員
  • ANY:次のユーザーのうち一人
assignee を指定する場合は必須です。
states.ステータス名.assignee.entities 配列 条件必須 ステータスの作業者の情報
assignee を指定する場合は必須です。
states.ステータス名.assignee.entities[].entity オブジェクト 条件必須 ステータスの作業者のユーザー情報
entities 内で必須です。
states.ステータス名.assignee.entities[].entity.type 文字列 条件必須 ステータスの作業者の種類
  • USER:ユーザー
  • GROUP:グループ
  • ORGANIZATION:組織
  • FIELD_ENTITY:「フォームのフィールドを追加」として指定するフィールド
  • CREATOR:アプリ作成者
  • CUSTOM_FIELD:.com共通管理の カスタマイズ項目 (External link)
entity を指定する場合は必須です。
ゲストスペースのアプリでは、「ORGANIZATION」は指定できません。
states.ステータス名.assignee.entities[].entity.code 文字列 条件必須 ステータスの作業者のコード
entity.type の値によって異なります。
  • 「USER」の場合:ログイン名
  • 「GROUP」の場合:グループコード
  • 「ORGANIZATION」の場合:組織コード
  • 「FIELD_ENTITY」の場合:次のフィールドのフィールドコードを指定します。
    • 作成者
    • 更新者
    • ユーザー選択
    • 組織選択
    • グループ選択
  • CREATOR:指定不要です。
  • CUSTOM_FIELD:カスタマイズ項目コード
entity.type に「CREATOR」以外を指定する場合は必須です。
ゲストユーザーを指定する場合、ログイン名の前に「guest/」を付けます。
states.ステータス名.assignee.entities[].includeSubs 真偽値または文字列 省略可 作業者に下位組織を含めるかどうか
  • true:含める
  • false:含めない
省略すると「false」が設定されます。
entity.type に「ORGANIZATION」か、「FIELD_ENTITY」で組織選択フィールドを指定した場合のみ指定します。
それ以外の場合に指定すると、設定は無視されます。
actions 配列 省略可 アクションの情報の一覧
actions[].name 文字列 条件必須 アクション名
64 文字以内で指定します。
actions を指定する場合は必須です。
actions[].from 文字列 条件必須 アクション実行前のステータス名
actions を指定する場合は必須です。
ステータス名を変更した場合は、変更後のステータス名を指定します。
actions[].to 文字列 条件必須 アクション実行後のステータス名
actions を指定する場合は必須です。
ステータス名を変更した場合は、変更後のステータス名を指定します。
actions[].filterCond 文字列 省略可 アクションの実行条件
クエリ形式で指定します。クエリ形式は、 クエリの書き方 を参照してください。
「ステータス」フィールドを絞り込み条件に指定できません。
revision 数値または文字列 省略可 期待しているリビジョン番号
実際のリビジョン番号と一致しない場合はエラーとなり、設定は変更されません。
値に「-1」を指定する、または指定しなかった場合はリビジョン番号は検証されません。
リクエストの例
ヘッダー
1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}

リクエストヘッダーの詳細は kintone REST API の共通仕様 を参照してください。

ボディ
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{
  "app": "5",
  "enable": true,
  "states": {
    "未処理": {
      "name": "未処理",
      "index": "0",
      "assignee": {
        "type": "ONE",
        "entities": []
      }
    },
    "処理中": {
      "name": "処理中",
      "index": "1",
      "assignee": {
        "type": "ALL",
        "entities": [
          {
            "entity": {
              "type": "USER",
              "code": "user1"
            }
          },
          {
            "entity": {
              "type": "FIELD_ENTITY",
              "code": "creator"
            },
            "includeSubs": false
          },
          {
            "entity": {
              "type": "CUSTOM_FIELD",
              "code": "上司"
            }
          }
        ]
      }
    },
    "完了": {
      "name": "完了",
      "index": "2",
      "assignee": {
        "type": "ONE",
        "entities": []
      }
    }
  },
  "actions": [
    {
      "name": "処理開始",
      "from": "未処理",
      "to": "処理中",
      "filterCond": "レコード番号 = \"1\""
    },
    {
      "name": "完了する",
      "from": "処理中",
      "to": "完了",
      "filterCond": ""
    }
  ],
  "revision": "3"
}

レスポンス

プロパティ
プロパティ名 説明
revision 文字列 アプリの設定を変更したあとのリビジョン番号
レスポンスの例
1
2
3
{
  "revision": "3"
}

サンプル

curl を使ったリクエスト
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
curl -X PUT 'https://sample.cybozu.com/k/v1/preview/app/status.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": "5",
      "enable": true,
      "states": {
        "未処理": {
          "name": "未処理",
          "index": "0",
          "assignee": {
            "type": "ONE",
            "entities": [
            ]
          }
        },
        "処理中": {
          "name": "処理中",
          "index": "1",
          "assignee": {
            "type": "ALL",
            "entities": [
              {
                "entity": {
                  "type": "USER",
                  "code": "user1"
                }
              },
              {
                "entity": {
                  "type": "FIELD_ENTITY",
                  "code": "creator"
                },
                "includeSubs": false
              },
              {
                "entity": {
                  "type": "CUSTOM_FIELD",
                  "code": "上司"
                }
              }
            ]
          }
        },
        "完了": {
          "name": "完了",
          "index": "2",
          "assignee": {
            "type": "ONE",
            "entities": [
            ]
          }
        }
      },
      "actions": [
        {
          "name": "処理開始",
          "from": "未処理",
          "to": "処理中",
          "filterCond": "レコード番号 = \"1\""
        },
        {
          "name": "完了する",
          "from": "処理中",
          "to": "完了",
          "filterCond": ""
        }
      ]
  }"
kintone REST APIリクエストを送信する API を使ったリクエスト
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
const body = {
  app: kintone.app.getId(),
  enable: true,
  states: {
    未処理: {
      name: '未処理',
      index: '0',
      assignee: {
        type: 'ONE',
        entities: [
        ]
      }
    },
    処理中: {
      name: '処理中',
      index: '1',
      assignee: {
        type: 'ALL',
        entities: [
          {
            entity: {
              type: 'USER',
              code: 'user1'
            }
          },
          {
            entity: {
              type: 'FIELD_ENTITY',
              code: 'creator'
            },
            includeSubs: false
          },
          {
            entity: {
              type: 'CUSTOM_FIELD',
              code: '上司'
            }
          }
        ]
      }
    },
    完了: {
      name: '完了',
      index: '2',
      assignee: {
        type: 'ONE',
        entities: [
        ]
      }
    }
  },
  actions: [
    {
      name: '処理開始',
      from: '未処理',
      to: '処理中',
      filterCond: 'レコード番号 = "1"'
    },
    {
      name: '完了する',
      from: '処理中',
      to: '完了',
      filterCond: ''
    }
  ]
};

await kintone.api(kintone.api.url('/k/v1/preview/app/status.json', true), 'PUT', body);