Die API-Bereitstellung ist eine Art der Veröffentlichung, die es ermöglicht, den Bereitstellungsprozess über einem HTTP-Aufruf zu starten.
Nach erfolgreicher Paketierung Ihrer Lösung kann ein neuer Dienst registriert werden.
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 API-ID zum Anstoß wird in den allgemeinen Einstellungen des Dienstes angezeigt.
Diese ID kann für Anfragen an die Teamsware Solution Management API genutzt werden, die vom externen Dienst initiiert werden.
function callTeamswarePublishAPI() {// Service-Definition-ID aus Teamsware Studio (Registerkarte "API Deployments")var serviceId = "<serviceId-aus-Teamsware-Studio>";// Ziel-Site, auf der die Lösung bereitgestellt werden sollvar webUrl = "https://<customerTenant>.sharepoint.com/sites/<customerSite>";// Request-Body gemäß Provisioning-API (ein Eintrag in serviceData)var requestBody = {"serviceData": [{"serviceId": serviceId,"webUrl": webUrl}],"email": "customer@<domain>.com", // Optional, für Status-Mails"callbackUrl": "http://your.site.url" // Optional, für Callback nach Abschluss// "callbackHeaderName": "Key1,Key2", // Optional// "callbackHeaderValue": "Value1,Value2" // Optional};// Zugangsdaten wie im Dienst in Teamsware Studio hinterlegtvar serviceUser = "<serviceUser>";var servicePassword = "<servicePassword>";jQuery.support.cors = true;jQuery.ajax({method: "POST",crossDomain: true,dataType: "json",contentType: "application/json",beforeSend: function (xhr) {xhr.setRequestHeader("Authorization","Basic " + btoa(serviceUser + ":" + servicePassword));},data: JSON.stringify(requestBody)});}

Anmerkungen:
https://tenant.sharepoint.com/sites/%) freigegeben werden können.
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.