Handling of Custom Fields from RaiseNow Manager
- RaiseNow allows only the data type string for fields in the custom_parameters object described below.
- Fields exported from RaiseNow Manager or Altruja should be written to the custom_parameters object only.
- You will need api credentials. Please create a ticket with RaiseNow support. Please note, that API access is only available with the RaiseNow Growth price plan.
- RaiseNow can not offer support as to the usage of Postman and sufficient technical expertise is expected from customers and partners when using the API.
In RaiseNow Manager, customers were able to very freely define additional fields as part of the subscriptions. Due to the lack of binding guidelines on how to define such fields, it is now impossible for RaiseNow to know which fields need to be migrated. Additionally, migrating all fields probably is not advisable, as the quality of the data differs widely across implementations. Hence, RaiseNow will only migrate fields that are part of the core data model.
However, it is possible for customers to update fields in the custom_parameters
object within the subscription. You can use this Postman script linked below to update fields on the subscription, based on an export from RaiseNow Manager or Altruja.
The script expects a .csv with the following headers:
legacy_subscription_id,my_field1,my_field2
It will identify the correct subscription_uuid
in RaiseNow Hub, based on the provided legacy_subscription_id
. It will then update the subscription, resulting in a custom_parameters object on the subscription with:
{
"my_field1": "some value",
"my_field2": "some other value"
}
You can modify headers in the .csv field to adjust field names in the .csv and add additional fields. But then you will need to adjust the pre_request script in the Postman 'Update Subscription' call accordingly.
let custom_parameters = {};
if (pm.iterationData.get("my_field1") !== 'NULL') {
custom_parameters.my_field1 = pm.iterationData.get("my_field1").toString();
}
if (pm.iterationData.get("my_field2") !== 'NULL') {
custom_parameters.my_field2 = pm.iterationData.get("my_field2").toString();
}
pm.environment.set("custom_parameters", JSON.stringify(custom_parameters));
You can download the script and the environment with the links below: