
- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
‎06-20-2023 09:31 AM - edited ‎06-28-2023 09:00 AM
Overview
The Roadmap widget helps a lot to visualize all kind of planned tasks on a schedule.
It supports:
- Grouping the rows by max. 2 levels
- Coloring by data values (eg. status)
- View panel for details
- Milestones
- Data items direct on the bar
- Fexibel side panel
- Editing by drag and drop
- ... and more
Challenges:
- To know how JSON structures looks like
- It displays nothing if the configuration is wrong. (That may be frustrating)
In next section I describe step by step the configuration.
Step-by-step
Roadmap Items
Example of Roadmap items (as JSON):
[
{
"details": [ // collection of details to be displayed in details panel
{
"label": "Name",
"value": {
"type": "string",
"value": "SD-X 0.9 Development"
}
},
{
"label": "Release",
"value": {
"type": "string",
"value": "SDX 0.9"
}
},
{
"label": "Release Type",
"value": {
"type": "string",
"value": "2 - High"
}
},
{
"label": "Priority",
"value": {
"type": "string",
"value": "Major"
}
},
{
"label": "Product",
"value": {
"type": "string",
"value": "SD-X"
}
}
],
"id": { // mandatory element!
"displayValue": "RLSE0010010",
"value": "RLSE0010010"
},
"planned_end": { // to be mapped in meta data as end date
"displayValue": "2022-06-13 12:45:09",
"value": "2022-06-13 12:45:09"
},
"planned_start": { // to be mapped in meta data as start date
"displayValue": "2022-09-28 06:44:16", // display values of start and end date must be in the internal format
"value": "2022-09-28 06:44:16"
},
"product": {
"displayValue": "SD-X",
"value": "PDCT0010001"
},
"rel_phase": {
"displayValue": "Development",
"value": "development"
},
"release": {
"displayValue": "SDX 0.9",
"value": "RLSE0010007"
},
"server": {
"displayValue": "Sn dev 1",
"value": "9251029747d721102bb36241e36d43f9"
},
"short_description": {
"displayValue": "SD-X 0.9 Development",
"value": "SD-X 0.9 Development"
}
}
]
Additional data can included in an item. The id element and date elements for start and end are mandatory
It contains comments by //. Of course comments are not valid in JSON .
Next the roadmap items meta data example:
{
"colorableFields": [
{
"label": "Release Phase",
"name": "rel_phase" // must match to an element in field color mappings!
}
],
"endDateField": {
"label": "Planned end date",
"name": "planned_end_date"
},
"groupableFields": [
{
"label": "Project manager",
"name": "project_manager"
},
{
"label": "State",
"name": "state"
},
{
"label": "priority",
"name": "priority"
}
],
"itemNameField": {
"label": "Project name",
"name": "short_description"
},
"itemOwnerField": {
"label": "Project manager",
"name": "project_manager"
},
"startDateField": {
"label": "Planned start date",
"name": "planned_start_date"
}
}
Coloring
Next an example of Field color mapping:
{
"rel_phase": {
"deployment": {
"background": "rgb(201,224,202)",
"border": "rgb(22,79,26)",
"pillColor": "positive",
"progress": "rgb(119,178,123)"
},
"development": {
"background": "rgb(244,240,191)",
"border": "rgb(149,139,17)",
"pillColor": "warning",
"progress": "rgb(227,218,96)"
},
"QA": {
"background": "rgb(241,206,205)",
"border": "rgb(120,36,32)",
"pillColor": "critical",
"progress": "rgb(221,133,129)"
}
}
}
Milestones
If you want to display milestones here an example how the structure of data must look like:
{
"roadmapItemMilestones": [
{
"RLSE0010010": [ // the ID aof an Roadmap Item
{
"dueDate": {
"displayValue": "01.04.2023",
"value": "2023-04-01"
},
"id": {
"displayValue": "97f8699547a361102bb36241e36d4398",
"value": "97f8699547a361102bb36241e36d4398"
},
"name": {
"displayValue": "Customer Ref Item Milestone",
"value": "Customer Ref Item Milestone"
},
"state": {
"displayValue": "Achieved",
"value": "achieved"
},
"type": {
"displayValue": "Launch Date",
"value": "launch_date"
}
}
]
}
],
"roadmapMilestones": [
{
"dueDate": {
"displayValue": "2023-07-01 09:00:00",
"value": "2023-07-01 09:00:00"
},
"id": {
"displayValue": "M1",
"value": "M1"
},
"name": {
"displayValue": "Milestone 1",
"value": "Milestone1"
},
"state": {
"displayValue": "upcoming",
"value": "upcoming"
},
"type": {
"displayValue": "key_event",
"value": "key_event"
}
}
]
}
Example of Milestone meta data:
{
"type": {
"important_date": { // must match to milestone type values
"icon": "calendar-clock-fill"
},
"key_event": {
"icon": "flag-fill"
},
"launch_date": {
"icon": "rocket-fill"
}
}
}
Extend the component UI
The roadmap component can be extended by additional components.
Details display
specially to display details additional components must be configured. I have used the "Label Value Tabbed" component to display additional details when a road map item is selected. The data for details display can be included directly in the roadmap items data (see the example above).
To display the details the "roadmap item selected" event must be implemented
Sidebar
The sidebar can be extended with additional buttons(icons)
Here an example for 2 buttons:
[
{
"icon": "filter-outline",
"order": 100,
"name": "Filter"
},
{
"icon": "bookmark-outline",
"order": 200,
"name": "Bookmark"
}
]
To process the click on these buttons the "Roadmap sidebar button clicked" event must be implemented.
- 2,252 Views

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
I'm having a good look at this component - it looks very interesting and your content is very helpful, Guido.
I'm having some difficulty editing the roadmap items metadata - looks like there are 9 fixed properties that I can add to - but that's not documented anywhere.
Oh, and I agree that it's rather alarming when the page goes blank whenever there's an error, anywhere!
Thanks for your detailed post !
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi,
I'm also having the same Problem with the roadmap items metada!
I suppose that's why nothing is showing!
I hope you can help Guido!
Thanks!
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Thank you Guido for the posting. It's helpful. There is one minor problem - I couldn't make item milestones show up (roadmap milestones OK). Can anyone please give another example for "roadmapItemMilestones"?

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi Guido,
I'm struggling with a couple of configuration goals - have raised a case with Support but no further forward after 7 days waiting. I wondered if you might know how I could achieve two things:
1) Change time timeline to be Weeks and Days
2) Define the fields that are displayed on the hover over roadmap item
I'm amazed that you've worked out so much about this component given the lack of detailed documentation, examples and support. Any assistance would be much appreciated.
Many thanks
Andy

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
- roadmapItemMilestones: didn't work also for me. no idea yet.
- Change time timeline to be Weeks and Days: I haven't found an option to do this
- Define the fields that are displayed on the hover over roadmap item: I don't know yet. But you can use the details display, when you have clicked on a item
Hint: select the Utah version. there are more details explained
There is also a script, which may show some secrets:
/nav_to.do?uri=sys_script_include.do?sys_id=f650c3fac70011101671670f6ec260d4

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Apologies, Guido - I posted my question and you were kind enough to reply very quickly - and here I am, 6 months later, picking up your response. I'd make an excuse, if I had a decent one - but I don't.
All I can offer is a genuine apology. Regards, Andy
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Might have been a while since this thread was active,
As I was trying to set it up with the example code provided, it did not display.
I discovered that the variables for start and end date in the item code are not named the same in the meta data script.
planned_start and planned_end in Roadmap item example,
planned_start_date and planned_end_date in Meta data example.
Hope it helps someone else to get started.

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi Folks - I'm back trying to get the roadmap Now Component to help me deliver a compelling UX for our customers. I'm still stumped when it comes to changing the timeline to deliver a major interval of days and a minor interval of hours or even minutes.
ChatGPT offers some clues:
To customize the timeline intervals (major and minor) in the ServiceNow Roadmap Now Component, you must use the configuration object within the component’s JSON setup.
✅ Key Configuration Fields for Timeline Granularity
The ServiceNow Roadmap component supports two primary fields that control the timeline:
"majorInterval": Defines the main time segments (e.g., Days, Weeks, Months)
"minorInterval": Defines the sub-segments within each major interval (e.g., Hours, Minutes)
These are defined using ISO-8601 duration format (e.g., P1D = 1 day, PT1H = 1 hour, PT15M = 15 minutes)
Has anyone managed to do this ? Any help would be very much appreciated.
Thanks
Andy