diff --git a/src/RepoGovernance.Core/Models/DORASummaryItem.cs b/src/RepoGovernance.Core/Models/DORASummaryItem.cs index 57c87e14..27bded74 100644 --- a/src/RepoGovernance.Core/Models/DORASummaryItem.cs +++ b/src/RepoGovernance.Core/Models/DORASummaryItem.cs @@ -3,9 +3,14 @@ //This class will mirror the result from DevOpsMetrics public class DORASummaryItem { - public DORASummaryItem(string owner, string repo) + public DORASummaryItem() + { + } + + public DORASummaryItem(string owner, string project, string repo) { Owner = owner; + Project = project; Repo = repo; //Set the properties to defaults (none) DeploymentFrequency = 0; @@ -27,6 +32,10 @@ public string Owner { get; set; } + public string Project + { + get; set; + } public string Repo { get; set; diff --git a/src/RepoGovernance.Core/Models/ProfileOwnerRepo.cs b/src/RepoGovernance.Core/Models/ProfileOwnerRepo.cs index 6997bb56..448a9466 100644 --- a/src/RepoGovernance.Core/Models/ProfileOwnerRepo.cs +++ b/src/RepoGovernance.Core/Models/ProfileOwnerRepo.cs @@ -2,7 +2,7 @@ { public class UserOwnerRepo { - public UserOwnerRepo(string user, string owner, string repo) + public UserOwnerRepo(string user, string owner, string repo) { User = user; Owner = owner; diff --git a/src/RepoGovernance.Core/SummaryItemsDA.cs b/src/RepoGovernance.Core/SummaryItemsDA.cs index 31bf0e91..92c28f20 100644 --- a/src/RepoGovernance.Core/SummaryItemsDA.cs +++ b/src/RepoGovernance.Core/SummaryItemsDA.cs @@ -80,6 +80,7 @@ public static List GetRepos(string user) string? devOpsServiceURL, string user, string owner, + string project, string repo) { int itemsUpdated = 0; @@ -215,15 +216,15 @@ public static List GetRepos(string user) Branch = "main" }; List frameworkSummaries = DotNetCensus.Core.Main.GetFrameworkSummary(null, repo2, false); - foreach (FrameworkSummary project in frameworkSummaries) + foreach (FrameworkSummary frameworkSummary in frameworkSummaries) { Framework framework = new() { - Name = project.Framework, - Color = DotNetRepoScanner.GetColorFromStatus(project.Status) + Name = frameworkSummary.Framework, + Color = DotNetRepoScanner.GetColorFromStatus(frameworkSummary.Status) }; - if (project.Framework != null && - summaryItem?.DotNetFrameworks.Where(p => p.Name == project.Framework).FirstOrDefault() == null) + if (frameworkSummary.Framework != null && + summaryItem?.DotNetFrameworks.Where(p => p.Name == frameworkSummary.Framework).FirstOrDefault() == null) { summaryItem?.DotNetFrameworks.Add(framework); } @@ -284,7 +285,7 @@ public static List GetRepos(string user) else { //Initialize an empty DORA summary item - dORASummaryItem = new(owner, repo) + dORASummaryItem = new(owner, project, repo) { DeploymentFrequency = 0, LeadTimeForChanges = 0, diff --git a/src/RepoGovernance.Function/ProcessItemFromQueueFunction.cs b/src/RepoGovernance.Function/ProcessItemFromQueueFunction.cs index ebb97d9a..bac7abb7 100644 --- a/src/RepoGovernance.Function/ProcessItemFromQueueFunction.cs +++ b/src/RepoGovernance.Function/ProcessItemFromQueueFunction.cs @@ -20,6 +20,7 @@ public static async Task Run([QueueTrigger("summaryqueue", Connection = "AzureWe string[] parts = myQueueItem.Split('_'); string user = ""; string owner = ""; + string project = ""; string repo = ""; if (parts.Length == 2) { @@ -51,7 +52,7 @@ public static async Task Run([QueueTrigger("summaryqueue", Connection = "AzureWe Configuration["GitHubClientSecret"], Configuration["SummaryQueueConnection"], Configuration["DevOpsServiceURL"], - user, owner, repo); + user, owner, project, repo); if (itemsUpdated > 0) { log.LogInformation($"C# Queue trigger function completed updating {itemsUpdated} items at: {DateTime.Now}"); diff --git a/src/RepoGovernance.Service/Controllers/SummaryItemsController.cs b/src/RepoGovernance.Service/Controllers/SummaryItemsController.cs index 688be4b0..8c73874f 100644 --- a/src/RepoGovernance.Service/Controllers/SummaryItemsController.cs +++ b/src/RepoGovernance.Service/Controllers/SummaryItemsController.cs @@ -29,14 +29,14 @@ public List GetRepos(string owner) /// the repository being updated /// [HttpGet("UpdateSummaryItem")] - public async Task UpdateSummaryItem(string user, string owner, string repo) + public async Task UpdateSummaryItem(string user, string owner,string project, string repo) { return await SummaryItemsDA.UpdateSummaryItem( Configuration["AppSettings:GitHubClientId"], Configuration["AppSettings:GitHubClientSecret"], Configuration["AppSettings:CosmosDBConnectionString"],//Configuration["AppSettings:StorageConnectionString"], Configuration["AppSettings:DevOpsServiceURL"], - user, owner, repo); + user, owner, project, repo); } /// diff --git a/src/RepoGovernance.Tests/SummaryItemsControllerTests.cs b/src/RepoGovernance.Tests/SummaryItemsControllerTests.cs index 47b233bf..9e623a7c 100644 --- a/src/RepoGovernance.Tests/SummaryItemsControllerTests.cs +++ b/src/RepoGovernance.Tests/SummaryItemsControllerTests.cs @@ -19,10 +19,11 @@ public async Task UpdateRepoGovernanceSummaryItemTest() //Arrange string user = "samsmithnz"; string owner = "samsmithnz"; + string project = null; string repo = "CustomQueue"; //Act - runs a repo in about 4s - int itemsUpdated = await SummaryItemsDA.UpdateSummaryItem(GitHubId, GitHubSecret, AzureStorageConnectionString, DevOpsServiceURL, user, owner, repo); + int itemsUpdated = await SummaryItemsDA.UpdateSummaryItem(GitHubId, GitHubSecret, AzureStorageConnectionString, DevOpsServiceURL, user, owner, project, repo); //Assert Assert.AreEqual(1, itemsUpdated);