2017-05-11 8 views
1

JIRA의 REST API를 구현하여 C# 언어를 사용하여 새 프로젝트를 만듭니다. 나는 다음과 같은 코드를 사용하고 : 그것은 REST 클라이언트에 잘 작동하지만 코드에서 내가 문제프로젝트를 생성하기 위해 jira에 REST API를 통합하는 중 문제가 발생했습니다.

"The remote server returned an error: (400) Bad Request."

어떤 도움을 얻고

NewProject objnewprj = new NewProject(); 
objnewprj.key = "key"; 
objnewprj.name = "Testing Project"; 
objnewprj.projectTypeKey = "business"; 
objnewprj.projectTemplateKey = "com.atlassian.jira-core-project-templates:jira-core-project-management"; 
objnewprj.description = "Example Project description"; 
objnewprj.lead = "admin"; 
objnewprj.url = "http://abc.co.in/"; 
objnewprj.assigneeType = "UNASSIGNED"; 
objnewprj.avatarId = 10204; 
objnewprj.issueSecurityScheme = 10000; 
objnewprj.permissionScheme = 10100; 
objnewprj.notificationScheme = 10100; 
objnewprj.categoryId = "10000"; 
var projectitem = new JavaScriptSerializer().Serialize(objnewprj); 
byte[] formbytes = System.Text.ASCIIEncoding.Default.GetBytes(projectitem.ToString()); 

var webrequest = (HttpWebRequest)WebRequest.Create("http://jirademoseasia.atlassian.net/rest/api/2/project"); 
webrequest.Method = "POST";   
webrequest.ContentType = "application/json"; 
webrequest.UserAgent = "xx"; 
try 
{ 
    var webresponse = webrequest.GetResponse(); 
    System.IO.StreamReader reader = null; 
    System.IO.Stream responseStream = webresponse.GetResponseStream(); 
    reader = new System.IO.StreamReader(responseStream); 
    result = reader.ReadToEnd(); 
} 
catch(Exception ex) 
{ 
    return "error"; 
} 
return result;     

?

+2

프로젝트를 만들려면 요청을 인증해야 할 수 있습니다. "Authorization"헤더를 기본 인증과 함께 추가하십시오. – Averroes

+0

나는이 코드 SetBasicAuthHeader (webrequest, "[email protected]", "Seasia @ 123")를 추가하여 이것을 시도했다. 그러나 오류는 여전히 동일합니다. 나는 이유가 무엇인지 알지 못한다. ???? 내가 놓친 다른 것을 제안 해주십시오. –

+0

가능한 경우 전체 http 요청 및/또는 요청의 json 직렬화 된 본문을 붙여 넣으십시오. – Averroes

답변

0

documentation는 말한다 :

: 그것은 나에게 흥미로운 결과를 얻을 수

{"key":"key", 
"name":"Testing Project", 
"projectTypeKey":"business", 
"projectTemplateKey":"com.atlassian.jira-core-project-templates:jira-core-project-management", 
"description":"Example Project description", 
"lead":"admin", 
"url":"abc.co.in/", 
"assigneeType":"UNASSIGNED", 
"avatarId":10204, 
"issueSecurityScheme":10000, 
"permissionScheme":10100, 
"notificationScheme":10100, 
"categoryId":"10000" } 

:

Status 400 - Returned if the request is not valid and the project could not be created.

나는 당신과 같은 몸을 가진 프로젝트를 생성 Insomnia을 사용하여 POST 요청을 만들었습니다

{ 
    "errorMessages": [], 
    "errors": { 
     "projectKey": "Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters.", 
     "projectUrl": "The URL specified is not valid - it must start with http://" 
    } 
} 

나는 또한 귀하의 의견에 붙여 넣은 JSON 잘못된 것입니다 (URL 매개 변수 뒤에 ;이 있음). 프로젝트 생성 문제에 대한 자세한 메시지를 찾으려면 서버 응답을 검토하십시오.