Disclosure: I am a Salesforce employee on the CumulusCI team. I am not a Marketing Cloud expert.
CumulusCI provides support for the Marketing Cloud Package Manager API. To use it, you would need to:
- You must first have an Installed Package in Marketing Cloud, which will provide you with a Client Id and Client Secret you can use to authenticate to the API.
- Set up a CCI service for an
oauth2_client
: cci service connect oauth2_client
. From your Installed Package, you'll need your Client Id (client_id
), Client Secret (client_secret
),
- Set up a CCI service for
marketing_cloud
: cci service connect marketing-cloud default --oauth_client <name of oauth client>
- Run a deployment:
cci task run deploy_marketing_cloud_package --package_zip_file <path>
See the docs in cci task info deploy_marketing_cloud_package
for more details.
In my experience, automating the Marketing Cloud Package Manager is challenging. The API is not particularly intended for public consumption. If your use case does not fall into the subset of functionality exposed by CumulusCI, this product may not work for you.
One key shortcoming I am aware of is that I do not know of a solution for executing Marketing Cloud OAuth authentication headlessly to support this solution. It requires user interaction. However, as noted, I am not a Marketing Cloud expert, and it's possible someone else may be able to shed light on a strategy there.