kintone output plugin for Embulk stores app records from kintone.
- domain: kintone domain (FQDN) e.g. devfoo.cybozu.com (string, required)
- username: kintone username (string, optional)
- password: kintone password (string, optional)
- token: kintone app token. Username and password or token must be configured. If all of them are provided, this plugin uses username and password (string, optional)
- app_id: kintone app id (integer, required)
- basic_auth_username: kintone basic auth username Please see kintone basic auth here (string, optional)
- basic_auth_password: kintone basic auth password (string, optional)
- guest_space_id: kintone app belongs to guest space, guest space id is required. (integer, optional)
- mode: kintone mode (string, required)
- update_key: Column name to set update key (string, required if mode is update or upsert)
- reduce_key: Key column name to reduce expanded SUBTABLE (string, optional)
- sort_columns: List of columns for sorting input records (array of objects, optional)
- name: Column name (string, required)
- order: Sort order (string
asc
ordesc
, required)
- max_sort_tmp_files: Maximum number of temporary files for sorting input records (integer, default is
1024
) - max_sort_memory: Maximum memory usage for sorting input records (bytes in long, default is the estimated available memory, which is the approximate value of the JVM's current free memory)
- prefer_nulls: Whether to set fields to null instead of default value of type when column is null (boolean, default is
false
) - ignore_nulls: Whether to completely ignore fields when column is null (boolean, default is
false
) - skip_if_non_existing_id_or_update_key: The skip policy if the record corresponding to the id or update key does not exist (string
auto
,never
oralways
, default isauto
). No effect for insert mode.- auto:
- update mode: Skip the record if no id or update key value is specified.
- upsert mode: Skip the record if corresponds to the id does not exist or no update key value is specified.
- never: Never skip the record even if corresponds to the id or update key does not exist.
- update mode: Throw exception if no id or update key value is specified.
- upsert mode: Insert the record if corresponds to the id or update key does not exist (also, if no id or update key value is specified).
- always: Always skip the record if corresponds to the id or update key does not exist (also, if no id or update key value is specified). update mode and upsert mode will the same behavior (only updated, never inserted).
- auto:
- column_options advanced: a key-value pairs where key is a column name and value is options for the column.
- field_code: field code (string, required)
- type: field type (string, required). See this page for list of available types. However, following types are not yet supported
USER_SELECT
,ORGANIZATION_SELECT
,GROUP_SELECT
,FILE
- timezone: timezone to convert into
date
(string, default isUTC
) - val_sep: Used to specify multiple checkbox values (string, default is
,
) - sort_columns: List of columns for sorting rows in SUBTABLE. Available only if type is
SUBTABLE
(array of objects, optional)- name: Column name (string, required)
- order: Sort order (string
asc
ordesc
, required)
- chunk_size: Maximum number of records to request at once (integer, default is
100
)
out:
type: kintone
domain: example.cybozu.com
username: username
password: password
app_id: 1
mode: upsert
update_key: id
column_options:
id: {field_code: "id", type: "NUMBER"}
name: {field_code: "name", type: "SINGLE_LINE_TEXT"}
number: {field_code: "num", type: "NUMBER"}
date: {field_code: "date", type: "DATE"}
date_time: {field_code: "datetime", type: "DATETIME"}
out:
...
reduce_key: id
column_options:
id: {field_code: "id", type: "NUMBER"}
...
table: {field_code: "table", type: "SUBTABLE", sort_columns: [{name: number, order: asc}, {name: text, order: desc}]}
table.number: {field_code: "number_in_table", type: "NUMBER"}
table.text: {field_code: "text_in_table", type: "SINGLE_LINE_TEXT"}
Form | Field Code |
---|---|
Table's own | table |
NUMBER In Table | number_in_table |
SINGLE_LINE_TEXT In Table | text_in_table |
id,table.number,table.text
1,0,test0
1,1,test1
2,0,test0
ID:1
NUMBER | SINGLE_LINE_TEXT |
---|---|
0 | test0 |
1 | test1 |
ID:2
NUMBER | SINGLE_LINE_TEXT |
---|---|
0 | test0 |
$ ./gradlew gem # -t to watch change of files and rebuild continuously
$ ./gradlew build
$ ./gradlew test