Microsoft has recently announced the new SharePoint Application Lifecycle Management (ALM) APIs. This announcement comes as a relief for many of us SharePoint Online developers who have gone through the headache of hacking our way to create dependable ALM automated processes for our apps.
What do the new APIs offer?
- Ability to install/uninstall a SharePoint Add-in or SharePoint Framework (SPFx) app in the tenant app catalog.
- You can enable/disable the ability for an app to be available for installation on specific sites.
- Now developers can programmatically install/uninstall an add-in on the app catalog site.
- Allows for deploying, installing and updating applications on sites via code.
- You can now get details on an app in the app catalog or list all of the apps.
I have some good news and some bad news. The good news is that Microsoft has also recently announced the addition of site collection scoped app catalogs. The bad news is that these ALM APIs only work with the tenant app catalog site. I’ll follow up with more good news to keep the positive vibes flowing. Microsoft is targeting early 2018 for site collection app catalog integration with the APIs. But wait, there’s more! App-only operations are supported by the ALM APIs which is pretty neat considering the pain of a SharePoint client-side developer nowadays with no “run with elevated privileges” option at their disposal.
Let me at ’em
So how do we take advantage of all the cool new features? These capabilities are available through the REST endpoints offered by Microsoft. However, there are also Patterns and Practices implementations which allow for the use of this new functionality via CSOM extensions as well as PowerShell cmdlets. Be sure to check out the newly available REST API calls and the PnP PowerShell cmdlets here.