I am trying to use C sharp code to create request in service desk and set the reqeust type value for service desk request using REST API, but getting unknown field error when trying to create a request in JIRA Service desk.
Below is the actual code which has the meta data to set the request type.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace JiraConsoleApp
{
class Program
{
static void Main(string[] args)
{
Jira objJira = new Jira();
objJira.JiraUrl = "https://xxxx.atlassian.net";
objJira.JiraJson = @"{""fields"":{
""project"": {""key"": ""xxxx""},
""issuetype"": {""name"": ""Incident""},
""serviceDeskId"": ""1"",
""requestTypeId"": ""1"",
""requestFieldValues"": {
""summary"": ""This is an automated ticket for Testing"",
""description"": ""Test - ignore this""
}
}}";
objJira.JiraUserName = "xxxxx";
objJira.JiraPassword = "jkl;UIOP&*()";
Console.WriteLine(objJira.addJiraIssue());
Console.ReadKey();
}
}
}We utilize the output from the above code to be parsed to the main jira.cs file in the below code.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MSXML2;
namespace JiraConsoleApp
{
class Jira
{
public string JiraUserName { get; set; }
public string JiraPassword { get; set; }
public string JiraUrl { get; set; }
public string JiraJson { get; set; }
private XMLHTTP60 JiraService = new XMLHTTP60();
public String addJiraIssue()
{
JiraService.open("POST", JiraUrl + "/rest/servicedeskapi/request/");
JiraService.setRequestHeader("Content-Type", "application/json");
JiraService.setRequestHeader("Accept", "application/json");
JiraService.setRequestHeader("Authorization", "Basic " + GetEncodedCredentials());
JiraService.setRequestHeader("X-Atlassian-Token", "no-check");
JiraService.send(JiraJson);
String response = JiraService.responseText;
JiraService.abort();
return response;
}
private string GetEncodedCredentials()
{
string mergedCredentials = string.Format("{0}:{1}", JiraUserName, JiraPassword);
byte[] byteCredentials = UTF8Encoding.UTF8.GetBytes(mergedCredentials);
return Convert.ToBase64String(byteCredentials);
}
}
}
Tried the same using REST client using the below JSON data but able to create request and set the request type.
We are using the POST operation as shown below
/rest/servicedeskapi/request
Body of the request.
{
"serviceDeskId": "1",
"requestTypeId": "1",
"requestFieldValues": {
"summary": "Request JSD help via REST1",
"description": "I need a new mouse for my Mac"
}
}Please let me know whats the mistake in the csharp code in setiing the service desk and reqeust type.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.