如何在Sprint Backlog面板与Work Details中标记休假用户?
在Sprint Backlog和Work Details标记休假用户的可行方案
一、用浏览器油猴脚本自定义实现
- 借助Tampermonkey或Greasemonkey这类油猴脚本工具,自己写一段脚本就能实现。大致思路是:
- 定位页面里用户名称、头像的DOM元素
- 调用对应项目管理工具(比如Azure DevOps)的API,拉取当前迭代内用户的休假数据
- 给休假用户的元素加上特殊样式,比如红色背景、休假图标,一眼就能识别
- 简化版脚本参考:
// ==UserScript== // @name 迭代面板休假用户标记 // @namespace http://tampermonkey.net/ // @version 0.1 // @description 在Sprint Backlog和Work Details里标记休假用户 // @match https://dev.azure.com/*/*/_backlogs/backlog/* // @match https://dev.azure.com/*/*/_workitems/* // @grant GM_xmlhttpRequest // ==/UserScript== (function() { 'use strict'; // 替换成你的组织、项目和迭代ID const org = "你的组织名"; const project = "你的项目名"; const iterationId = "当前迭代ID"; // 拉取休假数据 GM_xmlhttpRequest({ method: "GET", url: `https://dev.azure.com/${org}/${project}/_apis/work/teamsettings/iterations/${iterationId}/capacities?api-version=7.1-preview.3`, headers: { "Authorization": "Basic " + btoa(":" + "你的个人访问令牌") }, onload: function(response) { const capacities = JSON.parse(response.responseText); const leaveUsers = capacities.value.filter(cap => cap.daysOff.length > 0).map(cap => cap.teamMember.displayName); // 给休假用户加标记 document.querySelectorAll('.identity-display-name').forEach(el => { if (leaveUsers.includes(el.textContent.trim())) { el.style.backgroundColor = "#ffebee"; el.innerHTML += " 🛌"; } }); } }); })();
二、用现成的市场扩展
- 直接去对应工具的应用市场(比如Azure DevOps Marketplace)搜索类似「Vacation Marker」「Capacity Visualizer」的扩展,很多工具已经做了这个功能,安装后简单配置就能在Backlog页面直接看到休假状态,不用自己写代码
三、自定义看板字段(针对Work Details)
- 在Work Details的看板卡片里添加自定义字段,比如「用户休假状态」,然后用自动化工具(比如Power Automate)或者平台自带的规则,把Capacity里的休假数据同步到这个字段,这样查看卡片时就能直接看到状态
内容的提问来源于stack exchange,提问作者aherrick
相关产品推荐
相关产品推荐

