# CircleCi mapping example

**URL:** <https://discuss.circleci.com/t/circleci-mapping-example/44495>\
**Category:** Build Environment\
**Tags:** circle-yml\
**Created:** [June 20, 2022, 5:20pm UTC](https://discuss.circleci.com/t/circleci-mapping-example/44495 "2022-06-20T17:20:23Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Maxim-Filimonov](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/maxim-filimonov/32/30429_2.png) [@Maxim-Filimonov](https://discuss.circleci.com/u/Maxim-Filimonov)\
**Post date:** [June 20, 2022, 5:20pm UTC](https://discuss.circleci.com/t/circleci-mapping-example/44495/1 "2022-06-20T17:20:23Z")

</div>

Somehow I feel this should be very simple, and I cannot seem to find a way to do it with the cirleci config.  
I have a simple task—take one value and **map** it to another based on a predefined map.  
Something like this:

```auto
buckets:
  staging:
    dashboard: staging-dashboard.example.com
    referrer: referrer-stage.example.com

```

YAML allows me to define this without problems. My issue is I cannot figure out how to use it in circleci config:

```auto
  deploy:
    executor: gcp/google
    parameters: *build_parameters
    steps:
      - attach_workspace:
          root: .
      - gcp/install
      - configure_google_sdk
      - gcp/initialize:
          gcloud-service-key: GCLOUD_SERVICE_KEY_DECODED
      - get_bucket: <<< HOW_TO_DO_THIS >>>
          environment: <<parameters.environment>>
          dashboard_type: <<parameters.dashboard_type>>
      - gcp-storage/upload:
        source_path: dist/apps/<<parameters.dashboard_type>>-admin/**
        destination_bucket: $BUCKET_NAME

```

My only solution so far has been to write a custom bash script which would map things inside code(😱) and set $BUCKET\_NAME environment variable. It seems like a massive overkill for such a simple thing, and the last thing I want is to store a mapping in some cryptic bash script.  
Any better ideas?

With Github actions [I can read](https://docs.github.com/en/actions/learn-github-actions/expressions#fromjson) from JSON files directly. Maybe something like this exists for cirleci?

---

<div class="post-metadata">

**Author:** ![owenjoliver](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/owenjoliver/32/28293_2.png) [@owenjoliver](https://discuss.circleci.com/u/owenjoliver)\
**Post date:** [August 3, 2022, 2:24pm UTC](https://discuss.circleci.com/t/circleci-mapping-example/44495/2 "2022-08-03T14:24:28Z")

</div>

Hello

Are you looking for matrix jobs we have a link to our documentation below:

> **[Matrix jobs - simple configuration for complicated software](https://circleci.com/blog/circleci-matrix-jobs/)**
>
> Learn how to use CircleCI matrix jobs to write simple configuration for complicated software.

If this is not what you are looking for please feel free to raise a support ticket using the link below

[https://support.circleci.com/hc/en-us/requests/new](https://support.circleci.com/hc/en-us/requests/new)

Kind Regards  
Owen Oliver

---

<div class="post-metadata">

**Author:** ![mf-jhellman](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/mf-jhellman/32/30126_2.png) [@mf-jhellman](https://discuss.circleci.com/u/mf-jhellman)\
**Post date:** [March 14, 2023, 3:35pm UTC](https://discuss.circleci.com/t/circleci-mapping-example/44495/3 "2023-03-14T15:35:32Z")

</div>

@Maxim-Filimonov Did you find any native solution here? This is kind of shocking 😁
