OK, I’ll be brief.
I created a set of API docs with Apiary using Markdown format.
We needed to change over to Postman, so I used Apimatic for the conversion. Which was 99% great, except for the item descriptions it only did a single line break, not two line breaks. As Postman is reading the description as Markdown a single line break doesn’t actually create a new line.
So, I needed to replace the string \n with \n\n but the key is I only needed to do it on the description field.
Ohh and I needed to add an x-api-key to use the mock server. Even Postman’s own authorisation system didn’t seem to easily support this.
Using the incredibly useful comment by NathanNorman on this GitHub Postman issue I had a glimpse of what I could do.
So to add in the x-api-key into the Postman headers, on my Linux VM I ran the following on the terminal:
I then checked some resources, learnt about the |= update operator and gsub for replacement.
So to replace \n with \n\n in just the description fields I ended up with:
If you want to see a list of the updated description fields to make sure it worked you can pipe the results to jq again.
cat postman_api_apiHeader.json | jq ‘walk( if (type == “object” and has (“description”) ) then .description |= gsub( “\\n”; “\n\n”) else . end )’ | jq ‘..|.description?’
Hopefully that helps others, or myself in the future.
Note that I downloaded the latest version of jq in order to run this. The debian distros are only using version 1.5 but I needed v1.6 for the walk function, but it’s a pretty easy download.
Some resources:
https://stedolan.github.io/jq/ Official jq site
https://stedolan.github.io/jq/manual/#walk(f) – Official docs description of the Walk function in jq.
https://remysharp.com/drafts/jq-recipes – Some jq recipes
https://github.com/postmanlabs/postman-app-support/issues/4044 – The Github issue that got me down this path
https://www.apimatic.io/transformer – The very powerful API blueprint online conversion system. Allowing me to upload a Markdown style Apiary file and download a Postman and also Swagger .json files.