Up

module Github_t

: sig
#
type web_hook_config = {
# web_hook_config_url
: string;
# web_hook_config_content_type
: string;
# web_hook_config_insecure_ssl
: string;
# web_hook_config_secret
: string option;
}
#
type user_type = [
| `User
| `Organization
]
#
type user_info = {
# user_info_login
: string;
# user_info_id
: int;
# user_info_avatar_url
: string option;
# user_info_gravatar_id
: string option;
# user_info_url
: string;
# user_info_name
: string option;
# user_info_company
: string option;
# user_info_blog
: string option;
# user_info_location
: string option;
# user_info_email
: string option;
# user_info_hireable
: bool;
# user_info_bio
: string;
# user_info_public_repos
: int;
# user_info_public_gists
: int;
# user_info_followers
: int;
# user_info_following
: int;
# user_info_html_url
: string;
# user_info_created_at
: string;
# user_info_ty
: user_type;
}
#
type user = {
# user_login
: string;
# user_id
: int;
# user_avatar_url
: string option;
# user_gravatar_id
: string option;
# user_url
: string;
}
#
type update_release = {
# update_release_tag_name
: string option;
# update_release_target_commitish
: string option;
# update_release_name
: string option;
# update_release_body
: string option;
# update_release_draft
: bool option;
# update_release_prerelease
: bool option;
}
#
type state = [
| `Open
| `Closed
]
#
type update_pull = {
# update_pull_title
: string option;
# update_pull_body
: string option;
# update_pull_state
: state option;
}
#
type update_milestone = {
# update_milestone_title
: string option;
# update_milestone_state
: state option;
# update_milestone_description
: string option;
# update_milestone_due_on
: string option;
}
#
type event_type = [
| `CommitComment
| `Create
| `Delete
| `Download
| `Follow
| `Fork
| `ForkApply
| `Gist
| `Gollum
| `IssueComment
| `Issues
| `Member
| `Public
| `PullRequest
| `PullRequestReviewComment
| `Push
| `Status
| `TeamAdd
| `Watch
]
#
type update_hook = {
# update_hook_name
: string;
# update_hook_config
: web_hook_config;
# update_hook_events
: event_type list option;
# update_hook_active
: bool;
}
#
type team = {
# team_url
: string;
# team_name
: string;
# team_id
: int;
}
#
type teams = team list
#
type team_info = {
# team_info_permission
: string;
# team_info_members_count
: int;
# team_info_repos_count
: int;
# team_info_organization
: user;
# team_info_url
: string;
# team_info_name
: string;
# team_info_id
: int;
}
#
type team_infos = team_info list
#
type obj_type = [
| `Blob
| `Tree
| `Commit
| `Tag
]
#
type obj = {
# obj_ty
: obj_type;
# obj_sha
: string;
# obj_url
: string;
}
#
type info = {
# info_date
: string;
# info_email
: string;
# info_name
: string;
}
#
type tag = {
# tag_obj
: obj;
# tag_url
: string;
# tag_sha
: string;
# tag_tag
: string;
# tag_message
: string;
# tag_tagger
: info;
}
#
type status_state = [
| `Pending
| `Success
| `Failure
| `Error
]
#
type status = {
# status_url
: string;
# status_updated_at
: string;
# status_created_at
: string;
# status_id
: int;
# status_state
: status_state;
# status_target_url
: string option;
# status_description
: string option;
# status_creator
: user;
}
#
type statuses = status list
#
type scope = [
| `User
| `UserEmail
| `UserFollow
| `Public_repo
| `Repo
| `Repo_deployment
| `Repo_status
| `Delete_repo
| `Notifications
| `Gist
| `Read_repo_hook
| `Write_repo_hook
| `Admin_repo_hook
| `Read_org
| `Write_org
| `Admin_org
| `Read_public_key
| `Write_public_key
| `Admin_public_key
]
#
type repo = {
# repo_id
: int;
# repo_owner
: user;
# repo_name
: string;
# repo_full_name
: string;
# repo_description
: string;
# repo_private
: bool;
# repo_fork
: bool;
# repo_url
: string;
# repo_html_url
: string;
# repo_clone_url
: string;
# repo_git_url
: string;
# repo_ssh_url
: string;
# repo_svn_url
: string;
# repo_mirror_url
: string option;
# repo_homepage
: string;
# repo_forks
: int;
# repo_forks_count
: int;
# repo_watchers
: int;
# repo_watchers_count
: int;
# repo_size
: int;
# repo_master_branch
: string option;
# repo_open_issues
: int;
# repo_pushed_at
: string option;
# repo_created_at
: string;
# repo_updated_at
: string;
# repo_organization
: user option;
# repo_has_issues
: bool;
# repo_has_wiki
: bool;
# repo_has_downloads
: bool;
}
#
type repos = repo list
#
type repo_commit = {
# repo_commit_sha
: string;
# repo_commit_url
: string;
}
#
type repo_tag = {
# repo_tag_name
: string;
# repo_tag_commit
: repo_commit;
# repo_tag_zipball_url
: string;
# repo_tag_tarball_url
: string;
}
#
type repo_tags = repo_tag list
#
type repo_branch = {
# repo_branch_name
: string;
# repo_branch_commit
: repo_commit;
}
#
type repo_branches = repo_branch list
#
type release = {
# release_id
: int;
# release_tag_name
: string;
# release_target_commitish
: string option;
# release_name
: string;
# release_body
: string;
# release_draft
: bool;
# release_prerelease
: bool;
# release_created_at
: string;
# release_published_at
: string;
# release_url
: string;
# release_html_url
: string;
# release_assets_url
: string;
# release_upload_url
: string;
}
#
type releases = release list
#
type release_repo = {
# release_repo_user
: string;
# release_repo_repo
: string;
# release_repo_release
: release;
}
#
type release_repos = release_repo list
#
type branch = {
# branch_label
: string;
# branch_ref
: string;
# branch_sha
: string;
# branch_user
: user;
# branch_repo
: repo option;
}
#
type pull = {
# pull_url
: string;
# pull_html_url
: string;
# pull_diff_url
: string;
# pull_patch_url
: string;
# pull_issue_url
: string;
# pull_number
: int;
# pull_state
: state;
# pull_title
: string;
# pull_body
: string;
# pull_created_at
: string;
# pull_updated_at
: string;
# pull_closed_at
: string option;
# pull_merged_at
: string option;
# pull_head
: branch;
# pull_base
: branch;
: pull_links;
# pull_user
: user;
}
#
type pulls = pull list
#
type issue_comment = {
# issue_comment_id
: int;
# issue_comment_url
: string;
# issue_comment_body
: string;
# issue_comment_user
: user;
# issue_comment_created_at
: string;
# issue_comment_updated_at
: string;
}
#
type pull_comment_action = {
# pull_comment_action_comment
: issue_comment;
}
#
type pull_action_type = [
| `Opened
| `Closed
| `Synchronize
| `Reopened
]
#
type pull_action = {
# pull_action_action
: pull_action_type;
# pull_action_number
: int;
# pull_action_pull_request
: pull;
}
#
type new_status = {
# new_status_state
: status_state;
# new_status_target_url
: string option;
# new_status_description
: string option;
}
#
type new_release = {
# new_release_tag_name
: string;
# new_release_target_commitish
: string;
# new_release_name
: string;
# new_release_body
: string;
# new_release_draft
: bool;
# new_release_prerelease
: bool;
}
#
type new_pull_issue = {
# new_pull_issue_issue
: int;
# new_pull_issue_base
: string;
# new_pull_issue_head
: string;
}
#
type new_pull = {
# new_pull_title
: string;
# new_pull_body
: string option;
# new_pull_base
: string;
# new_pull_head
: string;
}
#
type new_milestone = {
# new_milestone_title
: string;
# new_milestone_state
: state;
# new_milestone_description
: string option;
# new_milestone_due_on
: string option;
}
#
type new_issue_comment = {
# new_issue_comment_body
: string;
}
#
type new_issue = {
# new_issue_title
: string;
# new_issue_body
: string option;
# new_issue_assignee
: string option;
# new_issue_milestone
: int option;
# new_issue_labels
: string list;
}
#
type new_hook = {
# new_hook_name
: string;
# new_hook_config
: web_hook_config;
# new_hook_events
: event_type list;
# new_hook_active
: bool;
}
#
type new_deploy_key = {
# new_deploy_key_title
: string;
# new_deploy_key_key
: string;
}
#
type milestone = {
# milestone_url
: string;
# milestone_number
: int;
# milestone_state
: state;
# milestone_title
: string;
# milestone_description
: string;
# milestone_creator
: user option;
# milestone_open_issues
: int;
# milestone_closed_issues
: int;
# milestone_created_at
: string;
# milestone_due_on
: string option;
}
#
type milestones = milestone list
#
type milestone_sort = [
| `Due_date
| `Completeness
]
#
type error = {
# error_resource
: string;
# error_field
: string option;
# error_code
: string;
}
#
type message = {
# message_message
: string;
# message_errors
: error list;
}
#
type merge_request = {
# merge_commit_message
: string option;
}
#
type merge = {
# merge_sha
: string option;
# merge_merged
: bool;
# merge_message
: string;
}
#
type label = {
# label_url
: string;
# label_name
: string;
# label_color
: string;
}
#
type issue_sort = [
| `Created
| `Updated
| `Comments
]
#
type direction = [
| `Asc
| `Desc
]
#
type issue = {
# issue_url
: string;
# issue_html_url
: string;
# issue_number
: int;
# issue_state
: state;
# issue_title
: string;
# issue_body
: string;
# issue_user
: user;
# issue_labels
: label list;
# issue_comments
: int;
# issue_milestone
: milestone option;
# issue_sort
: issue_sort;
# issue_direction
: direction;
# issue_mentioned
: string list option;
}
#
type issues = issue list
#
type issue_comments = issue_comment list
#
type hook = {
# hook_url
: string;
# hook_updated_at
: string;
# hook_created_at
: string;
# hook_name
: string;
# hook_events
: event_type list;
# hook_active
: bool;
# hook_config
: web_hook_config;
# hook_id
: int;
}
#
type hooks = hook list
#
type git_ref = {
# git_ref_name
: string;
# git_ref_url
: string;
# git_ref_obj
: obj;
}
#
type git_refs = git_ref list
#
type git_commit = {
# git_commit_url
: string;
# git_commit_author
: info;
# git_commit_message
: string;
}
#
type change_status = {
# change_statusdeletions
: int;
# change_statusadditions
: int;
# change_statustotal
: int;
}
#
type gist_history = {
# gist_historyurl
: string;
# gist_historyversion
: string;
# gist_historyuser
: user;
# gist_historychange_status
: change_status;
# gist_historycommitted_at
: string;
}
#
type gist_history_list = gist_history list
#
type gist_fork = {
# gist_fork_user
: user;
# gist_fork_url
: string;
# gist_fork_id
: int;
# gist_fork_created_at
: string;
# gist_fork_updated_at
: string;
}
#
type gist_file = {
# gist_file_size
: int;
# gist_file_raw_url
: string;
# gist_file_ty
: string;
# gist_file_truncated
: bool option;
# gist_file_language
: string option;
# gist_file_content
: string option;
}
#
type gist_files = (string * gist_file) list
#
type gist = {
# gist_url
: string;
# gist_forks_url
: string;
# gist_commits_url
: string;
# gist_id
: string;
# gist_description
: string option;
# gist_public
: bool;
# gist_owner
: user;
# gist_user
: string option;
# gist_files
: gist_files;
# gist_comments
: int;
# gist_comments_url
: string;
# gist_html_url
: string;
# gist_git_pull_url
: string;
# gist_git_push_url
: string;
# gist_created_at
: string;
# gist_updated_at
: string;
# gist_forks
: gist_fork list option;
# gist_history
: gist_history_list option;
}
#
type gists = gist list
#
type gist_forks = gist_fork list
#
type gist_edit = {
# gist_edit_content
: string option;
# gist_edit_filename
: string option;
}
#
type gist_edits = {
# gist_edit_description
: string;
# gist_edit_files
: (string * gist_edit) list;
}
#
type gist_create_content = {
# gist_create_content
: string;
}
#
type gist_create_contents = (string * gist_create_content) list
#
type gist_create = {
# gist_create_description
: string;
# gist_create_public
: bool;
# gist_create_files
: gist_create_contents;
}
#
type file = {
# file_sha
: string option;
# file_filename
: string;
# file_status
: string;
# file_additions
: int;
# file_deletions
: int;
# file_changes
: int;
# file_blob_url
: string;
# file_raw_url
: string;
# file_patch
: string option;
}
#
type files = file list
#
type event = {
# event_ty
: event_type;
# event_public
: bool;
# event_actor
: user;
# event_org
: user;
# event_created_at
: string;
# event_id
: int;
}
#
type deploy_key = {
# deploy_key_id
: int;
# deploy_key_key
: string;
# deploy_key_url
: string;
# deploy_key_title
: string;
}
#
type deploy_keys = deploy_key list
#
type commit = {
# commit_url
: string;
# commit_sha
: string;
# commit_git
: git_commit;
# commit_author
: user option;
# commit_committer
: user option;
}
#
type commits = commit list
#
type app = {
# app_name
: string;
# app_url
: string;
}
#
type auth = {
# auth_scopes
: scope list;
# auth_token
: string;
# auth_app
: app;
# auth_url
: string;
# auth_id
: int;
# auth_note
: string option;
# auth_note_url
: string option;
}
#
type auths = auth list
#
type auth_req = {
# auth_req_scopes
: scope list;
# auth_req_note
: string;
# auth_req_note_url
: string option;
# auth_req_client_id
: string option;
# auth_req_client_secret
: string option;
}
end