【发布时间】:2017-11-10 09:59:02
【问题描述】:
我正在尝试创建一个新缺陷。我必须在我的 C# ASP.Net 项目中使用 REST API 来完成它。以下是使用的网址:
qcbin/rest/domains/TESTDOMAIN/projects/TESTPROJECT/defects
以下是我的请求正文:
<?xml version="1.0" encoding="UTF-8"?>
<Entity Type="defect">
<Fields>
<Field Name="priority">
<Value>3-High</Value>
</Field>
<Field Name="description">
<Value>test description</Value>
</Field>
<Field Name="name">
<Value>test with rest API</Value>
</Field>
<Field Name="creation-time">
<Value>2011-08-16 11:34:08</Value>
</Field>
</Fields>
</Entity>
只有在 XML 中不使用 creation-time 时,我才能成功创建缺陷。我可以知道如何使用包含连字符的列吗?
我已经在 C# 上编写了代码。下面是我的 C# 代码
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(HPALMUrl + "/rest/domains/" + HPALMDomain + "/projects/" + HPALMProject + "/defects/");
request.Method = "POST";
request.Accept = "application/xml";
request.ContentType = "application/xml";
authRequest.KeepAlive = true;
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36";
request.CookieContainer = createSessionRequest.CookieContainer; //Authenticated cookie
using (var requestStream = request.GetRequestStream())
{
requestStream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
string responseText = string.Empty;
if (response.StatusCode == HttpStatusCode.OK)
responseText = "Update completed";
else
responseText = "Error in update";
我在更新测试表列时也面临这个连字符列问题。所以,请让我知道如何使用连字符包含列
提前致谢!
【问题讨论】:
-
这应该不是问题,您面临的问题可能是,您正在尝试为插入新记录时 ALM 自动生成的字段设置一些值。具体说明测试计划中的哪些字段导致问题。
-
@Barney,我尝试了与 To-Mail 相同的方法,它不是自动生成的。
-
@Barney,这是缺陷而不是测试计划。
-
I am facing this hyphen column problem when updating Test table column好的也贴一下错误信息 -
抱歉,Test 表也出现了这种情况。但目前,缺陷创建是重中之重。谢谢!
标签: c# asp.net rest alm hp-quality-center