[SOLVED] Variables from environment extension not working

I have an environment extension that returns the following data:

[{"name":"proget_server","data":"proget_server","mask":"false"}]

Edit: I don’t know why this didn’t format right at first. Still doesn’t appear to be working though.

I’ve confirmed that the request (and JSON data) is being returned by the extension, but the variable isn’t showing anything when I use it in my pipeline:

.drone.yml

kind: pipeline
type: docker
name: CI Testing

steps:
- name: CI
  image: ubuntu
  commands:
  - echo ${proget_server}
  - echo $${proget_server}

results

latest: Pulling from library/ubuntu
Digest: sha256:adf73ca014822ad8237623d388cedf4d5346aa72c270c5acc01431cc93e18e2d
Status: Image is up to date for ubuntu:latest
+ echo

+ echo ${proget_server}

I’m on the latest version of drone/drone:1 and drone/drone-runner-docker:1.

you can enable trace logging to confirm the runner is properly configured to make API calls to the environment extension. See the relevant code here:

Also here is a slightly better option for testing whether or not environment variables are being properly injected into your pipeline containers:

kind: pipeline
type: docker
name: test

steps:
- name: dump
  image: alpine
  commands:
  - env
1 Like

That did it.

For reference, the value for mask shouldn’t be in quotes, as it’s a true/false, not a string:

[{"name":"proget_server","data":"proget_server","mask":false}]

The corresponding logs in the Docker runner showed a boolean error after turning on trace logging.

Thanks!