How to change work item icons in on-premise Azure DevOps 2019

六眼飞鱼酱① 提交于 2021-01-05 10:13:35

问题


As the title says, how can I change the icons of work items? Currently they are all a blue clipboard with a tick in it, and I would like to more easily distinguish between bugs, tasks, user stories when viewing certain lists in the project portal. The project collection was recently imported from TFS2012, if that makes a difference. I think they were originally "MSF for Agile" 5.0 or 6.2 processes.

On a related note, how can I tell which process a particular project is using? And can it be changed?

Edit I can get to the collection's "Process" page (under the "Board" heading in the menu), despite documentation saying that this page isn't available on-premise. However none of the processes listed here are clickable links, which seems to be the key for performing functions such as changing a project's process. Why is this?

Edit 2 Added screenshots for @PatrickLu-MSFT as requested. The first shows the work items assigned to me (note the same blue icon despite some WIs being bugs and others tasks). I don't see different icons/colours as seen in the screenshot here, step #6 under "Add a work item type".

The second image shows the Collection Settings -> Process page (which the MS doc'n suggests isn't accessible in an on-premise installation, unless I've misunderstood). Although I can access this page, the process names are not clickable links, which the MS doc'n shows as navigating to a page where you can perform actions such as change a project's process.

Note that if I create a new project in this collection and select the "Agile" process then I do see the different work item icons/colours, so the lack of icons/colours seems to be simply due to the existing projects' processes not supporting such a feature, as they were migrated from TFS2012 where they would have used the "MSF for Agile" 5.0 or 6.2 process. Now if only there was a way to unlock the above feature to let me change the project processes...


回答1:


This can be done:

Open a Developer Command Prompt for VS 2019 console session and run this command:

witadmin exportprocessconfig /collection:http://{server_url}/{collection_name} /p:{project_name} /f:c:\temp\ProcessConfiguration.xml

Edit the file you just exported. Locate the <Properties> section and add this line (ref):

<Property name="WorkItemTypeIcons" value="User Story=icon_book,Feature=icon_trophy,Epic=icon_crown,Task=icon_clipboard,Bug=icon_insect,Code Review Request=icon_code_review,Code Review Response=icon_code_response,Feedback Request=icon_review,Feedback Response=icon_response,Issue=icon_traffic_cone,Shared Steps=icon_test_step,Test Case=icon_test_case,Test Plan=icon_test_plan,Test Suite=icon_test_suite,Shared Parameter=icon_test_parameter" />

After the closing <Properties> element, add these lines:

<WorkItemColors>
  <WorkItemColor primary="FFCC293D" secondary="FFFAEAE5" name="Bug" />
  <WorkItemColor primary="FFB4009E" secondary="FFFCEECF" name="Code Review Request" />  
  <WorkItemColor primary="FFB4009E" secondary="FFFCEECF" name="Code Review Response" />
  <WorkItemColor primary="FFFF7B00" secondary="FFFFD7B5" name="Epic" />
  <WorkItemColor primary="FF773B93" secondary="FFEEE2F2" name="Feature" />
  <WorkItemColor primary="FF004B50" secondary="FFFCEECF" name="Feedback Request" />
  <WorkItemColor primary="FF004B50" secondary="FFFCEECF" name="Feedback Response" />
  <WorkItemColor primary="FFB4009E" secondary="FFFCEECF" name="Issue" />
  <WorkItemColor primary="FF004B50" secondary="FFFCEECF" name="Shared Parameter" />
  <WorkItemColor primary="FF004B50" secondary="FFFCEECF" name="Shared Steps" />
  <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Task" />
  <WorkItemColor primary="FF004B50" secondary="FFFCEECF" name="Test Case" />
  <WorkItemColor primary="FF004B50" secondary="FFFCEECF" name="Test Plan" />
  <WorkItemColor primary="FF004B50" secondary="FFFCEECF" name="Test Suite" />
  <WorkItemColor primary="FF009CCC" secondary="FFD6ECF2" name="User Story" />
</WorkItemColors>

Save the file then validate it by running this command (note the /v parameter):

witadmin importprocessconfig /collection:http://{server_url}/{collection_name} /p:{project_name} /f:c:\temp\ProcessConfiguration.xml /v

Depending on the process in use by the project, you may see warnings like this:

The following element contains an error: Properties. This element defines the properties for this team project. The value of the 'WorkItemTypeIcons' property is invalid. VS403291: Invalid work item type in pair 'Epic=icon_crown'.

If you see this, it means your project process doesn't contain that particular work item type ("Epic" in the above example), so simply remove the "key=value" pair (and comma!) from the WorkItemTypeIcons element's "value" attribute.

Validate again, and repeat until there are no more such errors. Once the XML validates, import it back into DevOps using this command:

witadmin importprocessconfig /collection:http://{server_url}/{collection_name} /p:{project_name} /f:c:\temp\ProcessConfiguration.xml

And that's it. You'll see the new icon goodness next time you view work items in your project's web portal.

Changing project process I've still no idea why I can't click into the processes listed on the the collection's "All Processes" page, as it would have been far easier to change the projects to use the newer "Agile" process instead of performing the above steps for each one. Perhaps @PatrickLu-MSFT can shed some light on that.




回答2:


According to documentation you need to:

  1. Download process configuration for your team project: Import and export process configuration
  2. Update WorkItemTypeIcons property in xml of process configuration: Specify properties and behaviors and Supported list of icons.
  3. Upload process configuration into azure devops server: Import and export process configuration


来源:https://stackoverflow.com/questions/57959927/how-to-change-work-item-icons-in-on-premise-azure-devops-2019

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!