TFS Work Item Embedded Link Tool

Processes and migrates embedded links within work item fields, ensuring that internal references and hyperlinks are correctly updated for the target system.

Last updated: September 10, 2025 | Edit this page | Discuss this page
top

Overview

The TFS Work Item Embedded Link Tool processes and migrates embedded links within work item fields. This tool ensures that internal references, hyperlinks, and embedded content within work item descriptions and other HTML fields are correctly updated to point to the target system.

The tool is crucial for maintaining the integrity of work item content that contains links to other work items, documents, or system resources during migration.

top

How It Works

The TFS Work Item Embedded Link Tool operates during work item field processing:

  1. Link Detection: Scans work item fields for embedded links and references
  2. Link Analysis: Analyzes link types and target destinations
  3. URL Transformation: Updates links to point to target system locations
  4. Content Processing: Processes HTML content to update embedded references
  5. Link Validation: Validates that updated links are correctly formatted

The tool integrates with work item migration processors to ensure content integrity during migration.

top

Use Cases

Common scenarios where the TFS Work Item Embedded Link Tool is essential:

  • Internal Link Migration: Updating links between work items during migration
  • Documentation References: Maintaining links to documentation and resources
  • Cross-Project Links: Handling links that span multiple projects
  • URL Format Updates: Converting link formats between different system versions
  • Content Integrity: Preserving rich content with embedded links and references
top

Configuration Structure

top

Options

Parameter
Type
Required
Description
Default Value
Parameter:
Enabled
Type:
Boolean
Required:
false
Description:
If set to true then the tool will run. Set to false and the processor will not run.
Default:
true
top

Sample

{
  "MigrationTools": {
    "Version": "16.0",
    "CommonTools": {
      "TfsWorkItemEmbededLinkTool": {
        "Enabled": "True"
      }
    }
  }
}
top

Defaults

{
  "MigrationTools": {
    "Version": "16.0",
    "CommonTools": {
      "TfsWorkItemEmbededLinkTool": {
        "Enabled": "True"
      }
    }
  }
}
top

Basic Examples

The TFS Work Item Embedded Link Tool provides configuration options for link processing:

{
  "TfsWorkItemEmbeddedLinkTool": {
    "Enabled": true,
    "ProcessEmbeddedLinks": true,
    "UpdateUrls": true,
    "FilterWorkItemTypes": [],
    "SourceUrlPattern": "https://source-tfs:8080/tfs/",
    "TargetUrlPattern": "https://target-devops.visualstudio.com/"
  }
}
top

Complex Examples

top

Process all embedded links with URL pattern replacement:

{
  "TfsWorkItemEmbeddedLinkTool": {
    "Enabled": true,
    "ProcessEmbeddedLinks": true,
    "UpdateUrls": true,
    "FilterWorkItemTypes": ["Bug", "User Story", "Task"],
    "SourceUrlPattern": "https://old-tfs.company.com:8080/tfs/DefaultCollection/",
    "TargetUrlPattern": "https://dev.azure.com/company/",
    "LinkUpdatePatterns": {
      "workitem": "/_workitems/edit/{id}",
      "build": "/_build/results?buildId={id}",
      "changeset": "/_versionControl/changeset/{id}"
    }
  }
}
top

Selective Processing

Process embedded links for specific work item types only:

{
  "TfsWorkItemEmbeddedLinkTool": {
    "Enabled": true,
    "ProcessEmbeddedLinks": true,
    "UpdateUrls": true,
    "FilterWorkItemTypes": ["Epic", "Feature"],
    "SourceUrlPattern": "https://tfs2018.internal/",
    "TargetUrlPattern": "https://dev.azure.com/organization/"
  }
}
top

Common Scenarios

top

Complete URL Migration

Update all embedded links to target system URLs:

{
  "TfsWorkItemEmbeddedLinkTool": {
    "Enabled": true,
    "ProcessEmbeddedLinks": true,
    "UpdateUrls": true,
    "SourceUrlPattern": "https://source-server/tfs/",
    "TargetUrlPattern": "https://dev.azure.com/organization/"
  }
}
top

Focus on work item internal links:

{
  "TfsWorkItemEmbeddedLinkTool": {
    "Enabled": true,
    "ProcessEmbeddedLinks": true,
    "UpdateUrls": true,
    "FilterWorkItemTypes": ["Bug", "User Story", "Task", "Epic"],
    "SourceUrlPattern": "https://old-tfs:8080/",
    "TargetUrlPattern": "https://new-devops.visualstudio.com/"
  }
}
top

Handle links that span multiple projects:

{
  "TfsWorkItemEmbeddedLinkTool": {
    "Enabled": true,
    "ProcessEmbeddedLinks": true,
    "UpdateUrls": true,
    "ProjectMapping": {
      "OldProject1": "NewProject1",
      "OldProject2": "NewProject2"
    },
    "SourceUrlPattern": "https://tfs.company.com/",
    "TargetUrlPattern": "https://dev.azure.com/company/"
  }
}
top

Process links with validation without updates:

{
  "TfsWorkItemEmbeddedLinkTool": {
    "Enabled": true,
    "ProcessEmbeddedLinks": true,
    "UpdateUrls": false,
    "ValidateOnly": true,
    "ReportBrokenLinks": true
  }
}
top

Good Practices

top
  • Analyze Link Types: Understand the types of embedded links in your content
  • URL Pattern Planning: Plan URL transformation patterns carefully
  • Testing Approach: Test link processing with sample work items first
  • Backup Content: Ensure original content is backed up before processing
top

URL Transformation

  • Pattern Accuracy: Ensure source and target URL patterns are accurate
  • Protocol Consistency: Maintain consistent protocols (HTTP/HTTPS) in transformations
  • Project Mapping: Map project names correctly between source and target
  • Validation Testing: Validate transformed links work in target system
top

Configuration Management

  • Environment Specific: Use environment-specific URL patterns
  • Regular Expression Testing: Test URL pattern matching with sample data
  • Link Type Coverage: Ensure all link types are covered in transformation rules
  • Performance Consideration: Consider performance impact of extensive link processing
top

Troubleshooting

top

Common Issues

Links Not Updated:

  • Verify the tool is enabled ("Enabled": true)
  • Check that ProcessEmbeddedLinks is set to true
  • Ensure UpdateUrls is enabled for URL transformation
  • Verify source URL pattern matches actual links in content

Incorrect URL Transformations:

  • Check source and target URL patterns for accuracy
  • Verify project name mappings are correct
  • Ensure URL patterns include all necessary path components
  • Test patterns with sample URLs before full migration

Performance Problems:

  • Consider filtering work item types to reduce processing load
  • Monitor memory usage during link processing
  • Break large migrations into smaller batches
  • Review content complexity and link density

Broken Links After Migration:

  • Validate target URLs are accessible and correct
  • Check project and collection names in target system
  • Verify work item IDs are correctly mapped
  • Test transformed links manually in target system
top

Content Processing Issues

  • HTML Format Problems: Ensure HTML content is properly formatted
  • Encoding Issues: Check for character encoding problems in links
  • Special Characters: Handle special characters in URLs correctly
  • Relative vs Absolute: Ensure proper handling of relative and absolute URLs
top

Validation and Testing

  • Link Validation: Test transformed links in target system
  • Content Integrity: Verify content remains intact after processing
  • Cross-Reference Testing: Test links between migrated work items
  • Documentation Links: Verify external documentation links still work
top

Schema

This is the JSON schema that defines the structure and validation rules for this configuration.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://devopsmigration.io/schema/schema.tools.tfsworkitemembededlinktool.json",
  "title": "TfsWorkItemEmbededLinkTool",
  "description": "Tool for processing embedded links within work item fields, such as links in HTML fields and converting work item references between source and target systems.",
  "type": "object",
  "properties": {
    "Enabled": {
      "description": "If set to `true` then the tool will run. Set to `false` and the processor will not run.",
      "type": "boolean",
      "default": "true"
    }
  }
}
Project Information
Azure DevOps Marketplace
YouTube Channel
Maintainer

Created and maintained by Martin Hinshelwood of nkdagility.com

Getting Support
Community Support
Questions & Discussions

The first place to look for usage, configuration, and general help.

Commercial Support

We provide training, ad-hoc support, and full service migrations through our professional services.

Azure DevOps Migration Services
Documentation