azure-devops-pipelines - 在 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 密钥的问题。
如果您知道如何从请求中访问我想访问的值,请您帮帮我。
谢谢,彼得。
解决方案
推荐阅读
- asp.net-mvc - 如何使用 Asp.Net Core 验证使用的相同格式返回 400 响应?
- quarkus - quarkus http 调用负载测试结果 1000 个请求 - 16 秒 vs 65 秒
- sql-server - SSRS 与 Azure DevOps 的集成
- reactjs - 如何为反向代理 nextjs 服务器设置相对路径
- php - 使用 php 的 IP 地理位置 API 标头请求
- javascript - JS在函数中传递参数
- multithreading - 从工作线程更新 GUI 工作(WinForms),为什么?
- c# - 当操作名称以“异步”结尾时,Asp.Net Core 3.0 CreatedAtAction 返回“没有路由与提供的值匹配”
- php - 如何在 Laravel 上以 html 形式使用 PATCH 或 PUT 方法
- c++ - Rcpp:在R中调用c++函数而不导出c++函数