アプリのアクション設定を変更する

目次

アプリのアクション設定を変更する

同名のアクションがアプリに存在したり更新後のアクション名がほかのアクション名と重複したりする場合、この API を実行するとエラーが発生します。

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

URL

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

HTTP メソッド

PUT

必要なアクセス権

  • アプリ管理権限

リクエスト

パラメーター
パラメーター名 必須 説明
app 数値または文字列 必須 アプリ ID
actions オブジェクト 必須 アクションの設定
アクション設定を追加、更新するときは、既存のアクションの設定を actions に指定してください。
指定しないとそのアクションの設定は削除されます。
actions.アクション名 オブジェクト 省略可 各アクションの設定
  • アクションを追加するとき:
    追加するアクション名を アクション名 に指定します。
  • アクションを変更するとき:
    更新するアクション名を アクション名 に指定します。
  • アクションを削除するとき:
    削除するアクション名のプロパティを指定しません。
actions.アクション名.name 文字列 条件必須 アクション名
1 文字以上 32 文字以下で指定します。
アクションを追加する場合は必須で、アクション名 と同じ値を指定します。
既存のアクション名を変更する場合は、変更後のアクション名を指定します。
省略した場合は変更されません。
actions.アクション名.index 数値または文字列 条件必須 アクションの表示順
値の昇順で並べ替えられます。
アクション名 を指定する場合は必須です。
actions.アクション名.destApp オブジェクト 条件必須 コピー先のアプリの情報
アクションを追加する場合は必須です。
省略した場合は変更されません。
actions.アクション名.destApp.app 数値または文字列 条件必須 コピー先のアプリのアプリ ID
destApp.app または destApp.code が必須です。
どちらも指定すると、destApp.code の値が設定されます。
actions.アクション名.destApp.code 文字列 条件必須 コピー先のアプリのアプリコード
destApp.app または destApp.code が必須です。
どちらも指定すると、destApp.code の値が設定されます。
「null」または空文字を指定すると、指定なしとみなされます。
actions.アクション名.mappings 配列 条件必須 フィールドの関連付けの一覧
アクションを追加、または destApp を指定している場合は必須です。
省略すると、更新されません。
空配列を指定した場合は、フィールドの関連付けなしに設定されます。
actions.アクション名.mappings[].srcType 文字列 条件必須 コピー元の種類
次のいずれかの値を指定します。
  • FIELD:フィールド
  • RECORD_URL:レコードの URL
mappings を指定する場合は必須です。
actions.アクション名.mappings[].srcField 文字列 条件必須 コピー元のフィールドのフィールドコード
mappings[].srcType が「FIELD」の場合は必須です。
actions.アクション名.mappings[]destField 文字列 条件必須 コピー先のフィールドのフィールドコード
mappings を指定する場合は必須です。
actions.アクション名.entities 配列(文字列) 条件必須 アクションを利用するメンバーの一覧
アクションを新規追加する場合は必須です。
省略すると、更新されません。
空配列を指定した場合は、アクションを利用するメンバーは設定されません。
actions.アクション名.entities[].type 文字列 条件必須 アクションを利用するメンバーの種類
次のいずれかの値を指定します。
  • USER:ユーザー
  • GROUP:グループ
  • ORGANIZATION:組織
ゲストスペースのアプリでは、「ORGANIZATION」は指定できません。
entities を指定する場合は必須です。
actions.アクション名.entities[].code 文字列 条件必須 アクションを利用するメンバーのコード
entity.type の値によって異なります。
  • 「USER」の場合:ログイン名
  • 「GROUP」の場合:グループコード
  • 「ORGANIZATION」の場合:組織コード
ゲストユーザーを指定する場合、ログイン名の前に「guest/」を付けます。
entities を指定する場合は必須です。
revision 数値または文字列 省略可 期待しているリビジョン番号
実際のリビジョン番号と一致しない場合はエラーとなり、設定は変更されません。
値に「-1」を指定する、または指定しなかった場合はリビジョン番号は検証されません。
リクエストの例
URL

https://sample.cybozu.com/k/v1/preview/app/actions.json

ヘッダー
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
{
  "app": "1",
  "actions": {
    "注文管理に登録": {
      "name": "注文管理に登録",
      "index": "0",
      "destApp": {
        "code": "INVOICE"
      },
      "mappings": [
        {
          "srcType": "FIELD",
          "srcField": "CompanyName",
          "destField": "CompanyName"
        },
        {
          "srcType": "FIELD",
          "srcField": "DivisionName",
          "destField": "DivisionName"
        },
        {
          "srcType": "RECORD_URL",
          "destField": "URL"
        }
      ],
      "entities": [
        {
          "type": "USER",
          "code": "userA"
        }
      ]
    }
  },
  "revision": "2"
}

レスポンス

プロパティ
プロパティ名 説明
actions オブジェクト アクションの情報
actions.アクション名.id 文字列 アクション ID
revision 文字列 更新後のアプリの設定のリビジョン番号
レスポンスの例
1
2
3
4
5
6
7
8
{
  "revision": "2",
  "actions": {
    "注文管理に登録": {
      "id": "7319"
    }
  }
}

サンプルコード

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
curl -X PUT 'https://sample.cybozu.com/k/v1/preview/app/actions.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "actions": {
      "注文管理に登録": {
        "name": "注文管理に登録",
        "index": "0",
        "destApp": {
          "code": "INVOICE",
        },
        "mappings": [
          {
            "srcType": "FIELD",
            "srcField": "CompanyName",
            "destField": "CompanyName",
          },
          {
            "srcType": "FIELD",
            "srcField": "DivisionName",
            "destField": "DivisionName",
          },
          {
            "srcType": "RECORD_URL",
            "destField": "URL",
          },
        ],
        "entities": [
          {
            "type": "USER",
            "code": "userA",
          },
        ],
      },
    },
  }'
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
const body = {
  app: kintone.app.getId(),
  actions: {
    注文管理に登録: {
      name: '注文管理に登録',
      index: '0',
      destApp: {
        code: 'INVOICE',
      },
      mappings: [
        {
          srcType: 'FIELD',
          srcField: 'CompanyName',
          destField: 'CompanyName',
        },
        {
          srcType: 'FIELD',
          srcField: 'DivisionName',
          destField: 'DivisionName',
        },
        {
          srcType: 'RECORD_URL',
          destField: 'URL',
        },
      ],
      entities: [
        {
          type: 'USER',
          code: 'userA',
        },
      ],
    },
  },
};

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