Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

GitHub provides hosting for software development version control using Git. This plugin would allow users to select the data sets associated with the specified repository and collect raw level data.

User Expectations

  • Users would like to collect raw data sets associated with a specific repository so that they can perform monitoring and reporting on it
  • User would like to perform aggregations on GitHub datasets so that they can get better understanding of the repository usage 

Plugin Type

  •  Batch Source
  •  Batch Sink 
  •  Real-time Source
  •  Real-time Sink
  •  Action
  •  Post-Run Action
  •  Aggregate
  •  Join
  •  Spark Model
  •  Spark Compute

User Configurations

User Configuration LabelLabel DescriptionVariableUser WidgetNotes
Access TokenAuthorization token to access GitHub API

authorizationToken

Text Boxhttps://developer.github.com/v3/#authentication
RepositoryGitHub repository

repoName

Text Box
Dataset*Dataset name that you would like to retrieve**dataset_nameDrop down

https://developer.github.com/v3/repos/

Valid values include all the objects listed in the above link.

* Dataset name can be one of the following: Branches, Collaborators, Comments, Commits, Contents, Deploy Keys, Deployments, Forks, Invitations, Pages, Releases, Traffic:Referrers, Webhooks)

** Retrieving GitHub data would always call list API for the associated object. For instance, if Collaborators dataset was selected, the plugin would get the list of all the collaborators on the specified repository (along with other associated fields returned by List Collaborators API)

Design / Implementation Tips

Plugin will be implemented using third-part The GitHub Java API library, It is part of the GitHub Eclipse Connector and aims to support the entire GitHub v3 API. 

Authentication will be performed using access token.

Output schema must be automatically generated from selected data. 

References

Table of Contents




Checklist

  •  User stories documented 
  •  User stories reviewed 
  •  Design documented 
  •  Design reviewed 
  •  Feature merged 
  •  Examples and guides 
  •  Integration tests 
  •  Documentation for feature 
  •  Short video demonstrating the feature