我正在使用curl发送JSON,通过Windows Tortoise SVN中的客户端后提交挂钩为SVN项目进行简单的松弛集成。我想在提交时发布一些基本信息,理想情况是修订号和注释。我添加了一个提交后客户端端钩子,它执行postcommit.bat文件,成功向我的松弛通道发送消息。我无法工作的是包括来自乌龟的传入变量。根据tortoise,SVN客户端钩子后提交将包括以下参数PATH DEPTH MESSAGEFILE REVISION ERROR CWD https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-settings.html
这是我的工作代码,它发送一个静态字符串(不包括消息/修订到我的松弛通道):
C:\p\curl -H "Content-Type: application/json" -X POST https://hooks.slack.com/services/MYSECRETSERVICE -d "{\"text\":\"Test message\"}"
我想做这样的事情,但是下面的代码没有,它只是发布" RevMessage",或者换句话说,参数没有正确传递:
C:\p\curl -H "Content-Type: application/json" -X POST https://hooks.slack.com/services/MYSECRETSERVICE -d "{\"text\":\"Rev%REVISION%Message%MESSAGE%\"}"
答案 0 :(得分:1)
好吧,这可能是如此具体(从查看次数来看)我必须自己回答,哈哈。无论如何,也许其他人会觉得这很有用,这就是最终为我工作的东西。第一个变量需要从参数设置,然后可以如下所示引用它们:
set tsvnPath=%1
set tsvnDepth=%2
set tsvnMsgFile=%3
set /p THEMSG=<%3
set tsvnRevision=%4
set tsvnError=%5
set tsvnCwd=%6
C:\p\curl -H "Content-Type: application/json" -X POST https://hooks.slack.com/services/MYSECRET -d "{\"text\":\"MSG %THEMSG% REV %tsvnRevision%\"}"