- junit
- jetty-all
- servlet-api
- ommons-io
- json
Find the full documentation in api-docs/index.html
- Install ngrok via https://ngrok.com/downloads
- Run via
ngrok http http://localhost:8080 - Copy and paste the token forwarding url of form
https://a-b-c-d-e.ngrok-free.appto in /settings/hooks - Change the
Content typeto application/json in the new webhook - Generate a new GITHUB_TOKEN in https://github.com/settings/tokens/new and check
repo:status - Run with your preferred IDE with the environment variable GITHUB_TOKEN set
You can then try it out at http://localhost:8080/ after running for an interactive web user interface.
- Run mvn clean compile
- Run mvn test
Uses ProcessBuilder() to run commands in the remote repo (mvn compile), this means that it relies on system programs instead of libraries. Crerated a method startProcess() that handels this.
We test this by cloning a valid and an invalid repository and confirming that cloneRepository() either throws an error or not.
Uses ProcessBuilder() to run commands in the remote repo (mvn clean test). this means that it relies on system programs instead of libraries. Crerated a method startProcess() that handels this.
We test this by cloning a valid and an invalid repository and confirming the boolean result from the testProject() method.
- Set status of the response depending on the boolean answer from cloning, compiling, and testing the remote repository.
- Format the API URL with information from the webhook.
- Send POST with all information to GitHub API to set the commit status.
We test this by sending valid and invalid github information, such as SHA (commitId), repo, ownerName. If valid the sendResponse() true, otherwise false.
We worked a lot with pair programming and in groups, the work division was equal but the commit history may not accurately reflect this.
- Erik: Worked with testing the remote repository, testing the server, and reading information from webhooks.
- Julia: Worked with a compilation of the remote repository and sent a response to Git Hub.
- Rasmuss: Worked with compilation of the remote repository and sending responses to Git Hub.
- Vincent: Did the Init commit, cloning of the remote repository, and the web UI.
- Remarkable contribution: Cross-platform, works on Mac and Windows. We are also proud that we implemented pending status for notifications.