Ativar o CORS na API REST do JIRA
Estou chamando a API REST do JIRA do JavaScript em uma macro de usuário do Confluence e estou enfrentando problemas do CORS porque o JIRA e o Confluence estão em dois domínios diferentes epedido de comprovação do navegador está falhando. Eu tentei várias soluções CORS como descrito abaixo, sem nenhum sucesso. Então, estou implorando por algumas opiniões de outras pessoas que provavelmente resolveram esse problema.
Snippet JavaScript que está falhando:
AJS.$.ajax({
type: "GET",
url: "http://jira.mydomain.com/rest/api/latest/search/?jql=issue%20in%20linkedIssues(SR-45)",
dataType: "json",
contentType: "application/json",
async: false
})
Mensagem de erro (do Firefox):
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://jira.mydomain.com/rest/api/latest/search/?jql=issue%20in%20linkedIssues(SR-45). This can be fixed by moving the resource to the same domain or enabling CORS.
Configuração do JIRA
Versão do JIRA: 6.4.12URL:http://jira.mydomain.comExecutando o Apache na frente (proxy): SimConfiguração dos cabeçalhos de resposta:Access-Control-Allow-Headers:origin, content-type, accept
Access-Control-Allow-Methods:POST, GET, OPTIONS
Access-Control-Allow-Origin:*
Confluência adicionada aolista branca: SimExpressão: Confluência (http://confluence.mydomain.com)Tipo: Link do aplicativoPermitir entrada: TrueConfiguração de Confluência
Versão Confluence: 5.8.8URL:http://confluence.mydomain.comExecutando o Apache na frente (proxy): SimConfiguração dos cabeçalhos de resposta:Access-Control-Allow-Origin:*
JIRA adicionado aolista branca: SimExpressão: Confluência (http://jira.mydomain.com)Tipo: Link do aplicativoPermitir entrada: TrueTestado com navegadores:
Chrome (mais recente)Safari (mais recente)Firefox (mais recente)Testando solicitação de comprovação (OPTIONS) com CURL:
ismar.slomic$ curl -X OPTIONS "http://jira.mydomain.com/rest/api/latest/search/?jql=issue%20in%20linkedIssues(SR-45)" -v
* Trying 10.107.1.24...
* Connected to jira.mydomain.com (127.0.0.1) port 80 (#0)
> OPTIONS /rest/api/latest/search/?jql=issue%20in%20linkedIssues(SR-45) HTTP/1.1
> Host: jira.mydomain.com
> User-Agent: curl/7.43.0
> Accept: */*
>
* Empty reply from server
* Connection #0 to host jira.mydomain.com left intact
curl: (52) Empty reply from server
Esta parece ser uma resposta positiva.
Testando solicitação de comprovação (OPTIONS) com extensão CromeCarteiro:
OPTIONS http://jira.mydomain.com/rest/api/latest/search/?jql=issue%20in%20linkedIssues(SR-45)
Erro de resposta:Could not get any response. This seems to be like an error connecting to http://jira.mydomain.com/rest/api/latest/search/?issue%20in%20linkedIssues(SR-45)