kintone API

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

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

目次

HTTPメソッドPUT
URLhttps://sample.cybozu.com/k/v1/preview/app/status.json
URL(ゲストスペース)https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/preview/app/status.json
認証 パスワード認証 , APIトークン認証 , セッション認証 , OAuth認証
Content-Typeapplication/json

リクエストパラメーター

パラメーター名 必須 説明
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 文字列 省略可 アクションの実行条件
クエリ形式で指定します。クエリ形式の詳細は次のページを参照してください。
クエリの書き方
「ステータス」フィールドを絞り込み条件に指定できません。
actions[].type 文字列 省略可 アクションの種類
  • PRIMARY: アクション実行前のステータスで作業者に指定されたユーザーのみが実行できるアクションを表すtype。作業者が指定されていない場合はレコード閲覧可能なユーザー全員が実行できます。
  • SECONDARY: 「作業者以外でも実行できるアクション」を表すtype。actions[].executableUserに指定したユーザーが実行できます。
省略した場合はPRIMARYが設定されます。
actions[].executableUser オブジェクト 条件必須 「作業者以外でも実行できるアクション」の実行可能ユーザー
actions[].typeSECONDARYの場合は必須です。
actions[].typePRIMARYの場合、設定は無視されます。
actions[].executableUser.entities 配列 条件必須 「作業者以外でも実行できるアクション」の実行可能ユーザーの情報
executableUserを指定する場合は必須です。空配列の場合は、レコード閲覧可能なユーザー全員が実行可能なアクションとして扱われます。
actions[].executableUser.entities[].entity オブジェクト 条件必須 「作業者以外でも実行できるアクション」の実行可能ユーザーの情報
entities内で必須です。
actions[].executableUser.entities[].entity.type 文字列 条件必須 「作業者以外でも実行できるアクション」の実行可能ユーザーの種類
  • USER:ユーザー
  • GROUP:グループ
  • ORGANIZATION:組織
  • FIELD_ENTITY:「フォームのフィールドを追加」として指定するフィールド

entityを指定する場合は必須です。
ゲストスペースのアプリでは、「ORGANIZATION」は指定できません。
actions[].executableUser.entities[].entity.code 文字列 条件必須 「作業者以外でも実行できるアクション」の実行可能ユーザーのコード
entity.typeの値によって異なります。
  • 「USER」の場合:ログイン名
  • 「GROUP」の場合:グループコード
  • 「ORGANIZATION」の場合:組織コード
  • 「FIELD_ENTITY」の場合:次のフィールドのフィールドコードを指定します。
    • 作成者
    • 更新者
    • ユーザー選択
    • 組織選択
    • グループ選択
entityを指定する場合は必須です。
ゲストユーザーを指定する場合、ログイン名の前に「guest/」を付けます。
actions[].executableUser.entities[].includeSubs 真偽値または文字列 省略可 「作業者以外でも実行できるアクション」の実行可能ユーザーに下位組織を含めるかどうか
  • true:含める
  • false:含めない
省略すると「false」が設定されます。
entity.typeに「ORGANIZATION」か、「FIELD_ENTITY」で組織選択フィールドを指定した場合のみ指定します。
それ以外の場合に指定すると、設定は無視されます
revision 数値または文字列 省略可 期待しているリビジョン番号
実際のリビジョン番号と一致しない場合はエラーとなり、設定は変更されません。
値に「-1」を指定する、または指定しなかった場合はリビジョン番号は検証されません。

レスポンスプロパティ

プロパティ名 説明
revision 文字列 アプリの設定を変更したあとのリビジョン番号

必要なアクセス権

  • アプリ管理権限

サンプル

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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
{
  "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": "supervisor"
            }
          }
        ]
      }
    },
    "完了": {
      "name": "完了",
      "index": "2",
      "assignee": {
        "type": "ONE",
        "entities": []
      }
    }
  },
  "actions": [
    {
      "name": "処理開始",
      "from": "未処理",
      "to": "処理中",
      "filterCond": "レコード番号 = \"1\"",
      "type": "PRIMARY",
      "executableUser": {
        "entities": []
      }
    },
    {
      "name": "完了する",
      "from": "処理中",
      "to": "完了",
      "filterCond": "",
      "type": "PRIMARY"
    },
    {
      "name": "作業者以外で完了する",
      "from": "処理中",
      "to": "完了",
      "filterCond": "",
      "type": "SECONDARY",
      "executableUser": {
        "entities": [
          {
            "entity": {
              "type": "FIELD_ENTITY",
              "code": "creator"
            },
            "includeSubs": false
          }
        ]
      }
    }
  ],
  "revision": "3"
}

1
2
3
{
  "revision": "3"
}

kintone.api()の詳細は、次のページを参照してください。
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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: 'supervisor'
            }
          }
        ]
      }
    },
    完了: {
      name: '完了',
      index: '2',
      assignee: {
        type: 'ONE',
        entities: []
      }
    }
  },
  actions: [
    {
      name: '処理開始',
      from: '未処理',
      to: '処理中',
      filterCond: 'レコード番号 = "1"',
      type: 'PRIMARY',
      executableUser: {
        entities: [],
      },
    },
    {
      name: '完了する',
      from: '処理中',
      to: '完了',
      filterCond: '',
      type: 'PRIMARY',
    },
    {
      name: '作業者以外で完了する',
      from: '処理中',
      to: '完了',
      filterCond: '',
      type: 'SECONDARY',
      executableUser: {
        entities: [
          {
            entity: {
              type: 'FIELD_ENTITY',
              code: 'creator',
            },
            includeSubs: false,
          },
        ],
      },
    },
  ],
};

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

ご利用の環境によって、curlのフォーマットは異なる場合があります。
詳細は、次のページを参照してください。
curlコマンドでkintone REST APIを実行してみよう/3.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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": "supervisor"
              }
            }
          ]
        }
      },
      "完了": {
        "name": "完了",
        "index": "2",
        "assignee": {
          "type": "ONE",
          "entities": []
        }
      }
    },
    "actions": [
      {
        "name": "処理開始",
        "from": "未処理",
        "to": "処理中",
        "filterCond": "レコード番号 = \"1\"",
        "type": "PRIMARY",
        "executableUser": {
          "entities": []
        }
      },
      {
        "name": "完了する",
        "from": "処理中",
        "to": "完了",
        "filterCond": "",
        "type": "PRIMARY"
      },
      {
        "name": "作業者以外で完了する",
        "from": "処理中",
        "to": "完了",
        "filterCond": "",
        "type": "SECONDARY",
        "executableUser": {
          "entities": [
            {
              "entity": {
                "type": "FIELD_ENTITY",
                "code": "creator"
              },
              "includeSubs": false
            }
          ]
        }
      }
    ]
  }'

補足

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

制限事項

  • 次のAPIにおいて、「新機能の無効化」により「プロセス管理の設定で、作業者以外でも実行できるアクションを設定できる機能」を無効にしても、レスポンスのスキーマ情報に含まれます。
    kintone REST APIのスキーマ情報を取得する