Power Apps Code Appsで始める業務アプリ開発③:備品管理アプリを作ってみる
連載:Power Apps Code Appsで始める業務アプリ開発・第3回 | 連載のまとめ
Power Apps Code Apps(以下、Code Apps)の第2回「環境・体制・ライセンスを準備する」までに、対象業務と開発環境、ライセンスの準備を整理しました。今回はターミナルと統合開発環境(IDE)を使い、空のアプリを作成してから、Microsoft Dataverse(以下、Dataverse)に接続する備品管理アプリへ機能を追加していきます。
一度に全機能を完成させるより、ローカル実行、空アプリの発行、データ取得、登録・更新の順に確認する方が、問題の切り分けがしやすくなります。この記事は開発手順のガイドであり、完成済みのサンプルソースを配布するものではありません。
備品管理の進め方と例は設計・導入の提案です。個別テナントで手順を実行した結果を示すものではありません。
1. 空のアプリを作り、開発の流れを体験する
空アプリの発行を早い段階で試し、実装・確認・発行の単位を小さくします。
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の支援手順を確認しました。掲載コマンドを筆者のテナントで実行した結果ではありません。実際の契約・環境条件は、導入時に自社の契約と公式資料で確認してください。
- Microsoft公式:Code Appsアーキテクチャ
- Microsoft公式:データ接続・生成サービス・接続参照
- Microsoft公式:Code Appsクイックスタート
- Microsoft公式:Dataverse接続
- Microsoft公式:GitHub Copilotによる構築手順