次の方法で共有


CodePush Management SDK

重要

Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。

サポートタイムラインと代替手段の詳細については、こちらを参照してください。

プログラムによって App Center アカウントを管理するための JavaScript ライブラリ (アプリの作成、リリースの昇格など) 。 これにより、CLI にシェルアウトすることなく、Node.js ベースのビルドまたはデプロイ スクリプトを作成できます。

作業の開始

  1. 次の App Center コマンドを使用して、App Center サーバーで認証するトークンを作成します。

    appcenter tokens create -d "DESCRIPTION_OF_THE_KEY"
    

    API Token は 1 回だけ表示されるため、必要に応じてどこかに保存してください。

  2. 次を実行して管理 SDK をインストールします。

    npm install code-push --save
    
  3. 次のステートメント (該当する場合は ES6 構文を使用) を使用してインポートします。

    • commonjs 環境では、次の手順を実行します。
    const CodePush = require("code-push");    
    
    • tsconfig.jsonでの ES6 構文の使用:
    import CodePush from "code-push";
    
  4. クラスのインスタンスを作成し CodePush 、手順 1 で作成した API Token クラスを渡します。

    const codePush = new CodePush("YOUR_API_TOKEN");
    
  5. アカウントの管理の自動化を開始します。 この codePush オブジェクトで実行できる操作の詳細については、以下の API リファレンスセクションを参照してください。

API リファレンス

モジュールは code-push 、プロキシを表す 1 つのクラス (通常は と呼ばれます CodePush) を CodePush アカウント管理 REST API にエクスポートします。 このクラスには、CodePush サービスで認証するための 1 つのコンストラクターと、管理 CLI のコマンドに対応するインスタンス メソッドのコレクションがあり、これにより、App Center アカウントのすべての側面をプログラムで制御できます。

コンストラクター

  • CodePush(accessKey: string) - 指定されたアクセス キーを使用して、サーバーで認証される CodePush 管理 SDK の新しいインスタンスを作成します。

メソッド

注意

access key ここでは、AppCenter API トークンを参照します。

  • addAccessKey(description: string): Promise<AccessKey> - 指定された説明 ("Azure DevOps CI" など) を使用して新しいアクセス キーを作成します。
  • addApp(appName: string, os: string, platform: string, manuallyProvisionDeployments: boolean = false): Promise<App> - 指定した名前、os、プラットフォームを使用して新しい CodePush アプリを作成します。 が true に設定されている場合 manuallyProvisionDeployments 、アプリは "Staging" と "Production" の既定のデプロイを作成しません。指定されていない場合、または false に設定されている場合は作成されます。
  • addCollaborator(appName: string, email: string): Promise<void> - 指定した CodePush ユーザーをコラボレーターとして指定された CodePush アプリに追加します。
  • addDeployment(appName: string, deploymentName: string): Promise<デプロイ> - 指定した名前と、指定したアプリの新しいデプロイを作成します。
  • clearDeploymentHistory(appName: string, deploymentName: string): Promise<void> - 指定したアプリ展開のリリース履歴をクリアします。
  • getAccessKey(accessKey: string): Promise<AccessKey> - 特定のアクセス キーに関するメタデータを取得します。
  • getAccessKeys(): Promise<AccessKey[]> - CodePush アカウントのアクセス キーの一覧を取得します。
  • getApp(appName: string): Promise<アプリ> - 指定したアプリに関するメタデータを取得します。
  • getApps(): Promise<App[]> - CodePush アカウントのアプリの一覧を取得します。
  • getCollaborators(appName: string): Promise<CollaboratorMap> - 指定したアプリのコラボレーターの一覧を取得します。
  • getDeployment(appName: string, deploymentName: string): Promise<デプロイ> - 指定したアプリのデプロイのメタデータを取得します。
  • getDeploymentHistory(appName: string, deploymentName: string): Promise<Package[]> - 指定したアプリの展開に対して行われたリリースの一覧を取得します。
  • getDeploymentMetrics(appName: string, deploymentName): Promise<DeploymentMetrics> - 指定したアプリのデプロイのインストール メトリックを取得します。
  • getDeployments(appName: string): Promise<Deployment[]> - 指定したアプリのデプロイの一覧を取得します。
  • patchRelease(appName: string, deploymentName: string, label: string, updateMetadata: PackageInfo): Promise<void> - 指定されたリリースのメタデータを指定された情報と共に更新します。
  • promote(appName: string, sourceDeploymentName: string, destinationDeploymentName: string, updateMetadata: PackageInfo): Promise<void> - 指定したアプリのデプロイ間で最新のリリースを昇格させ、指定されたメタデータでリリースを更新します。
  • release(appName: string, deploymentName: string, updateContentsPath: string, targetBinaryVersion: string, updateMetadata: PackageInfo): Promise<void> - 指定されたメタデータを使用して、指定されたデプロイに対する新しい更新プログラムをリリースします。
  • removeAccessKey(accessKey: string): Promise<void> - CodePush アカウントから指定したアクセス キーを削除します。
  • removeApp(appName: string): Promise<void> - 指定した CodePush アプリをアカウントから削除します。
  • removeCollaborator(appName: string, email: string): Promise<void> - 指定したアカウントをコラボレーターとして指定したアプリから削除します。
  • removeDeployment(appName: string, deploymentName: string): Promise<void> - 指定したアプリから指定したデプロイを削除します。
  • renameApp(oldAppName: string, newAppName: string): Promise<void> - 既存のアプリの名前を変更します。
  • renameDeployment(appName: string, oldDeploymentName: string, newDeploymentName: string): Promise<void> - 指定したアプリ内の既存のデプロイの名前を変更します。
  • rollback(appName: string, deploymentName: string, targetRelease?: string): Promise<void> - 指定されたデプロイ内の最新リリースをロールバックします。 必要に応じて、前のリリースにローリングするのではなく、デプロイの履歴で特定のリリースをターゲットにできます。

エラー処理

いずれかのメソッドでエラーが発生すると、Promise は次のプロパティを持つ CodePushError オブジェクトで拒否されます。

  • message: エラーを説明するわかりやすいメッセージ。
  • statusCode: エラーのカテゴリを識別する HTTP 応答コード。
    • CodePush.ERROR_GATEWAY_TIMEOUT: ネットワーク エラーにより、CodePush サーバーに接続できませんでした。
    • CodePush.ERROR_INTERNAL_SERVER: CodePush サーバーで内部的にエラーが発生しました。
    • CodePush.ERROR_NOT_FOUND: 取得しようとしているリソースが存在しません。
    • CodePush.ERROR_CONFLICT: 作成しようとしているリソースが既に存在します。
    • CodePush.ERROR_UNAUTHORIZED: 構成したアクセス キーが無効であるか、有効期限が切れています。