GitHubRelease@1 - GitHub Release v1-taak

Gebruik deze taak om een GitHub-release te maken, bewerken of verwijderen.

Syntaxis

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

Invoerwaarden

gitHubConnection - GitHub-verbinding (OAuth of PAT)
string. Vereist.

Hiermee geeft u de naam op van de GitHub-serviceverbinding die moet worden gebruikt om verbinding te maken met de GitHub-opslagplaats. De verbinding moet zijn gebaseerd op de OAuth van een GitHub-gebruiker of een persoonlijk GitHub-toegangstoken. Zie Serviceverbindingen beheren voor meer informatie over serviceverbindingen.


repositoryName - Repository
string. Vereist. Standaardwaarde: $(Build.Repository.Name).

Hiermee geeft u de naam op van de GitHub-opslagplaats waar u de GitHub-release gaat maken, bewerken of verwijderen.


action - Actie
string. Vereist. Toegestane waarden: create, edit, delete. Standaardwaarde: create.

Hiermee geeft u het type releasebewerking op dat moet worden uitgevoerd. Met deze taak kunt u een GitHub-release maken, bewerken of verwijderen.


target - Doel
string. Vereist wanneer action = create || action = edit. Standaardwaarde: $(Build.SourceVersion).

Hiermee geeft u de doorvoer-SHA op die u wilt gebruiken om de GitHub-release te maken, bijvoorbeeld 48b11d8d6e92a22e3e9563a3f643699c16fd6e27. U kunt in dit veld ook een variabele gebruiken, zoals $(myCommitSHA).


tagSource - Tagbron
string. Vereist wanneer action = create. Toegestane waarden: gitTag (Git-tag), userSpecifiedTag (door de gebruiker opgegeven tag). Standaardwaarde: gitTag.

Hiermee geeft u de tag die u wilt gebruiken voor het maken van de release. De gitTag optie maakt automatisch gebruik van de tag die is gekoppeld aan de Git-doorvoer. Gebruik de userSpecifiedTag optie om handmatig een tag op te geven.


tagPattern - Tagpatroon
string. Optioneel. Gebruik wanneer tagSource = gitTag.

Hiermee geeft u het Git-tagpatroon op met behulp van regex, bijvoorbeeld release-v1.*. Een GitHub-release wordt alleen gemaakt voor doorvoeringen met een overeenkomende Git-tag.


tag - Tag
string. Vereist wanneer action = edit || action = delete || tagSource = userSpecifiedTag.

Hiermee geeft u de tag op die u wilt gebruiken wanneer u een release maakt, bewerkt of verwijdert. U kunt in dit veld ook een variabele gebruiken, zoals $(myTagName).


title - Releasetitel
string. Optioneel. Gebruik wanneer action = create || action = edit.

Hiermee geeft u de titel van de GitHub-release op. Als u dit leeg laat, wordt de tag gebruikt als de titel van de release.


releaseNotesSource - Bron van opmerkingen bij de release
string. Optioneel. Gebruik wanneer action = create || action = edit. Toegestane waarden: filePath (releaseopmerkingenbestand), inline (Opmerkingen bij de release inline). Standaardwaarde: filePath.

Hiermee geeft u de beschrijving van de GitHub-release op. Gebruik de filePath optie (Release notes file) om bestandsinhoud te gebruiken als releaseopmerkingen. Gebruik de inline optie (Inline releaseopmerkingen) om handmatig releaseopmerkingen in te voeren


releaseNotesFilePath - Bestandspad voor opmerkingen bij de release
string. Optioneel. Gebruik wanneer releaseNotesSource = filePath.

Hiermee geeft u het bestand met de releaseopmerkingen.


releaseNotesInline - Opmerkingen bij de release
string. Optioneel. Gebruik wanneer releaseNotesSource = inline.

Hiermee geeft u de opmerkingen bij de release op. Markdown wordt ondersteund.


assets - Activa
string. Optioneel. Gebruik wanneer action = create || action = edit. Standaardwaarde: $(Build.ArtifactStagingDirectory)/*.

Hiermee geeft u de bestanden die u wilt uploaden als assets van de release. U kunt jokertekens gebruiken om meerdere bestanden op te geven. Gebruik $(Build.ArtifactStagingDirectory)/*.zip of gebruik $(System.DefaultWorkingDirectory)/*.zip bijvoorbeeld voor release-pijplijnen.

U kunt ook meerdere patronen opgeven, één per regel. Standaard worden alle bestanden in de $(Build.ArtifactStagingDirectory) map geüpload. Zie buildvariabelen en releasevariabelen voor meer informatie over de lijst met vooraf gedefinieerde variabelen die beschikbaar zijn.


assetUploadMode - Modus voor het uploaden van assets
string. Optioneel. Gebruik wanneer action = edit. Toegestane waarden: delete (Bestaande assets verwijderen), replace (Bestaande assets vervangen). Standaardwaarde: delete.

Hiermee geeft u de uploadmodus voor assets op die u wilt gebruiken. Gebruik de delete optie (Bestaande assets verwijderen) om eerst bestaande assets in de release te verwijderen en vervolgens alle assets te uploaden. Gebruik de replace optie (Bestaande assets vervangen) om assets met dezelfde naam te vervangen.


isDraft - Conceptrelease
boolean. Optioneel. Gebruik wanneer action = create || action = edit. Standaardwaarde: false.

Geeft aan of de release moet worden opgeslagen als concept (niet gepubliceerd). Als false, wordt de release gepubliceerd.


isPreRelease - Voorlopige versie
boolean. Optioneel. Gebruik wanneer action = create || action = edit. Standaardwaarde: false.

Hiermee wordt aangegeven of de release moet worden gemarkeerd als een voorlopige versie.


addChangeLog - Wijzigingenlogboek toevoegen
boolean. Optioneel. Gebruik wanneer action = create || action = edit. Standaardwaarde: true.

Hiermee geeft u op of u een wijzigingenlogboek wilt opnemen. Als deze optie is ingesteld op true, wordt een lijst met wijzigingen (doorvoeringen en problemen) tussen de huidige release en de laatste gepubliceerde release gegenereerd en toegevoegd aan de releaseopmerkingen.


changeLogCompareToRelease - Vergelijken met
string. Vereist wanneer addChangeLog = true. Toegestane waarden: lastFullRelease (Laatste volledige release), lastNonDraftRelease (Laatste niet-conceptrelease), lastNonDraftReleaseByTag (Laatste niet-conceptrelease per tag). Standaardwaarde: lastFullRelease.

Geeft aan met welke release moet worden vergeleken om het wijzigingenlogboek te genereren:

  • lastFullRelease (Laatste volledige release): Vergelijkt de huidige release met de meest recente niet-conceptversie die niet is gemarkeerd als pre-release.
  • lastNonDraftRelease (Laatste niet-conceptversie): vergelijkt de huidige release met de meest recente niet-conceptversie.
  • lastNonDraftReleaseByTag (Laatste niet-conceptrelease per tag): vergelijkt de huidige release met de laatste niet-conceptrelease die overeenkomt met de opgegeven tag. U kunt ook een regex opgeven in plaats van een exacte tag.

changeLogCompareToReleaseTag - Releasetag
string. Vereist wanneer changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true.

Hiermee geeft u de regex voor releasetag. De release die overeenkomt met deze tag wordt gebruikt als basis voor de wijzigingslogboekberekening.


changeLogType - Type wijzigingslogboek
string. Vereist wanneer addChangeLog = true. Toegestane waarden: commitBased (op basis van doorvoeren), issueBased (op basis van probleem). Standaardwaarde: commitBased.

Hiermee geeft u het type wijzigingslogboek op. Een wijzigingslogboek kan zijn gebaseerd op doorvoeren of problemen. Een wijzigingslogboek op basis van doorvoer bevat alle doorvoeringen die zijn opgenomen in een release. Een wijzigingslogboek op basis van problemen bevat alle problemen of pull-aanvragen (PULL's) die in de release zijn opgenomen.


changeLogLabels - Categorieën
string. Optioneel. Gebruik wanneer changeLogType = issueBased && addChangeLog = true. Standaardwaarde: [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }].

Categoriseert wijzigingen op basis van het label dat is gekoppeld aan het probleem of de pull-aanvraag. Voor een label kunt u de weergavenaam voor de categorie en de status van het probleem vermelden. Voorbeelden van labels zijn: "[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]". In gevallen waarin een wijziging meerdere labels bevat, heeft het eerste opgegeven label prioriteit. Laat dit veld leeg om een platte lijst met problemen of pull-aanvragen weer te geven.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties voor besturingselementen en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Gebruik deze taak in uw pijplijn om een GitHub-release te maken, bewerken of verwijderen.

GitHub-serviceverbinding

Voor deze taak is een GitHub-serviceverbinding met schrijfmachtiging vereist voor de GitHub-opslagplaats. U kunt een GitHub-serviceverbinding maken in uw Azure Pipelines-project. Zodra de serviceverbinding is gemaakt, gebruikt u de naam van de serviceverbinding in de instellingen van deze taak.

Voorbeelden

Een GitHub-release maken

De volgende YAML maakt een GitHub-release telkens wanneer de taak wordt uitgevoerd. Het buildnummer wordt gebruikt als de tagversie voor de release. Alle .exe- en README.txt-bestanden in de map $(Build.ArtifactStagingDirectory) worden geüpload als assets. Standaard genereert de taak ook een wijzigingenlogboek (een lijst met doorvoeringen en problemen die deel uitmaken van deze release) en publiceert deze als releaseopmerkingen.

- 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

U kunt het maken van de release ook beheren op basis van opslagplaatstags. Met de volgende YAML wordt alleen een GitHub-release gemaakt wanneer aan de doorvoer die de pijplijn activeert, een Git-tag is gekoppeld. De GitHub-release wordt gemaakt met dezelfde tagversie als de bijbehorende Git-tag.

- task: GithubRelease@1 
  displayName: 'Create GitHub Release'      
  inputs:
    gitHubConnection: zenithworks
    repositoryName: zenithworks/javaAppWithMaven           
    assets: $(Build.ArtifactStagingDirectory)/*.exe

U kunt de taak ook gebruiken in combinatie met taakvoorwaarden om nog meer controle te krijgen over wanneer de taak wordt uitgevoerd, waardoor het maken van releases wordt beperkt. In de volgende YAML wordt de taak bijvoorbeeld alleen uitgevoerd wanneer de pijplijn wordt geactiveerd door een Git-tag die overeenkomt met het patroon '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

Een GitHub-release bewerken

Met de volgende YAML wordt de status van een GitHub-release bijgewerkt van 'concept' naar 'gepubliceerd'. De release die moet worden bewerkt, wordt bepaald door de opgegeven tag.

- task: GithubRelease@1
  displayName: 'Edit GitHub Release'
  inputs:
    gitHubConnection: zenithworks
    repositoryName: zenithworks/javaAppWithMaven
    action: edit
    tag: $(myDraftReleaseVersion)
    isDraft: false

Een GitHub-release verwijderen

Met de volgende YAML wordt een GitHub-release verwijderd. De release die moet worden verwijderd, wordt bepaald door de opgegeven tag.

- task: GithubRelease@1
  displayName: 'Delete GitHub Release'
  inputs:
    gitHubConnection: zenithworks
    repositoryName: zenithworks/javaAppWithMaven
    action: delete
    tag: $(myDraftReleaseVersion)

Opmerkingen bij de release inline

Met de volgende YAML wordt een GitHub-release gemaakt en worden inline opmerkingen bij de release toegevoegd.

- 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>

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.0.0 of hoger
Taakcategorie Hulpprogramma