GitHubRelease@1 – Tarefa do GitHub Release v1
Use essa tarefa para criar, editar ou excluir uma versão do GitHub.
Sintaxe
# GitHub Release v1
# Create, edit, or delete a GitHub release.
- task: GitHubRelease@1
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: 'gitTag' # 'gitTag' | 'userSpecifiedTag'. Required when action = create. Tag source. Default: gitTag.
#tagPattern: # string. Optional. Use when tagSource = gitTag. Tag Pattern.
#tag: # string. Required when action = edit || action = delete || tagSource = userSpecifiedTag. Tag.
#title: # string. Optional. Use when action = create || action = edit. Release title.
#releaseNotesSource: 'filePath' # 'filePath' | 'inline'. Optional. Use when action = create || action = edit. Release notes source. Default: filePath.
#releaseNotesFilePath: # string. Optional. Use when releaseNotesSource = filePath. Release notes file path.
#releaseNotesInline: # string. Optional. Use when releaseNotesSource = inline. 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" }].
Entradas
gitHubConnection
-
conexão do GitHub (OAuth ou PAT)
string
. Obrigatório
Especifica o nome da conexão de serviço do GitHub a ser usada para se conectar ao repositório GitHub. A conexão deve ser baseada no OAuth de um usuário do GitHub ou em um token de acesso pessoal do GitHub. Para obter mais informações sobre conexões de serviço, consulte Gerenciar conexões de serviço.
repositoryName
-
do Repositório
string
. Obrigatório Valor padrão: $(Build.Repository.Name)
.
Especifica o nome do repositório GitHub no qual você criará, editará ou excluirá a versão do GitHub.
de Ação action
-
string
. Obrigatório Valores permitidos: create
, edit
, delete
. Valor padrão: create
.
Especifica o tipo de operação de versão a ser executada. Essa tarefa pode criar, editar ou excluir uma versão do GitHub.
target
-
de destino
string
. Necessário quando action = create || action = edit
. Valor padrão: $(Build.SourceVersion)
.
Especifica o nome sha de confirmação ou branch que você deseja usar para criar a versão do GitHub, por exemplo, 48b11d8d6e92a22e3e9563a3f643699c16fd6e27
ou main
. Você também pode usar uma variável, como $(myCommitSHA)
, neste campo.
de origem da marca de tagSource
-
string
. Necessário quando action = create
. Valores permitidos: gitTag
(marca Git), userSpecifiedTag
(marca especificada pelo usuário). Valor padrão: gitTag
.
Especifica a marca que você deseja usar para a criação da versão. A opção gitTag
usa automaticamente a marca associada à confirmação do Git. Use a opção userSpecifiedTag
para fornecer manualmente uma marca.
tagPattern
-
padrão de marca
string
. Opcional. Use quando tagSource = gitTag
.
Especifica o padrão de marca git usando regex, por exemplo, release-v1.*
. Uma versão do GitHub será criada apenas para confirmações que tenham uma marca Git correspondente.
tag
-
string
. Necessário quando action = edit || action = delete || tagSource = userSpecifiedTag
.
Especifica a marca que você deseja usar ao criar, editar ou excluir uma versão. Você também pode usar uma variável, como $(myTagName)
, neste campo.
de título da versão title
-
string
. Opcional. Use quando action = create || action = edit
.
Especifica o título da versão do GitHub. Se deixado vazio, a marca será usada como o título da versão.
releaseNotesSource
-
de origem de notas de versão
string
. Opcional. Use quando action = create || action = edit
. Valores permitidos: filePath
(arquivo de notas de versão), inline
(notas de versão embutidas). Valor padrão: filePath
.
Especifica a descrição da versão do GitHub. Use a opção filePath
(arquivo de notas de versão) para usar o conteúdo do arquivo como notas de versão. Use a opção inline
(notas de versão embutidas) para inserir manualmente notas sobre a versão
releaseNotesFilePath
-
caminho do arquivo de notas de versão
string
. Opcional. Use quando releaseNotesSource = filePath
.
Especifica o arquivo que contém as notas de versão.
notas de versão releaseNotesInline
-
string
. Opcional. Use quando releaseNotesSource = inline
.
Especifica as notas de versão. Há suporte para Markdown.
assets
-
Assets
string
. Opcional. Use quando action = create || action = edit
. Valor padrão: $(Build.ArtifactStagingDirectory)/*
.
Especifica os arquivos que você deseja carregar como ativos da versão. Você pode usar caracteres curinga para especificar vários arquivos. Por exemplo, use $(Build.ArtifactStagingDirectory)/*.zip
ou use $(System.DefaultWorkingDirectory)/*.zip
para pipelines de lançamento.
Você também pode especificar vários padrões, um por linha. Por padrão, todos os arquivos no diretório $(Build.ArtifactStagingDirectory)
serão carregados. Para obter mais informações sobre a lista de variáveis predefinidas disponíveis, consulte variáveis de build e variáveis de versão.
do modo de carregamento do ativo assetUploadMode
-
string
. Opcional. Use quando action = edit
. Valores permitidos: delete
(Excluir ativos existentes), replace
(Substituir ativos existentes). Valor padrão: delete
.
Especifica o modo de carregamento de ativos que você deseja usar. Use a opção delete
(Excluir ativos existentes) para primeiro excluir todos os ativos existentes na versão e carregar todos os ativos. Use a opção replace
(Substituir ativos existentes) para substituir todos os ativos com o mesmo nome.
de versão do Rascunho do isDraft
-
boolean
. Opcional. Use quando action = create || action = edit
. Valor padrão: false
.
Indica se a versão deve ser salva como um rascunho (não publicado). Se false
, a versão será publicada.
isPreRelease
-
de pré-lançamento
boolean
. Opcional. Use quando action = create || action = edit
. Valor padrão: false
.
Indica se a versão deve ser marcada como uma pré-lançamento.
addChangeLog
-
Adicionar de caixa de alteração
boolean
. Opcional. Use quando action = create || action = edit
. Valor padrão: true
.
Especifica se você deseja incluir uma caixa de alteração. Se definido como true
, uma lista de alterações (confirmações e problemas) entre a versão atual e a última versão publicada será gerada e acrescentada às notas de versão.
changeLogCompareToRelease
-
Comparar com
string
. Necessário quando addChangeLog = true
. Valores permitidos: lastFullRelease
(última versão completa), lastNonDraftRelease
(última versão não rascunho), lastNonDraftReleaseByTag
(última versão não rascunho por marca). Valor padrão: lastFullRelease
.
Indica com qual versão comparar para gerar a caixa de alteração:
-
lastFullRelease
(Última versão completa): compara a versão atual com a versão não rascunho mais recente que não está marcada como pré-lançamento. -
lastNonDraftRelease
(Última versão não rascunho): compara a versão atual com a versão não rascunho mais recente. -
lastNonDraftReleaseByTag
(última versão não rascunho por marca): compara a versão atual com a última versão não rascunho que corresponde à marca especificada. Você também pode especificar um regex em vez de uma marca exata.
changeLogCompareToReleaseTag
-
de marca de versão
string
. Necessário quando changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true
.
Especifica o regex para a marca de versão. A versão correspondente a essa marca será usada como base para computação de changelog.
changeLogType
-
tipo de changelog
string
. Necessário quando addChangeLog = true
. Valores permitidos: commitBased
(baseado em confirmação), issueBased
(baseado em problema). Valor padrão: commitBased
.
Especifica o tipo de caixa de alteração. Uma caixa de alteração pode ser baseada em confirmação ou baseada em problemas. Uma lista de alterações baseada em confirmação lista todas as confirmações incluídas em uma versão. Uma caixa de alteração baseada em problemas lista todos os problemas ou PRs (solicitações de pull) incluídos na versão.
categorias changeLogLabels
-
string
. Opcional. Use quando changeLogType = issueBased && addChangeLog = true
. Valor padrão: [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]
.
Categoriza as alterações com base no rótulo associado ao problema ou pr. Para um rótulo, você pode mencionar o nome de exibição para a categoria e o estado do problema. Exemplos de rótulos incluem: "[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]"
. Nos casos em que uma alteração tem vários rótulos, o primeiro rótulo especificado tem prioridade. Deixe esse campo vazio para ver uma lista simples de problemas ou PRs.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além das suas entradas de tarefas. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Observações
Use essa tarefa em seu pipeline para criar, editar ou descartar uma versão do GitHub.
Conexão de serviço do GitHub
Essa tarefa requer uma de conexão de serviço do GitHub com a permissão de Gravação para o repositório GitHub. Você pode criar uma conexão de serviço do GitHub em seu projeto do Azure Pipelines. Depois de criada, use o nome da conexão de serviço nas configurações dessa tarefa.
Exemplos
Criar uma versão do GitHub
O YAML a seguir cria uma versão do GitHub sempre que a tarefa é executada. O número de build é usado como a versão da marca para a versão. Todos os arquivos .exe e arquivos README.txt na pasta $(Build.ArtifactStagingDirectory) são carregados como ativos. Por padrão, a tarefa também gera um log de alterações (uma lista de confirmações e problemas que fazem parte desta versão) e a publica como notas de versão.
- task: GithubRelease@1
displayName: 'Create GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
tagSource: manual
tag: $(Build.BuildNumber)
assets: |
$(Build.ArtifactStagingDirectory)/*.exe
$(Build.ArtifactStagingDirectory)/README.txt
Você também pode controlar a criação da versão com base em marcas de repositório. O YAML a seguir cria uma versão do GitHub somente quando a confirmação que dispara o pipeline tem uma marca Git associada a ele. A versão do GitHub é criada com a mesma versão de marca que a marca Git associada.
- task: GithubRelease@1
displayName: 'Create GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
assets: $(Build.ArtifactStagingDirectory)/*.exe
Você também pode querer usar a tarefa em conjunto com condições de tarefa para obter um controle ainda mais fino sobre quando a tarefa é executada, restringindo assim a criação de versões. Por exemplo, no YAML a seguir, a tarefa é executada somente quando o pipeline é disparado por uma marca Git que corresponde ao padrão 'refs/tags/release-v*'.
- task: GithubRelease@1
displayName: 'Create GitHub Release'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/release-v')
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
assets: $(Build.ArtifactStagingDirectory)/*.exe
Editar uma versão do GitHub
O YAML a seguir atualiza o status de uma versão do GitHub de 'rascunho' para 'publicado'. A versão a ser editada é determinada pela marca especificada.
- task: GithubRelease@1
displayName: 'Edit GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: edit
tag: $(myDraftReleaseVersion)
isDraft: false
Excluir uma versão do GitHub
O YAML a seguir exclui uma versão do GitHub. A versão a ser excluída é determinada pela marca especificada.
- task: GithubRelease@1
displayName: 'Delete GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: delete
tag: $(myDraftReleaseVersion)
Notas de versão embutidas
O YAML a seguir cria uma versão do GitHub e adiciona notas de versão embutidas.
- task: GitHubRelease@1
inputs:
gitHubConnection: <GITHUB_SERVICE_CONNECTION>
repositoryName: '$(Build.Repository.Name)'
action: 'create'
target: '$(Build.SourceVersion)'
tagSource: 'userSpecifiedTag'
tag: <YOUR_TAG>
title: <YOUR_TITLE>
releaseNotesSource: 'inline'
releaseNotesInline: <YOUR_RELEASE_NOTES>
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
Execuções em | Agent, DeploymentGroup |
de demandas | Nenhum |
recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
restrições de comando | Qualquer |
variáveis settable | Qualquer |
Versão do agente | 2.0.0 ou superior |
Categoria de tarefa | Utilidade |