2017-05-17 7 views
1

私はあなたが組み込み関数(タイムスタンプ、ANSICOLOR)で何ができるかに似て、私のジェンキンスパイプラインスクリプトに一般的な機能を追加したいと思います:Jenkinsパイプライン機能をオプションとして使用するには、どうすればこの機能を作成しますか?

options { 
    timestamps() 
    ansiColor 'xterm' 
    // failureNotification() <- I want to add this 
} 

私はスクリプトに関数を書くにはどうすればよいように、それはオプションとして使用できますか?

答えて

2

現在、私はそれがあなたが使用している宣言構文では可能ではないと考えています。これを行うためにあなた自身のJenkinsプラグインを書くことができますが、それは毛むくじゃらする可能性があります。あなたはもう少し複雑な構文を使用するために喜んでいる場合

、私はこのブログの記事を見てみます:https://jenkins.io/blog/2017/02/15/declarative-notifications/

基本的に、あなたが共有グルーヴィーライブラリを作成および管理することからステップを使用する必要があります通知ステップ。これにはいくつかのステップがあります:

  1. 共有ライブラリのリポジトリを作成します。これには "vars"という名前のフォルダが必要です。このフォルダには、ステップとステップのドキュメントがあります。
  2. 共有ライブラリにステップを作成します。 camelCaseとgroovyエクステンションを使用して、ステップを記述するファイル名を作成します。これはあなたがJenkinsfileで呼び出すものです。例:sendFailureNotification.groovy
  3. そのファイル内に、callという名前の関数を作成します。あなたはどんなパラメータでも使うことができます。例:def call(){}
  4. この呼び出し関数は、「ステップロジック」です。あなたのケースでは、ビルド結果を見て、必要と思われる通知ステップを使用したいと思うように思えます。
  5. ドキュメントからのコピー...「グローバルパイプラインライブラリ」をセットアップするには、Jenkins Web UIの「Manage Jenkins」→「Configure System」に移動しました。かつて「グローバル・パイプライン・ライブラリ」の下に新しいライブラリを追加しました。
  6. そうのようなあなたのJenkinsfileにあなたのライブラリをインポートします@Library('<library name you picked here>')
  7. 今すぐあなたのJenkinsfileの終わりにsendFailureNotification()を呼び出すことができるはずです。多分そう?:

    ポスト{ 故障{sendFailureNotification() }}

等後段で
関連する問題