App installation refers to the process of a System Admin installing deployed apps within their Mattermost installation.
Whenever the System Admin executes an /apps install
slash command, or selects Install in the Marketplace, appropriate permissions are requested and the App is installed.
During an App installation, both a bot and an OAuth app are created, and an OnInstall
callback is sent to the App if it’s defined in the manifest.
/apps install
parameters The generic form of the /apps install
command is:
/apps install <DeployMethod> <ManifestURL>
The DeployMethod
specifies how the App is deployed. The following values are supported:
http
aws_lambda
(serverless)open_faas
(serverless)The ManifestURL
is the URL to the App’s manifest.json
data.
For example, use the following command to install an App that was deployed via HTTP to http://my-app:8000
:
/apps install http http://my-app:8000/manifest.json
A System Admin can uninstall an App using the /apps uninstall
slash command. During the uninstallation process, both the bot and the OAuth app are deleted, and an OnUninstall
callback is sent to the App if it’s defined in the manifest.
/apps uninstall
parameters The generic form of the /apps uninstall
command is:
/apps uninstall <AppID>
The AppID
is defined in the App’s manifest.
For example, use the following command to uninstall an App with an AppID
of my-app
:
/apps uninstall my-app
Registering an App in a Mattermost installation means the App is available in the product Marketplace, can be installed by the System Admin, and once installed, can be available to users.
When a new App is registered, or a new version of an existing App is registered, the manifest.json
data from the App is updated, and a new App is added to the product Marketplace.
After registration, the Mattermost server synchronizes the list of the registered Apps by downloading appropriate manifests from the file store and storing them in memory. The product Marketplace shows updated App listings and the System Admin can install the App or new version of the App.