2014-10-29 3 views
3

프로젝트 생성을 위해 json 데이터로 JIRA에 POST 요청을 보내고 있지만 JIRA로 프로젝트를 생성 할 수 없습니다. Fiddler에서 오류를 보려고했는데 다음 오류가 발생했습니다. 나는 C#을 사용하고 그것을위한 콘솔 어플리케이션을 만들었다.JIRA에 문제를 생성하는 방법 REST api?

내가 게시하는 내 JSON 데이터는 다음과 같습니다.

{ 
"fields": { 
    "project": { 
     "key": "JTL" 
    }, 
    "issuetype": { 
     "name": "BUG" 
    } 
    } 
} 

오류 메시지는 다음입니다 :

{ "errorMessages"[] "오류": { "issuetype": "문제 유형이 필요합니다"}}

I 다음 코드에서 json 데이터를 게시하고 있습니다. 무엇을 그리고 어디서 내가 틀렸는 지 제안하십시오.

string [email protected]"{"fields":{"project":{"key":"JTL"},"issuetype":{"name":"BUG"}}}"; 

//object of HttpClient. 
HttpClient client = new HttpClient(); 

//Putting URI in client base address. 
client.BaseAddress = new Uri(uri); 

//Putting the credentials as bytes. 
byte[] cred = UTF8Encoding.UTF8.GetBytes("jiraUserName" + ":" + "JiraPassword"); 

//Putting credentials in Authorization headers. 
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(cred)); 

//Putting content-type into the Header. 
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); 

//i am using StringContent because i am creating console application, no any serialize i used for maniputlate the string. 
var content = new StringContent(data, Encoding.UTF8, "application/json"); 

//Sending the Post Request to the server. But getting 400 bad Request. 
System.Net.Http.HttpResponseMessage response = client.PostAsync("issue", content).Result; 

위의 코드에서 사용자 인증 및 데이터 전송을위한 자격 증명을 보냈습니다.

+1

JSON 출력 데이터에'issuebug' 키가 포함되어 있는지 100 % 확신합니까? –

+0

그래, 내 긍정에 대한 이유가있다, 내 현재 json 설명 및 여름 키가 결석하지만 응답보다 "여름"과 "설명"두 키와 함께 json 데이터를 보낼 때 unknon 또는 없습니다 필수,보다 두 키 값을 모두 제거했지만 JIRA REST API 문서에서는 두 키가 예제에서 사용되었습니다. –

+1

올바른 엔드 포인트에 액세스하고 있습니까? 적절한 URL을 의미합니까? –

답변

0

. 내 코드를 약간 변경했는데 코드가 성공적으로 작동했습니다. URL을 변경했습니다. 내가 "issuetype"의 이름으로, 작은 변화를 만들어 JSON에

Old Url: https://MyCompany.atlassian.net/rest/api/2/issue 
new url: https://MyCompany.atlassian.net/rest/api/latest/issue 

현재 본인 계좌에서, 본인 계좌에서 현재 사용할 수 없습니다 버그이었다 "작업"issuetype 사용할 수 그래서 난 버그 "에서 issutype 이름을 변경 "을"작업 "으로 변경합니다. 이제 성공적으로 작동합니다!, 그것은 내 많은 시간을 죽인 하나님 감사합니다. 슬픈 : (

감사합니다. Abdurrahman Koken 너무. :) 건배!

0
는 다음과 같은 데이터를 변경

: 나는 내 문제를 해결 한

string data = @"{'fields':{'project':{'key':'JTL'},'summary':'Sample issue','description':'Creating an issue via REST API','issuetype':{'name':'Bug'}}}"; 
+0

나는 당신에게 알려주려고한다. –

+0

문제는 "버그"라고 생각합니다. 대신에 "버그"를 사용하거나 jusy가 내 코드 조각을 복사하십시오. –

+0

나는 노력했지만 그 작동하지, 그리고 내 질문에 언급했다 문자열 데이터 = @ "{"필드 : "" "프로젝트": { "키": "JTL"}, "issuetype": { "이름": " 곤충"}}}"; 이것은 다른 사람들에게 코드를 작성하기위한 것입니다. 내 json이 래퍼 클래스에서 생성 중입니다. 하드 코드되지 않았습니다. 어쨌든 나는 그것이 내 코드에있는 것처럼 당신의 라인을 붙여 넣어 당신의 방법을 시도하고 나는 여전히 같은 문제가 존재 했어. –