package gitlab

  1. Overview
  2. Docs
type wiki_attributes = {
  1. wiki_attributes_title : string;
  2. wiki_attributes_content : string;
  3. wiki_attributes_format : string;
  4. wiki_attributes_slug : string;
  5. wiki_attributes_url : string;
  6. wiki_attributes_action : string;
  7. wiki_attributes_diff_url : string;
}
type wiki = {
  1. wiki_web_url : string;
  2. wiki_git_ssh_url : string;
  3. wiki_git_http_url : string;
  4. wiki_path_with_namespace : string;
  5. wiki_default_branch : string;
}
type user_short = {
  1. user_short_id : int;
  2. user_short_name : string;
  3. user_short_username : string;
  4. user_short_state : string option;
  5. user_short_avatar_url : string option;
  6. user_short_web_url : string option;
  7. user_short_email : string option;
}
type project_webhook = {
  1. project_webhook_id : int;
  2. project_webhook_name : string;
  3. project_webhook_description : string option;
  4. project_webhook_web_url : string;
  5. project_webhook_avatar_url : string option;
  6. project_webhook_ci_config_path : string option;
  7. project_webhook_git_ssh_url : string;
  8. project_webhook_git_http_url : string;
  9. project_webhook_namespace : string;
  10. project_webhook_path_with_namespace : string;
  11. project_webhook_visibility_level : int;
  12. project_webhook_default_branch : string;
}
type wiki_page_webhook = {
  1. wiki_page_webhook_user : user_short;
  2. wiki_page_webhook_project : project_webhook;
  3. wiki_page_webhook_wiki : wiki;
  4. wiki_page_webhook_attributes : wiki_attributes;
}
type wiki_page = {
  1. wiki_page_format : string;
  2. wiki_page_slug : string;
  3. wiki_page_title : string;
}
type updated_by_id = {
  1. update_by_id_previous : int option;
  2. update_by_id_current : int;
}
type updated_at = {
  1. updated_at_previous : string;
  2. updated_at_current : string;
}
type state = [
  1. | `Opened
  2. | `Closed
  3. | `Locked
  4. | `Merged
]
type source = {
  1. source_format : string;
  2. source_url : string;
}
type runner_type = [
  1. | `Project
  2. | `Instance
  3. | `Group
]
type runner = {
  1. runner_id : int;
  2. runner_description : string;
  3. runner_runner_type : runner_type;
  4. runner_active : bool;
  5. runner_is_shared : bool;
  6. runner_tags : string list option;
}
type repository = {
  1. repository_name : string;
  2. repository_url : string;
  3. repository_description : string;
  4. repository_homepage : string;
  5. repository_git_http_url : string option;
  6. repository_git_ssh_url : string option;
  7. repository_visibility_level : int option;
}
type date_time = Gitlab_json.DateTime.t
type author = {
  1. author_name : string;
  2. author_email : string;
}
type commit_short_webhook = {
  1. commit_short_webhook_id : string;
  2. commit_short_webhook_message : string;
  3. commit_short_webhook_title : string;
  4. commit_short_webhook_timestamp : string;
  5. commit_short_webhook_url : string;
  6. commit_short_webhook_author : author;
}
type assets = {
  1. assets_count : int;
  2. assets_sources : source list;
}
type release_webhook = {
  1. release_webhook_id : int;
  2. release_webhook_created_at : date_time;
  3. release_webhook_description : string;
  4. release_webhook_name : string;
  5. release_webhook_released_at : string;
  6. release_webhook_tag : string;
  7. release_webhook_project : project_webhook;
  8. release_webhook_url : string;
  9. release_webhook_action : string;
  10. release_webhook_assets : assets;
  11. release_webhook_commit : commit_short_webhook;
}
type commit_webhook = {
  1. commit_webhook_id : string;
  2. commit_webhook_message : string;
  3. commit_webhook_title : string;
  4. commit_webhook_timestamp : string;
  5. commit_webhook_url : string;
  6. commit_webhook_author : author;
  7. commit_webhook_added : string list;
  8. commit_webhook_modified : string list;
  9. commit_webhook_removed : string list;
}
type commits_webhook = commit_webhook list
type push_webhook = {
  1. push_webhook_event_name : string;
  2. push_webhook_before : string;
  3. push_webhook_after : string;
  4. push_webhook_ref : string;
  5. push_webhook_checkout_sha : string;
  6. push_webhook_message : string option;
  7. push_webhook_user_id : int;
  8. push_webhook_user_name : string;
  9. push_webhook_user_username : string;
  10. push_webhook_user_email : string option;
  11. push_webhook_user_avatar : string;
  12. push_webhook_project_id : int;
  13. push_webhook_project : project_webhook;
  14. push_webhook_commits : commits_webhook;
  15. push_webhook_total_commits_count : int;
  16. push_webhook_repository : repository;
}
type artifacts_file = {
  1. artifacts_file_filename : string option;
  2. artifacts_file_size : int option;
}
type pipeline_build = {
  1. pipeline_build_id : int;
  2. pipeline_build_stage : string;
  3. pipeline_build_name : string;
  4. pipeline_build_status : string;
  5. pipeline_build_created_at : date_time;
  6. pipeline_build_started_at : date_time option;
  7. pipeline_build_finished_at : date_time option;
  8. pipeline_build_duration : float option;
  9. pipeline_build_queued_duration : float option;
  10. pipeline_build_when : string;
  11. pipeline_build_manual : bool;
  12. pipeline_build_allow_failure : bool;
  13. pipeline_build_user : user_short;
  14. pipeline_build_runner : runner option;
  15. pipeline_build_artifacts_file : artifacts_file;
  16. pipeline_build_environment : string option;
}
type pipeline_attributes = {
  1. pipeline_attributes_id : int;
  2. pipeline_attributes_ref : string;
  3. pipeline_attributes_tag : bool;
  4. pipeline_attributes_sha : string;
  5. pipeline_attributes_before_sha : string;
  6. pipeline_attributes_source : string;
  7. pipeline_attributes_status : string;
  8. pipeline_attributes_detailed_status : string;
  9. pipeline_attributes_stages : string list;
  10. pipeline_attributes_created_at : date_time;
  11. pipeline_attributes_finished_at : date_time;
  12. pipeline_attributes_duration : int;
  13. pipeline_attributes_queued_duration : int;
  14. pipeline_attributes_variables : string list;
}
type merge_status = [
  1. | `Unchecked
  2. | `Checking
  3. | `CanBeMerged
  4. | `CannotBeMerged
  5. | `CannotBeMergedRecheck
  6. | `Preparing
]
type merge_request_short = {
  1. merge_request_short_id : int;
  2. merge_request_short_iid : int;
  3. merge_request_short_title : string;
  4. merge_request_short_source_branch : string;
  5. merge_request_short_source_project_id : int;
  6. merge_request_short_target_branch : string;
  7. merge_request_short_target_project_id : int;
  8. merge_request_short_state : state;
  9. merge_request_short_merge_status : merge_status;
  10. merge_request_short_url : string;
}
type pipeline_webhook = {
  1. pipeline_webhook_attributes : pipeline_attributes;
  2. pipeline_webhook_merge_request : merge_request_short;
  3. pipeline_webhook_user : user_short;
  4. pipeline_webhook_project : project_webhook;
  5. pipeline_webhook_commit : commit_short_webhook;
  6. pipeline_webhook_builds : pipeline_build list;
}
type date = Gitlab_json.Date.t
type note_issue = {
  1. note_issue_author_id : int;
  2. note_issue_closed_at : date_time option;
  3. note_issue_confidential : bool;
  4. note_issue_created_at : date_time;
  5. note_issue_description : string;
  6. note_issue_discussion_locked : string option;
  7. note_issue_due_date : date option;
  8. note_issue_id : int;
  9. note_issue_iid : int;
  10. note_issue_last_edited_at : date_time option;
  11. note_issue_last_edited_by_id : int option;
  12. note_issue_milestone_id : int option;
  13. note_issue_moved_to_id : string option;
  14. note_issue_duplicated_to_id : int option;
  15. note_issue_project_id : int;
  16. note_issue_relative_position : int;
  17. note_issue_state_id : int;
  18. note_issue_time_estimate : int;
  19. note_issue_title : string;
  20. note_issue_updated_at : date_time;
  21. note_issue_updated_by_id : string option;
  22. note_issue_weight : string option;
  23. note_issue_url : string;
  24. note_issue_total_time_spent : int;
  25. note_issue_time_change : int;
  26. note_issue_human_total_time_spent : int option;
  27. note_issue_human_time_change : int option;
  28. note_issue_human_time_estimate : int option;
  29. note_issue_assignee_ids : int list;
  30. note_issue_assignee_id : int;
  31. note_issue_labels : string list;
  32. note_issue_state : state;
  33. note_issue_severity : string;
}
type note_attributes = {
  1. note_attrbutes_attachment : string option;
  2. note_attrbutes_author_id : int;
  3. note_attrbutes_change_position : string option;
  4. note_attrbutes_commit_id : string option;
  5. note_attrbutes_created_at : date_time;
  6. note_attrbutes_discussion_id : string;
  7. note_attrbutes_id : int;
  8. note_attrbutes_line_code : int option;
  9. note_attrbutes_note : string;
  10. note_attrbutes_noteable_id : int;
  11. note_attrbutes_noteable_type : string;
  12. note_attrbutes_original_position : string option;
  13. note_attrbutes_position : string option;
  14. note_attrbutes_project_id : int;
  15. note_attrbutes_resolved_at : date_time option;
  16. note_attrbutes_resolved_by_id : string option;
  17. note_attrbutes_resolved_by_push : string option;
  18. note_attrbutes_st_diff : string option;
  19. note_attrbutes_system : bool;
  20. note_attrbutes_note_attribute_type : string option;
  21. note_attrbutes_updated_at : date_time;
  22. note_attrbutes_updated_by_id : string option;
  23. note_attrbutes_description : string;
  24. note_attrbutes_url : string;
}
type note_webhook = {
  1. note_webhook_event_type : string;
  2. note_webhook_user : user_short;
  3. note_webhook_project : project_webhook;
  4. note_webhook_attributes : note_attributes;
  5. note_webhook_repository : repository;
  6. note_webhook_project_id : int;
  7. note_webhook_issue : note_issue;
}
type assignees = {
  1. assignees_previous : user_short list;
  2. assignees_current : user_short list;
}
type merge_request_changes = {
  1. merge_request_changes_updated_by_id : updated_by_id option;
  2. merge_request_changes_updated_at : updated_at option;
  3. merge_request_changes_assignees : assignees option;
}
type merge_params = {
  1. merge_params_force_remove_source_branch : string;
}
type merge_request_attributes = {
  1. merge_request_attributes_action : string option;
  2. merge_request_attributes_assignee_id : int option;
  3. merge_request_attributes_assignee_ids : int list;
  4. merge_request_attributes_author_id : int;
  5. merge_request_attributes_created_at : date_time;
  6. merge_request_attributes_description : string;
  7. merge_request_attributes_head_pipeline_id : int option;
  8. merge_request_attributes_id : int;
  9. merge_request_attributes_iid : int;
  10. merge_request_attributes_last_edited_at : date_time option;
  11. merge_request_attributes_last_edited_by_id : int option;
  12. merge_request_attributes_last_commit : commit_short_webhook;
  13. merge_request_attributes_oldrev : string option;
  14. merge_request_attributes_merge_commit_sha : string option;
  15. merge_request_attributes_merge_error : string option;
  16. merge_request_attributes_merge_params : merge_params;
  17. merge_request_attributes_merge_status : merge_status;
  18. merge_request_attributes_merge_user_id : int option;
  19. merge_request_attributes_merge_when_pipeline_succeeds : bool;
  20. merge_request_attributes_milestone_id : int option;
  21. merge_request_attributes_source : project_webhook;
  22. merge_request_attributes_source_branch : string;
  23. merge_request_attributes_source_project_id : int;
  24. merge_request_attributes_state_id : int;
  25. merge_request_attributes_state : string;
  26. merge_request_attributes_target : project_webhook;
  27. merge_request_attributes_target_branch : string;
  28. merge_request_attributes_target_project_id : int;
  29. merge_request_attributes_title : string;
  30. merge_request_attributes_updated_at : date_time;
  31. merge_request_attributes_updated_by_id : int option;
  32. merge_request_attributes_url : string;
  33. merge_request_attributes_work_in_progress : bool;
  34. merge_request_attributes_total_time_spent : int;
  35. merge_request_attributes_time_change : int;
  36. merge_request_attributes_time_estimate : int;
  37. merge_request_attributes_human_total_time_spent : int option;
  38. merge_request_attributes_human_time_change : int option;
  39. merge_request_attributes_human_time_estimate : int option;
}
type label = {
  1. label_id : int;
  2. label_title : string;
  3. label_color : string;
  4. label_project_id : int;
  5. label_created_at : date_time;
  6. label_updated_at : date_time;
  7. label_template : bool;
  8. label_description : string option;
  9. label_label_type : string;
  10. label_group_id : int option;
}
type merge_request_webhook = {
  1. merge_request_webhook_event_type : string;
  2. merge_request_webhook_user : user_short;
  3. merge_request_webhook_project : project_webhook;
  4. merge_request_webhook_attributes : merge_request_attributes;
  5. merge_request_webhook_repository : repository;
  6. merge_request_webhook_labels : label list;
  7. merge_request_webhook_changes : merge_request_changes option;
  8. merge_request_webhook_assignees : user_short list option;
}
type job_webhook_commit = {
  1. job_webhook_commit_id : int;
  2. job_webhook_commit_sha : string;
  3. job_webhook_commit_message : string;
  4. job_webhook_commit_author_name : string;
  5. job_webhook_commit_author_email : string;
  6. job_webhook_commit_author_url : string;
  7. job_webhook_commit_status : string;
  8. job_webhook_commit_duration : float option;
  9. job_webhook_commit_started_at : date_time;
  10. job_webhook_commit_finished_at : date_time option;
}
type job_webhook = {
  1. job_webhook_ref : string;
  2. job_webhook_tag : bool;
  3. job_webhook_before_sha : string;
  4. job_webhook_sha : string;
  5. job_webhook_build_id : int;
  6. job_webhook_build_name : string;
  7. job_webhook_build_stage : string;
  8. job_webhook_build_status : string;
  9. job_webhook_build_created_at : date_time;
  10. job_webhook_build_started_at : date_time;
  11. job_webhook_build_finished_at : date_time;
  12. job_webhook_build_duration : float;
  13. job_webhook_build_queued_duration : float;
  14. job_webhook_build_allow_failure : bool;
  15. job_webhook_build_failure_reason : string;
  16. job_webhook_pipeline_id : int;
  17. job_webhook_runner : runner;
  18. job_webhook_project_id : int;
  19. job_webhook_project_name : string;
  20. job_webhook_user : user_short;
  21. job_webhook_commit : job_webhook_commit;
  22. job_webhook_repository : repository;
  23. job_webhook_environment : string option;
}
type issue_attributes = {
  1. issue_attributes_assignee_id : int option;
  2. issue_attributes_assignee_ids : int list;
  3. issue_attributes_author_id : int;
  4. issue_attributes_closed_at : date_time option;
  5. issue_attributes_confidential : bool;
  6. issue_attributes_created_at : date_time;
  7. issue_attributes_description : string;
  8. issue_attributes_discussion_locked : string option;
  9. issue_attributes_due_date : string option;
  10. issue_attributes_duplicated_to_id : string option;
  11. issue_attributes_human_time_change : string option;
  12. issue_attributes_human_time_estimate : string option;
  13. issue_attributes_human_total_time_spent : string option;
  14. issue_attributes_id : int;
  15. issue_attributes_iid : int;
  16. issue_attributes_labels : string list;
  17. issue_attributes_last_edited_at : date_time option;
  18. issue_attributes_last_edited_by_id : int option;
  19. issue_attributes_milestone_id : int option;
  20. issue_attributes_moved_to_id : int option;
  21. issue_attributes_project_id : int;
  22. issue_attributes_relative_position : int;
  23. issue_attributes_severity : string;
  24. issue_attributes_state : string;
  25. issue_attributes_state_id : int;
  26. issue_attributes_time_change : int;
  27. issue_attributes_time_estimate : int;
  28. issue_attributes_title : string;
  29. issue_attributes_total_time_spent : int;
  30. issue_attributes_updated_at : date_time;
  31. issue_attributes_updated_by_id : int option;
  32. issue_attributes_url : string;
  33. issue_attributes_weight : int option;
}
type issue_webhook = {
  1. issue_webhook_event_type : string;
  2. issue_webhook_user : user_short;
  3. issue_webhook_project : project_webhook;
  4. issue_webhook_attributes : issue_attributes;
  5. issue_webhook_labels : label list;
  6. issue_webhook_repository : repository;
  7. issue_webhook_assignees : user_short list;
}
type feature_flag_attributes = {
  1. id : int;
  2. name : string;
  3. description : string;
  4. active : bool;
}
type feature_flag_webhook = {
  1. project : project_webhook;
  2. user : user_short;
  3. user_url : string;
  4. object_attributes : feature_flag_attributes;
}
type deployment_webhook = {
  1. status : string;
  2. status_changed_at : date_time;
  3. deployment_id : int;
  4. deployable_id : int;
  5. deployable_url : string;
  6. environment : string;
  7. project : project_webhook;
  8. short_sha : string;
  9. user : user_short;
  10. user_url : string;
  11. commit_url : string;
  12. commit_title : string;
}
type webhook = [
  1. | `Push of push_webhook
  2. | `MergeRequest of merge_request_webhook
  3. | `Issue of issue_webhook
  4. | `Note of note_webhook
  5. | `WikiPage of wiki_page_webhook
  6. | `Release of release_webhook
  7. | `Job of job_webhook
  8. | `Pipeline of pipeline_webhook
  9. | `Deployment of deployment_webhook
  10. | `FeatureFlag of feature_flag_webhook
]
type webhooks = webhook list
type visibility = [
  1. | `Private
  2. | `Public
  3. | `Internal
]
type users = user_short list
type user = {
  1. user_id : Stdlib.Int64.t;
  2. user_username : string;
  3. user_name : string;
  4. user_state : string;
  5. user_avatar_url : string option;
  6. user_web_url : string;
  7. user_created_at : date_time;
  8. user_bio : string option;
  9. user_bio_html : string option;
  10. user_location : string option;
  11. user_public_email : string option;
  12. user_skype : string option;
  13. user_linkedin : string option;
  14. user_twitter : string option;
  15. user_website_url : string option;
  16. user_organization : string option;
  17. user_job_title : string option;
  18. user_pronouns : string option;
  19. user_bot : bool;
  20. user_work_information : string option;
  21. user_followers : int;
  22. user_following : int;
}
type time_stats = {
  1. time_stats_time_estimate : int;
  2. time_stats_total_time_spent : int;
  3. time_stats_human_time_estimate : string option;
  4. time_stats_human_total_time_spent : string option;
}
type task_completion_status = {
  1. time_completion_status_count : int;
  2. time_completion_status_completed_count : int;
}
type status_check_status = [
  1. | `Approved
  2. | `Pending
]
type status_check = {
  1. status_check_id : int;
  2. status_check_name : string;
  3. status_check_external_url : string;
  4. status_check_status : status_check_status;
}
type status_checks = status_check list
type statistics = {
  1. statistics_commit_count : int;
  2. statistics_storage_size : int;
  3. statistics_repository_size : int;
  4. statistics_wiki_size : int;
  5. statistics_lfs_objects_size : int;
  6. statistics_job_artifacts_size : int;
  7. statistics_packages_size : int;
  8. statistics_snippets_size : int;
}
type sort = [
  1. | `Asc
  2. | `Desc
]
type pipeline_status = [
  1. | `Created
  2. | `WaitingForResource
  3. | `Preparing
  4. | `Pending
  5. | `Running
  6. | `Success
  7. | `Failed
  8. | `Canceled
  9. | `Skipped
  10. | `Manual
  11. | `Scheduled
]
type pipeline_source = [
  1. | `Push
  2. | `Web
  3. | `Trigger
  4. | `Schedule
  5. | `Api
  6. | `External
  7. | `Pipeline
  8. | `Chat
  9. | `Webide
  10. | `Merge_Request_Event
  11. | `External_Pull_Request_Event
  12. | `Parent_Pipeline
  13. | `Ondemand_Dast_Scan
  14. | `Ondemand_Dast_Validation
]
type single_pipeline = {
  1. id : int;
  2. iid : int;
  3. project_id : int;
  4. status : pipeline_status;
  5. source : pipeline_source;
  6. ref : string;
  7. sha : string;
  8. web_url : string;
  9. started_at : date_time option;
  10. created_at : date_time option;
  11. updated_at : date_time option;
  12. finished_at : date_time option;
}
type scope = [
  1. | `Api
  2. | `ReadApi
  3. | `ReadUser
  4. | `ReadRegistry
  5. | `WriteRegistry
  6. | `ReadRepository
  7. | `WriteRepository
]
type runners = runner list
type references = {
  1. references_short : string;
  2. references_relative : string;
  3. references_full : string;
}
type push_data = {
  1. push_data_commit_count : int;
  2. push_data_action : string;
  3. push_data_ref_type : string;
  4. push_data_commit_from : string option;
  5. push_data_commit_to : string option;
  6. push_data_ref : string option;
  7. push_data_commit_title : string option;
  8. push_data_ref_count : int option;
}
type namespace = {
  1. namespace_id : int;
  2. namespace_name : string;
  3. namespace_path : string;
  4. namespace_kind : string;
  5. namespace_full_path : string;
  6. namespace_parent_id : int option;
  7. namespace_avatar_url : string option;
  8. namespace_web_url : string;
}
type project_short = {
  1. project_short_id : int;
  2. project_short_name : string;
  3. project_short_description : string;
  4. project_short_name_with_namespace : string;
  5. project_short_path : string;
  6. project_short_path_with_namespace : string;
  7. project_short_created_at : date_time;
  8. project_short_default_branch : string;
  9. project_short_tag_list : string list option;
  10. project_short_topics : string list option;
  11. project_short_ssh_url_to_repo : string;
  12. project_short_http_url_to_repo : string;
  13. project_short_web_url : string;
  14. project_short_readme_url : string option;
  15. project_short_avatar_url : string option;
  16. project_short_forks_count : int;
  17. project_short_star_count : int;
  18. project_short_last_activity_at : date_time;
  19. project_short_namespace : namespace;
}
type projects_short = project_short list
type project_access = {
  1. project_access_access_level : int;
  2. project_access_notification_level : int;
}
type permissions = {
  1. permissions_group_access : string option;
  2. permissions_project_access : project_access;
}
type merge_method = [
  1. | `Merge
  2. | `RebaseMerge
  3. | `FastForward
]
type container_expiration_policy = {
  1. container_expiration_policy_cadence : string;
  2. container_expiration_policy_enabled : bool;
  3. container_expiration_policy_keep_n : int;
  4. container_expiration_policy_name_regex : string;
  5. container_expiration_policy_name_regex_keep : string option;
  6. container_expiration_policy_next_run_at : date_time;
  7. container_expiration_policy_older_than : string;
}
type project_full = {
  1. project_full_id : int;
  2. project_full_name : string;
  3. project_full_description : string;
  4. project_full_name_with_namespace : string;
  5. project_full_created_at : date_time;
  6. project_full_default_branch : string;
  7. project_full_tag_list : string list option;
  8. project_full_topics : string list option;
  9. project_full_ssh_url_to_repo : string;
  10. project_full_http_url_to_repo : string;
  11. project_full_web_url : string;
  12. project_full_readme_url : string option;
  13. project_full_avatar_url : string option;
  14. project_full_forks_count : int;
  15. project_full_star_count : int;
  16. project_full_last_activity_at : date_time;
  17. project_full_namespace : namespace;
  18. project_full_runners_token : string option;
  19. project_full_statistics : statistics option;
  20. project_full_allow_merge_on_skipped_pipeline : bool option;
  21. project_full_analytics_access_level : string;
  22. project_full_approvals_before_merge : int;
  23. project_full_archived : bool;
  24. project_full_auto_cancel_pending_pipelines : string;
  25. project_full_auto_devops_deploy_strategy : string;
  26. project_full_auto_devops_enabled : bool;
  27. project_full_autoclose_referenced_issues : bool;
  28. project_full_build_coverage_regex : string option;
  29. project_full_build_timeout : int;
  30. project_full_builds_access_level : string;
  31. project_full_can_create_merge_request_in : bool;
  32. project_full_ci_config_path : string option;
  33. project_full_ci_default_git_depth : int option;
  34. project_full_ci_forward_deployment_enabled : bool option;
  35. project_full_ci_job_token_scope_enabled : bool;
  36. project_full_compliance_frameworks : string list;
  37. project_full_container_expiration_policy : container_expiration_policy option;
  38. project_full_container_registry_access_level : string;
  39. project_full_container_registry_enabled : bool;
  40. project_full_container_registry_image_prefix : string;
  41. project_full_creator_id : int;
  42. project_full_emails_disabled : string option;
  43. project_full_empty_repo : bool;
  44. project_full_external_authorization_classification_label : string;
  45. project_full_forked_from_project : project_short option;
  46. project_full_forking_access_level : string;
  47. project_full_import_status : string;
  48. project_full_issues_access_level : string;
  49. project_full_issues_enabled : bool;
  50. project_full_issues_template : string option;
  51. project_full_jobs_enabled : bool;
  52. project_full_keep_latest_artifact : bool;
  53. project_full_lfs_enabled : bool;
  54. project_full_marked_for_deletion_at : date option;
  55. project_full_marked_for_deletion_on : date option;
  56. project_full_merge_method : merge_method;
  57. project_full_merge_pipelines_enabled : bool;
  58. project_full_merge_requests_access_level : string;
  59. project_full_merge_requests_enabled : bool;
  60. project_full_merge_requests_template : string option;
  61. project_full_merge_trains_enabled : bool;
  62. project_full_mirror : bool;
  63. project_full_only_allow_merge_if_all_discussions_are_resolved : bool option;
  64. project_full_only_allow_merge_if_pipeline_succeeds : bool;
  65. project_full_open_issues_count : int;
  66. project_full_operations_access_level : string;
  67. project_full_owner : user_short;
  68. project_full_packages_enabled : bool option;
  69. project_full_pages_access_level : string;
  70. project_full_path : string;
  71. project_full_path_with_namespace : string;
  72. project_full_permissions : permissions;
  73. project_full_public_jobs : bool;
  74. project_full_remove_source_branch_after_merge : bool option;
  75. project_full_repository_access_level : string;
  76. project_full_request_access_enabled : bool;
  77. project_full_requirements_enabled : bool;
  78. project_full_resolve_outdated_diff_discussions : bool option;
  79. project_full_restrict_user_defined_variables : bool option;
  80. project_full_security_and_compliance_enabled : bool;
  81. project_full_service_desk_address : string option;
  82. project_full_service_desk_enabled : bool option;
  83. project_full_shared_runners_enabled : bool;
  84. project_full_shared_with_groups : string list;
  85. project_full_snippets_enabled : bool;
  86. project_full_snippets_access_level : string;
  87. project_full_squash_option : string;
  88. project_full_suggestion_commit_message : string option;
  89. project_full_visibility : visibility;
  90. project_full_wiki_access_level : string;
  91. project_full_wiki_enabled : bool;
}
type projects_full = project_full list
type project_shorts = project_short list
type project_hook = {
  1. id : int;
  2. url : string;
  3. created_at : date_time;
  4. push_events : bool;
  5. tag_push_events : bool;
  6. merge_requests_events : bool;
  7. repository_update_events : bool;
  8. enable_ssl_verification : bool;
  9. project_id : int;
  10. issues_events : bool;
  11. confidential_issues_events : bool;
  12. note_events : bool;
  13. pipeline_events : bool;
  14. wiki_page_events : bool;
  15. deployment_events : bool;
  16. job_events : bool;
  17. releases_events : bool;
  18. confidential_note_events : bool option;
  19. push_events_branch_filter : string option;
}
type project_hooks = project_hook list
type project_access_token = {
  1. project_access_token_id : int;
  2. project_access_token_name : string;
  3. project_access_token_revoked : bool;
  4. project_access_token_created_at : date_time;
  5. project_access_token_scopes : scope list;
  6. project_access_token_user_id : int;
  7. project_access_token_active : bool;
  8. project_access_token_expires_at : string option;
}
type project_access_tokens = project_access_token list
type pipeline = {
  1. id : int;
  2. iid : int;
  3. project_id : int;
  4. status : pipeline_status;
  5. source : pipeline_source;
  6. ref : string;
  7. sha : string;
  8. web_url : string;
  9. created_at : date_time;
  10. updated_at : date_time;
}
type pipelines = pipeline list
type pipeline_job_status = [
  1. | `Created
  2. | `Pending
  3. | `Running
  4. | `Failed
  5. | `Success
  6. | `Canceled
  7. | `Skipped
  8. | `Manual
]
type pipeline_job_failure_reason = [
  1. | `Script_failure
  2. | `Runner_system_failure
  3. | `Job_execution_timeout
  4. | `Stuck_or_timeout_failure
  5. | `Unknown_failure
]
type pipeline_job = {
  1. id : int;
  2. name : string;
  3. status : pipeline_job_status;
  4. failure_reason : pipeline_job_failure_reason option;
  5. ref : string;
  6. web_url : string;
  7. created_at : date_time option;
  8. started_at : date_time option;
  9. finished_at : date_time option;
}
type pipeline_jobs = pipeline_job list
type pipeline_job_scope = [
  1. | `Created
  2. | `Pending
  3. | `Running
  4. | `Failed
  5. | `Success
  6. | `Canceled
  7. | `Skipped
  8. | `Manual
]
type personal_access_token = {
  1. personal_access_token_id : int;
  2. personal_access_token_name : string;
  3. personal_access_token_revoked : bool;
  4. personal_access_token_created_at : date_time;
  5. personal_access_token_scopes : scope list;
  6. personal_access_token_user_id : int;
  7. personal_access_token_active : bool;
  8. personal_access_token_expires_at : string option;
}
type personal_access_tokens = personal_access_token list
type owner = {
  1. owner_id : int;
  2. owner_name : string;
  3. owner_created_at : date_time;
}
type noteable_type = [
  1. | `MergeRequest
  2. | `Issue
]
type command_changes = {
  1. promote_to_epic : bool option;
}
type note = {
  1. note_id : int;
  2. note_note_type : string option;
  3. note_body : string;
  4. note_attachment : string option;
  5. note_author : user_short;
  6. note_created_at : date_time;
  7. note_updated_at : date_time;
  8. note_system : bool;
  9. note_noteable_id : int;
  10. note_noteable_type : noteable_type;
  11. note_resolvable : bool;
  12. note_confidential : bool;
  13. note_noteable_iid : int;
  14. note_commands_changes : command_changes option;
}
type notes = note list
type new_token = {
  1. name : string;
  2. expires_at : string;
  3. scopes : scope list;
}
type commit_status_status = [
  1. | `Pending
  2. | `Running
  3. | `Success
  4. | `Failed
  5. | `Cancelled
]
type new_status = {
  1. state : commit_status_status;
  2. ref_name : string option;
  3. name : string option;
  4. target_url : string option;
  5. description : string option;
  6. coverage : int option;
  7. pipeline_id : int option;
}
type new_milestone = {
  1. title : string;
  2. description : string option;
  3. due_date : string option;
  4. start_date : string option;
}
type line_type = [
  1. | `New
  2. | `Old
]
type new_comment = {
  1. note : string;
  2. path : string option;
  3. line : int option;
  4. line_type : line_type option;
}
type milestone_state = [
  1. | `Active
  2. | `Closed
]
type milestone = {
  1. milestone_id : int;
  2. milestone_iid : int;
  3. milestone_project_id : int option;
  4. milestone_group_id : int option;
  5. milestone_title : string;
  6. milestone_description : string;
  7. milestone_state : milestone_state;
  8. milestone_created_at : date_time;
  9. milestone_updated_at : date_time;
  10. milestone_due_date : date option;
  11. milestone_start_date : date option;
  12. milestone_expired : bool option;
  13. milestone_web_url : string;
}
type milestones = milestone list
type error = {
  1. error_resource : string;
  2. error_field : string option;
  3. error_code : string;
  4. error_message : string option;
}
type message = {
  1. message_message : string;
  2. message_errors : error list;
}
type merge_request = {
  1. merge_request_id : int;
  2. merge_request_iid : int;
  3. merge_request_project_id : int;
  4. merge_request_title : string;
  5. merge_request_description : string;
  6. merge_request_state : state;
  7. merge_request_merged_by : user_short option;
  8. merge_request_merged_at : date_time option;
  9. merge_request_closed_by : user_short option;
  10. merge_request_closed_at : date_time option;
  11. merge_request_created_at : date_time;
  12. merge_request_updated_at : date_time;
  13. merge_request_target_branch : string;
  14. merge_request_source_branch : string;
  15. merge_request_upvotes : int;
  16. merge_request_downvotes : int;
  17. merge_request_author : user_short;
  18. merge_request_assignee : user_short option;
  19. merge_request_approvals_before_merge : string option;
  20. merge_request_allow_collaboration : bool option;
  21. merge_request_allow_maintainer_to_push : bool option;
  22. merge_request_blocking_discussions_resolved : bool;
  23. merge_request_has_conflicts : bool;
  24. merge_request_assignees : user_short list;
  25. merge_request_reviewers : user_short list;
  26. merge_request_source_project_id : int option;
  27. merge_request_target_project_id : int;
  28. merge_request_labels : string list;
  29. merge_request_draft : bool;
  30. merge_request_work_in_progress : bool;
  31. merge_request_milestone : milestone option;
  32. merge_request_merge_when_pipeline_succeeds : bool;
  33. merge_request_merge_status : merge_status;
  34. merge_request_sha : string;
  35. merge_request_merge_commit_sha : string option;
  36. merge_request_squash_commit_sha : string option;
  37. merge_request_user_notes_count : int;
  38. merge_request_discussion_locked : bool option;
  39. merge_request_should_remove_source_branch : bool option;
  40. merge_request_force_remove_source_branch : bool option;
  41. merge_request_web_url : string;
  42. merge_request_reference : string;
  43. merge_request_references : references;
  44. merge_request_time_stats : time_stats;
  45. merge_request_squash : bool;
  46. merge_request_task_completion_status : task_completion_status option;
}
type merge_requests = merge_request list
type merge_request_scope = [
  1. | `CreatedByMe
  2. | `AssignedToMe
  3. | `All
]
type labels = {
  1. labels_previous : label list;
  2. labels_current : label list;
}
type issue_type = [
  1. | `Issue
  2. | `Incident
  3. | `TestCase
]
type issue = {
  1. issue_id : int;
  2. issue_iid : int;
  3. issue_project_id : int;
  4. issue_title : string;
  5. issue_description : string;
  6. issue_state : state;
  7. issue_created_at : date_time;
  8. issue_updated_at : date_time;
  9. issue_closed_at : date_time option;
  10. issue_closed_by : user_short option;
  11. issue_labels : string list;
  12. issue_milestone : string option;
  13. issue_assignees : user_short list;
  14. issue_author : user_short;
  15. issue_type_ : string;
  16. issue_assignee : user_short option;
  17. issue_user_notes_count : int;
  18. issue_merge_requests_count : int;
  19. issue_upvotes : int;
  20. issue_downvotes : int;
  21. issue_due_date : date option;
  22. issue_confidential : bool;
  23. issue_discussion_locked : string option;
  24. issue_issue_type : issue_type;
  25. issue_web_url : string;
  26. issue_time_stats : time_stats;
  27. issue_task_completion_status : task_completion_status;
  28. issue_weight : int option;
  29. issue_blocking_issues_count : int;
  30. issue_has_tasks : bool;
  31. issue_references : references;
  32. issue_severity : string;
  33. issue_moved_to_id : string option;
  34. issue_service_desk_reply_to : string option;
  35. issue_health_status : string option;
}
type issues = issue list
type branch = {
  1. branch_id : int;
  2. branch_project_id : int;
  3. branch_name : string;
  4. branch_created_at : date_time;
  5. branch_updated_at : date_time;
  6. branch_code_owner_approval_required : bool;
}
type external_status_check = {
  1. external_status_check_id : int;
  2. external_status_check_name : string;
  3. external_status_check_project_id : int;
  4. external_status_check_external_url : string;
  5. external_status_check_protected_branches : branch list;
}
type external_status_checks = external_status_check list
type event_target_type = [
  1. | `Issue
  2. | `Milestone
  3. | `MergeRequest
  4. | `Note
  5. | `Project
  6. | `Snippet
  7. | `User
  8. | `WikiPage
  9. | `DiffNote
  10. | `DiscussionNote
]
type event_action_name = [
  1. | `Accepted
  2. | `Approved
  3. | `Closed
  4. | `CommentedOn
  5. | `Created
  6. | `Destroyed
  7. | `Deleted
  8. | `Expired
  9. | `Joined
  10. | `Left
  11. | `Merged
  12. | `Opened
  13. | `Pushed
  14. | `PushedTo
  15. | `PushedNew
  16. | `Reopened
  17. | `Updated
]
type event = {
  1. event_id : int;
  2. event_project_id : int;
  3. event_action_name : event_action_name option;
  4. event_target_id : int option;
  5. event_target_iid : int option;
  6. event_target_type : event_target_type option;
  7. event_author_id : int;
  8. event_target_title : string option;
  9. event_created_at : date_time;
  10. event_author : user_short option;
  11. event_push_data : push_data option;
  12. event_note : note option;
  13. event_wiki_page : wiki_page option;
  14. event_author_username : string;
}
type events = event list
type error_detail = {
  1. message : string;
  2. detail : string option;
}
type create_project_hook = {
  1. id : int option;
  2. url : string;
  3. confidential_issues_events : bool option;
  4. confidential_note_events : bool option;
  5. deployment_events : bool option;
  6. enable_ssl_verification : bool option;
  7. issues_events : bool option;
  8. job_events : bool option;
  9. merge_requests_events : bool option;
  10. note_events : bool option;
  11. pipeline_events : bool option;
  12. push_events_branch_filter : string option;
  13. push_events : bool option;
  14. releases_events : bool option;
  15. tag_push_events : bool option;
  16. repository_update_events : bool option;
  17. wiki_page_events : bool option;
  18. token : string option;
}
type create_note = {
  1. create_note_body : string;
  2. create_note_created_at : date_time option;
  3. create_note_merge_request_diff_sha : string option;
}
type create_issue = {
  1. create_issue_assignee_id : int option;
  2. create_issue_assignee_ids : int option;
  3. create_issue_confidential : bool option;
  4. create_issue_created_at : date_time option;
  5. create_issue_description : string option;
  6. create_issue_discussion_to_resolve : string option;
  7. create_issue_due_date : date option;
  8. create_issue_epic_id : int option;
  9. create_issue_epic_iid : int option;
  10. create_issue_id : int;
  11. create_issue_iid : int option;
  12. create_issue_issue_type : issue_type option;
  13. create_issue_labels : string list option;
  14. create_issue_merge_request_to_resolve_discussions_of : int option;
  15. create_issue_milestone_id : int option;
  16. create_issue_title : string;
  17. create_issue_weight : int option;
}
type commit = {
  1. commit_id : string;
  2. commit_short_id : string;
  3. commit_title : string;
  4. commit_author_name : string;
  5. commit_author_email : string;
  6. commit_authored_date : string;
  7. commit_committed_date : date_time;
  8. commit_committer_email : string;
  9. commit_committer_name : string;
  10. commit_created_at : date_time;
  11. commit_message : string;
  12. commit_parent_ids : string list option;
  13. commit_web_url : string;
}
type commits = commit list
type commit_status = {
  1. commit_status_id : int;
  2. commit_status_sha : string;
  3. commit_status_ref : string;
  4. commit_status_status : string;
  5. commit_status_name : string;
  6. commit_status_target_url : string option;
  7. commit_status_description : string option;
  8. commit_status_created_at : date_time;
  9. commit_status_started_at : date_time option;
  10. commit_status_finished_at : date_time option;
  11. commit_status_allow_failure : bool;
  12. commit_status_coverage : string option;
  13. commit_status_author : user_short;
}
type commit_statuses = commit_status list
type commit_comment = {
  1. commit_comment_note : string;
  2. commit_comment_author : user_short;
}
type commit_comments = commit_comment list
type commit_commented = {
  1. commit_commented_author : user_short;
  2. commit_commented_created_at : date_time;
  3. commit_commented_line_type : line_type;
  4. commit_commented_path : string;
  5. commit_commented_line : int;
  6. commit_commented_note : string;
}
type change = {
  1. change_old_path : string;
  2. change_new_path : string;
  3. change_a_mode : string;
  4. change_b_mode : string;
  5. change_diff : string;
  6. change_new_file : bool;
  7. change_renamed_file : bool;
  8. change_deleted_file : bool;
}
type changes = {
  1. changes_id : int;
  2. changes_iid : int;
  3. changes_project_id : int;
  4. changes_title : string;
  5. changes_state : string;
  6. changes_created_at : date_time;
  7. changes_updated_at : date_time;
  8. changes_target_branch : string;
  9. changes_source_branch : string;
  10. changes_upvotes : int;
  11. changes_downvotes : int;
  12. changes_author : user_short;
  13. changes_assignee : user_short option;
  14. changes_assignees : user_short list option;
  15. changes_reviewers : user_short list;
  16. changes_source_project_id : int;
  17. changes_target_project_id : int;
  18. changes_labels : string list;
  19. changes_description : string;
  20. changes_draft : bool;
  21. changes_work_in_progress : bool;
  22. changes_milestone : milestone option;
  23. changes_merge_when_pipeline_succeeds : bool;
  24. changes_merge_status : merge_status;
  25. changes_subscribed : bool;
  26. changes_sha : string;
  27. changes_merge_commit_sha : string option;
  28. changes_squash_commit_sha : string option;
  29. changes_user_notes_count : int;
  30. changes_changes_count : int;
  31. changes_should_remove_source_branch : bool;
  32. changes_force_remove_source_branch : bool;
  33. changes_squash : bool;
  34. changes_web_url : string;
  35. changes_references : references;
  36. changes_discussion_locked : bool;
  37. changes_time_stats : time_stats;
  38. changes_task_completion_status : task_completion_status;
  39. changes_changes : change list;
  40. changes_overflow : bool;
}
type branch_full = {
  1. branch_full_name : string;
  2. branch_full_merged : bool;
  3. branch_full_protected : bool;
  4. branch_full_developers_can_push : bool;
  5. branch_full_developers_can_merge : bool;
  6. branch_full_can_push : bool;
  7. branch_full_default : bool;
  8. branch_full_web_url : string;
  9. branch_full_commit : commit;
}
type branches_full = branch_full list
type auth = {
  1. access_token : string;
  2. token_type : string;
  3. expires_in : int;
  4. refresh_token : string;
  5. created_at : int;
}
OCaml

Innovation. Community. Security.