Composer php Terramar包:GitLab 8.3.2 webhooks失败
使用GitLab 8.3.2,所有Webhook都会失败,并显示消息Composer php Terramar包:GitLab 8.3.2 webhooks失败,composer-php,gitlab,Composer Php,Gitlab,使用GitLab 8.3.2,所有Webhook都会失败,并显示消息Hook execution failed:Accepted 命令行satis:build失败 [Composer\Json\JsonValidationException] The json config file does not match the expected JSON schema satis.json是 { "output-dir": "\/var\/www\/packages\/web",
Hook execution failed:Accepted
命令行satis:build失败
[Composer\Json\JsonValidationException]
The json config file does not match the expected JSON schema
satis.json是
{
"output-dir": "\/var\/www\/packages\/web",
"repositories": [
{
"type": "vcs",
"url": "git@git.example.com:xxx\/xxx.git"
},
{
"type": "vcs",
"url": "git@git.example.com:xxx\/xxx-ui-kit.git"
},
{
"type": "vcs",
"url": "git@git.example.com:xxx\/xxx2.git"
}
],
"output-html": false,
"require-dependencies": true,
"require-dev-dependencies": true
}
有人能指出问题的根源吗?我不太确定这是否是软件包的问题。如果我正确理解了这个问题,这是
- 与composer相关的问题(因为它不应将satis配置文件验证为composer文件)或
- 与生成您引用的配置文件的任何程序相关。在这种情况下,它应该生成可接受的配置文件
现在,您可以手动使json符合模式,并希望修复两个相关项目中的任何一个项目和/或它们的文件问题。从外观上看,您似乎缺少
名称
和主页
属性。我正要评论@xabbuh,但似乎我们引用的模式应该是不相关的。为了这个,你能试试吗,@Bonscho?你说得对,儿子。问题是satis.json被验证为composer.json,不管出于什么原因。因此,缺少必需的成员名称
和主页
。手动将这两个成员添加到satis.json后,satis:build
调用成功。我链接的json模式文件与Composer无关,而是用于satis的(它是最近才添加的IIRC,这是您以前没有错误的原因)。我遇到了两个不同的问题。首先,不管出于什么原因,Terramar软件包使用的satis库都会根据composer.json验证器验证satis.json。第二,GitLab不接受HTTP状态202,但应该接受对Webhook的有效成功响应。