It was working fine until 4th May 2021 IST. After that it stopped working and getting "The remote server returned an error: (401) Unauthorized." exception.
If we get detailed exception from JIRA API then it would have been more easy to resolve the issue.
Need urgent help.
Code:
try
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
string postUrl = "https://XXX.atlassian.net/rest/api/2/issue/";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(postUrl);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
httpWebRequest.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(Settings.JiraUserName + ":" + Settings.JiraAPIToken));
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = @"
{
""fields"":
{
""project"":
{""key"": ""TEST""},
""summary"": ""Summary description"",
""description"": """ + description.Replace("\r", "\\r").Replace("\n", "\\n") + @""",
""issuetype"": { ""name"": ""Story"" },
""priority"": { ""name"": ""Highest"" },
""assignee"": { ""accountId"": """ + Settings.JiraAssigneeAccountId + @""" },
""reporter"": { ""accountId"": """ + Settings.JiraReporterAccountId + @""" },
""duedate"": ""25""
}
}";
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
var jiraResponse = Newtonsoft.Json.JsonConvert.DeserializeObject<JiraResponse>(Convert.ToString(result));
LoggerService.Log("Jira " + Settings.JiraIssueType + " is created " + jiraResponse.Key + "(" + jiraResponse.Self + ")");
if (Settings.JiraEpicLink.Trim() != null)
{
return jiraResponse.Key;
}
}
}
}
catch (Exception ex)
{
LoggerService.Log("Exception while creating Jira " + Settings.JiraIssueType + ": " + ex.Message);
}
JSON
{
"fields":
{
"project":
{"key": "TCIFE"},
"summary": "Fwd: Ask Me Anything",
"description": "Fwd: Ask Me Anything ",
"issuetype": { "name": "Story" },
"priority": { "name": "Highest" },
"assignee": { "accountId": "557058:f9071931-6f06-46cb-af11-3d6b78e4cb4a" },
"reporter": { "accountId": "557058:f9071931-6f06-46cb-af11-3d6b78e4cb4a" },
"duedate": "2021-06-07"
}
}
When i run using POSTMAN getting following,
{ "errorMessages": [], "errors": {
"summary": "Field 'summary' cannot be set. It is not on the appropriate screen, or unknown.", "duedate": "Field 'duedate' cannot be set. It is not on the appropriate screen, or unknown.", "description": "Field 'description' cannot be set. It is not on the appropriate screen, or unknown.", "reporter": "Field 'reporter' cannot be set. It is not on the appropriate screen, or unknown.", "assignee": "Field 'assignee' cannot be set. It is not on the appropriate screen, or unknown.", "priority": "Field 'priority' cannot be set. It is not on the appropriate screen, or unknown." }}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.