Injecting task configuration via URLs
As of Tasks for AWS 2.14, you can provide JSON or YAML based task parameters as code by referencing configuration files via URLs. You can reference a configuration file from the build working directory via the file://
protocol, or from a publicly accessible web location via the http://
and https://
protocols (this also allows to reference a configuration file from a private S3 bucket via a pre-signed URL).
Limitations
Only a single file can be referenced via URL, combining multiple URLs into one parameter field is not possible. This is not yet covered by the task validation though, we are tracking a resp. improvement as https://utoolity.atlassian.net/browse/UAA-414. The issue also outlines a potential workaround:
“If you require composing configuration files at build time, you can use a Bamboo Script task to combine the various references with applicable tools like jq and yq before reusing the resulting file in a task configuration.”
Supported URL protocols
The following URL protocols are currently supported:
file://
– you can reference a configuration file from the build working directory. The file:// protocol only supports absolute paths, which requires using the build-specific${bamboo.build.working.directory}
Bamboo variable to craft the URL, for example:file://${bamboo.build.working.directory}/cloudformation.template
http:// and https://
– you can reference a configuration file from a publicly accessible HTTP/HTTPS URL, for example:Amazon S3 object: https://s3-ap-southeast-2.amazonaws.com/cloudformation-templates-ap-southeast-2/SQS_With_CloudWatch_Alarms.template
Accessing private S3 objects via thes3://
protocol is not yet supported directly, however, you can use the Generate Pre-signed URL action as a workaround.Raw Bitbucket Cloud snippet: https://bitbucket.org/!api/2.0/snippets/utoolity/eK7d/b5ec11289388bc30846e4efe5b858845bf794fa0/files/Parameter_Validate.json
Raw GitHub source code: https://raw.githubusercontent.com/awslabs/aws-cloudformation-templates/master/aws/services/DynamoDB/DynamoDB_Table.yaml
Contextual entity variables
Refer to Injecting contextual entity variables into task configurations for details.
Amazon Web Services™, AWS™ and the “Powered by Amazon Web Services” logo are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries.
Utoolity® is a registered trademark of Utoolity GmbH.
© 2024 Utoolity GmbH. All rights reserved.