sentry

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Sentry Error Monitoring Skill

Sentry错误监控工具

Created by Return Zero Inc.
Comprehensive Sentry integration for Claude Code providing issue retrieval, event analysis, error tracking, and project health monitoring capabilities.
为Claude Code提供全面的Sentry集成,具备问题检索、事件分析、错误追踪和项目健康监控能力。

Features

功能特性

1. Issue Management

1. 问题管理

  • List issues by project or organization
  • Retrieve issue details (title, first/last seen, event count)
  • Filter by status (unresolved, resolved, ignored)
  • Search issues by query
  • Update issue status
  • 按项目或组织列出问题
  • 获取问题详情(标题、首次/末次出现时间、事件数量)
  • 按状态筛选(未解决、已解决、已忽略)
  • 按查询语句搜索问题
  • 更新问题状态

2. Event Analysis

2. 事件分析

  • List events for specific issues
  • Retrieve event details with stack traces
  • Debug source map issues
  • Analyze error patterns
  • 列出特定问题的事件
  • 获取包含堆栈跟踪的事件详情
  • 调试Source Map问题
  • 分析错误模式

3. Project Monitoring

3. 项目监控

  • List organization projects
  • Get project health statistics
  • View error trends
  • Monitor release health
  • 列出组织内的项目
  • 获取项目健康统计数据
  • 查看错误趋势
  • 监控版本发布健康状况

4. Tag Analysis

4. 标签分析

  • View tag distributions
  • Analyze error patterns by tag
  • Filter issues by tag values
  • 查看标签分布情况
  • 按标签分析错误模式
  • 按标签值筛选问题

Automatic Features

自动功能

  • Rate Limiting: Respects Sentry API rate limits
  • Retry Logic: Automatic retry on transient errors
  • Environment Detection: Flexible environment variable pattern matching
  • Result Formatting: Markdown tables, JSON, or summary text
  • Error Handling: Clear, actionable error messages
  • 速率限制:遵循Sentry API的速率限制规则
  • 重试逻辑:针对临时错误自动重试
  • 环境检测:灵活的环境变量模式匹配
  • 结果格式化:支持Markdown表格、JSON或摘要文本格式
  • 错误处理:清晰、可执行的错误提示信息

Environment Variables

环境变量

This skill uses environment variables managed by
jelly-dotenv
. See
skills/jelly-dotenv/SKILL.md
for configuration details.
Required variables:
  • SENTRY_AUTH_TOKEN
    - Your Sentry authentication token (org or personal)
  • SENTRY_ORG
    or
    SENTRY_ORGANIZATION
    - Organization slug
Optional variables:
  • SENTRY_PROJECT
    - Default project slug
  • SENTRY_REGION
    - API region: us (default), de
  • SENTRY_TIMEOUT
    - Request timeout in ms (default: 30000)
Variables can be configured in either:
  • skills/jelly-dotenv/.env
    (skill-common, highest priority)
  • Project root
    /.env
    (project-specific, fallback)
本工具使用由
jelly-dotenv
管理的环境变量。配置详情请查看
skills/jelly-dotenv/SKILL.md
必填变量:
  • SENTRY_AUTH_TOKEN
    - 你的Sentry认证令牌(组织或个人令牌)
  • SENTRY_ORG
    SENTRY_ORGANIZATION
    - 组织Slug
可选变量:
  • SENTRY_PROJECT
    - 默认项目Slug
  • SENTRY_REGION
    - API区域:us(默认)、de
  • SENTRY_TIMEOUT
    - 请求超时时间(毫秒,默认:30000)
变量可配置在以下任一位置:
  • skills/jelly-dotenv/.env
    (工具通用配置,优先级最高)
  • 项目根目录
    /.env
    (项目专属配置,作为备选)

Configuration

配置

Environment Variables

环境变量

The skill automatically detects Sentry credentials using flexible pattern matching:
bash
undefined
本工具会通过灵活的模式匹配自动检测Sentry凭证:
bash
undefined

✅ Standard naming (recommended)

✅ 标准命名(推荐)

SENTRY_AUTH_TOKEN=sntrys_your_token_here SENTRY_ORG=my-organization SENTRY_PROJECT=my-project
SENTRY_AUTH_TOKEN=sntrys_your_token_here SENTRY_ORG=my-organization SENTRY_PROJECT=my-project

✅ Alternative naming

✅ 备选命名

SENTRY_ORGANIZATION=my-organization SENTRY_TOKEN=sntrys_your_token_here
SENTRY_ORGANIZATION=my-organization SENTRY_TOKEN=sntrys_your_token_here

✅ Wildcard patterns (auto-detected)

✅ 通配符模式(自动检测)

PROD_SENTRY_TOKEN=sntrys_your_token_here PROD_SENTRY_ORG=my-organization
PROD_SENTRY_TOKEN=sntrys_your_token_here PROD_SENTRY_ORG=my-organization

✅ Optional settings

✅ 可选设置

SENTRY_REGION=us # us (default), de SENTRY_TIMEOUT=30000 # Request timeout in ms
undefined
SENTRY_REGION=us # us(默认)、de SENTRY_TIMEOUT=30000 # 请求超时时间(毫秒)
undefined

Regional Endpoints

区域端点

Supports US and EU (Germany) regions:
bash
undefined
支持美国和欧盟(德国)区域:
bash
undefined

US (default)

美国(默认)

SENTRY_REGION=us
SENTRY_REGION=us

Germany/EU

德国/欧盟

SENTRY_REGION=de
SENTRY_REGION=de
undefined
undefined

API Endpoints Reference

API端点参考

Organizations

组织

  • GET /api/0/organizations/
    - List organizations
  • GET /api/0/organizations/{org}/
    - Get organization details
  • GET /api/0/organizations/{org}/projects/
    - List projects
  • GET /api/0/organizations/
    - 列出组织
  • GET /api/0/organizations/{org}/
    - 获取组织详情
  • GET /api/0/organizations/{org}/projects/
    - 列出项目

Issues

问题

  • GET /api/0/organizations/{org}/issues/
    - List organization issues
  • GET /api/0/projects/{org}/{project}/issues/
    - List project issues (deprecated)
  • GET /api/0/organizations/{org}/issues/{issue_id}/
    - Get issue details
  • PUT /api/0/organizations/{org}/issues/{issue_id}/
    - Update issue
  • DELETE /api/0/organizations/{org}/issues/{issue_id}/
    - Delete issue
  • GET /api/0/organizations/{org}/issues/
    - 列出组织内的问题
  • GET /api/0/projects/{org}/{project}/issues/
    - 列出项目内的问题(已废弃)
  • GET /api/0/organizations/{org}/issues/{issue_id}/
    - 获取问题详情
  • PUT /api/0/organizations/{org}/issues/{issue_id}/
    - 更新问题
  • DELETE /api/0/organizations/{org}/issues/{issue_id}/
    - 删除问题

Events

事件

  • GET /api/0/organizations/{org}/issues/{issue_id}/events/
    - List issue events
  • GET /api/0/projects/{org}/{project}/events/
    - List project error events
  • GET /api/0/projects/{org}/{project}/events/{event_id}/
    - Get event details
  • GET /api/0/organizations/{org}/issues/{issue_id}/events/
    - 列出问题的事件
  • GET /api/0/projects/{org}/{project}/events/
    - 列出项目的错误事件
  • GET /api/0/projects/{org}/{project}/events/{event_id}/
    - 获取事件详情

Tags

标签

  • GET /api/0/organizations/{org}/issues/{issue_id}/tags/
    - List issue tags
  • GET /api/0/organizations/{org}/issues/{issue_id}/tags/{tag}/values/
    - Get tag values
  • GET /api/0/organizations/{org}/issues/{issue_id}/tags/
    - 列出问题的标签
  • GET /api/0/organizations/{org}/issues/{issue_id}/tags/{tag}/values/
    - 获取标签值

Usage Scenarios

使用场景

Scenario 1: List Unresolved Issues

场景1:列出未解决的问题

User Request: "Show me all unresolved Sentry issues"
Skill Actions:
bash
undefined
用户请求:"为我列出所有未解决的Sentry问题"
工具操作
bash
undefined

Load environment variables

加载环境变量

source skills/jelly-dotenv/load-env.sh
source skills/jelly-dotenv/load-env.sh

Build API URL

构建API URL

SENTRY_BASE_URL="${SENTRY_REGION:-us}" if [ "$SENTRY_BASE_URL" = "de" ]; then SENTRY_BASE_URL="https://de.sentry.io" else SENTRY_BASE_URL="https://sentry.io" fi
SENTRY_BASE_URL="${SENTRY_REGION:-us}" if [ "$SENTRY_BASE_URL" = "de" ]; then SENTRY_BASE_URL="https://de.sentry.io" else SENTRY_BASE_URL="https://sentry.io" fi

List unresolved issues

列出未解决的问题

curl -s
-H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}"
"${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/issues/?query=is:unresolved" | jq .
undefined
curl -s
-H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}"
"${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/issues/?query=is:unresolved" | jq .
undefined

Scenario 2: Get Issue Details

场景2:获取问题详情

User Request: "Show me details for issue 123456"
Skill Actions:
bash
curl -s \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  "${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/issues/123456/" | jq .
用户请求:"为我展示问题123456的详情"
工具操作
bash
curl -s \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  "${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/issues/123456/" | jq .

Scenario 3: List Recent Events for an Issue

场景3:列出问题的近期事件

User Request: "Show me the last 10 events for issue 123456"
Skill Actions:
bash
curl -s \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  "${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/issues/123456/events/?limit=10" | jq .
用户请求:"为我展示问题123456的最近10个事件"
工具操作
bash
curl -s \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  "${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/issues/123456/events/?limit=10" | jq .

Scenario 4: Search Issues by Query

场景4:按查询语句搜索问题

User Request: "Find all issues containing 'NullPointerException'"
Skill Actions:
bash
curl -s \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  "${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/issues/?query=NullPointerException" | jq .
用户请求:"查找所有包含'NullPointerException'的问题"
工具操作
bash
curl -s \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  "${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/issues/?query=NullPointerException" | jq .

Scenario 5: List Project Error Events

场景5:列出项目的错误事件

User Request: "Show recent errors for my-project"
Skill Actions:
bash
curl -s \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  "${SENTRY_BASE_URL}/api/0/projects/${SENTRY_ORG}/my-project/events/" | jq .
用户请求:"展示my-project项目的近期错误"
工具操作
bash
curl -s \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  "${SENTRY_BASE_URL}/api/0/projects/${SENTRY_ORG}/my-project/events/" | jq .

Scenario 6: Resolve an Issue

场景6:标记问题为已解决

User Request: "Resolve issue 123456"
Skill Actions:
bash
curl -s -X PUT \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"status": "resolved"}' \
  "${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/issues/123456/" | jq .
用户请求:"将问题123456标记为已解决"
工具操作
bash
curl -s -X PUT \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"status": "resolved"}' \
  "${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/issues/123456/" | jq .

Scenario 7: List Projects in Organization

场景7:列出组织内的项目

User Request: "Show me all Sentry projects"
Skill Actions:
bash
curl -s \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  "${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/projects/" | jq .
用户请求:"为我展示所有Sentry项目"
工具操作
bash
curl -s \
  -H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
  "${SENTRY_BASE_URL}/api/0/organizations/${SENTRY_ORG}/projects/" | jq .

Security Policy

安全策略

Authentication

认证

  • Bearer Token: Authorization header with auth token
  • Credentials: Loaded from environment variables only
  • Logging: Tokens automatically redacted in logs
  • Bearer令牌:通过Authorization头携带认证令牌
  • 凭证存储:仅从环境变量加载凭证
  • 日志记录:令牌会自动在日志中脱敏

Permissions

权限

  • Org Tokens: Recommended for CI/CD and automation
  • Personal Tokens: Bound to user permissions
  • Scopes: Configure minimal required scopes
  • 组织令牌:推荐用于CI/CD和自动化场景
  • 个人令牌:与用户权限绑定
  • 权限范围:配置最小必要的权限范围

Data Access

数据访问

  • Read Operations: Primary focus (GET requests)
  • Write Operations: Status updates allowed
  • Destructive Operations: Issue deletion requires explicit confirmation
  • 读取操作:主要支持GET请求
  • 写入操作:允许更新状态
  • 破坏性操作:删除问题需要显式确认

Error Handling

错误处理

The skill provides comprehensive error handling with actionable messages:
本工具提供全面的错误处理机制,并给出可执行的提示信息:

Connection Errors

连接错误

  • Network issues
  • Unreachable API
  • Action: Check internet connection and Sentry service status
  • 网络问题
  • API无法访问
  • 操作建议:检查网络连接和Sentry服务状态

Authentication Errors (401)

认证错误(401)

  • Invalid or expired token
  • Action: Verify SENTRY_AUTH_TOKEN is correct and not expired
  • 令牌无效或已过期
  • 操作建议:验证SENTRY_AUTH_TOKEN是否正确且未过期

Permission Errors (403)

权限错误(403)

  • Insufficient scope or access
  • Action: Check token scopes and organization membership
  • 权限范围不足或访问被拒绝
  • 操作建议:检查令牌权限范围和组织成员身份

Not Found Errors (404)

资源不存在错误(404)

  • Invalid organization, project, or issue ID
  • Action: Verify resource identifiers
  • 组织、项目或问题ID无效
  • 操作建议:验证资源标识符是否正确

Rate Limit Errors (429)

速率限制错误(429)

  • Too many requests
  • Action: Wait and retry (automatic backoff)
  • 请求次数过多
  • 操作建议:等待后重试(工具会自动退避重试)

Output Formats

输出格式

Markdown (Default)

Markdown(默认)

  • Formatted tables with issue details
  • Key metrics summary
  • Status highlights
  • 格式化的问题详情表格
  • 关键指标摘要
  • 状态高亮显示

JSON

JSON

  • Raw API response
  • Programmatic access
  • Full data structure
  • 原始API响应
  • 支持程序化访问
  • 完整的数据结构

Summary

摘要

  • Text overview
  • Critical issues only
  • Quick scan format
  • 文本概览
  • 仅显示关键问题
  • 快速浏览格式

Bash Helper Functions

Bash辅助函数

For command-line usage with jelly-dotenv:
bash
undefined
适用于与jelly-dotenv配合的命令行使用场景:
bash
undefined

Load environment variables from jelly-dotenv (with fallback to project root)

从jelly-dotenv加载环境变量(备选加载项目根目录的配置)

source skills/jelly-dotenv/load-env.sh
source skills/jelly-dotenv/load-env.sh

Determine base URL

确定基础URL

if [ "${SENTRY_REGION:-us}" = "de" ]; then SENTRY_BASE_URL="https://de.sentry.io" else SENTRY_BASE_URL="https://sentry.io" fi
if [ "${SENTRY_REGION:-us}" = "de" ]; then SENTRY_BASE_URL="https://de.sentry.io" else SENTRY_BASE_URL="https://sentry.io" fi

Sentry API curl helper

Sentry API curl辅助函数

sentry-curl() { local endpoint="$1" shift curl -s
-H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}"
-H "Content-Type: application/json"
"$@"
"${SENTRY_BASE_URL}/api/0${endpoint}" | jq . }
sentry-curl() { local endpoint="$1" shift curl -s
-H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}"
-H "Content-Type: application/json"
"$@"
"${SENTRY_BASE_URL}/api/0${endpoint}" | jq . }

List unresolved issues

列出未解决的问题

sentry-issues() { local query="${1:-is:unresolved}" sentry-curl "/organizations/${SENTRY_ORG}/issues/?query=${query}" }
sentry-issues() { local query="${1:-is:unresolved}" sentry-curl "/organizations/${SENTRY_ORG}/issues/?query=${query}" }

Get issue details

获取问题详情

sentry-issue() { local issue_id="$1" sentry-curl "/organizations/${SENTRY_ORG}/issues/${issue_id}/" }
sentry-issue() { local issue_id="$1" sentry-curl "/organizations/${SENTRY_ORG}/issues/${issue_id}/" }

List issue events

列出问题的事件

sentry-events() { local issue_id="$1" local limit="${2:-10}" sentry-curl "/organizations/${SENTRY_ORG}/issues/${issue_id}/events/?limit=${limit}" }
sentry-events() { local issue_id="$1" local limit="${2:-10}" sentry-curl "/organizations/${SENTRY_ORG}/issues/${issue_id}/events/?limit=${limit}" }

List projects

列出项目

sentry-projects() { sentry-curl "/organizations/${SENTRY_ORG}/projects/" }
sentry-projects() { sentry-curl "/organizations/${SENTRY_ORG}/projects/" }

Resolve issue

标记问题为已解决

sentry-resolve() { local issue_id="$1" sentry-curl "/organizations/${SENTRY_ORG}/issues/${issue_id}/"
-X PUT -d '{"status": "resolved"}' }
sentry-resolve() { local issue_id="$1" sentry-curl "/organizations/${SENTRY_ORG}/issues/${issue_id}/"
-X PUT -d '{"status": "resolved"}' }

Ignore issue

标记问题为已忽略

sentry-ignore() { local issue_id="$1" sentry-curl "/organizations/${SENTRY_ORG}/issues/${issue_id}/"
-X PUT -d '{"status": "ignored"}' }
undefined
sentry-ignore() { local issue_id="$1" sentry-curl "/organizations/${SENTRY_ORG}/issues/${issue_id}/"
-X PUT -d '{"status": "ignored"}' }
undefined

Quick Aliases

快速别名

Add to your
~/.bashrc
or
~/.zshrc
:
bash
undefined
添加到你的
~/.bashrc
~/.zshrc
中:
bash
undefined

Sentry quick commands

Sentry快速命令

alias sentry-unresolved='sentry-issues "is:unresolved"' alias sentry-new='sentry-issues "is:unresolved firstSeen:-24h"' alias sentry-critical='sentry-issues "is:unresolved level:fatal"'

**Usage**:
```bash
alias sentry-unresolved='sentry-issues "is:unresolved"' alias sentry-new='sentry-issues "is:unresolved firstSeen:-24h"' alias sentry-critical='sentry-issues "is:unresolved level:fatal"'

**使用示例**:
```bash

List unresolved issues

列出未解决的问题

sentry-issues
sentry-issues

Get specific issue

获取特定问题

sentry-issue 123456
sentry-issue 123456

List events for issue

列出问题的事件

sentry-events 123456 20
sentry-events 123456 20

List projects

列出项目

sentry-projects
sentry-projects

Resolve an issue

标记问题为已解决

sentry-resolve 123456
sentry-resolve 123456

Search for specific errors

搜索特定错误

sentry-issues "TypeError is:unresolved"
undefined
sentry-issues "TypeError is:unresolved"
undefined

Query Syntax

查询语法

Sentry supports a powerful search syntax:
Sentry支持强大的搜索语法:

Status Filters

状态筛选

  • is:unresolved
    - Unresolved issues
  • is:resolved
    - Resolved issues
  • is:ignored
    - Ignored issues
  • is:unresolved
    - 未解决的问题
  • is:resolved
    - 已解决的问题
  • is:ignored
    - 已忽略的问题

Time Filters

时间筛选

  • firstSeen:-24h
    - First seen in last 24 hours
  • lastSeen:-1w
    - Last seen in past week
  • age:-30d
    - Created in last 30 days
  • firstSeen:-24h
    - 首次出现在过去24小时内
  • lastSeen:-1w
    - 末次出现在过去一周内
  • age:-30d
    - 创建于过去30天内

Level Filters

级别筛选

  • level:error
    - Error level issues
  • level:fatal
    - Fatal/crash level
  • level:warning
    - Warning level
  • level:error
    - 错误级别的问题
  • level:fatal
    - 致命/崩溃级别的问题
  • level:warning
    - 警告级别的问题

Assignment

分配状态

  • is:assigned
    - Assigned to someone
  • is:unassigned
    - Not assigned
  • assigned:me
    - Assigned to current user
  • is:assigned
    - 已分配给某人的问题
  • is:unassigned
    - 未分配的问题
  • assigned:me
    - 分配给当前用户的问题

Combine Filters

组合筛选

bash
undefined
bash
undefined

Critical unresolved issues from today

今日出现的未解决致命问题

sentry-issues "is:unresolved level:fatal firstSeen:-24h"
sentry-issues "is:unresolved level:fatal firstSeen:-24h"

Unassigned errors from past week

过去一周内未解决且未分配的错误

sentry-issues "is:unresolved is:unassigned lastSeen:-1w"
undefined
sentry-issues "is:unresolved is:unassigned lastSeen:-1w"
undefined

Integration with Claude Code

与Claude Code的集成

This skill activates automatically when users mention:
  • "sentry"
  • "error tracking"
  • "issues"
  • "exceptions"
  • "crashes"
  • "error monitoring"
The skill will:
  1. Load Sentry credentials from .env
  2. Execute the requested query
  3. Format results as Markdown tables
  4. Provide actionable error messages if something fails
当用户提及以下关键词时,本工具会自动激活:
  • "sentry"
  • "错误追踪"
  • "问题"
  • "异常"
  • "崩溃"
  • "错误监控"
工具会执行以下操作:
  1. 从.env文件加载Sentry凭证
  2. 执行用户请求的查询
  3. 将结果格式化为Markdown表格
  4. 若执行失败,提供可执行的错误提示信息

Limitations

局限性

  • API Rate Limits: Subject to Sentry's rate limiting
  • Token Expiry: Personal tokens don't expire, org tokens may
  • Data Retention: Limited by Sentry plan retention period
  • Project Scope: Single organization per configuration
  • API速率限制:受Sentry的速率限制约束
  • 令牌过期:个人令牌不会过期,组织令牌可能会过期
  • 数据保留:受Sentry套餐的数据保留期限限制
  • 项目范围:每次配置仅支持单个组织

Troubleshooting

故障排查

"Configuration error: SENTRY_AUTH_TOKEN is required"

"Configuration error: SENTRY_AUTH_TOKEN is required"

Solution: Add auth token to .env file:
bash
SENTRY_AUTH_TOKEN=sntrys_your_token_here
SENTRY_ORG=my-organization
解决方案:在.env文件中添加认证令牌:
bash
SENTRY_AUTH_TOKEN=sntrys_your_token_here
SENTRY_ORG=my-organization

"Authentication failed (401)"

"Authentication failed (401)"

Solution:
  1. Verify token is correct
  2. Check token hasn't been revoked
  3. Ensure token has required scopes
解决方案
  1. 验证令牌是否正确
  2. 检查令牌是否未被撤销
  3. 确保令牌具备必要的权限范围

"Organization not found (404)"

"Organization not found (404)"

Solution: Verify SENTRY_ORG matches your organization slug (not display name)
解决方案:验证SENTRY_ORG是否与你的组织Slug匹配(注意不是组织显示名称)

"Permission denied (403)"

"Permission denied (403)"

Solution:
  1. Check token scopes include required permissions
  2. Verify user has access to the organization/project
解决方案
  1. 检查令牌的权限范围是否包含所需权限
  2. 验证用户是否属于该组织/项目

Creating Auth Tokens

创建认证令牌

Organization Auth Token (Recommended)

组织认证令牌(推荐)

  1. Go to Settings > Developer Settings > Internal Integrations
  2. Create a new Internal Integration
  3. Configure required permissions:
    • Project: Read
    • Issue & Event: Read (or Admin for updates)
    • Organization: Read
  4. Copy the token
  1. 进入Settings > Developer Settings > Internal Integrations
  2. 创建新的Internal Integration
  3. 配置所需权限:
    • Project: Read
    • Issue & Event: Read(或Admin以支持更新操作)
    • Organization: Read
  4. 复制生成的令牌

Personal Auth Token

个人认证令牌

  1. Go to Account > API > Auth Tokens
  2. Click "Create New Token"
  3. Select required scopes
  4. Copy the token
  1. 进入Account > API > Auth Tokens
  2. 点击"Create New Token"
  3. 选择所需的权限范围
  4. 复制生成的令牌

References

参考资料