从C#Atlassian SDK获得响应

时间:2019-07-03 10:15:15

标签: c# rest sdk jira

我已经安装了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();
    }
}
}

0 个答案:

没有答案