cybozu.com共通管理に登録されているユーザーには、ログイン名などとは別に、ユーザーを識別するための「ユーザーID」があります。ユーザーID は、普段 kintone を利用する中で直接確認する機会はほとんどありません。

カスタマインでは、プロフィールのカスタマイズ項目にユーザー選択タイプの項目を設定している場合などに、やること「ユーザーのプロフィールを取得する」でユーザーID を取得することがあります。
このとき、ユーザーID から、対応するユーザーを kintone のユーザー選択フィールドで扱える形式で取得できると便利です。
この記事では、ユーザーID と kintone のユーザーを紐づけるユーザーマスタを作成・更新する方法を紹介します。
動作イメージ
今回は、ユーザーマスタを更新するための「ユーザーマスタ更新用」と、ユーザーIDと kintone のユーザーを紐づける「ユーザーマスタ」の2つのアプリを使用します。
「ユーザーマスタ更新用」アプリに下記のようなレコードを1件作成し、レコード詳細画面で、「ユーザーマスタを更新」ボタンをクリックします。

ボタンをクリックすると、「更新グループ」フィールドで指定したグループに所属するユーザーをすべて取得し、「ユーザーマスタ」アプリへ、1ユーザー1レコードとして登録します。
(すでに同じユーザーID のレコードが存在する場合は、そのレコードを更新します)

この記事では、例として「Everyone」に所属するユーザーを、ユーザーマスタへ登録します。
※このカスタマイズでは、取得したユーザーに対応するレコードを追加・更新します。ユーザーマスタに存在するレコードを削除する処理は行いません。
アプリの設定
ユーザーマスタ更新用 アプリ
ユーザーマスタを更新するカスタマイズを設定するアプリです。
次のフィールドを配置します。
※ユーザー選択フィールドでもグループを選択することは可能ですが、その時点で選択したグループに所属しているユーザーがセットされます。今回、「ユーザーマスタを更新」ボタンをクリックした時点で、「Everyone」に所属しているユーザーを取得するため、グループ選択フィールドを使用します。

後述するカスタマイズは、レコード詳細画面に配置したボタンから実行します。
そのため、「更新グループ」フィールドで「Everyone」を選択したレコードを1件作成しておきます。
ユーザーマスタ アプリ
ユーザーID と kintoneユーザーを紐づけて保存するアプリです。
次のフィールドを配置します。
※ユーザーID は取り得る値が大きいため、フィールドタイプは数値ではなく、文字列(1行)を使用してください。

ユーザーマスタのレコードは、後述するカスタマイズによって自動的に追加・更新されるため、あらかじめ手動で作成する必要はありません。
カスタマインの設定
「ユーザーマスタ更新用」アプリに、下記のカスタマイズを設定します。

ユーザーマスタを更新するボタンを配置する
まず、レコード詳細画面に「ユーザーマスタを更新」ボタンを配置します。
やること「ボタンをメニュー位置に配置する」
条件「詳細画面を表示した時」

グループに所属するユーザーを取得する
アクション1 で作成した「ユーザーマスタを更新」ボタンを押した時、「更新グループ」フィールドで選択されているグループに所属するユーザーを取得します。
やること「グループ(ロール)に所属するユーザーを取得する」
条件「ボタンを押した時」

取得したユーザーを1件ずつ取り出す
アクション2 で取得したユーザーごとに、後続のアクション4 でレコードを追加・更新するため、ユーザーを1件ずつ取り出します。
やること「リストから要素を取り出す」

ユーザーマスタのレコードを追加または更新する
アクション3 で取り出したユーザーに対応するレコードを、ユーザーマスタへ追加または更新します。
やること「レコードを更新または追加する(キーの値を直接指定)」
条件「リストから要素を取り出した時」

この設定により、既に「ユーザーID」のレコードが存在する場合は更新、なければレコードを新しく追加します。
また、「ユーザーID」フィールドで「値の重複を禁止する」を有効にしているため、同じユーザーID のレコードが重複して登録されるのを防げます。
以上でカスタマイズは完成です。
「ユーザーマスタ更新用」アプリのレコード詳細画面を開き、「ユーザーマスタを更新」ボタンをクリックして動作を確認してください。
なお、cybozu.com共通管理にユーザーを追加した場合など、ユーザー情報に変更があった場合は、必要に応じて「ユーザーマスタを更新」ボタンをクリックし、ユーザーマスタの情報を更新してください。
まとめ
今回のカスタマイズでは、「更新グループ」フィールドで指定したグループに所属する全ユーザーを取得し、ユーザーID をキーとしてユーザーマスタへ追加・更新する方法を紹介しました。
ユーザーマスタにユーザーID と kintoneユーザーを対応付けておくことで、ユーザーID から対応するユーザーを簡単に取得できるようになります。
ご不明な点がございましたら、チャット でお問い合わせください。