2016-02-20 10 views
-1

Je travaille sur une simple intégration mou pour les projets SVN via un crochet post-commit côté client dans Windows Tortoise SVN en utilisant curl pour envoyer JSON. Je voudrais poster quelques informations de base, idéalement le numéro de révision et commenter quand un commit est fait. J'ai ajouté un hook côté client post-commit, qui exécute un fichier postcommit.bat qui réussit à envoyer un message à mon canal mou. Ce que je n'arrive pas à faire, c'est d'inclure les variables passées de tortue. Selon tortue un client côté SVN crochet post-validation inclura l'argument suivant PATH DEPTH MESSAGEFILE REVISION ERROR CWD https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-settings.htmlTortoise SVN Post-Commit Hook Windows

Voici mon code de travail, qui envoie une chaîne statique (non compris le message/révision de mon canal mou):

C:\p\curl -H "Content-Type: application/json" -X POST https://hooks.slack.com/services/MYSECRETSERVICE -d "{\"text\":\"Test message\"}" 

Je voudrais faire quelque chose comme ça, mais le code suivant ne pas simplement les messages « RevMessage », autrement dit les paramètres ne sont pas correctement passé:

C:\p\curl -H "Content-Type: application/json" -X POST https://hooks.slack.com/services/MYSECRETSERVICE -d "{\"text\":\"Rev%REVISION%Message%MESSAGE%\"}" 

Répondre

0

d'accord, cela peut avoir été si spécifique (à en juger par le nombre de vues) que je devais y répondre moi-même, lol. Quoi qu'il en soit, peut-être que quelqu'un d'autre le trouvera utile, voici ce qui a fini par fonctionner pour moi. Les premières variables doivent être définies à partir des arguments, puis elles peuvent être référencées comme indiqué:

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%\"}"