2016-08-26 3 views
0

.NET에서 Jira REST API를 호출하려고합니다 (프로젝트의 쿼리 문제). 하지만 위의 HTTP 400 오류가 발생합니다.Jira REST 오류 "JQL을 사용하여 검색을 수행하는 동안 'project'필드에 'XXX'값이 없습니다." "

using System.Net; 
var jiraRequest = HttpWebRequest.CreateHttp("https://myserver.co.uk/rest/api/latest/search?jql=project=projectname"); 
jiraRequest.Credentials = new NetworkCredential(username, password); 
var response = (HttpWebResponse)jiraRequest.GetResponse(); 

내가 그것을 디버깅 된 바와 같이, 크롬에서 같은 URL을 요청하면 작동 것으로 나타났습니다하지만 IE에서 그렇지 않은 :

이 내가 전화를 거는 방법이다. 아이디어가 있으십니까?

답변

0

JQL 문자열은 매우 복잡 할 수 있으며 GET 요청의 매개 변수로 올바르게 인코딩되면 두통이 될 수 있습니다. /search에 대한 POST 끝점으로 전환하는 것이 좋습니다.

0

오류 메시지는 잘못된 것입니다. 문제는 인증 자격 증명 때문입니다. 내 코드는 다음 HTTP 헤더를 전송했다 : 나는 올바른 양식에 헤더를 변경하면

Authorization: Token blablabla 

을 일했다 :

Authorization: Basic blablabla 
0

당신이 근본 원인을 찾아야한다 첫번째 표준 curl

으로 시도하여
curl -D- -u USER:PASSWORD -X GET -H "Content-Type: application/json" URL 

잘 작동하면 코드가 잘못되었음을 의미합니다.

코드의 headers을 보려고 시도하면 Authorization: Basic xxxx

이어야합니다.