Skip to content

Commit

Permalink
Fix for ProcessDefinitionProcessor failing on "You must call Configur…
Browse files Browse the repository at this point in the history
…e() first" (#2351)

ProcessDefinitionProcessor wsa failing as it was checkign the old
_Options variable which is no longer set. It now checks the Options base
variable and uses that.
  • Loading branch information
MrHinsh authored Sep 10, 2024
2 parents ef7fd58 + 08be985 commit b420908
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 16 deletions.
14 changes: 7 additions & 7 deletions docs/Reference/Generated/MigrationTools.xml

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 @@ -60,7 +60,6 @@ public class WorkItemTypeModel
/// <processingtarget>Pipelines</processingtarget>
public partial class ProcessDefinitionProcessor : Processor
{
private ProcessDefinitionProcessorOptions _Options;
private ProcessorModel SourceModel;
private ProcessorModel TargetModel;
private Dictionary<string, WorkItemField> SourceFields = new Dictionary<string, WorkItemField>();
Expand Down Expand Up @@ -97,7 +96,7 @@ protected override void InternalExecute()
private void EnsureConfigured()
{
Log.LogInformation("Processor::EnsureConfigured");
if (_Options == null)
if (Options == null)
{
throw new Exception("You must call Configure() first");
}
Expand All @@ -110,7 +109,7 @@ private void EnsureConfigured()
throw new Exception("The Target endpoint configured must be of type AzureDevOpsEndpoint");
}

if (_Options.Processes.Count == 0) _Options.Processes.Add("*", new List<string>() { "*" });
if (Options.Processes.Count == 0) Options.Processes.Add("*", new List<string>() { "*" });

if (Source.Options.Name == Target.Options.Name)
{
Expand All @@ -134,7 +133,7 @@ await Task.WhenAll(

Log.LogInformation("Synchronizing organization level fields.");
// We've got all the target and sources data.. let's start syncronizing
await SourceFields.Values.ParallelForEachAsync(Math.Max(1, _Options.MaxDegreeOfParallelism), async (sourceField) =>
await SourceFields.Values.ParallelForEachAsync(Math.Max(1, Options.MaxDegreeOfParallelism), async (sourceField) =>
{
if (sourceField.ReferenceName.StartsWith("System.") || sourceField.ReferenceName.StartsWith("Microsoft."))
{
Expand All @@ -147,7 +146,7 @@ await SourceFields.Values.ParallelForEachAsync(Math.Max(1, _Options.MaxDegreeOfP
}
});

await SourceModel.ProcessDefinitions.Values.ParallelForEachAsync(Math.Max(1,_Options.MaxDegreeOfParallelism), SyncProcess);
await SourceModel.ProcessDefinitions.Values.ParallelForEachAsync(Math.Max(1,Options.MaxDegreeOfParallelism), SyncProcess);
}
catch (Exception ex)
{
Expand Down Expand Up @@ -488,12 +487,12 @@ private async Task BuildModel(ProcessorModel model, AzureDevOpsEndpoint endpoint


var procs = await endpoint.GetApiDefinitionsAsync<ProcessDefinition>();
foreach (var processFilter in _Options.Processes.Keys)
foreach (var processFilter in Options.Processes.Keys)
{
string mappedProcName = processFilter;
if (model == TargetModel && _Options.ProcessMaps.ContainsKey(processFilter))
if (model == TargetModel && Options.ProcessMaps.ContainsKey(processFilter))
{
mappedProcName = _Options.ProcessMaps[processFilter];
mappedProcName = Options.ProcessMaps[processFilter];
}

var proc = procs.FirstOrDefault(p => processFilter == "*"
Expand Down Expand Up @@ -521,7 +520,7 @@ private async Task BuildModel(ProcessorModel model, AzureDevOpsEndpoint endpoint
#region Build Work Item Types data ...

var procWits = (await endpoint.GetApiDefinitionsAsync<WorkItemType>(new string[] { proc.Id }, singleDefinitionQueryString: "$expand=All"));
procWits = procWits.Where(x => _Options.Processes[processFilter].Any(a => a == "*"
procWits = procWits.Where(x => Options.Processes[processFilter].Any(a => a == "*"
|| x.Name.Equals(a, StringComparison.OrdinalIgnoreCase)));
if (procWits != null && procWits.Count() > 0)
{
Expand Down

0 comments on commit b420908

Please sign in to comment.