1

JIRA HipChat 集成插件有这个 REST 调用,我无法从我的插件中成功调用它:

AJS.params.baseURL + "/rest/hipchat/compatibility/1.0/issuepanel/data/"+issueId+".json

这个调用可以给我我正在寻找的 HipChat Room URL 的部分,如果我从 REST 浏览器中创建它,或者即使我将它粘贴到浏览器的地址栏中,它仍然会给我 JSON。但是我需要从我的插件中进行此调用,在这种情况下,它总是会出错,即转到 AJAX 调用的 error: 部分。请就此提供您的意见 - 从任何其他插件进行 REST 调用是否有任何限制?

代码方面,我基本上是在调用我创建的这个函数:

      function getHipChatRoomURL(issueId) {
console.log("Invoking get hipchat room URL");
var hipChatRoomURL = "";
var urlToGetHipchatRoom =  AJS.params.baseURL + "/rest/hipchat/compatibility/1.0/issuepanel/data/"+issueId+".json";
console.log("Attempting to get the hipchat room URL thru this REST Call " + urlToGetHipchatRoom);
AJS.$.ajax({
    url: AJS.params.baseURL + "/rest/hipchat/compatibility/1.0/issuepanel/data/"+issueId+".json",
    dataType: "application/json",
    async:false,
    success: function(response) {
        var apiUrl = response.dedicatedRoom.apiUrl;
        var roomId = response.dedicatedRoom.roomId;
        hipChatRoomURL = apiUrl+"/chat/room/"+roomId;
        hipChatRoomURL = "<a href="+"\'"+ hipChatRoomURL+"\'"+">Join Hipchat Room</a>";
        console.log("Hipchat room URL In AJAX Call is " + hipChatRoomURL);
        return hipChatRoomURL;
    },
    error: function() {
        hipChatRoomURL = "No Hipchat room configured for this issue";
        return hipChatRoomURL;
    }
});
console.log("Get hipchat room URL invoked");
return hipChatRoomURL;

}

并在 AJS.toInit() 下像这样调用此方法:

setTimeout(function() {
var issueKey = AJS.Meta.get("issue-key");
AJS.log("ISSUE KEY SENT to find the room URL is " + issueKey)
hipChatRoomURL = getHipChatRoomURL(issueKey);
console.log("Hipchat room URL is " + hipChatRoomURL);
},1000);

但我看到它总是执行错误:上面的 AJAX 调用部分并返回“没有为此问题配置 Hipchat 房间”

请尽快告知。

4

0 回答 0