Add extensions and custom controls to a work item type (Inheritance process)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
With extensions, you can add rich functionality to your work item forms. An extension comes in four flavors, or contribution types. The following controls appear on the web form layout for all inherited and customizable work item types (WITs):
- Field-level contribution (custom controls)
- Group-level contribution
- Page-level contribution
The fourth type, action-level contributions, on the other hand, appear in the context menu of the web form.
Important
This article applies to Azure DevOps Services and Azure DevOps Server 2019 and later versions. To customize any project defined on a collection for TFS 2018 or earlier, see On-premises XML process model.
Important
You can only use the Inheritance process model for projects defined on a project collection configured to support the Inheritance process model. If your on-premises collection is configured to use the On-premises XML process model, you can only use that process model to customize the work tracking experience. To learn more, see Customize work tracking, Choose the process model for your project collection.
To customize any project defined on a collection for TFS 2018 or earlier, see On-premises XML process model.
You add all contributions by installing its extension from the Visual Studio Marketplace, Azure DevOps tab. Or, you can create your own custom control.
For example, you can add the Who recently viewed a work item? extension. This group-level contribution appears in your work item form as shown.
Prerequisites
Prior to customizing a process, we recommend that you review Configure and customize Azure Boards, which provides guidance on how to customize Azure Boards to meet your business needs. For a description of the different backlogs and boards, see Tasks supported by Backlogs, Boards, Taskboards, and Plans.
- You must have an organization created in Azure DevOps Services. If you haven't created one yet, do that now.
- To create, edit, and manage processes, you must be a member of the Project Collection Administrators group, or have the corresponding collection-level permissions Create process, Delete process, Edit process, or Delete a field from organization set to Allow. See Set permissions and access for work tracking, Customize an inherited process.
- You must have selected the Inheritance process model for the project collection where the project is created. To learn more, see Choose the process model for your project collection.
- To create, edit, and manage processes, you must be a member of the Project Collection Administrators group, or have the corresponding permissions Create process, Delete process, Edit process, or Delete a field from organization set to Allow. See Set permissions and access for work tracking, Customize an inherited process.
To add extensions or edit a process, you must be a member of the Project Collection Administrators group or be granted explicit permissions to edit a specific process.
Open Settings>Process
You create, manage, and make customizations to processes from Organization settings>Process.
Choose the Azure DevOps logo to open Projects. Then choose Organization settings.
Then, choose Process.
Important
If you don't see Process, then you're working from TFS-2018 or earlier version. The Process page isn't supported. You must use the features supported for the On-premises XML process model.
You create, manage, and make customizations to processes from Collection Settings>Process.
Choose the Azure DevOps logo to open Projects. Choose the project collection whose processes you want to customize, and then choose Collection Settings.
Then, choose Process.
You create, manage, and make customizations to processes from Admin settings>Process.
Choose the Azure DevOps logo to open Projects. Then choose Admin settings.
Then, choose Process.
Note
As you customize an inherited process, all projects that use that process are updated automatically to reflect the customizations. For this reason, we recommend that you create a test process and test project when you have a number of customizations to make in order to test the customizations prior to rolling them out to your organization. To learn more, see Create and manage inherited processes.
Review installed Marketplace extensions
From the Settings context, Extensions, you can view the extensions that are already installed. You may need to choose to refresh the page to show newly installed extensions.
To learn more about extensions, see Install free extensions.
Add a Marketplace extension
You can browse the Marketplace to determine what extension(s) you want to add.
To add an extension to a work item type, choose your inherited process, the WIT, and then choose Get extensions.
Select the extension you want to add. Here we choose the Work item checklist.
Select the organization you want to add it to and choose Install.
Important
Extensions you install are added to all WITs across all processes.
Return to the process and WIT and verify the location of the extension is where you want it. Look for it at the bottom of the middle column and drag it to where you want it on the form.
Add a field-level contribution or custom control
Install the custom control as discussed in the previous section.
Open Settings>Work>Process from a work item form. For details, see Open Settings>Process.
(Optional) Add a field to associate with the custom control. Alternatively, you can specify an existing field, inherited or custom.
With the WIT selected, choose Add custom control.
Note
If you don't see the Add custom control option, then you haven't installed a field-level extension. Or, you may need to refresh your browser to cause your browser to register any new extensions that have been recently installed.
Choose the custom control you want from the menu of options.
For example, here we choose the Toggle control that you can associate with a Boolean field.
Choose the Options tab and fill out the dialog box. The options you need to specify depend on the custom control you've selected.
For example, here we specify the custom field, Triaged, and indicate the toggle labels to appear on the form.
(Optional) Open the Layout tab and specify the label for the field.
Fill in any additional required fields. Review the extension description for guidance.
Verify the working of the custom control by opening a work item of the type you modified. You may need to refresh your browser to see your changes.
Here, we show how the control appears by default with the checkbox and then with the toggle control.
Boolean field with checkbox
Boolean field with toggle control
Group-level and page-level contributions
When you add group-level and page-level contributions, they are automatically added to all WITs defined for all processes, both inherited and custom. You can choose to hide these contributions from appearing on the form for a specific WIT, or move it within the form from the default location.
If you've installed a group or page contribution, refresh your browser, and then open a work item to view the placement of the contribution on the form. To move or hide the contribution, follow the guidance provided for the Layout tab.
Action-level contributions
Action-level contributions are added to the context menu of inherited and customizable WITs for both system and inherited processes. All action-level contributions are added to all work item types and cannot be hidden or removed without uninstalling or disabling the extension.
For example, the following image shows nine action-level contributions have been added and appear in the context menu for the user story.
Programmatically add custom controls
You can use these REST APIs to work with extensions:
Related articles
Note
You can review changes made to an inherited process through the audit log. To learn more, see Access, export, and filter audit logs.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for