# 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"  }  ] 
```