【问题标题】:Using a web API in task.json to fill picklists buildtask在 task.json 中使用 Web API 来填充选项列表 buildtask
【发布时间】:2018-01-04 12:36:33
【问题描述】:

我是第一次 TFS/VSTS 扩展开发人员。我当前的任务是构建一个简单的 VSTS Build 任务。

我们有一个包含产品信息的自制 Web API,但我被困在源绑定中。找到有关使用端点服务的信息,但未填充我的选择列表。

到目前为止我有什么:

Task.Json

"inputs": [
{
  "name": "APIURL",
  "type": "connectedService:Generic",
  "label": "API URL",
  "required": true,
  "GroupName": "WebAPIsettings",
  "helpMarkDown": ""
},
{
  "name": "List1",
  "type": "pickList",
  "label": "List1",
  "defaultValue": "",
  "required": true,
  "GroupName": "WebAPIsettings",
  "helpMarkDown": ""
},
{
  "name": "List2",
  "type": "pickList",
  "label": "List2",
  "defaultValue": "",
  "required": true,
  "GroupName": "WebAPIsettings",
  "helpMarkDown": ""
}]

,"sourceDefinitions": [
{
  "target": "List1",
  "endpoint": "/api/data/get",
  "selector": "jsonpath:$.[Code]",
  "authKey": "$(APIURL)"
},
{
  "target": "List2",
  "endpoint": "/api/data/get",
  "selector": "jsonpath:$.[ID]",
  "authKey": "$(APIURL)"
}]

我创建了一个指向 API (http://sample.api.local) 的通用端点

选择端点后,list1 和 list2 都没有填充,所以我遗漏了一些东西。

我已经使用http://jsonpath.com/ 测试了我的 API json 输出 JSON测试数据:

[{"Code":"0344","ID":"version1"},
{"Code":"0363","ID":"version2"},
{"Code":"0518","ID":"version3"},
{"Code":"0599","ID":"version4"}]

我错过了什么?

【问题讨论】:

    标签: json tfs azure-devops


    【解决方案1】:

    改用此代码:

    "selector": "jsonpath:$[*].ID"
    

    【讨论】:

    • 像魅力一样工作。谢谢!
    猜你喜欢
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    相关资源
    最近更新 更多