Adding Apps from Catalog or Store using CSOM API
As provisioning process, we would love to either add apps from app catalog or store directly using CSOM APIs. This should include the 'I Trust it' model as well. This will help in automating the entire site/sub-site provisioning and making sure apps are available after site is created.
Thanks for your feedback! Just a note to let you know that we’re building your suggestion now. We’re planning to provide ALM APIs to support the installation of add-ins from the app catalog to sites. Store automation is not unfortunately in short-term plans due to complexity with licenses.
Nigel Price commented
Would an idea be to have a two drops - the first (low level fruit) to publish SPFx webparts / solutions from the app catalog to sites and a second - later, second drop, would allow publishing from the store.
Stéphane Magne commented
In need too. Anything (REST, CSOM, gulp, ...) that is not manual: it is blocking for continuous integration.
We can actually update CDN files easily, but if we add a web part, a component, or just update its properties there's no other solution than manual.
Karim Roumani commented
Is there a PowerShell way to do this from the store?
Nik Patel commented
Agreed.. This should have more votes... This is huge gap in app installation and upgrade maintenance especially for large number of sites.
It will allow App Installation during site provisionning, and integration with devops tools such as TFS for install / update.
It's actually really difficult to integrate Apps Development in a continuous integration life cycle.
Currently if you implement site provisioning solution and you need to install some third party known app, you should activate side loading feature that is not recommended for production(by security reasons) and use method load and install.
this way has several disadvantages:
1) Customers will afraid such solution because of recommendations outlined above.
2) Upgrade process. it will "painfully" to upgrade each package on each site
3) You need an app package file to get file stream for LoadAndInstall method