Visual studio 无法从服务挂钩获取事件的几乎所有信息 我试图使用Team基金会服务器使用TrRLO服务挂钩。我已经和连接工作没有问题,但是,我无法从事件JSON获得我需要的信息:
这是JSON事件:Visual studio 无法从服务挂钩获取事件的几乎所有信息 我试图使用Team基金会服务器使用TrRLO服务挂钩。我已经和连接工作没有问题,但是,我无法从事件JSON获得我需要的信息: ,visual-studio,service,tfs,hook,trello,Visual Studio,Service,Tfs,Hook,Trello,这是JSON事件: { "id": "03c164c2-8912-4d5e-8009-3707d5f83734", "eventType": "git.push", "publisherId": "tfs", "scope": 0, "message": { "text": "Jamal Hartnett pushed updates to Fabrikam-Fiber-Git:master.", "html": "Jama
{
"id": "03c164c2-8912-4d5e-8009-3707d5f83734",
"eventType": "git.push",
"publisherId": "tfs",
"scope": 0,
"message": {
"text": "Jamal Hartnett pushed updates to Fabrikam-Fiber-Git:master.",
"html": "Jamal Hartnett pushed updates to Fabrikam-Fiber-Git:master.",
"markdown": "Jamal Hartnett pushed updates to `Fabrikam-Fiber-Git`:`master`."
},
"detailedMessage": {
"text": "Jamal Hartnett pushed a commit to Fabrikam-Fiber-Git:master.\n - Fixed bug in web.config file 33b55f7c",
"html": "Jamal Hartnett pushed a commit to <a href=\"https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_git/Fabrikam-Fiber-Git/\">Fabrikam-Fiber-Git</a>:<a href=\"https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_git/Fabrikam-Fiber-Git/#version=GBmaster\">master</a>.\n<ul>\n<li>Fixed bug in web.config file <a href=\"https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/33b55f7cb7e7e245323987634f960cf4a6e6bc74\">33b55f7c</a>\n</ul>",
"markdown": "Jamal Hartnett pushed a commit to [Fabrikam-Fiber-Git](https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_git/Fabrikam-Fiber-Git/):[master](https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_git/Fabrikam-Fiber-Git/#version=GBmaster).\n* Fixed bug in web.config file [33b55f7c](https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/33b55f7cb7e7e245323987634f960cf4a6e6bc74)"
},
"resource": {
"commits": [
{
"commitId": "33b55f7cb7e7e245323987634f960cf4a6e6bc74",
"author": {
"name": "Jamal Hartnett",
"email": "fabrikamfiber4@hotmail.com",
"date": "2015-02-25T19:01:00Z"
},
"committer": {
"name": "Jamal Hartnett",
"email": "fabrikamfiber4@hotmail.com",
"date": "2015-02-25T19:01:00Z"
},
"comment": "Fixed bug in web.config file",
"url": "https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/33b55f7cb7e7e245323987634f960cf4a6e6bc74"
}
],
"refUpdates": [
{
"name": "refs/heads/master",
"oldObjectId": "aad331d8d3b131fa9ae03cf5e53965b51942618a",
"newObjectId": "33b55f7cb7e7e245323987634f960cf4a6e6bc74"
}
],
"repository": {
"id": "278d5cd2-584d-4b63-824a-2ba458937249",
"name": "Fabrikam-Fiber-Git",
"url": "https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249",
"project": {
"id": "6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
"name": "Fabrikam-Fiber-Git",
"url": "https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_apis/projects/6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
"state": "wellFormed",
"visibility": "unchanged"
},
"defaultBranch": "refs/heads/master",
"remoteUrl": "https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_git/Fabrikam-Fiber-Git"
},
"pushedBy": {
"id": "00067FFED5C7AF52@Live.com",
"displayName": "Jamal Hartnett",
"uniqueName": "Windows Live ID\\fabrikamfiber4@hotmail.com"
},
"pushId": 14,
"date": "2014-05-02T19:17:13.3309587Z",
"url": "https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/pushes/14"
},
"resourceVersion": "1.0",
"resourceContainers": {
"collection": {
"id": "c12d0eb8-e382-443b-9f9c-c52cba5014c2"
},
"account": {
"id": "f844ec47-a9db-4511-8281-8b63f4eaf94e"
},
"project": {
"id": "be9b3917-87e6-42a4-a549-2bc06a7a878f"
}
},
"createdDate": "2017-07-21T16:48:44.312Z"
}
我可以从事件JSON中获取/读取的唯一字段是消息
我做错了什么?更新
Eddie是对的,在这种情况下,你应该使用push作为资源。文件不太清楚。最后,事情变得如此简单。但是,对于代码签入事件,相应的签入不起作用 文档可以更清楚地说明每个事件的资源是如何应用的,这有助于避免这种混淆 占位符的基本形式是{resource.field},其中 resource是引发事件workitem、build等的资源的名称,field是 事件,如id。因此,如果订阅用于已完成的生成, 可能是这样的:
Build {{build.id}} completed at {{build.finishTime}}
问题似乎是您在这种情况下使用了错误的占位符。根据您的发送请求,resource.pushID&resource.commits[0]。注释不会替换为所引发事件的值 如果要获取推送ID和注释,说明如下:
{{push.pushId}}
{{push.commits[0].comment}}
在哪里可以更改TFS地址和提交ID?我找不到可以改变的地方。很抱歉误解了,我得到了和你一样的结果。在这种情况下,我们似乎使用了错误的占位符。根据您的发送请求,resource.pushID&resource.commits[0]。注释不会替换为所引发事件的值。但是,我们尝试了多个占位符,例如git.xx code.xx,这些占位符都不起作用,但是对于其他事件,它与build.id/workitem.id配合使用效果很好。恐怕它无法获取除message/detailedmessage之外的其他信息,或者codepush事件中的格式是硬代码。您知道在哪里可以了解如何确保格式是硬代码,以及如何获取信息?我不明白他们为什么把一件简单的事情弄得这么难……埃迪是对的,在这种情况下,你应该使用推送作为资源。文件不太清楚。最后,事情变得如此简单。但是,对于代码签入事件,相应的签入不起作用。文档肯定会更清楚地说明每个事件的资源是如何应用的,以帮助避免这种混乱。谢谢您的帮助。
{{push.pushId}}
{{push.commits[0].comment}}