I'm using CURL to send GET/PUT/POST requests to the Trello API. Up until now I've been following the format of the calls in the Trello API Introduction <https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction> where all the data is on the CURL command line.
But I recently saw an answer in the Trello forum that referred to a JSON payload. Searching for info on CURL payloads got me this page on Stack Exchange: https://stackoverflow.com/questions/18611903/how-to-pass-payload-via-json-file-for-curl
On that page is the caveat "that will only work if the server accepts json input".
So, does the server accept json input? Can I send a CURL command to the Trello API that uses JSON-formatted input rather than having to put all input values on the command line?
Yes although I think the authentication parameters (token etc) still need to be part of query string.
see the PUT examples here: https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/
Thanks. That's the page I linked to in my question. I've been following that format.
So far, in my shell script, I have a construction like this:
curl -s \
--request POST \
jq -r ' . | .name, .pos '
In the above $WhoMe contains my token and key.
The idList, name, and pos data are all provided on the curl command line and the response is piped through jq to display only the name and pos of the created card, as confirmation.
What I'm interested in is being able to have a more complex creation command read from a file or from a shell variable that is in JSON format. I believe that I have to add this to the curl options to have it properly upload JSON data:
--header "Content-Type: application/json"
Your answer is, briefly, yes, that ought to work. But I'm looking for more specifics about how to actually construct the curl command.
For instance, the sample commands on the API Introduction page that we both cited have constructions like this:
But when I inserted $MyKey and $MyToken values into that string, I got an error from the shell because the single quotes had to be changed to double quotes so that the variables will be expanded to their values. That was a hard glitch to debug because it was hard to determine where, among several levels, the error was actually occurring and I'm pretty new at all this.
So I'm pushing back at answers that are of the form "do it in the usual way" because I don't know what that "usual way" is.
How do I get curl to send the data in a way that the Trello server will accept? I'd like the option of the data being either in a file or in a shell variable.
Thanks for your time and the tutoring.
I'm still looking for how to do this. My original questions was "How" and Michaels's answer was "Yes, it's possible".
I suspect it may be a specific usage of a specific curl option, and if you know how it works already, the answer is obvious in the curl manual. Maybe I need someone to tell me, "This means this and that means do this and it will be interpreted as that, which is what you need."
But I don't know how it works already, so I'm still looking. I found a reference in Stack Overflow to the content type header flag, but that is the limit of my understanding. I need that flag. Then what? I know where to put the flag, but where does the JSON go?
Hello Community! My name is Brittany Joiner and I am a Trello enthusiast and Atlassian Community Leader. I'll be sharing with you a series of videos with my top tips on how to best use Trello...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events