Share via


GitHubRelease@1 – GitHub Release v1 feladat

Ezzel a feladatsal létrehozhat, szerkeszthet vagy törölhet egy GitHub-kiadást.

Szintaxis

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

Bevitelek

gitHubConnection - GitHub-kapcsolat (OAuth vagy PAT)
string. Kötelező.

Megadja annak a GitHub-szolgáltatáskapcsolatnak a nevét, amely a GitHub-adattárhoz való csatlakozáshoz használható. A kapcsolatnak egy GitHub-felhasználó OAuth-ján vagy egy Személyes GitHub-hozzáférési jogkivonaton kell alapulnia. További információ a szolgáltatáskapcsolatokról: Szolgáltatáskapcsolatok kezelése.


repositoryName - Tárház
string. Kötelező. Alapértelmezett érték: $(Build.Repository.Name).

Megadja annak a GitHub-adattárnak a nevét, ahol létrehozza, szerkessze vagy törli a GitHub-kiadást.


action - Akció
string. Kötelező. Engedélyezett értékek: create, edit, delete. Alapértelmezett érték: create.

Meghatározza a végrehajtandó kiadási művelet típusát. Ez a feladat létrehozhat, szerkeszthet vagy törölhet Egy GitHub-kiadást.


target - Cél
string. Akkor szükséges, ha action = create || action = edit. Alapértelmezett érték: $(Build.SourceVersion).

Megadja a GitHub-kiadás létrehozásához használni kívánt véglegesítési SHA-t, például 48b11d8d6e92a22e3e9563a3f643699c16fd6e27: . Ebben a mezőben egy változót is használhat, például $(myCommitSHA): .


tagSource - Címke forrása
string. Akkor szükséges, ha action = create. Engedélyezett értékek: gitTag (Git-címke), userSpecifiedTag (Felhasználó által megadott címke). Alapértelmezett érték: gitTag.

Megadja a kiadás létrehozásához használni kívánt címkét. A gitTag beállítás automatikusan a Git-véglegesítéshez társított címkét használja. userSpecifiedTag A beállítással manuálisan adhat meg egy címkét.


tagPattern - Címkeminta
string. Választható. Használja a következőt: tagSource = gitTag.

A Git-címke mintáját adja meg regex használatával, például release-v1.*: . A GitHub-kiadás csak olyan véglegesítésekhez lesz létrehozva, amelyek egyező Git-címkével rendelkeznek.


tag - Tag
string. Akkor szükséges, ha action = edit || action = delete || tagSource = userSpecifiedTag.

Megadja a kiadás létrehozásakor, szerkesztésekor vagy törlésekor használni kívánt címkét. Ebben a mezőben egy változót is használhat, például $(myTagName): .


title - Kiadás címe
string. Választható. Használja a következőt: action = create || action = edit.

Megadja a GitHub-kiadás címét. Ha üresen marad, a címke lesz a kiadás címe.


releaseNotesSource - Kibocsátási megjegyzések forrása
string. Választható. Használja a következőt: action = create || action = edit. Engedélyezett értékek: filePath (Kibocsátási megjegyzések fájlja) inline (beágyazott kibocsátási megjegyzések). Alapértelmezett érték: filePath.

Megadja a GitHub-kiadás leírását. filePath A (Kibocsátási megjegyzések fájlja) beállítással a fájltartalmakat kibocsátási megjegyzésekként használhatja. inline A (Beágyazott kibocsátási megjegyzések) beállítással manuálisan írja be a kibocsátási megjegyzéseket


releaseNotesFilePath - Kibocsátási megjegyzések fájlelérési útja
string. Választható. Használja a következőt: releaseNotesSource = filePath.

Meghatározza a kibocsátási megjegyzéseket tartalmazó fájlt.


releaseNotesInline - Kibocsátási megjegyzések
string. Választható. Használja a következőt: releaseNotesSource = inline.

Meghatározza a kibocsátási megjegyzéseket. A Markdown támogatott.


assets - Eszközök
string. Választható. Használja a következőt: action = create || action = edit. Alapértelmezett érték: $(Build.ArtifactStagingDirectory)/*.

Meghatározza a kiadás eszközeiként feltölteni kívánt fájlokat. Helyettesítő karakterekkel több fájlt is megadhat. Használhatja vagy használhatja $(System.DefaultWorkingDirectory)/*.zip például $(Build.ArtifactStagingDirectory)/*.zip a kiadási folyamatokat.

Több mintát is megadhat, soronként egyet. Alapértelmezés szerint a $(Build.ArtifactStagingDirectory) könyvtár összes fájlja fel lesz töltve. Az elérhető előre definiált változók listájáról további információt a változók összeállítása és a kiadási változók című témakörben talál.


assetUploadMode - Eszközfeltöltési mód
string. Választható. Használja a következőt: action = edit. Engedélyezett értékek: delete (Exisiting assets törlése) replace (Meglévő eszközök cseréje). Alapértelmezett érték: delete.

Megadja a használni kívánt eszközfeltöltési módot. delete A (Meglévő objektumok törlése) lehetőséggel először törölje a kiadásban lévő meglévő eszközöket, majd töltse fel az összes eszközt. replace A (Meglévő eszközök cseréje) lehetőséggel lecserélheti az azonos nevű eszközöket.


isDraft - Piszkozat kiadás
boolean. Választható. Használja a következőt: action = create || action = edit. Alapértelmezett érték: false.

Azt jelzi, hogy a kiadást piszkozatként kell-e menteni (közzé nem tették). Ha false, a kiadás közzé lesz téve.


isPreRelease - Előzetes kiadás
boolean. Választható. Használja a következőt: action = create || action = edit. Alapértelmezett érték: false.

Azt jelzi, hogy a kiadást kiadás előttiként kell-e megjelölni.


addChangeLog - Változásnapló hozzáadása
boolean. Választható. Használja a következőt: action = create || action = edit. Alapértelmezett érték: true.

Megadja, hogy szeretne-e változásnaplót felvenni. Ha a értékre truevan állítva, a rendszer létrehozza és hozzáfűzi a kibocsátási megjegyzésekhez az aktuális kiadás és az utolsó közzétett kiadás közötti módosításokat (véglegesítéseket és problémákat).


changeLogCompareToRelease - Összehasonlítás
string. Akkor szükséges, ha addChangeLog = true. Engedélyezett értékek: lastFullRelease (Utolsó teljes kiadás), lastNonDraftRelease (Legutóbbi, nem piszkozatos kiadás), lastNonDraftReleaseByTag (Utolsó nem piszkozatos kiadás címke szerint). Alapértelmezett érték: lastFullRelease.

Azt jelzi, hogy melyik kiadással kell összehasonlítani a changelog létrehozásához:

  • lastFullRelease (Utolsó teljes kiadás): Összehasonlítja az aktuális kiadást a legújabb, nem piszkozatos kiadással, amely nincs előzetes kiadásként megjelölve.
  • lastNonDraftRelease (Utolsó, nem piszkozatos kiadás): Összehasonlítja az aktuális kiadást a legújabb, nem piszkozatos kiadással.
  • lastNonDraftReleaseByTag (Utolsó nem piszkozatos kiadás címke szerint): Összehasonlítja az aktuális kiadást a megadott címkével egyező utolsó, nem piszkozatos kiadással. Regexet is megadhat pontos címke helyett.

changeLogCompareToReleaseTag - Kiadási címke
string. Akkor szükséges, ha changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true.

A kiadási címke reginálását adja meg. A rendszer a címkének megfelelő kiadást fogja használni a változásnapló-számítások alapjaként.


changeLogType - Változásnapló típusa
string. Akkor szükséges, ha addChangeLog = true. Engedélyezett értékek: commitBased (Véglegesítésalapú), issueBased (Problémaalapú). Alapértelmezett érték: commitBased.

A változásnapló típusát adja meg. A változásnaplók lehetnek véglegesítésen vagy problémaalapúak. A véglegesítés-alapú változásnapló felsorolja a kiadásban szereplő összes véglegesítést. A problémaalapú változásnapló felsorolja a kiadásban szereplő összes problémát vagy lekéréses kérelmet ..


changeLogLabels - Kategóriák
string. Választható. Használja a következőt: changeLogType = issueBased && addChangeLog = true. Alapértelmezett érték: [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }].

Kategorizálja a módosításokat a problémához vagy a lekéréses kérelemhez társított címke alapján. Címke esetén megemlítheti a kategória megjelenítendő nevét és a probléma állapotát. A címkék például a következők: "[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]". Azokban az esetekben, amikor egy módosítás több címkével rendelkezik, az első megadott címke élvez elsőbbséget. Hagyja üresen ezt a mezőt a problémák vagy a lekéréses kérelmek egybesimított listájának megtekintéséhez.


Feladatvezérlési lehetőségek

Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.

Kimeneti változók

Nincsenek.

Megjegyzések

Ezzel a feladatsal létrehozhat, szerkeszthet vagy elvethet egy GitHub-kiadást a folyamatban.

GitHub-szolgáltatáskapcsolat

Ehhez a feladathoz írási engedéllyel rendelkező GitHub-szolgáltatáskapcsolatra van szükség a GitHub-adattárhoz. GitHub-szolgáltatáskapcsolatot az Azure Pipelines-projektben hozhat létre. A létrehozás után használja a szolgáltatáskapcsolat nevét a feladat beállításaiban.

Példák

GitHub-kiadás létrehozása

Az alábbi YAML a feladat minden futtatásakor létrehoz egy GitHub-kiadást. A buildszám a kiadás címkeverziójaként használatos. A $(Build.ArtifactStagingDirectory) mappában lévő összes .exe fájl és README.txt fájl feltöltve lesz adategységként. Alapértelmezés szerint a feladat létrehoz egy változásnaplót (a véglegesítések és a kiadás részét képező problémák listáját), és közzéteszi azt kibocsátási megjegyzésekként.

- 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

A kiadás létrehozását az adattárcímkék alapján is szabályozhatja. A következő YAML csak akkor hoz létre GitHub-kiadást, ha a folyamatot aktiváló véglegesítéshez hozzá van rendelve egy Git-címke. A GitHub-kiadás ugyanazzal a címkeverzióval jön létre, mint a társított Git-címke.

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

Azt is érdemes lehet használni a feladat feltételeivel együtt, hogy még finomabb szabályozást kapjon a feladat futtatásakor, ezáltal korlátozva a kiadások létrehozását. A következő YAML-ben például a feladat csak akkor fut, ha a folyamatot a "refs/tags/release-v*" mintának megfelelő Git-címke aktiválja.

- 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

GitHub-kiadás szerkesztése

Az alábbi YAML frissíti egy GitHub-kiadás állapotát a "piszkozat" állapotról a "közzétett" állapotra. A szerkeszteni kívánt kiadást a megadott címke határozza meg.

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

GitHub-kiadás törlése

Az alábbi YAML töröl egy GitHub-kiadást. A törölni kívánt kiadást a megadott címke határozza meg.

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

Beágyazott kibocsátási megjegyzések

Az alábbi YAML létrehoz egy GitHub-kiadást, és beágyazott kibocsátási megjegyzéseket ad hozzá.

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

Követelmények

Követelmény Leírás
Folyamattípusok YAML, klasszikus build, klasszikus kiadás
Futtatás: Ügynök, DeploymentGroup
Igények None
Képességek Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek.
Parancskorlátozások Bármelyik
Változók beállítása Bármelyik
Ügynök verziója 2.0.0 vagy újabb
Feladatkategória Segédprogram