API v2: Is it possible to retrieve the parameters that were passed in?

I’ve looked through the API v2 response schemas for each of the following:

  • GET /pipeline/{pipeline-id}
  • GET /workflow/{id}
  • GET /project/{project-slug}/job/{job-number}

I’d like to be able to retrieve the parameters that were passed into a pipeline (or workflow or job), but I’m not seeing “parameters” in any of these schemas.

Apologies if I’m missing it, but is there a way to retreive those?

1 Like

Hey there @dale.francum,

You can access the pipeline parameters passed in VIA the API using the parameters definition inside your config.yml.

See the below example:

version: 2.1
    type: string
    default: "latest"
    type: string
    default: "~/main"

      - image: circleci/node:<< pipeline.parameters.image-tag >>
      IMAGETAG: << pipeline.parameters.image-tag >>
    working_directory: << pipeline.parameters.workingdir >>
      - run: echo "Image tag used was ${IMAGETAG}"
      - run: echo "$(pwd) == << pipeline.parameters.workingdir >>"

Here we define image-tag and workingdir, which are passed in using the Trigger a new pipeline endpoint. Then we can access them from the build using << pipeline.parameters.image-tag >>.

More information on using these paramters are available on this doc: Pipeline Variables

Hey Scott, thanks for the response. I actually meant accessing them via an API call.

Hey @dale.francum!

Apologies for misunderstanding, that isn’t available in the current API. I welcome you to create a feature request on our idea’s board: https://ideas.circleci.com

It is weird because as you can see on the CircleCI v2 API docs for the GET /pipeline/:pipeline-id it does mention a trigger_parameters property. But from my tests, it never returns anything. Maybe someone from CircleCI team can provide some insights here.

It is especially frustrating here because I need to consume the results of a pipeline from my webhooks handler and CircleCI sends only the pipeline id as part f the webhook payload, not the parameters so I need an API to retrieve it