TFS 2015 Artifact Variables

If, like me, you have been trying to use Artifact Variables with any flavour of TFS, then I have bad news for you. Artifact Variables are not going to be in the box in TFS 2015. The latest I have heard is that they will be in the TFS 2016 time frame.

Brief History

If you don't know what Artifact Variables are, they essentially make it easier to work with multiple artifacts in a single release. They are a series of variables that are specific to each artifact.

What's the problem?

TFS/VSTS comes with a load of variables that are available to you throughout the release pipeline. However, if you have multiple artifacts, then these become much less useful.

For example, the in-built variable BUILD_BUILDNUMBER will return the BuildNumber of the build that triggered the release. But what if you need the build number of each of the artifacts? This is what Artifact Variables would usually give you.

You can read more about Artifact Variables here.

Solution

To solve this issue, I have written an extension and published it to the Market Place. You can find the extension here https://marketplace.visualstudio.com/items?itemName=gregpakes.artifact-variables.

Remember to add the new task into your release pipeline. This is required for the task to work.

The github repo can be found here https://github.com/gregpakes/ArtifactVariables.

The extension does not supply all the variables covered in the Microsoft Documentation. At the moment, it covers:

  • Definition Id: ReleaseArtifacts.{ArtifactName}.DefinitionId
  • Definition Name: ReleaseArtifacts.{ArtifactName}.DefinitionName
  • Build Number: ReleaseArtifacts.{ArtifactName}.BuildNumber
  • Build Id: ReleaseArtifacts.{ArtifactName}.BuildId