# Post

Post - определяет один или несколько дополнительных шагов, которые выполняются после завершения конвейера или этапа

список условий для post: 

* `always` - выполняется nезависимо от статуса завершения конвейера или этапа. 
* `aborted` - выполняется если конвейер был прерван.
* `changed` - если статус текущей сборки отличается от статуса предыдущей, выполняются шаги в блоке.
* `cleanup` - выполнить шаги после всех остальных условий, независимо от всех состояний.
* `fixed` - выполняется в случае если текущий конвейер или этап был успешным, а прошлый был fail или unstable
* `failure` - если текущая сборка провалилась, выполнить шаги в блоке.
* `success` - текущая сборка прошла успешно, выполняются шаги в блоке.
* `unstable` -  выполнить шаги в сборке если состояние было нестабильным.
* `unsuccessful` - выполняется в случае не успеха.
* `regression` -  выполнятся если текущее с fail или unstable статусе, а предыдущей был успешны

```groovy
pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'ls -ls'
            }
        }
    }
    post {
        always {
            echo 'always finished'
            deleteDir() /* clean up our workspace */
        }
        aborted {
            echo 'Project aborted...'
        }
        changed {
            echo 'Things were different before...'
        }
        success {
            echo 'I succeeded'
        }
        unstable {
            echo 'I am unstable...'
        }
        failure {
            echo 'I failed :/'
        }
    }
}
```