{"id":27942445,"url":"https://github.com/jessehouwing/azure-pipelines-variable-tasks","last_synced_at":"2026-01-07T12:15:47.594Z","repository":{"id":42575868,"uuid":"53141239","full_name":"jessehouwing/azure-pipelines-variable-tasks","owner":"jessehouwing","description":"Simple build tasks to manipulate variables.","archived":false,"fork":false,"pushed_at":"2025-05-02T12:15:29.000Z","size":1592,"stargazers_count":24,"open_issues_count":6,"forks_count":8,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-02T13:27:50.841Z","etag":null,"topics":["azure-devops","azure-devops-extension","azure-pipelines","azure-pipelines-task"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=jessehouwing.jessehouwing-vsts-variable-tasks","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jessehouwing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"jessehouwing","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://www.paypal.me/jessehouwing/5"}},"created_at":"2016-03-04T14:34:58.000Z","updated_at":"2025-04-29T11:41:05.000Z","dependencies_parsed_at":"2024-05-03T23:23:44.295Z","dependency_job_id":"1b3be82b-cf61-4d1f-a7a9-1ea3e8487a3a","html_url":"https://github.com/jessehouwing/azure-pipelines-variable-tasks","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jessehouwing%2Fazure-pipelines-variable-tasks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jessehouwing%2Fazure-pipelines-variable-tasks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jessehouwing%2Fazure-pipelines-variable-tasks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jessehouwing%2Fazure-pipelines-variable-tasks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jessehouwing","download_url":"https://codeload.github.com/jessehouwing/azure-pipelines-variable-tasks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252869607,"owners_count":21817062,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-devops","azure-devops-extension","azure-pipelines","azure-pipelines-task"],"created_at":"2025-05-07T11:33:43.179Z","updated_at":"2026-01-07T12:15:42.558Z","avatar_url":"https://github.com/jessehouwing.png","language":"PowerShell","funding_links":["https://github.com/sponsors/jessehouwing","https://www.paypal.me/jessehouwing/5"],"categories":[],"sub_categories":[],"readme":"# Release Notes\n\n\u003e **19-09-2023**\n\u003e - Added the ability to lift an enviroment variable from the agent to a workflow variable.\n\n\u003e **05-12-2022**\n\u003e - Changed: Upped version to 3.*\n\u003e - Updated to `Azure-pipelines-task-lib@4`\n\u003e - Updated to Node 16 (available in `@3`)\n\u003e - Removed Node 6 support from v3 (available for backwards-compat through `@2`)\n\u003e - Dropped dependency on core-js for v3.\n\n\u003e **19-10-2021**\n\u003e - Added: Ability to update ReleaseName with the new command string required in Azure DevOps 2020.\n\u003e - Added: Backwards compat option for Azure DevOps 2019 and below\n\u003e - Changed: Upped version number to 2.*\n\n\u003e **15-04-2020**\n\u003e - Fixed: [#48 Update to latest task-lib contains a breaking change](https://github.com/jessehouwing/azure-pipelines-variable-tasks/issues/48)\n\u003e - Added: \"Use Tasklib\" option under Advanced section to control escape behavior introduced in [recent tasklib](https://github.com/microsoft/azure-pipelines-task-lib/commits/master/node/taskcommand.ts)\n\u003e - Updated: moved to latest Task SDK and dependencies\n\n\u003e **23-01-2018**\n\u003e - Changed: Re-implemented Variable-Set in v3 PowerShell handler for better performance.\n\u003e - Fixed: Pad-left and Pad-right now uses core-js library.\n\u003e - Updated: moved to latest Task SDK and dependencies.\n \n\u003e **17-11-2017**\n\u003e - Fixed: Set Build.BuldNumber doesn't work on most recent Windows Build agents. Updated to VSTS-Task-Lib 2.1.0 to fix.\n\n\u003e **1-9-2016**\n\u003e - Fixed: Expand Variable Task throws an error on Agent 2.x, you can now remove this task, it is no longer needed.\nThe new agent will automatically expand all variables.\n\n\u003e **20-5-2016**\n\u003e - Removed: Preview flag\n\n\u003e **19-5-2016**\n\u003e - Fixed: Replace with \"\" would result in \"nullOriginalValue\"\n\n\n# Description\n\nThis Extension contains a slowly growing collection of tasks that help you manipulate and (soon) validate the values of build variables.\n\n# Set Variable\nHave you ever wanted to change the value of a variable between multiple build steps? Simply add the **Set Variable** task to your workflow and tell it which value you want to assign to which variable.\n\nYou can use the value of other build variables to setup the value.\n\n\u003e **Set: 'Build.DropLocation' to '\\\\\\\\share\\drops\\$(Build.DefinitionName)\\$(Build.BuildNumber)'** \n\u003e \n\u003e * *Variablename*: `Build.DropLocation`\n\u003e * *Value*: `\\\\share\\drops\\$(Build.DefinitionName)\\$(Build.BuildNumber)`\n\nBy assigning to the `Build.BuildNumber` variable, the build number of the Build will be updated/overwritten.\n\n# Transform value and assign to Variable\nIf you need to do more advanced transformations of your values, use the transform task. You can use it to encode/decode the value and apply a number of simpe string manipulations, including Search \u0026 Replace, Change Case, Trim, Pad etc.\n\nYou can use the value of other build variables to setup the value.\n\n\u003e **Transform: 'your value here' and assign to Variable: VariableName'** \n\u003e \n\u003e * *Input Value*: `\\\\share\\drops\\$(Build.DefinitionName)\\$(Build.BuildNumber)`\n\u003e * *Variablename*: `Build.DropLocation`\n\nBy assigning to the `Build.BuildNumber` variable, the build number of the Build will be updated/overwritten.\n\nYou can apply the following manipulations (they'll be exectuted in the specified order):\n\n\u003e **Manipulation** \n\u003e \n\u003e * [x] *Search \u0026 Replace*\n\u003e  * Use: `Basic`\n\u003e  * Search: `$Build.DefinitionName`\n\u003e  * Replacement: `%%Placeholder%%`\n\u003e * [x] Trim\n\u003e * [ ] Slice\n\u003e * [ ] Substring\n\u003e * [ ] Change Case\n\u003e * [ ] Pad\n\nAnd finally you can transform (encode/decode) the string using:\n\n\u003e * Base64\n\u003e * Uri\n\u003e * UriComponent\n\u003e * AddSlashes / StripSlashes\n\n# Expand Variables [DEPRECATED]\nHave you ever wanted to use the value from one variable in another variable? Unfortunately, that's not possible with the standard Variables screen.\n\n| Variable             | Value                                                        |\n| -------------------- | ------------------------------------------------------------ |\n| Build.DropLocation   | \\\\\\\\share\\drops\\$(Build.DefinitionName)\\$(Build.BuildNumber) |\n\nWill simply send the literal text to the tasks in your workflow.\n\nAdd the Expand Variable(s) task to the top of your build steps and it will take care of the expansion for you. It even supportes multiple levels of nested variables!\n\n\u003e **Expand variable: 'Build.DropLocation'**\n\u003e\n\u003e * *Variablename(s)*: `Build.DropLocation`\n\nWill expand your drop location variable to:\n\n| Variable             | Value                                                        |\n| -------------------- | ------------------------------------------------------------ |\n| Build.DropLocation   | \\\\\\\\share\\drops\\My Definition\\My Definition_1.2.123          |\n\nAnd to make your life easier it now supports simply expanding all your variables!\n\n\u003e **Expand variable: '*'**\n\u003e\n\u003e * *Variablename(s)*: `*`\n\n\n# Documentation\n\nPlease check the [Wiki](https://github.com/jessehouwing/vsts-variable-tasks/wiki).\n\nIf you like this extension, please leave a review and feedback. If you'd have suggestions or an issue, please [file an issue to give me a chance to fix it](https://github.com/jessehouwing/vsts-variable-tasks/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjessehouwing%2Fazure-pipelines-variable-tasks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjessehouwing%2Fazure-pipelines-variable-tasks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjessehouwing%2Fazure-pipelines-variable-tasks/lists"}