Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

github monorepo compass integration

Sridhar Ravula May 8, 2025

Hi Team, 

we have 15 services in mono repo and  looking to integrate key development and operational metrics for each individual component within this mono repo into their respective representations in Compass.

i have added compass.yml file each service in monorepo, but not sure how it works for mono repo 

Could you please provide assistance or point us to relevant documentation/examples for the following:

2 answers

1 vote
Enrique Serrano Valle
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 8, 2025

Hi, @Sridhar Ravula !

For each of the individual components of the monorepo, you can mark them as such as part of the config as code file, as detailed in https://developer.atlassian.com/cloud/compass/config-as-code/manage-components-with-config-as-code/#managing-multiple-components-with-config-as-code-in-a-single-repository - this will ensure that the aggregated activity of the monorepo won't show up in each one of the individual monorepo components.

Then, for every one of the individual monorepo components, we recommend using the API to send events related to their builds and deployments from their related CI/CD tool, so that specific events for each component are tracked. The Compass REST API called from your CI/CD pipelines may be the most straightforward way to do so. Here's what something like that would look like from a Bamboo pipeline.

You can still create a separate Compass component that represents the whole monorepo (keeping the component of a monorepo toggle / value as `isMonorepoProject: false` for this one) and which would automatically receive the aggregated activity from all contained components based on the Compass repository app (e.g.: the installed Compass Bitbucket App). We recommend associating this whole monorepo representation with the individual components as dependencies (e.g.: the main monorepo may be the `Capability` and each individual component could be a `UI element` or `Service`) so they're easy to trace to each other as well.

Sridhar Ravula May 12, 2025

Thanks @Enrique Serrano Valle so i need to create one compass.yml in the root folder and each app folder should have one compass.yml 

 

example if one of the component compass.yml  content is below 

```

name: mobile-credit-card-servicing
description: Mobile Credit Card Servicing Application
configVersion: 1
typeId: UI_ELEMENT
isMonorepoProject: true
fields:
tier: 3
labels:
- source:github
- mobile
- react-native
- credit-card
customFields:
- name: Impacting
type: single_select
value: null
- name: Provider
type: single_select
value: null
relationships:
DEPENDS_ON:
- ari:cloud:compass:630bb765-afa4-4c7b-93f8-a40925b25929:component/973a5e36-3928-4b46-afee-0910ab5551f9/47eca321-8951-4d13-8bbb-168d04f066b0 # web-core-experience
IS_PART_OF:
- ari:cloud:compass:630bb765-afa4-4c7b-93f8-a40925b25929:component/973a5e36-3928-4b46-afee-0910ab5551f9 # web-prosper-central
is DEPENDS_ON  ari should point to the root level compass.yml ?
Sridhar Ravula May 12, 2025

each component should have their own ari id ? 

0 votes
Ken Young
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
May 9, 2025

@Enrique Serrano Valle Are there any code snippets/examples on how to accomplish sending deployment events and builds via the restAPI.  It would be a great to have and example/Article published for different build systems (preferability GitHub) on recommended ways to accomplish this

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events