5.2. 管道运行规格中的动态变量


您可以使用管道运行规格中的动态变量来提供有关触发管道运行的提交的信息,并使用临时 GitHub App 令牌用于 Github API 操作。

重要

目前不支持在管道或任务参数的默认值中使用 Pipelines as Code 动态变量。您可以在 value: 字段中使用动态变量,但不能在 default: 字段中使用。

5.2.1. 提交和 URL 信息

您可以使用 {{<var>}} 格式的动态扩展变量来指定提交的参数和 URL。目前,您可以使用以下变量:

  • {{repo_owner}}: 存储库所有者。
  • {{repo_name}}: 存储库名称。
  • {{repo_url}}:存储库完整 URL。
  • {{revision}}:提交的完全 SHA 修订。
  • {{sender}} :提交发送者的用户名或帐户 ID。
  • {{source_branch}}:事件源自的分支名称。
  • {{target_branch}}:事件目标的分支名称。对于推送事件,它与 source_branch 相同。
  • {{pull_request_number}}:拉取或合并请求号,仅对 pull_request 事件类型定义。
  • {{git_auth_secret}} :使用 Git 供应商令牌自动生成的 secret 名称,用于签出私有存储库。

5.2.2. GitHub API 操作的临时 GitHub App 令牌

您可以使用 GitHub App 中的 Pipelines as Code 生成的临时安装令牌来访问 GitHub API。GitHub App 为 git-provider-token 密钥中的私有存储库生成密钥。您可以使用管道运行中的 {{git_auth_secret}} 动态变量来访问这个密钥。

例如,如果您的管道运行必须在拉取请求中添加注释,您可以使用 Pipelines as Code 注解从 Tekton Hub 获取 github-add-comment 任务定义,然后定义添加注释的任务,如下例所示:

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: pipeline-with-comment
annotations:
  pipelinesascode.tekton.dev/task: "github-add-comment"
spec:
  pipelineSpec:
    tasks:
      - name: add-sample-comment
        taskRef:
          name: github-add-comment
        params:
          - name: REQUEST_URL
            value: "{{ repo_url }}/pull/{{ pull_request_number }}" 
1

          - name: COMMENT_OR_FILE
            value: "Pipelines as Code IS GREAT!"
          - name: GITHUB_TOKEN_SECRET_NAME
            value: "{{ git_auth_secret }}"
          - name: GITHUB_TOKEN_SECRET_KEY
            value: "git-provider-token"
Copy to Clipboard Toggle word wrap
1
通过使用动态变量,您可以为与 Pipelines as Code 搭配使用的任何存储库中的任何拉取请求重复使用此片断模板。
注意

在 GitHub 应用程序中,生成的安装令牌可用于 8 小时,并范围到事件源自的存储库。您可以配置范围会有所不同,但过期时间由 GitHub 决定。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat