# How do I send a curl request whose body contains a variables embedded in string?

**URL:** <https://discuss.circleci.com/t/how-do-i-send-a-curl-request-whose-body-contains-a-variables-embedded-in-string/37706>\
**Category:** Tips, Tricks, and Hacks\
**Created:** [October 7, 2020, 5:58pm UTC](https://discuss.circleci.com/t/how-do-i-send-a-curl-request-whose-body-contains-a-variables-embedded-in-string/37706 "2020-10-07T17:58:36Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![sudipbhandari126](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/sudipbhandari126/32/25762_2.png) [@sudipbhandari126](https://discuss.circleci.com/u/sudipbhandari126)\
**Post date:** [October 7, 2020, 5:58pm UTC](https://discuss.circleci.com/t/how-do-i-send-a-curl-request-whose-body-contains-a-variables-embedded-in-string/37706/1 "2020-10-07T17:58:37Z")

</div>

```
 - run:
          name: notify on slack channel
          command: |
           sudo apt-get install curl |
           curl -X POST -H 'Content-type: application/json' \
            --data '{"text":"${ECS_SERVICE_NAME} deployed to staging with revision ${CIRCLE_SHA1}"}' \
            https://hooks.slack.com/services/ ****

```

ECS\_SERVICE\_NAME and CIRCLE\_SHA1 are variables defined.  
But when I run this I get it literally and not the values.

What’s the correct way to achieve this?

---

<div class="post-metadata">

**Author:** ![Henna](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/henna/32/29402_2.png) [@Henna](https://discuss.circleci.com/u/Henna)\
**Post date:** [October 7, 2020, 7:23pm UTC](https://discuss.circleci.com/t/how-do-i-send-a-curl-request-whose-body-contains-a-variables-embedded-in-string/37706/2 "2020-10-07T19:23:43Z")

</div>

Hi @sudipbhandari126,

It looks like you curl request is using single quotes for the parameter.

In bash single quotes are used to preserve the literal value of each character inside the string. To fix this, change the single quotes to double quotes, and escape the double quotes inside the string, like in the example below.

You can find more information on quoting characters in bash here: [http://tldp.org/LDP/Bash-Beginners-Guide/html/sect\_03\_03.html](http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_03.html)

```auto
--data "{\"text\":{\"${ECS_SERVICE_NAME} deployed to staging with revision ${CIRCLE_SHA}\"}}"

```

---

<div class="post-metadata">

**Author:** ![sudipbhandari126](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/sudipbhandari126/32/25762_2.png) [@sudipbhandari126](https://discuss.circleci.com/u/sudipbhandari126)\
**Post date:** [October 8, 2020, 5:37am UTC](https://discuss.circleci.com/t/how-do-i-send-a-curl-request-whose-body-contains-a-variables-embedded-in-string/37706/3 "2020-10-08T05:37:06Z")

</div>

Thanks a lot. It worked!!

I think it’s time to really learn some bash 🙂

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/circleci/original/3X/5/1/511608acda8e85906e15909b57bd0a46c1dbe291.png) [@system](https://discuss.circleci.com/u/system)\
**Post date:** [October 18, 2020, 5:37am UTC](https://discuss.circleci.com/t/how-do-i-send-a-curl-request-whose-body-contains-a-variables-embedded-in-string/37706/4 "2020-10-18T05:37:08Z")

</div>

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.
