Skip to content
Get email reminders based on parsed dates in GitHub Issue Comments: Sinatra + GitHub OAuth + Qless + Chronic gem + Email = GitHub-Reminders
Ruby Lua JavaScript Python CSS Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Business biz overview adjustments Jun 3, 2014
config added unicorn to rack Jun 18, 2014
lib adjustments for concurrency May 29, 2014
public screenshot added for about page Jun 18, 2014
reminder_validation removed double split Jul 2, 2014
views added the report an issue link Jul 14, 2014
webhook typo fixes Jun 4, 2014
.gitignore Initial commit May 2, 2014
Gemfile change to qless 0.10.1 pre Jun 19, 2014
Gemfile.lock updated bundle and added json for comment parsing Jun 23, 2014
Procfile updated with link to worker repo Jul 10, 2014
app.rb added scope so private repos could be seen by the check is repo exist… Jul 10, 2014 images Jun 16, 2014
github-reminders.gemspec updated bundle and added json for comment parsing Jun 23, 2014
mongo.rb typo fix May 28, 2014
rakefile commented out debug code May 31, 2014
sinatra_helpers.rb added return line Jul 8, 2014
system_wide_processor.rb deploy adjustments May 25, 2014


Server side app and Webhook to parse GitHub Issue Comments and generate scheduled Email reminders based on the parsed comment

Sinatra + GitHub OAuth + Qless + Chronic gem + Email = GitHub-Reminders

Worker (executes scheduled emails):

Reminder Syntax

While in a Issue make a comment with the following:

  • :alarm_clock: Next Friday at 3:05pm #=> Next Friday at 3:05pm

  • :alarm_clock: [Date/Time] | [Reminder Comment]

screen shot 2014-05-07 at 10 47 57 pm


  1. The Reminder Syntax must be at the beginning of the Issue Comment.

  2. The goal is to treat the comment as a "record" containing the Reminder.

  3. The separator between the Date and time of the reminder and the "reminder comment" is the pipe character | (above the enter/return key). Future versions will support Reminder Comments in new lines without the need for the | pipe.

  4. The DateTime is parsed by the Chronic gem. Any date and time format the Chronic gem can parse is supported.

  5. provides all timestamps as a UTC timezone, therefore you will need to choose your timezone in your "profile" in the Sinatra app. The reminder's Date/Time will parsed using your profile's timezone.

  6. The Sinatra app will provide the ability to view your scheduled reminders for each repo/issue queue and a set number of "completed" reminders.

  7. Email API is being used to send emails. The code has been designed to be agnostic of the specific email service.

Features to be built

  1. Once hook is added to the repo, any user can signup and receive notifications

Process Overview:

process overview

You can’t perform that action at this time.