コードはこちら。
import hudson.util.RemotingDiagnostics def res = manager.build.getResult(); if( res.isWorseThan(hudson.model.Result.SUCCESS) ) { def users = manager.build.getCulprits(); if( users != null ) { def command = "softalkw.exe /W:"; def find = false; users.each { command += "${it.getDisplayName()} "; find = true; } if( find ) { command += " アウトーーー!"; manager.listener.logger.println(command); def computer = manager.build.getBuiltOn().toComputer(); def channel = computer.getChannel(); def script = """ '${command}'.execute(); """ RemotingDiagnostics.executeGroovy( script, channel ); } } }
manager.build.getCulprits() で容疑者のリストが取得できます。
リストからアカウント名を取得し、softalk に読み上げさせたい文字列を作成しています。
アカウント名のままだとアルファベットを読み上げるだけになってしまうので、事前に
softalkw /P:ずみっくす,srz-zumix,Trueのようにして単語を登録しておいてください。
メール通知だけの環境で満足してない方は試してみるのもありかも。
0 件のコメント:
コメントを投稿