Skip to content
This repository has been archived by the owner on Jan 14, 2021. It is now read-only.

oscard0m/bamboohr-update-working-hours-automatically

Repository files navigation

BambooHR Working Hours automation

Automatically add working hours of an employee in BambooHR

⚠️ Unmaintained ⚠️

My company stopped using BambooHR so this project is not maintained anymore


Context

The company I'm currently working for requires to fulfill a form every day of the month with the amount of hours worked in BambooHR platform. This is due the new law the Spanish government created a few months ago. Apparently BambooHR plugin to add Working Hours does not offer settings to automate or add by default values to this form.

I first tried to interact with BambooHR API but it requires a Private Key which is not possible to be provided by my current company right now.

That's why I opt for a headless solution to add the manual interaction a user would do so it can be automated.

Tools/Language/Technologies

Project Structure:

  • .github/workflows/bamboohr-puppeteer.yml: Simulate UI interactions with BambooHR UI through headless browser solution (Puppeteer)
  • src/index.ts: File run by Puppeteer to interact with BambooHR UI site to finally register Working Hours on BambooHR's Working Hours Plugin
  • src/bamboo-hr-interactions/*: Different interactions taken over BambooHR UI Components with Puppeteer (click, type...)

Setup

  1. Fork this repository in your GitHub Account *

  2. Add the following KEY-VALUES as secrets on the repository you plan to run this Github Action:

    • COMPANY_BAMBOOHR: Company's subdomain under BambooHR to access your company's BambooHR site: https://<COMPANY_BAMHOOHR>.bamboohr.com
    • USER_BAMBOOHR: BambooHR's Username of the employee you want to automate his/her working hours
    • PASSWORD_BAMBOOHR: Password associated to previous username
  3. Wait until next working day (Monday-Friday) at 8AM GTM** to get GitHub Action automatically triggered

*This tool is in alpha stage so it is not available in Github Marketplace yet. As soon as it is considered as ready to use, it will be published

**You can find online converters from your local time to GTM. Also, at www.google.com you can just type: "gmt convert" and magic will happen 😎

Releases

No releases published

Sponsor this project

Packages

No packages published