kintone スペース管理コマンドで、実際にスペース作成・照会・更新・削除操作を行なってみます。
概要
chatGPT で kintone スペース管理コマンド作成で作成したコマンドを実際に使ってみます。
簡単にコマンドで、スペーステンプレートからアプリを含むスペースを作成できます。
- 環境
- kintone: 開発環境
- OS: mac
- 今回は、mac ですが windows でも同様にできます
- ターミナルで操作
kintone 環境
kintoneシステム管理のアップデートオプションで開発中の新機能の下記を有効にする必要があります。
- 「スペースの情報を取得できるJavaScript API」を有効にする
- 「テンプレートを指定せずにスペースを作成できるREST API」を有効にする
ただゲストスペースについては、スペーステンプレート無しでは、スペース作成できませんでした。
インストール
適当なディレクトリでリポジトリをクローンします。
git clone https://github.com/rex0220/kintone_manage_space.git
cd kintone_manage_space
依存関係をインストールします
npm install
環境変数ファイルの作成
今回は、環境変数ファイル .env を作成します。
プロジェクトディレクトリに .env ファイルを作成し、kintoneの資格情報を追加します。
別名ファイルで、複数の kintone 環境へも対応可能です。
※環境変数ファイルが指定されている場合は、環境変数よりも優先されます。
オプション指定 > 環境変数ファイル > 環境変数
KINTONE_DOMAIN=your_domain
KINTONE_USERNAME=your_username
KINTONE_PASSWORD=your_password
動作確認 ヘルプ表示
インストールに問題なければ、ヘルプ表示出来ます。
$ node manage_space.js -h
オプション:
--version バージョンを表示 [真偽]
-d, --domain kintoneのドメイン [文字列]
-u, --username kintoneのユーザー名 [文字列]
-p, --password kintoneのパスワード [文字列]
-e, --envfile .envファイルのパス [文字列]
-i, --spaceId 既存のスペースID(指定時、ユーザーにはスペース管理
権限が必要) [文字列]
-s, --spaceName スペースの名前 [文字列]
-f, --fixedMember スペースメンバーの固定 [真偽] [デフォルト: null]
-c, --createAppPermission アプリ作成権限(EVERYONE または ADMIN)
[文字列] [選択してください: "EVERYONE", "ADMIN"]
-g, --guest ゲストスペースの指定 [真偽] [デフォルト: false]
-t, --templateId スペーステンプレートIDの指定 [文字列]
-a, --action 操作の種類(create, update, show, delete)
[文字列] [選択してください: "create", "update", "show", "delete"]
--help ヘルプを表示 [真偽]
操作の種類に応じて、スペースの作成、更新、表示、または削除を行います。
操作の種類はactionオプションで指定してください(create, update, show, delete)。
操作の種類を指定するためにactionオプションを使用してください(create, update, show, delete)。
空のスペース作成手順
最初に、空のスペースを作ってみます。
create でスペース作成し、show でスペース表示します。
スペース作成と表示
$ node manage_space.js -e .env -a create -s テストスペース1
スペース「テストスペース1」を作成しています...
作成されたスペース「テストスペース1」のID: 295
スペース「テストスペース1」が正常に作成されました。ID: 295
$ node manage_space.js -e .env -a show -i 295
スペースID「295」の情報を表示しています...
スペース情報:
スペース名: テストスペース1
スペースID: 295
ゲストスペース: いいえ
スペースの状態: 公開
メンバー固定: いいえ
アプリ作成権限: EVERYONE
作成者: レックス (Alex2013)
更新者: レックス (Alex2013)
スペース内のアプリはありません。
スペース更新
スペース名とアプリ作成権限を変えてみます。
update で、スペース名とアプリ作成権限の変更を行います。
更新内容を確認の応答待ちになりますので、「yes」を応答します。
$ node manage_space.js -e .env -a update -i 295 -s テスト更新 -c ADMIN
スペースID「295」を更新しています...
スペースID「295」の情報を表示しています...
スペース情報:
スペース名: テストスペース1
スペースID: 295
ゲストスペース: いいえ
スペースの状態: 公開
メンバー固定: いいえ
アプリ作成権限: EVERYONE
作成者: レックス (Alex2013)
更新者: レックス (Alex2013)
スペース内のアプリはありません。
更新内容:
スペース名: テストスペース1 -> テスト更新
アプリ作成権限: EVERYONE -> ADMIN
このスペースを更新してもよろしいですか? (yes/no): yes
スペースID「295」が正常に更新されました。
$ node manage_space.js -e .env -a show -i 295
スペースID「295」の情報を表示しています...
スペース情報:
スペース名: テスト更新
スペースID: 295
ゲストスペース: いいえ
スペースの状態: 公開
メンバー固定: いいえ
アプリ作成権限: ADMIN
作成者: レックス (Alex2013)
更新者: レックス (Alex2013)
スペース内のアプリはありません。
スペース削除
delete で、スペース削除を行います。
スペース削除確認の応答待ちになりますので、「yes」を応答します。
$ node manage_space.js -e .env -a delete -i 295
スペースID「295」の情報を表示しています...
スペース情報:
スペース名: テスト更新
スペースID: 295
ゲストスペース: いいえ
スペースの状態: 公開
メンバー固定: いいえ
アプリ作成権限: ADMIN
作成者: レックス (Alex2013)
更新者: レックス (Alex2013)
スペース内のアプリはありません。
このスペースを削除してもよろしいですか? (yes/no): yes
スペースID「295」を削除しています...
スペースID「295」が正常に削除されました。
$ node manage_space.js -e .env -a show -i 295
スペースID「295」の情報を表示しています...
Error status: 520
Error data: {
"code": "OC_NO01",
"id": "nBcRITmgGzkngg1Olacp",
"message": "指定されたスペース(id: 295)が見つかりません。削除されている可能性があります。"
}
...
スペーステンプレートによるスペース作成
スペーステンプレートを使って、アプリを含むスペースを作成します。
スペース作成と表示
スペーステンプレートID 7 を指定して、スペースを作成します。
テンプレートに含まれるアプリも一緒に作成されます。
$ node manage_space.js -e .env -a create -s テストテンプレート1 -t 7
スペース「テストテンプレート1」を作成しています...
作成されたスペース「テストテンプレート1」のID: 296
スペース「テストテンプレート1」が正常に作成されました。ID: 296
$ node manage_space.js -e .env -a show -i 296
スペースID「296」の情報を表示しています...
スペース情報:
スペース名: テストテンプレート1
スペースID: 296
ゲストスペース: いいえ
スペースの状態: 公開
メンバー固定: いいえ
アプリ作成権限: EVERYONE
作成者: レックス (Alex2013)
更新者: レックス (Alex2013)
スペース内のアプリ:
1. 対象アプリ(データ生成調査用) (ID: 3102)
2. 生成先アプリ(データ生成調査用) (ID: 3103)
スペース更新
update で、メンバー固定を変更します。
$ node manage_space.js -e .env -a update -i 296 -f
スペースID「296」を更新しています...
スペースID「296」の情報を表示しています...
スペース情報:
スペース名: テストテンプレート1
スペースID: 296
ゲストスペース: いいえ
スペースの状態: 公開
メンバー固定: いいえ
アプリ作成権限: EVERYONE
作成者: レックス (Alex2013)
更新者: レックス (Alex2013)
スペース内のアプリ:
1. 対象アプリ(データ生成調査用) (ID: 3102)
2. 生成先アプリ(データ生成調査用) (ID: 3103)
更新内容:
メンバー固定: いいえ -> はい
このスペースを更新してもよろしいですか? (yes/no): yes
スペースID「296」が正常に更新されました。
$ node manage_space.js -e .env -a show -i 296
スペースID「296」の情報を表示しています...
スペース情報:
スペース名: テストテンプレート1
スペースID: 296
ゲストスペース: いいえ
スペースの状態: 公開
メンバー固定: はい
アプリ作成権限: EVERYONE
作成者: レックス (Alex2013)
更新者: レックス (Alex2013)
スペース内のアプリ:
1. 対象アプリ(データ生成調査用) (ID: 3102)
2. 生成先アプリ(データ生成調査用) (ID: 3103)
スペース削除
delete で、スペース削除します。
$ node manage_space.js -e .env -a delete -i 296
スペースID「296」の情報を表示しています...
スペース情報:
スペース名: テストテンプレート1
スペースID: 296
ゲストスペース: いいえ
スペースの状態: 公開
メンバー固定: はい
アプリ作成権限: EVERYONE
作成者: レックス (Alex2013)
更新者: レックス (Alex2013)
スペース内のアプリ:
1. 対象アプリ(データ生成調査用) (ID: 3102)
2. 生成先アプリ(データ生成調査用) (ID: 3103)
このスペースを削除してもよろしいですか? (yes/no): yes
スペースID「296」を削除しています...
スペースID「296」が正常に削除されました。