Skip to content
This repository has been archived by the owner on Oct 15, 2021. It is now read-only.
/ cs-bot Public archive

A simple stub (not tested) for a hypothetical github bot

License

Notifications You must be signed in to change notification settings

Maks3w/cs-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A simple stub (not tested) for a hypothetical GitHub bot written in NodeJS.

This bot is bassed in the original work of Kami (https://github.com/Kami/node-buildbot-github)

This bot handle pull_request events (GiHub API v3) and do the following steps.

  • Look for modified files in the pull request.

  • If there are files clone the collaborator repository to local.

    • Checkout the git reference used in the pull_request.

    • Run a cs-fixer

    • If there are files changed

      • Create a commit with the modifications.
      • Open a GitHub's Pull Request to the collaborator with the fixes.
      • Create a comment in the original pull request with a link to the PR opened to the collaborator.
    • Else

      • Create a comment in the original pull request with the CS status for that PR (clean status)

Execute

node bin/csbot-github --config=<custom config file>

Register the bot for pull_request events.

GitHub Username must have enough privileges in <target repository>

curl -u "<GitHub Username>" -H "Content-Type: application/json" -X POST -d '{
 "name": "web",
  "active": true,
  "events": ["pull_request"],
  "config": {
    "url": "<bot IP:PORT>",
    "content_type": "json"
  }
}' https://api.github.com/repos/<target user>/<target repository>/hooks

Get an OAuth 2 token

curl -u "<GitHub Username>" -H "Content-Type: application/json" -X POST -d '{
  "scopes": [
    "public_repo"
  ],
  "note": "cs-bot"
}' https://api.github.com/authorizations

About

A simple stub (not tested) for a hypothetical github bot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published