Gitlab_t
type project_webhook = {
project_webhook_id : int;
project_webhook_name : string;
project_webhook_description : string option;
project_webhook_web_url : string;
project_webhook_avatar_url : string option;
project_webhook_ci_config_path : string option;
project_webhook_git_ssh_url : string;
project_webhook_git_http_url : string;
project_webhook_namespace : string;
project_webhook_path_with_namespace : string;
project_webhook_visibility_level : int;
project_webhook_default_branch : string;
}
type wiki_page_webhook = {
wiki_page_webhook_user : user_short;
wiki_page_webhook_project : project_webhook;
wiki_page_webhook_wiki : wiki;
wiki_page_webhook_attributes : wiki_attributes;
}
type runner = {
runner_id : int;
runner_description : string;
runner_runner_type : runner_type;
runner_active : bool;
}
type date_time = Gitlab_json.DateTime.t
type release_webhook = {
release_webhook_id : int;
release_webhook_created_at : date_time;
release_webhook_description : string;
release_webhook_name : string;
release_webhook_released_at : string;
release_webhook_tag : string;
release_webhook_project : project_webhook;
release_webhook_url : string;
release_webhook_action : string;
release_webhook_assets : assets;
release_webhook_commit : commit_short_webhook;
}
type commits_webhook = commit_webhook list
type push_webhook = {
push_webhook_event_name : string;
push_webhook_before : string;
push_webhook_after : string;
push_webhook_ref : string;
push_webhook_checkout_sha : string;
push_webhook_message : string option;
push_webhook_user_id : int;
push_webhook_user_name : string;
push_webhook_user_username : string;
push_webhook_user_email : string option;
push_webhook_user_avatar : string;
push_webhook_project_id : int;
push_webhook_project : project_webhook;
push_webhook_commits : commits_webhook;
push_webhook_total_commits_count : int;
push_webhook_repository : repository;
}
type pipeline_build = {
pipeline_build_id : int;
pipeline_build_stage : string;
pipeline_build_name : string;
pipeline_build_status : string;
pipeline_build_created_at : date_time;
pipeline_build_started_at : date_time option;
pipeline_build_finished_at : date_time option;
pipeline_build_duration : float option;
pipeline_build_queued_duration : float option;
pipeline_build_when : string;
pipeline_build_manual : bool;
pipeline_build_allow_failure : bool;
pipeline_build_user : user_short;
pipeline_build_runner : runner option;
pipeline_build_artifacts_file : artifacts_file;
pipeline_build_environment : string option;
}
type pipeline_attributes = {
pipeline_attributes_id : int;
pipeline_attributes_ref : string;
pipeline_attributes_tag : bool;
pipeline_attributes_sha : string;
pipeline_attributes_before_sha : string;
pipeline_attributes_source : string;
pipeline_attributes_status : string;
pipeline_attributes_detailed_status : string;
pipeline_attributes_stages : string list;
pipeline_attributes_created_at : date_time;
pipeline_attributes_finished_at : date_time;
pipeline_attributes_duration : int;
pipeline_attributes_queued_duration : int;
pipeline_attributes_variables : string list;
}
type merge_request_short = {
merge_request_short_id : int;
merge_request_short_iid : int;
merge_request_short_title : string;
merge_request_short_source_branch : string;
merge_request_short_source_project_id : int;
merge_request_short_target_branch : string;
merge_request_short_target_project_id : int;
merge_request_short_state : state;
merge_request_short_merge_status : merge_status;
merge_request_short_url : string;
}
type pipeline_webhook = {
pipeline_webhook_attributes : pipeline_attributes;
pipeline_webhook_merge_request : merge_request_short;
pipeline_webhook_user : user_short;
pipeline_webhook_project : project_webhook;
pipeline_webhook_commit : commit_short_webhook;
pipeline_webhook_builds : pipeline_build list;
}
type date = Gitlab_json.Date.t
type note_issue = {
note_issue_closed_at : date_time option;
note_issue_confidential : bool;
note_issue_created_at : date_time;
note_issue_description : string;
note_issue_discussion_locked : string option;
note_issue_due_date : date option;
note_issue_id : int;
note_issue_iid : int;
note_issue_last_edited_at : date_time option;
note_issue_last_edited_by_id : int option;
note_issue_milestone_id : int option;
note_issue_moved_to_id : string option;
note_issue_duplicated_to_id : int option;
note_issue_project_id : int;
note_issue_relative_position : int;
note_issue_state_id : int;
note_issue_time_estimate : int;
note_issue_title : string;
note_issue_updated_at : date_time;
note_issue_updated_by_id : string option;
note_issue_weight : string option;
note_issue_url : string;
note_issue_total_time_spent : int;
note_issue_time_change : int;
note_issue_human_total_time_spent : int option;
note_issue_human_time_change : int option;
note_issue_human_time_estimate : int option;
note_issue_assignee_ids : int list;
note_issue_assignee_id : int;
note_issue_labels : string list;
note_issue_state : state;
note_issue_severity : string;
}
type note_attributes = {
note_attrbutes_attachment : string option;
note_attrbutes_change_position : string option;
note_attrbutes_commit_id : string option;
note_attrbutes_created_at : date_time;
note_attrbutes_discussion_id : string;
note_attrbutes_id : int;
note_attrbutes_line_code : int option;
note_attrbutes_note : string;
note_attrbutes_noteable_id : int;
note_attrbutes_noteable_type : string;
note_attrbutes_original_position : string option;
note_attrbutes_position : string option;
note_attrbutes_project_id : int;
note_attrbutes_resolved_at : date_time option;
note_attrbutes_resolved_by_id : string option;
note_attrbutes_resolved_by_push : string option;
note_attrbutes_st_diff : string option;
note_attrbutes_system : bool;
note_attrbutes_note_attribute_type : string option;
note_attrbutes_updated_at : date_time;
note_attrbutes_updated_by_id : string option;
note_attrbutes_description : string;
note_attrbutes_url : string;
}
type note_webhook = {
note_webhook_event_type : string;
note_webhook_user : user_short;
note_webhook_project : project_webhook;
note_webhook_attributes : note_attributes;
note_webhook_repository : repository;
note_webhook_project_id : int;
note_webhook_issue : note_issue;
}
type merge_request_changes = {
merge_request_changes_updated_by_id : updated_by_id option;
merge_request_changes_updated_at : updated_at option;
merge_request_changes_assignees : assignees option;
}
type merge_request_attributes = {
merge_request_attributes_action : string option;
merge_request_attributes_assignee_id : int option;
merge_request_attributes_assignee_ids : int list;
merge_request_attributes_created_at : date_time;
merge_request_attributes_description : string;
merge_request_attributes_head_pipeline_id : int option;
merge_request_attributes_id : int;
merge_request_attributes_iid : int;
merge_request_attributes_last_edited_at : date_time option;
merge_request_attributes_last_edited_by_id : int option;
merge_request_attributes_last_commit : commit_short_webhook;
merge_request_attributes_oldrev : string option;
merge_request_attributes_merge_commit_sha : string option;
merge_request_attributes_merge_error : string option;
merge_request_attributes_merge_params : merge_params;
merge_request_attributes_merge_status : merge_status;
merge_request_attributes_merge_user_id : int option;
merge_request_attributes_merge_when_pipeline_succeeds : bool;
merge_request_attributes_milestone_id : int option;
merge_request_attributes_source : project_webhook;
merge_request_attributes_source_branch : string;
merge_request_attributes_source_project_id : int;
merge_request_attributes_state_id : int;
merge_request_attributes_state : string;
merge_request_attributes_target : project_webhook;
merge_request_attributes_target_branch : string;
merge_request_attributes_target_project_id : int;
merge_request_attributes_title : string;
merge_request_attributes_updated_at : date_time;
merge_request_attributes_updated_by_id : int option;
merge_request_attributes_url : string;
merge_request_attributes_work_in_progress : bool;
merge_request_attributes_total_time_spent : int;
merge_request_attributes_time_change : int;
merge_request_attributes_time_estimate : int;
merge_request_attributes_human_total_time_spent : int option;
merge_request_attributes_human_time_change : int option;
merge_request_attributes_human_time_estimate : int option;
}
type merge_request_webhook = {
merge_request_webhook_event_type : string;
merge_request_webhook_user : user_short;
merge_request_webhook_project : project_webhook;
merge_request_webhook_attributes : merge_request_attributes;
merge_request_webhook_repository : repository;
merge_request_webhook_labels : label list;
merge_request_webhook_changes : merge_request_changes option;
merge_request_webhook_assignees : user_short list option;
}
type job_webhook = {
job_webhook_ref : string;
job_webhook_tag : bool;
job_webhook_before_sha : string;
job_webhook_sha : string;
job_webhook_build_id : int;
job_webhook_build_name : string;
job_webhook_build_stage : string;
job_webhook_build_status : string;
job_webhook_build_created_at : date_time;
job_webhook_build_started_at : date_time;
job_webhook_build_finished_at : date_time;
job_webhook_build_duration : float;
job_webhook_build_queued_duration : float;
job_webhook_build_allow_failure : bool;
job_webhook_build_failure_reason : string;
job_webhook_pipeline_id : int;
job_webhook_runner : runner;
job_webhook_project_id : int;
job_webhook_project_name : string;
job_webhook_user : user_short;
job_webhook_commit : job_webhook_commit;
job_webhook_repository : repository;
job_webhook_environment : string option;
}
type issue_attributes = {
issue_attributes_assignee_id : int option;
issue_attributes_assignee_ids : int list;
issue_attributes_closed_at : date_time option;
issue_attributes_confidential : bool;
issue_attributes_created_at : date_time;
issue_attributes_description : string;
issue_attributes_discussion_locked : string option;
issue_attributes_due_date : string option;
issue_attributes_duplicated_to_id : string option;
issue_attributes_human_time_change : string option;
issue_attributes_human_time_estimate : string option;
issue_attributes_human_total_time_spent : string option;
issue_attributes_id : int;
issue_attributes_iid : int;
issue_attributes_labels : string list;
issue_attributes_last_edited_at : date_time option;
issue_attributes_last_edited_by_id : int option;
issue_attributes_milestone_id : int option;
issue_attributes_moved_to_id : int option;
issue_attributes_project_id : int;
issue_attributes_relative_position : int;
issue_attributes_severity : string;
issue_attributes_state : string;
issue_attributes_state_id : int;
issue_attributes_time_change : int;
issue_attributes_time_estimate : int;
issue_attributes_title : string;
issue_attributes_total_time_spent : int;
issue_attributes_updated_at : date_time;
issue_attributes_updated_by_id : int option;
issue_attributes_url : string;
issue_attributes_weight : int option;
}
type issue_webhook = {
issue_webhook_event_type : string;
issue_webhook_user : user_short;
issue_webhook_project : project_webhook;
issue_webhook_attributes : issue_attributes;
issue_webhook_labels : label list;
issue_webhook_repository : repository;
issue_webhook_assignees : user_short list;
}
type feature_flag_webhook = {
project : project_webhook;
user : user_short;
user_url : string;
object_attributes : feature_flag_attributes;
}
type deployment_webhook = {
status : string;
status_changed_at : date_time;
deployment_id : int;
deployable_id : int;
deployable_url : string;
environment : string;
project : project_webhook;
short_sha : string;
user : user_short;
user_url : string;
commit_url : string;
commit_title : string;
}
type webhook = [
|
`Push of push_webhook
|
`MergeRequest of merge_request_webhook
|
`Issue of issue_webhook
|
`Note of note_webhook
|
`WikiPage of wiki_page_webhook
|
`Release of release_webhook
|
`Job of job_webhook
|
`Pipeline of pipeline_webhook
|
`Deployment of deployment_webhook
|
`FeatureFlag of feature_flag_webhook
]
type webhooks = webhook list
type users = user_short list
type user = {
user_id : int;
user_name : string;
user_username : string;
user_state : string option;
user_avatar_url : string option;
user_web_url : string option;
user_email : string option;
user_created_at : date_time;
user_bio : string option;
user_bio_html : string option;
user_location : string option;
user_public_email : string option;
user_skype : string option;
user_linkedin : string option;
user_twitter : string option;
user_discord : string option;
user_website_url : string option;
user_organization : string option;
user_job_title : string option;
user_pronouns : string option;
user_bot : bool;
user_work_information : string option;
user_followers : int option;
user_following : int option;
}
type status_check = {
status_check_id : int;
status_check_name : string;
status_check_external_url : string;
status_check_status : status_check_status;
}
type status_checks = status_check list
type single_pipeline = {
id : int;
iid : int;
project_id : int;
status : pipeline_status;
source : pipeline_source;
ref : string;
sha : string;
web_url : string;
tag : bool;
started_at : date_time option;
created_at : date_time;
updated_at : date_time option;
finished_at : date_time option;
user : user_short;
duration : float option;
queued_duration : float option;
}
type runners = runner list
type project_short = {
project_short_id : int;
project_short_name : string;
project_short_description : string option;
project_short_name_with_namespace : string;
project_short_path : string;
project_short_path_with_namespace : string;
project_short_created_at : date_time;
project_short_default_branch : string;
project_short_tag_list : string list option;
project_short_topics : string list option;
project_short_ssh_url_to_repo : string;
project_short_http_url_to_repo : string;
project_short_web_url : string;
project_short_readme_url : string option;
project_short_avatar_url : string option;
project_short_forks_count : int;
project_short_star_count : int;
project_short_last_activity_at : date_time;
project_short_namespace : namespace;
}
type projects_short = project_short list
type permissions = {
permissions_group_access : string option;
permissions_project_access : project_access;
}
type links = {
links_self : string;
links_notes : string option;
links_award_emoji : string option;
links_project : string option;
links_issues : string option;
links_merge_requests : string option;
links_repo_branches : string option;
links_labels : string option;
links_events : string option;
links_members : string option;
}
type container_expiration_policy = {
container_expiration_policy_cadence : string;
container_expiration_policy_enabled : bool;
container_expiration_policy_keep_n : int;
container_expiration_policy_name_regex : string;
container_expiration_policy_name_regex_keep : string option;
container_expiration_policy_next_run_at : date_time;
container_expiration_policy_older_than : string;
}
type project_full = {
project_full_id : int;
project_full_name : string;
project_full_description : string option;
project_full_name_with_namespace : string;
project_full_created_at : date_time;
project_full_default_branch : string;
project_full_tag_list : string list option;
project_full_topics : string list option;
project_full_ssh_url_to_repo : string;
project_full_http_url_to_repo : string;
project_full_web_url : string;
project_full_readme_url : string option;
project_full_avatar_url : string option;
project_full_forks_count : int;
project_full_star_count : int;
project_full_last_activity_at : date_time;
project_full_namespace : namespace;
project_full_runners_token : string option;
project_full_statistics : statistics option;
project_full_allow_merge_on_skipped_pipeline : bool option;
project_full_analytics_access_level : string;
project_full_approvals_before_merge : int;
project_full_archived : bool;
project_full_auto_cancel_pending_pipelines : string;
project_full_auto_devops_deploy_strategy : string;
project_full_auto_devops_enabled : bool;
project_full_autoclose_referenced_issues : bool;
project_full_build_coverage_regex : string option;
project_full_build_timeout : int;
project_full_builds_access_level : string;
project_full_can_create_merge_request_in : bool;
project_full_ci_config_path : string option;
project_full_ci_default_git_depth : int option;
project_full_ci_forward_deployment_enabled : bool option;
project_full_ci_job_token_scope_enabled : bool;
project_full_compliance_frameworks : string list;
project_full_container_expiration_policy : container_expiration_policy option;
project_full_container_registry_access_level : string;
project_full_container_registry_enabled : bool;
project_full_container_registry_image_prefix : string;
project_full_creator_id : int;
project_full_emails_disabled : string option;
project_full_empty_repo : bool;
project_full_forked_from_project : project_short option;
project_full_forking_access_level : string;
project_full_import_status : string;
project_full_issues_access_level : string;
project_full_issues_enabled : bool;
project_full_issues_template : string option;
project_full_jobs_enabled : bool;
project_full_keep_latest_artifact : bool;
project_full_lfs_enabled : bool;
project_full_links : links;
project_full_marked_for_deletion_at : date option;
project_full_marked_for_deletion_on : date option;
project_full_merge_method : merge_method;
project_full_merge_pipelines_enabled : bool;
project_full_merge_requests_access_level : string;
project_full_merge_requests_enabled : bool;
project_full_merge_requests_template : string option;
project_full_merge_trains_enabled : bool;
project_full_mirror : bool;
project_full_only_allow_merge_if_all_discussions_are_resolved : bool option;
project_full_only_allow_merge_if_pipeline_succeeds : bool;
project_full_open_issues_count : int;
project_full_operations_access_level : string;
project_full_owner : user_short;
project_full_packages_enabled : bool option;
project_full_pages_access_level : string;
project_full_path : string;
project_full_path_with_namespace : string;
project_full_permissions : permissions;
project_full_public_jobs : bool;
project_full_printing_merge_request_link_enabled : bool;
project_full_remove_source_branch_after_merge : bool option;
project_full_repository_access_level : string;
project_full_request_access_enabled : bool;
project_full_requirements_enabled : bool;
project_full_resolve_outdated_diff_discussions : bool option;
project_full_restrict_user_defined_variables : bool option;
project_full_security_and_compliance_enabled : bool;
project_full_service_desk_address : string option;
project_full_service_desk_enabled : bool option;
project_full_snippets_enabled : bool;
project_full_snippets_access_level : string;
project_full_squash_option : string;
project_full_suggestion_commit_message : string option;
project_full_visibility : visibility;
project_full_wiki_access_level : string;
project_full_wiki_enabled : bool;
}
type projects_full = project_full list
type project_shorts = project_short list
type project_hook = {
id : int;
url : string;
created_at : date_time;
push_events : bool;
tag_push_events : bool;
merge_requests_events : bool;
repository_update_events : bool;
enable_ssl_verification : bool;
project_id : int;
issues_events : bool;
confidential_issues_events : bool;
note_events : bool;
pipeline_events : bool;
wiki_page_events : bool;
deployment_events : bool;
job_events : bool;
releases_events : bool;
confidential_note_events : bool option;
push_events_branch_filter : string option;
}
type project_hooks = project_hook list
type project_access_token = {
project_access_token_id : int;
project_access_token_name : string;
project_access_token_revoked : bool;
project_access_token_created_at : date_time;
project_access_token_scopes : scope list;
project_access_token_user_id : int;
project_access_token_active : bool;
project_access_token_expires_at : string option;
}
type project_access_tokens = project_access_token list
type pipeline = {
id : int;
iid : int;
project_id : int;
status : pipeline_status;
source : pipeline_source;
ref : string;
sha : string;
web_url : string;
created_at : date_time;
updated_at : date_time;
}
type pipelines = pipeline list
type pipeline_job_failure_reason = [
|
`Script_failure
|
`Runner_system_failure
|
`Job_execution_timeout
|
`Stuck_or_timeout_failure
|
`Unknown_failure
|
`Scheduler_failure
|
`Data_integrity_failure
|
`Api_failure
|
`Missing_dependency_failure
|
`Runner_unsupported
|
`Stale_schedule
|
`Archived_failure
|
`Unmet_prerequisites
|
`Forward_deployment_failure
|
`User_blocked
|
`Project_deleted
|
`Ci_quota_exceeded
|
`Pipeline_loop_detected
|
`No_matching_runner
|
`Trace_size_exceeded
|
`Builds_disabled
|
`Environment_creation_failure
|
`Deployment_rejected
|
`Failed_outdated_deployment_job
|
`Protected_environment_failure
|
`Insufficient_bridge_permissions
|
`Downstream_bridge_project_not_found
|
`Invalid_bridge_trigger
|
`Upstream_bridge_project_not_found
|
`Insufficient_upstream_permissions
|
`Bridge_pipeline_is_child_pipeline
|
`Downstream_pipeline_creation_failed
|
`Secrets_provider_not_found
|
`Reached_max_descendant_pipelines_depth
|
`Ip_restriction_failure
|
`Reached_max_pipeline_hierarchy_size
]
type pipeline_job = {
id : int;
name : string;
status : pipeline_job_status;
failure_reason : pipeline_job_failure_reason option;
ref : string;
web_url : string;
created_at : date_time;
started_at : date_time option;
finished_at : date_time option;
user : user_short;
duration : float option;
queued_duration : float option;
commit : commit;
pipeline : pipeline;
artifacts : artifacts_file list;
}
type pipeline_jobs = pipeline_job list
type personal_access_token = {
personal_access_token_id : int;
personal_access_token_name : string;
personal_access_token_revoked : bool;
personal_access_token_created_at : date_time;
personal_access_token_scopes : scope list;
personal_access_token_user_id : int;
personal_access_token_active : bool;
personal_access_token_expires_at : string option;
}
type personal_access_tokens = personal_access_token list
type note = {
note_id : int;
note_note_type : string option;
note_body : string;
note_attachment : string option;
note_created_at : date_time;
note_updated_at : date_time;
note_system : bool;
note_noteable_id : int;
note_noteable_type : noteable_type;
note_resolvable : bool;
note_confidential : bool;
note_noteable_iid : int;
note_commands_changes : command_changes option;
}
type notes = note list
type new_status = {
state : commit_status_status;
ref_name : string option;
name : string option;
target_url : string option;
description : string option;
coverage : int option;
pipeline_id : int option;
}
type new_comment = {
note : string;
path : string option;
line : int option;
line_type : line_type option;
}
type milestone = {
milestone_id : int;
milestone_iid : int;
milestone_project_id : int option;
milestone_group_id : int option;
milestone_title : string;
milestone_description : string;
milestone_state : milestone_state;
milestone_created_at : date_time;
milestone_updated_at : date_time;
milestone_due_date : date option;
milestone_start_date : date option;
milestone_expired : bool option;
milestone_web_url : string;
}
type milestones = milestone list
type merge_request = {
merge_request_id : int;
merge_request_iid : int;
merge_request_project_id : int;
merge_request_title : string;
merge_request_description : string;
merge_request_state : state;
merge_request_merged_by : user_short option;
merge_request_merged_at : date_time option;
merge_request_closed_by : user_short option;
merge_request_closed_at : date_time option;
merge_request_created_at : date_time;
merge_request_updated_at : date_time;
merge_request_target_branch : string;
merge_request_source_branch : string;
merge_request_upvotes : int;
merge_request_downvotes : int;
merge_request_assignee : user_short option;
merge_request_approvals_before_merge : int option;
merge_request_allow_collaboration : bool option;
merge_request_allow_maintainer_to_push : bool option;
merge_request_blocking_discussions_resolved : bool;
merge_request_has_conflicts : bool;
merge_request_assignees : user_short list;
merge_request_reviewers : user_short list;
merge_request_source_project_id : int option;
merge_request_target_project_id : int;
merge_request_labels : string list;
merge_request_draft : bool;
merge_request_work_in_progress : bool;
merge_request_milestone : milestone option;
merge_request_merge_when_pipeline_succeeds : bool;
merge_request_merge_status : merge_status;
merge_request_sha : string option;
merge_request_merge_commit_sha : string option;
merge_request_squash_commit_sha : string option;
merge_request_user_notes_count : int;
merge_request_discussion_locked : bool option;
merge_request_should_remove_source_branch : bool option;
merge_request_force_remove_source_branch : bool option;
merge_request_web_url : string;
merge_request_reference : string;
merge_request_references : references;
merge_request_time_stats : time_stats;
merge_request_squash : bool;
merge_request_task_completion_status : task_completion_status option;
}
type merge_requests = merge_request list
type issue = {
issue_id : int;
issue_iid : int;
issue_project_id : int;
issue_title : string;
issue_description : string;
issue_state : state;
issue_created_at : date_time;
issue_updated_at : date_time;
issue_closed_at : date_time option;
issue_closed_by : user_short option;
issue_labels : string list;
issue_milestone : string option;
issue_assignees : user_short list;
issue_type_ : string;
issue_assignee : user_short option;
issue_user_notes_count : int;
issue_merge_requests_count : int;
issue_upvotes : int;
issue_downvotes : int;
issue_due_date : date option;
issue_confidential : bool;
issue_discussion_locked : string option;
issue_issue_type : issue_type;
issue_web_url : string;
issue_time_stats : time_stats;
issue_task_completion_status : task_completion_status;
issue_weight : int option;
issue_blocking_issues_count : int;
issue_has_tasks : bool;
issue_links : links;
issue_references : references;
issue_severity : string;
issue_moved_to_id : string option;
issue_service_desk_reply_to : string option;
issue_health_status : string option;
}
type issues = issue list
type external_status_check = {
external_status_check_id : int;
external_status_check_name : string;
external_status_check_project_id : int;
external_status_check_external_url : string;
external_status_check_protected_branches : branch list;
}
type external_status_checks = external_status_check list
type event = {
event_id : int;
event_project_id : int;
event_action_name : event_action_name option;
event_target_id : int option;
event_target_iid : int option;
event_target_type : event_target_type option;
event_target_title : string option;
event_created_at : date_time;
event_push_data : push_data option;
event_note : note option;
event_wiki_page : wiki_page option;
}
type events = event list
type current_user = {
current_user_id : int;
current_user_name : string;
current_user_username : string;
current_user_state : string option;
current_user_avatar_url : string option;
current_user_web_url : string option;
current_user_email : string option;
current_user_created_at : date_time;
current_user_bio : string option;
current_user_bio_html : string option;
current_user_location : string option;
current_user_public_email : string option;
current_user_skype : string option;
current_user_linkedin : string option;
current_user_twitter : string option;
current_user_discord : string option;
current_user_website_url : string option;
current_user_organization : string option;
current_user_job_title : string option;
current_user_pronouns : string option;
current_user_bot : bool;
current_user_work_information : string option;
current_user_followers : int option;
current_user_following : int option;
current_user_local_time : string;
current_user_last_sign_in_at : date_time;
current_user_confirmed_at : date_time;
current_user_last_activity_on : date;
current_user_theme_id : int;
current_user_color_scheme_id : int;
current_user_projects_limit : int;
current_user_current_sign_in_at : date_time;
current_user_identities : identity list;
current_user_can_create_group : bool;
current_user_can_create_project : bool;
current_user_two_factor_enabled : bool;
current_user_external : bool;
current_user_private_profile : bool;
current_user_commit_email : string;
current_user_scim_identities : scim_identity list;
}
type create_project_hook = {
id : int option;
url : string;
confidential_issues_events : bool option;
confidential_note_events : bool option;
deployment_events : bool option;
enable_ssl_verification : bool option;
issues_events : bool option;
job_events : bool option;
merge_requests_events : bool option;
note_events : bool option;
pipeline_events : bool option;
push_events_branch_filter : string option;
push_events : bool option;
releases_events : bool option;
tag_push_events : bool option;
repository_update_events : bool option;
wiki_page_events : bool option;
token : string option;
}
type create_note = {
create_note_body : string;
create_note_created_at : date_time option;
create_note_merge_request_diff_sha : string option;
}
type create_issue = {
create_issue_assignee_id : int option;
create_issue_assignee_ids : int option;
create_issue_confidential : bool option;
create_issue_created_at : date_time option;
create_issue_description : string option;
create_issue_discussion_to_resolve : string option;
create_issue_due_date : date option;
create_issue_epic_id : int option;
create_issue_epic_iid : int option;
create_issue_id : int;
create_issue_iid : int option;
create_issue_issue_type : issue_type option;
create_issue_labels : string list option;
create_issue_merge_request_to_resolve_discussions_of : int option;
create_issue_milestone_id : int option;
create_issue_title : string;
create_issue_weight : int option;
}
type commits = commit list
type commit_status = {
commit_status_id : int;
commit_status_sha : string;
commit_status_ref : string;
commit_status_status : string;
commit_status_name : string;
commit_status_target_url : string option;
commit_status_description : string option;
commit_status_created_at : date_time;
commit_status_started_at : date_time option;
commit_status_finished_at : date_time option;
commit_status_allow_failure : bool;
commit_status_coverage : string option;
}
type commit_statuses = commit_status list
type commit_comments = commit_comment list
type changes = {
changes_id : int;
changes_iid : int;
changes_project_id : int;
changes_title : string;
changes_state : string;
changes_created_at : date_time;
changes_updated_at : date_time;
changes_target_branch : string;
changes_source_branch : string;
changes_upvotes : int;
changes_downvotes : int;
changes_assignee : user_short option;
changes_assignees : user_short list option;
changes_reviewers : user_short list;
changes_source_project_id : int;
changes_target_project_id : int;
changes_labels : string list;
changes_description : string;
changes_draft : bool;
changes_work_in_progress : bool;
changes_milestone : milestone option;
changes_merge_when_pipeline_succeeds : bool;
changes_merge_status : merge_status;
changes_subscribed : bool;
changes_sha : string;
changes_merge_commit_sha : string option;
changes_squash_commit_sha : string option;
changes_user_notes_count : int;
changes_changes_count : int;
changes_should_remove_source_branch : bool;
changes_force_remove_source_branch : bool;
changes_squash : bool;
changes_web_url : string;
changes_references : references;
changes_discussion_locked : bool;
changes_time_stats : time_stats;
changes_task_completion_status : task_completion_status;
changes_changes : change list;
changes_overflow : bool;
}
type branch_full = {
branch_full_name : string;
branch_full_merged : bool;
branch_full_protected : bool;
branch_full_developers_can_push : bool;
branch_full_developers_can_merge : bool;
branch_full_can_push : bool;
branch_full_default : bool;
branch_full_web_url : string;
branch_full_commit : commit;
}
type branches_full = branch_full list