Get list of report from a Dashboard

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-17-2025 10:38 AM - edited 07-17-2025 10:44 AM
Use this to get the list of reports in a dashboard.
Uncomment lines 21,28,36,45 to view the table hierarchy
var dashboardSYSID = 'enter_dashboard_sys_id';
var reports = [];
// Step 1: Get the PA Dashboard
var dashboardGR = new GlideRecord('pa_dashboards');
dashboardGR.addQuery('sys_id', dashboardSYSID);
dashboardGR.query();
if (dashboardGR.next()) {
gs.print('Found PA Dashboard: ' + dashboardGR.name + ' (' + dashboardGR.sys_id + ')');
// Step 2: Get all associated Tabs
var tabM2M = new GlideRecord('pa_m2m_dashboard_tabs');
tabM2M.addQuery('dashboard', dashboardGR.sys_id);
tabM2M.orderBy('order');
tabM2M.query();
while (tabM2M.next()) {
var tabGR = new GlideRecord('pa_tabs');
if (tabGR.get(tabM2M.tab)) {
// gs.print('\n📁 Tab: ' + tabGR.name);
// Step 3: Get Portal Page from Tab
var portalPageGR = new GlideRecord('sys_portal_page');
portalPageGR.addQuery('view', tabM2M.tab.page.view);
portalPageGR.query();
if (portalPageGR.next()) {
// gs.print('→ Portal page: ' + portalPageGR.title.toString());
// Step 4: Get Portal from Portal Page
var pageWidgetGR = new GlideRecord('sys_portal');
pageWidgetGR.addQuery('page', portalPageGR.sys_id);
pageWidgetGR.orderBy('name');
pageWidgetGR.query();
while (pageWidgetGR.next()) {
// gs.print(' → Portal: ' + pageWidgetGR.sys_id);
// Step 5: Get the report from Portal Preferences
var paWidgetGR = new GlideRecord('sys_portal_preferences');
paWidgetGR.addQuery('portal_section', pageWidgetGR.sys_id);
paWidgetGR.addQuery('name', 'sys_id');
paWidgetGR.orderBy('name');
paWidgetGR.query();
while (paWidgetGR.next()) {
// gs.print(' → Report: ' + paWidgetGR.value);
var value = paWidgetGR.value.toString();
if (!reports.includes(value)) {
reports.push(value);
}
// reports.push(paWidgetGR.value.toString());
}
}
}
}
}
} else {
gs.print('❌ PA Dashboard not found: ' + dashboardName);
}
gs.print(reports);
0 REPLIES 0