Injecting task configuration via URLs
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.