I'm trying to submit an issue using JIRA API with c# and i'm receiving
The remote server returned an error: (400) Bad Request.
JiraManager manager = newJiraManager("uname", "mypass");
manager.SubmitIssue();
publicclassJiraManager
{
privateconststring m_BaseUrl = "https://insightsoftwaresolutions.atlassian.net/rest/api/2/";
privatestring m_Username;
privatestring m_Password;
public JiraManager(string username, string password)
{
m_Username = username;
m_Password = password;
}
publicvoid SubmitIssue()
{
string data=@{"fields"":{""project"":{""key"":""TES""},""summary"":""Summ"",""description"":""testinggg"",""issuetype"":{""name"":""Bug""}}}";
string result = RunQuery("issue", data: data, method: "POST");
}
protectedstring RunQuery(string resource,string argument = null,string data = null,string method = "GET")
{
string url = string.Format("{0}{1}/", m_BaseUrl, resource.ToString());
if (argument != null)
{
url = string.Format("{0}{1}/", url, argument);
}
HttpWebRequest request = WebRequest.Create(url) asHttpWebRequest;
request.ContentType = "application/json";
request.Method = method;
if (data != null)
{
using (StreamWriter writer = newStreamWriter(request.GetRequestStream()))
{
writer.Write(data);
}
}
string base64Credentials = GetEncodedCredentials();
request.Headers.Add("Authorization", "Basic " + base64Credentials);
HttpWebResponse response = request.GetResponse() asHttpWebResponse;
string result = string.Empty;
using (StreamReader reader = newStreamReader(response.GetResponseStream()))
{
result = reader.ReadToEnd();
}
return result;
}
privatestring GetEncodedCredentials()
{
string mergedCredentials = string.Format("{0}:{1}", m_Username, m_Password);
byte[] byteCredentials = UTF8Encoding.UTF8.GetBytes(mergedCredentials);
returnConvert.ToBase64String(byteCredentials);
}
}