2017-05-11 1 views
1

Ich implementiere die REST-API von JIRA, um ein neues Projekt mit C# -Sprache zu erstellen. ich den folgenden Code verwenden:Problem beim Integrieren der REST-API in jira zum Erstellen des Projekts

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;     

Es arbeitet für REST-Client in Ordnung, aber in Code Ich bin das Problem immer

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

Jede Hilfe?

+2

Möglicherweise müssen Sie die Anforderung authentifizieren, um ein Projekt zu erstellen. Fügen Sie eine Kopfzeile "Autorisierung" mit Basisberechtigung hinzu. – Averroes

+0

Ich habe es auch versucht, indem ich dieses Stück Code SetBasicAuthHeader (Webrequest, "[email protected]", "Seasia @ 123"); Aber der Fehler ist immer noch derselbe. Ich bekomme nicht, was der Grund ist ???? Bitte schlagen Sie eine andere Sache vor, die ich verpasst habe. –

+0

Fügen Sie bitte die vollständige http-Anfrage, falls möglich, und/oder den json serialisierten Text der Anfrage ein. – Averroes

Antwort

0

Die documentation sagt:

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

ich eine POST-Anfrage erstellt haben Insomnia ein Projekt mit dem gleichen Körper wie bei Ihnen zu erstellen:

{"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" } 

Es mir interessante Ergebnisse liefert:

{ 
    "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://" 
    } 
} 

Ich habe auch bemerkt, dass die JSON Sie in Ihren Kommentar eingefügt haben ist falsch (es gibt eine ; nach dem URL-Parameter). Bitte überprüfen Sie die Serverantwort, um eine detailliertere Übersicht über die Probleme bei der Projekterstellung zu erhalten.

Verwandte Themen