Skip to content
This repository has been archived by the owner on Jun 30, 2022. It is now read-only.

Commit

Permalink
[ITSM] return error if could not get user id (#2492)
Browse files Browse the repository at this point in the history
  • Loading branch information
xieofxie committed Oct 18, 2019
1 parent bf731e1 commit 23f0d6b
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 14 deletions.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,9 @@
<data name="GoPrevious" xml:space="preserve">
<value>"Go previous" to navigate.</value>
</data>
<data name="InvalidGetUserId" xml:space="preserve">
<value>GetUserId is invalid.</value>
</data>
<data name="PoweredBy" xml:space="preserve">
<value>Powered by **{0}**</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
using System.Threading.Tasks;
using ITSMSkill.Models;
using ITSMSkill.Models.ServiceNow;
using ITSMSkill.Responses.Shared;
using Newtonsoft.Json;
using RestSharp;
using RestSharp.Serializers;
Expand Down Expand Up @@ -68,13 +69,10 @@ public async Task<TicketsResult> CreateTicket(string title, string description,
{
try
{
var request = CreateRequest(getUserIdResource);
var userId = await client.GetAsync<GetUserIdResponse>(request);

request = CreateRequest(TicketResource);
var request = CreateRequest(TicketResource);
var body = new CreateTicketRequest()
{
caller_id = userId.result,
caller_id = await GetUserId(),
short_description = title,
description = description,
urgency = UrgencyToString[urgency]
Expand Down Expand Up @@ -194,15 +192,12 @@ public async Task<TicketsResult> CloseTicket(string id, string reason)
try
{
// minimum field required: https://community.servicenow.com/community?id=community_question&sys_id=84ceb6a5db58dbc01dcaf3231f9619e9
var request = CreateRequest(getUserIdResource);
var userId = await client.GetAsync<GetUserIdResponse>(request);

request = CreateRequest($"{TicketResource}/{id}?sysparm_exclude_ref_link=true");
var request = CreateRequest($"{TicketResource}/{id}?sysparm_exclude_ref_link=true");
var body = new
{
close_code = "Closed/Resolved by Caller",
state = "7",
caller_id = userId.result,
caller_id = await GetUserId(),
close_notes = reason
};
request.JsonSerializer = new JsonNoNull();
Expand Down Expand Up @@ -288,12 +283,9 @@ public async Task<KnowledgesResult> CountKnowledge(string query)

private async Task<List<string>> CreateTicketSearchQuery(string query, List<UrgencyLevel> urgencies, string id, List<TicketState> states, string number)
{
var request = CreateRequest(getUserIdResource);
var userId = await client.GetAsync<GetUserIdResponse>(request);

var sysparmQuery = new List<string>
{
$"caller_id={userId.result}"
$"caller_id={await GetUserId()}"
};

if (!string.IsNullOrEmpty(query))
Expand Down Expand Up @@ -337,6 +329,18 @@ private async Task<List<string>> CreateKnowledgeSearchQuery(string query)
return sysparmQuery;
}

private async Task<string> GetUserId()
{
var request = CreateRequest(getUserIdResource);
var userId = await client.GetAsync<GetUserIdResponse>(request);
if (userId == null || string.IsNullOrEmpty(userId.result))
{
throw new Exception(SharedStrings.InvalidGetUserId);
}

return userId.result;
}

private Ticket ConvertTicket(TicketResponse ticketResponse)
{
var ticket = new Ticket()
Expand Down

0 comments on commit 23f0d6b

Please sign in to comment.