Console app for creating data file for https://thanks.dot.net
0dd120b2cc | ||
---|---|---|
.github | ||
.vscode | ||
.dockerignore | ||
.gitignore | ||
CODE-OF-CONDUCT.md | ||
Dockerfile | ||
LICENSE | ||
Program.cs | ||
README.md | ||
RateLimit.cs | ||
Release.cs | ||
ReleaseCommits.cs | ||
azure-pipelines.yml | ||
dotnetthanks-loader.csproj | ||
dotnetthanks-loader.sln | ||
startup.sh |
README.md
thanks.dot.net - Data Loader
This is the loader application that creates the data file "core.json" for http://thanks.dot.net
Process
Each release of .NET is a collection of repositories. The list for each release is managed through the dotnet/core repository and for each see the /releases section.
- The loader application first loads all of the releases for dotnet/core ordered by newest -> oldest.
- For each release the tag of the current release and the tag of the previous release are used to retrieve the commits using the GitHub API :
https://api.github.com/repos/{owner}/{repo}/compare/{fromRelease}...{toRelease}
- Each commit is inspected to create the data model using the
TallyCommits
method.- A
Contributor
object is created if needed - The commits for the given repo are added
- A
Each child repo, other repositories in the release, are processed in the same manner.
Local Development
- Create a GitHub ClientID and Secret in your settings under the OAuth Apps section.
- Create a GitHub Personal Access Token
- Fork the dotnetthanks-loader repo and cd into it.
- Create user-secrets using the following commands
dotnet user-secrets init
dotnet user-secrets set GITHUB_CLIENTID <your-value>
dotnet user-secrets set GITHUB_CLIENTSECRET <your-value>
dotnet user-secrets set GITHUB_TOKEN <your Personal Access Token>