Я пытался настроить функцию для вызова Jira Rest API с параметрами, чтобы затем создать проблему в Jira.Для вызова API отдыха Jira предоставила документацию, в которой описано, как вызывать API отдыха здесь .На сайте указаны CURL и JSON.Вот запрос REST API, который я пытался настроить в C#
:
curl -D- -u peno.ch:yourpassword -H "Content-Type: application/json" --data @foo.json https://jira-test.ch.*******.net/rest/api/latest/issue/
Это полезная нагрузка foo.json:
{
"fields": {
"project":
{
"key": "FOO"
},
"summary": "Test the REST API",
"issuetype": {
"name": "Task"
}
}
}
Я пытался реализовать HttpWebRequest
для вызова API отдыха, а также я попытался с WebClient
.Никто из них не работал.Я вроде понимаю API, но думаю, что у меня не все параметры правильно, я думаю, что я делаю что-то не так.Также в Google я не нашел никакого решения.
Я получаю внутреннюю ошибку от Jira при выполнении функции ниже.(нет конкретной информации об ошибке)
public static void CreateJiraRequest(JiraApiObject jiraApiObject)
{
string url = "https://jira-test.ch.*******.net/rest/api/latest/issue/";
string user = "peno.ch";
string password = "****";
var client = new WebClient();
string data = JsonConvert.SerializeObject(jiraApiObject);
client.Credentials = new System.Net.NetworkCredential(user, password);
client.UploadStringTaskAsync(url, data);
}
Это мой JiraApiObject, который точно переводит в полезную нагрузку Json, показанную выше.
public class JiraApiObject
{
public class Project
{
public string key { get; set; }
}
public class Issuetype
{
public string name { get; set; }
}
public class Fields
{
public Project project { get; set; }
public Issuetype issuetype { get; set; }
public string summary { get; set; }
}
public class RootObject
{
public Fields fields { get; set; }
}
}
Когда я выполняю команду CURL на консоли всеРаботы, которые я просто не мог понять, как структурировать WebClient
или HttpWebRequest
.
Я обнаружил, что многие пользователи Jira сталкиваются с этой проблемой, и в Интернете нет ни одного хорошего решения, которое я мог бы найти.Я надеюсь найти решение и помочь другим, у кого возникла такая же проблема, подняв этот вопрос.