Ich rufe die JIRA REST API von JavaScript in einem Confluence User Macro an und stehe vor CORS Problemen, weil JIRA und Confluence auf zwei verschiedenen Domains und Preflight-Anforderung vom Browser schlägt fehl. Ich habe mehrere CORS-Lösungen wie unten beschrieben ausprobiert, ohne Erfolg. Also bitte ich um etwas Input von anderen, die wahrscheinlich dieses Problem gelöst haben.
JavaScript-Snippet, das fehlschlägt :
%Vor%Fehlermeldung (von Firefox):
%Vor%JIRA-Konfiguration
Access-Control-Allow-Headers:origin, content-type, accept
Access-Control-Allow-Methods:POST, GET, OPTIONS
Access-Control-Allow-Origin:*
Confluence-Konfiguration
Access-Control-Allow-Origin:*
Getestet mit Browsern:
Testen der Preflight-Anfrage (OPTIONS) mit CURL:
%Vor%Dies scheint eine positive Antwort zu sein.
Testen der Preflight-Anfrage (OPTIONEN) mit Crome extention Postbote :
%Vor% Antwortfehler: 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)
Etwas spät, um das zu beantworten, aber ich werde es hier als Referenz lassen.
In meinem Makro habe ich dieses Problem anders herum gelöst. Anstatt eine direkte Anfrage an den JIRA-Server zu senden, verwendete ich eine API, die vom Confluence-Server bereitgestellt wurde, um meine JIRA-Anforderung an die verknüpfte JIRA-Instanz zu übertragen.
Ich habe diesen Endpunkt in einer anderen Antwort beschrieben. Mit dieser Methode brechen Sie die Cross-Origin-Richtlinie nicht. In der Tat sind das JIRA-Probleme und JIRA-Diagramm Makros verwenden, um ihre Widgets zu rendern.
Bei diesem Ansatz müssen JIRA- und Confluence-Instanzen über einen Anwendungslink verbunden sein. Aber ich nehme an, dass Sie Administratorzugriff auf JIRA und Confluence haben, während Sie untersuchen, wie Sie die Ursprungsrichtlinien ändern, damit es für Sie kein Blocker sein sollte.
Tags und Links javascript cors jira-rest-api