跳转至

获取授权用户的所有Issues

GET /api/v5/user/issues

用户调用此接口,获取授权用户的所有 Issues。

访问令牌支持说明

  • AtomGit 用户访问令牌(AtomGit user access tokens)

是否允许匿名访问

此接口不允许匿名访问

请求参数

参数名 位置 类型 必填 说明
access_token query string 是 用户授权码
filter query string 否 筛选参数:授权用户负责的(assigned)、授权用户创建的(created)、包含前两者的(all)。默认 assigned
state query string 否 Issue 的状态:open(开启的)、progressing(进行中)、closed(关闭的)、rejected(拒绝的)。默认 open
labels query string 否 用逗号分开的标签。如:bug,performance
sort query string 否 排序依据:创建时间(created)、更新时间(updated_at)。默认 created_at
direction query string 否 排序方式:升序(asc)、降序(desc)。默认 desc
since query string 否 起始的更新时间,要求时间格式为 ISO 8601
page query integer 否 当前的页码,默认 1
per_page query integer 否 每页的数量,最大为 100,默认 20
schedule query string 否 计划开始日期,格式:20181006T173008+80-20181007T173008+80(区间)、-20181007T173008+80(小于该时间点)或 20181006T173008+80-(大于该时间点),要求时间格式为 20181006T173008+80
deadline query string 否 计划截止日期,格式同上
created_at query string 否 任务创建时间,格式同上
finished_at query string 否 任务完成时间,即任务最后一次转为已完成状态的时间点。格式同上

Note: schedule、deadline、created_at、finished_at 四个参数 GitCode 业务暂无对应功能:接口接受但不处理,会将其过滤后按其余条件调用。

响应参数

字段 类型 必返 可为空 说明
id integer 是 否 Issue 编号
html_url string 是 否 Issue 的 HTML 链接
number string 是 否 Issue 序号
state string 是 否 Issue 状态
title string 是 否 Issue 标题
body string 是 否 Issue 内容
assignee object 是 是 指派给的用户信息,可为 null
repository object 是 否 所属仓库信息
created_at string 是 否 创建时间
updated_at string 是 否 更新时间
labels object[] 是 是 标签列表,可为 null
comments integer 是 否 评论数量
priority integer 是 否 优先级
depth integer 是 否 层级深度
parent_id integer 是 否 父 Issue 编号
milestone object 是 是 所属里程碑信息,可为 null
visibility_reason string 否 是 可见性:public(公开可见)、confidential(私密,项目成员可见)、other(其他原因导致的仅项目成员可见)

assignee 对象

字段 类型 必返 可为空 说明
assignee.avatar_url string 是 否 用户头像链接
assignee.html_url string 是 否 用户主页链接
assignee.id string 是 否 用户 ID
assignee.login string 是 否 登录名
assignee.name string 是 否 昵称
assignee.type string 是 否 用户类型

repository 对象

字段 类型 必返 可为空 说明
repository.id integer 是 否 仓库 ID
repository.full_name string 是 否 仓库全名
repository.human_name string 是 否 仓库显示名
repository.path string 是 否 仓库路径
repository.name string 是 否 仓库名称
repository.url string 是 否 仓库链接
repository.namespace object 是 否 命名空间信息
repository.owner object 是 否 仓库所有者信息
repository.assigner object 是 是 指派者信息,字段以实际返回为准
repository.paas string 是 否 托管平台标识

repository.namespace 对象

字段 类型 必返 可为空 说明
repository.namespace.id integer 是 否 命名空间 ID
repository.namespace.type string 是 否 命名空间类型
repository.namespace.name string 是 否 命名空间名称
repository.namespace.path string 是 否 命名空间路径
repository.namespace.html_url string 是 否 命名空间 HTML 链接

repository.owner 对象

字段 类型 必返 可为空 说明
repository.owner.id string 是 否 所有者 ID
repository.owner.login string 是 否 登录名
repository.owner.name string 是 否 昵称

labels 数组元素对象

字段 类型 必返 可为空 说明
labels.id integer 否 是 标签 ID
labels.name string 否 是 标签名称
labels.color string 否 是 标签颜色
labels.created_at string 否 是 标签创建时间
labels.updated_at string 否 是 标签更新时间

milestone 对象

字段 类型 必返 可为空 说明
milestone.created_at string 是 否 创建时间
milestone.description string 是 否 里程碑描述
milestone.due_on string 是 否 截止日期
milestone.html_url string 是 否 里程碑 HTML 链接
milestone.number integer 是 否 里程碑编号
milestone.repository_id integer 是 否 所属仓库 ID
milestone.state string 是 否 里程碑状态
milestone.title string 是 否 里程碑标题
milestone.updated_at string 是 否 更新时间
milestone.url string 是 否 里程碑链接

失败响应

400 参数错误

{
  "error": "invalid_request",
  "message": "请求参数不合法"
}

401 未认证

{
  "error": "unauthorized",
  "message": "缺少或无效的访问令牌"
}

HTTP 响应状态码

状态码 说明
200 成功(OK)
400 参数错误(Bad request)
401 需要认证(Requires authentication)
403 禁止访问(Forbidden)
404 资源不存在(Not found)
405 请求方法不支持(Method not allowed)
429 请求过于频繁(Too many requests)
500 系统内部错误(Internal server error)

请求示例

参数说明

请求无需路径参数;除 access_token 外,其余参数均可选。示例使用默认的 filter=assigned、state=open、page=1、per_page=20。

<token> 替换为你的 AtomGit 用户访问令牌。

cURL

curl -X GET 'https://api.atomgit.com/api/v5/user/issues?access_token=<token>&filter=assigned&state=open&page=1&per_page=20' \
  -H 'Accept: application/json'

JavaScript

// 原生 fetch (Node.js 18+ / 浏览器)
const response = await fetch(
  "https://api.atomgit.com/api/v5/user/issues?access_token=<YOUR-TOKEN>&filter=assigned&state=open&page=1&per_page=20",
  {
    headers: {
      "Accept": "application/json",
    },
  }
);

if (!response.ok) {
  throw new Error(`请求失败: ${response.status}`);
}

const data = await response.json();
console.log(data);

Python

import requests

resp = requests.get(
    "https://api.atomgit.com/api/v5/user/issues",
    params={
        "access_token": "<YOUR-TOKEN>",
        "filter": "assigned",
        "state": "open",
        "page": 1,
        "per_page": 20,
    },
    headers={"Accept": "application/json"},
    timeout=10,
)
resp.raise_for_status()

print(resp.json())

响应示例

状态码: 200

[
  {
    "id": 490786,
    "html_url": "https://api.atomgit.com/gitcode-dev/gitcode-TestTask/issues/319",
    "number": "319",
    "state": "open",
    "title": "评论中附件图片的大小从 2M 放开到 10M,允许用户上传更大尺寸的图片附件",
    "body": "提测内容",
    "assignee": {
      "avatar_url": "https://cdn-img.atomgit.com/avatar.png",
      "html_url": "https://api.atomgit.com/yinlin",
      "id": "303745",
      "login": "yinlin",
      "name": "yinlin",
      "type": "User"
    },
    "repository": {
      "id": 1,
      "full_name": "gitcode-dev/gitcode-TestTask",
      "human_name": "gitcode-TestTask",
      "path": "gitcode-dev/gitcode-TestTask",
      "name": "gitcode-TestTask",
      "url": "https://api.atomgit.com/gitcode-dev/gitcode-TestTask",
      "namespace": {
        "id": 1,
        "type": "Group",
        "name": "gitcode-dev",
        "path": "gitcode-dev",
        "html_url": "https://api.atomgit.com/gitcode-dev"
      },
      "owner": {
        "id": "303745",
        "login": "yinlin",
        "name": "yinlin"
      },
      "assigner": {},
      "paas": "gitcode"
    },
    "created_at": "2024-04-15T10:31:00Z",
    "updated_at": "2024-04-15T10:31:00Z",
    "labels": [
      {
        "id": 1,
        "name": "bug",
        "color": "#FF0000",
        "created_at": "2024-04-15T10:31:00Z",
        "updated_at": "2024-04-15T10:31:00Z"
      }
    ],
    "comments": 0,
    "priority": 0,
    "depth": 0,
    "parent_id": 0,
    "milestone": {
      "created_at": "2024-04-15T10:31:00Z",
      "description": "里程碑描述",
      "due_on": "2024-05-01T00:00:00Z",
      "html_url": "https://api.atomgit.com/gitcode-dev/gitcode-TestTask/milestones/1",
      "number": 1,
      "repository_id": 1,
      "state": "open",
      "title": "v1.0",
      "updated_at": "2024-04-15T10:31:00Z",
      "url": "https://api.atomgit.com/gitcode-dev/gitcode-TestTask/milestones/1"
    },
    "visibility_reason": "public"
  }
]

错误码

错误码 说明
400 参数错误或请求无法解析
401 未认证或凭证无效(缺少/无效的访问凭证)
403 无权限访问该资源
404 请求路径不存在
405 请求方法不支持
429 请求过于频繁,触发限流
500 系统内部错误

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gitcode-dev/atomgit-api-doc