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

  • User Users would like to enable GitHub API to start retrieving GitHub data associated with repositories collect raw data sets associated with a specific repository so that they can perform monitoring and reporting on it
  • User would like to provide 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

repoName
User Configuration LabelLabel DescriptionVariableUser WidgetNotes
Access Token

Authorization token to be used to authenticate to

access

GitHub API

authorizationToken

Text Boxhttps://developer.github.com/v3/#authentication
Repository name

Repository name from which the data is retrieved

repoName

Text Box
Repository owner name

GitHub username who owns the repository

from which the data is retrieved

repoOwnerText Box

GitHub API hostname

GitHub API hostname from which the data is retrieved.


hostnameText Box

Optional, for GitHub Enterprise only.

By default, api.github.com

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.

Design / Implementation Tips

Plugin will be implemented using third-part The GitHub Java API library, It is part of the GitHub Mylyn Connector and aims to support the entire GitHub v3 API. Authentication * 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

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