aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs5
-rw-r--r--src/main.rs25
2 files changed, 26 insertions, 4 deletions
diff --git a/src/lib.rs b/src/lib.rs
index add79dd..a4cfffb 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,4 +1,5 @@
-mod pull_request;
+pub mod jenkins;
+pub mod pull_request;
+
mod github;
-mod jenkins;
mod af83;
diff --git a/src/main.rs b/src/main.rs
index e9c50e4..e5f7235 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,12 +1,33 @@
#[macro_use]
extern crate rouille;
+extern crate kipper;
+
+use std::io::Read;
+
+use kipper::jenkins;
+use kipper::pull_request::CommitRef;
fn main() {
rouille::start_server("localhost:8000", move |request| {
router!(request,
- (GET) (/) => {
- rouille::Response::text("hello world")
+ (POST) (/github/pull_request_event) => {
+ let mut body = String::new();
+
+ match request.data() {
+ None => rouille::Response::text("400 Bad Request")
+ .with_status_code(400),
+ Some(mut data) => {
+ try_or_400!(data.read_to_string(&mut body));
+
+ let commit_ref = CommitRef::new(body.as_ref());
+
+ jenkins::find_and_track_build_and_update_status(commit_ref);
+
+ rouille::Response::text("202 Accepted")
+ .with_status_code(202)
+ }
+ }
},
_ => rouille::Response::text("404 Not Found")