[cherry-pick] fix: correct the retention webhook payload (#18466)

fix: correct the retention webhook payload

Fix the incorrect number of total and retained in the retention webhook
payload, and completes the deleted_artifacts field.

Fixes: #18428

Signed-off-by: chlins <chenyuzh@vmware.com>
This commit is contained in:
Chlins Zhang 2023-04-06 16:15:10 +08:00 committed by GitHub
parent cdcf10ec7c
commit 3d2cef2ff4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 3 deletions

View File

@ -121,8 +121,8 @@ func (r *RetentionHandler) constructRetentionPayload(event *event.RetentionEvent
Operator: execution.Trigger,
EventData: &model.EventData{
Retention: &evtModel.Retention{
Total: task.Total,
Retained: task.Retained,
Total: event.Total,
Retained: event.Retained,
HarborHostname: hostname,
ProjectName: event.Deleted[0].Target.Namespace,
RetentionPolicyID: execution.PolicyID,
@ -140,8 +140,11 @@ func (r *RetentionHandler) constructRetentionPayload(event *event.RetentionEvent
}
if len(target.Tags) != 0 {
deletedArtifact.NameAndTag = target.Repository + ":" + target.Tags[0]
} else {
// use digest if no tag
deletedArtifact.NameAndTag = target.Repository + "@" + target.Digest
}
payload.EventData.Retention.DeletedArtifact = []*evtModel.ArtifactInfo{deletedArtifact}
payload.EventData.Retention.DeletedArtifact = append(payload.EventData.Retention.DeletedArtifact, deletedArtifact)
}
for _, v := range md.Rules {

View File

@ -25,6 +25,8 @@ func (r *RetentionMetaData) Resolve(evt *event.Event) error {
Status: r.Status,
Deleted: r.Deleted,
TaskID: r.TaskID,
Total: r.Total,
Retained: r.Retained,
}
evt.Topic = event2.TopicTagRetention

View File

@ -371,6 +371,8 @@ type RetentionEvent struct {
OccurAt time.Time
Status string
Deleted []*selector.Result
Total int
Retained int
}
func (r *RetentionEvent) String() string {