我正在使用gitlab,我想在创建项目时触发系统挂钩。我已经添加了以下jenkins api调用的钩子(我使用的是jenkins插件,这就是为什么api看起来不同)。
http://myip:8081/buildByToken/buildWithParameters?job=testHook&token=hook
这是启动jenkins的工作,但是我无法在jenkins工作中获取钩子发送的帖子数据。
以下是gitlab使用此挂钩作为发布数据发送的示例。
{
"created_at": "2012-07-21T07:30:54Z",
"event_name": "project_create",
"name": "StoreCloud",
"owner_email": "johnsmith@gmail.com",
"owner_name": "John Smith",
"path": "stormcloud",
"path_with_namespace": "jsmith/stormcloud",
"project_id": 74,
"project_visibility": "private",
}
有没有办法在jenkins中检索与webook一起发送的帖子数据?
答案 0 :(得分:0)
有一个特定于Jenkins和Gitlab集成的插件。
https://github.com/elvanja/jenkins-gitlab-hook-plugin#build-now-hook
通过使用http://your-jenkins-server.com/gitlab/build_now,您可以访问所有有效负载变量,例如文档中的示例。您的构建需要参数化,并且需要声明您想要访问的所有变量。然后,您将拥有一个可用的env变量,例如$ {USER_NAME}
但是,如果你想使用/ gitlab / notify_commit,它有很多更酷的可能性,有效载荷数据将无法工作,因为触发器和构建之间存在差距(我在谈论民意调查过程)。
我相信你的/ buildByToken / buildWithParameters,因为它的build_now,会有有效负载。使用GitLabHookPlugin,你肯定会有参数。
马