Continious Development for Custom Component

I'm working on setting up a continuous deployment (CD) workflow using GitHub Actions to deploy and sync a custom component across all of my Retool Cloud tenants. I'm using the retool-ccl CLI to manage custom component revisions and deployments.

However, I’ve run into a few issues that I’d appreciate some help with:

1.Non-Interactive Authentication:

The retool-ccl CLI currently prompts for interactive login and tenant selection, which isn't suitable for CI/CD environments.

  • Is there a way to authenticate using an access token or service account non-interactively?
  • Can we specify the target tenant(s) or spaces via command-line flags or environment variables?
  1. Using the Retool API for Custom Component Revisions:

I saw that it's possible to use the Retool API to create a new revision for a custom component, but the documentation isn’t very clear on what should be sent in the files property.

  • Could you provide an example or further explanation of the expected structure of the files field?
  • In addition when new revision created is it synced by deafult to all spaces?
  1. Retool-CCL Headers:

I came across mentions of being able to use custom headers when using retool-ccl. However, it's not very clear from the documentation which headers are supported or how to use them correctly.

  • Is there a list of supported headers and how they influence CLI/API behavior?

Any guidance, best practices, or documentation you can share around automating this deployment flow—particularly for multi-tenant or multi-space environments—would be greatly appreciated.

Thanks so much!

Welcome to the community, @etan! Thanks for reaching out. :slightly_smiling_face:

I responded to a similar question over here, which may be of interest to you. I recommend taking a look!

I'm definitely interested in taking a closer look at this, though, and will answer some of your more specific questions as soon as I get a chance to dig a little deeper.

You may have seen this already, but I actually have an exciting update! As of version 1.7.3, the custom-component-support library now supports passing arguments via CLI options or environment variables. :+1:

Let us know if you notice any issues or have any additional questions!