如何在ADO流水线中获取Webhook Payload的完整可用变量列表?
获取ADO Webhook Payload完整可用变量列表的方法
要解决部分变量为空、无法查看完整Payload的问题,可以通过以下几种方式获取完整的可用变量列表:
1. 在流水线中直接打印完整Webhook参数结构
添加一个步骤,将Webhook对应的参数对象转为JSON格式输出,就能看到所有实际传递过来的字段:
steps: - powershell: | # 打印指定Webhook的完整参数结构 $webhookData = ConvertTo-Json ${{ parameters.Coin }} -Depth 10 Write-Host "完整Coin Webhook Payload:`n$webhookData" displayName: '输出完整Webhook Payload'
执行流水线后,日志里会展示该Webhook传递的所有字段,哪些字段存在、哪些为空一目了然。
2. 检查Webhook触发的事件类型
不同触发事件(如构建完成、拉取请求创建、代码推送)对应的Payload结构差异很大:
- 若Webhook基于「构建完成」事件触发,Payload通常只有
sourceBranch,不会有targetBranch(因为构建针对单个分支执行); - 只有触发事件为「拉取请求创建/更新」时,Payload才会包含
targetBranch字段。
先确认Webhook绑定的事件类型,再对应查看该事件的字段结构。
3. 在ADO后台查看Webhook的Payload示例
在Azure DevOps项目设置中,直接查看对应Webhook的Payload模板:
- 进入项目「项目设置」→「服务挂钩」;
- 找到配置的
FromCoin连接对应的Webhook,点击「编辑」; - 在编辑页面的「测试」或「Payload示例」区域,可查看该事件触发时会传递的所有字段和结构。
关于targetBranch为空的说明
你添加targetBranch变量后显示为空,大概率是当前触发Webhook的事件本身不包含这个字段。比如构建完成事件的Webhook Payload里根本没有targetBranch属性,自然无法获取到值。先通过上述方法确认Payload里是否存在该字段,再调整变量配置。
内容的提问来源于stack exchange,提问作者scrapkowe
相关产品推荐
相关产品推荐

