2016-07-13 6 views
0

jQuery AJAXを使用して動的データをJIRAにPOSTしようとしています。このアイデアは、 "rest/api/2/issue /"を介してJIRA REST APIにPOSTすることです。XSRFトークンチェックをバイパスする

私はすべてのjQueryが正しくレイアウトされていると思います。過去に問題が発生している問題は、実行時に「XSRFトークンチェック」です。コードを実行しようとするたびに、「XSRFトークンチェックに失敗しました」というメッセージがサーバーから返されます。

私は "X-Atlassian-Token"ヘッダーについて読んでいます。私は私のジラサーバ設定の許可されたヘッダとしてそれを持っています。すなわち...

'ヘッダーは常に設定されたアクセス・コントロール・-ヘッダ許可する "X-アトラシアン-トークン、認可、Content-Typeの"' 私はまた私のAJAX要求にヘッダを設定している

を。 "X-Atlassian-Token": "チェックなし"

これが正しく動作するように誰かが助けてくれますか? でテストされたJIRAのバージョンは6.4.12です。

現在のAJAXコードは以下のとおりです。

$.ajax({ 
    url: "https://my-jira-host.com/rest/api/2/issue/", 
    type: "POST", 
    async: false, 
    headers: { 
     "X-Atlassian-Token": "nocheck", 
     "Content-Type": "application/json", 
     "Authorization": "Basic " + btoa("<username>:<password>") 
    }, 
    crossDomain: true, 
    dataType: "json", 
    data: JSON.stringify({"fields":{"project":{"key":"CLS"},"priority":{"name":"Minor"},"customfield_17125":{"value":"<Department>"},"customfield_17127":"<HOSTNAME>","customfield_17126":{"value":"<Object>"},"issuetype":{"name":"<issue-type>"},"customfield_17128":"dsfgfdsg","summary":"Department | HOSTNAME | Object","description":"sdfgfdg"}}), 
    success: function(XMLHttpRequest, textStatus, errorThrown) { 
     console.log("POST was a success!"); 
     console.log("HTTP Error Message: " + XMLHttpRequest.responseText); 
     console.log("HTTP Status: " + XMLHttpRequest.status); 
    }, 
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
     console.log("POST was a failure!"); 
     console.log("HTTP Error Message: " + XMLHttpRequest.responseText); 
     console.log("HTTP Status: " + XMLHttpRequest.status); 
    } 
    }); 

このコードは、私が内部で作成したクライアントのWebサイトから送信されていることにも言及してください。クライアントフロントエンドとJIRAホストは同じ内部ネットワーク上にあります。

答えて

0

XSRF(Cross Site Request Forgery)は、Jiraが悪意のあるデータをユーザーに送信することを防ぐために使用されるセキュリティ機能です。

あなたがFirefoxやChromeを使用している場合は、このようなダミーの値でのUser-Agentを設定する必要があります。

headers: { 
    "X-Atlassian-Token": "nocheck", 
    "Content-Type": "application/json", 
    "Authorization": "Basic " + btoa("<username>:<password>"), 
    "User-Agent": "xx" 
}, 
関連する問題