Introduction
In order to use the utility to generate soup reports, the components (repo) has to be associated with a product. This product - repo relationships are stored in a cosmos database, which is then leveraged to generate reports using data captured from soup report utilities
Following section describes how to associate a component repo to a product
How to Add your repo to a product through component owner file
Execute following steps to use the component owner file to create product - repo relationship entry in database
- Go to your repo's root folder in main branch
- Add component owner file if it doesn't exist already
- Enter the information in following format
- Save and commit the file
A pipeline is scheduled to run daily at midnight UTC to fetch the data from component owner files in all repo in org. This pipeline has script to parse the data from file and update the database accordingly
This pipeline can also be triggered manually to immediately update the data
To see the details of the implementation of the utility go here
How to Add your repo to a product through product catalogue file
An alternative way is available to add the product - repo relationship into the database. A central repo is created to store the data here
To update the data execute following steps
- Create a branch of the repo here according to branching P&P
- Go to productcatalogue folder inside the repo
- Create/update the file with product name
- Enter following details
- "org" : name of the organization
- "project" : name of the project
- "repo" : name of the repo
- create a PR to merge the changes to main branch
- The PR has to be approved by energizers team after validation
A pipeline is created which gets triggered on merge to productcatalogue repo. This pipeline has script to parse the files inside productCatalogue folder and update the database. To see the details of the implementation of the utility go here
Things to remember
- In both flows ensure that files are valid jsons
- If using component owner file, ensure that file name is componentOwner.json