Skip to content

TFS Extension Auto-Updating, Extension Version Compatibility List, and Use of Newer api-version Breaks Compatibility with TFS 2017 #527

Description

@mesheets

Azure DevOps Extension you are using

Set Variable on a Build Definition

Where are you running it?

TFS 2017 Version 15.117.27414.0

Version of Extension/Task

richardfennellBM.BM-VSTS-BuildUpdating-Tasks-1.14.1

Expected behaviour and actual behavior

This issue is somewhat related to issue #497 but is not exactly the same, as will be described below.
Attempting to run the Set Variable on a Build Definition task to increment a build variable fails with the following error message: "Exception calling "DownloadString" with "1" argument(s): "The remote server returned an error: (404) Not Found"

Steps to reproduce the problem

  1. Have a version of richardfennellBM.BM-VSTS-BuildUpdating-Tasks that is compatible with TFS 2017 installed on TFS 2017 Version 15.117.27414.0 (e.g. 1.4.1, for which the build at https://dev.azure.com/richardfennell/GitHub/_build/results?buildId=1104 is no longer available).
  2. Include the Set Variable on a Build Definition task in a build definition
  3. Configure the Set Variable on a Build Definition task to increment a build variable
  4. Allow TFS 2017 Version 15.117.27414.0 to run for a period of time (at least a day or more); at some point, it will automatically attempt to update installed extensions (not sure if this might have been triggered sometime following the release of richardfennellBM.BM-VSTS-BuildUpdating-Tasks version 1.14.1); please refer to the links below regarding this extension auto-update functionality.
  5. The richardfennellBM.BM-VSTS-BuildUpdating-Tasks-1.14.1 extension apparently includes in its metadata that it is compatible with TFS 2017
  6. Since there is a new version and richardfennellBM.BM-VSTS-BuildUpdating-Tasks-1.14.1 does not flag that it is incompatible with TFS 2017, TFS automatically updates the richardfennellBM.BM-VSTS-BuildUpdating-Tasks extension to 1.14.1 (as noted in issue Bit Based WIKI Updater - Error: spawn git ENOENT #497, the only real incompatibility is that the api-version is newer than 3.0; however, in testing and troubleshooting related to issue Bit Based WIKI Updater - Error: spawn git ENOENT #497, there did not appear to be any actual dependency in "Set Variable on a Build Definition" requiring the use of a newer api-version, so use of a newer api-version appeared to be unnecessary)
  7. Queue the build definition that uses the "Set Variable on a Build Definition" task
  8. Build fails with the error message noted in the "Expected behaviour and actual behavior
    " section above

Additional information

Based on testing that was done more specifically in relation to issue #497, it appeared there was nothing within the "Set Variable on a Build Definition" task that actually required use of an api-version newer than 3.0 (c.f. commit 19f489b#diff-765596521f90e301d3fd98e2a7f78de7 ).

Question

Is there any specific known functionality within the latest version of the "Set Variable on a Build Definition" task in the richardfennellBM.BM-VSTS-BuildUpdating-Tasks extension that is known to require use of an api-version newer than 3.0 that perhaps might have been missed when reviewing api-version differences?

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions