GitHubRelease@0 - GitHub Release v0 任务
使用此任务创建、编辑或删除 GitHub 版本。
语法
# GitHub Release v0
# Create, edit, or delete a GitHub release.
- task: GitHubRelease@0
inputs:
gitHubConnection: # string. Required. GitHub connection (OAuth or PAT).
repositoryName: '$(Build.Repository.Name)' # string. Required. Repository. Default: $(Build.Repository.Name).
action: 'create' # 'create' | 'edit' | 'delete'. Required. Action. Default: create.
#target: '$(Build.SourceVersion)' # string. Required when action = create || action = edit. Target. Default: $(Build.SourceVersion).
tagSource: 'auto' # 'auto' | 'manual'. Required when action = create. Tag source. Default: auto.
#tagPattern: # string. Optional. Use when tagSource = auto. Tag Pattern.
#tag: # string. Required when action = edit || action = delete || tagSource = manual. Tag.
#title: # string. Optional. Use when action = create || action = edit. Release title.
#releaseNotesSource: 'file' # 'file' | 'input'. Optional. Use when action = create || action = edit. Release notes source. Default: file.
#releaseNotesFile: # string. Optional. Use when releaseNotesSource = file. Release notes file path.
#releaseNotes: # string. Optional. Use when releaseNotesSource = input. Release notes.
#assets: '$(Build.ArtifactStagingDirectory)/*' # string. Optional. Use when action = create || action = edit. Assets. Default: $(Build.ArtifactStagingDirectory)/*.
#assetUploadMode: 'delete' # 'delete' | 'replace'. Optional. Use when action = edit. Asset upload mode. Default: delete.
#isDraft: false # boolean. Optional. Use when action = create || action = edit. Draft release. Default: false.
#isPreRelease: false # boolean. Optional. Use when action = create || action = edit. Pre-release. Default: false.
#addChangeLog: true # boolean. Optional. Use when action = create || action = edit. Add changelog. Default: true.
# Changelog configuration
changeLogCompareToRelease: 'lastFullRelease' # 'lastFullRelease' | 'lastNonDraftRelease' | 'lastNonDraftReleaseByTag'. Required when addChangeLog = true. Compare to. Default: lastFullRelease.
#changeLogCompareToReleaseTag: # string. Required when changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true. Release Tag.
changeLogType: 'commitBased' # 'commitBased' | 'issueBased'. Required when addChangeLog = true. Changelog type. Default: commitBased.
#changeLogLabels: '[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]' # string. Optional. Use when changeLogType = issueBased && addChangeLog = true. Categories. Default: [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }].
# GitHub Release v0
# Create, edit, or delete a GitHub release.
- task: GitHubRelease@0
inputs:
gitHubConnection: # string. Required. GitHub connection (OAuth or PAT).
repositoryName: '$(Build.Repository.Name)' # string. Required. Repository. Default: $(Build.Repository.Name).
action: 'create' # 'create' | 'edit' | 'delete'. Required. Action. Default: create.
#target: '$(Build.SourceVersion)' # string. Required when action = create || action = edit. Target. Default: $(Build.SourceVersion).
tagSource: 'auto' # 'auto' | 'manual'. Required when action = create. Tag source. Default: auto.
#tag: # string. Required when action = edit || action = delete || tagSource = manual. Tag.
#title: # string. Optional. Use when action = create || action = edit. Release title.
#releaseNotesSource: 'file' # 'file' | 'input'. Optional. Use when action = create || action = edit. Release notes source. Default: file.
#releaseNotesFile: # string. Optional. Use when releaseNotesSource = file. Release notes file path.
#releaseNotes: # string. Optional. Use when releaseNotesSource = input. Release notes.
#assets: '$(Build.ArtifactStagingDirectory)/*' # string. Optional. Use when action = create || action = edit. Assets. Default: $(Build.ArtifactStagingDirectory)/*.
#assetUploadMode: 'delete' # 'delete' | 'replace'. Optional. Use when action = edit. Asset upload mode. Default: delete.
#isDraft: false # boolean. Optional. Use when action = create || action = edit. Draft release. Default: false.
#isPreRelease: false # boolean. Optional. Use when action = create || action = edit. Pre-release. Default: false.
#addChangeLog: true # boolean. Optional. Use when action = create || action = edit. Add changelog. Default: true.
输入
gitHubConnection
- (OAuth 或 PAT) 的 GitHub 连接
string
. 必需。
指定用于连接到 GitHub 存储库的 GitHub 服务连接的名称。 连接必须基于 GitHub 用户的 OAuth 或 GitHub 个人访问令牌。 有关服务连接的详细信息,请参阅 管理服务连接。
repositoryName
- 存储 库
string
. 必需。 默认值:$(Build.Repository.Name)
。
指定要在其中创建、编辑或删除 GitHub 版本的 GitHub 存储库的名称。
action
- 行动
string
. 必需。 允许的值:create
、edit
、delete
。 默认值:create
。
指定要执行的释放操作的类型。 此任务可以创建、编辑或删除 GitHub 版本。
target
- 目标
string
. 当 action = create || action = edit
时,需要此选项。 默认值:$(Build.SourceVersion)
。
指定要用于创建 GitHub 版本的提交 SHA,例如 48b11d8d6e92a22e3e9563a3f643699c16fd6e27
。 还可以在此字段中使用变量,例如 $(myCommitSHA)
。
tagSource
- 标记源
string
. 当 action = create
时,需要此选项。 允许的值: auto
(Git 标记) , manual
(用户指定的标记) 。 默认值:auto
。
指定要用于创建发布的标记。 auto
(Git 标记) 选项自动使用与 Git 提交关联的标记。 manual
使用“ (用户指定的标记) ”选项手动提供标记。
tagPattern
- 标记模式
string
. 可选。 在 时 tagSource = auto
使用 。
使用正则表达式指定 Git 标记模式,例如 release-v1.*
。 将仅为具有匹配 Git 标记的提交创建 GitHub 版本。
tag
- 标记
string
. 当 action = edit || action = delete || tagSource = manual
时,需要此选项。
指定创建、编辑或删除发布时要使用的标记。 还可以在此字段中使用变量,例如 $(myTagName)
。
title
- 发布标题
string
. 可选。 在 时 action = create || action = edit
使用 。
指定 GitHub 版本的标题。 如果留空,标记将用作发布标题。
releaseNotesSource
- 发行说明源
string
. 可选。 在 时 action = create || action = edit
使用 。 允许的值: file
(发行说明文件) , input
(内联发行说明) 。 默认值:file
。
指定 GitHub 版本的说明。 file
使用 (发行说明文件) 选项将文件内容用作发行说明。 input
使用 (内联发行说明) 选项手动输入发行说明。
releaseNotesFile
- 发行说明文件路径
string
. 可选。 在 时 releaseNotesSource = file
使用 。
指定包含发行说明的文件。
releaseNotes
- 发行说明
string
. 可选。 在 时 releaseNotesSource = input
使用 。
指定发行说明。 支持 Markdown。
assets
- 资产
string
. 可选。 在 时 action = create || action = edit
使用 。 默认值:$(Build.ArtifactStagingDirectory)/*
。
指定要作为发布资产上传的文件。 可以使用通配符指定多个文件。 例如,将 用于 $(Build.ArtifactStagingDirectory)/*.zip
生成管道,或使用 $(System.DefaultWorkingDirectory)/*.zip
用于发布管道。
还可以指定多个模式,每行一个模式。 默认情况下,将上传 $(Build.ArtifactStagingDirectory)
目录中的所有文件。 有关可用预定义变量列表的详细信息,请参阅 生成变量 和 发布变量。
assetUploadMode
- 资产上传模式
string
. 可选。 在 时 action = edit
使用 。 允许的值: delete
(删除现有资产) , replace
(替换现有资产) 。 默认值:delete
。
指定要使用的资产上传模式。 delete
使用 (删除现有资产) 选项首先删除发布中的任何现有资产,然后上传所有资产。 replace
使用“ (替换现有资产) 选项替换同名的任何资产。
isDraft
- 草稿版本
boolean
. 可选。 在 时 action = create || action = edit
使用 。 默认值:false
。
指示是否要将发布另存为草稿 (未发布的) 。 如果为 false
,则将发布版本。
isPreRelease
- 预发布
boolean
. 可选。 在 时 action = create || action = edit
使用 。 默认值:false
。
指示是否要将发布标记为预发布。
addChangeLog
- 添加更改日志
boolean
. 可选。 在 时 action = create || action = edit
使用 。 默认值:true
。
指定是否要包含更改日志。 如果设置为 true
,则会生成当前版本和上次发布版本之间) 更改 (提交和问题的列表,并将其追加到发行说明中。
changeLogCompareToRelease
- 与 进行比较
string
. 当 addChangeLog = true
时,需要此选项。 允许的值: lastFullRelease
(上次完整发布) 、 lastNonDraftRelease
(上次非草稿发布) (lastNonDraftReleaseByTag
标记) 的最后一个非草稿发布。 默认值:lastFullRelease
。
指示要与哪个版本进行比较以生成更改日志:
lastFullRelease
(上一个完整版本) :将当前版本与未标记为预发布的最新非草稿版本进行比较。lastNonDraftRelease
(上一个非草稿发布) :将当前版本与最新的非草稿版本进行比较。lastNonDraftReleaseByTag
按标记) (上一个非草稿发布:将当前版本与与指定标记匹配的最后一个非草稿版本进行比较。 还可以指定正则表达式,而不是确切标记。
changeLogCompareToReleaseTag
- 发布标记
string
. 当 changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true
时,需要此选项。
指定发布标记的正则表达式。 匹配此标记的版本将用作更改日志计算的基础。
changeLogType
- 更改日志类型
string
. 当 addChangeLog = true
时,需要此选项。 允许的值: commitBased
(基于提交的) , issueBased
(基于问题的) 。 默认值:commitBased
。
指定更改日志类型。 更改日志可以基于提交或基于问题。 基于提交的更改日志列出发布中包含的所有提交。 基于问题的更改日志列出了发布中包含的所有问题或拉取请求 (PR) 。
changeLogLabels
- 类别
string
. 可选。 在 时 changeLogType = issueBased && addChangeLog = true
使用 。 默认值:[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]
。
根据与问题或 PR 关联的标签对更改进行分类。 对于标签,可以提及类别的显示名称和问题状态。 标签的示例包括: "[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]"
。 如果更改具有多个标签,则第一个指定的标签优先。 将此字段留空,以查看问题或 PR 的平面列表。
任务控制选项
除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性。
输出变量
无。
备注
GitHubRelease@1中提供了此任务的较新版本。