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. 必需。 允许的值:createeditdelete。 默认值: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中提供了此任务的较新版本。

要求

要求 说明
管道类型 YAML、经典版本、经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置变量 任意
代理版本 2.0.0 或更高版本
任务类别 实用工具