Drone

Send email plugin not working on exec runner

Hi I’ve got a docker runner and an exec runner in different machines.

Both have jobs with the same step

  - name: Send email notifications
    image: drillster/drone-email
    settings:
      host: mysmtp.org
      port: 25
      from: myemail
      username: username
      password: password
    when:
      status: [ changed, failure ]

The emails get sent in the docker jobs but not in the exec ones. To make sure that it’s not a connection error I’ve successfully run in the exec runner machine:

docker run --rm \
  -e PLUGIN_FROM=drone@test.test \
  -e PLUGIN_HOST=mysmtp.org \
  -e PLUGIN_PORT=25 \
  -e PLUGIN_USERNAME=username \
  -e PLUGIN_PASSWORD=password \
  -e DRONE_REPO_OWNER=octocat \
  -e DRONE_REPO_NAME=hello-world \
  -e DRONE_COMMIT_SHA=7fd1a60b01f91b314f59955a4e4d4e80d8edf11d \
  -e DRONE_COMMIT_BRANCH=master \
  -e DRONE_COMMIT_AUTHOR=octocat \
  -e DRONE_COMMIT_AUTHOR_EMAIL=octocat@test.test \
  -e DRONE_BUILD_NUMBER=1 \
  -e DRONE_BUILD_STATUS=success \
  -e DRONE_BUILD_LINK=http://github.com/octocat/hello-world \
  -e DRONE_COMMIT_MESSAGE="Hello world!" \
  -v $(pwd):$(pwd) \
  -w $(pwd) \
  drillster/drone-email

And the following step in the exec runner job sends the mail successfully:

  - name: Send email
    commands:
      - docker run -e PLUGIN_FROM=myemail -e PLUGIN_HOST=mysmtp.org -e PLUGIN_PORT=25 -e DRONE_COMMIT_AUTHOR_EMAIL=myemail drillster/drone-email

But the following doesnt send anything

  - name: Send email
    commands:
      - docker run -e PLUGIN_FROM=myemail -e PLUGIN_HOST=mysmtp.org -e PLUGIN_PORT=25 -e DRONE_COMMIT_AUTHOR_EMAIL=myemail -e DRONE_REPO_OWNER=$DRONE_REPO_OWNER -e DRONE_COMMIT_SHA=$DRONE_COMMIT_SHA -e DRONE_COMMIT_BRANCH=$DRONE_COMMIT_BRANCH -e DRONE_COMMIT_AUTHOR=$DRONE_COMMIT_AUTHOR -e DRONE_COMMIT_AUTHOR_EMAIL=$DRONE_COMMIT_AUTHOR_EMAIL -e DRONE_BUILD_NUMBER=$DRONE_BUILD_NUMBER -e DRONE_BUILD_STATUS=$DRONE_BUILD_STATUS -e DRONE_BUILD_LINK=$DRONE_BUILD_LINK -e DRONE_COMMIT_MESSAGE=$DRONE_COMMIT_MESSAGE drillster/drone-email

Although if env is added to the command, it shows that the environmental variables are set.

Any idea of why I’m not able to use plugins in the exec runner?

Thanks

plugins are only meant to be used with docker pipelines and kubernetes pipelines. Exec pipelines are not supported.