跳转至

刷新Pull Request评论位置/过期状态

POST /api/v5/repos/{owner}/{repo}/pulls/{number}/refresh_position

该接口用于刷新指定 Pull Request 评论的位置与过期状态,支持按文件路径或评论 ID 定向刷新,当两者均未指定时,将刷新该 Pull Request 的全部评论。

访问令牌支持说明

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

是否允许匿名访问

此接口不允许匿名访问

请求参数

参数名 位置 类型 必填 说明
owner path string 是 仓库所属空间地址(组织或个人的地址 path)
repo path string 是 仓库路径(path)
number path integer 是 Pull Request 编号
access_token query string 是 用户授权码

Request Body:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "refresh_by_paths": {
      "description": "按文件路径刷新;文件路径和评论 ID 均不传则刷新所有评论",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "refresh_by_note_id": {
      "description": "按评论 ID 刷新;文件路径和评论 ID 均不传则刷新所有评论",
      "type": "string"
    }
  },
  "required": []
}

响应参数

字段 类型 必返 可为空 说明
note_ids integer[] 是 否 刷新后评论的 ID 列表

失败响应

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)

请求示例

参数说明

<owner> 替换为仓库所属空间地址(组织或个人的地址 path);<repo> 替换为仓库路径(path);<number> 替换为 Pull Request 编号;<token> 替换为你的 AtomGit 用户访问令牌。

cURL

curl -X POST 'https://api.atomgit.com/api/v5/repos/<owner>/<repo>/pulls/<number>/refresh_position?access_token=<token>' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "refresh_by_paths": ["src/main/java/App.java"],
    "refresh_by_note_id": "12345"
  }'

JavaScript

// 原生 fetch (Node.js 18+ / 浏览器)
const token = "<YOUR-TOKEN>";
const owner = "<owner>";
const repo = "<repo>";
const number = "<number>";

const response = await fetch(
  `https://api.atomgit.com/api/v5/repos/${owner}/${repo}/pulls/${number}/refresh_position?access_token=${token}`,
  {
    method: "POST",
    headers: {
      "Accept": "application/json",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      refresh_by_paths: ["src/main/java/App.java"],
      refresh_by_note_id: "12345",
    }),
  }
);

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

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

Python

import requests

resp = requests.post(
    "https://api.atomgit.com/api/v5/repos/<owner>/<repo>/pulls/<number>/refresh_position",
    params={"access_token": "<token>"},
    headers={
        "Accept": "application/json",
        "Content-Type": "application/json",
    },
    json={
        "refresh_by_paths": ["src/main/java/App.java"],
        "refresh_by_note_id": "12345",
    },
    timeout=10,
)
resp.raise_for_status()

print(resp.json())

响应示例

状态码: 200

{
  "note_ids": [
    0
  ]
}

错误码

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

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