Skip to content

Commit 5ccc482

Browse files
Merge pull request #702 from solidify/feature/remove-invalid-ado-sprint-chars
Remove invalid ADO sprintname characters
2 parents bcc0d0b + e8d4fce commit 5ccc482

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/WorkItemMigrator/JiraExport/RevisionUtils/FieldMapperUtils.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using System.IO;
99
using System.Linq;
1010
using System.Reflection;
11+
using System.Text.RegularExpressions;
1112

1213
namespace JiraExport
1314
{
@@ -152,9 +153,10 @@ public static object MapSprint(string iterationPathsString)
152153

153154
var iterationPaths = iterationPathsString.Split(',').AsEnumerable();
154155
iterationPaths = iterationPaths.Select(ip => ip.Trim());
155-
156156
var iterationPath = iterationPaths.Last();
157157

158+
iterationPath = ReplaceAzdoInvalidCharacters(iterationPath);
159+
158160
return iterationPath;
159161
}
160162

@@ -213,6 +215,11 @@ private static string SetCustomFieldName(string sourceField, bool isCustomField,
213215

214216
return sourceField;
215217
}
218+
219+
private static string ReplaceAzdoInvalidCharacters(string inputString)
220+
{
221+
return Regex.Replace(inputString, "[/$?*:\"&<>#%|+]", "", RegexOptions.None, TimeSpan.FromMilliseconds(100));
222+
}
216223
}
217224

218225
}

src/WorkItemMigrator/tests/Migration.Jira-Export.Tests/RevisionUtils/FieldMapperUtilsTests.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,15 @@ public void When_calling_map_sprint_with_valid_args_Then_expected_output_is_retu
197197
Assert.AreEqual(sprintPath[sprintPath.Length - 1], output);
198198
}
199199

200+
[Test]
201+
public void When_calling_map_sprint_with_invalid_azdo_chars_Then_expected_output_is_returned()
202+
{
203+
string[] sprintPath = { "*#/Base", "Seg*#/ment", "Sprint*#/" };
204+
string expected = "Sprint";
205+
object output = FieldMapperUtils.MapSprint(string.Join(",", sprintPath));
206+
Assert.AreEqual(expected, output);
207+
}
208+
200209
[Test]
201210
public void When_calling_map_value_with_valid_args_Then_expected_output_is_returned()
202211
{

0 commit comments

Comments
 (0)