Hinweis: Um die Teamsware-API-Bereitstellung zu nutzen, überprüfen Sie Ihre Mandanteneinstellungen und erlauben Sie die benutzerdefinierte App-Authentifizierung wie hier hier beschrieben.
Die API-Bereitstellung ist eine Art der Veröffentlichung, die es ermöglicht, den Bereitstellungsprozess mit einem HTTP-Aufruf zu starten.
Nach erfolgreicher Paketierung Ihrer Lösung kann ein neuer Dienst registriert werden.
Wenn Sie auf der Registerkarte Veröffentlichen auf die Schaltfläche Veröffentlichen klicken, wird der Assistent geöffnet, der Sie durch die Definition des Dienstes für die Veröffentlichung dieser Lösung führt.
Nachdem Sie die Allgemeinen Geschäftsbedingungen akzeptiert haben, müssen Sie die folgenden Service-Details angeben:
Nachdem der Dienst im Teamsware Studio registriert wurde, muss das externe System korrekt konfiguriert werden, um die Teamsware Solution Management API aufzurufen.
Die Anfrage-URLs zum Erstellen, Löschen und Ändern der Bereitstellung werden in den allgemeinen Einstellungen eines registrierten Dienstes angezeigt.
Diese URLs können als Anfragen an die Teamsware Solution Management API verwendet werden, die vom externen Dienst initiiert werden.
function callTeamswarePublishAPI() {
var data = {
"SiteUrl": "https://<customerTenant>.sharepoint.com/sites/<customerSite>",
"SiteLoginName": "janesmith@<customerTenant>.onmicrosoft.com",
"SiteLoginPassword": "<site password>",
"Email": "Optional",
"Callback": "http://your.site.url"
};
jQuery.support.cors = true;
jQuery.ajax({
method: "POST",
url: serviceUrl,
crossOrigin: true,
dataType: "json",
beforeSend: function(xhr) {
xhr.setRequestHeader(
"Authorization",
"Basic " + btoa(serviceUser + ":" + servicePassword)
);
},
data: data
});
}
Anmerkungen:
Das Teamsware Solutions Foundation-Add-in sollte nur einmal pro Tenant im globalen App-Katalog installiert werden. Wenn es vertrauenswürdig ist und die Skripting-Fähigkeiten auf den Ziel-Site-Sammlungen aktiviert sind, kann die Bereitstellung gestartet werden.
Post
https://solutionmanager.teamsware.app/api/provision
Authotization
Credentials ("Basic username:userpassword" in base64 string)
Headers
Content-Type: application/json
Authorization: Basic aXJhOmlyYQ==
Body
{
"serviceData": [{
"serviceId": "60366197-9088-ea11-86e9-000d3a222298",
"webUrl": "https://m365b601773.sharepoint.com/Lunches"
},
{
"serviceId": "60366197-9088-ea11-86e9-000d3a222298",
"webUrl": "https://m365b601775.sharepoint.com/Lunches"
}
],
"email": "Optional",
"callbackUrl": "http://your.site.url",
"callbackHeaderName": "Key1,Key2",
"callbackHeaderValue": "Value1,Value2",
"statusFieldUpdate": {
"webUrl":"https://m365x36372584.sharepoint.com/sites/LVOsourceCS",
"listName":"<internal name of List from URL>", (or "ListId":"d1620f67-de02-4b75-a848-a988ef85b689")
"fieldName":"Status",
"itemId": "Id"
}
}
Response example
[{"Provision":{"ServiceId":"60366197-9088-ea11-86e9-000d3a222298","WebUrl":"https://m365b601773.sharepoint.com/Lunches"},"Status":"Completed","ErrorMessage":null},{"Provision":{"ServiceId":"60366197-9088-ea11-86e9-000d3a222298","WebUrl":"https://m365b601775.sharepoint.com/Lunches"},"Status":"Completed","ErrorMessage":null}]
Zusätzlich können Sie den Body Ihrer Anfrage mit dem Statusfeld-Konfigurationsparameter "statusFieldUpdate" erweitern.
Der Parameter "statusFieldUpdate" mit listName (alternativ ListId), internem Feldnamen (einzeiliger Text oder Auswahlfeldtyp) und itemId zeigt den aktuellen Status entsprechend dem Status des Deployment-Prozesses an und kann z.B. für ausgelöste Aktionen auf dieser Liste konfiguriert werden.
Mögliche Status:
Hinweis: Die Aktualisierung von mandantenübergreifenden Statusfeldern ist nicht zulässig.
Wenn eine Dienstdefinition erstellt wird, kann die Definitions-ID kopiert werden (als Teil der Dienst-URL).
Diese Dienstdefinitions-ID wird in der Anfrage als "serviceId" verwendet.
Batch-Bereitstellungen auf der Registerkarte API-Bereitstellungen von Teamsware Studio sind nach Tenant-URL gruppiert.
Wenn das bereitgestellte Paket aktualisiert werden muss, aktualisieren Sie es auf der Registerkarte "API Deployments": zuerst die Service-Definition und danach die Bereitstellung selbst.
Nach Abschluss des Aktualisierungsvorgangs wird eine E-Mail mit dem Aktualisierungsstatus gesendet.
Die Batch-Aktualisierung kann wie folgt durchgeführt werden:
Die Dienstdefinition auf der Registerkarte API-Bereitstellungen von Teamsware Studio sollte aktualisiert werden, und anschließend sollte die Batch-Bereitstellungs-API aufgerufen werden.
In diesem Fall wird die Bereitstellung mit der neueren Paketversion überschrieben.