Skip to content

Commit 48653ba

Browse files
Create TagsCreationFromDCIgroup.js
1 parent 25208fa commit 48653ba

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
(function() {
2+
3+
4+
var dynamicGroups = new GlideRecord('cmdb_ci_query_based_service'); //Dynamic Ci group
5+
dynamicGroups.addQuery('cmdb_group', '!=', '');
6+
dynamicGroups.query();
7+
8+
var groupSysIds = [];
9+
while(dynamicGroups.next()) {
10+
groupSysIds.push(dynamicGroups.cmdb_group);
11+
}
12+
13+
14+
if (groupSysIds.length > 0) {
15+
var cmdbGroupContainsCI = new GlideRecord('cmdb_group_contains_ci'); //Group contains CI's
16+
cmdbGroupContainsCI.addQuery('group', 'IN', groupSysIds.join(','));
17+
cmdbGroupContainsCI.query();
18+
19+
20+
while (cmdbGroupContainsCI.next()) {
21+
22+
var keyValue = new GlideRecord('cmdb_key_value');
23+
keyValue.addQuery('configuration_item', cmdbGroupContainsCI.configuration_item);
24+
keyValue.addQuery('key', 'Application');
25+
keyValue.query();
26+
27+
if (!keyValue.next()) {
28+
// Only insert if not already present
29+
keyValue.initialize();
30+
keyValue.setValue('configuration_item', cmdbGroupContainsCI.configuration_item);
31+
keyValue.setValue('key', 'Application');
32+
keyValue.setValue('value', dynamicGroups.name + 'AS');
33+
keyValue.insert();
34+
35+
// Log only for new entries created (optional)
36+
gs.info('Created key-value for CI: ' + cmdbGroupContainsCI.configuration_item + ' in group: ' + dynamicGroups.name + ', SysID: ' + keyValue.sys_id);
37+
}
38+
}
39+
}
40+
41+
})( );

0 commit comments

Comments
 (0)