Partager via


FileTransform@1 - Tâche de transformation de fichier v1

Utilisez cette tâche pour remplacer les jetons par des valeurs de variable dans des fichiers de configuration XML ou JSON.

Syntax

# File transform v1
# Replace tokens with variable values in XML or JSON configuration files.
- task: FileTransform@1
  inputs:
    folderPath: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #enableXmlTransform: false # boolean. XML transformation. Default: false.
    #xmlTransformationRules: '-transform **\*.Release.config -xml **\*.config' # string. Optional. Use when enableXmlTransform == true. Transformation rules. Default: -transform **\*.Release.config -xml **\*.config.
  # Variable Substitution
    #fileType: # 'xml' | 'json'. File format. 
    #targetFiles: # string. Optional. Use when fileType = xml || fileType = json. Target files.
# File transform v1
# Replace tokens with variable values in XML or JSON configuration files.
- task: FileTransform@1
  inputs:
    folderPath: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #enableXmlTransform: false # boolean. XML transformation. Default: false.
    #xmlTransformationRules: # string. Optional. Use when enableXmlTransform == true. Transformation rules. 
  # Variable Substitution
    #fileType: # 'xml' | 'json'. File format. 
    #targetFiles: # string. Optional. Use when fileType = xml || fileType = json. Target files.

Entrées

folderPath - Package ou dossier
string. Obligatoire. Valeur par défaut : $(System.DefaultWorkingDirectory)/**/*.zip.

Chemin d’accès au package ou à un dossier.

Les variables sont Build et Release. Les caractères génériques sont pris en charge.

Par exemple : $(System.DefaultWorkingDirectory)/**/*.zip.


enableXmlTransform - Transformation XML
boolean. Valeur par défaut : false.

Les transformations de configuration seront exécutées avant la substitution de variable.

Les transformations XML sont prises en charge uniquement pour la plateforme Windows.


xmlTransformationRules - Règles de transformation
string. facultatif. Utilisez quand enableXmlTransform == true. Valeur par défaut : -transform **\*.Release.config -xml **\*.config.

Fournit une nouvelle liste de règles de fichier de transformation séparées par des lignes à l’aide de la syntaxe :

-transform <pathToTransformFile> -xml <pathToSourceConfigurationFile>.


xmlTransformationRules - Règles de transformation
string. facultatif. Utilisez quand enableXmlTransform == true. Valeur par défaut : -transform **\*.Release.config -xml **\*.config\n-transform **\*.$(Release.EnvironmentName).config -xml **\*.config.

Fournit une liste séparée par une nouvelle ligne de règles de fichier de transformation à l’aide de la syntaxe :

-transform <pathToTransformFile> -xml <pathToSourceConfigurationFile>.


fileType - Format de fichier
string. Valeurs autorisées : xml, json.

Fournit le format de fichier sur lequel la substitution est perfformée.

Pour XML, les variables définies dans les pipelines de build ou de mise en production sont mises en correspondance avec les entrées ou name dans les appSettingssections , applicationSettingset connectionStrings de tout fichier de configuration et parameters.xml.key Variable Substitution est exécuté après les transformations de configuration.

Pour remplacer les variables JSON imbriquées ou hiérarchiques, spécifiez-les avec des expressions JSONPath.

Par exemple, pour remplacer la valeur de ConnectionString dans l’exemple ci-dessous, vous devez définir une variable comme Data.DefaultConnection.ConnectionString dans le pipeline de build ou de mise en production (ou l’environnement du pipeline de mise en production).

{
  "Data": {
    "DefaultConnection": {
      "ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
    }
  }
}

La substitution de variable est exécutée après les transformations de configuration.

Remarque : Seules les variables personnalisées définies dans les pipelines de build/mise en production sont utilisées en substitution. Les variables de pipeline définies par défaut/par le système sont exclues. Si les mêmes variables sont définies dans le pipeline de mise en production et dans la phase, les variables d’étape remplacent les variables de pipeline de mise en production.


targetFiles - Fichiers cibles
string. facultatif. Utilisez quand fileType = xml || fileType = json.

Fournit une liste de fichiers séparés par une nouvelle ligne pour remplacer les valeurs de variable. Les noms de fichiers doivent être fournis par rapport au dossier racine.


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 à FileTransform@2.

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 Toutes les versions d’agent prises en charge.
Catégorie de la tâche Utilitaire