360 Secure SkillHub
360 安全技能中心

Native Sentry

只读 Sentry 客户端:用 python3 脚本调用 Sentry REST API,列出最近 Issue、查看 Issue 详情与关联事件、获取事件详情(默认不含堆栈,可用 --include-entries 开启),支持时间范围、环境、搜索语句与自托管地址;默认对邮箱、IP 等 PII 脱敏,需 SENTRY_AUTH_TOKEN。

codeninja23
codeninja23
热度 80.08
最近更新 2026-05-17 12:40:40
分类:开发依赖:代码执行 / 第三方 API / 读写文件应用场景:调试排错 / DevOps / API 集成 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add native-sentry
Metadata
name
sentry
description
Read Sentry issues, events, and production errors via the Sentry REST API. Use when the user wants to inspect errors, list recent issues, get stack traces, or summarize production health. Requires SENTRY_AUTH_TOKEN with read-only scopes.
allowed-tools
Bash(python3:*), Bash(export:*)
metadata
{"openclaw":{"emoji":"🐛","primaryEnv":"SENTRY_AUTH_TOKEN","requires":{"bins":["python3"],"env":["SENTRY_AUTH_TOKEN"]}}}

Sentry (Read-only)

Read production errors and issues from Sentry.

Setup

# Check token is set (does not print the value)
[ -n "$SENTRY_AUTH_TOKEN" ] && echo "SENTRY_AUTH_TOKEN: set" || echo "SENTRY_AUTH_TOKEN: MISSING"
echo "ORG=${SENTRY_ORG:-not set}"
echo "PROJECT=${SENTRY_PROJECT:-not set}"

If SENTRY_AUTH_TOKEN is missing:

  1. Go to https://sentry.io/settings/account/api/auth-tokens/
  2. Create a token with scopes: project:read, event:read, org:read
  3. Set SENTRY_AUTH_TOKEN in your environment

Set optional defaults to avoid passing flags every time:

export SENTRY_ORG=your-org-slug
export SENTRY_PROJECT=your-project-slug

Script path

SKILL_DIR="$(python3 -c "import os; print(os.path.dirname(os.path.realpath('$0')))" 2>/dev/null || echo "$HOME/.claude/skills/sentry")"
SENTRY_API="$SKILL_DIR/scripts/sentry_api.py"

Commands

List recent issues

python3 "$SENTRY_API" list-issues \
  --org "$SENTRY_ORG" \
  --project "$SENTRY_PROJECT" \
  --time-range 24h \
  --environment prod \
  --limit 20 \
  --query "is:unresolved"

Get issue detail

python3 "$SENTRY_API" issue-detail ISSUE_ID

Get events for an issue

python3 "$SENTRY_API" issue-events ISSUE_ID --limit 10

Get event detail (no stack traces by default)

python3 "$SENTRY_API" event-detail \
  --org "$SENTRY_ORG" \
  --project "$SENTRY_PROJECT" \
  EVENT_ID

Add --include-entries to include stack traces.

Resolve a short ID (e.g. ABC-123) to issue ID

python3 "$SENTRY_API" list-issues \
  --org "$SENTRY_ORG" \
  --project "$SENTRY_PROJECT" \
  --query "ABC-123" \
  --limit 1

Parameters

Flag Default Description
--org $SENTRY_ORG Org slug
--project $SENTRY_PROJECT Project slug
--time-range 24h Stats period (e.g. 7d, 30d)
--environment prod Environment filter
--limit 20 Max results (max 50)
--query Sentry search query
--base-url https://sentry.io For self-hosted Sentry
--no-redact Disable PII redaction — avoid in shared/logged environments

Notes

  • PII (emails, IPs) is redacted by default
  • Stack traces are excluded from event detail by default — add --include-entries only when you need them and trust the environment
  • --no-redact disables PII redaction — avoid in shared or logged environments
  • For self-hosted Sentry, set SENTRY_BASE_URL or use --base-url