This extension allows you to synchronize the status of work items between different Azure DevOps projects based on linked work item IDs. It supports both pulling status changes from a source work item and pushing status updates to target work items. The extension provides configurable mappings for the status change propagation, making it a valuable tool for automating state transitions across linked work items.
Last Updates:
April, 2025 (v.1.2)
Improvements:
Push ID Field: The Push ID Field supports now numeric field types as well as the string field type.
Features
Cross-Project Synchronization: Pull and push status changes between work items across different Azure DevOps projects.
Customizable Mappings: Define mappings for translating statuses from the source work item to the target work item, ensuring accurate status propagation.
Multiple Configurable Inputs: Specify source and target organization, project, and field values directly through the work item form.
Automatic Updates: Work item statuses are automatically updated based on the defined mappings when a linked work item’s status changes.
Configuration Inputs
Pull ID Field: The field containing the ID of the source work item to pull status from.
Pull Organization: The Azure DevOps organization where the source work item is located.
Pull Project: The project within the pull organization that contains the source work item.
Pull Status Mappings: Mappings that define how the pulled status should be transformed - Source item's state mapped with current item's state (e.g., New=New;Active=In Progress).
Push ID Field: The field containing the IDs of target work items to update based on the status changes.
Push Organization: The Azure DevOps organization where the target work items are located.
Push Project: The project within the push organization that contains the target work items.
Push Status Mappings: Mappings that define how to update the statuses of target work items - Current item's state mapped with target item(s)' state (e.g., New=New;In Progress=Active).
Cross Organization Access Token: Access token for cross-organization operations (optional, needed only for cross-organization item state references).
How It Works
Pulling Status: The extension fetches the status from the source work item based on the configured pull ID field and organization/project settings.
Status Mapping: The pulled status is then mapped using the defined mappings and prepared for pushing to target work items.
Pushing Status: The status is pushed to all linked target work items, based on the configured push ID field and project settings.
Example Usage
Pull ID Field: SourceWorkItemID
Pull Organization: orgA
Pull Project: ProjectA
Pull Status Mappings: New=New;Active=In Progress
Push ID Field: TargetWorkItemID
Push Organization: orgB
Push Project: ProjectB
Push Status Mappings: New=New;In Progress=Active
In this example:
The extension will pull the status from the source work item (ID from SourceWorkItemID field) in ProjectA within orgA.
The pulled status will be mapped using the Pull Status Mappings (e.g., New becomes New, Active becomes In Progress).
It will then push the updated status to the target work items (IDs from the TargetWorkItemID field) in ProjectB within orgB.
Important Notes
Cross-Organization Operations: If you're copying work items across different organizations, ensure that the access token is provided for cross-organization authentication.
Pushing and Pulling Independently: It is possible to define both pushing and pulling to be done at the same time, but they can also be done independently. The extension allows for configuring either push or pull activities without requiring the other to be enabled. This gives flexibility in synchronizing work item states based on specific needs.
Linked Work Items: The extension assumes that the source and target work items are linked correctly and that the specified fields contain valid work item IDs.
Field References: Ensure that the fields referenced in both the pull and push processes exist in the work items and are accessible via the Azure DevOps API.
Status Propagation: Status changes will only be pushed to target work items if the mappings are configured correctly. Errors may occur if no mapping is found for a given pulled status.
Opening the Work Item: The work item containing the custom control must be opened to activate the push & pull activities. Dragging an item to a different bucket on the board will not trigger the status synchronization.
Permissions: The current user must have read access to all pull work items and write access to all push items for the synchronization to occur.
Multiple Custom Controls: If you need to push status changes to multiple different types of work items (with different status mappings), you must add multiple custom controls. Each control can have its own unique pull and push status mappings.
Custom Control Placement: It is recommended to add the custom control to the main tab of the work item. This ensures that the push & pull activities are triggered automatically when opening the work item, without needing to navigate to any other tab.
Feedback and Issues
If you have any questions or encounter issues, feel free to leave them in the Q&A section. For feedback or suggestions on new functionalities, please provide them via the Ratings & Review section.
You can also reach us via email. We appreciate your input and strive to improve the extension based on your needs!
Change Log
April, 2025 (v.1.2)
Improvements:
Push ID Field: The Push ID Field supports now numeric field types as well as the string field type.
March, 2025 (v.1.1)
New Functionalities:
Cross Organization Access Token: Added a new optional input for the Access Token.
The token must be provided for cross-organization operations.