diff --git a/images/linux/Ubuntu1604-README.md b/images/linux/Ubuntu1604-README.md
index ae108c85..0fae6301 100644
--- a/images/linux/Ubuntu1604-README.md
+++ b/images/linux/Ubuntu1604-README.md
@@ -245,13 +245,13 @@ the
- alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
- alpine:3.8 (Digest: sha256:04696b491e0cc3c58a75bace8941c14c924b9f313b03ce5029ebbc040ed9dcd9)
- mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)
-- Python:
+- Python (available through the [Use Python Version](https://go.microsoft.com/fwlink/?linkid=871498) task)
- Python 2.7.16
- Python 3.5.7
- Python 3.6.9
- Python 3.7.5
- Python 3.8.0
-- Ruby:
+- Ruby (available through the [Use Ruby Version](https://go.microsoft.com/fwlink/?linkid=2005989) task)
- Ruby 2.4.6
- Ruby 2.5.5
- Ruby 2.6.3
diff --git a/images/linux/Ubuntu1804-README.md b/images/linux/Ubuntu1804-README.md
index 2ddfb548..337634dd 100644
--- a/images/linux/Ubuntu1804-README.md
+++ b/images/linux/Ubuntu1804-README.md
@@ -237,13 +237,13 @@ the
- alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
- alpine:3.8 (Digest: sha256:04696b491e0cc3c58a75bace8941c14c924b9f313b03ce5029ebbc040ed9dcd9)
- mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)
-- Python:
+- Python (available through the [Use Python Version](https://go.microsoft.com/fwlink/?linkid=871498) task)
- Python 2.7.16
- Python 3.5.7
- Python 3.6.9
- Python 3.7.5
- Python 3.8.0
-- Ruby:
+- Ruby (available through the [Use Ruby Version](https://go.microsoft.com/fwlink/?linkid=2005989) task)
- Ruby 2.4.6
- Ruby 2.5.5
- Ruby 2.6.3
diff --git a/images/linux/scripts/installers/1604/hosted-tool-cache.sh b/images/linux/scripts/installers/1604/hosted-tool-cache.sh
index fe9310cb..64030e18 100644
--- a/images/linux/scripts/installers/1604/hosted-tool-cache.sh
+++ b/images/linux/scripts/installers/1604/hosted-tool-cache.sh
@@ -27,13 +27,13 @@ for setup in $setups; do
cd $original_directory;
done;
-DocumentInstalledItem "Python:"
+DocumentInstalledItem "Python (available through the [Use Python Version](https://go.microsoft.com/fwlink/?linkid=871498) task)"
pythons=$(ls $AGENT_TOOLSDIRECTORY/Python)
for python in $pythons; do
DocumentInstalledItemIndent "Python $python"
done;
-DocumentInstalledItem "Ruby:"
+DocumentInstalledItem "Ruby (available through the [Use Ruby Version](https://go.microsoft.com/fwlink/?linkid=2005989) task)"
rubys=$(ls $AGENT_TOOLSDIRECTORY/Ruby)
for ruby in $rubys; do
DocumentInstalledItemIndent "Ruby $ruby"
diff --git a/images/linux/scripts/installers/1804/hosted-tool-cache.sh b/images/linux/scripts/installers/1804/hosted-tool-cache.sh
index 7c6b72d7..c4f159e9 100644
--- a/images/linux/scripts/installers/1804/hosted-tool-cache.sh
+++ b/images/linux/scripts/installers/1804/hosted-tool-cache.sh
@@ -27,13 +27,13 @@ for setup in $setups; do
cd $original_directory;
done;
-DocumentInstalledItem "Python:"
+DocumentInstalledItem "Python (available through the [Use Python Version](https://go.microsoft.com/fwlink/?linkid=871498) task)"
pythons=$(ls $AGENT_TOOLSDIRECTORY/Python)
for python in $pythons; do
DocumentInstalledItemIndent "Python $python"
done;
-DocumentInstalledItem "Ruby:"
+DocumentInstalledItem "Ruby (available through the [Use Ruby Version](https://go.microsoft.com/fwlink/?linkid=2005989) task)"
rubys=$(ls $AGENT_TOOLSDIRECTORY/Ruby)
for ruby in $rubys; do
DocumentInstalledItemIndent "Ruby $ruby"
diff --git a/images/win/Windows2019-Readme.md b/images/win/Windows2019-Readme.md
index aa6f5a41..a072e5ae 100644
--- a/images/win/Windows2019-Readme.md
+++ b/images/win/Windows2019-Readme.md
@@ -343,14 +343,17 @@ _Version:_ azure-devops 0.13.0
## Python
_Version:_ 2.7.16 (x64)
_Version:_ 2.7.16 (x86)
_Version:_ 3.4.4 (x64)
_Version:_ 3.4.4 (x86)
_Version:_ 3.5.4 (x64)
_Version:_ 3.5.4 (x86)
_Version:_ 3.6.8 (x64)
_Version:_ 3.6.8 (x86)
_Version:_ 3.7.4 (x64)
_Version:_ 3.7.4 (x86)
+> Note: These versions of Python are available through the [Use Python Version](https://go.microsoft.com/fwlink/?linkid=871498) task.
## PyPy
_Version:_ 2.7.13 (x86)
_Version:_ 3.5.3 (x86)
+> Note: These versions of PyPy are available through the [Use Python Version](https://go.microsoft.com/fwlink/?linkid=871498) task.
## Ruby
_Version:_ 2.4.6 (x64)
_Version:_ 2.5.5 (x64)
_Version:_ 2.6.3 (x64)
+> Note: These versions of Ruby are available through the [Use Ruby Version](https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/use-ruby-version) task.
## Python (64 bit)
diff --git a/images/win/scripts/Installers/Validate-ToolCache.ps1 b/images/win/scripts/Installers/Validate-ToolCache.ps1
index 832cf13c..e5a3e7d1 100644
--- a/images/win/scripts/Installers/Validate-ToolCache.ps1
+++ b/images/win/scripts/Installers/Validate-ToolCache.ps1
@@ -17,7 +17,9 @@ function ToolcacheTest {
[Parameter(Mandatory = $True)]
[string]$SoftwareName,
[Parameter(Mandatory = $True)]
- [string[]]$ExecTests
+ [string[]]$ExecTests,
+ [Parameter(Mandatory = $True)]
+ [string]$Note
)
if (Test-Path "$env:AGENT_TOOLSDIRECTORY\$SoftwareName")
{
@@ -51,6 +53,7 @@ function ToolcacheTest {
}
}
+ $description += $Note
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $description
}
else
@@ -67,13 +70,25 @@ function ToolcacheTest {
}
# Python test
+$PythonNote += @"
+
+> Note: These versions of Python are available through the [Use Python Version](https://go.microsoft.com/fwlink/?linkid=871498) task.
+"@
$PythonTests = @("python.exe", "Scripts\pip.exe")
-ToolcacheTest -SoftwareName "Python" -ExecTests $PythonTests
+ToolcacheTest -SoftwareName "Python" -ExecTests $PythonTests -Note $PythonNote
# PyPy test
+$PyPyNote += @"
+
+> Note: These versions of PyPy are available through the [Use Python Version](https://go.microsoft.com/fwlink/?linkid=871498) task.
+"@
$PyPyTests = @("python.exe", "bin\pip.exe")
-ToolcacheTest -SoftwareName "PyPy" -ExecTests $PyPyTests
+ToolcacheTest -SoftwareName "PyPy" -ExecTests $PyPyTests -Note $PyPyNote
# Ruby test
+$RubyNote += @"
+
+> Note: These versions of Ruby are available through the [Use Ruby Version](https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/use-ruby-version) task.
+"@
$RubyTests = @("bin\ruby.exe")
-ToolcacheTest -SoftwareName "Ruby" -ExecTests $RubyTests
+ToolcacheTest -SoftwareName "Ruby" -ExecTests $RubyTests -Note $RubyNote