BPM - Mecanismo de Atribuição - Como incluir um valor de grupo de usuário específico em uma variável de processo
Dúvida
Como incluir um valor de grupo de usuário específico em uma variável de processo?
Solução
Para criação deste mecanismo, é preciso configurar o processo para que uma variável de processo receba o valor contendo o nome do grupo o qual pertence um usuário.
Para poder criar um mecanismo customizado a partir de um grupo específico de um usuário, é necessário primeiramente que uma variável do processo contenha esta informação.
A questão inicial é que o BPM não possui esta informação em uma variável já predefinida. Devido a isso é necessário criar uma variável que receba esta informação a partir de um serviço externo, armazenando este valor para que possa ser utilizado posteriormente no gateway de expressão.
Para poder fazer a montagem desta customização, realize os passos abaixo:
1. No formulário do processo que irá conter esta regra, inclua um campo que irá receber esta informação do grupo, e nomeie o mesmo com um nome que faça sentido no contexto (p.ex. grupousuario);
2. Crie um serviço externo, onde a URL do mesmo será a chamada da api da plataforma senior x responsável por trazer as informações de grupos de um usuário - https://api.senior.com.br/platform/user/listUserGroups;
3. Como parâmetros de entrada deste serviço, informe os parâmetros username e searchValue do usuário que está realizando a solicitação para os parâmetros de entrada:
Onde:
- username: usuário que está realizando a requisição;
- searchValue: palavra chave que indica qual o grupo do usuário que se deseja validar que o mesmo pertence ou não;
4. Como parâmetro de saída deste serviço, informe o parâmetro name, onde este é o que irá conter o nome do grupo que está sendo buscado;
5. Inclua o serviço externo para ser executado no início da solicitação, ou em alguma etapa do fluxo antes da validação do gateway de expressão, para que o mesmo realize a pesquisa na API informada acima e valide se o usuário faz parte daquele grupo desejado;
6. Na tela de configuração do serviço externo, o qual irá apontar na variável de processo o nome do grupo retornado pela API listUserGroups, informe os parâmetros a seguir.
Parâmetros de Entrada
- Username: Alterar o tipo de valor para variável de execução, e selecionar o valor Solicitante;
- searchValue: Deve conter o nome do grupo que será utilizado como variável para o mecanismo de atribuição;
Parâmetro de Saída
- Name: Deve linkar com o nome do campo que foi criado conforme o item 1;
7. Com isso será possível utilizar posteriormente esta variável no gateway de expressão e verificar se esta variável possui o nome do grupo desejado para envio da solicitação conforme a regra para o mecanismo de atribuição necessário para aquele usuário. Abaixo temos um exemplo de como esta regra será criada dentro do gateway de expressão.