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" }].

Indata

gitHubConnection - GitHub-anslutning (OAuth eller PAT)
string. Krävs.

Anger namnet på github-tjänstanslutningen 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 - Databasen
string. Krävs. Standardvärde: $(Build.Repository.Name).

Anger namnet på GitHub-lagringsplatsen där du ska skapa, redigera eller ta bort GitHub-versionen.


action - Åtgärder
string. Krävs. 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 den inchecknings-SHA som du vill använda för att skapa GitHub-versionen, till exempel 48b11d8d6e92a22e3e9563a3f643699c16fd6e27. 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ändarangiven 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 mönstret för Git-taggen med hjälp av regex, till exempel release-v1.*. En GitHub-version skapas endast för incheckningar som har matchande Git-tagg.


tag - Etiketten
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älla för viktig information
string. Valfritt. Använd när action = create || action = edit. Tillåtna värden: filePath (viktig informationsfil), inline (infogade viktig information). Standardvärde: filePath.

Anger beskrivningen av GitHub-versionen. filePath Använd alternativet (Viktig anteckningsfil) för att använda filinnehåll som viktig information. inline Använd alternativet (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 - Utgåvan
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 $(Build.ArtifactStagingDirectory) katalogen upp. Mer information om listan över fördefinierade variabler som är tillgängliga finns i skapa variabler och versionsvariabler.


assetUploadMode - Uppladdningsläge för 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. delete Använd alternativet (Ta bort befintliga tillgångar) för att först ta bort befintliga tillgångar i versionen och sedan ladda upp alla tillgångar. replace Använd alternativet (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 (avpublicerat). Om falsepubliceras 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 ändringslogg
boolean. Valfritt. Använd när action = create || action = edit. Standardvärde: true.

Anger om du vill inkludera en ändringslogg. Om det är inställt på truegenereras 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 version), 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 version): Jämför den aktuella versionen med den senaste icke-utkastversionen som inte har markerats som förhandsversion.
  • lastNonDraftRelease (Senaste icke-utkastversion): Jämför den aktuella versionen med den senaste icke-utkastversionen.
  • lastNonDraftReleaseByTag (Senaste icke-utkastversion efter tagg): Jämför den aktuella versionen med den senaste icke-utkastversionen som matchar den angivna taggen. Du kan också ange ett 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. Versioner som matchar den här taggen används som bas för beräkningen av ändringsloggar.


changeLogType - Ändringsloggtyp
string. Krävs när addChangeLog = true. Tillåtna värden: commitBased (Incheckningsbaserad) issueBased (problembaserad). Standardvärde: commitBased.

Anger ändringsloggtypen. En ändringslogg kan vara incheckningsbaserad eller problembaserad. I en incheckningsbaserad ändringslogg visas alla incheckningar som ingår i en version. En problembaserad ä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 de 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 PR.


Kontrollalternativ för aktivitet

Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Inga.

Kommentarer

Använd den här uppgiften i din pipeline 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 Associerad Git-tagg. 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)

Infogad viktig information

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
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 2.0.0 eller senare
Uppgiftskategori Verktyg