This project is a C# console application that leverages the Azure DevOps REST API to gather data related to builds and releases. The collected data is stored in a database for further analysis. Additionally, a Power BI dashboard is created to visualize and explore the analytics derived from the gathered data.
- Azure DevOps Integration: Utilizes Azure DevOps REST API to fetch information about builds and releases.
- Database: Stores the retrieved data in a SQL server database for efficient data management.
- Power BI Dashboard: Creates an interactive Power BI dashboard for visualizing build and release analytics.
- C# for console application development.
- Azure DevOps REST API for data retrieval.
- SQL Server database for data storage.
- Power BI for dashboard creation and visualization.
ConsoleApp
: Contains the C# console application.DatabaseScripts
: SQL scripts for creating the database.PowerBIDashboard
: Power BI file for the analytics dashboard.
- Clone the repository to your local machine.
- Open the solution in Visual Studio or your preferred C# IDE.
- Update the Azure DevOps API credentials and connection string for the database.
- Create a Database as "AzureAnalytics" and run scripts to create Tables and View.
- Run the console application to gather and store data.
- Open the Power BI file to explore the analytics dashboard.
Choose one of the following options to deploy the console app and retrieve data from Azure.
-
Manual Execution:
- Run the application manually.
-
Scheduled Task with Task Scheduler:
- Set up a scheduled task in Windows Task Scheduler for automated execution.
-
Azure Functions:
- Convert the application into an Azure Function for serverless, scheduled execution.
-
Docker Container with Kubernetes:
- Dockerize the application and deploy it using Kubernetes for container orchestration.
This console app is designed to be easily configurable for different Azure DevOps projects within the organization. The ProjectRelatedInfo
class in the codebase centralizes project-related information. You can simply update the ProjectNames
list in this class, and the application will dynamically fetch data for each specified project during execution.
public class ProjectRelatedInfo
{
public static List<string> ProjectNames = new List<string>()
{
"StarbucksCloneProject",
"MyPortfolioProject",
"ProjectX",
"Suits",
"The Office"
};
}
- Integration of Azure KeyVault to manege User Secrets.
- Switch between Light and Dark mode in Power BI Dashboard.
Download Metricalist Power BI Light Theme
Download Metricalist Power BI Dark Theme
Het Pandya