fix: render job title as commit message (#32748)

resolves #32724

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
metiftikci 2024-12-08 06:23:09 +03:00 committed by GitHub
parent 1518f4ed12
commit ad994780af
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 22 additions and 16 deletions

View File

@ -9,6 +9,7 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"html/template"
"io" "io"
"net/http" "net/http"
"net/url" "net/url"
@ -29,6 +30,7 @@ import (
"code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/storage" "code.gitea.io/gitea/modules/storage"
api "code.gitea.io/gitea/modules/structs" api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/templates"
"code.gitea.io/gitea/modules/timeutil" "code.gitea.io/gitea/modules/timeutil"
"code.gitea.io/gitea/modules/util" "code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/modules/web" "code.gitea.io/gitea/modules/web"
@ -89,6 +91,7 @@ type ViewResponse struct {
Run struct { Run struct {
Link string `json:"link"` Link string `json:"link"`
Title string `json:"title"` Title string `json:"title"`
TitleHTML template.HTML `json:"titleHTML"`
Status string `json:"status"` Status string `json:"status"`
CanCancel bool `json:"canCancel"` CanCancel bool `json:"canCancel"`
CanApprove bool `json:"canApprove"` // the run needs an approval and the doer has permission to approve CanApprove bool `json:"canApprove"` // the run needs an approval and the doer has permission to approve
@ -200,7 +203,10 @@ func ViewPost(ctx *context_module.Context) {
} }
} }
metas := ctx.Repo.Repository.ComposeMetas(ctx)
resp.State.Run.Title = run.Title resp.State.Run.Title = run.Title
resp.State.Run.TitleHTML = templates.NewRenderUtils(ctx).RenderCommitMessage(run.Title, metas)
resp.State.Run.Link = run.Link() resp.State.Run.Link = run.Link()
resp.State.Run.CanCancel = !run.Status.IsDone() && ctx.Repo.CanWrite(unit.TypeActions) resp.State.Run.CanCancel = !run.Status.IsDone() && ctx.Repo.CanWrite(unit.TypeActions)
resp.State.Run.CanApprove = run.NeedApproval && ctx.Repo.CanWrite(unit.TypeActions) resp.State.Run.CanApprove = run.NeedApproval && ctx.Repo.CanWrite(unit.TypeActions)

View File

@ -51,6 +51,7 @@ const sfc = {
run: { run: {
link: '', link: '',
title: '', title: '',
titleHTML: '',
status: '', status: '',
canCancel: false, canCancel: false,
canApprove: false, canApprove: false,
@ -383,9 +384,8 @@ export function initRepositoryActionView() {
<div class="action-info-summary"> <div class="action-info-summary">
<div class="action-info-summary-title"> <div class="action-info-summary-title">
<ActionRunStatus :locale-status="locale.status[run.status]" :status="run.status" :size="20"/> <ActionRunStatus :locale-status="locale.status[run.status]" :status="run.status" :size="20"/>
<h2 class="action-info-summary-title-text"> <!-- eslint-disable-next-line vue/no-v-html -->
{{ run.title }} <h2 class="action-info-summary-title-text" v-html="run.titleHTML"/>
</h2>
</div> </div>
<button class="ui basic small compact button primary" @click="approveRun()" v-if="run.canApprove"> <button class="ui basic small compact button primary" @click="approveRun()" v-if="run.canApprove">
{{ locale.approve }} {{ locale.approve }}