Zum Hauptinhalt springen

Wie verwalte ich Extensions?

Extensions können über die mStudio Oberfläche im Entwickeln-Tab von registrierten Contributoren verwaltet werden. Dort lassen sich Extensions anlegen und bearbeiten.

Andere Schritte wie das Einreichen zur Verifizierung oder das Veröffentlichen einer Extension sind derzeit nur über die REST API möglich. Alternativ können alle Aktionen weiterhin über die REST API des mStudios ausgeführt werden.

Die API-Routen zur Verwaltung von Extensions sind mittlerweile relativ stabil, können aber noch kleinere Anpassungen erfahren.

Es folgt du eine Übersicht über die wichtigsten Operationen zur Verwaltung von Extensions:

Extension registrieren

Um eine neue Extension anzulegen, öffne den Entwickeln-Tab im mStudio und klicke auf „Anlegen“. Für den Einstieg reicht es aus, einen Namen zu vergeben.

Wenn während der Entwicklung eine Extension Instance benötigt wird, muss zusätzlich noch ein Extension Context gesetzt werden. Dieser kann im Nachhinein noch geändert werden, solange die Extension nicht verifiziert ist.

Alternativ kann eine Extension über die folgende REST API-Operation registriert werden:

POST/v2/contributors/{contributorId}/extensions/

Extension bearbeiten

Sobald eine Extension registriert ist, kann sie jederzeit im Entwickeln-Tab des mStudios bearbeitet werden. Dort ist es möglich Metadaten anzupassen, Scopes zuändern, Assets hochzuladen, Webhooks zukonfigurieren und mehr.

Alternativ können die Metadaten durch folgende REST API-Operation angepasst werden.

PATCH/v2/contributors/{contributorId}/extensions/{extensionId}/

Bei verwendung der API, gibt es ein paar Besonderheiten zu beachten:

Über die REST-Operation POST/v2/contributors/{contributorId}/extensions/{extensionId}/assets/ wird der Upload von Assets, also Bildern für die Galerie im Marktplatz, angefragt. Als Response erhältst du eine Asset Reference ID, die du verwenden kannst, um das Asset über die Operation POST/v2/files/ hochzuladen. Assets können über die Operation DELETE/v2/contributors/{contributorId}/extensions/{extensionId}/assets/{assetRefId}/ gelöscht werden.

Analog funktioniert das Hochladen eines Logos. Die Operation POST/v2/contributors/{contributorId}/extensions/{extensionId}/logo/ wird verwendet, um den Upload des Logos anzufragen. Das Logo wird dann über die Operation POST/v2/files/ hochgeladen.

Der Extension Context kann ebenfalls bearbeitet werden, solange die Extension noch nicht zur Verifizierung eingereicht wurde. Diese Änderung erfolgt nun im entwicklen Tab des mStudio oder über die reguläre Bearbeiten-Route. Abhängig davon, ob bereits Extension Instances existieren, wird die Änderung entweder sofort wirksam oder es werden erst alle Extension Instances entfernt und danach die Änderung durchgeführt.

Extension Secret

Für die Entwicklung von Frontend-Fragments wird ein globales Extension Secret benötigt. Dieses Secret kann ausschließlich über die API generiert werden:

POST/v2/contributors/{contributorId}/extensions/{extensionId}/secret/

Das Secret wird als Response zurückgegeben und kann z.B. als Umgebungsvariable in deiner Extension verwendet werden. Bei erneutem Aufruf der Operation wird ein neues Secret erstellt. Das alte Secret wird damit deprecated und ist etwa 24 Stunden später nicht mehr gültig. Diese Zeitspanne solltest du nutzen, um das Secret in deiner Extension auszutauschen.

Extension verifizieren

Sobald deine Extension fertig entwickelt und einsatzbereit ist, kannst du eine Überprüfung beantragen. Dies ist derzeit nur über die REST API möglich.

POST/v2/contributors/{contributorId}/extensions/{extensionId}/verification-process/

Wir prüfen den Inhalt deiner Extension innerhalb von 3-5 werktagen und geben entweder Feedback oder schalten sie zur Veröffentlichung frei.

Extension veröffentlichen

Nach erfolgreicher Verifizierung kann die Extension veröffentlicht werden. Dieser Schritt ist derzeit nur über die REST API möglich.

Es ist ein separater Schritt, damit du die Kontrolle darüber behältst, ab wann die Extension für alle mStudio-Nutzer verfügbar ist.

Nutze zum Veröffentlichen PUT/v2/contributors/{contributorId}/extensions/{extensionId}/published/