을 사용하여 문제에 대한 조치를 실행하는 방법 일반적인 HttpWebRequest를 사용하여 제 3 자 어셈블리없이 API를 사용하여 문제 조치 실행을 구현하는 방법을 궁금합니다. 문제의 GET 필드 상태를 기본 인증의 예를 사용jira api 및 webrequest C#
0
A
답변
0
:
_jiraUrl = ConfigurationManager.AppSettings["jira.url"];
string login = ConfigurationManager.AppSettings["jira.login"];
string pass = ConfigurationManager.AppSettings["jira.password"];
var concat = Encoding.UTF8.GetBytes($"{login}:{pass}");
_authValue = Convert.ToBase64String(concat);
using (var client = new WebClient())
{
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
client.Headers.Add(HttpRequestHeader.Authorization, $"Basic {_authValue}");
try
{
string res = await client.DownloadStringTaskAsync($"{_jiraUrl}/rest/api/2/issue/{message.Task}?fields=status");
var statusObj = JObject.Parse(res);
string status = statusObj["fields"]["status"].Value<string>("id");
if (status == CLOSE_STATUS)
return "";
}
catch (WebException ex)
{
using (var sr = new StreamReader(ex.Response.GetResponseStream()))
Console.WriteLine(sr.ReadToEnd());
}
}
UPD : 추가 전환
using (var client = new WebClient())
{
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
client.Headers.Add(HttpRequestHeader.Authorization, $"Basic {_authValue}");
try
{
await client.UploadDataTaskAsync($"{_jiraUrl}/rest/api/2/issue/{message.Task}/transitions?expand=transitions.fields", "POST", Encoding.UTF8.GetBytes("{\"transition\":{\"id\":\"" + CLOSE_TRANSITION + "\"}}"));
}
catch (WebException ex)
{
using (var sr = new StreamReader(ex.Response.GetResponseStream()))
Console.WriteLine(sr.ReadToEnd());
}
}
+1
워크 플로우 작업 실행 방법은 무엇입니까? – Desaty
+0
+ Desaty가 답변에 추가되었습니다. –
주 몇 가지 예제 코드 –
까지이 질문에 투표 한 사람도 다운 투표를해야한다 : p –