Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions apps/cli-docs/src/fragments/commands/issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
# List issues in a specific project
sentry issue list my-org/frontend

# Several projects in the same org
sentry issue list my-org/frontend,backend,worker

# All projects in an org
sentry issue list my-org/

Expand Down
3 changes: 3 additions & 0 deletions apps/cli-docs/src/fragments/commands/project.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ my-org mobile-ios cocoa mobile-team
```

```bash
# Several projects in the same org
sentry project list my-org/frontend,backend

# Filter by platform
sentry project list my-org/ --platform javascript

Expand Down
10 changes: 10 additions & 0 deletions packages/cli/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,12 @@ Split by argument type — do not mix the conventions:
values on commas; commas may be part of the value. Every project passed to
`project create` requires a `name:platform` pair — there is no space-separated
form, with or without an explicit org. Project names cannot contain whitespace.
- **Exception: opted-in `org/project` list selectors.** Commands whose API can
query several projects together may parse their single optional target token
as a list because Sentry slugs cannot contain commas. For example,
`issue list acme/web,api` selects two projects. Pass
`{ allowProjectList: true }` to `parseOrgProjectArg`; never enable it for
mutation or single-project commands.
- **Optional flags → comma-separated (sometimes also repeatable).** Split the
flag value on `,`: `--features errors,tracing`, set-commits `--path a,b`,
`auth login --scope a,b`. Use `value.split(",")` (repeatable array flags:
Expand Down Expand Up @@ -672,6 +678,10 @@ Commands select a capability wrapper instead of performing API lookups:
organization or a project.
- `resolveOrgOnlyTarget()` / `resolveOrgOnlyFromArg()` return the effective
organization while preserving project-first precedence for bare targets.
- `resolveProjectIdsInOrg()` / `findProjectsInOrg()` resolve a
comma-separated `org/a,b` selector: numeric IDs for a single request
(unknown slugs are an error), or the projects themselves plus the slugs
that returned 404.

Do not call `findProjectsBySlug()` or implement org fallback directly in a
command. `sentry init` is the intentional not-found exception: it calls the
Expand Down
1 change: 1 addition & 0 deletions packages/cli/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ sentry issue list [<org>/<project>] [--json]

**Target syntax**:
- `<org>/<project>` - Explicit organization and project (e.g., `my-org/frontend`)
- `<org>/<project>,<project>` - Several projects in the same org (e.g., `my-org/web,api`)
- `<org>/` - All projects in the specified organization
- `<project>` - Search for project by name across all accessible organizations
- *(omit)* - Auto-detect from DSN or config
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ List issues in a project
# List issues in a specific project
sentry issue list my-org/frontend

# Several projects in the same org
sentry issue list my-org/frontend,backend,worker

# All projects in an org
sentry issue list my-org/

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ View details of a project
# List all projects in an org
sentry project list my-org/

# Several projects in the same org
sentry project list my-org/frontend,backend

# Filter by platform
sentry project list my-org/ --platform javascript

Expand Down
Loading
Loading