Power Apps Code Appsで始める業務アプリ開発③:備品管理アプリを作ってみる

連載:Power Apps Code Appsで始める業務アプリ開発・第3回 | 連載のまとめ

Power Apps Code Apps(以下、Code Apps)の第2回「環境・体制・ライセンスを準備する」までに、対象業務と開発環境、ライセンスの準備を整理しました。今回はターミナルと統合開発環境(IDE)を使い、空のアプリを作成してから、Microsoft Dataverse(以下、Dataverse)に接続する備品管理アプリへ機能を追加していきます。

一度に全機能を完成させるより、ローカル実行、空アプリの発行、データ取得、登録・更新の順に確認する方が、問題の切り分けがしやすくなります。この記事は開発手順のガイドであり、完成済みのサンプルソースを配布するものではありません。

備品管理の進め方と例は設計・導入の提案です。個別テナントで手順を実行した結果を示すものではありません。

1. 空のアプリを作り、開発の流れを体験する

空アプリの発行後、データ接続と実装、ローカル確認を繰り返し、条件を満たしたら開発環境へ発行して別ユーザーでの検証へ進む流れ
図3:開発と発行を繰り返す流れ。確認した条件を満たすまで実装に戻り、機能ごとに小さく発行する進め方を示します。クリックすると拡大できます。

Mermaid原図

空アプリの発行を早い段階で試し、実装・確認・発行の単位を小さくします。

1.1 端末を準備する

Node.jsのLTS(長期サポート)バージョン、Git、Visual Studio CodeなどのIDEを準備します。npmパッケージの取得とローカルサーバーへのアクセスが社内端末で許可されているかも確認してください。ここで使うターミナルは、以降のnpmとPower Apps CLI(コマンドラインツール、以下CLI)のコマンドを実行できる端末を想定しています。

以下はpaコマンドを使う手順です。古い記事のpac code方式の手順を途中に混ぜず、同じCLI系列の資料を使います。[3]

1.2 プロジェクトを作る

ターミナルで、作業用フォルダーから次を実行します。

npx degit github:microsoft/PowerAppsCodeApps/templates/vite asset-poc
cd asset-poc
npm install --global @microsoft/power-apps-cli
npm install --global @microsoft/power-apps
npm install

テンプレートを取得してasset-pocフォルダーを作り、CLIと依存パッケージを準備します。コマンドが失敗した場合は、取得先への通信、npmの権限、使用するNode.jsを確認します。社内端末で権限を変更する必要がある場合は、端末管理者と対応してください。

1.3 開発環境と関連付ける

pa app init

対話画面でアプリの表示名と開発環境を選び、組織アカウントでサインインします。先に控えた環境名・IDと照合して、誤って本番環境を選ばないようにします。[3]

初期化後は、power.config.jsonなどの構成を確認します。このファイルにはアプリと接続のメタデータがあり、CLIとPower Appsクライアントライブラリ(以下、Power Apps SDK)が利用します。業務ロジックから直接操作する前提ではありません。[1]

1.4 ローカルで動かす

pa app run

出力されたLocal PlayのURLを開きます。Power Platformにサインインしているのと同じブラウザープロファイルを使ってください。Edge/Chromeのローカルネットワークアクセス許可や企業ポリシーの調整が必要な場合があります。[3]

空アプリが表示されたら、テンプレートの画面にある見出しを「備品管理」に変更し、表示が更新されるか確かめます。ブラウザーで表示を確認しながらソースを編集する流れを、ここで一度体験します。

1.5 最初の発行も試す

業務機能を作り込む前に、開発用の空アプリを発行します。発行できる権限と環境設定を早く確認するためです。

npm run build
pa app push

成功時に返るPower Appsの実行URLを記録し、発行したアプリを開きます。ローカルでの変更は、発行済みアプリへ反映するために再ビルド・再発行する手順が必要です。[3]

次へ進む条件: ローカルで変更できること、ビルドが通ること、開発環境への発行と起動ができることを確認します。ソースと依存バージョンをGitで記録してください。

2. データに接続し、業務画面を作る

2.1 備品テーブルを準備する

この連載はDataverseを使う例です。以下は試作用の項目案であり、作成済みテーブルの定義ではありません。実際の列型・必須設定・権限は管理者と決めてください。

項目 使い方 決めておくこと
管理番号 備品を業務上識別する 必須、重複を認めるか
名称 一覧・検索で表示する 必須、入力上限
分類 PC、備品等を分類する 選択肢か文字列か
状態 利用中、保管中等を表す 状態の種類と変更ルール
設置場所 保管・使用場所を示す 表記の統一
備考 補足事項を記録する 機密情報を入れないルール

最初は架空の備品データで試します。データを業務で使う段階では、データの責任者、正しい入力値、訂正方法、保存期間も決めます。

2.2 CLIでデータソースを追加する

プロジェクトのルートで実行します。山括弧で囲まれた部分は、実際の値へ置き換えます。山括弧そのものは入力しません。

pa app add data-source --connector dataverse --table <備品テーブルの論理名>

表示名と論理名は同じとは限りません。管理者が控えたテーブルの論理名を使ってください。追加後は、IDEで生成されたモデルとサービスを開き、利用できる操作、引数、戻り値を確認します。ここでいうモデルとサービスは、接続先に合わせて生成される型定義とデータ操作用のコードです。[2][4]

この連載では生成サービスの名前やメソッドを固定したソース例を示していません。実際のテーブルと生成結果に合わせて実装するためです。生成された型とメソッドを確認し、存在しないAPIを推測して呼び出さないでください。

2.3 次の順序で実装する

順序 作る画面・処理 その段階で確かめること
1 一覧 データ取得、空の一覧、読み込み中の表示
2 検索・ページング 本番想定件数での取得量と応答時間
3 詳細 選んだ備品と表示内容の一致
4 登録 必須項目、成功表示、重複の扱い
5 編集 更新結果、同時編集の扱い
6 エラー表示 通信失敗、権限不足、再試行

一覧が動いた時点で一度Gitへ記録し、機能を小さく追加します。エラー時には、利用者が次に何をすればよいかを画面に示します。「登録失敗」だけでなく、入力を直すのか、再試行するのか、管理者へ連絡するのかが分かるようにしてください。

同時編集や二重登録は画面側の制御だけで解決しようとせず、データ源の整合性を含めて設計します。キャンバス アプリの委任ルールをそのままCode Appsへ当てはめず、使うSDK・APIの検索条件と取得件数を検証します。

2.4 SharePointを使う場合の分岐

SharePointリストをデータ源にする場合は、対応する接続とリストを準備して追加します。[2]

pa app add data-source --connector shared_sharepointonline --connection-id <接続ID> --dataset "https://<テナント>.sharepoint.com/sites/<サイト>" --table "<リスト名>"

接続IDと正確なリスト名は環境・CLI出力から取得してください。特殊文字を含む名称は推測せず、出典のデータセット・テーブル検出手順を使います。権限はSharePoint側でも確認し、Dataverseのセキュリティロールと同じものとして扱わないでください。

2.5 AIコーディング支援を使う

GitHub Copilotなどの利用は任意です。利用権と社内のソース・データ利用方針を確認してから使います。Microsoftの公式資料には、GitHub Copilot CLIとCode Apps用プラグインを使う構築手順もあります。確認した手順のプラグイン名はcode-apps-previewであり、Code Apps本体と支援プラグインの提供状態は区別します。[5]

依頼例:

「生成されたDataverseのモデルとサービスを読み、備品一覧、検索、詳細、登録、更新の画面を実装してください。実際に存在するメソッドと型を使ってください。読み込み中、空の一覧、入力エラー、通信エラーを表示してください。秘密情報を埋め込まず、認可はデータ源側で行う前提にしてください。」

生成したコードは、開発者がAPI呼び出し、取得量、入力チェック、権限、依存パッケージを確認します。業務ルールの正しさは業務担当者ともレビューします。

次へ進む条件: 基本操作が合成データで動き、正常時と失敗時の画面を説明できることを確認します。

今回のまとめ

開発の基本は、初期化、ローカル実行、データソース追加、実装、ビルド・発行を繰り返すことです。生成された型とサービスを確認し、正常時だけでなく、入力や通信に問題がある場合の操作も作ります。

用語メモ

用語 意味
CLI ターミナルで使うコマンドツール
Microsoft Dataverse Power Platformで使うデータ基盤
CRUD データの作成・読取・更新・削除

参考資料

筆者が事前に行った調査(2026年10月6日時点)を基に構成しています。2026年11月10日に、以下の公式資料でCLIの初期化・ローカル実行・発行、DataverseとSharePointへの接続、生成コードの役割、GitHub Copilot CLIの支援手順を確認しました。掲載コマンドを筆者のテナントで実行した結果ではありません。実際の契約・環境条件は、導入時に自社の契約と公式資料で確認してください。

  1. Microsoft公式:Code Appsアーキテクチャ
  2. Microsoft公式:データ接続・生成サービス・接続参照
  3. Microsoft公式:Code Appsクイックスタート
  4. Microsoft公式:Dataverse接続
  5. Microsoft公式:GitHub Copilotによる構築手順