When you are working with Github using the Github API, and thinking about where to put Streamdata.io work, you begin to see a wealth of streaming possibilities available via the social coding platform. Depending on activity surrounding a Github organization, user, or repositories, there can be some pretty interesting opportunities for streaming platform activity by proxying the Github API. After profiling the Github API and adding them to the Streamdata.io API Gallery, we felt there were some pretty interesting resources available, and they are worth showcasing as a separate list, to help light the fire under your imagination when it comes to using Streamdata.io. While we profiled 145 separate GET resources available via the current Github API, we went through and handcrafted this list of 69 Github API resources that can easily be turned into streams using Streamdata.io:
– Get Emojis – Lists all the emojis available to use on GitHub
– Get Events – List public events
– Get Gists – List the authenticated user’s gists or if called anonymously, this will return all public gists
– Get Gists Comments – List comments on a gist
– Get Gists Public – List all public gists
– Get Gists Starred – List the authenticated user’s starred gists
– Get Issues – List issues
– Get Networks Owner Repo Events – List public events for a network of repositories
– Get Notifications – List your notifications
– Get Orgs Org Events – List public events for an organization
– Get Orgs Org Issues – List issues
– Get Orgs Org Public Members – Public members list
– Get Orgs Org Repos – List repositories for the specified org
– Get Orgs Org Teams – List teams
– Get Rate Limit – Get your current rate limit status Note: Accessing this endpoint does not count against your rate limit
– Get Repos Owner Repo Assignees – List assignees
– Get Repos Owner Repo Branches – Get list of branches
– Get Repos Owner Repo Collaborators – List repo collaborators
– Get Repos Owner Repo Comments – List commit comments for a repository
– Get Repos Owner Repo Contributors – Get list of contributors
– Get Repos Owner Repo Events – Get list of repository events
– Get Repos Owner Repo Forks – List forks
– Get Repos Owner Repo Git Refs – Get all References
– Get Repos Owner Repo Git Refs Ref – Get a Reference
– Get Repos Owner Repo Hooks – Get list of hooks
– Get Repos Owner Repo Issues Comments – List comments in a repository
– Get Repos Owner Repo Issues Events – List issue events for a repository
– Get Repos Owner Repo Issues – List issues for a repository
– Get Repos Owner Repo Issues Number Comments – List comments on an issue
– Get Repos Owner Repo Milestones – List milestones for a repository
– Get Repos Owner Repo Notifications – List your notifications in a repository List all notifications for the current user
– Get Repos Owner Repo Pulls Comments – List comments in a repository
– Get Repos Owner Repo Pulls – List pull requests
– Get Repos Owner Repo Pulls Number Comments – List comments on a pull request
– Get Repos Owner Repo Pulls Number Commits – List commits on a pull request
– Get Repos Owner Repo Pulls Number Files – List pull requests files
– Get Repos Owner Repo Releases Assets – List assets for a release
– Get Repos Owner Repo Stargazers – List Stargazers
– Get Repos Owner Repo Subscribers – List watchers
– Get Repos Owner Repo Tags – Get list of tags
– Get Repos Owner Repo Teams – Get list of teams
– Get Repos Owner Repo Watchers – List Stargazers
– Get Repositories – List all public repositories
– Get Search Code – Search code
– Get Search Issues – Find issues by state and keyword
– Get Search Users – Search users
– Get Teams Team Members – List team members
– Get Teams Team Repos – List team repos
– Get User Followers – List the authenticated user’s followers
– Get User Following – List who the authenticated user is following
– Get User Following Username – Check if you are following a user
– Get User Issues – List issues
– Get User Orgs – List public and private organizations for the authenticated user
– Get User Repos – List repositories for the authenticated user
– Get User Starred – List repositories being starred by the authenticated user
– Get User Subscriptions – List repositories being watched by the authenticated user
– Get User Teams – List all of the teams across all of the organizations to which the authenticated user belongs
– Get Users – Get all users
– Get Users Username Events – If you are authenticated as the given user, you will see your private events
– Get Users Username Events Orgs Org – This is the user’s organization dashboard
– Get Users Username Followers – List a user’s followers
– Get Users Username Gists – List a users gists
– Get Users Username Keys – List public keys for a user
– Get Users Username Orgs – List all public organizations for a user
– Get Users Username Received Events – These are events that you’ll only see public events
– Get Users Username Received Events Public – List public events that a user has received
– Get Users Username Repos – List public repositories for the specified user
– Get Users Username Starred – List repositories being starred by a user
– Get Users Username Subscriptions – List repositories being watched by a user
You can click on each item to visit its detail page in the Streamdata.io API Gallery, which will provide you with an example cURL command showing you how to turn it into a stream. You will need to have a Github account and OAuth Token, as well as a Streamdata.io account and application key to put to use, but once you do, you should be able to easily turn any of them into a stream of data, or potentially aggregate streams of data by proxying the Github API using Streamdata.io.
Depending on the organizations, users, and repositories involved you will see different levels of activity. Next, we will work on ways to help further reduce friction when it comes to streaming Github APIs using Streamdata.io. We are profiling these APIs using the AsyncAPI specification, as well as working with OAuth.io to make obtaining a Github OAuth token easier, which will help further reduce the steps you have to take to turn any existing Github API into a real time stream for use in a dashboard, mobile application, or possibly used to train a machine learning model.