sushmapinapati
Tera Contributor

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:

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));

Version history
Last update:
‎10-26-2021 06:20 AM
Updated by: