Skip to content

Commit 68bba99

Browse files
Rename reports - Avoid duplicate names (#2138)
* readme.md * script.js * readme.md
1 parent 5f2de67 commit 68bba99

File tree

2 files changed

+45
-0
lines changed
  • Server-Side Components/Background Scripts/Rename reports - Avoid duplicate names

2 files changed

+45
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
How often we come across cases where reports are created with same name by different users. Well to maintain some uniquenss across why not have some controls to get it unified. Below script can be used to suffix 'Created by' to the report to help uniquely identify report.
2+
Execute it as a background script to update it in bulk.
3+
For example Report named ABC will becom ABC - [PQR]v1 and ABC - [XYZ]v2 where PQR and XYZ are created by users
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
var ar = [];
2+
var dupCheck = new GlideAggregate('sys_report');
3+
dupCheck.addEncodedQuery('titleISNOTEMPTY');
4+
dupCheck.addNotNullQuery('title');
5+
dupCheck.groupBy('title');
6+
dupCheck.addAggregate('COUNT', 'title');
7+
dupCheck.addHaving('COUNT', '>', 1);
8+
dupCheck.query();
9+
while (dupCheck.next()) {
10+
ar.push(dupCheck.getValue("title"));
11+
}
12+
13+
for(var i = 0 ; i< ar.length; i++){
14+
var report = new GlideRecord("sys_report");
15+
report.addQuery("title",ar[i]);
16+
report.query();
17+
var c= 0;
18+
while(report.next()){
19+
c++;
20+
var user = new GlideRecord("sys_user");
21+
user.addQuery("email",report.sys_created_by.toString());
22+
user.query();
23+
if(user.next()){
24+
var name = user.name;
25+
}
26+
27+
if(name){
28+
report.title = report.title+" "+' - [' + name + ']'+" "+"v"+c; // Report named ABC will now be ABC - [PQR]v1 and ABC - [XYZ]v2 where PQR and XYZ are created by users
29+
report.setWorkflow(false);
30+
report.autoSysFields(false);
31+
report.update();
32+
}
33+
else {
34+
report.title = report.title+" "+"v"+c;
35+
report.setWorkflow(false);
36+
report.autoSysFields(false);
37+
report.update();
38+
39+
}
40+
}
41+
42+
}

0 commit comments

Comments
 (0)