Web service Changes
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-23-2025 07:25 AM
In ServiceNow, via WS, it should not be possible to assign an inactive group to a MEE or MEI deployment.
Affected operations:
1/ "createDeploiementMEE" operation
---------- affected field "u_coordinator_group"
2/ "updateMEE" operation
---------- affected fields: "u_coordinator_group" and "u_group_technical_coordinator"
3/ "createApprovalGroup" operation
---------- affected fields: "u_assignment_group"
4/ "createDeploiementMEI" operation
---------- affected fields: "u_coordinator_group", "u_group_technical_coordinator", and "u_assignment_group"
5/ "UpdateMEI" operation
---------- affected fields: "u_coordinator_group", "u_group_technical_coordinator", and "u_assignment_group"
Check: if the group is not active then:
- the WS must return a message indicating that the group is not active
- the update must not be effective. There are two scripts in two transform maps. I'll send them to you. I'll let you know when you can find a script solution.
// 4. createDeploiementMEI
if (source.u_coordinator_group != "" && !isGroupActive(source.u_coordinator_group)) {
gs.log("Groupe coordinateur inactif", "ABO");
ignore = true;
error = true;
source.error_msg = "Le groupe coordinateur (u_coordinator_group) est inactif.";
}
if (source.u_assignment_group != "" && !isGroupActive(source.u_assignment_group)) {
ignore = true;
error = true;
source.error_msg = "Le groupe d'affectation (u_assignment_group) est inactif.";
}
}
// 5. UpdateMEI
if (source.u_type == "UpdateMEI") {
if (source.u_coordinator_group != "" && !isGroupActive(source.u_coordinator_group)) {
ignore = true;
error = true;
source.error_msg = "Le groupe coordinateur (u_coordinator_group) est inactif.";
}
if (source.u_group_technical_coordinator != "" && !isGroupActive(source.u_group_technical_coordinator)) {
gs.log(source.u_group_technical_coordinator, "ABO");
ignore = true;
error = true;
source.error_msg = "Le groupe coordinateur technique (u_group_technical_coordinator) est inactif.";
}
if (source.u_assignment_group != "" && !isGroupActive(source.u_assignment_group)) {
ignore = true;
error = true;
source.error_msg = "Le groupe d'affectation (u_assignment_group) est inactif.";
}
}
function isGroupActive(groupeSysId) {
var grCoordinateurGroupe = new GlideRecord("sys_user_group");
if (grCoordinateurGroupe.get("name", groupeSysId)) {
return grCoordinateurGroupe.active;
}
return false;
}
// 1. createDeploiementMEE
if (source.u_type == "createDeploiementMEE") {
if (source.u_number != null && source.u_number != "") {
ignore = true;
error = true;
source.error_msg = "Impossible de renseigner un numéro de ticket pour une création de ticket.";
}
var groupeCoordinateur = source.u_coordinator_group;
if (groupeCoordinateur != "" && !isGroupActive(source.u_coordinator_group)) {
ignore = true;
error = true;
source.error_msg = "Le groupe coordinateur (u_coordinator_group) est inactif";
}
}
// 2. updateMEE
if (source.u_type == "updateMEE") {
if (source.u_coordinator_group != "" && !isGroupActive(source.u_coordinator_group)) {
ignore = true;
error = true;
source.error_msg = "Le groupe coordinateur (u_coordinator_group) est inactif.";
}
if (source.u_group_technical_coordinator != "" && !isGroupActive(source.u_group_technical_coordinator)) {
ignore = true;
error = true;
source.error_msg = "Le groupe coordinateur technique (u_group_technical_coordinator) est inactif.";
}
}
// 3. createApprovalGroup
if (source.u_type == "createApprovalGroup") {
if (source.u_assignment_group != "" && !isGroupActive(source.u_assignment_group)) {
ignore = true;
error = true;
source.error_msg = "Le groupe d'affectation (u_assignment_group) est inactif.";
}
}
function isGroupActive(groupeSysId) {
var grCoordinateurGroupe = new GlideRecord("sys_user_group");
if (grCoordinateurGroupe.get("name", groupeSysId)) {
return grCoordinateurGroupe.active;
}
return false;
}