sentry
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSentry (Read-only Observability)
Sentry(只读可观测性)
Quick start
快速开始
- If not already authenticated, ask the user to provide a valid (read-only scopes such as
SENTRY_AUTH_TOKEN,project:read) or to log in and create one before running commands.event:read - Set as an env var.
SENTRY_AUTH_TOKEN - Optional defaults: ,
SENTRY_ORG,SENTRY_PROJECT.SENTRY_BASE_URL - Defaults: org/project /
{your-org}, time range{your-project}, environment24h, limit 20 (max 50).prod - Always call the Sentry API (no heuristics, no caching).
If the token is missing, give the user these steps:
- Create a Sentry auth token: https://sentry.io/settings/account/api/auth-tokens/
- Create a token with read-only scopes such as ,
project:read, andevent:read.org:read - Set as an environment variable in their system.
SENTRY_AUTH_TOKEN - Offer to guide them through setting the environment variable for their OS/shell if needed.
- Never ask the user to paste the full token in chat. Ask them to set it locally and confirm when ready.
- 若尚未认证,请要求用户提供有效的(具备
SENTRY_AUTH_TOKEN、project:read等只读权限),或先登录并创建该令牌后再运行命令。event:read - 将设置为环境变量。
SENTRY_AUTH_TOKEN - 可选默认配置:、
SENTRY_ORG、SENTRY_PROJECT。SENTRY_BASE_URL - 默认值:组织/项目为/
{your-org},时间范围{your-project},环境24h,数量限制20(最大50)。prod - 始终调用Sentry API(不使用启发式方法,不缓存)。
如果令牌缺失,请向用户提供以下步骤:
- 创建Sentry认证令牌:https://sentry.io/settings/account/api/auth-tokens/
- 创建具备、
project:read和event:read等只读权限的令牌。org:read - 在系统中将设置为环境变量。
SENTRY_AUTH_TOKEN - 若需要,可提供指导帮助用户根据其操作系统/Shell设置环境变量。
- 切勿要求用户在聊天中粘贴完整令牌。请让他们在本地设置并确认已准备就绪。
Core tasks (use bundled script)
核心任务(使用捆绑脚本)
Use for deterministic API calls. It handles pagination and retries once on transient errors.
scripts/sentry_api.py使用执行确定性API调用。它会处理分页,并在出现瞬时错误时重试一次。
scripts/sentry_api.pySkill path (set once)
技能路径(一次性设置)
bash
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export SENTRY_API="$CODEX_HOME/skills/sentry/scripts/sentry_api.py"User-scoped skills install under (default: ).
$CODEX_HOME/skills~/.codex/skillsbash
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export SENTRY_API="$CODEX_HOME/skills/sentry/scripts/sentry_api.py"用户范围的技能安装在目录下(默认:)。
$CODEX_HOME/skills~/.codex/skills1) List issues (ordered by most recent)
1) 列出问题(按最新排序)
bash
python3 "$SENTRY_API" \
list-issues \
--org {your-org} \
--project {your-project} \
--environment prod \
--time-range 24h \
--limit 20 \
--query "is:unresolved"bash
python3 "$SENTRY_API" \
list-issues \
--org {your-org} \
--project {your-project} \
--environment prod \
--time-range 24h \
--limit 20 \
--query "is:unresolved"2) Resolve an issue short ID to issue ID
2) 将问题短ID解析为问题ID
bash
python3 "$SENTRY_API" \
list-issues \
--org {your-org} \
--project {your-project} \
--query "ABC-123" \
--limit 1Use the returned for issue detail or events.
idbash
python3 "$SENTRY_API" \
list-issues \
--org {your-org} \
--project {your-project} \
--query "ABC-123" \
--limit 1使用返回的获取问题详情或事件。
id3) Issue detail
3) 问题详情
bash
python3 "$SENTRY_API" \
issue-detail \
1234567890bash
python3 "$SENTRY_API" \
issue-detail \
12345678904) Issue events
4) 问题事件
bash
python3 "$SENTRY_API" \
issue-events \
1234567890 \
--limit 20bash
python3 "$SENTRY_API" \
issue-events \
1234567890 \
--limit 205) Event detail (no stack traces by default)
5) 事件详情(默认不包含堆栈跟踪)
bash
python3 "$SENTRY_API" \
event-detail \
--org {your-org} \
--project {your-project} \
abcdef1234567890bash
python3 "$SENTRY_API" \
event-detail \
--org {your-org} \
--project {your-project} \
abcdef1234567890API requirements
API要求
Always use these endpoints (GET only):
- List issues:
/api/0/projects/{org_slug}/{project_slug}/issues/ - Issue detail:
/api/0/issues/{issue_id}/ - Events for issue:
/api/0/issues/{issue_id}/events/ - Event detail:
/api/0/projects/{org_slug}/{project_slug}/events/{event_id}/
始终使用以下端点(仅GET请求):
- 列出问题:
/api/0/projects/{org_slug}/{project_slug}/issues/ - 问题详情:
/api/0/issues/{issue_id}/ - 问题关联事件:
/api/0/issues/{issue_id}/events/ - 事件详情:
/api/0/projects/{org_slug}/{project_slug}/events/{event_id}/
Inputs and defaults
输入与默认值
- ,
org_slug: default toproject_slug/{your-org}(avoid non-prod orgs).{your-project} - : default
time_range(pass as24h).statsPeriod - : default
environment.prod - : default 20, max 50 (paginate until limit reached).
limit - : optional
search_queryparameter.query - : resolve via list-issues query first.
issue_short_id
- 、
org_slug:默认为project_slug/{your-org}(避免使用非生产环境组织)。{your-project} - :默认
time_range(以24h参数传递)。statsPeriod - :默认
environment。prod - :默认20,最大50(分页直到达到限制数量)。
limit - :可选的
search_query参数。query - :先通过list-issues查询解析。
issue_short_id
Output formatting rules
输出格式规则
- Issue list: show title, short_id, status, first_seen, last_seen, count, environments, top_tags; order by most recent.
- Event detail: include culprit, timestamp, environment, release, url.
- If no results, state explicitly.
- Redact PII in output (emails, IPs). Do not print raw stack traces.
- Never echo auth tokens.
- 问题列表:显示标题、short_id、状态、首次出现时间、最后出现时间、次数、环境、顶级标签;按最新排序。
- 事件详情:包含故障源、时间戳、环境、版本、URL。
- 若无结果,需明确说明。
- 输出中需编辑掉个人可识别信息(PII),如邮箱、IP地址。不要打印原始堆栈跟踪。
- 切勿回显认证令牌。
Golden test inputs
测试用例
- Org:
{your-org} - Project:
{your-project} - Issue short ID:
{ABC-123}
Example prompt: “List the top 10 open issues for prod in the last 24h.”
Expected: ordered list with titles, short IDs, counts, last seen.
- 组织:
{your-org} - 项目:
{your-project} - 问题短ID:
{ABC-123}
示例提示:“列出过去24小时内生产环境中排名前10的未解决问题。”
预期结果:按最新排序的列表,包含标题、短ID、次数、最后出现时间。