312.md 10.3 KB
Newer Older
Lab机器人's avatar
readme  
Lab机器人 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
# Events

> 原文:[https://docs.gitlab.com/ee/api/events.html](https://docs.gitlab.com/ee/api/events.html)

*   [Filter parameters](#filter-parameters)
    *   [Action Types](#action-types)
    *   [Target Types](#target-types)
    *   [Date formatting](#date-formatting)
    *   [Event Time Period Limit](#event-time-period-limit)
*   [List currently authenticated user’s events](#list-currently-authenticated-users-events)
    *   [Get user contribution events](#get-user-contribution-events)
*   [List a Project’s visible events](#list-a-projects-visible-events)

# Events[](#events "Permalink")

## Filter parameters[](#filter-parameters "Permalink")

### Action Types[](#action-types "Permalink")

`action`参数的可用操作类型为:

*   `created`
*   `updated`
*   `closed`
*   `reopened`
*   `pushed`
*   `commented`
*   `merged`
*   `joined`
*   `left`
*   `destroyed`
*   `expired`

请注意,这些选项是小写的.

### Target Types[](#target-types "Permalink")

`target_type`参数的可用目标类型为:

*   `issue`
*   `milestone`
*   `merge_request`
*   `note`
*   `project`
*   `snippet`
*   `user`

请注意,这些选项是小写的.

### Date formatting[](#date-formatting "Permalink")

`before``after`参数的日期应以以下格式提供:

```
YYYY-MM-DD 
```

### Event Time Period Limit[](#event-time-period-limit "Permalink")

GitLab removes events older than 2 years from the events table for performance reasons.

## List currently authenticated user’s events[](#list-currently-authenticated-users-events "Permalink")

**注意:**该端点是在 GitLab 9.3 中引入的. 在 GitLab 11.3 中引入了`read_user`访问.

获取经过身份验证的用户的事件列表. 范围`read_user``api`是必需的.

```
GET /events 
```

Parameters:

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `action` | string | no | 仅包括特定[动作类型的](#action-types)事件 |
| `target_type` | string | no | 仅包括特定[目标类型的](#target-types)事件 |
| `before` | date | no | 仅包括在特定日期之前创建的事件. 请[在此处查看受支持的格式](#date-formatting) |
| `after` | date | no | 仅包括在特定日期之后创建的事件. 请[在此处查看受支持的格式](#date-formatting) |
| `scope` | string | no | 包括用户项目中的所有事件. |
| `sort` | string | no | 按`created_at`对事件进行`asc``desc`排序. 默认为`desc` |

请求示例:

```
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/events?target_type=issue&action=created&after=2017-01-31&before=2017-03-01&scope=all" 
```

响应示例:

```
[  {  "title":null,  "project_id":1,  "action_name":"opened",  "target_id":160,  "target_type":"Issue",  "author_id":25,  "target_title":"Qui natus eos odio tempore et quaerat consequuntur ducimus cupiditate quis.",  "created_at":"2017-02-09T10:43:19.667Z",  "author":{  "name":"User 3",  "username":"user3",  "id":25,  "state":"active",  "avatar_url":"http://www.gravatar.com/avatar/97d6d9441ff85fdc730e02a6068d267b?s=80\u0026d=identicon",  "web_url":"https://gitlab.example.com/user3"  },  "author_username":"user3"  },  {  "title":null,  "project_id":1,  "action_name":"opened",  "target_id":159,  "target_type":"Issue",  "author_id":21,  "target_title":"Nostrum enim non et sed optio illo deleniti non.",  "created_at":"2017-02-09T10:43:19.426Z",  "author":{  "name":"Test User",  "username":"ted",  "id":21,  "state":"active",  "avatar_url":"http://www.gravatar.com/avatar/80fb888c9a48b9a3f87477214acaa63f?s=80\u0026d=identicon",  "web_url":"https://gitlab.example.com/ted"  },  "author_username":"ted"  }  ] 
```

### Get user contribution events[](#get-user-contribution-events "Permalink")

**注意:**文档以前位于" [用户 API"页面中](users.html) . 在 GitLab 11.3 中引入了`read_user`访问.

获取指定用户的贡献事件,从最新到最旧排序. 范围`read_user``api`是必需的.

```
GET /users/:id/events 
```

Parameters:

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer | yes | 用户的 ID 或用户名 |
| `action` | string | no | 仅包括特定[动作类型的](#action-types)事件 |
| `target_type` | string | no | 仅包括特定[目标类型的](#target-types)事件 |
| `before` | date | no | 仅包括在特定日期之前创建的事件. 请[在此处查看受支持的格式](#date-formatting) |
| `after` | date | no | 仅包括在特定日期之后创建的事件. 请[在此处查看受支持的格式](#date-formatting) |
| `sort` | string | no | 按`created_at`对事件进行`asc``desc`排序. 默认为`desc` |

```
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/:id/events" 
```

响应示例:

```
[  {  "title":  null,  "project_id":  15,  "action_name":  "closed",  "target_id":  830,  "target_type":  "Issue",  "author_id":  1,  "target_title":  "Public project search field",  "author":  {  "name":  "Dmitriy Zaporozhets",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",  "web_url":  "http://localhost:3000/root"  },  "author_username":  "root"  },  {  "title":  null,  "project_id":  15,  "action_name":  "pushed",  "target_id":  null,  "target_type":  null,  "author_id":  1,  "author":  {  "name":  "Dmitriy Zaporozhets",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",  "web_url":  "http://localhost:3000/root"  },  "author_username":  "john",  "push_data":  {  "commit_count":  1,  "action":  "pushed",  "ref_type":  "branch",  "commit_from":  "50d4420237a9de7be1304607147aec22e4a14af7",  "commit_to":  "c5feabde2d8cd023215af4d2ceeb7a64839fc428",  "ref":  "master",  "commit_title":  "Add simple search to projects in public area"  },  "target_title":  null  },  {  "title":  null,  "project_id":  15,  "action_name":  "closed",  "target_id":  840,  "target_type":  "Issue",  "author_id":  1,  "target_title":  "Finish & merge Code search PR",  "author":  {  "name":  "Dmitriy Zaporozhets",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",  "web_url":  "http://localhost:3000/root"  },  "author_username":  "root"  },  {  "title":  null,  "project_id":  15,  "action_name":  "commented on",  "target_id":  1312,  "target_type":  "Note",  "author_id":  1,  "target_title":  null,  "created_at":  "2015-12-04T10:33:58.089Z",  "note":  {  "id":  1312,  "body":  "What an awesome day!",  "attachment":  null,  "author":  {  "name":  "Dmitriy Zaporozhets",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",  "web_url":  "http://localhost:3000/root"  },  "created_at":  "2015-12-04T10:33:56.698Z",  "system":  false,  "noteable_id":  377,  "noteable_type":  "Issue"  },  "author":  {  "name":  "Dmitriy Zaporozhets",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",  "web_url":  "http://localhost:3000/root"  },  "author_username":  "root"  }  ] 
```

## List a Project’s visible events[](#list-a-projects-visible-events "Permalink")

> **注意:**此端点的时间比其他端点长. 文档以前位于[Projects API 页面中](projects.html) .

获取特定项目的可见事件列表.

```
GET /projects/:project_id/events 
```

Parameters:

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `project_id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) |
| `action` | string | no | 仅包括特定[动作类型的](#action-types)事件 |
| `target_type` | string | no | 仅包括特定[目标类型的](#target-types)事件 |
| `before` | date | no | 仅包括在特定日期之前创建的事件. 请[在此处查看受支持的格式](#date-formatting) |
| `after` | date | no | 仅包括在特定日期之后创建的事件. 请[在此处查看受支持的格式](#date-formatting) |
| `sort` | string | no | 按`created_at`对事件进行`asc``desc`排序. 默认为`desc` |

请求示例:

```
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:project_id/events?target_type=issue&action=created&after=2017-01-31&before=2017-03-01" 
```

响应示例:

```
[  {  "title":null,  "project_id":1,  "action_name":"opened",  "target_id":160,  "target_iid":160,  "target_type":"Issue",  "author_id":25,  "target_title":"Qui natus eos odio tempore et quaerat consequuntur ducimus cupiditate quis.",  "created_at":"2017-02-09T10:43:19.667Z",  "author":{  "name":"User 3",  "username":"user3",  "id":25,  "state":"active",  "avatar_url":"http://www.gravatar.com/avatar/97d6d9441ff85fdc730e02a6068d267b?s=80\u0026d=identicon",  "web_url":"https://gitlab.example.com/user3"  },  "author_username":"user3"  },  {  "title":null,  "project_id":1,  "action_name":"opened",  "target_id":159,  "target_iid":159,  "target_type":"Issue",  "author_id":21,  "target_title":"Nostrum enim non et sed optio illo deleniti non.",  "created_at":"2017-02-09T10:43:19.426Z",  "author":{  "name":"Test User",  "username":"ted",  "id":21,  "state":"active",  "avatar_url":"http://www.gravatar.com/avatar/80fb888c9a48b9a3f87477214acaa63f?s=80\u0026d=identicon",  "web_url":"https://gitlab.example.com/ted"  },  "author_username":"ted"  },  {  "title":  null,  "project_id":  1,  "action_name":  "commented on",  "target_id":  1312,  "target_iid":  1312,  "target_type":  "Note",  "author_id":  1,  "data":  null,  "target_title":  null,  "created_at":  "2015-12-04T10:33:58.089Z",  "note":  {  "id":  1312,  "body":  "What an awesome day!",  "attachment":  null,  "author":  {  "name":  "Dmitriy Zaporozhets",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "https://gitlab.example.com/uploads/user/avatar/1/fox_avatar.png",  "web_url":  "https://gitlab.example.com/root"  },  "created_at":  "2015-12-04T10:33:56.698Z",  "system":  false,  "noteable_id":  377,  "noteable_type":  "Issue",  "noteable_iid":  377  },  "author":  {  "name":  "Dmitriy Zaporozhets",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "https://gitlab.example.com/uploads/user/avatar/1/fox_avatar.png",  "web_url":  "https://gitlab.example.com/root"  },  "author_username":  "root"  }  ] 
```