Product Information
SAP Cloud Integration – Custom Tags
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
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 { "Value": "Deepak" }
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.
Hello Deepak,
This is a good addition to organize the packages. I really appreciate SAP has an API first approach for CPI and you make the APIs public as soon as they are ready. Combined with the fast release cycle future looks bright!
I think the documentation will be updated here and the method will be under "Resources of Integration Flow"?
Thanks for sharing & kudos to the team behind this!
Best regards,
Fatih
Hi Fatih,
Thanks for the supportive words.
Yes, you are right, the complete APIs information will be updated at https://api.sap.com/api/IntegrationContent/resource. The APIs are available in the said version of CPI. Only documentation is pending and we will complete it as soon as possible.
I will update my blog with links of the same once they are documented.
Thanks
Deepak
Hi Deepak,
Thanks for the information, this is a great addition to CPI. One question though: What about configure-only packages? What if I have a mandatory parameter on my tenant for which the configure-only package will not have a value. Will that package still work and be updated?
Kr.
Ivo
Hi Ivo,
Good catch 🙂
For configure-only packages, they key name will still appear in Custom Tags section, but since package is not editable, you will not be able to provide values.
We are working on enabling the option to provide values only via OData APIs. It's a work in progress.
The package will still work and would get updates as well. So, no issues in the usual life cycle of configure-only packages.
I missed this information in the blog, I will update my blog with this information as well, thanks for pointing it out.
Thanks
Deepak
I wish the same feature is available in the iflow/artifact level along with package level!
This is good, but still it will be great, if it was available at the artifact level. Also, this is extremely useful if one can search based on tags.
Hi Saicharan,
Thanks for the feedback.
And yes, we do have plans to extend such a support at artifacts level as well in future including the search.
Thanks
Deepak
Deepak G Deshpande are there any updates regarding searchability for tags?
Hi Florian,
As mentioned below, we do have plans in our roadmap, currently unscheduled.
Thanks
Deepak
Hello Deepak,
When will be the tag based search available for customers.
Hi Shameer,
Search is in our roadmap, currently unscheduled. We will update our release notes once search feature is available.
Thanks
Deepak
Nice feature Deepak.
If the tags could be extended to "Access Policies" as well, interfaces identified as "Sensitive" etc. tags can be controlled over all. Hope this is possible.