diff --git a/pkg/registry/apis/provisioning/jobs/pullrequest/preview.go b/pkg/registry/apis/provisioning/jobs/pullrequest/preview.go index 220949c2ab4..4711a52963f 100644 --- a/pkg/registry/apis/provisioning/jobs/pullrequest/preview.go +++ b/pkg/registry/apis/provisioning/jobs/pullrequest/preview.go @@ -39,13 +39,14 @@ Grafana spotted some changes in your dashboard. {{- else if .PreviewScreenshotURL}} ### Preview of {{.Filename}} ![Preview]({{.PreviewScreenshotURL}}) -{{- end}} -{{- if and .OriginalURL .PreviewURL}} -See the [original]({{.OriginalURL}}) and [preview]({{.PreviewURL}}) of {{.Filename}} +{{ end}} + +{{ if and .OriginalURL .PreviewURL}} +See the [original]({{.OriginalURL}}) and [preview]({{.PreviewURL}}) of {{.Filename}}. {{- else if .OriginalURL}} -See the [original]({{.OriginalURL}}) of {{.Filename}} +See the [original]({{.OriginalURL}}) of {{.Filename}}. {{- else if .PreviewURL}} -See the [preview]({{.PreviewURL}}) of {{.Filename}} +See the [preview]({{.PreviewURL}}) of {{.Filename}}. {{- end}}` // PreviewRenderer is an interface for rendering a preview of a file @@ -160,15 +161,21 @@ func (p *Previewer) Preview( return resourcePreview{}, fmt.Errorf("render dashboard preview: %w", err) } preview.PreviewScreenshotURL = screenshotURL - logger.Info("dashboard preview generated", "screenshotURL", screenshotURL) + logger.Info("dashboard preview screenshot generated", "screenshotURL", screenshotURL) } if preview.OriginalURL != "" { - screenshotURL, err := p.renderer.RenderDashboardPreview(ctx, namespace, repoName, f.PreviousPath, base) + originalPath := f.PreviousPath + if originalPath == "" { + originalPath = f.Path + } + + screenshotURL, err := p.renderer.RenderDashboardPreview(ctx, namespace, repoName, originalPath, base) if err != nil { return resourcePreview{}, fmt.Errorf("render dashboard preview: %w", err) } preview.OriginalScreenshotURL = screenshotURL + logger.Info("original dashboard screenshot generated", "screenshotURL", screenshotURL) } return preview, nil diff --git a/pkg/registry/apis/provisioning/jobs/pullrequest/worker.go b/pkg/registry/apis/provisioning/jobs/pullrequest/worker.go index c910b5315ba..7c7a22bf2b5 100644 --- a/pkg/registry/apis/provisioning/jobs/pullrequest/worker.go +++ b/pkg/registry/apis/provisioning/jobs/pullrequest/worker.go @@ -119,7 +119,13 @@ func (c *PullRequestWorker) Process(ctx context.Context, } } - preview, err := c.previewer.Preview(ctx, f, job.Namespace, repo.Config().Name, cfg.GitHub.Branch, ref, options.URL, cfg.GitHub.GenerateDashboardPreviews) + // Preview should be the branch name if provided, otherwise use the commit hash + previewRef := options.Ref + if previewRef == "" { + previewRef = ref + } + + preview, err := c.previewer.Preview(ctx, f, job.Namespace, repo.Config().Name, cfg.GitHub.Branch, previewRef, options.URL, cfg.GitHub.GenerateDashboardPreviews) if err != nil { return fmt.Errorf("generate preview: %w", err) }