Конвертировать сценарий Jenkinsfile в декларативный - PullRequest
0 голосов
/ 05 июля 2019

Плагин не предоставляет декларативный скрипт. Как я могу преобразовать его из сценариев в декларативные?

URL: https://github.com/jenkinsci/bitbucket-build-status-notifier-plugin

  ...
  stage 'Build'
    bitbucketStatusNotify(
      buildState: 'INPROGRESS',
      buildKey: 'build',
      buildName: 'Build',
      repoSlug: 'my-awesome-project',
      commitId: 'a83c709e9d514421ef614ef0a1117366c84c6304'      
    )
  try {
        myBuildFunction()
        bitbucketStatusNotify(
          buildState: 'SUCCESSFUL',
          buildKey: 'build',
          buildName: 'Build',
          repoSlug: 'my-awesome-project',
          commitId: 'a83c709e9d514421ef614ef0a1117366c84c6304'          
        )
  }catch(Exception e) {
          bitbucketStatusNotify(
          buildState: 'FAILED',
          buildKey: 'build',
          buildName: 'Build',
          buildDescription: 'Something went wrong with build!',
          repoSlug: 'my-awesome-project',
          commitId: 'a83c709e9d514421ef614ef0a1117366c84c6304'      
        )
    }

1 Ответ

0 голосов
/ 06 июля 2019

Быстрый просмотр кода для плагина показывает, что API, показанные в примере, являются шагами сборки, поэтому вы можете сделать что-то вроде:

pipeline {
    agent any
    stages {
        stage('start') {
            steps {
                bitbucketStatusNotify(buildState: 'INPROGRESS' .... )
            }
        }
            .
            .
        stage('last') {
            steps {
                .
                .
                bitbucketStatusNotify(buildState: 'SUCCESSFUL' ... )
            }
        }
    }
    post {
        failure {
            bitbucketStatusNotify(buildState: 'FAILURE' ... )
        }
    }
}
...