Получение ответа от C # Atlassian SDK - PullRequest
0 голосов
/ 03 июля 2019

Я установил 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 читатель, тип 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();
    }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...