<commit_before>package github

import (
	"time"
)

type GitCommit struct {
	Author    string `json:"author"`
	Email     string `json:"email"`
	Repo      string `json:"repo"`
	RepoOwner string `json:"repo_owner"`
	Message   string `json:"message"`
	Date      string `json:"date"`
	Hash      string `json:"hash"`
}

type GitHubCommit struct {
	Distinct  bool         `json:"distinct"`
	URL       string       `json:"url"`
	Id        string       `json:"id"`
	Timestamp time.Time    `json:"timestamp"`
	Added     []string     `json:"added"`
	Message   string       `json:"message"`
	Committer GitHubPerson `json:"committer"`
	Author    GitHubPerson `json:"author"`
	Modified  []string     `json:"modified"`
	Removed   []string     `json:"removed"`
}

type GitHubRepo struct {
	HasIssues    bool         `json:"has_issues"`
	HasWiki      bool         `json:"has_wiki"`
	Size         int          `json:"size"`
	Description  string       `json:"description"`
	Owner        GitHubPerson `json:"owner"`
	Homepage     string       `json:"homepage"`
	Watchers     int          `json:"watchers"`
	Language     string       `json:"language"`
	PushedAt     time.Time    `json:"pushed_at"`
	Name         string       `json:"name"`
	Organization string       `json:"organization"`
	HasDownloads bool         `json:"has_downloads"`
	CreatedAt    time.Time    `json:"created_at"`
	URL          string       `json:"url"`
	OpenIssues   int          `json:"open_issues"`
	Forks        int          `json:"forks"`
	Private      bool         `json:"private"`
	Fork         bool         `json:"fork"`
	Stargazers   int          `json:"stargazers"`
}

type GitHubPerson struct {
	Email    *string `json:"email"`
	Name     *string `json:"name"`
	Username *string `json:"username"`
}

type GitHubPayload struct {
	Before     string         `json:"before"`
	Created    bool           `json:"created"`
	Ref        string         `json:"ref"`
	Deleted    bool           `json:"deleted"`
	After      string         `json:"after"`
	HeadCommit GitHubCommit   `json:"head_commit"`
	Commits    []GitHubCommit `json:"commits"`
	Repository GitHubRepo     `json:"repository"`
	Forced     bool           `json:"forced"`
	Compare    string         `json:"compare"`
	Pusher     GitHubPerson   `json:"pusher"`
}

type PayloadPong struct {
	Ok    bool   `json:"ok"`
	Event string `json:"event"`
	Error error  `json:"error,omitempty"`
}
<commit_msg>Add CloneURL to web hook payload<commit_after>package github

import (
	"time"
)

type GitCommit struct {
	Author    string `json:"author"`
	Email     string `json:"email"`
	Repo      string `json:"repo"`
	RepoOwner string `json:"repo_owner"`
	Message   string `json:"message"`
	Date      string `json:"date"`
	Hash      string `json:"hash"`
}

type GitHubCommit struct {
	Distinct  bool         `json:"distinct"`
	URL       string       `json:"url"`
	Id        string       `json:"id"`
	Timestamp time.Time    `json:"timestamp"`
	Added     []string     `json:"added"`
	Message   string       `json:"message"`
	Committer GitHubPerson `json:"committer"`
	Author    GitHubPerson `json:"author"`
	Modified  []string     `json:"modified"`
	Removed   []string     `json:"removed"`
}

type GitHubRepo struct {
	HasIssues    bool         `json:"has_issues"`
	HasWiki      bool         `json:"has_wiki"`
	Size         int          `json:"size"`
	Description  string       `json:"description"`
	Owner        GitHubPerson `json:"owner"`
	Homepage     string       `json:"homepage"`
	Watchers     int          `json:"watchers"`
	Language     string       `json:"language"`
	PushedAt     time.Time    `json:"pushed_at"`
	Name         string       `json:"name"`
	Organization string       `json:"organization"`
	HasDownloads bool         `json:"has_downloads"`
	CreatedAt    time.Time    `json:"created_at"`
	URL          string       `json:"url"`
	CloneURL     string       `json:"clone_url"`
	OpenIssues   int          `json:"open_issues"`
	Forks        int          `json:"forks"`
	Private      bool         `json:"private"`
	Fork         bool         `json:"fork"`
	Stargazers   int          `json:"stargazers"`
}

type GitHubPerson struct {
	Email    *string `json:"email"`
	Name     *string `json:"name"`
	Username *string `json:"username"`
}

type GitHubPayload struct {
	Before     string         `json:"before"`
	Created    bool           `json:"created"`
	Ref        string         `json:"ref"`
	Deleted    bool           `json:"deleted"`
	After      string         `json:"after"`
	HeadCommit GitHubCommit   `json:"head_commit"`
	Commits    []GitHubCommit `json:"commits"`
	Repository GitHubRepo     `json:"repository"`
	Forced     bool           `json:"forced"`
	Compare    string         `json:"compare"`
	Pusher     GitHubPerson   `json:"pusher"`
}

type PayloadPong struct {
	Ok    bool   `json:"ok"`
	Event string `json:"event"`
	Error error  `json:"error,omitempty"`
}

{'fraction_non_alphanumeric': 0.12359089977454396, 'fraction_numerical': 0.0, 'mean_word_length': 2.536231884057971, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5183828', 'n_tokens_mistral': 1482, 'n_tokens_neox': 1484, 'n_words': 370}