如何在 PowerShell 中使用 REST API 在 TFS 中创建错误?

2024-01-11

我正在尝试使用 PowerShell 中的 REST API 使用下面的代码在 TFS 中创建一个错误,但我无法弄清楚如何填充$Bug具有这些参数和数据名称的变量。

Param(
   [string]$vstsAccount = "MyAccountName",
   [string]$projectName = "ProjectName",
   [string]$keepForever = "true",
   [string]$user = "",
   [string]$token = "Mytoken"
)

# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
#$uri = "https://$($vstsAccount).visualstudio.com/$($projectName)/_apis/wit/workitems/$Bug?api-version=2.2"
$result = Invoke-RestMethod -Uri $uri -Method Get -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}

我可以找到 C# 的示例here https://www.visualstudio.com/en-us/docs/integrate/api/wit/samples#create-bug,但不适用于 PowerShell。任何帮助,将不胜感激。

Cheers


你需要创建一个JSON 正文使用 REST API 在 PowserShell 中创建工作项,以及Content-Type应该application/json-patch+json,也使用PATCH方法。看创建工作项 https://www.visualstudio.com/en-us/docs/integrate/api/wit/work-items#create-a-work-item了解详情。

您可以参考下面的示例 PowerShell 脚本来创建错误:

Param(
   [string]$baseurl = "http://server:8080/tfs/DefaultCollection",
   [string]$projectName = "ProjectName",
   [string]$keepForever = "true",
   [string]$user = "username",
   [string]$token = "token"
)

# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))

function CreateJsonBody
{

    $value = @"
[
  {
    "op": "add",
    "path": "/fields/System.Title",
    "value": "0925Bug"
  },
  {
    "op": "add",
    "path": "/fields/System.AreaPath",
    "value": "LCScrum"
  },

  {
    "op": "add",
    "path": "/fields/System.IterationPath",
    "value": "LCScrum\\Sprint 1"
  },

  {
    "op": "add",
    "path": "/fields/System.Tags",
    "value": "Tag0921;Tag0926;Tag0927;Tag0928"
  },

  {
    "op": "add",
    "path": "/fields/Microsoft.VSTS.Common.Activity",
    "value": "Development"
  },

  {
    "op": "add",
    "path": "/fields/Microsoft.VSTS.Scheduling.Effort",
    "value": "8"
  },
  {
    "op": "add",
    "path": "/fields/Microsoft.VSTS.Common.ValueArea",
    "value": "Business"
  },
  {
    "op": "add",
    "path": "/fields/Microsoft.VSTS.Common.Severity",
    "value": "3 - Medium"
  },
  {
        "op": "add",
        "path": "/relations/-",
        "value":
        {
            "rel": "System.LinkTypes.Dependency-Forward",
            "url": "http://server:8080/tfs/DefaultCollection/_apis/wit/workItems/324",
            "attributes":
            {
               "usage": "workItemLink",
               "editable": false,
               "enabled": true,
               "acyclic": true,
               "directional": true,
               "singleTarget": true,
               "topology": "dependency"
            }
        }
    },
    {
        "op": "add",
        "path": "/relations/-",
        "value":
        {
            "rel": "System.LinkTypes.Hierarchy-Reverse",
            "url": "http://server:8080/tfs/DefaultCollection/_apis/wit/workItems/58",
            "attributes":
            {
              "usage": "workItemLink",
              "editable": false,
              "enabled": true,
              "acyclic": true,
              "directional": true,
              "singleTarget": false,
              "topology": "tree"
            }
        }
    }
]
"@

 return $value
}

$json = CreateJsonBody

$uri = "$baseurl/$($projectName)/_apis/wit/workitems/"+"$"+"bug?api-version=2.2"
Write-Host $uri
$result = Invoke-RestMethod -Uri $uri -Method Patch -Body $json -ContentType "application/json-patch+json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PowerShell 中使用 REST API 在 TFS 中创建错误? 的相关文章

  • 如何扩展和重写集合类中的 Add

    背景 我在 PowerShell 中有一个具有 4 个属性的数据对象 其中 3 个是字符串 第 4 个是哈希表 我想安排一个新类型 将其定义为该数据对象的集合 在这个集合类中 我希望强制执行一种特定的格式 这将使我在模块中其他地方的代码更加
  • 微服务、amqp 和服务注册/发现

    我正在研究微服务架构 实际上我想知道一些事情 我非常同意使用 返回 服务发现来在基于 REST 的微服务上发出请求 我需要知道发出请求的服务 或至少是服务器集群的前端 在哪里 因此在这种情况下能够发现 ip port 是有意义的 但我想知道
  • 将 Metro 应用程序固定到任务栏 Windows 10 Powershell

    以下代码将固定 Metro 应用程序以在给定 AUMID 的情况下启动 如果你改变 match Pin To Start 不幸的是 将匹配更改为 固定到任务栏 不起作用 这里发生了什么 function Pin Taskbar param
  • 在远程桌面上使用 Powershell 获取 Windows DisplayLanguage

    我正在尝试通过 powershell 获取 Windows 显示语言设置远程计算机 我尝试了 Get WinUserLanguageList 但这会返回所有语言的列表 Get WinSystemLocale 和 Get Culture 也不
  • 通过将密码与命令一起传递,使用 powerShell 脚本进行 ssh

    如果我输入 我可以从 PowerShell ssh 到服务器 ssh 用户名 主机 这会提示输入密码 我输入有效的密码 但我试图编写一个脚本 通过 ssh 进入服务器执行一些脚本并返回 所以我必须传递密码和命令我该怎么做 关于 shell
  • 从 PowerShell 运行 SSIS 包,无需部署项目

    This https learn microsoft com en us sql integration services ssis quickstart run powershell view sql server ver16 ssis
  • 使用 TFS 在线服务构建时,有什么方法可以签署 Clickonce 应用程序吗?

    我已在我的单击一次应用程序中启用了签名 但构建服务器 TFS在线服务 没有证书 有什么方法可以将证书包含在存储库中并让构建服务器对其进行签名 或者我是否必须禁用签名并在之后手动执行此操作 我没有从商店中挑选证书 而是签入文件并从文件中挑选
  • 如何向我的 Spring MVC REST 服务添加错误?

    如果用户没有输入我正在编码的两个名称 我如何更改 更新来自 Spring MVC 的以下 REST 调用以返回错误 未找到 RequestMapping value name method RequestMethod GET Respons
  • Google Sheets API v4 和 valueInputOption

    我的电子表格中有三列 第一个是日期 第二个和第三个是简单字符串 当我批量上传数据时valueInputOption RAW 我的日期列得到错误的结果 所有日期前面都有一个看不见的撇号 字符串列没问题 当我使用valueInputOption
  • Yammer API 限制

    Yammer Rest api 文档表示 每个应用程序每个用户在 10 秒内最多可以发出 10 个请求 问题 什么是user这里 是为当前经过身份验证的 yammer 用户发出请求的 IP 地址还是承载令牌 如果我们所有的用户都使用相同的外
  • 在powershell的列中处理带有换行符的CSV

    目前 我有一个系统 它创建一个像下面这样的分隔文件 在其中我模拟了偶尔出现在列中的额外换行符 列 1 列 2 列 3 列 4 文本1 文本2 LF 文本3 LF 文本4 CR LF 文本1 文本2 LF LF 文本3 文本4 CR LF 文
  • Powershell:复制时自动更改文件属性

    我有一个只读文件的文件夹 当我将这些文件之一复制到测试位置时 我希望能够复制它们而不保留其原始属性 我可以做到这一点 但这很长 copy item srcfilefullname destfilefullname set itemprope
  • 解决方案文件的修改权限

    我有用VS2005开发的项目解决方案 它绑定到 TFS Team Foundation Server 我想将解决方案转换为 VS2008 版本 保持绑定不变 但是在转换时出现错误 错误信息 解决方案文件 C abc abc sln 无法转换
  • powershell stdin 管道和重定向

    你好 我一直在制作一个小的跨平台脚 本 我可以将其卷曲并通过管道传输到bash和Powershell中 基本思想是服务器向解释器发送一个命令 然后它给出一个命令将所有输出重定向到标准输出 bash 中的一个例子是 some commands
  • 瞬态 REST 表示

    假设我有一个 RESTful 超文本驱动的服务 用于模拟冰淇淋店 为了帮助更好地管理我的商店 我希望能够显示每日报告 列出所售每种冰淇淋的数量和美元价值 看来这种报告功能可以作为名为 DailyReport 的资源公开 DailyRepor
  • Streamlabs API 405 响应代码

    我正在尝试使用Streamlabs API https dev streamlabs com Streamlabs API 使用 Oauth2 来创建应用程序 因此 首先我将使用我的应用程序的用户发送到一个授权链接 其中包含我的应用程序的客
  • Spotify Apps API:库类不会返回用户播放列表

    我试图获取一个包含用户库中所有播放列表的数组 http developer spotify com download spotify apps api reference dcdebc652c html 其他类属性 专辑 艺术家 加星标的播
  • Twitter 的推文按钮有回调吗?

    有没有办法在 Twitter 的推文按钮上注册回调 我希望能够跟踪我网站上的哪些特定用户在 Twitter 上发布了链接 我无法添加 onClick 事件 因为它是跨域 iFrame 还有其他想法吗 我见过一种方法 https stacko
  • 如何绕过 ASP.NET Web API 中发现多个操作的异常

    当试图找到以下问题的解决方案时 默认操作的 MVC Web Api 路由不起作用 https stackoverflow com questions 11724749 mvc web api route with default actio
  • 在 Powershell 4 中压缩和解压缩文件

    我使用的是 Windows Server 2012 R2 64 位 我有 powershell 版本 4 可用 我正在尝试压缩和解压缩文件 当我尝试 Write Zip 命令时 它会抛出以下错误 Write Zip 术语 Write Zip

随机推荐

  • Gnuplot 不同颜色

    我试图用不同的颜色为绘图和 gnuplot 中的拟合着色 但它不起作用 set ylabel s in m set xlabel t in s unset key set style line 1 lt 2 lc rgb red lw 3
  • 在 Flutter 应用程序中使用 Stripe 保持 PCI 合规性

    我正在将 Stripe 集成为支付网关 并且我正在考虑flutter stripe包装上写着 简化安全性 我们让您可以轻松收集信用卡号等敏感数据并保持 PCI 合规性 这意味着敏感数据将直接发送到 Stripe 而不是通过您的服务器 有关更
  • 当 char * 被类型定义并通过结构访问时,为什么编译器会看到 char * 和 printf 的转换说明符“s”不匹配?

    为什么编译器会抱怨以下 printf 中的参数类型 char 和转换说明符 s 不匹配 include
  • 将 MySQL 数据库拆分为单独的表

    嗯 我不是一个优秀的开发人员或数据库专家 但我对这些事情还是有一点了解的 我正在尝试使用 mysqldump 命令在 VPS 上转储数据库 该命令运行良好 但是 当我在下载转储后尝试在本地恢复时 出现超时错误 任何人都可以告诉我如何通过将数
  • 如何强制PHP/Apache再使用一年?

    因此 另一位员工交给了我一个旧项目 它的代码非常糟糕 几乎让我辞职了 两次 因为我没有那么多时间 这个任务给了我两周时间 所以我无法重写整个内容 我按照要求进行了修改 目前正在进行测试 问题是 代码应该改变它在其他年份的行为 这个问题的问题
  • typescript 扩展数组原型

    我只想使用一种方法来扩展 Array 原型 将字符串数组的每个项目转换为大写 这是我的第一种方法 Array prototype toUppercase gt map String toUppercase 为什么不工作 多谢 需要先声明该成
  • 无法为 Eclipse 安装 Maven 插件 [重复]

    这个问题在这里已经有答案了 我正在 Ubuntu 12 04 LTS 上开发 Eclipse 3 7 indigo 并且我正在尝试安装 Maven 插件 下列的this http eclipse org m2e download 页面 我添
  • 在“adb反向”上出现两次“错误:关闭”

    我正在尝试通过 ADB 反向转发端口 但它只返回以下神秘错误error closed 正常转发工作 会话片段 adb forward tcp 59778 tcp 59778 adb forward list 015d2109ce0c1a0f
  • bash trap 不会忽略信号

    请考虑这个 bash 脚本 bin bash trap INT echo sleep sleep 5 echo rsync rsync a usr lib var tmp 正如预期的那样 尝试使用 ctrl c 中断睡眠失败 但是rsync
  • 为什么“transform(s.begin(),s.end(),s.begin(),tolower)”不能编译成功?

    给出代码 include
  • 如何防止在代码更改时必须重建映像

    我开始在个人项目中使用 Docker 并意识到这将我的开发时间增加到了无法接受的程度 如果我必须为每次代码更改重建映像 我宁愿启动 LXC 实例 我听说有一种方法可以安装它 但不确定具体如何进行 我还有一个 docker compose y
  • 删除[]对象数组

    我已经分配了对象数组 Objects array new Objects N 我应该如何删除这个数组 只是 delete array 或者迭代数组的元素 for int i 0 i
  • Jinja2 中的稳定排序

    可以应用排序过滤器 http jinja pocoo org docs templates sort在 Jinja2 中 首先按一个属性对列表进行排序 然后再按另一个属性排序 这似乎是很自然的事情 但在我的测试中 前面的排序完全不稳定 所有
  • 如何检测正在使用哪个 .NET 运行时(MS 与 Mono)?

    我想知道程序执行期间是使用 Mono 运行时还是 Microsoft 运行时执行 我当前正在使用以下代码来确定我是否在 MS CLR 上 static bool IsMicrosoftCLR return RuntimeEnvironmen
  • 如何确定分离的 pthread 是否还活着?

    如何确定分离的 pthread 是否仍然存在alive 我有一个与线程的通信通道 一个从线程向外指向的单向队列 但是如果线程dies没有喘息 我应该放弃使用流程吗signals或者我可以probe以某种方式提高线程活力 对于可连接 即不分离
  • 将 for wait...of 与同步迭代一起使用

    MDN says https developer mozilla org en US docs Web JavaScript Reference Statements for await of for await of有两个用例 The f
  • 选择文本并从标签 Xamarin 表单中复制

    几天来 我一直在不同的论坛上阅读有关选择文本并从 xamarin 表单中的标签本地复制文本的问题 这似乎不是实现此目的的直接方法 我的问题是 我需要在标签中显示书中的大量数据 并且用户应该能够从标签中选择和复制文本块 我继续在编辑器组件中呈
  • 将只读导航属性配置为构造函数参数

    我有以下型号 public class Session public string Id get set public IList
  • 根据数据内容创建 RecyclerView 项目布局

    我正在创建数据对象的回收器视图 每个对象都会有所不同 例如 对象1 字符串标题 字符串描述 图像 对象2 字符串描述 对象3 图像 字符串链接 目标4 字符串描述 视频 etc 因此 我需要动态创建项目布局以适合每个数据对象 我不想创建一个
  • 如何在 PowerShell 中使用 REST API 在 TFS 中创建错误?

    我正在尝试使用 PowerShell 中的 REST API 使用下面的代码在 TFS 中创建一个错误 但我无法弄清楚如何填充 Bug具有这些参数和数据名称的变量 Param string vstsAccount MyAccountName