As empresas atuais usam diferentes ferramentas de software para diferentes funções, como inventário, folha de pagamento, serviços públicos etc. Os scripts de servidor permitem que as organizações busquem dados desses softwares ou sites de terceiros e listem os mesmos em cartões.
Cenário de negócios
A Zylker usa o Jira para rastrear problemas em seus produtos. Às vezes, os parceiros ou clientes da Zylker podem criar um cartão no Qntrl para registrar um bug. Para agrupar todos os problemas em um só lugar, Zylker quer criar um problema no Jira sempre que um cartão relacionado a um bug é criado no Qntrl.
Solução
Podemos criar uma orquestração específica para registrar problemas e acionar um script de servidor sempre que um novo cartão for criado nele.
- Crie uma nova orquestração para registrar problemas no produto e salvar o link do problema de Jira.
- Crie um script de servidor para registrar problemas no Jira quando os cartões forem criados na orquestração do Qntrl.
- Crie um cartão e preencha os detalhes do problema para testar o script do servidor.
Configuração de exemplo
Etapa 1 – criar uma orquestração
Crie uma nova
orquestração intitulada "Relatar problema" e adicione campos personalizados relacionados a ela.
- Adicione um campo de link --Link do problema--para registrar o link do problema no Jira.
Depois que o formulário for salvo, prossiga para projetar o blueprint, definir permissões e publicar a orquestração.
Etapa 2: codificar scripts do servidor
Agora, prossiga para codificar o script do servidor para enviar detalhes para o Jira.
- Crie um novo script de servidor e digite o nome como 'Registro de erro no Jira'.
- Escolha Raise Issue (Relatar problema) no menu suspenso Form (Formulário).
- Escolha Job (Tarefa) como Execution Location (Local de execução) para executar o script.
- Escolha After Create (Após criar) como Execution Trigger (Gatilho de execução) para executar este script sempre que a página do cartão for carregada.
- Copie e cole o script abaixo em seu editor de script e substitua os nomes dos parâmetros.
- Você pode usar o ícone ? no canto superior direito do editor de scripts para se referir aos nomes dos parâmetros.
- Quando o script estiver pronto, Publish (Publique) -o.
- function afterCreate(){
- var globalVars = ZDK.Vars.getGlobalVariables();
- var job = current.Job;
-
- var jiraAuthBase64 = ZDK.Crypto.base64Encode(globalVars["JiraEmail"] + ":" + globalVars["JiraApiKey"]);
- var payload = getJiraPayload(job.getTitle(), job.getDescription(), globalVars["JiraProjectKey"]);
-
- var url = "https://" + globalVars["JiraDomain"] + "/rest/api/3/issue";
- var headers = {
- 'Authorization': "Basic "+jiraAuthBase64,
- 'Accept': 'application/json',
- 'Content-Type': 'application/json'
- }
- var resp = ZDK.HTTP.request(
- url,
- "post",
- headers,
- "",
- payload,
- ""
- );
- if (typeof resp == "string") {
- resp = JSON.parse(resp);
- }
- console.log("Res = " + JSON.stringify(resp));
- if (resp && resp.body) {
- if (resp.status == 400) {
- console.log("Jira issue creation failed, "+JSON.stringify(resp));
- } else {
- if (typeof resp.body == "string") {
- resp.body = JSON.parse(resp.body);
- }
- var id = resp.body.id;
- var key = resp.body.key;
- var link = "https://" + globalVars["JiraDomain"] + "/browse/" + key;
- job.setVariable("JiraId", id);
- job.setVariable("JiraKey", key);
- //Select issue link parameter here
- job.setValue(current.Layout.Fields.<select issue link parameter here>.id, link);
- console.log("Jira issue created, id = " + id + ", key = " + key);
- }
- } else {
- }
-
- }
-
-
- function getJiraPayload(title, desc, project) {
- if (!title) title = "";
- if (!desc) desc = "";
- var payload = {
- "fields": {
- "summary": title,
- "issuetype": {
- "id": "10004"
- },
- "project": {
- "key": project
- },
- "description": {
- "type": "doc",
- "version": 1,
- "content": [
- {
- "type": "paragraph",
- "content": [
- {
- "text": desc,
- "type": "text"
- }
- ]
- }
- ]
- }
- }
- };
- return JSON.stringify(payload);
- }
Etapa 3 - adicionar um cartão
Quando a orquestração e o script do servidor estiverem prontos, podemos testar o script criando um novo
cartão.
- Navegue até Cards (Cartões) e clique em Add Card (Adicionar cartão)
- Selecione Raise Issue (Relatar problema) no menu suspenso Form (Formulário).
- Insira os detalhes do bug.
- Salve o cartão.
Verifique se um problema com os mesmos detalhes foi criado em sua conta do Jira.
Related Articles
Caso de negócio 3: usar scripts de cliente para buscar dados de aplicativos ou sites de terceiros
Ao projetar formulários, às vezes podemos querer exibir dados de outros sites ou aplicativos, como taxas de estoque, status de voo, detalhes de frete, atualizações meteorológicas etc. Para buscar essas informações de sites ou aplicativos de terceiros ...
Caso de negócio 6: excluir cartões associados de aplicativos de terceiros (após a exclusão)
Automatize a exclusão de registros em aplicativos de terceiros, como Zoho Desk ou SAP, depois que eles forem excluídos no Qntrl usando o script de servidor "após exclusão". Cenário de negócios A Zylker usa o Jira para rastrear problemas em seus ...
Caso de negócio 2: buscar dados de sites de terceiros usando scripts de servidor (antes de criar)
Às vezes, podemos querer buscar dados externos de outros aplicativos ou sites, como detalhes meteorológicos, taxas de estoque ou status de voo relacionados ao cartão, quando criamos um cartão. Os scripts do servidor podem ser usados para buscar esses ...
Gerenciar regras de negócios
O que é uma regra de negócio? Uma regra de negócio ajuda você a acionar um evento ou uma cadeia de eventos automatizados, quando uma ação definida ocorre em um cartão. Por exemplo, quando o campo de responsável de um cartão é atualizado, talvez você ...
Caso de negócio 1: usar scripts de cliente para executar cálculos matemáticos e validações em dados
Ao projetar formulários para replicar documentos relacionados a finanças, como ordem de compra, fatura ou faturas de reembolso, nossos fluxos de trabalho podem exigir o cálculo do custo total ou a soma das despesas incorridas. Para automatizar esses ...