From b904fa8b2dd469a15fd4caf39bda8b2e6d4708c7 Mon Sep 17 00:00:00 2001 From: smoh Date: Fri, 12 Dec 2025 10:19:00 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EB=A6=84=20=EC=A0=95=EB=A6=AC=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Services/Mappers/JiraIssueMapper.cs | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/Services/Mappers/JiraIssueMapper.cs b/Services/Mappers/JiraIssueMapper.cs index 4feb73f..0b22596 100644 --- a/Services/Mappers/JiraIssueMapper.cs +++ b/Services/Mappers/JiraIssueMapper.cs @@ -1,10 +1,13 @@ -using TriliumMind.Data.Entities; +using System; +using TriliumMind.Data.Entities; using TriliumMind.Models; namespace TriliumMind.Services.Mappers; public static class JiraIssueMapper { + private static readonly char[] _specialCharacters = ['(', '/']; + public static JiraIssue ToEntity(this Issue issue) { return new JiraIssue @@ -13,9 +16,9 @@ public static class JiraIssueMapper Summary = issue.fields.summary ?? string.Empty, Parent = issue.fields.parent?.key ?? issue.fields.customfield_10808, Type = issue.fields.issuetype?.name ?? string.Empty, - Status = issue.fields.status?.description ?? string.Empty, - Assignee = issue.fields.assignee?.displayName ?? string.Empty, - Manager = issue.fields.reporter?.displayName ?? string.Empty, + Status = issue.fields.status?.name ?? string.Empty, + Assignee = CleanDisplayName(issue.fields.assignee?.displayName), + Manager = CleanDisplayName(issue.fields.reporter?.displayName), Due = issue.fields.duedate?.ToUniversalTime() ?? DateTimeOffset.MinValue.ToUniversalTime(), Updated = issue.fields.UpdatedAt.ToUniversalTime(), Published = DateTimeOffset.MinValue.ToUniversalTime(), @@ -23,4 +26,16 @@ public static class JiraIssueMapper NeedNotify = 0 }; } + + private static string CleanDisplayName(string? displayName) + { + if (string.IsNullOrWhiteSpace(displayName)) + return string.Empty; + + var specialCharIndex = displayName.IndexOfAny(_specialCharacters); + if (specialCharIndex >= 0) + displayName = displayName[..specialCharIndex]; + + return displayName.Trim(); + } } \ No newline at end of file