Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí této úlohy můžete vytvořit, upravit nebo odstranit verzi GitHubu.
Syntaxe
# 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.
#makeLatest: 'true' # 'true' | 'false' | 'legacy'. Optional. Use when action = create || action = edit. Make Latest. Default: true.
#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 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" }].
Vstupy
gitHubConnection
-
připojení GitHubu (OAuth nebo PAT)
string. Povinné.
Určuje název připojení ke službě GitHub, které se má použít pro připojení k úložišti GitHub. Připojení musí být založené na OAuth uživatele GitHubu nebo na osobním přístupovém tokenu GitHubu. Další informace o připojeních služeb najdete v tématu Správa připojení služby.
úložiště repositoryName -
string. Povinné. Výchozí hodnota: $(Build.Repository.Name).
Určuje název úložiště GitHub, ve kterém budete vytvářet, upravovat nebo odstraňovat verzi GitHubu.
action
-
akce
string. Povinné. Povolené hodnoty: create, edit, delete. Výchozí hodnota: create.
Určuje typ operace uvolnění, která se má provést. Tento úkol může vytvořit, upravit nebo odstranit verzi GitHubu.
target
-
target
string. Požadováno při action = create || action = edit. Výchozí hodnota: $(Build.SourceVersion).
Určuje název sha potvrzení nebo větve, které chcete použít k vytvoření verze GitHubu, například 48b11d8d6e92a22e3e9563a3f643699c16fd6e27 nebo main. V tomto poli můžete také použít proměnnou, například $(myCommitSHA).
tagSource
-
zdroj značky
string. Požadováno při action = create. Povolené hodnoty: gitTag (značka Git), userSpecifiedTag (značka uživatele). Výchozí hodnota: gitTag.
Určuje značku, kterou chcete použít k vytvoření verze. Možnost gitTag automaticky používá značku přidruženou k potvrzení Gitu. K ručnímu zadání značky použijte možnost userSpecifiedTag.
vzor značky tagPattern -
string. Volitelný. Používá se při tagSource = gitTag.
Určuje vzor značky Git pomocí regulárního výrazu, například release-v1.*. Verze GitHubu se vytvoří jenom pro potvrzení, která mají odpovídající značku Gitu.
značky
string. Požadováno při action = edit || action = delete || tagSource = userSpecifiedTag.
Určuje značku, kterou chcete použít při vytváření, úpravách nebo odstraňování vydané verze. V tomto poli můžete také použít proměnnou, například $(myTagName).
title
-
název verze
string. Volitelný. Používá se při action = create || action = edit.
Určuje název verze GitHubu. Pokud je tato značka prázdná, použije se jako název verze.
releaseNotesSource
-
zdroj poznámky k verzi
string. Volitelný. Používá se při action = create || action = edit. Povolené hodnoty: filePath (soubor poznámky k verzi), inline (vložené poznámky k verzi). Výchozí hodnota: filePath.
Určuje popis verze GitHubu. Pomocí možnosti filePath (soubor poznámek k verzi) můžete jako poznámky k verzi použít obsah souboru. Pokud chcete ručně zadat poznámky k verzi, použijte možnost inline (vložené poznámky k verzi).
releaseNotesFilePath
-
cesta k souboru poznámky k verzi
string. Volitelný. Používá se při releaseNotesSource = filePath.
Určuje soubor, který obsahuje poznámky k verzi.
releaseNotesInline
-
poznámky k verzi
string. Volitelný. Používá se při releaseNotesSource = inline.
Určuje poznámky k verzi. Markdown je podporovaný.
assets
-
prostředky
string. Volitelný. Používá se při action = create || action = edit. Výchozí hodnota: $(Build.ArtifactStagingDirectory)/*.
Určuje soubory, které chcete nahrát jako prostředky vydané verze. K určení více souborů můžete použít zástupné znaky. Můžete například použít $(Build.ArtifactStagingDirectory)/*.zip nebo použít $(System.DefaultWorkingDirectory)/*.zip pro kanály verze.
Můžete také zadat více vzorů, jeden na řádek. Ve výchozím nastavení se nahrají všechny soubory v adresáři $(Build.ArtifactStagingDirectory). Další informace o seznamu předdefinovaných proměnných, které jsou k dispozici, najdete v tématu sestavení proměnných a proměnné vydané verze.
assetUploadMode
-
režim nahrávání prostředků
string. Volitelný. Používá se při action = edit. Povolené hodnoty: delete (odstranění exisiting assetů), replace (nahrazení existujících prostředků). Výchozí hodnota: delete.
Určuje režim nahrávání prostředků, který chcete použít. Pomocí možnosti delete (Odstranit existující prostředky) nejprve odstraňte všechny existující prostředky ve vydané verzi a pak nahrajte všechny prostředky. Pomocí možnosti replace (nahradit existující prostředky) nahraďte všechny prostředky se stejným názvem.
isDraft
-
verze Draft
boolean. Volitelný. Používá se při action = create || action = edit. Výchozí hodnota: false.
Určuje, jestli má být vydaná verze uložena jako koncept (nepublikováno). Pokud false, bude vydaná verze publikována.
isPreRelease
-
předběžné verze
boolean. Volitelný. Používá se při action = create || action = edit. Výchozí hodnota: false.
Určuje, jestli má být verze označená jako předběžná verze.
makeLatest
-
Vytvoř nejnovější
string. Volitelný. Používá se při action = create || action = edit. Povolené hodnoty: true, false, legacy. Výchozí hodnota: true.
Specifikovat, zda tuto verzi označit jako 'nejbližší' verzi pro daný repozitář. Nastavte na 'falešné', aby se zabránilo označování tohoto vydání jako nejnovějšího, nebo na 'legacy' pro použití GitHubu pro určení nejnovějších verzí na základě data vytvoření a sémantického verzování.
addChangeLog
-
Přidání protokolu změn
boolean. Volitelný. Používá se při action = create || action = edit. Výchozí hodnota: true.
Určuje, jestli chcete zahrnout protokol změn. Pokud je nastavená hodnota true, vygeneruje se seznam změn (potvrzení a problémů) mezi aktuální a poslední publikovanou verzí a připojí se k poznámkám k verzi.
changeLogCompareToRelease
-
Porovnat s
string. Požadováno při addChangeLog = true. Povolené hodnoty: lastFullRelease (poslední úplná verze), lastNonDraftRelease (poslední verze bez konceptu), lastNonDraftReleaseByTag (poslední verze bez konceptu podle značky). Výchozí hodnota: lastFullRelease.
Označuje, která verze se má porovnat s vygenerovaným protokolem změn:
-
lastFullRelease(poslední úplná verze): Porovná aktuální verzi s nejnovější verzí, která není označená jako předběžná verze. -
lastNonDraftRelease(poslední verze bez konceptu): Porovná aktuální verzi s nejnovější verzí, která není konceptem. -
lastNonDraftReleaseByTag(poslední verze bez konceptu podle značky): Porovná aktuální verzi s poslední verzí, která není konceptem, která odpovídá zadané značce. Místo přesné značky můžete také zadat regulární výraz.
changeLogCompareToReleaseTag
-
značky vydané verze
string. Požadováno při changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true.
Určuje regulární výraz pro značku vydané verze. Verze odpovídající této značce se použije jako základ pro výpočet protokolu změn.
changeLogType
-
typ protokolu změn
string. Požadováno při addChangeLog = true. Povolené hodnoty: commitBased (založené na potvrzení), issueBased (založené na problému). Výchozí hodnota: commitBased.
Určuje typ protokolu změn. Protokol změn může být založený na potvrzení nebo na základě problému. Protokol změn založený na potvrzení obsahuje seznam všech potvrzení zahrnutých ve vydané verzi. V protokolu změn na základě problému jsou uvedeny všechny problémy nebo žádosti o přijetí změn ( žádosti o přijetí změn) zahrnuté ve vydané verzi.
kategorie changeLogLabels -
string. Volitelný. Používá se při changeLogType = issueBased && addChangeLog = true. Výchozí hodnota: [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }].
Kategorizuje změny na základě popisku přidruženého k problému nebo žádosti o přijetí změn. U popisku můžete zmínit zobrazovaný název kategorie a stav problému. Příklady popisků: "[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]". V případech, kdy má změna více popisků, má první zadaný popisek prioritu. Pokud chcete zobrazit plochý seznam problémů nebo žádostí o přijetí změn, nechte toto pole prázdné.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Žádné.
Poznámky
Pomocí této úlohy v kanálu můžete vytvořit, upravit nebo zahodit verzi GitHubu.
Připojení ke službě GitHub
Tato úloha vyžaduje připojení služby GitHub s oprávněním k zápisu do úložiště GitHub. V projektu Azure Pipelines můžete vytvořit připojení ke službě GitHub. Po vytvoření použijte název připojení služby v nastavení této úlohy.
Příklady
Vytvoření verze GitHubu
Následující YAML vytvoří vydání GitHubu při každém spuštění úlohy. Číslo buildu se používá jako verze značky pro tuto verzi. Všechny soubory .exe a README.txt ve složce $(Build.ArtifactStagingDirectory) se nahrají jako prostředky. Ve výchozím nastavení úloha také vygeneruje protokol změn (seznam potvrzení a problémů, které jsou součástí této verze) a publikuje ho jako poznámky k verzi.
- task: GithubRelease@1
displayName: 'Create GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
tagSource: gitTag
tag: $(Build.BuildNumber)
assets: |
$(Build.ArtifactStagingDirectory)/*.exe
$(Build.ArtifactStagingDirectory)/README.txt
Můžete také řídit vytváření vydané verze na základě značek úložiště. Následující YAML vytvoří verzi GitHubu, pouze pokud potvrzení, které aktivuje kanál, má přidruženou značku Gitu. Verze GitHubu se vytvoří se stejnou verzí značky jako přidružená značka Git.
- task: GithubRelease@1
displayName: 'Create GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
assets: $(Build.ArtifactStagingDirectory)/*.exe
Můžete také použít úlohu ve spojení s podmínkami úkolu, abyste získali ještě lepší kontrolu nad tím, kdy se úloha spustí, čímž omezíte vytváření verzí. Například v následujícím YAML se úloha spustí pouze v případě, že kanál aktivuje značka Git odpovídající vzoru 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
Úprava verze GitHubu
Následující YAML aktualizuje stav verze GitHubu z konceptu na publikovanou verzi. Vydání, které se má upravit, určuje zadaná značka.
- task: GithubRelease@1
displayName: 'Edit GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: edit
tag: $(myDraftReleaseVersion)
isDraft: false
Odstranění verze GitHubu
Následující YAML odstraní verzi GitHubu. Vydání, které se má odstranit, určuje zadaná značka.
- task: GithubRelease@1
displayName: 'Delete GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: delete
tag: $(myDraftReleaseVersion)
Vložené poznámky k verzi
Následující YAML vytvoří verzi GitHubu a přidá vložené poznámky k verzi.
- 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>
Požadavky
| Požadavek | Popis |
|---|---|
| Typy kanálů | YAML, klasické sestavení, klasická verze |
| Běží na | Agent, skupina nasazení |
| požadavky | Žádný |
| možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
| omezení příkazů | Jakýkoliv |
| nastavitelné proměnné | Jakýkoliv |
| Verze agenta | 2.0.0 nebo vyšší |
| Kategorie úkolu | Užitnost |