アプリ設定変更依頼プラグイン(無料)
「この項目を必須にしてほしい」「選択肢を増やしてほしい」「こういう一覧がほしい」といったアプリの設定変更を、
チャットや口頭で頼んで管理者がその場で直す運用では、誰が・いつ・何を・なぜ変えたかが残りません。
このプラグインを使うと、設定変更をレコードで依頼し、kintoneのプロセス管理で承認されたときに、
REST APIで対象アプリへ自動で反映(アプリの更新まで)します。依頼アプリのレコードがそのまま
アプリ設定の変更履歴(変更管理台帳)になるため、ガバナンスや監査の説明にも使えます。
フィールド名・フィールドコード・必須・重複禁止・初期値・選択肢・文字数/値の範囲・フィールドの削除と、
一覧の作成・修正・削除に対応しています。
プラグイン管理
#設定変更依頼
#承認フロー
#ガバナンス
ダウンロード(v1)
執筆者: 羽鳥達郎(合同会社Pons) /
kintoneアプリデザインスペシャリスト・基本情報技術者・cybozuオフィシャルパートナー
※本サイトで配布するプラグインは、サイボウズ株式会社のオフィシャルプロダクトではありません。
こんな方におすすめ
- アプリの設定変更の依頼が、チャット・メール・口頭に散らばっていて、あとから経緯を追えない
- 「誰が・いつ・何を・なぜ変えたか」というアプリ設定の変更履歴を残したい(kintone標準ではアプリ設定の変更履歴を残せない)
- アプリ管理者を限られた人に絞り、現場の人には「依頼」だけをしてもらう運用(ガバナンス)にしたい
- 設定変更に上長や情報システム担当の承認を必須にしたい(監査・内部統制・情報セキュリティの規程対応)
- 承認後の設定作業を手作業でやると、作業漏れや設定ミスが心配
- 一覧の追加を頼まれるたびに、絞り込み条件を口頭で聞き取って設定するのが手間
- 「kintone アプリ設定 変更履歴」「kintone 設定変更 承認」「kintone ガバナンス」を探している
ユースケース
現場の担当者が依頼アプリでレコードを追加し、対象アプリをアプリ名で検索して選び、「件名(title)」「必須項目の設定」「必須」を選んで、依頼理由に「件名の入力漏れが多いため」と書いて申請します。アプリ管理者(承認者)は詳細画面の依頼内容(変更前→変更後)を確認して「承認する」を押すと、確認ダイアログのあと、対象アプリの設定が変更されアプリが更新されます。反映結果と反映日時は依頼レコードに記録されます。
kintoneのアプリ設定は、画面からはいつ誰が何を変えたかを確認できません。このプラグインで設定変更を依頼経由に統一すると、依頼アプリのレコード(依頼者・依頼理由・変更前と変更後・承認者・ステータスの履歴・反映日時)が、そのまま設定変更の記録になります。監査で「この項目はいつから必須なのか」「誰の判断で選択肢を変えたのか」を聞かれたときも、依頼アプリを検索すれば答えられます。
ドロップダウンの選択肢を「B」から「B(優先)」に名前変更し、「C」を追加する、といった依頼ができます。名前変更はkintoneの仕様に沿って送るため、既存レコードの値も、一覧・グラフの絞り込み条件も新しい名前に書き換わります(検証環境で確認済み)。選択肢の削除では、既存レコードに値が残ることを依頼画面・確認ダイアログで警告します。
依頼者は対象アプリの一覧画面で「件名に『見積』を含む」「金額の大きい順」のように絞り込み・並べ替えをして、そのURLを依頼画面に貼り付けて「変換」を押すだけです。URLの条件はフィールドコードの絞り込み条件・並び順に変換されて依頼内容として保存され、承認されると対象アプリに一覧が作成されます。一覧名・条件の修正や、一覧の削除も依頼できます。
セットアップ手順
- 依頼用の新しいアプリ(空のアプリ)を作成し、プラグインを追加して設定画面を開く。
- 「完了ステータス名」を確認する(既定は「完了」。このステータスへ進むアクションで対象アプリへ反映します)。
- 「保存」を押す。必要なフィールド(対象アプリID・対象アプリ名・対象フィールド・変更内容・変更内容(JSON)・依頼理由・反映結果・反映日時)と依頼の入力欄(スペース)が自動で作成され、プロセス管理がONになります。プロセス管理を一度も設定していないアプリには「未申請 →[申請する]→ 承認待ち →[承認する]→ 完了」の承認フローを作成し、最後にアプリを更新します。
- アプリの設定 → プロセス管理で、承認経路(作業者)を運用に合わせて設定し、アプリを更新する。既定の承認フローでは「承認待ち」の作業者を、プラグインの設定を保存したユーザーにしています。作業者を設定していないステータスでは、レコードを閲覧できる全員がアクションを実行できてしまうため、必ず見直してください。
- 承認者(完了にするアクションを実行する人)に、変更対象のアプリのアプリ管理権限を付与しておく。反映は承認者の権限で行われ、権限が無い場合はエラーになりステータスは変わりません。
- 依頼者は、レコード追加画面で対象アプリを選び、「フィールド」または「一覧」と変更内容を指定して保存し、「申請する」を実行します。
依頼の入力はPCの画面で行います。完了アクションでの反映はモバイルでも動作し、確認画面(ボトムシート)が表示されます。
対象アプリに運用環境へ未反映の設定変更(アプリの設定画面で「アプリを更新」していない変更)がある場合は、ほかの人の作業途中の変更まで反映しないよう、エラーで中止します。
セキュリティレビュー結果サマリ
kintoneセキュアコーディングガイドラインに沿って実装時にチェックしています。特に重要な点は次のとおりです。
- 反映はすべて完了アクションを実行したユーザー自身の権限で行います。APIトークンやパスワードなどの認証情報は一切保存・使用しないため、プラグインを通じて権限が広がることはありません。反映前にアプリ管理権限が必要なAPIで対象アプリの管理権限を確認し、権限が無ければエラーでキャンセルします。
- 反映に使う依頼内容(JSON)は、変更内容の種類・値の型・アプリIDなどを厳密に検証し、決められた設定項目だけをAPIに送ります(計算式やカスタマイズ形式の一覧など、任意の設定を書き込む経路はありません)。
- 反映の直前に依頼レコードを取り直し、承認者が見ている画面の内容と一致するかを確認します。詳細画面と確認ダイアログの表示は、反映に使うJSONから毎回作るため、表示された内容と反映される内容が食い違いません。
- 対象アプリに未反映の設定変更がある場合は中止し、変更はリビジョン番号を指定して送ります。アプリの更新(デプロイ)に失敗した場合は、変更を取り消して元に戻します。
- 一覧画面のURLの変換では、同じkintone環境の、選択中の対象アプリの一覧画面だけを見えない枠(iframe)で開き、kintone公式のJavaScript APIで条件を取得します(別ドメインのURLは開きません)。
- 画面の表示はすべて
textContentで組み立て、innerHTMLを一切使用していません(XSS対策)。REST APIはkintone自身へのkintone.api()のみで、外部サーバーへの通信や外部ライブラリはありません。
- 承認経路(作業者)の設定と、承認後に依頼内容を書き換えられないようにするレコードのアクセス権は、運用に合わせて設定してください(設定画面にも注意書きを表示します)。
詳細な確認項目・確認日は下記GitHubのチェックリストに全項目を掲載しています。
→ security-checklist.md をGitHubで見る
API実行数について
依頼の入力では、アプリの検索・選択時に1〜2回、対象アプリのフィールド取得に1回のREST APIを使います(一覧の依頼では、一覧・プロセス管理・フォームのレイアウトの取得に計3回が加わります)。
一覧画面のURLの変換は、対象アプリの一覧画面を開くのと同じ動作です。
完了アクションでの反映は、依頼レコードの取得・管理権限の確認・フィールド(または一覧)の取得・変更・アプリの更新と反映状況の確認で、1件の依頼につき7〜12回程度です。
API実行数は、依頼アプリ・対象アプリそれぞれの上限にカウントされます。設定画面での保存時は、フィールド・スペース・プロセス管理の作成とアプリの更新でAPIを実行します。
あわせて検討したいkintone関連サービス
by 合同会社Pons kintoneオフィシャルパートナー