Skip to content
This repository has been archived by the owner on Mar 17, 2022. It is now read-only.

GitHub Issue Tracker - Create Consolidated Email Digests for Github Issues

License

Notifications You must be signed in to change notification settings

GoogleCloudPlatform/issuetracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

status: inactive

This project is no longer actively developed or maintained.

GitHub Issue Tracker

Github Issue Tracker is a web application hosted on Google Cloud Platform that provides consolidated email digests of issues on GitHub repositories. Users can subscribe to email notifications per repository. BigQuery has a dataset that contains GitHub events over time (githubarchive.org) which is updated hourly. This is used to provide consolidated email digests of GitHub Issues.

The frequency of email digests is configured by the User and stored in Cloud SQL. Based on a user's preferences, a consolidated daily/weekly/monthly email is sent out to the user that summarizes the latest activity on GitHub repositories. The tool is built using Go, running on app engine as different services.

The entire tool consists of 3 services on app engine: The frontend service that is responsible for the UI and dealing with operations such as authentication of users; The backend service handles operations such as monitoring the BigQuery dataset, updating Cloud SQL tables. The mailer service handles the daily, weekly and monthly cron jobs that trigger email notifications to be sent. It is also responsible for composing the content for email notifications and sending them out using the app engine Mail API.

The tool demonstrates integration of various App Engine features along with other Google Services such as BigQuery, Firebase, and Cloud SQL, and building an app using a Microservices Architecture.

Disclaimer

This is not an official Google product.

Quickstart

Installing dependencies:

See README_dep.md for notes regarding dependencies and configuration

Creating Test Tables in BigQuery:

Create a BigQuery Table for testing purposes using the following query:

SELECT * FROM [githubarchive.month.201707] WHERE type IN ('IssuesEvent','IssueCommentEvent)

Running Locally:

You can then run the app locally:

cd PROJECT_DIR
cd services
dev_appserver.py -A [ProjectID] mailer/app.yaml backend/app.yaml frontend/app.yaml  dispatch.yaml  --show_mail_body=yes

Visit localhost:8080 to view the application

Deploying to App Engine

gcloud app deploy mailer/app.yaml backend/app.yaml frontend/app.yaml mailer/queue.yaml mailer/cron.yaml dispatch.yaml

Products

Language

About

GitHub Issue Tracker - Create Consolidated Email Digests for Github Issues

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published