Azure DevOps REST调用-如何找出我的身份

时间:2019-03-26 19:36:53

标签: azure-devops

我们最近从本地TFS迁移到了云中的Azure Devops。我正在更新用于自动跟踪工作项的powershell脚本,将它们从api v3移至v5,并确保所有身份验证/端点均正常工作。我具有身份验证设置,可以进行一些GET调用(列出存储库,运行WIQL查询等)。现在,我需要使用Create endpoint创建新的工作项。

我的身体看起来像(这在Prem,TFS 2018,REST版本3.0上运行):

[
    {
        "op": "add",
        "path": "/fields/System.Title",
        "value": "My PBI title"
    },
    {
        "op": "add",
        "path": "/fields/System.AssignedTo",
        "value": "DOMAIN\\USERNAME"
    },
    {
        "op": "add",
        "path": "/fields/System.AreaPath",
        "value": "My\\Teams\\Path"
    },
    {
        "op": "add",
        "path": "/fields/System.IterationPath",
        "value": "backlog\\2019.03.25"
    }
]

当我用这个正文发布时,我得到一个400响应码和一条错误消息,指出:The identity value 'DOMAIN\\USERNAME' for field 'Assigned To' is an unknown identity."

如果我从主体声明中排除该属性,则可以创建工作项,因此我正在尝试使用域用户名/名称(姓,名/名)的不同变体来尝试获取它工作/将物品分配给我,但我不断收到相同的错误。

所以我的下一步是检查API文档,我看到了一个Users - Get方法,但是这要求我输入userDescriptor,我认为这是某种GUID来标识每个用户。 ..但是我不知道我的是什么!

这时我很沮丧。还有其他一些REST端点来获取Profile / Security数据,但是对于创建工作项而言,这似乎过于复杂。

您如何使用此REST终结点通过云中的Azure-Devops创建项目/将其分配给用户?

1 个答案:

答案 0 :(得分:3)

将键盘重击一些后,我开始使用它。正文定义应为:

classpath:keystore.p12

所以在我的情况下,文字值将是:

{
   "op": "add",
   "path": "/fields/System.AssignedTo",
   "value": "LastName, Firstname"
}