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.