GitHubRelease@1 – GitHub Release v1-uppgift
Använd den här uppgiften för att skapa, redigera eller ta bort en GitHub-version.
Syntax
# 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" }].
Ingångar
gitHubConnection
-
GitHub-anslutning (OAuth eller PAT)
string
. Obligatoriskt.
Anger namnet på den GitHub-tjänstanslutning som ska användas för att ansluta till GitHub-lagringsplatsen. Anslutningen måste baseras på en GitHub-användares OAuth eller en personlig GitHub-åtkomsttoken. Mer information om tjänstanslutningar finns i Hantera tjänstanslutningar.
repositoryName
-
lagringsplats
string
. Obligatoriskt. Standardvärde: $(Build.Repository.Name)
.
Anger namnet på GitHub-lagringsplatsen där du ska skapa, redigera eller ta bort GitHub-versionen.
action
-
åtgärd
string
. Obligatoriskt. Tillåtna värden: create
, edit
, delete
. Standardvärde: create
.
Anger vilken typ av versionsåtgärd som ska utföras. Den här uppgiften kan skapa, redigera eller ta bort en GitHub-version.
target
-
Mål
string
. Krävs när action = create || action = edit
. Standardvärde: $(Build.SourceVersion)
.
Anger det inchecknings-SHA- eller grennamn som du vill använda för att skapa GitHub-versionen, till exempel 48b11d8d6e92a22e3e9563a3f643699c16fd6e27
eller main
. Du kan också använda en variabel, till exempel $(myCommitSHA)
, i det här fältet.
tagSource
-
Taggkälla
string
. Krävs när action = create
. Tillåtna värden: gitTag
(Git-tagg), userSpecifiedTag
(användar angiven tagg). Standardvärde: gitTag
.
Anger taggen som du vill använda för att skapa versioner. Alternativet gitTag
använder automatiskt taggen som är associerad med Git-incheckningen. Använd alternativet userSpecifiedTag
för att manuellt ange en tagg.
tagPattern
-
taggmönster
string
. Valfritt. Använd när tagSource = gitTag
.
Anger Git-taggmönstret med hjälp av regex, till exempel release-v1.*
. En GitHub-version skapas endast för incheckningar som har matchande Git-tagg.
tag
-
Tagga
string
. Krävs när action = edit || action = delete || tagSource = userSpecifiedTag
.
Anger den tagg som du vill använda när du skapar, redigerar eller tar bort en version. Du kan också använda en variabel, till exempel $(myTagName)
, i det här fältet.
title
-
Versionsrubrik
string
. Valfritt. Använd när action = create || action = edit
.
Anger rubriken på GitHub-versionen. Om den lämnas tom används taggen som versionsrubrik.
releaseNotesSource
-
Källkälla för viktig information
string
. Valfritt. Använd när action = create || action = edit
. Tillåtna värden: filePath
(viktig anteckningsfil), inline
(infogade viktig information). Standardvärde: filePath
.
Anger beskrivningen av GitHub-versionen. Använd alternativet filePath
(Viktig anteckningsfil) för att använda filinnehåll som viktig information. Använd alternativet inline
(infogade viktig information) för att manuellt ange viktig information
releaseNotesFilePath
-
Filsökväg för viktig information
string
. Valfritt. Använd när releaseNotesSource = filePath
.
Anger filen som innehåller viktig information.
releaseNotesInline
-
Viktig information
string
. Valfritt. Använd när releaseNotesSource = inline
.
Anger viktig information. Markdown stöds.
assets
-
Tillgångar
string
. Valfritt. Använd när action = create || action = edit
. Standardvärde: $(Build.ArtifactStagingDirectory)/*
.
Anger de filer som du vill ladda upp som tillgångar i versionen. Du kan använda jokertecken för att ange flera filer. Du kan till exempel använda $(Build.ArtifactStagingDirectory)/*.zip
eller använda $(System.DefaultWorkingDirectory)/*.zip
för versionspipelines.
Du kan också ange flera mönster, ett per rad. Som standard laddas alla filer i katalogen $(Build.ArtifactStagingDirectory)
upp. Mer information om listan över fördefinierade variabler som är tillgängliga finns i versionsvariabler och versionsvariabler.
assetUploadMode
-
läget för uppladdning av tillgångar
string
. Valfritt. Använd när action = edit
. Tillåtna värden: delete
(Ta bort befintliga tillgångar), replace
(Ersätt befintliga tillgångar). Standardvärde: delete
.
Anger det uppladdningsläge för tillgångar som du vill använda. Använd alternativet delete
(Ta bort befintliga tillgångar) för att först ta bort befintliga tillgångar i versionen och sedan ladda upp alla tillgångar. Använd alternativet replace
(Ersätt befintliga tillgångar) för att ersätta alla tillgångar som har samma namn.
isDraft
-
Utkastversion
boolean
. Valfritt. Använd när action = create || action = edit
. Standardvärde: false
.
Anger om versionen ska sparas som ett utkast (avpubliceras). Om false
publiceras versionen.
isPreRelease
-
förhandsversion
boolean
. Valfritt. Använd när action = create || action = edit
. Standardvärde: false
.
Anger om versionen ska markeras som en förhandsversion.
addChangeLog
-
Lägg till
boolean
. Valfritt. Använd när action = create || action = edit
. Standardvärde: true
.
Anger om du vill inkludera en ändringslogg. Om värdet är inställt på true
genereras en lista med ändringar (incheckningar och problem) mellan den aktuella versionen och den senaste publicerade versionen och läggs till i viktig information.
changeLogCompareToRelease
-
Jämför med
string
. Krävs när addChangeLog = true
. Tillåtna värden: lastFullRelease
(senaste fullständiga versionen), lastNonDraftRelease
(senaste icke-utkastversion), lastNonDraftReleaseByTag
(senaste icke-utkastversion efter tagg). Standardvärde: lastFullRelease
.
Anger vilken version som ska jämföras med för att generera ändringsloggen:
-
lastFullRelease
(Senaste fullständiga versionen): Jämför den aktuella versionen med den senaste icke-utkastversionen som inte har markerats som förhandsversion. -
lastNonDraftRelease
(Senaste icke-utkastversionen): Jämför den aktuella versionen med den senaste versionen som inte är utkast. -
lastNonDraftReleaseByTag
(Senaste icke-utkastversion efter tagg): Jämför den aktuella versionen med den senaste versionen som inte är utkast som matchar den angivna taggen. Du kan också ange en regex i stället för en exakt tagg.
changeLogCompareToReleaseTag
-
versionstagg
string
. Krävs när changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true
.
Anger regex för versionstaggen. Versionsmatchning av den här taggen används som bas för ändringsloggberäkning.
changeLogType
-
Ändringsloggtyp
string
. Krävs när addChangeLog = true
. Tillåtna värden: commitBased
(incheckningsbaserad), issueBased
(problembaserad). Standardvärde: commitBased
.
Anger typ av ändringslogg. En ändringslogg kan vara incheckningsbaserad eller problembaserad. En incheckningsbaserad ändringslogg visar en lista över alla incheckningar som ingår i en version. Ett problembaserat ändringslogg visar en lista över alla problem eller pull-begäranden (PR) som ingår i versionen.
changeLogLabels
-
kategorier
string
. Valfritt. Använd när changeLogType = issueBased && addChangeLog = true
. Standardvärde: [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]
.
Kategoriserar ändringar baserat på etiketten som är associerad med problemet eller PR. För en etikett kan du nämna visningsnamnet för kategorin och problemets tillstånd. Exempel på etiketter är: "[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]"
. I fall där en ändring har flera etiketter på sig prioriteras den första angivna etiketten. Lämna det här fältet tomt om du vill se en platt lista över problem eller prs.
Kontrollalternativ för aktivitet
Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.
Utdatavariabler
Ingen.
Anmärkningar
Använd den här uppgiften i pipelinen för att skapa, redigera eller ta bort en GitHub-version.
GitHub-tjänstanslutning
Den här uppgiften kräver en GitHub-tjänstanslutning med skrivbehörighet till GitHub-lagringsplatsen. Du kan skapa en GitHub-tjänstanslutning i ditt Azure Pipelines-projekt. När du har skapat den använder du namnet på tjänstanslutningen i inställningarna för den här aktiviteten.
Exempel
Skapa en GitHub-version
Följande YAML skapar en GitHub-version varje gång aktiviteten körs. Versionsnumret används som taggversion för versionen. Alla .exe filer och README.txt filer i mappen $(Build.ArtifactStagingDirectory) laddas upp som tillgångar. Som standard genererar uppgiften också en ändringslogg (en lista över incheckningar och problem som ingår i den här versionen) och publicerar den som viktig information.
- 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
Du kan också styra skapandet av versionen baserat på lagringsplatstaggar. Följande YAML skapar endast en GitHub-version när incheckningen som utlöser pipelinen har en Git-tagg associerad med den. GitHub-versionen skapas med samma taggversion som den associerade Git-taggen.
- task: GithubRelease@1
displayName: 'Create GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
assets: $(Build.ArtifactStagingDirectory)/*.exe
Du kanske också vill använda uppgiften tillsammans med uppgiftsvillkor för att få ännu bättre kontroll över när aktiviteten körs, vilket begränsar skapandet av versioner. I följande YAML körs aktiviteten till exempel bara när pipelinen utlöses av en Git-tagg som matchar mönstret "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
Redigera en GitHub-version
Följande YAML uppdaterar statusen för en GitHub-version från "draft" till "published". Den version som ska redigeras bestäms av den angivna taggen.
- task: GithubRelease@1
displayName: 'Edit GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: edit
tag: $(myDraftReleaseVersion)
isDraft: false
Ta bort en GitHub-version
Följande YAML tar bort en GitHub-version. Den version som ska tas bort bestäms av den angivna taggen.
- task: GithubRelease@1
displayName: 'Delete GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: delete
tag: $(myDraftReleaseVersion)
Viktig information om infogade
Följande YAML skapar en GitHub-version och lägger till infogade viktig information.
- 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>
Krav
Krav | Beskrivning |
---|---|
Pipelinetyper | YAML, klassisk version, klassisk version |
Körs på | Agent, DeploymentGroup |
kräver | Ingen |
funktioner | Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet. |
Kommandobegränsningar | Vilken som helst |
variabler som kan | Vilken som helst |
Agentversion | 2.0.0 eller senare |
Aktivitetskategori | Nytta |