"""Set SR state."""
return core.change_request_state(self.apiurl, reqid, state,
message=str(message), force=force)
+
+ def runservice(self, project, package):
+ """Run remote service for the package."""
+ return core.runservice(self.apiurl, project, package)
target_project = os.getenv("target_project")
submission = os.getenv("submission")
comment = os.getenv("comment")
+ package = os.getenv("package")
if submission and comment:
if action in ("accept", "reject"):
state = "accepted" if action == "accept" else "declined"
return accept_or_reject(build, submission, state,
target_project, comment)
elif action == "rebuild":
- print "Not implemented yet"
+ prj, meta = get_project_by_name(build, submission, target_project)
+ packages = [os.path.basename(path) for path in meta['projects']]
+ if package:
+ if package not in packages:
+ raise LocalError("Package %s doesn't exist in "
+ "submission %s" % (package, submission))
+ packages = [package]
+ for pkg in packages:
+ print "triggered rebuild for %s/%s" % (prj, pkg)
+ build.runservice(prj, pkg)
elif action == "remove":
prj = get_project_by_name(build, submission, target_project)[0]
build.delete_project(prj, force=True, msg=comment)