Hello folks,
I develop a plugin for internal usage. I need to know if a previous step is failed or the state has been changed. I checked the environment variables which are passed to the container as part of the kubernetes pod, but I can’t find any environment variable which contains information about the failed|changed previous job status.
How can I recognise if the previous job status is failed or changed? Each environment variable contains as status success
.
Here is my example pipeline to print all passed environment variables of the
prev-stage-status
container on stdout. Some of the values are redicted.
---
kind: pipeline
type: kubernetes
name: notification-test
node_selector:
kubernetes.io/os: linux
kubernetes.io/arch: amd64
steps:
- name: exit-code
commands:
- exit 1
image: docker.io/library/alpine:3.16.0
resources:
limits:
cpu: 150
memory: 150M
- name: prev-stage-status
commands:
- apk update
- apk upgrade
- apk add bash
- bash -c "env | sort"
image: docker.io/library/alpine:3.16.0
resources:
limits:
cpu: 150
memory: 150M
when:
status:
- changed
- failure
trigger:
event:
exclude:
- tag
And here the list of passed environment variables to the prev-stage-status
:
CI: true
CI_BUILD_CREATED: 1656410394
CI_BUILD_EVENT: push
CI_BUILD_FINISHED: 0
CI_BUILD_LINK: <redicted>
CI_BUILD_NUMBER: 17
CI_BUILD_STARTED: 0
CI_BUILD_STATUS: pending
CI_BUILD_TARGET:
CI_COMMIT_AUTHOR: <redicted>
CI_COMMIT_AUTHOR_AVATAR: <redicted>
CI_COMMIT_AUTHOR_EMAIL: <redicted>
CI_COMMIT_AUTHOR_NAME: <redicted>
CI_COMMIT_BRANCH: master
CI_COMMIT_MESSAGE: Initial Commit
CI_COMMIT_REF: refs/heads/master
CI_COMMIT_SHA: <redicted>
CI_PARENT_BUILD_NUMBER: 0
CI_REMOTE_URL: <redicted>
CI_REPO: <redicted>
CI_REPO_LINK: <redicted>
CI_REPO_NAME: <redicted>
CI_REPO_PRIVATE: false
CI_REPO_REMOTE: <redicted>
DRONE: true
DRONE_BRANCH: master
DRONE_BUILD_ACTION:
DRONE_BUILD_CREATED: 1656410394
DRONE_BUILD_DEBUG: false
DRONE_BUILD_EVENT: push
DRONE_BUILD_FINISHED: 1656410395
DRONE_BUILD_LINK: <redicted>
DRONE_BUILD_NUMBER: 17
DRONE_BUILD_PARENT: 0
DRONE_BUILD_STARTED: 1656410395
DRONE_BUILD_STATUS: success
DRONE_BUILD_TRIGGER: @hook
DRONE_CARD_PATH: /dev/stdout
DRONE_COMMIT: <redicted>
DRONE_COMMIT_AFTER: <redicted>
DRONE_COMMIT_AUTHOR: <redicted>
DRONE_COMMIT_AUTHOR_AVATAR: <redicted>
DRONE_COMMIT_AUTHOR_EMAIL: <redicted>
DRONE_COMMIT_AUTHOR_NAME: <redicted>
DRONE_COMMIT_BEFORE: <redicted>
DRONE_COMMIT_BRANCH: master
DRONE_COMMIT_LINK: <redicted>
DRONE_COMMIT_MESSAGE: Initial Commit
DRONE_COMMIT_REF: refs/heads/master
DRONE_COMMIT_SHA: <redicted>
DRONE_DEPLOY_ID: 0
DRONE_DEPLOY_TO:
DRONE_DOCKER_VOLUME_ID: <redicted>
DRONE_GIT_HTTP_URL: <redicted>
DRONE_GIT_SSH_URL: <redicted>
DRONE_PORT: tcp://10.101.222.178:80
DRONE_PORT_80_TCP: tcp://10.101.222.178:80
DRONE_PORT_80_TCP_ADDR: 10.101.222.178
DRONE_PORT_80_TCP_PORT: 80
DRONE_PORT_80_TCP_PROTO: tcp
DRONE_REMOTE_URL: <redicted>
DRONE_REPO: <redicted>
DRONE_REPO_BRANCH: master
DRONE_REPO_LINK: <redicted>
DRONE_REPO_NAME: drone-email
DRONE_REPO_NAMESPACE: <redicted>
DRONE_REPO_OWNER: <redicted>
DRONE_REPO_PRIVATE: false
DRONE_REPO_SCM:
DRONE_REPO_VISIBILITY: public
DRONE_SERVICE_HOST: 10.101.222.178
DRONE_SERVICE_PORT: 80
DRONE_SERVICE_PORT_HTTP: 80
DRONE_SOURCE_BRANCH: master
DRONE_STAGE_ARCH: amd64
DRONE_STAGE_DEPENDS_ON:
DRONE_STAGE_FINISHED: 1656410395
DRONE_STAGE_KIND: pipeline
DRONE_STAGE_MACHINE: drone-runner-77f474d9cb-zrnwp
DRONE_STAGE_NAME: notification-test
DRONE_STAGE_NUMBER: 1
DRONE_STAGE_OS: linux
DRONE_STAGE_STARTED: 1656410395
DRONE_STAGE_STATUS: success
DRONE_STAGE_TYPE: kubernetes
DRONE_STAGE_VARIANT:
DRONE_STAGE_VERSION: 2
DRONE_STEP_NAME: prev-stage-status
DRONE_SYSTEM_HOST: <redicted>
DRONE_SYSTEM_HOSTNAME: <redicted>
DRONE_SYSTEM_PROTO: https
DRONE_SYSTEM_VERSION: 2.12.0
DRONE_TARGET_BRANCH: master
DRONE_WORKSPACE: /drone/src