Skip to content

cjscheller/lever-monitor

Repository files navigation

lever-monitor

NodeJS tool for monitoring changes to Lever job board posts. Supports running on local and remote environments (deployed to remote infrastructure via Serverless).

Prerequisites:

  • Node + NPM

Running local

After cloning repo, run locally via:

node main.js --target ${target}

where ${target} is the full path + query string of a Lever job board (ex: "serverless" or "serverless?team=Engineering"). Note that you can supply multiple --target options.

The script will maintain a postings.json in the project folder to store hashed version of job board to monitor for changes.

If changes are detected, a desktop notification (implemented via node-notifier) will be triggered. A notification will always appear on first run of a new Lever target.

Running via cron

To run the tool on a cron:

# Run at 12pm (local time) M-F
0 12 * * 1-5 node ${PATH/TO/PROJECT} main.js --target ${target1} --target ${target2}

Running via remote

You can optionally deploy the tool to AWS (or another cloud provider) via Serverless.

Setting up config.json

You'll first need to configure the service. Create a config.json file from the example provided:

cp example-config.json config.json

And then specify the following configuration options:

  • targets: the Lever job board targets to monitor (same as the --target option above). For multiple targets, separate with commas (serverless,uipath)
  • emailTo: the email address for the service to send notifications to via SES. This will need to be configured in SES.
  • emailFrom: a source email address for the notification emails. This will need to be configured in SES.
  • sesIdentityTo: an email address that has been verified in SES. More info below.
  • sesIdentityFrom: an email address on a domain that has been verified in SES. More info below.

Setting up SES

You can follow this guide for verifiying an email address to receive email addresses. This will be the email address used for the emailTo and sesIdentityTo configuration options.

You can follow this guide for verifying a domain. A pre-requisite is that you have a domain registered in Route 53. Once you have verified domains, you can send emails from any address at that domain. This will be the email address used for the emailFrom and sesIdentityFrom configuration options.

Deploying

Once configured, you can deploy the application using:

sls deploy

You'll need to provide AWS credentials for authentication - see the Serverless docs for more info.

Contributing

Contributions are welcome and will be fully credited. See CONTRIBUTING for more details.

About

Tool for monitoring changes to a Lever job board

Topics

Resources

Stars

Watchers

Forks