Я пытаюсь реализовать команду curl в отличном скрипте.
Цель состоит в том, чтобы выполнить задачу в Асане.
Команда отлично работает в командной строке, но завершается неудачно, когда я пытаюсь запустить ее в groovy-скрипте. Это моя команда:
curl -v -H "Authorization: Bearer <myToken>" https://app.asana.com/api/1.0/tasks --data-urlencode "projects=<projectId>" --data-urlencode "notes=message" --data-urlencode "name=null"
И ошибка, которую я получаю:
{"errors":[{"message":"Could not interpret \"projects as an identifier in \"projects.","help":"For more information on API status codes and how to handle them, read the docs on errors: https://asana.com/developers/documentation/getting-started/errors"}]}
Я также пытался поместить свою команду в список, но затем curl пытается разрешить каждую часть списка как хост:
def command = ["curl",
"https://app.asana.com/api/1.0/tasks",
"-H","Authorization:","${authorizationToken}",
"--data-urlencode","projects=","${projects}",
"--data-urlencode","notes=","${notes}",
"--data-urlencode","name=","${name}"];
Как правильно экранировать параметр data-urlencode в моем скрипте groovy?
Имеет ли это какое-то отношение к Groovy Runtime, потому что Groovy пытается постоянно восстанавливать URL-адрес?