sub trigger_obs_published {
my ($proj_name) = @_;
- # trigger making build_progress graph.
+ # trigger OBS_REPO_PUBLISHED.
my $jenkinsuri = "$BSConfig::jenkinsserver/job/obs-event-dispatcher/buildWithParameters";
my $param = {
'request' => 'POST',
'project' => $proj_name,
'event_type' => 'OBS_REPO_PUBLISHED'
};
- my @para = ("TRIGGER_INFO=".encode_base64(encode_json($args), ''));
+ my @para = ("project=$proj_name",
+ "event_type=OBS_REPO_PUBLISHED",
+ "para=".encode_base64(encode_json($args), ''));
print "notify: trigger Jenkins uri=[$jenkinsuri] para=[@para]\n";
eval {
BSRPC::rpc( $param, undef, @para );
}
}
+ $failed_detail = substr($failed_detail, 0, 100);
+
print "[", __LINE__, "] $projid: $failed, $failed_detail\n";
return ($failed, $failed_detail);
return;
}
- my $build_target_id=get_build_target_id($build_project_id, $repo, $arch);
- print "[", __LINE__, "][package_build_finished($package_name)] $pre_install_time, $install_time, $main_build_time, $build_log_url, $status, $build_target_id, $repo, $arch, $info_package_id\n";
if ( $package_name =~ ".*_aggregate") {
package_build_start("test", $projid, $repo, $arch, $package_name, $time);
}
+ my $build_target_id=get_build_target_id($build_project_id, $repo, $arch);
+ print "[", __LINE__, "][package_build_finished($package_name)] $pre_install_time, $install_time, $main_build_time, $build_log_url, $status, $build_target_id, $repo, $arch, $info_package_id\n";
eval {
$g_dbh->begin_work();
$package_build_finished_sth->execute($time, $pre_install_time, $install_time, $main_build_time, "$build_log_url", "$status", "$detail", $build_target_id, $info_package_id);
'REPO_PUBLISHED' => \&BuildMonitorDB::repo_published,
);
+sub relay_src_server {
+ my ($type, $p) = @_;
+
+ return unless $BSConfig::relay_obs_server;
+
+ my $uri= "$BSConfig::relay_obs_server/source?cmd=relay_notify¬ify_type=$type";
+ my $param = {
+ 'request' => 'POST',
+ 'uri' => $uri,
+ 'timeout' => 60,
+ 'headers' => [ 'Content-Type: application/x-www-form-urlencoded' ],
+ };
+ my @args = map {"$_=$p->{$_}"} sort keys %$p;
+ eval {
+ BSRPC::rpc($param, undef, @args);
+ };
+ if ($@) {
+ warn($@);
+ }
+
+}
+
sub notify() {
my ($self, $type, $paramRef ) = @_;
my $evhandler = $event_handlers{$type};
if( $evhandler ) {
$evhandler->($paramRef);
+ relay_src_server($type, $paramRef);
} else {
print "[BuildMonitor] undefined event type: $type\n";
}