Ir para o conteúdo principal

Ferramentas de Integração do Pipefy

OBJETIVO

Descrever o processo de análise e indicar a melhor alternativa para implantação da USER STORY “Estudar uma forma de acompanhar as demandas solicitadas pelos clientes registradas no pipefy.”.

JUSTIFICATIVA

Após reunião de alinhamento do time com a gerência, identificou-se a necessidade de disponibilizar as informações presentes no pipefy para os cliente, permitindo a estes acompanhar o status de desenvolvimento das atividades planejadas e consequentemente, fornecendo uma maior transparência entre as partes envolvidas. Foi identificada a necessidade da realização de um estudo prévio da funcionalidades hoje presentes na ferramenta, para que seja identificada uma abordagem que atendam a demanda .

RESULTADOS ESPERADOS

  1. Lista contendo os dados que são disponibilizados pela ferramenta e que atendam a demanda.
  2. Maneiras das quais é possível obter esses dados.
  3. Relatório de viabilidade técnica com indicação de qual a melhor abordagem de utilização (se existir).

ENVOLVIDOS

  • Baymax (B.I. Team)

GLOSSÁRIO

  • API - Interface de Programação de Aplicações é o conjunto de rotinas e padrões estabelecidos por um software para a utilização de suas funcionalidades.
  • PIPEFY - ferramenta de controle de demandas e fluxo de trabalho atualmente utilizada pela SETIC.

PREMISSAS

  1. O Pipefy é a solução oficial adotada pela SETIC, sendo qualquer alteração nesse sentido além do escopo deste estudo.
  2. Convém disponibilizar aos clientes as informações necessárias em uma ferramenta externa ao Pipefy.

GRAPHQL

DEFINIÇÃO

GraphQL é uma sintaxe que descreve uma maneira de solicitar dados. Ele é geralmente utilizado para entregar dados, do servidor para o cliente. O GraphQL tem três principais características:

  1. Ele permite que o cliente especifique exatamente os dados que ele quer.
  2. Torna mais fácil agregar dados de várias fontes.
  3. Usa um sistema de tipos para descrever os dados.

Com o GraphQL, o usuário pode fazer uma única chamada para buscar todas as informações que precisa. Diferente do que acontece na arquitetura REST, que é necessário fazer várias requisições para buscar as mesmas informações.

image-1598745127576.png
Figura 1 - Exemplo de consulta utilizando GraphQL.

ZAPIER

DEFINIÇÃO

O Zapier é uma ferramenta de automação que permite a integração entre diversos serviços, incluindo o Pipefy. A ferramenta integra, de maneira segura, os pipes à outros aplicativos como Google Sheets, Slack, Evernote, Git Hub e muitos outros.

A ferramenta é recomendada pela própria equipe do Pipefy, porém sua utilização de maneira gratuita é restritiva, sendo necessário um investimento financeiro para melhor aproveitamento da mesma.

image-1598745231039.png
Figura 2 - Tabela de precificação da ferramenta Zapier.

PROPOSTAS

A seguir são descritas duas abordagens possíveis para a implantação,

1. UTILIZAÇÃO DO GRAPHQL

  • AÇÕES ASSOCIADAS
    • Alinhamento com a Gerência identificando as necessidades
    • Definição de quais atributos serão utilizados
    • Estudo para definir qual abordagem para implantar a solução
    • Implantação da solução
  • COMPLEXIDADE - depende do alinhamento.
  • EXEMPLO - a partir da ferramenta disponível pelo Pipefy é possível realizar consultas de acordo com os atributos fornecidos pela documentação. As consultas realizadas estão dispostas na figura 2, a seguir.

image-1598745348922.png

Figura 3 - Exemplo de Utilização do GraphQl que atenda a demanda. Foi identificado o card, a time responsável, o status atual e quando ocorreu a movimentação.

Para a utilização por ferramentas externas é necessário montar a requisição “POST”. A seguir, um exemplo dessa requisição em Javascript.

var data = null;
 
var xhr = new XMLHttpRequest();
 
xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});
 
xhr.open("POST", "https://api.pipefy.com/graphql");
xhr.setRequestHeader("authorization", "TOKEN FORNECIDO");
xhr.setRequestHeader("content-type", "Content-Type");
 
xhr.send(data);

2. UTILIZAÇÃO DO ZAPIER

  • AÇÕES ASSOCIADAS
    • Alinhamento com a Gerência identificando as necessidades
    • Definição de qual a aplicação será integrada
    • Alinhamento para definir como a aplicação será disponibilizada aos clientes
  • COMPLEXIDADE - baixa
  • EXEMPLO - devido as restrições de usuário não foi possível disponibilizar um exemplo.

IMPEDIMENTOS E POSSÍVEIS IMPEDIMENTOS

  1. Após análise da documentação, não foram identificadas informações referentes ao número de consultas permitidas. Uma limitação no número de consultas pode impactar na usabilidade da solução.
  2. Não foi possível testar o número de requisições devido a indisponibilidade de um usuário para esse tipo de teste. A utilização dos usuários de produção para este teste pode acarretar em bloqueios para o mesmo.

CONCLUSÃO

Após análise pelos integrantes do time, foi identificado que a utilização do GRAPHQL embora mais trabalhosa, permite uma maior flexibilidade de utilização. O time então opta pela utilização desta ferramenta, sendo destacado que não foi possível validar se o número de requisições permitidos será capaz de atender as necessidades. O time indica que novos estudos sejam realizados para que essas questões sejam sanadas antes do desenvolvimento da solução.

REFERÊNCIAS