Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
GitHub sürümü oluşturmak, düzenlemek veya silmek için bu görevi kullanın.
Sözdizimi
# 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" }].
Girişler
GitHub bağlantısı (OAuth veya PAT)gitHubConnection -
string. Gerekli.
GitHub deposuna bağlanmak için kullanılacak GitHub hizmet bağlantısının adını belirtir. Bağlantı, GitHub kullanıcısının OAuth veya GitHub kişisel erişim belirtecini temel almalıdır. Hizmet bağlantıları hakkında daha fazla bilgi için bkz. Hizmet bağlantılarını yönetme.
repositoryName
-
Deposu
string. Gerekli. Varsayılan değer: $(Build.Repository.Name).
GitHub sürümünü oluşturacağınız, düzenleyeceğiniz veya sileceğiniz GitHub deposunun adını belirtir.
action
-
Eylem
string. Gerekli. İzin verilen değerler: create, edit, delete. Varsayılan değer: create.
Gerçekleştirilecek serbest bırakma işleminin türünü belirtir. Bu görev bir GitHub sürümü oluşturabilir, düzenleyebilir veya silebilir.
hedeftarget -
string.
action = create || action = editgerekir. Varsayılan değer: $(Build.SourceVersion).
GitHub sürümünü oluşturmak için kullanmak istediğiniz işleme SHA veya dal adını belirtir, örneğin 48b11d8d6e92a22e3e9563a3f643699c16fd6e27 veya main. Bu alanda gibi bir değişken $(myCommitSHA)de kullanabilirsiniz.
tagSource
-
Etiket kaynağı
string.
action = creategerekir. İzin verilen değerler: gitTag (Git etiketi), userSpecifiedTag (Kullanıcı tarafından belirlenen etiket). Varsayılan değer: gitTag.
Yayın izni oluşturmak için kullanmak istediğiniz etiketi belirtir. Bu gitTag seçenek, Git işlemesiyle ilişkilendirilmiş etiketi otomatik olarak kullanır.
userSpecifiedTag Etiketi manuel olarak sağlama seçeneğini kullanın.
tagPattern
-
Etiket Deseni
string. Opsiyonel.
tagSource = gitTagolduğunda kullanın.
Normal ifade kullanarak Git etiket desenini belirtir, örneğin release-v1.*. GitHub sürümü yalnızca eşleşen Git etiketine sahip işlemeler için oluşturulur.
tag
-
Etiketi
string.
action = edit || action = delete || tagSource = userSpecifiedTaggerekir.
Bir yayın izni oluştururken, düzenlerken veya silerken kullanmak istediğiniz etiketi belirtir. Bu alanda gibi bir değişken $(myTagName)de kullanabilirsiniz.
title
-
Yayın başlığı
string. Opsiyonel.
action = create || action = editolduğunda kullanın.
GitHub sürümünün başlığını belirtir. Boş bırakılırsa etiket, yayın izni başlığı olarak kullanılır.
releaseNotesSource
-
Sürüm notları kaynağı
string. Opsiyonel.
action = create || action = editolduğunda kullanın. İzin verilen değerler: filePath (Sürüm notları dosyası), inline (Satır içi sürüm notları). Varsayılan değer: filePath.
GitHub sürümünün açıklamasını belirtir.
filePath Dosya içeriğini sürüm notları olarak kullanmak için (Sürüm notları dosyası) seçeneğini kullanın. Sürüm notlarını inline manuel olarak girmek için (Satır içi sürüm notları) seçeneğini kullanın
releaseNotesFilePath
-
Sürüm notları dosya yolu
string. Opsiyonel.
releaseNotesSource = filePatholduğunda kullanın.
Sürüm notlarını içeren dosyayı belirtir.
releaseNotesInline
-
Sürüm notları
string. Opsiyonel.
releaseNotesSource = inlineolduğunda kullanın.
Sürüm notlarını belirtir. Markdown desteklenir.
assets
-
Varlık
string. Opsiyonel.
action = create || action = editolduğunda kullanın. Varsayılan değer: $(Build.ArtifactStagingDirectory)/*.
Yayın varlığı olarak karşıya yüklemek istediğiniz dosyaları belirtir. Birden çok dosya belirtmek için joker karakterler kullanabilirsiniz. Örneğin, yayın işlem hatları için kullanın $(Build.ArtifactStagingDirectory)/*.zip veya kullanın $(System.DefaultWorkingDirectory)/*.zip .
Ayrıca, her satırda bir tane olmak üzere birden çok desen belirtebilirsiniz. Varsayılan olarak, dizindeki $(Build.ArtifactStagingDirectory) tüm dosyalar karşıya yüklenir. Kullanılabilir önceden tanımlanmış değişkenlerin listesi hakkında daha fazla bilgi için bkz: yapı değişkenleri ve yayın değişkenleri.
assetUploadMode
-
Varlık yükleme modu
string. Opsiyonel.
action = editolduğunda kullanın. İzin verilen değerler: delete (Mevcut varlıkları sil), replace (Mevcut varlıkları değiştir). Varsayılan değer: delete.
Kullanmak istediğiniz varlık yükleme modunu belirtir.
delete Önce sürümdeki mevcut varlıkları silmek ve ardından tüm varlıkları yüklemek için (Mevcut varlıkları sil) seçeneğini kullanın.
replace Aynı ada sahip varlıkları değiştirmek için (Mevcut varlıkları değiştir) seçeneğini kullanın.
isDraft
-
Taslak sürüm
boolean. Opsiyonel.
action = create || action = editolduğunda kullanın. Varsayılan değer: false.
Yayın izninin taslak (yayınlanmamış) olarak kaydedilmesi gerekip gerekmediğini belirtir. Eğer false, sürüm yayınlanacaktır.
isPreRelease
-
Yayın öncesi
boolean. Opsiyonel.
action = create || action = editolduğunda kullanın. Varsayılan değer: false.
Yayın izninin ön sürüm olarak işaretlenip işaretlenmeyeceğini belirtir.
makeLatest
-
En Son Yap
string. Opsiyonel.
action = create || action = editolduğunda kullanın. İzin verilen değerler: true, false, legacy. Varsayılan değer: true.
Bu sürümün depo için 'en son' sürüm olarak adlandırılıp adlandırılmadığını belirtin. Bu sürümün en son olarak işaretlenmesini önlemek için 'yanlış' olarak ayarlanabilir veya GitHub'un eski sürüm belirlemesini oluşturulma tarihi ve anlamsal sürüm olarak değerlendirmek için 'legacy' olarak ayarlanabilir.
addChangeLog
-
Değişiklik günlüğü ekle
boolean. Opsiyonel.
action = create || action = editolduğunda kullanın. Varsayılan değer: true.
Bir değişiklik günlüğü eklemek isteyip istemediğinizi belirtir. olarak ayarlanırsa true, geçerli sürüm ile son yayımlanan sürüm arasındaki değişikliklerin (işlemeler ve sorunlar) bir listesi oluşturulur ve sürüm notlarına eklenir.
changeLogCompareToRelease
-
Şununla karşılaştır
string.
addChangeLog = truegerekir. İzin verilen değerler: lastFullRelease (Son tam sürüm), lastNonDraftRelease (Son taslak olmayan sürüm), lastNonDraftReleaseByTag (Etikete göre son taslak olmayan sürüm). Varsayılan değer: lastFullRelease.
Değişiklik günlüğünü oluşturmak için hangi sürümle karşılaştırılacağını gösterir:
-
lastFullRelease(Son tam sürüm): Geçerli sürümü, ön sürüm olarak işaretlenmemiş en son taslak olmayan sürümle karşılaştırır. -
lastNonDraftRelease(Son taslak olmayan sürüm): Geçerli sürümü en son taslak olmayan sürümle karşılaştırır. -
lastNonDraftReleaseByTag(Etikete göre son taslak olmayan sürüm): Geçerli sürümü, belirtilen etiketle eşleşen son taslak olmayan sürümle karşılaştırır. Tam bir etiket yerine bir normal ifade de belirtebilirsiniz.
changeLogCompareToReleaseTag
-
Yayın Etiketi
string.
changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = truegerekir.
Yayın etiketi için normal ifadeyi belirtir. Bu etiketle eşleşen sürüm, değişiklik günlüğü hesaplaması için temel olarak kullanılacaktır.
changeLogType
-
Değişiklik türü
string.
addChangeLog = truegerekir. İzin verilen değerler: commitBased (İşleme tabanlı), issueBased (Sorun tabanlı). Varsayılan değer: commitBased.
Değişiklik günlüğü türünü belirtir. Bir değişiklik günlüğü, işleme tabanlı veya sorun tabanlı olabilir. İşleme tabanlı bir değişiklik günlüğü, bir yayına dahil edilen tüm işlemeleri listeler. Sorun tabanlı bir değişiklik günlüğü, sürümde yer alan tüm sorunları veya çekme isteklerini (PR) listeler.
changeLogLabels
-
Kategori
string. Opsiyonel.
changeLogType = issueBased && addChangeLog = trueolduğunda kullanın. Varsayılan değer: [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }].
Değişiklikleri, sorun veya çekme isteği ile ilişkili etikete göre kategorilere ayırır. Bir etiket için, kategorinin görünen adını ve veriliş durumunu belirtebilirsiniz. Etiketlere örnek olarak şunlar verilebilir: "[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]". Bir değişikliğin üzerinde birden fazla etiket olduğu durumlarda, ilk belirtilen etiket önceliklidir. Sorunların veya PR'lerin düz bir listesini görmek için bu alanı boş bırakın.
Görev denetim seçenekleri
Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz. Denetim seçenekleri ve ortak görev özellikleri.
Çıkış değişkenleri
Yok.
Açıklamalar
Bir GitHub sürümü oluşturmak, düzenlemek veya atmak için işlem hattınızda bu görevi kullanın.
GitHub hizmet bağlantısı
Bu görev, GitHub deposuna Yazma iznine sahip bir GitHub hizmet bağlantısı gerektirir. Azure Pipelines projenizde GitHub hizmet bağlantısı oluşturabilirsiniz. Oluşturulduktan sonra, bu görevin ayarlarında hizmet bağlantısının adını kullanın.
Örnekler
GitHub sürümü oluşturma
Aşağıdaki YAML, görev her çalıştırıldığında bir GitHub sürümü oluşturur. Yapı numarası, sürüm için etiket sürümü olarak kullanılır. $(Build.ArtifactStagingDirectory) klasöründeki tüm .exe dosyaları ve README.txt dosyaları varlık olarak karşıya yüklenir. Varsayılan olarak, görev ayrıca bir değişiklik günlüğü (bu sürümün parçası olan işlemelerin ve sorunların listesi) oluşturur ve bunu sürüm notları olarak yayımlar.
- 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
Ayrıca, depo etiketlerine göre sürümün oluşturulmasını da kontrol edebilirsiniz. Aşağıdaki YAML, yalnızca işlem hattını tetikleyen işlemenin kendisiyle ilişkilendirilmiş bir Git etiketi olduğunda bir GitHub sürümü oluşturur. GitHub sürümü, ilişkili Git etiketiyle aynı etiket sürümüyle oluşturulur.
- task: GithubRelease@1
displayName: 'Create GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
assets: $(Build.ArtifactStagingDirectory)/*.exe
Ayrıca, görevin ne zaman çalışacağı üzerinde daha da hassas bir denetim elde etmek ve böylece yayınların oluşturulmasını kısıtlamak için görevi görev koşullarıyla birlikte kullanmak isteyebilirsiniz. Örneğin, aşağıdaki YAML'de görev yalnızca işlem hattı 'refs/tags/release-v*' deseniyle eşleşen bir Git etiketi tarafından tetiklendiğinde çalışır.
- 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 sürümünü düzenleme
Aşağıdaki YAML, bir GitHub sürümünün durumunu 'taslak'tan 'yayımlandı' durumuna güncelleştirir. Düzenlenecek yayın izni, belirtilen etiket tarafından belirlenir.
- task: GithubRelease@1
displayName: 'Edit GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: edit
tag: $(myDraftReleaseVersion)
isDraft: false
GitHub sürümünü silme
Aşağıdaki YAML bir GitHub sürümünü siler. Silinecek yayın izni, belirtilen etiket tarafından belirlenir.
- task: GithubRelease@1
displayName: 'Delete GitHub Release'
inputs:
gitHubConnection: zenithworks
repositoryName: zenithworks/javaAppWithMaven
action: delete
tag: $(myDraftReleaseVersion)
Satır içi sürüm notları
Aşağıdaki YAML bir GitHub sürümü oluşturur ve satır içi sürüm notları ekler.
- 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>
Gereksinimler
| Gereksinim | Açıklama |
|---|---|
| İşlem hattı türleri | YAML, Klasik derleme, Klasik sürüm |
| Üzerinde çalışır | Aracı, DeploymentGroup |
| Talep | Hiç kimse |
| Özellikleri | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
| Komut kısıtlamaları | Herhangi biri |
| Ayarlanabilir değişkenleri | Herhangi biri |
| Aracı sürümü | 2.0.0 veya üzeri |
| Görev kategorisi | Fayda |