Megosztás:


GitHubRelease@1 – GitHub Release v1 feladat

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

Szinopszis

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

Bemenetek

gitHubConnection - GitHub-kapcsolat (OAuth vagy PAT)
string. Szükséges.

Megadja a GitHub-tárházhoz való csatlakozáshoz használandó GitHub-szolgáltatáskapcsolat nevét. A kapcsolatnak egy GitHub-felhasználó OAuth-ján vagy egy GitHub személyes hozzáférési jogkivonatán kell alapulnia. További információ a szolgáltatáskapcsolatokról: Szolgáltatáskapcsolatok kezelése.


repositoryName - adattár
string. Szükséges. Alapértelmezett érték: $(Build.Repository.Name).

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


action - művelet
string. Szükséges. Engedélyezett értékek: create, edit, delete. Alapértelmezett érték: create.

Megadja 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. action = create || action = editesetén kötelező. 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 vagy ágnevet, például 48b11d8d6e92a22e3e9563a3f643699c16fd6e27 vagy main. Ezen a mezőben egy változót is használhat, például $(myCommitSHA).


tagSource - címkeforrás-
string. action = createesetén kötelező. 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. A címke manuális megadásához használja a userSpecifiedTag lehetőséget.


tagPattern - címkeminta
string. Opcionális. Használja a tagSource = gitTag.

A Git-címkemintát regex használatával adja meg, 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 - címke
string. action = edit || action = delete || tagSource = userSpecifiedTagesetén kötelező.

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


title - kiadási cím
string. Opcionális. Használja a action = create || action = edit.

Megadja a GitHub-kiadás címét. Ha üres marad, a rendszer a címkét fogja használni a kiadási címként.


releaseNotesSource - Kibocsátási megjegyzések forrásának
string. Opcionális. Használja a 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. A filePath (Kibocsátási megjegyzések fájl) beállítással a fájltartalmakat kibocsátási megjegyzésekként használhatja. A inline (beágyazott kibocsátási megjegyzések) beállítással manuálisan írhat be kibocsátási megjegyzéseket


releaseNotesFilePath - Kibocsátási megjegyzések fájl elérési útja
string. Opcionális. Használja a releaseNotesSource = filePath.

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


releaseNotesInline - Kibocsátási megjegyzések
string. Opcionális. Használja a releaseNotesSource = inline.

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


assets - Eszközök
string. Opcionális. Használja a action = create || action = edit. Alapértelmezett érték: $(Build.ArtifactStagingDirectory)/*.

Megadja a kiadás eszközeiként feltölteni kívánt fájlokat. Helyettesítő karakterek használatával több fájlt is megadhat. Használjon például $(Build.ArtifactStagingDirectory)/*.zip vagy $(System.DefaultWorkingDirectory)/*.zip kiadási folyamatokhoz.

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 változók és kiadási változókcímű cikkben talál.


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

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


isDraft - draft kiadási
boolean. Opcionális. Használja a 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 - kiadás előtti
boolean. Opcionális. Használja a action = create || action = edit. Alapértelmezett érték: false.

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


makeLatest - Legfrissebb
string. Opcionális. Használja a action = create || action = edit. Engedélyezett értékek: true, false, legacy. Alapértelmezett érték: true.

Határozd meg, hogy ezt a kiadást jelöljük-e meg a tároló "legfrissebb" kiadásának. Állítsd 'hamis'-ra, hogy ne jelölje ezt a kiadást legfrissebbnek, vagy 'legacy' a GitHub legacy leglatest release -meghatározásának felhasználására, amely a létrehozási dátum és a szemantikai verziózás alapján történik.


addChangeLog - Változásnapló hozzáadása
boolean. Opcionális. Használja a action = create || action = edit. Alapértelmezett érték: true.

Megadja, hogy szeretne-e változásnaplót felvenni. Ha trueértékre van á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. addChangeLog = trueesetén kötelező. Engedélyezett értékek: lastFullRelease (Utolsó teljes kiadás), lastNonDraftRelease (Legutóbbi nem piszkozat kiadás), lastNonDraftReleaseByTag (Utolsó nem piszkozat kiadás címke szerint). Alapértelmezett érték: lastFullRelease.

Azt jelzi, hogy melyik kiadással kell összehasonlítani a változásnapló 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 piszkozat kiadás): Összehasonlítja a jelenlegi kiadást a legújabb nem piszkozat kiadással.
  • lastNonDraftReleaseByTag (Utolsó nem vázlatos kiadás címke szerint): Összehasonlítja az aktuális kiadást a megadott címkével egyező legutóbbi, nem piszkozatos kiadással. Pontos címke helyett regexet is megadhat.

changeLogCompareToReleaseTag - kiadási címke
string. changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = trueesetén kötelező.

Megadja a kiadási címke regexjét. Az ennek a címkének megfelelő kiadás lesz a változásnapló-számítások alapja.


changeLogType - Változásnapló típusa
string. addChangeLog = trueesetén kötelező. 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ó lehet véglegesítésalapú vagy problémaalapú. A véglegesítésen alapuló 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érést.


changeLogLabels - kategóriák
string. Opcionális. Használja a changeLogType = issueBased && addChangeLog = true. Alapértelmezett érték: [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }].

Kategorizálja a módosításokat a problémával vagy a lekéréses kérelemmel 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. 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 is rendelkezik, az első megadott címke elsőbbséget élvez. Hagyja üresen ezt a mezőt a problémák vagy ARS-ek egyszerű 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ők és gyakori feladattulajdonságok.

Kimeneti változók

Nincs.

Megjegyzések

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

GitHub-szolgáltatáskapcsolat

Ehhez a feladathoz GitHub-szolgáltatáskapcsolatra van szükség, Írás engedéllyel a GitHub-adattárhoz. GitHub-szolgáltatáskapcsolatot hozhat létre az Azure Pipelines-projektben. A létrehozás után használja a szolgáltatáskapcsolat nevét a feladat beállításai között.

Példák

GitHub-kiadás létrehozása

Az alábbi YAML minden alkalommal létrehoz egy GitHub-kiadást, amikor a feladat fut. 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 objektumként lesz feltöltve. Alapértelmezés szerint a feladat létrehoz egy változásnaplót (a kiadás részét képező véglegesítések és 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: gitTag
    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. Az alábbi 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 a tevékenységfeltételekkel együtt használni, hogy még finomabb vezérlést kapjon a tevékenység 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 a GitHub-kiadás állapotát a "piszkozatbó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 bekapcsolva Ügynök, DeploymentGroup
Követelmények Egyik sem
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ármely
Változók beállítása Bármely
Ügynök verziója 2.0.0 vagy újabb
Tevékenységkategória Hasznosság