30 lines
876 B
Perl
30 lines
876 B
Perl
|
package Hydra::Event::StepFinished;
|
||
|
|
||
|
use strict;
|
||
|
use warnings;
|
||
|
|
||
|
|
||
|
sub parse :prototype(@) {
|
||
|
unless (@_ == 3) {
|
||
|
die "step_finished: payload takes exactly three arguments, but ", scalar(@_), " were given";
|
||
|
}
|
||
|
|
||
|
my ($build_id, $step_number, $log_path) = @_;
|
||
|
|
||
|
unless ($build_id =~ /^\d+$/) {
|
||
|
die "step_finished: payload argument build_id should be an integer, but '", $build_id, "' was given"
|
||
|
}
|
||
|
unless ($step_number =~ /^\d+$/) {
|
||
|
die "step_finished: payload argument step_number should be an integer, but '", $step_number, "' was given"
|
||
|
}
|
||
|
|
||
|
return Hydra::Event::StepFinished->new(int($build_id), int($step_number), $log_path);
|
||
|
}
|
||
|
|
||
|
sub new :prototype($$$) {
|
||
|
my ($self, $build_id, $step_number, $log_path) = @_;
|
||
|
return bless { "build_id" => $build_id, "step_number" => $step_number, "log_path" => $log_path }, $self;
|
||
|
}
|
||
|
|
||
|
1;
|