To check PR's validity a GitHub Bot should be created which runs a console command and send its results back to the PR.
The bot should work based on the following principles:
- Trigger if there's a new PR;
- Run a console command and report its results to the PR;
- Bot's work result can be o two types:
OK or Reject

For bot's creation you'll need:
Implementation should include:
- Public GitHub repository cloning to a temporary folder using GIT. After GitHub Bot's work regardless of its result this temporary folder should be deleted with all its contents.
- Command launch and its answer analysis from the temporary folder.
- Sending request to a PR about PR's successful check in case the command didn't cause any errors. In case it did,
Reject status should be sent.
- Configuration file which should contain:
4.1. GitHubToken - required attribute
4.2. GitHubName - Bot's name: optional, linter-bot by default
4.3. GitHubURL - link to a Bot: optional, repometric.com by default
4.4. TempPath - path to a temporary folder: optional, temp by default
4.5. GitPath - path to GIT work directory: optional, /usr/bin/git/ by default
- Possibility of Bot's run:
5.1 locally - possibility to run the Bot locally is required
5.2 via docker - launching the Bot via docker with the possibility of parameters configuration transfer
5.3 via the cloud (using docker) - using the Bot in the cloud (using docker)
- Logging during the Bot's running
Components that might help you:
To check PR's validity a GitHub Bot should be created which runs a console command and send its results back to the PR.
The bot should work based on the following principles:
OKorRejectFor bot's creation you'll need:
Implementation should include:
Rejectstatus should be sent.4.1.
GitHubToken-requiredattribute4.2.
GitHubName- Bot's name:optional,linter-botby default4.3.
GitHubURL- link to a Bot:optional,repometric.comby default4.4.
TempPath- path to a temporary folder:optional,tempby default4.5.
GitPath- path to GIT work directory:optional,/usr/bin/git/by default5.1 locally - possibility to run the Bot locally is required
5.2 via docker - launching the Bot via docker with the possibility of parameters configuration transfer
5.3 via the cloud (using docker) - using the Bot in the cloud (using docker)
Components that might help you: