A integração foi feita utilizando Azure Functions como o webhooks do Github. Para entender melhor o porque de adotarmos essa integração, clique aqui.

Para desenvolvimento local

Exemplo:

{

"IsEncrypted": false,
"Values": {

"JIRA_API_HOST": "apimprod.totvs.com.br",
"JIRA_CONSUMER_KEY": "****************",
"JIRA_CONSUMER_SECRET": "*************",
"JIRA_USER": "integracao.jira.gith",
"JIRA_PASSWORD": "********",
"JIRA_TOKEN_PATH": "/api-homologacao/token",
"JIRA_API_PATH": "/api-homologacao/jira/2.0.0",
"JIRA_ID_COMPONENT": "1 - THF_ATENDIMENTO,2 - THF_GITHUB",
"JIRA_ID_ISSUETYPE": "12700",
"JIRA_ID_PROJECT": "15417",
"JIRA_ISSUE_PREFIX": "DTHF1-",
"GITHUB_USER": "devtotvs",
"GITHUB_PASSWORD": "*****"

}

}

criar as filas no Azure Storage:

Configuração

Fluxo da integração

Issue do Github

  1. A issue criada ou alterada no Github dispara a chamada do endpont /githubissue
  2. A função githubissue inclui a issue do Github na fila githubopenedissues com as informações:
  3. A função jiraopenissue é disparada pela fila githubopenedissues que inclui a issue no Jira e na fila githubissuestoupdate com as informações:
  4. A função githubupdateissue é disparada pela fila githubopenedissues que adiciona a issue do Github um label com a chave da issue o Jira

Novo comentário na issue do Github

  1. O comentário adicionado ou alterado na issue no Github dispara a chamada do endpont /githubissuecomment
  2. A função githubissuecomment inclui a issue do Github na fila githubissuecomments com as informações:
  3. A função jiraaddcomment é disparada pela fila githubissuecomments que adiciona a o comentário a issue do Jira utilizando o label com a key para encontra-la

Observações