在 YAML 中访问请求内容资源 ${{ parameters.WebHookName}} 中的值,语法是什么?

问题描述

我正在从 Azure DevOps 2020 中的服务挂钩触发我的管道,现在需要处理一些额外的数据。 webhook 请求如下所示(缩短示例):

Method: POST
URI: <myURL>/_apis/public/distributedtask/webhooks/TestHookDeletion?api-version=6.0-preview
HTTP Version: 1.1
Headers:
{
  Content-Type: application/json; charset=utf-8
}
Content:
{
  "subscriptionId": "myID","notificationId": 42,"id": "myID","eventType": "workitem.deleted","publisherId": "tfs","message": null,"detailedMessage": null,"resource": {
    "id": 4242,"rev": 3,"fields": {
...
      "System.ChangedDate": "2021-04-15T09:30:38.91Z","System.ChangedBy": "TestUser,User <TESTDOMAIN\\testuser>",...
    }
...

我可以像这样访问顶级内容

    - script: |
        echo ${{ parameters.TestHookDeletion.publisherId}}
        echo ${{ parameters.TestHookDeletion.subscriptionId}}
      displayName: 'Command Line Script: get Parameters Example'

我真正想要访问的是:

${{ parameters.TestHookDeletion.resource.fields.System.ChangedBy}}

经过一些测试后,我得出的结论是,在示例“System.ChangedBy”中,这似乎是用点对 JSON 密钥进行寻址的问题。

如果您知道如何从请求中访问我想访问的值,请帮帮我。

谢谢, 彼得。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)