我已经安装了atlassian sdk,现在正在按照文档尝试查询票证:
https://bitbucket.org/farmas/atlassian.net-sdk/wiki/Home
文档显示以下内容:
// create a connection to JIRA using the Rest client
var jira = Jira.CreateRestClient("http://<your_jira_server>", "<user>", "<password>");
// use LINQ syntax to retrieve issues
var issues = from i in jira.Issues.Queryable
where i.Assignee == "admin" && i.Priority == "Major"
orderby i.Created
select i;
我有下面列出的代码,但我进入catch语句时出现以下错误(它更大;这只是它的第一部分!)
System.AggregateException:发生一个或多个错误。 -> Newtonsoft.Json.JsonSerializationException:无法反序列化 当前的JSON对象(例如{“ name”:“ value”}) “ Atlassian.Jira.Remote.RemoteField []”,因为该类型需要JSON 数组(例如[1,2,3])正确反序列化。解决此错误 将JSON更改为JSON数组(例如[1,2,3])或更改 反序列化类型,以便它是普通的.NET类型(例如,非 原始类型(例如整数),而不是集合类型(例如数组或 列表),可以从JSON对象反序列化。 JsonObjectAttribute 也可以添加到类型以强制其从JSON反序列化 宾语。路径'',第1行,位置2。 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader,类型objectType,JsonContract合同,JsonProperty成员, JsonContainerContract containerContract,JsonProperty containerMember, 对象的现存值) Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal
所以我认为我尝试通过foreach循环检索结果的方式不正确吗?
foreach (var issue in issues)
{
results.InnerHtml += (issue.Key.Value + " -- " + issue.Summary);
}
但是我真的对如何检索它们感到困惑。任何帮助都将受到欢迎!我有点困惑!
完整代码示例:
namespace JIRA_service_desk
{
public partial class WebForm3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
var jira = Jira.CreateRestClient("https://myurl.co.uk", "username", "pwd");
var issues = from i in jira.Issues.Queryable
where i.Assignee == "bob"
orderby i.Created
select i;
try
{
foreach (var issue in issues)
{
results.InnerHtml += (issue.Key.Value + " -- " + issue.Summary);
}
}
catch(Exception ex)
{
results.InnerHtml = ex.ToString();
}
//results.InnerHtml = issues.ToString();
}
}
}