- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
on 10-26-2021 06:20 AM
ATF - Custom Step Configuration2 - Get an Active User from an Assignment Group
Hi,
This Step configuration takes the group name as an input and passes an active user name and sysId to output variables.
Step Environment: Server Independent
Category: Server
Input Variables:
- Input String: Column Name = u_assignment_group, Type = String
Output Variables:
- Output String: Column Name = u_user_sysid, Type = String
- Output String: Column Name = u_user, Type = String
Description Script:
function generateDescription(step) {
// the global variable 'step' represents the current glide record
var description = gs.getMessage("Retrieves an active user from the group : '{0}'",
step.inputs.u_assignment_group);
return description;
}
generateDescription(step);
Step execution script:
(function executeStep(inputs, outputs, stepResult, timeout) {
var assignGroup = inputs.u_assignment_group;
var sysId;
var user;
var rowCount;
var queryFilter = "user.active=true^user.emailISNOTEMPTY^group.name=" + assignGroup;
var MESSAGE_KEY_NO_DISPLAY_VALUE = "Failure: No active user in this group";
var MESSAGE_KEY_SUCCESS = "Success: user value is passed to the output variable";
function logic() {
var gr = new GlideRecord('sys_user_grmember');
gr.addQuery(queryFilter);
gr.query();
rowCount = gr.getRowCount();
if (gr.next()) {
user = gr.getDisplayValue('user');
sysId = gr.user;
}
}
function passStep() {
outputs.u_user_sysid = sysId;
outputs.u_user = user;
stepResult.setOutputMessage(MESSAGE_KEY_SUCCESS);
stepResult.setSuccess();
}
function failStep() {
stepResult.setOutputMessage(MESSAGE_KEY_NO_DISPLAY_VALUE);
stepResult.setFailed();
}
logic();
if (rowCount >= 1) {
passStep();
} else {
failStep();
}
}(inputs, outputs, stepResult, timeout));
- 583 Views