Package: jobnotify
jobnotifyis a command-line utility to help alert you to new job postings.NoteThis project requires Python >= 3.6.0InstallationNoteIt is recommended to install this application in a virtual environment.The easiest way to install this project is viapip:$ pip install jobnotifyAlternatively, you can clone the repository to get thesource code.$ git clone https://github.com/matthewmckenna/jobnotify.git
$ cd jobnotify
$ pip install .This will ensure that the application is set up correctly.PrerequisitesIndeedSign up for anIndeed Publisher accountand log in.Click on theJob Search APItab. UnderSample Requestsection you
will find yourpublisher ID. Take note of this key, as you will need it
later.GmailTo receive notifications via email, you will need aGmail accountto send
the emails.While it may be possible to use an existing Gmail account to both send and
receive the emails, this option has not been tested. This option also comes with
a downside in that your password to this account will be stored in plaintext on
your machine. If this is your primary account this is certainly not desirable.I recommend setting up a new account to send the notification emails. This is a
quick process and the account can be used in future for other notification tasks.
Now, we will quickly set up anApp passwordfor this application.When you have set up your account, click on your avatar in the top-right, and
navigate toMy Account.UnderSign-in& securityclick on theSigning into Googlelink.Click onApp passwords.Generate a password and take note of this. This will be needed when
configuringjobnotify.SlackIf you wish to receive job notifications via Slack, then please follow the
instructions inSlack Configuration.ConfigurationYour configuration file forjobnotifywill be located in~/.jobnotify,
and will be namedjobnotify.config.The quickest way to get a skeleton configuration file is by running the
application with the-cor--configflag as follows:$jobnotify--configThe will set-up the.jobnotifyapplication data directory in your home
directory.You will need to edit thejobnotify.configfile and fill out valid values.
Terms in brackets[]are sections. There are a number of required fields
for each section, detailed below:[indeed]sectionKeyDescriptionkeyIndeed API Publisher KeylocationLocation/city to search - e.g.,dublin.countryCountry code to search - e.g.,iefor Ireland,gbfor
the United Kingdom.queryJob search term - e.g.,data scientist.radiusDistance (in km) from search location ‘as the crow flies’.[email]sectionKeyDescriptionemail_fromEmail address of account which will send notification.passwordPassword of account which will send notification.email_toRecipient email address.Optional parametersThese optional keys are included under theemailsection.KeyDescriptionnameRecipient first name (used only to personalise email message).sender_nameName for account sending the email, e.g.,Job-Notify.signatureSign-off used in email message.[slack]sectionMore detail can be found in theSlack Configurationdocument.KeyDescriptiontokenSlack token for your bot.channelName of the Slack channel to post to. You must also include
the#, e.g.,#jobs.[notify_via]sectionThe values for the keys below should betrueorfalse. Note that at
least one option must be settruebelow.KeyDescriptionemailSend notifications via email.slackSend notifications via Slack.UsageBefore runningjobnotify, make sure that you have followed the instructions
under thePrerequisitesandConfigurationsections above.To run simply execute the following:$jobnotifyTo run this application automatically, one can use acron job. To edit yourcrontabfile, execute the following:$crontab-eSay for example, you wished to run the application four times a day, at 09:00,
13:00, 18:00 and 22:00. Yourcrontabentry would resemble the following:* 9,13,18,22 * * * /home/matthew/miniconda3/envs/jn/bin/jobnotifyIn the example above, note that I have provided the full path to thejobnotifyapplication. In the case above, I hadpipinstall``ed``jobnotifyto a
new virtual environment namedjn. To find the full path to the application
you can run:$whichjobnotifyfrom your terminal.OptionsIf you wish to manually run the application, there are some command-line options
available, detailed below:-v,--verboseTurn on logging to file. This will output a file named.jobnotify.login your current directory.-c,--configUsed to create the.jobnotifyapplication data directory and
sample configuration file.-fFILE,--file=FILEPath to alternate configuration file. Defaults to~/.jobnotify/jobnotify.configTroubleshootingIf you encounter any issues, please carry out the following:Run the application with the-vor--verboseflag. This will create
a log file in your current directory named.jobnotify.log.Capture any output from your terminal and add to a text file.Create an issue and attach both files.