mirror of
https://github.com/go-gitea/gitea.git
synced 2025-02-23 06:31:53 +08:00
Make actions URL in commit status webhooks absolute (#33620)
Gitea Actions generated target url doesn't contain host and port. So we need to include them for external webhook visiting. Fix #33603 --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
parent
15e020eec8
commit
9f560d47c9
@ -15,6 +15,7 @@ import (
|
||||
repo_model "code.gitea.io/gitea/models/repo"
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
"code.gitea.io/gitea/modules/git"
|
||||
"code.gitea.io/gitea/modules/httplib"
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
"code.gitea.io/gitea/modules/repository"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
@ -871,6 +872,11 @@ func (m *webhookNotifier) CreateCommitStatus(ctx context.Context, repo *repo_mod
|
||||
return
|
||||
}
|
||||
|
||||
// as a webhook url, target should be an absolute url. But for internal actions target url
|
||||
// the target url is a url path with no host and port to make it easy to be visited
|
||||
// from multiple hosts. So we need to convert it to an absolute url here.
|
||||
target := httplib.MakeAbsoluteURL(ctx, status.TargetURL)
|
||||
|
||||
payload := api.CommitStatusPayload{
|
||||
Context: status.Context,
|
||||
CreatedAt: status.CreatedUnix.AsTime().UTC(),
|
||||
@ -878,7 +884,7 @@ func (m *webhookNotifier) CreateCommitStatus(ctx context.Context, repo *repo_mod
|
||||
ID: status.ID,
|
||||
SHA: commit.Sha1,
|
||||
State: status.State.String(),
|
||||
TargetURL: status.TargetURL,
|
||||
TargetURL: target,
|
||||
|
||||
Commit: apiCommit,
|
||||
Repo: convert.ToRepo(ctx, repo, access_model.Permission{AccessMode: perm.AccessModeOwner}),
|
||||
|
Loading…
x
Reference in New Issue
Block a user