GetUserNames delegate
The GetUserNames delegate gathers all userNames from the given input fields. All input fields are optional. The delegate will evaluate any input and compose a CSV of all resulting usernames.
| Field name | Mandatory | Description |
|---|---|---|
| userNames | N | A CSV of user names that you want to have included in the result. |
| groupNames | N | A CSV of group names that you want to have evaluated and included in the result. |
| roleNames | N | A CSV of role names that you want to have evaluated on the current business item and included in the result. |
| userExpressions | N | A CSV of user expressions that you want to have evaluated and included in the result. |
| resultVariable | N | The variable name to store the CSV of user names in. By default 'assembledUserNames' if not provided. |
The delegate is deprecated. Replace your service task containing this delegate with a script task, for example:
<scriptTask id="scripttask1" name="Get user names" scriptFormat="groovy" activiti:autoStoreVariables="false">
<script><![CDATA[
import com.collibra.dgc.core.api.model.user.User;
import com.collibra.dgc.core.api.model.usergroup.UserGroup;
import com.collibra.dgc.core.api.dto.usergroup.FindUserGroupsRequest;
Set<String> userNameResult = new HashSet<String>();
userNameResult.addAll(utility.toList("${userName}"));
userNameResult.addAll(users.getUserNames("${role}"));
List<UserGroup> userGroupList = userGroupApi.findUserGroups(FindUserGroupsRequest.builder()
.name("${group}")
.nameMatchMode(MatchMode.EXACT)
.build())
.getResults()
for (UserGroup userGroup : userGroupList) {
List<User> userList = userApi.findUsers(FindUsersRequest.builder()
.groupId(userGroup.getId())
.build())
.getResults()
for (User user : userList) {
userNameResult.add(user.getUserName());
}
}
execution.setVariable("assembledUserNames", userNameResult);
]]></script>
</scriptTask>