Partager via


GitHubRelease@0 - Tâche GitHub Release v0

Utilisez cette tâche pour créer, modifier ou supprimer une version de GitHub.

Syntax

# GitHub Release v0
# Create, edit, or delete a GitHub release.
- task: GitHubRelease@0
  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: 'auto' # 'auto' | 'manual'. Required when action = create. Tag source. Default: auto.
    #tagPattern: # string. Optional. Use when tagSource = auto. Tag Pattern. 
    #tag: # string. Required when action = edit || action = delete || tagSource = manual. Tag. 
    #title: # string. Optional. Use when action = create || action = edit. Release title. 
    #releaseNotesSource: 'file' # 'file' | 'input'. Optional. Use when action = create || action = edit. Release notes source. Default: file.
    #releaseNotesFile: # string. Optional. Use when releaseNotesSource = file. Release notes file path. 
    #releaseNotes: # string. Optional. Use when releaseNotesSource = input. 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" }].
# GitHub Release v0
# Create, edit, or delete a GitHub release.
- task: GitHubRelease@0
  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: 'auto' # 'auto' | 'manual'. Required when action = create. Tag source. Default: auto.
    #tag: # string. Required when action = edit || action = delete || tagSource = manual. Tag. 
    #title: # string. Optional. Use when action = create || action = edit. Release title. 
    #releaseNotesSource: 'file' # 'file' | 'input'. Optional. Use when action = create || action = edit. Release notes source. Default: file.
    #releaseNotesFile: # string. Optional. Use when releaseNotesSource = file. Release notes file path. 
    #releaseNotes: # string. Optional. Use when releaseNotesSource = input. 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.

Entrées

gitHubConnection - Connexion GitHub (OAuth ou PAT)
string. Obligatoire.

Spécifie le nom de la connexion de service GitHub à utiliser pour se connecter au dépôt GitHub. La connexion doit être basée sur un jeton d’accès personnel ou OAuth d’un utilisateur GitHub. Pour plus d’informations sur les connexions de service, consultez Gérer les connexions de service.


repositoryName - Référentiel
string. Obligatoire. Valeur par défaut : $(Build.Repository.Name).

Spécifie le nom du dépôt GitHub dans lequel vous allez créer, modifier ou supprimer la version de GitHub.


action - Action
string. Obligatoire. Valeurs autorisées : create, edit, delete. Valeur par défaut : create.

Spécifie le type d’opération de mise en production à effectuer. Cette tâche peut créer, modifier ou supprimer une version de GitHub.


target - Cible
string. Nécessaire lorsque action = create || action = edit. Valeur par défaut : $(Build.SourceVersion).

Spécifie le SHA de validation que vous souhaitez utiliser pour créer la version GitHub, par exemple 48b11d8d6e92a22e3e9563a3f643699c16fd6e27. Vous pouvez également utiliser une variable, comme $(myCommitSHA), dans ce champ.


tagSource - Source de l’étiquette
string. Nécessaire lorsque action = create. Valeurs autorisées : auto (balise Git), manual (balise spécifiée par l’utilisateur). Valeur par défaut : auto.

Spécifie la balise que vous souhaitez utiliser pour la création de mise en production. L’option auto (balise Git) utilise automatiquement la balise associée à la validation Git. Utilisez l’option manual (balise spécifiée par l’utilisateur) pour fournir manuellement une balise.


tagPattern - Modèle de balise
string. facultatif. Utilisez quand tagSource = auto.

Spécifie le modèle de balise Git à l’aide de regex, par exemple release-v1.*. La version GitHub sera créée uniquement pour les commits qui ont une balise Git correspondante.


tag - Étiquette
string. Nécessaire lorsque action = edit || action = delete || tagSource = manual.

Spécifie la balise que vous souhaitez utiliser lorsque vous créez, modifiez ou supprimez une mise en production. Vous pouvez également utiliser une variable, comme $(myTagName), dans ce champ.


title - Titre de la version
string. facultatif. Utilisez quand action = create || action = edit.

Spécifie le titre de la version GitHub. Si elle est vide, la balise est utilisée comme titre de publication.


releaseNotesSource - Source des notes de publication
string. facultatif. Utilisez quand action = create || action = edit. Valeurs autorisées : file (fichier notes de publication), input (notes de publication inline). Valeur par défaut : file.

Spécifie la description de la version GitHub. Utilisez l’option file (Fichier notes de publication) pour utiliser le contenu du fichier comme notes de publication. Utilisez l’option input (Notes de publication inline) pour entrer manuellement les notes de publication.


releaseNotesFile - Chemin du fichier de notes de publication
string. facultatif. Utilisez quand releaseNotesSource = file.

Spécifie le fichier qui contient les notes de publication.


releaseNotes - Notes de publication
string. facultatif. Utilisez quand releaseNotesSource = input.

Spécifie les notes de publication. Markdown est pris en charge.


assets - Actifs
string. facultatif. Utilisez quand action = create || action = edit. Valeur par défaut : $(Build.ArtifactStagingDirectory)/*.

Spécifie les fichiers que vous souhaitez charger en tant que ressources de la version. Vous pouvez utiliser des caractères génériques pour spécifier plusieurs fichiers. Par exemple, utilisez pour les $(Build.ArtifactStagingDirectory)/*.zip pipelines de build ou utilisez $(System.DefaultWorkingDirectory)/*.zip pour les pipelines de mise en production.

Vous pouvez également spécifier plusieurs modèles, un par ligne. Par défaut, tous les fichiers du $(Build.ArtifactStagingDirectory) répertoire sont chargés. Pour plus d’informations sur la liste des variables prédéfinies disponibles, consultez variables de génération et variables de mise en production.


assetUploadMode - Mode de chargement des ressources
string. facultatif. Utilisez quand action = edit. Valeurs autorisées : delete (Supprimer les ressources existantes), replace (Remplacer les ressources existantes). Valeur par défaut : delete.

Spécifie le mode de chargement de la ressource que vous souhaitez utiliser. Utilisez l’option delete (Supprimer les ressources existantes) pour d’abord supprimer toutes les ressources existantes dans la version, puis charger toutes les ressources. Utilisez l’option replace (Remplacer les ressources existantes) pour remplacer toutes les ressources portant le même nom.


isDraft - Version préliminaire
boolean. facultatif. Utilisez quand action = create || action = edit. Valeur par défaut : false.

Indique si vous souhaitez enregistrer la mise en production en tant que brouillon (non publié). Si falsela valeur est , la version sera publiée.


isPreRelease - Préversion
boolean. facultatif. Utilisez quand action = create || action = edit. Valeur par défaut : false.

Indique si vous souhaitez marquer la version en tant que préversion.


addChangeLog - Ajouter un journal des modifications
boolean. facultatif. Utilisez quand action = create || action = edit. Valeur par défaut : true.

Spécifie si vous souhaitez inclure un journal des modifications. Si la truevaleur est définie sur , une liste des modifications (validations et problèmes) entre la version actuelle et la dernière version publiée est générée et ajoutée aux notes de publication.


changeLogCompareToRelease - Comparer à
string. Nécessaire lorsque addChangeLog = true. Valeurs autorisées : lastFullRelease (Dernière version complète), lastNonDraftRelease (Dernière version non brouillon), lastNonDraftReleaseByTag (Dernière version non brouillon par balise). Valeur par défaut : lastFullRelease.

Indique la version à laquelle comparer pour générer le journal des modifications :

  • lastFullRelease (Dernière version complète) : compare la version actuelle à la version non-brouillon la plus récente qui n’est pas marquée comme préversion.
  • lastNonDraftRelease (Dernière version non brouillon) : compare la version actuelle à la version non brouillon la plus récente.
  • lastNonDraftReleaseByTag (Dernière version non brouillon par balise) : compare la version actuelle à la dernière version non brouillon correspondant à la balise spécifiée. Vous pouvez également spécifier une expression régulière au lieu d’une balise exacte.

changeLogCompareToReleaseTag - Balise de mise en production
string. Nécessaire lorsque changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true.

Spécifie l’expression régulière pour la balise de mise en production. Une mise en production correspondant à cette balise sera utilisée comme base pour le calcul du journal des modifications.


changeLogType - Type de journal des modifications
string. Nécessaire lorsque addChangeLog = true. Valeurs autorisées : commitBased (basé sur la validation), issueBased (basé sur le problème). Valeur par défaut : commitBased.

Spécifie le type de journal des modifications. Un journal des modifications peut être basé sur la validation ou sur un problème. Un journal des modifications basé sur la validation répertorie tous les commits inclus dans une version. Un journal des modifications basé sur les problèmes répertorie tous les problèmes ou demandes de tirage inclus dans la version.


changeLogLabels - Catégories
string. facultatif. Utilisez quand changeLogType = issueBased && addChangeLog = true. Valeur par défaut : [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }].

Classe les modifications en fonction de l’étiquette associée au problème ou à la demande de tirage. Pour une étiquette, vous pouvez mention le nom d’affichage de la catégorie et l’état du problème. Voici quelques exemples d’étiquettes : "[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]". Dans les cas où une modification comporte plusieurs étiquettes, la première étiquette spécifiée est prioritaire. Laissez ce champ vide pour afficher une liste plate de problèmes ou de demandes de tirage.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Notes

Une version plus récente de cette tâche est disponible à GitHubRelease@1.

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 2.0.0 ou version ultérieure
Catégorie de la tâche Utilitaire