如何使用 VSTS 扩展隐藏快速添加面板待办事项项?

2023-12-10

我想制作一个 VSTS 扩展,可以在加载页面时隐藏快速添加面板积压项目。

快速添加面板待办事项

该扩展是针对 TFS 2015 更新 2 进行的。

我已经运行了这段代码,但没有任何反应。

(动作.html)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Action Sample</title>
</head>
<body>
    <script src="scripts/jquery-2.2.3.min.js"></script> 
    <script src="scripts/VSS.SDK.min.js"></script> 
    <script>
      VSS.init();
      var menuContributionHandler = (function () {
      "use strict";
         return {
         execute: function (actionContext) {
             console.log("extension running...");
             $(".panel-region").hide();
             console.log("extension running...Done");                 
         }
     };
 }());

 // Associate the menuContributionHandler object with the "myAction" menu contribution from the manifest.
     VSS.register("myAction", menuContributionHandler);
    </script>
    <div>
        The end user doesn't see the content on this page.
        It is only in the background to handle the contributed menu item being clicked.
</div>
</body>

(vss-extension.json)

{
 "manifestVersion": 1,
 "id": "targetWork",
 "version": "0.1.18",
 "name": "targetWork",
 "description": "targetWork.",
 "publisher": "ms-samples",
 "public": false,
 "categories": [
   "Developer samples"
 ],
 "links": {
   "learn": {
     "uri": "https://github.com/Microsoft/vso-extension-samples"
   }
 },
 "icons": {
   "default": "images/fabrikam-logo.png"
 },
 "targets": [
   {
     "id": "Microsoft.VisualStudio.Services"
   }
 ],
 "branding": {
   "color": "rgb(190, 39, 3)",
   "theme": "dark"
 },
 "files": [
   {
     "path": "scripts",
     "addressable": true
   },
   {
     "path": "images",
     "addressable": true
   },
   {
   "path": "action.html",
         "addressable": true
       }
     ],
     "contributions": [
       {
         "id": "myAction",
         "type": "ms.vss-web.action",
         "description": "Run in Hello hub action",
         "targets": [
           "ms.vss-work-web.work-item-context-menu",
           "ms.vss-work-web.backlog-board-card-item-menu",
           ".work-hub-group",
           "ms.vss-web.project-hub-groups-collection",
           ".backlogs"
         ],
         "properties": {
           "text": "Run in Hello hub",
           "title": "Run in Hello hub",
           "icon": "images/icon.png",
           "groupId": "Explore",
           "uri": "action.html"
         }
       }
     ]
   }

查看浏览器的控制台窗口时,我没有看到扩展已加载。所以我认为我使用的目标有问题。

所以我最大的问题是我无法理解应该如何指定目标。

我一直在查看与此页面相关的教程(https://www.visualstudio.com/en-us/integrate/extensions/reference/targets/overview)并尝试了它们,我可以让它们工作。但没有提到如何自定义TFS webaccess的UI。至少没有什么可以用于我的情况。

Thanks

Edit

感谢 jessehouwing,这个问题已得到解答堆栈溢出帖子


新样式的扩展(市场)是沙盒的,只能按照预期的方式扩展 UI,例如添加按钮、菜单项、选项卡,但它们更改现有 UI 的方式非常非常有限。授予他们访问完整 DOM 的权限将允许他们突破安全上下文并通过现有功能使用提升的权限。

你想做的是仍然可以使用“Legacy Extensions”。.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 VSTS 扩展隐藏快速添加面板待办事项项? 的相关文章

随机推荐

  • EF 6:另一个复杂类型中的嵌套复杂类型

    假设我有一个名为 car 的实体 我使用复杂类型来定义 引擎 部分 TableName T CAR public sealed class Car IEngine public EngineType EngineType get set C
  • 使用 Angular js 进行应用程序设计

    一直致力于使用 Angular JS 构建一个巨大的应用程序 在同一主题上看到了太多关于如何最好地设计应用程序的问题 但仍然感到困惑 一个基本的应用程序通常有一个 1 登录页面 索引页面 2 主页 带页眉和页脚 身体是partial com
  • 将两个数据框导出为一个 Excel 文件,并在指定位置的 pandas 中包含两张表

    我有两个数据框 如下所示 df1 Date t factor plan plan score 0 2020 02 01 5 NaN 0 1 2020 02 02 23 NaN 0 2 2020 02 03 14 start 0 3 2020
  • Javascript如何获取所选项目的ID

    我正在使用 Web2Py 将值列表发送到我的视图 我的 HTML 是这样的
  • Excel VBA 计算另一张工作表中的公式

    已解决 问题出在我的公式中 我使用 INDIRECT 引用单元格 当工作表不同时 该单元格不起作用 查看答案 我在一张纸上有一个公式 我想要做的是使用另一张纸上的公式 使用 eval 来评估该公式 然而 结果并不如预期 该公式似乎使用工作表
  • 使用 Chrome 查找 JavaScript 内存泄漏

    我创建了一个非常简单的测试用例 它创建一个 Backbone 视图 将处理程序附加到事件 并实例化一个用户定义的类 我相信 通过单击此示例中的 删除 按钮 所有内容都会被清理 并且不会出现内存泄漏 代码的 jsfiddle 在这里 http
  • 使用单例进行单元测试

    我已经使用 Visual Studio Team Edition 测试框架准备了一些自动测试 我希望其中一项测试按照程序中完成的正常方式连接到数据库 string r providerName ConfigurationManager Co
  • Delphi 字典和排序数据

    我的代码是 procedure TfrmSettings btnFillDictClick Sender TObject var Dict TDictionary
  • 在 Node.js 中复制 Java 密码哈希代码 (PBKDF2WithHmacSHA1)

    编辑 我的问题已更新 请查看这篇文章的底部以了解最新一期 我把剩下的留给那些想阅读整个故事的人 我一直致力于将一个小型 Java 应用程序转换为 Node js 大部分进展顺利 我必须查找大量 Java 函数来弄清楚它们的作用以及如何在 N
  • 获取mysql查询中一行的排名

    我使用此查询根据每个名字获得的票数为他们分配排名 但它返回错误 1248 每个派生表必须有自己的别名 这是我的代码 SELECT rownum rownum 1 AS rank name vote FROM table SELECT row
  • getJSON 不支持 async:false

    我下面有这段代码 它应该返回调用的结果 我需要同步执行此操作 以便我知道一切都很好 但它似乎不起作用 我究竟做错了什么 jQuery library http code jquery com jquery 1 9 1 min js func
  • Apache Beam -> BigQuery - 用于重复数据删除的 insertId 不起作用

    我使用 apache beam 和 google dataflow runner 将数据从 kafka 流式传输到 BigQuery 我想利用 insertId 进行重复数据删除 我在谷歌文档中找到了描述 但即使插入是在几秒钟之内发生的 我
  • 如何在 Google 地图中跟踪用户全天的位置?

    您如何跟踪用户一整天的位置 就像 Google 地图中的时间线一样 我有两个想法 例如 如果我有 200LatLng每天的价值 我如何通过所有这些LatLng值到谷歌地图作为点 我得到了一个谷歌文档参考因为我最多只能跟踪 10 个位置点 是
  • 如何在平板电脑/智能手机上启用立体声录音,尽管有两个内置麦克风,但仅产生单声道?

    到目前为止 我认为这是一个固件错误 但现在我刚刚发现第二个设备 它有两个内部麦克风胶囊 但只产生单声道信号 第一个是S2加GT I9105PAndroid 4 1 2 和现在HTC One M7 the Nexus 10Android 4
  • 使用servlet接收音频文件

    故事简介 我有一个 Servlet 它接收一个我无法读取的请求 getContentType audio x wav 我需要读取这一波并将其保存在服务器端 详细故事 我对 Flex javascript PHP 和 Python 一无所知
  • 重命名 s3 中的 Pyspark 输出文件

    我使用以下命令将 pyspark 数据帧保存到 s3 df coalesce 1 write partitionBy DATE format com databricks spark csv mode overwrite option he
  • 使用 glm 和二项式族更改参考组

    当我在 R 中使用由三个级别 较高 中 和 较低 组成的独立因子变量运行二项式回归时 我想使用以下命令更改参考类别relevel我收到此错误 Error in relevel ordered cbsnivcat3 Lower relevel
  • 删除括号前后的所有空格

    我想删除一个或多个空格before and after任何括号 下列的这个帖子PHP 的问题已通过以下正则表达式解决 lt 现在我想做同样的事情JavaScript但 Javascript 正则表达式引擎不具有与 PHP 相同的前瞻和后瞻功
  • 如何在 Android Lollipop 中保存 WebView 状态并恢复它?

    这个问题被问过多次 并且有曾经有效的答案 最近在文档中表示 出于安全原因 他们删除了此功能 webView状态只能恢复一些有限的东西 我尝试了多种方法来做到这一点 但每次刷新 webView 状态时 它都不会显示 webView 内容 我想
  • 如何使用 VSTS 扩展隐藏快速添加面板待办事项项?

    我想制作一个 VSTS 扩展 可以在加载页面时隐藏快速添加面板积压项目 快速添加面板待办事项 该扩展是针对 TFS 2015 更新 2 进行的 我已经运行了这段代码 但没有任何反应 动作 html