Я установил 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();
}
}
}