Skip to content

tep: TEP-0157 PipelineRun Display Name#1281

Open
rajnish-jais wants to merge 2 commits into
tektoncd:mainfrom
rajnish-jais:tep-0157-pipelinerun-displayname
Open

tep: TEP-0157 PipelineRun Display Name#1281
rajnish-jais wants to merge 2 commits into
tektoncd:mainfrom
rajnish-jais:tep-0157-pipelinerun-displayname

Conversation

@rajnish-jais

Copy link
Copy Markdown

Summary

Revises the stub TEP from #1174 (@say5) with a complete design for PipelineRun.spec.displayName / status.displayName.

What changed from #1174

@say5's original PR had the right framing but placeholder content ("To be determined") throughout Design Details, Test Plan, Drawbacks, and Alternatives. This revision fills all of those in, incorporating the design discussion on tektoncd/pipeline#10300.

Design highlights

  • Two-field model: spec.displayName (user-authored template) + status.displayName (reconciler-resolved value clients read). Mirrors PipelineTask.displayName exactly — no new mental model for authors.
  • Substitution: $(params.*) and $(context.pipelineRun.{name,namespace,uid}) — reuses existing ApplyReplacements + GetContextReplacements call paths (apply.go:391–394, 478). $(tasks.*) / $(results.*) scoped out in v1 since the label should be visible from list-view time, before tasks run.
  • Write-once status: confirmed as correct design by @vdemeester in Add support for PipelineRun display name pipeline#10300.
  • Validation: 200-char default cap via new max-pipelinerun-display-name-length feature flag (same pattern as max-result-size). $(tasks.*) / $(results.*) in spec.displayName rejected at admission.
  • Client impact: Dashboard prefers status.displayName when non-empty; CLI (tkn pr list / tkn pr describe) surfaces it as a column/header; metadata.name remains the primary identifier for commands like tkn pr logs.
  • Unresolved references: left verbatim by ApplyReplacements (existing behavior); reconciler additionally emits a Warning event with reason UnresolvedDisplayNameVariable.

Motivation

Primary use case is JenkinsX/Lighthouse: Lighthouse injects dynamic data (PR number, branch, SHA) only into spec.params, not into arbitrary spec fields. A literal-only spec.displayName (the earlier proposal in tektoncd/pipeline#10300) can't produce "Build for PR #123" for Lighthouse users. With $(params.PULL_NUMBER) substitution it can.

Supersedes

Supersedes #1174. @say5 has been unresponsive since the June 2026 rebase request; they are credited as original author in the frontmatter.

Related

@tekton-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign vdemeester after the PR has been reviewed.
You can assign the PR to them by writing /assign @vdemeester in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@linux-foundation-easycla

linux-foundation-easycla Bot commented Jun 23, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

@tekton-robot tekton-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jun 23, 2026
Revises the stub TEP from tektoncd#1174 (@say5) with a
complete design: spec.displayName + status.displayName two-field
model, $(params.*) and $(context.pipelineRun.*) substitution via
existing ApplyReplacements machinery, write-once status semantics
(confirmed by @vdemeester in tektoncd/pipeline#10300), webhook
validation with configurable length cap, and client impact for
Dashboard and CLI.

Fixes tektoncd/pipeline#10300
@rajnish-jais
rajnish-jais force-pushed the tep-0157-pipelinerun-displayname branch from 36b1e4b to 22ade67 Compare June 23, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants