我已经被分配去从事一个项目,该项目使用AtTask API从为我的Intranet构建的Web应用程序中创建问题和随附的自定义表单。我一直在使用ATTask API-使用API和C Sharp更新自定义字段作为我完成任务的主要开始参考。
像该帖子一样,我也遇到(500)Internal Server Error,尽管我收到的错误URL是直接插入浏览器中的{"error":{"class":"com.attask.util.json.JSONException","message":"org.codehaus.jackson.JsonParseException: Unexpected character ('S' (code 83)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: java.io.StringReader@45c828e1; line: 1, column: 6]"}}
。
我的网址看起来像这样:
https://myCo.attasksandbox.com/attask/api/v3.0/optask?method=put&projectID=myID&name=API%20SandBox%20Issue&updates={DE:Service%20Affected:Electronic%20Communications,DE:Technical%20Details:I%20dunno,DE:How%20will%20this%20change%20be%20communicated?:It%20wont}&username=myUserName&password=myPassword
我已经注意到,我在上面引用的帖子和我的URL之间的一个区别是,另一个帖子的URL正在查找categoryID。使用自定义表单是否有必要?如果是这样,我在哪里可以找到该ID?(我对一个问题进行了搜索查询,该问题具有我尝试生成的那种自定义形式,但未返回categoryID)。
顺便说一下,我的搜索查询如下所示:
Console.WriteLine("**Searching for Change Management Issues");
JToken cmIssues = client.Search(ObjCode.ISSUE, new
{
projectID=cmProjID,
name="SandBox Issue",
name_Mod="contains",
fields="parameterValues"
});
foreach (JToken issue in cmIssues["data"].Children())
{
Console.WriteLine(issue["name"]);
Console.WriteLine(issue["categoryID"]);
Console.WriteLine(issue);
}
我使用了ISSUE和OPTASK ObjCode类型,在categoryID上没有运气。
在终于能够回到这个项目之后,我发现我的问题在于我不熟悉JSON调用。对于此特定问题,(在我修复了密码的拼写错误之后),我收到了错误消息,因为我既没有将要发送的自定义表单对象也没有用引号引起来,将相关的值引起来。
基本上,我的问题是我正在这样做:
DE:The Object:The Value
当我应该这样做时:
"DE:The Object":"The Value"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句