我正在尝试为Teamcity中的特定项目设置Git post-commit hook,以便在BitBucket存储库中发生更改时触发构建。
我正在尝试使用以下powershell脚本:
curl --user username:password -X POST "http://teamcity.org.com/app/rest/vcs-root-instances/commitHookNotification?locator=project:(id:project_id)"
它给了我以下错误:
No VCS roots are found for locator 'project:(id:project_id)' with current user 'teamcityuser' (TeamCityUser) {id=1672}. Check
locator and permissions using '/app/rest/vcs-root-instances?locator=$help' URL.
有没有其他方法可以使用powershell脚本在Git中为teamcity配置提交后挂钩?
答案 0 :(得分:1)
Project不是有效的定位器ID,因此您可能需要考虑更改正在卷曲的URL。
从TeamCity文档中,可接受的定位器如下:
- 类型:VCS根类型 - 指定版本控制的VCS根实例(例如" jetbrains.git"," mercurial"," svn")
- vcsRoot :( vcsRootLocator) - 与" vcsRootLocator"
匹配的VCS根对应的VCS根实例- buildType:(buildTypeLocator) - 附加到匹配构建配置的VCS根实例
- property :( name:name,value:value,matchType:matching) - 具有name" name"属性的VCS根实例。和值匹配条件" matchType" (例如,equals,contains)由值"值"。
醇>
您可以通过构建api请求来查询项目ID,如下所示:
curl --user username:password -X POST "http://teamcity.org.com/app/rest/vcs-root-instances/commitHookNotification?locator=property:(name:project,id:project_id,matchtype:contains)"