package github

  1. Overview
  2. Docs
type update_gist = {
  1. update_gist_description : string;
  2. update_gist_files : (string * update_gist) list;
}
type wiki_page_action = [
  1. | `Created
  2. | `Edited
]
type wiki_page = {
  1. wiki_page_name : string;
  2. wiki_page_title : string;
  3. wiki_page_action : wiki_page_action;
  4. wiki_page_sha : string;
  5. wiki_page_html_url : string;
}
type web_hook_config = {
  1. web_hook_config_url : string;
  2. web_hook_config_content_type : string;
  3. web_hook_config_insecure_ssl : bool;
  4. web_hook_config_secret : string option;
}
type watch_action = [
  1. | `Started
]
type watch_event = {
  1. watch_event_action : watch_action;
}
type user_info = {
  1. user_info_name : string option;
  2. user_info_company : string option;
  3. user_info_blog : string option;
  4. user_info_location : string option;
  5. user_info_email : string option;
  6. user_info_hireable : bool;
  7. user_info_bio : string;
  8. user_info_public_repos : int;
  9. user_info_public_gists : int;
  10. user_info_followers : int;
  11. user_info_following : int;
  12. user_info_created_at : string;
  13. user_info_updated_at : string;
  14. user_info_html_url : string;
  15. user_info_login : string;
  16. user_info_id : Int64.t;
  17. user_info_url : string;
  18. user_info_avatar_url : string option;
}
type user = {
  1. user_login : string;
  2. user_id : Int64.t;
  3. user_url : string;
  4. user_avatar_url : string option;
}
type update_release = {
  1. update_release_tag_name : string option;
  2. update_release_target_commitish : string option;
  3. update_release_name : string option;
  4. update_release_body : string option;
  5. update_release_draft : bool option;
  6. update_release_prerelease : bool option;
}
type state = [
  1. | `Open
  2. | `Closed
]
type update_pull = {
  1. update_pull_title : string option;
  2. update_pull_body : string option;
  3. update_pull_state : state option;
}
type update_milestone = {
  1. update_milestone_title : string option;
  2. update_milestone_state : state option;
  3. update_milestone_description : string option;
  4. update_milestone_due_on : string option;
}
type hook_config = [
  1. | `Web of web_hook_config
]
type event_type = [
  1. | `CommitComment
  2. | `Create
  3. | `Delete
  4. | `Deployment
  5. | `DeploymentStatus
  6. | `Download
  7. | `Follow
  8. | `Fork
  9. | `ForkApply
  10. | `Gist
  11. | `Gollum
  12. | `IssueComment
  13. | `Issues
  14. | `Member
  15. | `PageBuild
  16. | `Public
  17. | `PullRequest
  18. | `PullRequestReviewComment
  19. | `Push
  20. | `Release
  21. | `Status
  22. | `TeamAdd
  23. | `Watch
]
type update_hook = {
  1. update_hook_config : hook_config;
  2. update_hook_events : event_type list option;
  3. update_hook_active : bool;
}
type update_gist_file = {
  1. update_gist_file_content : string option;
  2. update_gist_file_name : string option;
}
type team = {
  1. team_url : string;
  2. team_name : string;
  3. team_id : Int64.t;
}
type teams = team list
type team_permission = [
  1. | `Pull
  2. | `Push
  3. | `Admin
]
type org = {
  1. org_login : string;
  2. org_id : Int64.t;
  3. org_url : string;
  4. org_avatar_url : string option;
}
type team_info = {
  1. team_info_permission : team_permission;
  2. team_info_members_count : int;
  3. team_info_repos_count : int;
  4. team_info_organization : org;
  5. team_info_url : string;
  6. team_info_name : string;
  7. team_info_id : Int64.t;
}
type team_infos = team_info list
type team_add_info = {
  1. team_add_info_slug : string;
  2. team_add_info_permission : team_permission;
  3. team_add_info_members_url : string;
  4. team_add_info_repositories_url : string;
  5. team_add_info_url : string;
  6. team_add_info_name : string;
  7. team_add_info_id : Int64.t;
}
type repository = {
  1. repository_owner : user;
  2. repository_full_name : string;
  3. repository_description : string option;
  4. repository_private : bool;
  5. repository_fork : bool;
  6. repository_html_url : string;
  7. repository_clone_url : string;
  8. repository_git_url : string;
  9. repository_ssh_url : string;
  10. repository_svn_url : string;
  11. repository_mirror_url : string option;
  12. repository_homepage : string;
  13. repository_language : string option;
  14. repository_forks_count : int;
  15. repository_subscribers_count : int option;
  16. repository_stargazers_count : int;
  17. repository_size : int;
  18. repository_default_branch : string option;
  19. repository_open_issues_count : int;
  20. repository_pushed_at : string option;
  21. repository_created_at : string;
  22. repository_updated_at : string;
  23. repository_organization : user option;
  24. repository_has_issues : bool;
  25. repository_has_wiki : bool;
  26. repository_has_downloads : bool;
  27. repository_has_pages : bool;
  28. repository_id : Int64.t;
  29. repository_name : string;
  30. repository_url : string;
}
type team_add_event = {
  1. team_add_event_team : team_add_info option;
  2. team_add_event_user : user option;
  3. team_add_event_repository : repository option;
  4. team_add_event_organization : org;
}
type obj_type = [
  1. | `Blob
  2. | `Tree
  3. | `Commit
  4. | `Tag
]
type obj = {
  1. obj_ty : obj_type;
  2. obj_sha : string;
  3. obj_url : string;
}
type info = {
  1. info_date : string;
  2. info_email : string;
  3. info_name : string;
}
type tag = {
  1. tag_obj : obj;
  2. tag_url : string;
  3. tag_sha : string;
  4. tag_tag : string;
  5. tag_message : string;
  6. tag_tagger : info;
}
type status_state = [
  1. | `Pending
  2. | `Success
  3. | `Failure
  4. | `Error
]
type status = {
  1. status_url : string;
  2. status_updated_at : string;
  3. status_created_at : string;
  4. status_id : Int64.t;
  5. status_state : status_state;
  6. status_target_url : string option;
  7. status_description : string option;
  8. status_creator : user;
}
type statuses = status list
type status_branch_commit = {
  1. status_branch_commit_sha : string;
  2. status_branch_commit_url : string;
}
type status_branch = {
  1. status_branch_name : string;
  2. status_branch_commit : status_branch_commit;
}
type git_commit = {
  1. git_commit_url : string;
  2. git_commit_author : info;
  3. git_commit_message : string;
}
type commit = {
  1. commit_url : string;
  2. commit_sha : string;
  3. commit_git : git_commit;
  4. commit_author : user option;
  5. commit_committer : user option;
}
type status_event = {
  1. status_event_sha : string;
  2. status_event_target_url : string option;
  3. status_event_description : string option;
  4. status_event_state : status_state;
  5. status_event_commit : commit;
  6. status_event_branches : status_branch list;
}
type scope = [
  1. | `User
  2. | `User_email
  3. | `User_follow
  4. | `Public_repo
  5. | `Repo
  6. | `Repo_deployment
  7. | `Repo_status
  8. | `Delete_repo
  9. | `Notifications
  10. | `Gist
  11. | `Read_repo_hook
  12. | `Write_repo_hook
  13. | `Admin_repo_hook
  14. | `Admin_org_hook
  15. | `Read_org
  16. | `Write_org
  17. | `Admin_org
  18. | `Read_public_key
  19. | `Write_public_key
  20. | `Admin_public_key
]
type repositories = repository list
type repo_commit = {
  1. repo_commit_sha : string;
  2. repo_commit_url : string;
}
type repo_tag = {
  1. repo_tag_name : string;
  2. repo_tag_commit : repo_commit;
  3. repo_tag_zipball_url : string;
  4. repo_tag_tarball_url : string;
}
type repo_tags = repo_tag list
type repo_branch = {
  1. repo_branch_name : string;
  2. repo_branch_commit : repo_commit;
}
type repo_branches = repo_branch list
type repo = {
  1. repo_id : Int64.t;
  2. repo_name : string;
  3. repo_url : string;
}
type release = {
  1. release_id : Int64.t;
  2. release_tag_name : string;
  3. release_target_commitish : string option;
  4. release_name : string option;
  5. release_body : string option;
  6. release_draft : bool;
  7. release_prerelease : bool;
  8. release_created_at : string;
  9. release_published_at : string;
  10. release_url : string;
  11. release_html_url : string;
  12. release_assets_url : string;
  13. release_upload_url : string;
}
type releases = release list
type release_repo = {
  1. release_repo_user : string;
  2. release_repo_repo : string;
  3. release_repo_release : release;
}
type release_repos = release_repo list
type release_action = [
  1. | `Published
]
type release_event = {
  1. release_event_action : release_action;
  2. release_event_release : release;
}
type ref = [
  1. | `Repository
  2. | `Branch of string
  3. | `Tag of string
]
type rate = {
  1. rate_limit : int;
  2. rate_remaining : int;
  3. rate_reset : float;
}
type rate_resources = {
  1. rate_resources_core : rate;
}
type rate_limit = {
  1. rate_limit_resources : rate_resources;
}
type push_event_author = {
  1. push_event_author_name : string;
  2. push_event_author_email : string;
}
type push_event_commit = {
  1. push_event_commit_url : string;
  2. push_event_commit_sha : string;
  3. push_event_commit_message : string;
  4. push_event_commit_author : push_event_author;
  5. push_event_commit_distinct : bool;
}
type push_event = {
  1. push_event_head : string;
  2. push_event_ref : string;
  3. push_event_size : int;
  4. push_event_commits : push_event_commit list;
}
type branch = {
  1. branch_label : string;
  2. branch_ref : string;
  3. branch_sha : string;
  4. branch_user : user option;
  5. branch_repo : repository option;
}
type pull = {
  1. pull_issue_url : string;
  2. pull_number : int;
  3. pull_state : state;
  4. pull_title : string;
  5. pull_body : string;
  6. pull_created_at : string;
  7. pull_updated_at : string;
  8. pull_closed_at : string option;
  9. pull_merged_at : string option;
  10. pull_head : branch;
  11. pull_base : branch;
  12. pull_user : user;
  13. pull_url : string;
  14. pull_html_url : string;
  15. pull_diff_url : string;
  16. pull_patch_url : string;
}
type pulls = pull list
type pull_request_review_comment_action = [
  1. | `Created
]
type pull_request_review_comment = {
  1. pull_request_review_comment_diff_hunk : string;
  2. pull_request_review_comment_original_position : int;
  3. pull_request_review_comment_original_commit_id : string;
  4. pull_request_review_comment_pull_request_url : string;
  5. pull_request_review_comment_position : int option;
  6. pull_request_review_comment_line : int option;
  7. pull_request_review_comment_path : string option;
  8. pull_request_review_comment_commit_id : string;
  9. pull_request_review_comment_id : Int64.t;
  10. pull_request_review_comment_url : string;
  11. pull_request_review_comment_html_url : string;
  12. pull_request_review_comment_body : string;
  13. pull_request_review_comment_user : user;
  14. pull_request_review_comment_created_at : string;
  15. pull_request_review_comment_updated_at : string;
}
type pull_request_review_comment_event = {
  1. pull_request_review_comment_event_action : pull_request_review_comment_action;
  2. pull_request_review_comment_event_pull_request : pull;
  3. pull_request_review_comment_event_comment : pull_request_review_comment;
}
type pull_request_action = [
  1. | `Assigned
  2. | `Unassigned
  3. | `Labeled
  4. | `Unlabeled
  5. | `Opened
  6. | `Closed
  7. | `Reopened
  8. | `Synchronize
]
type pull_request_event = {
  1. pull_request_event_action : pull_request_action;
  2. pull_request_event_number : int;
  3. pull_request_event_pull_request : pull;
}
type pull_ref = {
  1. pull_ref_url : string;
  2. pull_ref_html_url : string;
  3. pull_ref_diff_url : string;
  4. pull_ref_patch_url : string;
}
type page_build_status = [
  1. | `Building
  2. | `Built
  3. | `Errored
]
type page_build_error = {
  1. page_build_error_message : string option;
}
type page_build = {
  1. page_build_url : string;
  2. page_build_status : page_build_status option;
  3. page_build_error : page_build_error;
}
type page_build_event = {
  1. page_build_event_build : page_build;
}
type organization = {
  1. organization_name : string;
  2. organization_company : string;
  3. organization_blog : string;
  4. organization_location : string;
  5. organization_email : string;
  6. organization_public_repos : int;
  7. organization_public_gists : int;
  8. organization_followers : int;
  9. organization_following : int;
  10. organization_html_url : string;
  11. organization_created_at : string;
  12. organization_login : string;
  13. organization_id : Int64.t;
  14. organization_url : string;
  15. organization_avatar_url : string option;
}
type new_status = {
  1. new_status_state : status_state;
  2. new_status_target_url : string option;
  3. new_status_description : string option;
}
type new_release = {
  1. new_release_tag_name : string;
  2. new_release_target_commitish : string;
  3. new_release_name : string option;
  4. new_release_body : string option;
  5. new_release_draft : bool;
  6. new_release_prerelease : bool;
}
type new_pull_issue = {
  1. new_pull_issue_issue : int;
  2. new_pull_issue_base : string;
  3. new_pull_issue_head : string;
}
type new_pull = {
  1. new_pull_title : string;
  2. new_pull_body : string option;
  3. new_pull_base : string;
  4. new_pull_head : string;
}
type new_milestone = {
  1. new_milestone_title : string;
  2. new_milestone_state : state;
  3. new_milestone_description : string option;
  4. new_milestone_due_on : string option;
}
type new_issue_comment = {
  1. new_issue_comment_body : string;
}
type new_issue = {
  1. new_issue_title : string;
  2. new_issue_body : string option;
  3. new_issue_assignee : string option;
  4. new_issue_milestone : int option;
  5. new_issue_labels : string list;
}
type new_hook = {
  1. new_hook_config : hook_config;
  2. new_hook_events : event_type list;
  3. new_hook_active : bool;
}
type new_gist_content = {
  1. new_gist_content : string;
}
type new_gist_contents = (string * new_gist_content) list
type new_gist = {
  1. new_gist_files : new_gist_contents;
  2. new_gist_description : string;
  3. new_gist_public : bool;
}
type new_deploy_key = {
  1. new_deploy_key_title : string;
  2. new_deploy_key_key : string;
}
type milestone = {
  1. milestone_url : string;
  2. milestone_number : int;
  3. milestone_state : state;
  4. milestone_title : string;
  5. milestone_description : string;
  6. milestone_creator : user option;
  7. milestone_open_issues : int;
  8. milestone_closed_issues : int;
  9. milestone_created_at : string;
  10. milestone_due_on : string option;
}
type milestones = milestone list
type milestone_sort = [
  1. | `Due_date
  2. | `Completeness
]
type error = {
  1. error_resource : string;
  2. error_field : string option;
  3. error_code : string;
}
type message = {
  1. message_message : string;
  2. message_errors : error list;
}
type merge_request = {
  1. merge_commit_message : string option;
}
type merge = {
  1. merge_sha : string option;
  2. merge_merged : bool;
  3. merge_message : string;
}
type member_action = [
  1. | `Added
]
type linked_user = {
  1. linked_user_html_url : string;
  2. linked_user_login : string;
  3. linked_user_id : Int64.t;
  4. linked_user_url : string;
  5. linked_user_avatar_url : string option;
}
type member_event = {
  1. member_event_action : member_action;
  2. member_event_member : linked_user;
}
type label = {
  1. label_url : string;
  2. label_name : string;
  3. label_color : string;
}
type issues_action = [
  1. | `Assigned
  2. | `Unassigned
  3. | `Labeled
  4. | `Unlabeled
  5. | `Opened
  6. | `Closed
  7. | `Reopened
]
type issue_sort = [
  1. | `Created
  2. | `Updated
  3. | `Comments
]
type direction = [
  1. | `Asc
  2. | `Desc
]
type issue = {
  1. issue_url : string;
  2. issue_html_url : string;
  3. issue_number : int;
  4. issue_state : state;
  5. issue_title : string;
  6. issue_body : string;
  7. issue_user : user;
  8. issue_labels : label list;
  9. issue_comments : int;
  10. issue_created_at : string;
  11. issue_updated_at : string;
  12. issue_closed_at : string option;
  13. issue_milestone : milestone option;
  14. issue_sort : issue_sort;
  15. issue_direction : direction;
  16. issue_mentioned : string list option;
  17. issue_pull_request : pull_ref option;
}
type issues_event = {
  1. issues_event_action : issues_action;
  2. issues_event_issue : issue;
  3. issues_event_assignee : user_info option;
  4. issues_event_label : label option;
}
type issues = issue list
type issue_comment = {
  1. issue_comment_id : Int64.t;
  2. issue_comment_url : string;
  3. issue_comment_html_url : string;
  4. issue_comment_body : string;
  5. issue_comment_user : user;
  6. issue_comment_created_at : string;
  7. issue_comment_updated_at : string;
}
type issue_comments = issue_comment list
type issue_comment_action = [
  1. | `Created
]
type issue_comment_event = {
  1. issue_comment_event_action : issue_comment_action;
  2. issue_comment_event_issue : issue;
  3. issue_comment_event_comment : issue_comment;
}
type hook = {
  1. hook_url : string;
  2. hook_updated_at : string;
  3. hook_created_at : string;
  4. hook_events : event_type list;
  5. hook_active : bool;
  6. hook_config : hook_config;
  7. hook_id : Int64.t;
}
type hooks = hook list
type gollum_event = {
  1. gollum_event_pages : wiki_page list;
}
type git_ref = {
  1. git_ref_name : string;
  2. git_ref_url : string;
  3. git_ref_obj : obj;
}
type git_refs = git_ref list
type gist_fork = {
  1. gist_fork_user : user;
  2. gist_fork_url : string;
  3. gist_fork_id : Int64.t;
  4. gist_fork_created_at : string;
  5. gist_fork_updated_at : string;
}
type gist_file = {
  1. gist_file_size : int;
  2. gist_file_raw_url : string;
  3. gist_file_ty : string;
  4. gist_file_truncated : bool option;
  5. gist_file_language : string option;
  6. gist_file_content : string option;
}
type gist_files = (string * gist_file) list
type change_status = {
  1. change_status_deletions : int;
  2. change_status_additions : int;
  3. change_status_total : int;
}
type gist_commit = {
  1. gist_commit_url : string;
  2. gist_commit_version : string;
  3. gist_commit_user : user;
  4. gist_commit_change_status : change_status;
  5. gist_commit_committed_at : string;
}
type gist_commits = gist_commit list
type gist = {
  1. gist_url : string;
  2. gist_forks_url : string;
  3. gist_commits_url : string;
  4. gist_id : string;
  5. gist_description : string option;
  6. gist_public : bool;
  7. gist_owner : user;
  8. gist_user : string option;
  9. gist_files : gist_files;
  10. gist_comments : int;
  11. gist_comments_url : string;
  12. gist_html_url : string;
  13. gist_git_pull_url : string;
  14. gist_git_push_url : string;
  15. gist_created_at : string;
  16. gist_updated_at : string;
  17. gist_forks : gist_fork list option;
  18. gist_history : gist_commits option;
}
type gists = gist list
type gist_forks = gist_fork list
type fork_event = {
  1. fork_event_forkee : repository;
}
type file = {
  1. file_sha : string option;
  2. file_filename : string;
  3. file_status : string;
  4. file_additions : int;
  5. file_deletions : int;
  6. file_changes : int;
  7. file_blob_url : string;
  8. file_raw_url : string;
  9. file_patch : string option;
}
type files = file list
type delete_event = {
  1. delete_event_ref : ref;
}
type create_event = {
  1. create_event_ref : ref;
  2. create_event_master_branch : string;
  3. create_event_description : string option;
}
type commit_comment = {
  1. commit_comment_position : int option;
  2. commit_comment_line : int option;
  3. commit_comment_path : string option;
  4. commit_comment_commit_id : string;
  5. commit_comment_id : Int64.t;
  6. commit_comment_url : string;
  7. commit_comment_html_url : string;
  8. commit_comment_body : string;
  9. commit_comment_user : user;
  10. commit_comment_created_at : string;
  11. commit_comment_updated_at : string;
}
type commit_comment_event = {
  1. commit_comment_event_comment : commit_comment;
}
type event_constr = [
  1. | `CommitComment of commit_comment_event
  2. | `Create of create_event
  3. | `Delete of delete_event
  4. | `Download
  5. | `Follow
  6. | `Fork of fork_event
  7. | `ForkApply
  8. | `Gist
  9. | `Gollum of gollum_event
  10. | `IssueComment of issue_comment_event
  11. | `Issues of issues_event
  12. | `Member of member_event
  13. | `Public
  14. | `PullRequest of pull_request_event
  15. | `PullRequestReviewComment of pull_request_review_comment_event
  16. | `Push of push_event
  17. | `Release of release_event
  18. | `Status of status_event
  19. | `Watch of watch_event
]
type event = {
  1. event_public : bool;
  2. event_payload : event_constr;
  3. event_actor : user;
  4. event_org : org option;
  5. event_created_at : string;
  6. event_repo : repo;
  7. event_id : Int64.t;
}
type events = event list
type deploy_key = {
  1. deploy_key_id : Int64.t;
  2. deploy_key_key : string;
  3. deploy_key_url : string;
  4. deploy_key_title : string;
}
type deploy_keys = deploy_key list
type commits = commit list
type comment = {
  1. comment_id : Int64.t;
  2. comment_url : string;
  3. comment_html_url : string;
  4. comment_body : string;
  5. comment_user : user;
  6. comment_created_at : string;
  7. comment_updated_at : string;
}
type app = {
  1. app_name : string;
  2. app_url : string;
}
type auth = {
  1. auth_scopes : scope list;
  2. auth_token : string;
  3. auth_app : app;
  4. auth_url : string;
  5. auth_id : Int64.t;
  6. auth_note : string option;
  7. auth_note_url : string option;
}
type auths = auth list
type auth_req = {
  1. auth_req_scopes : scope list;
  2. auth_req_note : string;
  3. auth_req_note_url : string option;
  4. auth_req_client_id : string option;
  5. auth_req_client_secret : string option;
  6. auth_req_fingerprint : string option;
}