从jenkins的web钩子中检索发布数据

时间:2014-08-29 13:06:33

标签: jenkins continuous-integration gitlab

我正在使用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一起发送的帖子数据?

1 个答案:

答案 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,你肯定会有参数。