Ich habe es erfolgreich geschafft, mich mit meiner ALM-Instanz über die Rest-API anzumelden/zu authentifizieren, aber jetzt bin ich verwirrt darüber, was ich tun sollte, um einen neuen Testsatz zu erstellen .ALM Rest API (C#): Erstellen des Testsets
private string CreateTestSetURL = "{0}rest/domains/{1}/projects/{2}/test-sets";
// Parameters : 0 = Open Date, 1 = Description, 2 = parent, 3 = Name.
private const string TestSetsXML = "<Entity Type=\"test-set\">" +
"<Fields>" +
"<Field Name=\"status\"><Value>Open</Value></Field>" +
"<Field Name=\"open-date\"><Value>{0}</Value></Field>" +
"<Field Name=\"subtype-id\"><Value>hp.pc.test-set.performance</Value></Field>" +
"<Field Name=\"description\"><Value>{1}</Value></Field>" +
"<Field Name=\"parent-id\"><Value>{2}</Value></Field>" +
"<Field Name=\"name\"><Value>{3}</Value></Field>" +
"</Fields>" +
"</Entity>";
string requestURL = String.Format(TestSetsURL, baseRequestURL, qcSettings.QCDomain, qcSettings.QCProject);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(requestURL));
string xml = String.Format(TestSetsXML, "2015-12-17", "test please ignore", parent, "TestPleaseIgnore");
byte[] Requestbytes = Encoding.UTF8.GetBytes(xml);
//request.
request.CookieContainer = authenticationCookieContainer;
request.Method = "POST";
request.ContentType = "application/xml";
request.Accept = "application/xml";
request.ContentLength = Requestbytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(Requestbytes, 0, Requestbytes.Length);
requestStream.Close();
var response = request.GetResponse();
var responseStream = response.GetResponseStream();
Das Ergebnis ist dieser Fehler: "Der Remoteserver hat einen Fehler zurückgegeben:. (400) Bad Request"
Wahrscheinlich ein paar Fragen:
- Sollte es einen Beitrag sein? - nach documentation here sollte es sein ..
- Ist das Format korrekt?
UPDATE: Ich habe versucht, Barneys Vorschlag, aber ich bin noch immer (400) Bad Request.
Frage aktualisiert mit Änderungen.
Der Test-Info sollte Teil Ihrer Anfrage Körper, nicht in die Query-String sein. – Barney
@Barney Meinst du, es sollte ein XML sein, das du passierst? –
Haben Sie variable Eltern irgendwo initialisiert? – Barney