/ht-bewerbungsbot

Hacking Talents Bot für das Verschicken von Hausaufgaben im Bewerbungsprozess

Primary LanguageTypeScriptMIT LicenseMIT

🤖 BewerbungsBot for Recruitee

📤 Workflow

  1. Enter homework-name and GitLab Username in the profile fields
  2. Optionally override the automatic address and/or signature:
    • The address will be the candidates first name. E.g. "Hallo Sam,…"
    • The signature will be "von den sipgate hacking talents", unless overriden using the field "Anrede Override"
  3. Create a new Task on the right:
    • Content should be Hausaufgabe
    • Optionally set a due date. The default is seven days.
    • Optionally select the members to sign the mail as assigned teammates on the task
  4. Wait for the bot to confirm the sent homework in a comment.
  5. Finished! 🎉

🏃 Running

🏞 Required environment variables

The required environment variables can be found in the .env.example file.

The hacking-talents configuration is available in the company password manager.

To use the environment variables inside your project, you have to sourcethe file:

source ./.env

Run the project with

deno run --allow-read --allow-net --allow-env src/index.ts

⌥ Arguments

The bot automatically only runs once. To run the bot regulary, set the --interval=<seconds> parameter.

  • --interval=<seconds> set polling interval in seconds. Minimum allowed: 15s.
  • --tag=<tag name> only check candidates with a tag. E.g. Bot-Test
  • -d delete Repository at the end of successfull homework creation
  • --dry-run don't perform any actions, just log what the bot would have done

Possible homeworks have to be entered in the recruitee profile field form to be selectable.

🔧 Building

Use the provided Dockerfile to build an image of the application. Example when using docker:

sudo docker build -t ht-bewerbungsbot .

🐛 Debugging

The application is currently hosted on Heroku, which only keeps some logs. To access more logs, use the Heroku CLI-tool, where you can see any amount of logs with the -n <number of lines> option:

heroku logs -n 1000 -t -a ht-bewerbungsbot

🌈 Contributing

  • Install the git-hooks by running the following git command:
git config --local core.hooksPath .githooks
  • Use deno fmt for formatting instead of the default prettier formatting (this is automatically ensured by installing the pre-commit hook)
  • Use the tag --tag=Bot-Test to prevent modifying real candidates during development. You have to make sure though, that a test candidate with the relevant tag exists.
  • Use the -d option to not have to manually delete a test repo
  • Use Gitmoji
  • When adding a new environment variable, make sure it's present in .env.example, as otherwise deno is not aware of it and will not throw an error if it's missing. More Info
  • Please use feature branches to develop new features.

Hints

  • The long documentation of the Recruitee API can be found here. It takes a while to load