Agrupar condições da UI Action
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-14-2022 04:58 AM
Olá comunidade,
Qual a forma correta de agrupar as três condições abaixo em um só?
Tentei escrever dessas duas formas mais não consegui o resultado esperado.
- gs.getUser().isMemberOf("bko.operacoes" && "servicedesk" && "seguranca")
- gs.getUser().isMemberOf("bko.operacoes" || "servicedesk" || "seguranca")
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-14-2022 12:25 PM
Tente assim: gs.getUser().isMemberOf('bko.operacoes') && gs.getUser().isMemberOf('servicedesk') && gs.getUser().isMemberOf('seguranca')
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-14-2022 12:46 PM
Usando && (AND), o usuário deve ser membro dos 3 grupos, o que acho que não é o caso.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-14-2022 12:34 PM
A função isMemberOf aceita somente 1 parâmetro, então para usar essa função a única maneira é como você fez.
https://developer.servicenow.com/dev.do#!/reference/api/quebec/server_legacy/GUser-isMemberOf_S
Se você perguntou por causa do tamanho da condição, já que o campo tem um limite de caracteres, tu pode criar um Script Include com a validação que você precisa e chamar o Script Include na condição.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-14-2022 12:55 PM
Acrescentando ao que o Daniel respondeu, tenta passar o sys_id do grupo ao invés do nome do grupo.
Ficaria:
- gs.getUser().isMemberOf("sys_id") || gs.getUser().isMemberOf("sys_id") || gs.getUser().isMemberOf("sys_id");
Testa assim e vê no que dá.
Implementamos algo parecido aqui. O botão de cancelar é visível para um ROLE específico, num item do catálogo apenas e dependendo do estágio.