Git Product home page Git Product logo

github-notifications-rss's Introduction

github-notifications-rss

Go HTTP handler to receive your Github notifications as JSONFeed. It can be used to view your Github notifications feed is your favorite RSS reader !

Warning: Depends on you GitHub account type (Enterprise/Free/Pro), you probably don't see the details of some notifications. Read https://docs.github.com/en/free-pro-team@latest/rest/reference/pulls#get-a-pull-request for more details.

Usage

  1. Create a Github Personal token here
  2. If you want your organization notifications in this feed, click on "Enable SSO"
  3. You need to set the FEED_URL environment variable for this feed to be understood by your RSS client.
  4. Simply build/run the /main.go file.
  5. By default, it listens on 127.0.0.1:8080. Change LISTEN_ADDR if you want a different interface.
  6. Check out http://127.0.0.1:8080/feed?token=<TOKEN>
  • You can disable cache responses by setting NO_CACHE=1.
  • A health check endpoint in available on /ping.

Example output:

{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Github Notifications",
  "home_page_url": "https://github.com/notifications",
  "feed_url": "https://europe-west1-skynewz-dev-dt3s2a.cloudfunctions.net/github_notifications_feed",
  "description": "Your Github notifications",
  "icon": "https://www.iconfinder.com/data/icons/octicons/1024/mark-github-512.png",
  "favicon": "https://github.com/favicon.ico",
  "authors": [
    {
      "name": "Quentin Lemaire",
      "url": "https://lemairepro.fr",
      "avatar": "https://gravatar.com/avatar/ae3ee0665731b1010ed57bd608ac213b?s=400&d=robohash&r=x"
    },
    {
      "name": "Github",
      "url": "https://github.com",
      "avatar": "https://www.iconfinder.com/data/icons/octicons/1024/mark-github-512.png"
    }
  ],
  "language": "en-US",
  "items": [
    {
      "id": "1173005664",
      "url": "https://github.com/hashicorp/terraform/releases/tag/v0.13.3",
      "title": "[Release] hashicorp/terraform - v0.13.3",
      "content_text": "[Release] hashicorp/terraform - v0.13.3",
      "date_published": "2020-09-16T19:56:44Z"
    },
    {
      "id": "1188927339",
      "url": "https://github.com/traefik/traefik/releases/tag/v2.3.0",
      "title": "[Release] traefik/traefik - v2.3.0",
      "content_text": "[Release] traefik/traefik - v2.3.0",
      "date_published": "2020-09-23T11:41:01Z"
    },
    {
      "id": "1172627840",
      "url": "https://github.com/cli/cli/releases/tag/v1.0.0",
      "title": "[Release] cli/cli - v1.0.0",
      "content_text": "[Release] cli/cli - v1.0.0",
      "date_published": "2020-09-16T17:19:41Z"
    },
    {
      "id": "1180918216",
      "url": "https://github.com/restic/restic/releases/tag/v0.10.0",
      "title": "[Release] restic/restic - restic 0.10.0",
      "content_text": "[Release] restic/restic - restic 0.10.0",
      "date_published": "2020-09-19T16:26:43Z"
    },
    {
      "id": "817939610",
      "url": "https://github.com/restic/restic/issues/2688",
      "title": "[Issue] restic/restic - List snapshots with multiple filters tag and host filter not working ?",
      "content_text": "[Issue] restic/restic - List snapshots with multiple filters tag and host filter not working ?",
      "date_published": "2020-09-20T18:25:15Z"
    }
  ]
}

github-notifications-rss's People

Contributors

skynewz avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

cxplay

github-notifications-rss's Issues

Ensure the given link exist, it causes nil pointer exception

return result["html_url"].(string), nil, nil

time="2020-12-12T01:14:04Z" level=info msg="Found 20 notifications\n"
time="2020-12-12T01:14:04Z" level=debug msg="Waiting for process"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/bitwarden/server/releases/35056355\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: \n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/docker/roadmap/issues/182\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/github/roadmap/issues/104\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/github/roadmap/issues/88\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/docker/roadmap/issues/142\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/docker/roadmap/issues/96\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/docker/roadmap/pulls/180\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/docker/roadmap/issues/7\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/direnv/direnv/releases/35128409\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/SkYNewZ/radarr/pulls/2\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/github/roadmap/issues/109\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/traefik/traefik/releases/35110727\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/github/roadmap/issues/130\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/adeo/iwc-apipy/pulls/198\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/adeo/iwc-apipy/pulls/196\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/wallabag/wallabag/releases/35099323\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/adeo/iwc-gcp-landingzone-v2/pulls/82\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/adeo/iwc-apipy/pulls/195\n"
time="2020-12-12T01:14:04Z" level=debug msg="URL being requested: https://api.github.com/repos/adeo/terraform-provider-ddi/pulls/8\n"
panic: interface conversion: interface {} is nil, not string

goroutine 39935 [running]:
main.customGithubRequest(0x800ac0, 0xc00001a018, 0x0, 0x0, 0x7909cf, 0x4, 0x1, 0x0, 0x0)
	/go/src/github.com/SkYNewZ/github-notifications-rss/feed.go:81 +0x287
main.getGithubNotificationsJSONFeed.func1(0xc0003008f0, 0x800ac0, 0xc00001a018, 0xc000222ee0, 0xc000274600)
	/go/src/github.com/SkYNewZ/github-notifications-rss/feed.go:159 +0x325
created by main.getGithubNotificationsJSONFeed
	/go/src/github.com/SkYNewZ/github-notifications-rss/feed.go:147 +0x3fd

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.