Introduction
SAP Cloud Integration version 3.24.x comes with support to create custom tags. The idea behind custom tags is to support the people who are responsible to collaborate with different integration developers across different part of the organisation. People with such role often face the challenge to know who is the owner or author of a particular integration is scenario. Also, if they want to enforce integration developers to maintain some custom information, they don’t have any means in the tooling at SAP Cloud Integration package level, other than asking integration developers or themselves to maintain such information in spreadsheet or other documents.
Custom Tags
In one liner, this is a feature where you can maintain custom attributes in key-value pair format at SAP Cloud Integration package level.
Two personas, Tenant Administrator and Integration Flow Developer, are involved here.
Tenant administrator defines the custom tag names and informs integration developers to maintain the values for the same, without which, saving of an edited or newly getting created integration package fails – a means to enforce integration developers to maintain the values.
Tenant Administrator
Administrator will define the key names in Custom Tags section of Settings and selects the checkbox of Mandatory column if value for that tag name has to be maintained mandatorily by the integration flow developer. Sample screenshot below.
Edit the page, and add required key names.
After the settings are saved, administrator has to notify all the integration developers, e.g. via email. There is no automatic notification mechanism available in the tool.
Integration Developer
After receiving notification from Tenant Administrator, developer can go and edit the existing integration packages, go to the Tags tab integration package, provide the values for the keys which appear under Custom Tags section.
If you edit a package and try to save without providing values for mandatory custom tags, the save will throw an error.
Provide relevant values and save the integration package
Rename and Delete
The renaming and deletion behaviour are explained below
- Rename : Renaming of a custom tag name by tenant administrator is not possible after the save of settings and cancelling the edit mode (by clicking on Cancel button after Save). Once tenant administrator saves the Custom Tags Settings and clicks on Cancel button to exit the the edit mode, the row cell of tag name becomes read-only.
- Delete: Assume that tenant administrator have defined 2 custom tag names and he deletes only one. In the package level Custom Tags section, the deleted custom tag name, along with value will be hidden, but custom tag name and value will be persisted, this is to bring back the custom tag value if custom tag name is re-introduced by tenant administrator. If all the custom tag names are removed by tenant administrator in the settings and saves them, upon edit and save of a package by integration developer, all the custom tag names and values will be removed from the package persistence.
Transport
How about transport? Are these custom tags info provided at package level also get transported?
Yes, they are. For that, first tenant administrator has to export the Custom Tags settings (there will be a JSON file downloaded) and import them into target tenant. And then, trigger the transport (CTS+, TMS, MTAR or Zip Export) of integration packages.
Note: As of now, you will not be able to transport the
Custom Tags Settings via standard MTAR, CTS+ or TMS transport modes. You need to export/download these custom tags settings from source tenant and import/upload to target tenant manually.
Sample screenshot below for exporting and importing the Custom Tags settings.
APIs
There are OData v2 APIs available to fetch the information about Custom Tags. Through this, you can enquire about integration packages, to which the custom tag values are yet to be provided.
Example OData APIs signature below.
To read custom tags:
GET https://<tenant>/api/v1/IntegrationPackages('<package_id>')/CustomTags
Note: If there are multiple values maintained against a key name in the package for custom tags, the multiple values will be returned with | character as separator.
To provide values for the custom tags. This APIs comes handy if you want to provide values for large number of existing packages, where editing and updating the packages via UI becomes slow.
PUT https://<tenant>/api/v1/IntegrationPackages('<package_id>')/$links/CustomTags('Author')
Payload
Note: You can provide multiple values with | as separator.
Summary
You now have option to add custom key-value paired info at SAP Cloud Integration packages. This feature works well for editable packages. But for configure-only package, the custom tags section still appears, with custom tag key names as defined by tenant administrator. But since editing of package is not allowed for configure-only package, integration developer will not be able to provide values for the same. We are working on APIs through which, integration flow developer can provide values in configure-only package's custom tags.