アプリケーション ライフサイクル管理 (ALM) APIApplication Lifecycle Management (ALM) APIs

ALM API は、テナント全体で SharePoint Framework ソリューションとアドインの展開を管理するためのシンプルな API を提供します。ALM APIs provide simple APIs to manage deployment of your SharePoint Framework solutions and add-ins across your tenant. ALM API でサポートされる機能は次のとおりです。ALM APIs support the following capabilities:

  • テナントまたはサイト コレクションのアプリ カタログに SharePoint Framework ソリューションまたは SharePoint アドインを追加します。Add SharePoint Framework solution or SharePoint Add-in to tenant or site collection app catalog.
  • テナントまたはサイト コレクションのアプリ カタログから SharePoint Framework ソリューションまたは SharePoint アドインを削除します。Remove SharePoint Framework solution or SharePoint Add-in from tenant or site collection app catalog.
  • テナントまたはサイト コレクションのアプリ カタログにインストールできるように、SharePoint Framework ソリューションまたは SharePoint アドインを有効にします。Enable SharePoint Framework solution or SharePoint Add-in to be available for installation in tenant or site collection app catalog.
  • テナントまたはサイト コレクションのアプリ カタログにインストールできないように、SharePoint Framework ソリューションまたは SharePoint アドインを無効にします。Disable SharePoint Framework solution or SharePoint Add-in not to be available for installation in tenant or site collection app catalog.
  • テナントまたはサイト コレクションのアプリ カタログからサイトに SharePoint Framework ソリューションまたは SharePoint アドインをインストールします。Install SharePoint Framework solution or SharePoint Add-in from tenant or site collection app catalog to a site.
  • サイトの SharePoint Framework ソリューションまたは SharePoint アドインをアップグレードします (テナントまたはサイト コレクションのアプリ カタログで使用可能な新しいバージョンがある場合)。Upgrade SharePoint Framework solution or SharePoint Add-in to a site, which has a newer version available in the tenant or site collection app catalog.
  • サイトから SharePoint Framework ソリューションまたは SharePoint アドインをアンインストールします。Uninstall SharePoint Framework solution or SharePoint Add-in from the site.
  • テナントまたはサイト コレクションのアプリ カタログ内の SharePoint Framework ソリューションまたは SharePoint アドインを一覧表示して詳細を取得します。List all and get details about SharePoint Framework solutions or SharePoint Add-ins in the tenant or site collection app catalog.

ALM API は、UI から実行できる操作とまったく同じ操作を実行する際に使用できます。ALM APIs can be used to perform exactly the same operations that are available from a UI perspective. この API を使用すると、すべての一般的な処理が実行されます。When these APIs are used, all typical actions are performed. 次に、ALM API の特徴をいくつか示します。Following are some of the characteristics of ALM APIs:

  • InstallUnInstall イベントは、対応する操作が発生したときにプロバイダー向けのホスト型アドインに向けてトリガーされます。Install and UnInstall events are being fired for provider-hosted add-ins when corresponding operations occur.
  • ALM API はアプリ専用ベースの操作をサポートします。ALM APIs support app-only-based operations.

ALM API は、REST API を使用することでネイティブに提供されますが、SharePoint PnP コミュニティ チャネルを通じて追加の CSOM 拡張機能、PowerShell コマンドレット、クロスプラットフォームの Office 365 CLI も使用できます。ALM APIs are natively provided by using REST APIs, but there are additional CSOM extensions, PowerShell cmdlets, and the cross-platform Office 365 CLI available through SharePoint PnP Community channels.

REST APIREST API

ヒント

ALM API は、サイト コレクションのアプリ カタログでもサポートされています。ALM APIs are also supported for the site collection app catalog. サイト コレクションのアプリ カタログでも操作の URL はまったく同じですが、tenantappcatalogsitecollectionappcatalog に変更可能です。URLs for the site collection app catalog operations are exactly the same, but you can change the tenantappcatalog to sitecollectionappcatalog. サイト コレクションでサイト コレクションのアプリ カタログを有効にしなければ、これらの API を使用しようとすると例外が発生することにもご注意ください。Notice also that you will need to enable the site collection app catalog in your site collection or you will get an exception when trying to use these APIs.

アプリ カタログにソリューション パッケージを追加するAdd solution package to the app catalog

この API は、アプリ カタログ サイトのコンテキストで実行されるように設計されています。This API is designed to be executed in the context of the app catalog site.

url: /_api/web/tenantappcatalog/Add(overwrite=true, url='test.txt')
method: POST
Authorization: Bearer <access token>
X-RequestDigest: <form digest>
Accept: 'application/json;odata=nometadata'
binaryStringRequestBody: true
body: 'byte array of the file'

アプリ カタログにソリューション パッケージを展開するDeploy solution packages in the app catalog

これにより、特定のサイトにソリューションをインストールできるようになります。This enables the solution to be available to install to specific sites. この API は、アプリ カタログ サイトのコンテキストで実行されるように設計されています。This API is designed to be executed in the context of the app catalog site.

url: /_api/web/tenantappcatalog/AvailableApps/GetById('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx')/Deploy
method: POST
Authorization: Bearer <access token>
X-RequestDigest: <form digest>
Accept: 'application/json;odata=nometadata'
Content-Type: 'application/json;odata=nometadata;charset=utf-8'

注意

この操作は、パッケージを追加した後、特定のサイトへパッケージをインストールする前に完了している必要があります。This operation is required to be completed after Add, before you can install packages to specific sites.

アプリ カタログにあるソリューション パッケージを取り消すRetract solution packages in the app catalog

サイトから利用可能になるソリューションを取り消します。This retracts the solution to be available from the sites. この API は、アプリ カタログ サイトのコンテキストで実行されるように設計されています。This API is designed to be executed in the context of the app catalog site.

url: /_api/web/tenantappcatalog/AvailableApps/GetById('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx')/Retract
method: POST
Authorization: Bearer <access token>
X-RequestDigest: <form digest>
Accept: 'application/json;odata=nometadata'

注意

ソリューションをサイトにインストールした後にこの操作を実行すると、ソリューションがテナント レベルで無効になるため、ソリューションは動作を停止します。If you run this operation after you have installed solutions to the site, they stop working because the solution is disabled from the tenant level.

アプリ カタログからソリューション パッケージを削除するRemove solution packages from the app catalog

この API は、アプリ カタログ サイトのコンテキストで実行されるように設計されています。This API is designed to be executed in the context of the app catalog site.

url: /_api/web/tenantappcatalog/AvailableApps/GetById('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx')/Remove
method: POST
Authorization: Bearer <access token>
Accept: 'application/json;odata=nometadata'

注意

取り消しの操作が削除の操作の前に実行されていない場合は、ソリューションの取り消しが自動的に行われます。If the Retract operation is not performed before the Remove operation, the solution is automatically retracted.

アプリ カタログで利用可能なパッケージを一覧表示するList available packages from the app catalog

この REST API を使用して、アプリ カタログで利用可能な SharePoint Framework ソリューションまたは SharePoint アドインのリストを取得します。Use this REST API for getting a list of available SharePoint Framework solutions or add-ins in the app catalog.

url: /_api/web/tenantappcatalog/AvailableApps
method: GET
Authorization: Bearer <access token>
Accept: 'application/json;odata=nometadata'

アプリ カタログに含まれる個々のソリューション パッケージに関する詳細を取得するGet details about individual solution packages in the app catalog

この REST API を使用して、アプリ カタログで利用可能な個々の SharePoint Framework ソリューションまたは SharePoint アドインに関する詳細を取得します。Use this REST API for getting details about individual SharePoint Framework solutions or add-ins available in the app catalog.

url: /_api/web/tenantappcatalog/AvailableApps/GetById('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx')
method: GET
Authorization: Bearer <access token>
Accept: 'application/json;odata=nometadata'

アプリ カタログから SharePoint サイトにソリューション パッケージをインストールするInstall solution package from the app catalog to a SharePoint site

アプリ カタログから特定の ID を持つソリューション パッケージを、URL コンテキストに基づいてサイトにインストールします。Install a solution package with a specific identifier from the app catalog to the site based on URL context. この REST 呼び出しは、インストール操作が行われるサイトのコンテキストで実行できます。This REST call can be executed in the context of the site where the install operation should happen.

url: /_api/web/tenantappcatalog/AvailableApps/GetById('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx')/Install
method: POST
Authorization: Bearer <access token>
X-RequestDigest: <form digest>
Accept: 'application/json;odata=nometadata'

SharePoint サイトでソリューション パッケージをアップグレードするUpgrade solution packages on the SharePoint site

ソリューション パッケージをサイトから、アプリ カタログで利用可能な新しいバージョンにアップグレードします。Upgrade a solution package from the site to a newer version available in the app catalog. この REST 呼び出しは、アップグレード操作が行われるサイトのコンテキストで実行できます。This REST call can be executed in the context of the site where the upgrade operation should happen.

url: /_api/web/tenantappcatalog/AvailableApps/GetById('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx')/Upgrade
method: POST
Authorization: Bearer <access token>
X-RequestDigest: <form digest>
Accept: 'application/json;odata=nometadata'

SharePoint サイトからソリューション パッケージをアンインストールするUninstall solution packages from the SharePoint site

この REST 呼び出しは、アンインストール操作が実施されるサイトのコンテキストで実行できます。This REST call can be executed in the context of the site where the uninstall operation should happen.

url: /_api/web/tenantappcatalog/AvailableApps/GetById('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx')/Uninstall
method: POST
Authorization: Bearer <access token>
X-RequestDigest: <form digest>
Accept: 'application/json;odata=nometadata'

注意

この REST API を使用してサイトからソリューション パッケージをアンインストールしたときには、そのパッケージはごみ箱に移動されません。When you use the REST API to uninstall a solution package from the site, it is not relocated to the recycle bin.

SharePoint PnP PowerShell コマンドレットSharePoint PnP PowerShell cmdlets

PnP PowerShell を使用すると、アプリの展開、公開、インストール、アップグレード、取り消しの自動化が可能になります。By using PnP PowerShell, you can automate deploying, publishing, installing, upgrading, and retracting your apps.

注意

スコープ オプションのサポートは、2018 年 4 月の PnP PowerShell リリースで使用可能になりました。Support for scope option was released on the April 2018 release of PnP PowerShell.

アプリ カタログにアプリを追加して公開するAdd and publish your app to the app catalog

SharePoint サイトでアプリを使用できるようにするには、アプリ カタログにアプリ (.sppkg ファイル、.app ファイル) を追加することが前提条件になります。Adding your app (.sppkg file, .app file) to the app catalog is a prerequisite to making your app available for use on your SharePoint sites. これを行うには、次のコマンドレットを使用します。You can do this by using the following cmdlet:

Add-PnPApp -Path ./myapp.sppkg -Scope Tenant

アプリを追加したら、続けてアプリを公開する必要があります。こうすることで、テナントのユーザーは実際にアプリを使用できるようになります。Once added, you need to continue with publishing your app, effectively making the app available to be used by the users of your tenant. 次の PnP PowerShell コマンドレットは、この操作の実行方法を示しています。The following PnP PowerShell cmdlet shows how this can be done:

Publish-PnPApp -Identity <app id> -SkipFeatureDeployment -Scope Tenant

注意

フラグを使用して、テナント全体に展開するように開発したアプリが、テナント全体に展開されたアプリとして実際に使用できるようにします。SkipFeatureDeploymentUse the SkipFeatureDeployment flag to allow an app that was developed for tenant-wide deployment to be actually available as a tenant-wide deployed app.

アプリ カタログからアプリを削除するRemove the app from the app catalog

以前に追加したアプリを削除するには、次のコマンドレットを使用します。To remove an app added earlier, use the following cmdlet:

Remove-PnPApp -Identity <app id> -Scope Tenant

サイトでアプリを使用するUse apps on your site

アプリ カタログにアプリを追加して公開すると、サイトにアプリをインストールできるようになります。After the app is added to the app catalog and published, you can install the app to your site:

Install-PnPApp -Identity <app id> -Scope Tenant

アプリをアップグレードするには:To upgrade the app:

Update-PnPApp -Identity <app id> -Scope Tenant

サイトからアプリをアンインストールするには:To uninstall the app from your site:

Uninstall-PnPApp -Identity <app id> -Scope Tenant

注意

サイトからアプリをアンインストールすると、そのアプリは完全に削除され、サイトのごみ箱に移動されることはありません。When you uninstall an app from your site, the app is completely deleted, so it does not end up in the site's recycle bin.

どのアプリを使用するかを確認するKnow which apps are there for you to use

以下を使用して、サイトに追加できるアプリのリストを取得することができます。You can get a list of apps that can be added to the site by using:

Get-PnPApp -Scope Tenant

SharePoint アプリのクロスプラットフォームを追加、展開、管理する Office 365 CLI コマンドOffice 365 CLI commands to add, deploy, and manage SharePoint apps cross-platform

Office 365 CLI を使用すると、アプリの展開、公開、インストール、アップグレード、取り消しの自動化が可能になります。Using the Office 365 CLI, you can automate deploying, publishing, installing, upgrading, and retracting your apps. Office 365 CLI は、Windows、MacOS、Linux などのあらゆるプラットフォームで使用できるクロスプラットフォーム コマンド ライン インターフェイスです。The Office 365 CLI is a cross-platform command-line interface that can be used on any platform, including Windows, MacOS, and Linux. これらのコマンドの詳細については、以下のセクションを参照してください。To learn more about these commands, see the following sections.

アプリ カタログにアプリを追加して公開するAdd and publish your app to the app catalog

SharePoint サイトでアプリを使用できるようにするには、テナントのアプリ カタログにアプリ (.sppkg ファイル、.app ファイル) を追加することが前提条件になります。Adding your app (.sppkg file, .app file) to the tenant app catalog is a prerequisite to making your app available for use on your SharePoint sites. これを行うには、add コマンドを使用します。Use the add command to do this:

spo app add --filePath ./spfx.sppkg

アプリを追加したら、続けてアプリを公開する必要があります。こうすることで、テナントのユーザーは実際にアプリを使用できるようになります。Once added, you need to continue with publishing your app, effectively making the app available to be used by the users of your tenant. これを行うには、deploy コマンドを使用します。Use the deploy command to do this:

spo app deploy --id <app id> --skipFeatureDeployment

注意

SkipFeatureDeployment フラグを使用して、テナント全体に展開するように開発したアプリが、テナント全体に展開されたアプリとして実際に使用できるようにします。Use the SkipFeatureDeployment flag to allow an app that was developed for tenant-wide deployment to be actually available as a tenant-wide deployed app.

アプリ カタログからアプリを削除するRemove the app from the app catalog

前に追加したアプリを削除したい場合は、remove コマンドを使用して削除することができます。You may want to remove an app that you added earlier, and you can do this by using the remove command:

spo app remove --id <app id>

サイトでアプリを使用するUse apps on your site

アプリ カタログにアプリを追加して公開すると、install コマンドを使用して、サイトにアプリをインストールできるようになります。After the app is added to the app catalog and published, you can install the app to your site by using the install command:

spo app install --id <app id> --siteUrl <url>

アプリをアップグレードするには、upgrade コマンドを使用します。To upgrade the app, use the upgrade command:

spo app upgrade --id <app id> --siteUrl <url>

サイトからアプリをアンインストールするには、uninstall コマンドを使用します。To uninstall the app from your site, use the uninstall command:

spo app uninstall --id <app id> --siteUrl <url>

注意

サイトからアプリをアンインストールすると、そのアプリは完全に削除され、サイトのごみ箱に移動されることはありません。When you uninstall an app from your site, the app is completely deleted, so it will not end up in the site's recycle bin.

アプリ カタログのアプリを一覧表示して取得するList and get apps in the app catalog

list コマンドを使用して、どのアプリがアプリ カタログに追加されたかを確認できます。You can see what apps have been added to the app catalog by using the list command:

spo app list

get コマンドを使用して、1 つのアプリの詳細を取得することができます。You can get a single app's details by using the get command:

spo app get --id <app id>

関連項目See also