I am trying to run a BitBucket pipeline on a remote AWS Windows Server 2016 Datacenter.
image: python:3.5.1
pipelines:
custom: # Pipeline that only runs manually
default:
- step:
caches:
- pip
script: # Modify the commands below to build your repository.
- pip install awscli
- <-
aws ssm send-command
--document-name "AWS-RunRemoteScript"
--instance-ids "i-000000000000000"
--parameters '{\"sourceType\":[\"S3\"],\"sourceInfo\":[\'{\"path\":\"https://s3.us-east-2.amazonaws.com/my-bucket-name/test.ps1\"}\'],\"executionTimeout\":[\"3600\"],\"commandLine\":[\"test.ps1\"],\"workingDirectory\":[\"C:\\\\TOM\"]}'
--timeout-seconds 600
--region us-east-2
When i try running the pipeline, i get the following error:
+ <- aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "i-000000000000000" --parameters '{\"sourceType\":[\"S3\"],\"sourceInfo\":[\'{\"path\":\"https://s3.us-east-2.amazonaws.com/my-bucket-name/test.ps1\"}\'],\"executionTimeout\":[\"3600\"],\"commandLine\":[\"test.ps1\"],\"workingDirectory\":[\"C:\\\\TOM\"]}' --timeout-seconds 600 --region us-east-2
bash: /opt/atlassian/pipelines/agent/tmp/bashScript5876925824407417765.sh: line 8: unexpected EOF while looking for matching `''
I've looked into the syntax 2-3 times but not sure what exactly the issue is. I don't see any extra single quote in the command. Any help will really be appreciated.
UPDATE 1:
@rici:
+ aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "i-0000000000000000" --parameters '{"sourceType":["S3"],"sourceInfo":['\''{"path":"https://s3.us-east-2.amazonaws.com/my-bucket-name/test.ps1"}'\''],"executionTimeout":["3600"],"commandLine":["test.ps1"],"workingDirectory":["C:\\TOM"]}'
Error parsing parameter '--parameters': Invalid JSON: Expecting value: line 1 column 36 (char 35)
JSON received: {"sourceType":["S3"],"sourceInfo":['{"path":"https://s3.us-east-2.amazonaws.com/my-bucket-name/test.ps1"}'],"executionTimeout":["3600"],"commandLine":["test.ps1"],"workingDirectory":["C:\\TOM"]}
UPDATE 2:
+ aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "i-0000000000000000" --parameters '{\"sourceType\":[\"S3\"],\"sourceInfo\":["{\"path\":\"https://s3.us-east-2.amazonaws.com/my-bucket-name/test.ps1\"}"],\"executionTimeout\":[\"3600\"],\"commandLine\":[\"test.ps1\"],\"workingDirectory\":[\"C:\\\\TOM\"]}' --timeout-seconds 600 --region us-east-2
Error parsing parameter '--parameters': Invalid JSON: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
JSON received: {\"sourceType\":[\"S3\"],\"sourceInfo\":["{\"path\":\"https://s3.us-east-2.amazonaws.com/my-bucket-name/test.ps1\"}"],\"executionTimeout\":[\"3600\"],\"commandLine\":[\"test.ps1\"],\"workingDirectory\":[\"C:\\\\TOM\"]}