Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Keep your component catalog in sync with GitHub automatically

Hey everyone, Josh here from the Compass product team and I wanted to share that we've added a new feature to the GitHub app for Compass that will detect when repositories are created in any connected GitHub organization and automatically create components in Compass for them. With automatic import, you can trust that your component catalog will stay accurate and up-to-date as repositories are added in GitHub.

New Compass sites will have this option enabled by default, and anyone who already has GitHub for Compass setup will need to first upgrade the GitHub app then go to Apps > Configure GitHub and toggle on the "Automatic Import" option within the GitHub app configuration. You will need to enable automatic import for each GitHub organization you have.

Screenshot 2024-04-08 at 11.20.54 AM.png

When automatic import is enabled for a GitHub organization, whenever a new repository is created in GitHub, Compass will detect it and then immediately create a new component of type 'service' using the same name as the repository and a link back to it. When disabled or toggled off, Compass will stop creating new components when repositories are created. It's important to note that Compass does not try to "backfill" or "initialize" any imports, you will need to first manually import any components into Compass to start your catalog and then automatic import helps keep it up to date.

We plan to bring auto import functionality to Bitbucket soon, as well as introduce a way to bulk import all repositories from a Bitbucket workspace or GitHub organization into Compass in one shot to build a Compass catalog faster. We hope these tools will help you build and manage your component catalog, let us know what else we can do to make that easier. Happy Compassing!

4 comments

Jack Ukleja April 10, 2024

Compass will detect it and then immediately create a new component of type 'service' using the same name as the repository and a link back to it.

Does this work if you want to use config as code? 

Enrique Serrano Valle
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 10, 2024

Yes, this feature is compatible with config as code! As soon as a `compass.yml` file is added to that repository, Compass will use it to update and manage that component. Make sure to include in the file the ID of the component that was created associated to this new repository. You can use the base `compass.yml` file in the config-as-code section of the newly created component as a starting point too.

Like Steffen Opel _Utoolity_ likes this
Jack Ukleja April 15, 2024

@Enrique Serrano Valle 

Make sure to include in the file the ID of the component that was created associated to this new repository. 

This implies developers need to perform 2 or 3 steps here - as they wont know the ID of the component until its in Atlas they have to update the yml after. Not ideal

Enrique Serrano Valle
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 15, 2024

Yes, if you added manually a config as code file to a repository that had already been automatically imported, you’d need to add the ID of the component there so a duplicate wouldn't be created.

Now, if you’re creating config as code files manually, you could use the file provided in the “Config as code” section of your Compass component, and the ID would be already included there for you.

But arguably, if you already had a pipeline that added config as code compass.yml files automatically as soon as a new repository were created, then you wouldn’t need to necessarily use this new automatic import on new repository creation to detect and create new Compass files and keep your catalog in sync - you could disable this option. If you’re already in this stage of integration, then you would have already solved the continuous syncing problem via config as code.

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events