Hey everyone, Josh here from the product team. We're hard at work exploring a new feature for Compass that we think is really exciting - Templates! Today Compass enables you to easily bring existing components into the product via multiple avenues but we don't yet give you a way to create new software projects, with boilerplate code & best practices setup, straight from Compass. We're looking to change that with templates and we want your feedback on if we're heading in the right direction!
Watch a less than 10min overview of our thoughts on templates and feel free to comment on this post or on the Loom: https://www.loom.com/share/efb4a447c8724d1da6d536a70d098f7f
Don't have time to watch the Loom? Here's a summary of what we're working on that attempts to paint the picture:
By harnessing the power of customizable templates, you can now seamlessly create new components from Compass that adhere to your organization's standards. Using the new Templates screen/UI, you can create a component template that allows you to specify a source git repository from a supported SCM app, any optional parameters that need to be entered by a user when a new component is created from the template, and an optional webhook URL you can enter to receive a JSON payload after the component gets created. The template itself is a Compass component of the new type “Template”.
When you create a new component from a template, Compass will first create a new repository in the SCM system by cloning/forking from the specified template repository. Then it will create the component in Compass including some initial metadata like repo link, description, and owner. If the template has a webhook URL declared in it, Compass will also send a JSON payload to the webhook URL allowing the owner to process the data and do things like continue orchestration of the newly created component (e.g. deploy some hello world code on infrastructure spun up in the cloud, create a new service in Opsgenie and associate with the component, setup an observability tool, etc.). The JSON payload contains information about the newly created component including any optional parameters that were entered.
Below are some low-fidelity mocks representing the experience the team is thinking for templates (you can learn more in the loom above):
1. Templates in Compass
2. Defining your Template and Adding a Webhook URL
3. Adding Parameters for your Templates through YML
4. Template Component Detail View
5. All your Templates in One Space
6. Using a Template to Create a Component (Adding Parameters)
6. Reviewing & Creating a Component from a Template
Josh Campbell
Product Manager
Atlassian
Seattle, WA
8 accepted answers
7 comments