从gitlab webhooks

时间:2015-11-07 18:03:29

标签: api gitlab webhooks

在为Gitlab问题实现自定义webhook处理程序时,我很难找到如何在钩子触发之前确定字段的先前值。

作为参考,this是webhooks文档,特定于问题的有效负载看起来有点像:

{
  "object_attributes": {
    "action": "update",
    "url": "https://example.com/foo/bar/issues/10",
    "iid": 10,
    "state": "opened",
    "milestone_id": null,
    "description": "44",
    "branch_name": null,
    "position": 0,
    "updated_at": "2015-11-07 17:39:47 +0000",
    "created_at": "2015-11-07 17:06:07 +0000",
    "project_id": 51,
    "author_id": 6,
    "assignee_id": null,
    "title": "123",
    "id": 180
  },
  "user": {
    "avatar_url": "https://example.com/uploads/user/avatar/6.jpg",
    "username": "shabble",
    "name": "real name"
  },
  "object_kind": "issue"
}

修改问题时。

在此示例中,assignee_id已从我自己更改为null,但似乎无法确定更新前的前一个值(即我)。

几乎所有可编辑字段都是如此,包括整个问题描述等内容。因此,可以告诉它现在是什么,也许最后一次更改它,但看不到任何先前的更改。

是否有任何地方可以找到这些信息(以前的状态),可能是通过gitlab issues API找到的,虽然我没有找到任何合理的信息。

唯一的选择似乎是一个单独的系统来记录每个钩子的值,然后当一个后续钩子进入匹配相同的问题时,差异最后一个记录来确定变化。这将不太理想。

还有其他想法吗?

0 个答案:

没有答案