feat: add mergeability checks to summary view

This commit is contained in:
Jakub F. Bortlík
2026-02-26 10:14:57 +01:00
parent 3d2828a950
commit 250ba35a49
10 changed files with 349 additions and 11 deletions

View File

@@ -218,6 +218,35 @@ M.settings = {
"squash",
"labels",
"web_url",
"mergeability_checks",
},
},
mergeability_checks = {
statuses = {
SUCCESS = "",
CHECKING = "🔁",
FAILED = "",
WARNING = "⚠️",
INACTIVE = "💤",
},
checks = {
CI_MUST_PASS = "Pipeline must succeed",
COMMITS_STATUS = "Source branch exists and contains commits",
CONFLICT = "Merge conflicts must be resolved",
DISCUSSIONS_NOT_RESOLVED = "Open threads must be resolved",
DRAFT_STATUS = "Merge request must not be draft",
JIRA_ASSOCIATION_MISSING = "Title or description references a Jira issue",
LOCKED_LFS_FILES = "All LFS files must be unlocked",
LOCKED_PATHS = "All paths must be unlocked",
MERGE_REQUEST_BLOCKED = "Merge request is not blocked",
MERGE_TIME = "Merge is not blocked due to a scheduled merge time",
NEED_REBASE = "Merge request must be rebased, fast-forward merge is not possible",
NOT_APPROVED = "All required approvals must be given",
NOT_OPEN = "Merge request must be open",
REQUESTED_CHANGES = "Change requests must be approved by the requesting user",
SECURITY_POLICY_VIOLATIONS = "Security policies are satisfied",
STATUS_CHECKS_MUST_PASS = "External status checks pass",
TITLE_REGEX = "Title matches the expected regex",
},
},
discussion_signs = {
@@ -467,6 +496,12 @@ M.dependencies = {
state = "INFO",
refresh = false,
},
mergeability = {
endpoint = "/mr/info/mergeability",
key = "MergeabilityChecks",
state = "MERGEABILITY",
refresh = false,
},
latest_pipeline = {
endpoint = "/pipeline",
key = "latest_pipeline",