Deploying Your App
Blackbird apps that you create using the SDK can be deployed to your Blackbird organization as a custom app. This tutorial assumes Visual Studio 2022.
Note: If you are forking a public app to create a custom app, make sure to update the
Product
,PackageId
, andAssemblyName
fields in the app’s.csproj
file. Blackbird requires every custom app to have unique system-wide identifiers.
Publishing
Before deploying an app, make sure that it at least contains a class that implements IApplication
(and optionally ICategoryProvider
), a class that implements IConnectionDefinition
and a class that implements IConnectionValidator
. If your app has actions, then make sure your classes implementing actions have the [ActionList]
attribute. If you have events make sure that your event classes have the [WebhookList]
or [PollingEventList]
attribute.
- Right-click on your project in the solution explorer and click Publish
- If you have not created a publish profile yet, create a publish profile that publishes to a local folder.
- Click Publish and then Open folder
- Create a
.zip
archive including all files in this folder
Note: If you are working on a Mac, make sure to delete the hidden _MACOSX folder in the zip archive before uploading it to Blackbird.
- Size limitation: plugin builds must be under 16MB. Builds up to 15MB inclusive are accepted. If the build exceeds 16MB, the platform will reject it.
- The
.csproj
file may include the<EnableDynamicLoading>true</EnableDynamicLoading>
parameter, which increases the build size. Use it only if the final.zip
file remains under 16MB. If the build exceeds the limit, set this value tofalse
. - Example:
<EnableDynamicLoading>false</EnableDynamicLoading>
Building via CLI
-
Plugins can be built not only via Visual Studio, but also using the command line with
dotnet build
. -
Use the
Release
configuration to minimize the build size. -
Do not specify the
--runtime
parameter, as Blackbird requires a Portable Runtime. Just omit this parameter entirely. -
Example command:
dotnet build [path to .csproj file] --configuration Release
- Concrete example:
dotnet build Apps.Contentful/Apps.Contentful.csproj --configuration Release
Uploading
If you want to create a new app, go to Apps -> My custom apps -> Click on Create app. Upload the .zip
file on the second step.
If you want to update an existing app. On the app you want to update click New version and then Update App. Upload the .zip
file to the screen that pops up and click Update.
Note: When updating an app, make sure that the new version of the app (defined in the
.csproj
file) is higher than the existing version.