diff --git a/src/types/devops.ts b/src/types/devops.ts index 34e12b6..35fd7e9 100644 --- a/src/types/devops.ts +++ b/src/types/devops.ts @@ -221,10 +221,25 @@ export interface ProjectRefCommit { authoredAt?: string } +export interface ProjectRefPullRequest { + number: number + title: string + state: string + merged: boolean + mergedAt?: string + mergeCommitSha?: string + headRef?: string + headSha?: string + baseRef?: string + authorName?: string + url?: string +} + export interface ProjectRefItem { name: string commitSha?: string commit?: ProjectRefCommit + pullRequest?: ProjectRefPullRequest } export interface PipelineStep { diff --git a/src/views/ReleaseCenterView.vue b/src/views/ReleaseCenterView.vue index d4cf752..a2abeb9 100644 --- a/src/views/ReleaseCenterView.vue +++ b/src/views/ReleaseCenterView.vue @@ -105,6 +105,28 @@ const selectedCommitMeta = computed(() => { return parts.join(' · ') }) +const selectedPullRequest = computed(() => selectedRefDetail.value?.pullRequest) + +const selectedPullRequestMeta = computed(() => { + const pullRequest = selectedPullRequest.value + + if (!pullRequest) { + return '' + } + + const branchText = + pullRequest.headRef && pullRequest.baseRef + ? `${pullRequest.headRef} -> ${pullRequest.baseRef}` + : '' + const parts = [ + branchText, + pullRequest.authorName, + formatCommitTime(pullRequest.mergedAt), + ].filter(Boolean) + + return parts.join(' · ') +}) + const canTrigger = computed(() => { if (!form.projectKey || !form.environment || !form.ref) { return false @@ -325,6 +347,22 @@ watch(refOptions, (options) => { {{ selectedCommitMessage || 'Gitea 未返回提交说明' }} {{ selectedCommitMeta }} +