kintoneのフィールドコードとフィールド名の一覧をスプレッドシートに出力
4270 views
この記事では、kintoneのフィールドコードとフィールド名の一覧を、AUTOROを使用してスプレッドシートに出力する方法を紹介します。
フィールド情報を出力
kintoneレコードの更新や作成時、特にフィードコードがデフォルト設定のままの場合や、kintoneUpdateRecordsアクションで参照できないサブテーブルの値を生成する場合に、使用するフィールドコードを確認することは非常に手間となります。
この手間を省くために、フィールドコードとフィールド名の一覧をスプレッドシートやExcelに出力するワークフローを紹介します。

以下をエディタモードより貼り付けてご利用ください。
貼り付け方法は以下をご参照ください。
参考:ワークフローの複製
# スプレッドシートを作成
+create_spreadsheet_1:
action>: CreateSpreadsheet
title: 'kintoneフィールドコード_フィールド名一覧_${moment().utcOffset(540).format("YYYY-MM-DD_HHmmss")}'
provider: ''
meta:
display: null
# リストを作成_出力したいアプリの番号
+create_list_1:
action>: CreateList
items: [8,22]
# ブラウザを開く
+open_browser_1:
action>: OpenBrowser
url: 'https://ドメイン名.cybozu.com'
lang: 'ja-JP'
timeZone: 'Asia/Tokyo'
headless: true
windowSize: '1280 x 720'
useShadowDomSelector: false
# 文字入力
+type_text_1:
action>: TypeText
browser: +open_browser_1
selector: '#username-\3A 0-text'
text: ''
clearValue: false
ignoreError: true
# パスワード入力
+type_password_1:
action>: TypePassword
browser: +type_text_1
selector: 'input[type=password]'
password: '********'
ignoreError: true
# キーを送信_ログイン
+send_keys_1:
action>: SendKeys
browser: +type_password_1
selector: 'input[type=password]'
keys: ["Enter"]
ignoreError: true
# 各要素について繰り返す
+for_each_1:
for_each>:
appId: +create_list_1
withIndex: index
_do:
# URLへ遷移
+go_to_1:
action>: GoTo
browser: +send_keys_1
url: 'https://ドメイン名.cybozu.com/k/${appId}'
waitAfter: 5000
# テキストを取得_アプリ名(シート名に使う)
+get_text_1:
action>: GetText
browser: +go_to_1
selector: 'h2 > a'
ignoreError: true
# 変数に保存_アプリ名(シート名に使う)
+store_value_1:
action>: StoreValue
key: appName
value: +get_text_1
# ページ内でJavaScriptを実行する_フィールド情報
+inject_script_1:
action>: InjectScript
browser: +go_to_1
code: "(async () => {\n const body = {\n app: kintone.app.getId()\n };\n\n const getProps = await kintone\n .api(kintone.api.url(\"/k/v1/app/form/fields.json\", true), \"GET\", body)\n .catch(e => e);\n const props = getProps.properties;\n const header = [\n [\n \"フィールドコード\",\n \"フィールド名\",\n \"フィールドタイプ\",\n \"フィールドコードとフィールド名が等しいか\"\n ]\n ];\n const fieldProperties = Object.keys(props).reduce((array, propKey) => {\n const row = [\n props[propKey].code,\n props[propKey].label,\n props[propKey].type,\n props[propKey].code === props[propKey].label\n ];\n array.push(row);\n return array;\n }, header);\n\n return fieldProperties;\n})();\n"
returnValue: true
# シートを追加
+append_sheet_1:
action>: AppendSheet
spreadsheet: +create_spreadsheet_1
name: ${index + "_" + appName}
# セルの値を更新
+update_cells_1:
action>: UpdateCells
spreadsheet: +append_sheet_1
range: '${index + "_" + appName}!A1'
values: +inject_script_1
# ブラウザを閉じる
+close_browser_1:
action>: CloseBrowser
browser: +open_browser_1
ワークフローは、以下の流れで動きます。
- 新しいスプレッドシートを生成
- kintoneにログインする
- 「リストを作成」で追加したアプリIDを持つアプリに繰り返しでアクセスする
- アプリ名を取得し、取得したアプリ名のシートを1のシート内に作成する
- 以下4列を取得し、4のシートに貼り付ける
[フィールドコード, フィールド名, フィールドタイプ, コードと名が一致するか]
以下をご自身の情報に設定後、実行ください。
- スプレッドシートのプロバイダーID(create_spreadsheet_1)
- リストを作成のアプリID(create_list_1)
入力例:[8,256, 1431] - kintoneのログインURL(open_browser_1, go_to_1)
- kintoneのログインID,パスワード(type_text_1, type_password_1)


<kintone>キントーン
このページは役に立ちましたか?
サイトを見て解決しない場合はAUTOROにログインし、チャットよりお問い合わせください。