# 议题

如果使用 project_full_path,确保 project_full_path 编码过,例子:/api/v3/projects/--> diaspora%2Fdiaspora (/ 编码 %2F)

# 新建议题

给指定项目创建议题

POST /api/v3/projects/:id/issues

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
title string 议题标题
priority integer(可选) 权重:取值范围 0~5
description string(可选) 议题描述
confidential boolean(可选) 是否私密(默认值:false
assignee_ids string(可选) 处理人唯一标识,允许多个,以,分隔,最多:10
milestone_id integer(可选) 里程碑 唯一标识
labels string(可选) 议题标签,允许多个,以,分隔,最多:10

返回值:

{
    "labels": [],
    "linkedIssues": [],
    "linked_issues": [],
    "milestone":  {
      "id": 10262,
      "project_id": 6368,
      "title": "M1",
      "state": "active",
      "iid": 1,
      "due_date": "0001-01-20",
      "created_at": "2022-12-28T12:13:17+0000",
      "updated_at": "2022-12-28T12:13:17+0000",
      "description": ""
    },
    "id": 3253,
    "project_id": 6368,
    "title": "test-02",
    "state": "opened",
    "resolve_state": "accepted",
    "priority": "P0",
    "iid": 8,
    "description": null,
    "confidential": false,
    "created_at": "2017-08-13T08:33:31+0000",
    "updated_at": "2017-08-13T08:33:31+0000",
    "author": {
        "id": 1055,
        "username": "git_user1",
        "web_url": "https://git.tencent.com/u/git_user1",
        "name": "git_user1",
        "state": "active",
        "avatar_url": "git.tencent.com/uploads/user/avatar/1055/a75ba2727c7a409cab1d15dd993149aa.jpg"
    },
    "assignees": [
      {
        "id": 1,
        "username": "root",
        "web_url": "http://git.tencent.com/u/root",
        "name": "Code 平台中心 -2",
        "state": "active",
        "avatar_url": "https://git.tencent.com/common/images/avatar/default_user_avatar.png"
      }
    ],
    "assignee": {
      "id": 1,
      "username": "root",
      "web_url": "http://git.tencent.com/u/root",
      "name": "Code 平台中心 -2",
      "state": "active",
      "avatar_url": "https://git.tencent.com/common/images/avatar/default_user_avatar.png"
    }
}

# 修改议题 (根据 id)

编辑给定项目的某个议题

PUT /api/v3/projects/:id/issues/:issue_id

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
issue_id integer 议题唯一标识
title string(可选) 议题标题
resolve_state string(可选) 解决状态:可选resolved,accepted,denied
priority integer(可选) 权重:取值范围 0~5
description string(可选) 议题描述
confidential boolean(可选) 是否私密
assignee_ids string(可选) 处理人唯一标识,允许多个,以,分隔,最大值:10
milestone_id integer(可选) 里程碑的唯一标识
labels string(可选) 议题标签,允许多个,以,分隔,最大值:10
state_event string(可选) 议题事件,可选reopenclose

返回值:

{
    "labels": [],
    "linkedIssues": [],
    "linked_issues": [],
    "milestone": {
      "id": 10262,
      "project_id": 6368,
      "title": "M1",
      "state": "active",
      "iid": 1,
      "due_date": "0001-01-20",
      "created_at": "2022-12-28T12:13:17+0000",
      "updated_at": "2022-12-28T12:13:17+0000",
      "description": ""
    },
    "id": 3253,
    "project_id": 6368,
    "title": "test-0202",
    "state": "opened",
    "resolve_state": "accepted",
    "priority": "P0",
    "iid": 8,
    "description": null,
    "confidential": false,
    "created_at": "2017-08-13T08:33:31+0000",
    "updated_at": "2017-08-13T08:33:31+0000",
    "author": {
        "id": 1055,
        "username": "git_user1",
        "web_url": "https://git.tencent.com/u/git_user1",
        "name": "git_user1",
        "state": "active",
        "avatar_url": "git.tencent.com/uploads/user/avatar/1055/a75ba2727c7a409cab1d15dd993149aa.jpg"
    },
    "assignees": [],
    "assignee": null
}

# 修改议题 (根据 iid)

编辑给定项目的某个议题

PUT /api/v3/projects/:id/issues/iid/:issue_iid

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
issue_iid integer 议题在项目中的编号
title string(可选) 议题标题
resolve_state string(可选) 解决状态:可选resolved,accepted,denied
priority integer(可选) 权重:取值范围 0~5
description string(可选) 议题描述
confidential boolean(可选) 是否私密
assignee_ids string(可选) 处理人唯一标识,允许多个,以,分隔,最大值:10
milestone_id integer(可选) 里程碑的唯一标识
labels string(可选) 议题标签,允许多个,以,分隔,最大值:10
state_event string(可选) 议题事件,可选reopenclose

返回值:

{
    "labels": [],
    "linkedIssues": [],
    "linked_issues": [],
    "milestone": {
      "id": 10262,
      "project_id": 6368,
      "title": "M1",
      "state": "active",
      "iid": 1,
      "due_date": "0001-01-20",
      "created_at": "2022-12-28T12:13:17+0000",
      "updated_at": "2022-12-28T12:13:17+0000",
      "description": ""
    },
    "id": 3253,
    "project_id": 6368,
    "title": "test-0202",
    "state": "opened",
    "resolve_state": "accepted",
    "priority": "P0",
    "iid": 8,
    "description": null,
    "confidential": false,
    "created_at": "2017-08-13T08:33:31+0000",
    "updated_at": "2017-08-13T08:33:31+0000",
    "author": {
        "id": 1055,
        "username": "git_user1",
        "web_url": "https://git.tencent.com/u/git_user1",
        "name": "git_user1",
        "state": "active",
        "avatar_url": "git.tencent.com/uploads/user/avatar/1055/a75ba2727c7a409cab1d15dd993149aa.jpg"
    },
    "assignees": [],
    "assignee": null
}

# 用户创建议题列表

返回用户创建的议题列表,支持搜索、分页

GET /api/v3/issues
GET /api/v3/issues?state=opened
GET /api/v3/issues?state=closed
GET /api/v3/issues?labels=foo
GET /api/v3/issues?labels=foo,bar
GET /api/v3/issues?labels=foo,bar&state=opened

参数:

参数 类型 描述
priorities string(可选) 权重,允许多个,以,分隔,比如 0,1
resolve_state string(可选) 解决状态:可选resolved,accepted,denied
state string(可选) 议题状态,可选opened, closed
labels string(可选) 标签,允许多个,以,分隔,最大值:10
page integer(可选) 分页(默认值:1
per_page integer(可选) 默认页面大小(默认值:20,最大值:100
order_by string(可选) 排序字段,允许按 created_at,updated_at排序(默认created_at
sort string(可选) 排序方式,允许 asc,desc(默认desc
created_after yyyy-MM-dd'T'HH:mm:ssZ(可选) 返回给定时间及之后创建的问题;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”)
created_before yyyy-MM-dd'T'HH:mm:ssZ(可选) 返回给定时间及之前创建的问题;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”)
updated_after yyyy-MM-dd'T'HH:mm:ssZ(可选) 返回给定时间及之后更新的问题;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”)
updated_before yyyy-MM-dd'T'HH:mm:ssZ(可选) 返回给定时间及之前更新的问题;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”)

返回值:

[
  {
        "labels": [],
        "milestone": {
          "id": 10262,
          "project_id": 6368,
          "title": "M1",
          "state": "active",
          "iid": 1,
          "due_date": "0001-01-20",
          "created_at": "2022-12-28T12:13:17+0000",
          "updated_at": "2022-12-28T12:13:17+0000",
          "description": ""
        },
        "id": 3253,
        "project_id": 6368,
        "title": "test-0202",
        "state": "opened",
        "resolve_state": "accepted",
        "priority": "P0",
        "iid": 8,
        "description": null,
        "confidential": false,
        "created_at": "2017-08-13T08:33:31+0000",
        "updated_at": "2017-08-13T08:37:16+0000",
        "author": {
            "id": 1055,
            "username": "git_user1",
            "web_url": "https://git.tencent.com/u/git_user1",
            "name": "git_user1",
            "state": "active",
            "avatar_url": "git.tencent.com/uploads/user/avatar/1055/a75ba2738c7a409cab1d15dd993149aa.jpg"
        },
        "assignees": [],
        "assignee": null
    },
   {
        "labels": [
            "bug"
        ],
        "milestone": null,
        "id": 29360,
        "project_id": 45663,
        "title": "test 失败",
        "state": "opened",
        "resolve_state": "accepted",
        "priority": "P0",
        "iid": 206,
        "description": "null",
        "created_at": "2017-07-02T01:52:48+0000",
        "updated_at": "2017-07-02T01:52:48+0000",
        "author": {
            "id": 1055,
            "username": "git_user1",
            "web_url": "https://git.tencent.com/u/git_user1",
            "name": "git_user1",
            "state": "active",
            "avatar_url": "git.tencent.com/uploads/user/avatar/18604/a75ba2727c7a409cab1d15dd993149aa.jpg"
        },
        "assignees": [],
        "assignee": null
    }
]

# 项目议题列表

返回项目的议题列表,支持搜索、分页

GET /api/v3/projects/:id/issues
GET /api/v3/projects/:id/issues?state=opened
GET /api/v3/projects/:id/issues?state=closed
GET /api/v3/projects/:id/issues?labels=foo
GET /api/v3/projects/:id/issues?labels=foo,bar
GET /api/v3/projects/:id/issues?labels=foo,bar&state=opened
GET /api/v3/projects/:id/issues?milestone=1.0.0
GET /api/v3/projects/:id/issues?milestone=1.0.0&state=opened
GET /api/v3/projects/:id/issues?iid=42

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
iid integer(可选) 议题的项目编号
iids[] array of integer(可选) 议题的编号,使用时需转义.
如:iids[]=1&iids[]=2 --> iids%5B%5D=1&iids%5B%5D=2
state string(可选) 议题状态,可选opened, closed
priorities string(可选) 权重,允许多个,以,分隔,比如 0,1
labels string(可选) 标签,允许多个,以,分隔,最多:10
milestone string(可选) 里程碑标题
order_by string(可选) 排序字段,允许按created_at,updated_at排序(默认created_at
sort string(可选) 排序方式,允许asc,desc(默认desc
page integer(可选) 分页(默认值:1
per_page integer(可选) 默认页面大小(默认值:20,最大值:100
created_after yyyy-MM-dd'T'HH:mm:ssZ(可选) 返回给定时间及之后创建的问题;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”)
created_before yyyy-MM-dd'T'HH:mm:ssZ(可选) 返回给定时间及之前创建的问题;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”)
updated_after yyyy-MM-dd'T'HH:mm:ssZ(可选) 返回给定时间及之后更新的问题;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”)
updated_before yyyy-MM-dd'T'HH:mm:ssZ(可选) 返回给定时间及之前更新的问题;例如 2019-03-25T00:10:19+0000 或 2019-03-25T00:10:19+0800,时间参数必须转码,如“2019-03-25T00:10:19%2B0800”)

返回值:

[
  {
    "labels": [],
    "milestone": {
      "id": 10262,
      "project_id": 6368,
      "title": "M1",
      "state": "active",
      "iid": 1,
      "due_date": "0001-01-20",
      "created_at": "2022-12-28T12:13:17+0000",
      "updated_at": "2022-12-28T12:13:17+0000",
      "description": ""
    },
    "id": 12305,
    "project_id": 6368,
    "title": "test 消息提醒",
    "state": "closed",
    "resolve_state": "accepted",
    "priority": "P0",
    "iid": 1,
    "description": "扫二维码切换帐号失败,手动输入密码切换失败",
    "confidential": false,
    "created_at": "2017-01-21T16:16:02+0000",
    "updated_at": "2017-01-21T16:16:02+0000",
    "author": {
      "id": 1105,
      "username": "git_user1",
      "web_url": "https://git.tencent.com/u/git_user1",
      "name": "git_user1",
      "state": "active",
      "avatar_url": "git.tencent.com/uploads/user/avatar/1105/a75ba2738c7a409cab1d15dd993149aa.jpg"
    },
    "assignees": [],
    "assignee": null
  },
  {
    "labels": [
      "bug"
    ],
    "milestone": {
      "id": 10262,
      "project_id": 6368,
      "title": "M1",
      "state": "active",
      "iid": 1,
      "due_date": "0001-01-20",
      "created_at": "2022-12-28T12:13:17+0000",
      "updated_at": "2022-12-28T12:13:17+0000",
      "description": ""
    },
    "id": 23415,
    "project_id": 6368,
    "title": "ok",
    "state": "opened",
    "resolve_state": "accepted",
    "priority": "P0",
    "iid": 7,
    "description": "null",
    "confidential": false,
    "created_at": "2017-01-23T01:38:10+0000",
    "updated_at": "2017-01-24T06:15:53+0000",
    "author": {
      "id": 1105,
      "username": "git_user1",
      "web_url": "https://git.tencent.com/u/git_user1",
      "name": "git_user1",
      "state": "active",
      "avatar_url": "git.tencent.com/uploads/user/avatar/1106/a75ba2727c7a409cab1d15dd993149aa.jpg"
    },
    "assignees": [],
    "assignee": null
    }
]

# 查看指定议题 (根据 id)

返回给定项目的某个议题,需要有该项目 guest 权限

GET /api/v3/projects/:id/issues/:issue_id

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
issue_id integer 议题唯一标识 id

返回值:

{
  "labels": [],
  "linkedIssues": [
        {
          "issue_name": "code/test333#2",
          "issue_url": "code/test333/issues/2",
          "is_original": false
        },
        {
          "issue_name": "tegGroup/wwwe#2",
          "issue_url": "tegGroup/wwwe/issues/2",
          "is_original": false
        }
  ],
  "linked_issues": [
        {
            "issue_name": "code/test333#2",
            "issue_url": "code/test333/issues/2",
            "is_original": false
        },
        {
            "issue_name": "tegGroup/wwwe#2",
            "issue_url": "tegGroup/wwwe/issues/2",
            "is_original": false
        }
    ],
  "milestone": {
    "id": 10262,
    "project_id": 6368,
    "title": "M1",
    "state": "active",
    "iid": 1,
    "due_date": "0001-01-20",
    "created_at": "2022-12-28T12:13:17+0000",
    "updated_at": "2022-12-28T12:13:17+0000",
    "description": ""
  },
  "id": 12305,
  "project_id": 6368,
  "title": "切换失败",
  "state": "closed",
  "iid": 180,
  "resolve_state": "accepted",
  "priority": "P0:",
  "description": "扫二维码切换帐号失败,手动输入密码切换失败",
  "confidential": false,
  "created_at": "2017-01-21T16:16:02+0000",
  "updated_at": "2017-01-21T16:16:02+0000",
  "author": {
      "id": 1105,
      "username": "git_user1",
      "web_url": "https://git.tencent.com/u/git_user1",
      "name": "git_user1",
      "state": "active",
      "avatar_url": "git.tencent.com/uploads/user/avatar/1105/a75ba2737c7a409cab1d15dd993149aa.jpg"
  },
  "assignees": [],
  "assignee": null
}

# 查看指定议题 (根据 iid)

返回给定项目的某个议题,需要有该项目 guest 权限

GET /api/v3/projects/:id/issues/iid/:issue_iid

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
issue_iid integer 议题在该项目中的编号 iid

返回值:

{
  "labels": [],
  "linked_issues": [
        {
            "issue_name": "code/test333#2",
            "issue_url": "code/test333/issues/2",
            "is_original": false
        },
        {
            "issue_name": "tegGroup/wwwe#2",
            "issue_url": "tegGroup/wwwe/issues/2",
            "is_original": false
        }
    ],
  "linkedIssues": [
        {
          "issue_name": "code/test333#2",
          "issue_url": "code/test333/issues/2",
          "is_original": false
        },
        {
          "issue_name": "tegGroup/wwwe#2",
          "issue_url": "tegGroup/wwwe/issues/2",
          "is_original": false
        }
  ],
  "milestone": {
    "id": 10262,
    "project_id": 6368,
    "title": "M1",
    "state": "active",
    "iid": 1,
    "due_date": "0001-01-20",
    "created_at": "2022-12-28T12:13:17+0000",
    "updated_at": "2022-12-28T12:13:17+0000",
    "description": ""
  },
  "id": 12305,
  "project_id": 6368,
  "title": "切换失败",
  "state": "closed",
  "iid": 180,
  "resolve_state": "accepted",
  "priority": "P0:",
  "description": "扫二维码切换帐号失败,手动输入密码切换失败",
  "confidential": false,
  "created_at": "2017-01-21T16:16:02+0000",
  "updated_at": "2017-01-21T16:16:02+0000",
  "author": {
      "id": 1105,
      "username": "git_user1",
      "web_url": "https://git.tencent.com/u/git_user1",
      "name": "git_user1",
      "state": "active",
      "avatar_url": "git.tencent.com/uploads/user/avatar/1105/a75ba2737c7a409cab1d15dd993149aa.jpg"
  },
  "assignees": [],
  "assignee": null
}

# 判断是否订阅给定项目的某个议题

在项目内,判断对某个指定的议题是否订阅了

GET /api/v3/projects/:id/issues/:issue_id/subscribe

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
issue_id integer 议题 唯一标识

注意:有查看议题的权限,默认返回 true,除非取消订阅过

返回值:

true 或 false

# 订阅给定项目的某个议题

在项目中订阅某个指定的议题

PUT /api/v3/projects/:id/issues/:issue_id/subscribe

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
issue_id integer 议题唯一标识

返回值:

200 或相关状态码

# 取消订阅给定项目的某个议题

在项目里,取消订阅某个指定的议题

PUT /api/v3/projects/:id/issues/:issue_id/unsubscribe

参数:

参数 类型 描述
id integer 或 string 项目 ID 或 项目全路径 project_full_path
issue_id integer 议题唯一标识

返回值:

200 或相关状态码

# fork 议题

将议题 fork 到另外一个项目当中

POST /api/v3/projects/:id/issues/:issue_id/fork
参数 类型 描述
id integer 或 string 源项目 ID 或 源项目全路径 project_full_path
issue_id integer 议题唯一标识
project_id integer 目标项目 id

返回值:

{
    "labels": [],
    "linked_issues": [
        {
            "issue_name": "code/test333##2",
            "issue_url": "https://code/test333/issues/2",
            "is_original": false
        },
        {
            "issue_name": "tegGroup/wwwe##2",
            "issue_url": "https://tegGroup/wwwe/issues/2",
            "is_original": false
        }
    ],
    "linkedIssues": [
        {
          "issue_name": "code/test333##2",
          "issue_url": "https://code/test333/issues/2",
          "is_original": false
        },
        {
          "issue_name": "tegGroup/wwwe##2",
          "issue_url": "https://tegGroup/wwwe/issues/2",
          "is_original": false
        }
    ],
    "priority": null,
    "id": 23181,
    "project_id": 10708052,
    "title": "issue-fork-for-api_updated",
    "state": "opened",
    "resolve_state": null,
    "iid": 1,
    "description": "测试 api 的 fork issue 接口",
    "confidential": false,
    "created_at": "2020-06-30T11:01:23+0000",
    "updated_at": "2020-06-30T11:01:23+0000",
    "author": {
        "id": 1105,
        "username": "git_user1",
        "web_url": "https://git.tencent.com/u/git_user1",
        "name": "git_user1",
        "state": "active",
        "avatar_url": "git.tencent.com/uploads/user/avatar/1105/a75ba2737c7a409cab1d15dd993149aa.jpg"
    },
    "assignees": [],
    "assignee": null
}

lastUpdate: 8/2/2024, 5:28:21 PM