@mohammadhprp/system-prompt 0.12.1 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/framework/agents/README.md +0 -1
- package/framework/commands/mr.md +8 -9
- package/framework/mcps/README.md +0 -3
- package/framework/skills/README.md +3 -2
- package/framework/skills/glab/SKILL.md +222 -0
- package/framework/skills/glab/references/commands-detailed.md +616 -0
- package/framework/skills/glab/references/quick-reference.md +145 -0
- package/framework/skills/glab/references/troubleshooting.md +669 -0
- package/framework/skills/improve/SKILL.md +137 -0
- package/framework/skills/improve/examples.md +19 -0
- package/framework/skills/improve/references/audit-playbook.md +130 -0
- package/framework/skills/improve/references/closing-the-loop.md +96 -0
- package/framework/skills/improve/references/plan-template.md +197 -0
- package/framework/skills/jira-cli/SKILL.md +260 -0
- package/framework/skills/jira-cli/references/commands-detailed.md +268 -0
- package/framework/skills/jira-cli/references/quick-reference.md +111 -0
- package/framework/skills/jira-cli/references/troubleshooting.md +114 -0
- package/framework/styles/README.md +9 -4
- package/framework/styles/factory/DESIGN.md +360 -0
- package/framework/styles/factory/README.md +32 -0
- package/framework/styles/factory/assets/preview.jpg +0 -0
- package/framework/styles/huly/DESIGN.md +449 -0
- package/framework/styles/huly/README.md +32 -0
- package/framework/styles/huly/assets/preview.jpg +0 -0
- package/framework/styles/notion/DESIGN.md +423 -0
- package/framework/styles/notion/README.md +32 -0
- package/framework/styles/notion/assets/preview.jpg +0 -0
- package/package.json +1 -1
- package/src/catalog.js +6 -6
- package/framework/agents/backend-architect.md +0 -146
- package/framework/mcps/github-mcp/README.md +0 -51
- package/framework/mcps/github-mcp/capabilities.md +0 -83
- package/framework/mcps/github-mcp/configs/.env.example +0 -1
- package/framework/mcps/github-mcp/configs/opencode.json +0 -13
- package/framework/mcps/github-mcp/install.md +0 -60
- package/framework/mcps/github-mcp/troubleshooting.md +0 -79
- package/framework/mcps/gitlab-mcp/README.md +0 -53
- package/framework/mcps/gitlab-mcp/capabilities.md +0 -216
- package/framework/mcps/gitlab-mcp/configs/.env.example +0 -2
- package/framework/mcps/gitlab-mcp/configs/opencode.json +0 -13
- package/framework/mcps/gitlab-mcp/install.md +0 -99
- package/framework/mcps/gitlab-mcp/troubleshooting.md +0 -116
- package/framework/mcps/jira-mcp/README.md +0 -52
- package/framework/mcps/jira-mcp/capabilities.md +0 -79
- package/framework/mcps/jira-mcp/configs/.env.example +0 -2
- package/framework/mcps/jira-mcp/configs/opencode.json +0 -13
- package/framework/mcps/jira-mcp/install.md +0 -94
- package/framework/mcps/jira-mcp/troubleshooting.md +0 -113
- package/framework/skills/gitlab-mcp/SKILL.md +0 -83
- package/framework/skills/gitlab-mcp/examples.md +0 -31
- package/framework/skills/gitlab-mcp/references/code-review.md +0 -110
- package/framework/skills/gitlab-mcp/references/issues.md +0 -141
- package/framework/skills/gitlab-mcp/references/merge-requests.md +0 -120
- package/framework/skills/gitlab-mcp/references/pipelines.md +0 -67
- package/framework/skills/gitlab-mcp/references/search.md +0 -17
- package/framework/skills/gitlab-mcp/references/webhooks.md +0 -32
- package/framework/skills/gitlab-mcp/references/work-items.md +0 -50
- package/framework/skills/jira-mcp/SKILL.md +0 -57
- package/framework/skills/jira-mcp/examples.md +0 -31
- package/framework/skills/jira-mcp/references/comments.md +0 -27
- package/framework/skills/jira-mcp/references/issues.md +0 -97
- package/framework/skills/jira-mcp/references/projects.md +0 -39
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jira-cli
|
|
3
|
+
description: Expert guidance for using the Jira CLI (jira) to manage Jira issues, sprints, epics, comments, transitions, and worklogs from the command line. Use this skill when the user needs to interact with Jira resources or perform Jira workflows — listing, creating, editing, or transitioning issues, running JQL queries, or scripting against Jira data — even if they don't explicitly mention the jira CLI.
|
|
4
|
+
allowed-tools: Bash, Read, Grep, Glob
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Jira CLI (jira) Skill
|
|
8
|
+
|
|
9
|
+
Provides guidance for using `jira`, the feature-rich interactive Jira command line, to perform Jira operations from the terminal.
|
|
10
|
+
|
|
11
|
+
## When to Use This Skill
|
|
12
|
+
|
|
13
|
+
Invoke when the user needs to:
|
|
14
|
+
- Search, list, or view Jira issues
|
|
15
|
+
- Create, edit, assign, clone, or transition issues
|
|
16
|
+
- Add comments, links, or worklogs to issues
|
|
17
|
+
- Work with epics, sprints, releases, or project boards
|
|
18
|
+
- Run JQL queries or script against Jira data
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
Verify jira installation before executing commands:
|
|
23
|
+
```bash
|
|
24
|
+
jira --version
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
If not installed, inform the user and provide platform-specific installation guidance.
|
|
28
|
+
|
|
29
|
+
## Setup Quick Start
|
|
30
|
+
|
|
31
|
+
`jira` requires one-time initialization before first use:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Interactive setup wizard: installation type (Cloud/Local), auth type, project, board
|
|
35
|
+
jira init
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Authentication via environment variables:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Jira Cloud: API token from https://id.atlassian.com/manage-profile/security/api-tokens
|
|
42
|
+
export JIRA_API_TOKEN=your-token
|
|
43
|
+
|
|
44
|
+
# On-premises with a Personal Access Token
|
|
45
|
+
export JIRA_API_TOKEN=your-token
|
|
46
|
+
export JIRA_AUTH_TYPE=bearer
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
- Use `jira issue list -c /path/to/config.yaml` or `export JIRA_CONFIG_FILE=/path/to/config.yaml` to work with multiple projects or instances
|
|
50
|
+
- Check authentication and current user: `jira me`
|
|
51
|
+
|
|
52
|
+
## Core Workflows
|
|
53
|
+
|
|
54
|
+
### Searching and Viewing Issues
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# 1. List issues assigned to you (sorted by created, descending)
|
|
58
|
+
jira issue list -a$(jira me) --plain
|
|
59
|
+
|
|
60
|
+
# 2. Combine filters: high priority, open, created this month, label backend
|
|
61
|
+
jira issue list -yHigh -s"To Do" --created month -lbackend -a$(jira me) --plain
|
|
62
|
+
|
|
63
|
+
# 3. View issue details with recent comments
|
|
64
|
+
jira issue view ISSUE-1 --comments 5
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Filter flags: `-a` assignee, `-r` reporter, `-s` status (prefix `~` for "not"), `-y` priority, `-l` label (repeatable), `-t` type, `-w` watching, `-R` resolution, `--created`/`--updated` with values like `-7d`, `week`, `month`.
|
|
68
|
+
|
|
69
|
+
> **IMPORTANT:** list commands open an interactive TUI by default. Always pass `--plain` (or `--table`, `--raw`, `--csv`) when running non-interactively, or the command will hang waiting for keyboard input.
|
|
70
|
+
|
|
71
|
+
### Creating an Issue
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# 1. Non-interactive creation with all required fields
|
|
75
|
+
jira issue create -tBug -s"New Bug" -yHigh -lbug -b"Bug description" --no-input
|
|
76
|
+
|
|
77
|
+
# 2. Attach to an epic on creation
|
|
78
|
+
jira issue create -tStory -s"Summary" -PEPIC-42 --no-input
|
|
79
|
+
|
|
80
|
+
# 3. Body from stdin or template
|
|
81
|
+
echo "Description from stdin" | jira issue create -s"Summary" -tTask --no-input
|
|
82
|
+
jira issue create --template /path/to/template.tmpl -s"Summary" -tTask --no-input
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Supports GitHub-flavored and Jira-flavored Markdown in descriptions and comments. Use `--custom "key=value"` for custom fields.
|
|
86
|
+
|
|
87
|
+
### Editing and Assigning
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Edit summary, priority, labels
|
|
91
|
+
jira issue edit ISSUE-1 -s"Updated summary" -yHigh -lbug --no-input
|
|
92
|
+
|
|
93
|
+
# Prefix minus (-) removes labels, components, or fix versions
|
|
94
|
+
jira issue edit ISSUE-1 --label -p2 --label p1 --fix-version -v1.0 --fix-version v2.0 --no-input
|
|
95
|
+
|
|
96
|
+
# Assign to a user, to self, to default, or unassign
|
|
97
|
+
jira issue assign ISSUE-1 "Jon Doe"
|
|
98
|
+
jira issue assign ISSUE-1 $(jira me)
|
|
99
|
+
jira issue assign ISSUE-1 default
|
|
100
|
+
jira issue assign ISSUE-1 x
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Transitioning Issues
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Move an issue to a new status (name must match the workflow exactly)
|
|
107
|
+
jira issue move ISSUE-1 "In Progress"
|
|
108
|
+
|
|
109
|
+
# Move with comment, resolution, and assignee
|
|
110
|
+
jira issue move ISSUE-1 Done -RFixed -a$(jira me) --comment "Completed"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Comments, Links, and Worklogs
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Add a comment (positional body, template, or stdin)
|
|
117
|
+
jira issue comment add ISSUE-1 "My comment body"
|
|
118
|
+
|
|
119
|
+
# Internal (restricted) comment
|
|
120
|
+
jira issue comment add ISSUE-1 "Internal note" --internal
|
|
121
|
+
|
|
122
|
+
# Link two issues with a link type such as Blocks, Relates, Duplicates
|
|
123
|
+
jira issue link ISSUE-1 ISSUE-2 Blocks
|
|
124
|
+
|
|
125
|
+
# Add a remote web link
|
|
126
|
+
jira issue link remote ISSUE-1 https://example.com "Example text"
|
|
127
|
+
|
|
128
|
+
# Log work: time is positional, e.g. "2d 3h 30m"
|
|
129
|
+
jira issue worklog add ISSUE-1 "2d 3h 30m" --comment "Implementation" --no-input
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Sprints and Epics
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# List issues in the current active sprint
|
|
136
|
+
jira sprint list --current -a$(jira me) --table --plain
|
|
137
|
+
|
|
138
|
+
# List issues in a specific sprint (get the ID from `jira sprint list`)
|
|
139
|
+
jira sprint list SPRINT_ID -yHigh --table --plain
|
|
140
|
+
|
|
141
|
+
# Add up to 50 issues to a sprint
|
|
142
|
+
jira sprint add SPRINT_ID ISSUE-1 ISSUE-2
|
|
143
|
+
|
|
144
|
+
# List issues in an epic
|
|
145
|
+
jira epic list EPIC-1 --table --plain
|
|
146
|
+
|
|
147
|
+
# Create an epic (epic name via -n is required)
|
|
148
|
+
jira epic create -n"Epic epic" -s"Everything" -b"Epic description" --no-input
|
|
149
|
+
|
|
150
|
+
# Add or remove issues in an epic (up to 50 at once)
|
|
151
|
+
jira epic add EPIC-1 ISSUE-1 ISSUE-2
|
|
152
|
+
jira epic remove ISSUE-1 ISSUE-2
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Common Patterns
|
|
156
|
+
|
|
157
|
+
### Scripting and Automation
|
|
158
|
+
|
|
159
|
+
The default view is an interactive UI. For shell pipelines, use machine-friendly output:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
# Tab-separated plain output with selected columns, no headers
|
|
163
|
+
jira issue list -a$(jira me) --plain --columns key,summary,status --no-headers
|
|
164
|
+
|
|
165
|
+
# Raw JSON or CSV for parsing
|
|
166
|
+
jira issue list --raw
|
|
167
|
+
jira issue list --csv
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### JQL Queries
|
|
171
|
+
|
|
172
|
+
Execute raw JQL within the configured project context using `-q/--jql`:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
jira issue list -q "summary ~ cli AND status != Done"
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Working With a Different Project
|
|
179
|
+
|
|
180
|
+
Use `-p KEY` to target a project other than the one in the config:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
jira issue list -pXYZ -a$(jira me) --plain
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Navigation Shortcuts (Interactive Mode Only)
|
|
187
|
+
|
|
188
|
+
In the default TUI: `v` view issue, `m` transition, `ENTER` open in browser, `c` copy URL, `q` quit. Not usable in scripts — use `--plain` instead.
|
|
189
|
+
|
|
190
|
+
## Best Practices
|
|
191
|
+
|
|
192
|
+
1. **Verify setup first**: `jira me` confirms auth and config are working
|
|
193
|
+
2. **Always pass `--no-input` with explicit flags** in scripts; interactive prompts will hang
|
|
194
|
+
3. **Use `$(jira me)`** for self-assignment and self-filtering
|
|
195
|
+
4. **Use `--plain --columns ... --no-headers`** for any output you intend to parse
|
|
196
|
+
5. **Match transition names exactly** to the Jira workflow; list interactively first if unsure
|
|
197
|
+
|
|
198
|
+
## Common Commands Quick Reference
|
|
199
|
+
|
|
200
|
+
**Issues:**
|
|
201
|
+
- `jira issue list -a$(jira me) --plain` - Your assigned issues
|
|
202
|
+
- `jira issue list -w` - Issues you are watching
|
|
203
|
+
- `jira issue list --history` - Issues you recently interacted with
|
|
204
|
+
- `jira issue create -tBug -s"Summary" -b"Body" --no-input` - Create issue
|
|
205
|
+
- `jira issue view ISSUE-1 --comments 5` - View details
|
|
206
|
+
- `jira issue move ISSUE-1 "In Progress"` - Transition issue
|
|
207
|
+
- `jira issue clone ISSUE-1 -s"New summary"` - Clone with modifications
|
|
208
|
+
- `jira issue delete ISSUE-1 --cascade` - Delete with subtasks
|
|
209
|
+
|
|
210
|
+
**Epics:**
|
|
211
|
+
- `jira epic list` - List epics
|
|
212
|
+
- `jira epic list EPIC-1` - List issues in an epic
|
|
213
|
+
- `jira epic create -n"Name" -s"Summary" --no-input` - Create epic
|
|
214
|
+
|
|
215
|
+
**Sprints:**
|
|
216
|
+
- `jira sprint list --current --table --plain` - Current sprint issues
|
|
217
|
+
- `jira sprint list --prev --table --plain` - Previous sprint issues
|
|
218
|
+
- `jira sprint add SPRINT_ID ISSUE-1 ISSUE-2` - Add issues to sprint
|
|
219
|
+
|
|
220
|
+
**Projects and Boards:**
|
|
221
|
+
- `jira project list` - List accessible projects
|
|
222
|
+
- `jira board list` - List boards in the configured project
|
|
223
|
+
- `jira open ISSUE-1` - Open issue in browser
|
|
224
|
+
- `jira me` - Show current user
|
|
225
|
+
|
|
226
|
+
## Progressive Disclosure
|
|
227
|
+
|
|
228
|
+
For detailed command documentation, refer to:
|
|
229
|
+
- **references/commands-detailed.md** - Comprehensive command reference with all flags and options
|
|
230
|
+
- **references/quick-reference.md** - Condensed command cheat sheet
|
|
231
|
+
- **references/troubleshooting.md** - Detailed error scenarios and solutions
|
|
232
|
+
|
|
233
|
+
Load these references when:
|
|
234
|
+
- User needs specific flag or option details
|
|
235
|
+
- Troubleshooting authentication, config, or permission issues
|
|
236
|
+
- Working with advanced features (JQL, custom fields, multiple configs)
|
|
237
|
+
|
|
238
|
+
## Common Issues Quick Fixes
|
|
239
|
+
|
|
240
|
+
**"command not found: jira"** - Install jira-cli or verify PATH
|
|
241
|
+
|
|
242
|
+
**Auth errors (401/403)** - Check `JIRA_API_TOKEN` is exported; for on-premises PAT auth set `JIRA_AUTH_TYPE=bearer`
|
|
243
|
+
|
|
244
|
+
**"Please select installation type" / config missing** - Run `jira init` to generate the config
|
|
245
|
+
|
|
246
|
+
**List command hangs in a script** - The default output is an interactive TUI; add `--plain`
|
|
247
|
+
|
|
248
|
+
**"Transition not found" or move fails** - Status name must match the workflow exactly; run `jira issue move` without arguments to see valid transitions
|
|
249
|
+
|
|
250
|
+
**Empty issue lists** - Verify the project/board chosen during `jira init`; try `-p PROJECT_KEY`
|
|
251
|
+
|
|
252
|
+
For detailed troubleshooting, load **references/troubleshooting.md**.
|
|
253
|
+
|
|
254
|
+
## Notes
|
|
255
|
+
|
|
256
|
+
- Works with both Jira Cloud and on-premises (Server/Data Center) installations
|
|
257
|
+
- Supports `basic`, `bearer` (PAT), and `mtls` (client certificates) auth types
|
|
258
|
+
- Sprint lists show only the 25 most recent sprints
|
|
259
|
+
- Descriptions and comments accept GitHub-flavored and Jira-flavored Markdown
|
|
260
|
+
- Shell completion is available via `jira completion --help`
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
# Jira CLI Detailed Command Reference
|
|
2
|
+
|
|
3
|
+
Complete flag and option reference for the `jira` CLI. All list flags are POSIX-compliant and combine freely.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Global Options](#global-options)
|
|
8
|
+
- [Issue List](#issue-list)
|
|
9
|
+
- [Issue Create](#issue-create)
|
|
10
|
+
- [Issue Edit](#issue-edit)
|
|
11
|
+
- [Issue Assign](#issue-assign)
|
|
12
|
+
- [Issue Move (Transition)](#issue-move-transition)
|
|
13
|
+
- [Issue View](#issue-view)
|
|
14
|
+
- [Issue Link / Unlink](#issue-link--unlink)
|
|
15
|
+
- [Issue Clone](#issue-clone)
|
|
16
|
+
- [Issue Delete](#issue-delete)
|
|
17
|
+
- [Issue Comment](#issue-comment)
|
|
18
|
+
- [Issue Worklog](#issue-worklog)
|
|
19
|
+
- [Epic](#epic)
|
|
20
|
+
- [Sprint](#sprint)
|
|
21
|
+
- [Releases, Projects, Boards, Other](#releases-projects-boards-other)
|
|
22
|
+
|
|
23
|
+
## Global Options
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
jira --version # Print version
|
|
27
|
+
jira init # Interactive config wizard (run once)
|
|
28
|
+
jira me # Print the current logged-in user
|
|
29
|
+
jira open [KEY-1] # Open project or issue in browser
|
|
30
|
+
jira completion --help # Shell completion setup (Bash/Zsh)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
- `-c, --config <file>` — use an alternative config file (or `JIRA_CONFIG_FILE` env var)
|
|
34
|
+
- `-p, --project <KEY>` — override the configured project on list/create commands
|
|
35
|
+
|
|
36
|
+
## Issue List
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
jira issue list [flags]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
| Flag | Description |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| `-a, --assignee <user>` | Filter by assignee; `x` = unassigned; use `$(jira me)` for yourself |
|
|
45
|
+
| `-r, --reporter <user>` | Filter by reporter |
|
|
46
|
+
| `-s, --status <status>` | Filter by status; prefix with `~` for "not" (e.g. `-s~Done`) |
|
|
47
|
+
| `-y, --priority <priority>` | Filter by priority (e.g. `High`) |
|
|
48
|
+
| `-t, --type <type>` | Filter by issue type (e.g. `Bug`) |
|
|
49
|
+
| `-l, --label <label>` | Filter by label; repeatable |
|
|
50
|
+
| `-w, --watching` | Issues you are watching |
|
|
51
|
+
| `-R, --resolution <value>` | Filter by resolution (e.g. `"Won't do"`, `Fixed`) |
|
|
52
|
+
| `--history` | Issues you recently interacted with |
|
|
53
|
+
| `--created <value>` | Relative window: `-7d`, `-1h`, `week`, `month` |
|
|
54
|
+
| `--updated <value>` | Same value format as `--created` |
|
|
55
|
+
| `--created-before <value>` | e.g. `-24w` |
|
|
56
|
+
| `--updated-before <value>` | Same format |
|
|
57
|
+
| `-q, --jql <query>` | Raw JQL within the project context |
|
|
58
|
+
| `--order-by <field>` | Order by field (e.g. `rank`, `created`) |
|
|
59
|
+
| `--reverse` | Reverse sort order |
|
|
60
|
+
| `--plain` | Non-interactive table output (use in scripts) |
|
|
61
|
+
| `--table` | Table view for explorer commands (epic/sprint) |
|
|
62
|
+
| `--raw` | Raw JSON output |
|
|
63
|
+
| `--csv` | CSV output |
|
|
64
|
+
| `--columns <list>` | Comma-separated columns to display |
|
|
65
|
+
| `--no-headers` | Omit the header row (for `awk`/parsing) |
|
|
66
|
+
|
|
67
|
+
Examples:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Assigned to me, high priority, open, created this month
|
|
71
|
+
jira issue list -a$(jira me) -yHigh -sopen --created month
|
|
72
|
+
|
|
73
|
+
# Unassigned issues created this week
|
|
74
|
+
jira issue list -ax --created week
|
|
75
|
+
|
|
76
|
+
# Not Done, created before 24 weeks ago, assigned to someone
|
|
77
|
+
jira issue list -s~Done --created-before -24w -a~x
|
|
78
|
+
|
|
79
|
+
# Issues I reported this week, oldest first
|
|
80
|
+
jira issue list -r$(jira me) --created week --reverse
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Issue Create
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
jira issue create [flags]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
| Flag | Description |
|
|
90
|
+
| --- | --- |
|
|
91
|
+
| `-t, --type <type>` | Issue type (required) |
|
|
92
|
+
| `-s, --summary <text>` | Summary/title (required) |
|
|
93
|
+
| `-b, --body <text>` | Description; supports GitHub- and Jira-flavored Markdown |
|
|
94
|
+
| `-y, --priority <value>` | Priority |
|
|
95
|
+
| `-l, --label <label>` | Label; repeatable |
|
|
96
|
+
| `-P, --parent <KEY>` | Attach to an epic (or parent in next-gen projects) |
|
|
97
|
+
| `--fix-version <value>` | Fix version |
|
|
98
|
+
| `--custom "key=value"` | Set custom fields; repeatable |
|
|
99
|
+
| `--template <file\|->` | Load description from file or stdin |
|
|
100
|
+
| `--no-input` | Skip all interactive prompts |
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Minimal non-interactive creation
|
|
104
|
+
jira issue create -tTask -s"Summary" -b"Description" --no-input
|
|
105
|
+
|
|
106
|
+
# Description piped from stdin
|
|
107
|
+
echo "Description" | jira issue create -s"Summary" -tTask --no-input
|
|
108
|
+
|
|
109
|
+
# Story attached to EPIC-42 with labels and fix version
|
|
110
|
+
jira issue create -tStory -s"Summary" -PEPIC-42 -lbackend --fix-version v2.0 --no-input
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Issue Edit
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
jira issue edit ISSUE-1 [flags]
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Accepts the same field flags as create (`-s`, `-b`, `-y`, `-l`, `-C` component, `--fix-version`). Prefix a value with `-` to remove it:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Remove label p2, add p1; swap fix version v1.0 for v2.0
|
|
123
|
+
jira issue edit ISSUE-1 --label -p2 --label p1 --fix-version -v1.0 --fix-version v2.0 --no-input
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Issue Assign
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
jira issue assign ISSUE-1 <user>
|
|
130
|
+
jira issue assign ISSUE-1 $(jira me) # assign to self
|
|
131
|
+
jira issue assign ISSUE-1 default # default assignee
|
|
132
|
+
jira issue assign ISSUE-1 x # unassign
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
A partial name ("suffix") may prompt for selection if it matches multiple users.
|
|
136
|
+
|
|
137
|
+
## Issue Move (Transition)
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
jira issue move ISSUE-1 <status> [flags]
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
| Flag | Description |
|
|
144
|
+
| --- | --- |
|
|
145
|
+
| `--comment <text>` | Comment added during the transition (workflow must allow it) |
|
|
146
|
+
| `-R, --resolution <value>` | Set resolution while moving (e.g. `Fixed`) |
|
|
147
|
+
| `-a, --assignee <user>` | Reassign while moving |
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
jira issue move ISSUE-1 "In Progress"
|
|
151
|
+
jira issue move ISSUE-1 Done -RFixed -a$(jira me) --comment "Completed"
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
The status name must match the workflow exactly (case-sensitive). Run `jira issue move` with no arguments to pick from valid transitions interactively.
|
|
155
|
+
|
|
156
|
+
## Issue View
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
jira issue view ISSUE-1 [--comments <n>]
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Renders the description as Markdown in the terminal (pager: `less` by default). `--comments 5` shows the 5 most recent comments.
|
|
163
|
+
|
|
164
|
+
## Issue Link / Unlink
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
jira issue link ISSUE-1 ISSUE-2 <link-type> # e.g. Blocks, Relates, Duplicates
|
|
168
|
+
jira issue unlink ISSUE-1 ISSUE-2
|
|
169
|
+
jira issue link remote ISSUE-1 <url> "<text>" # add a remote web link
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Issue Clone
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
jira issue clone ISSUE-1 [flags]
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
| Flag | Description |
|
|
179
|
+
| --- | --- |
|
|
180
|
+
| `-s, -y, -a, -l, -C` | Override summary, priority, assignee, labels, components on the clone |
|
|
181
|
+
| `-H, --replace "find:replace"` | Case-sensitive text replacement in summary and description |
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
jira issue clone ISSUE-1 -s"Modified summary" -yHigh -a$(jira me)
|
|
185
|
+
jira issue clone ISSUE-1 -H"find me:replace with me"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Issue Delete
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
jira issue delete ISSUE-1 [--cascade]
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
`--cascade` also deletes all subtasks.
|
|
195
|
+
|
|
196
|
+
## Issue Comment
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
jira issue comment add ISSUE-1 "Comment body" [flags]
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
| Flag | Description |
|
|
203
|
+
| --- | --- |
|
|
204
|
+
| `--internal` | Mark as an internal (restricted) comment |
|
|
205
|
+
| `--template <file\|->` | Load comment from file or stdin |
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
echo "Comment from stdin" | jira issue comment add ISSUE-1
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
The positional body takes precedence over `--template` when both are given.
|
|
212
|
+
|
|
213
|
+
## Issue Worklog
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
jira issue worklog add ISSUE-1 "<time>" [flags]
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Time is positional and accepts values like `"10m"`, `"2h"`, `"2d 3h 30m"`.
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
jira issue worklog add ISSUE-1 "2d 3h 30m" --comment "Implementation" --no-input
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Epic
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
jira epic list [EPIC-KEY] [issue-list-flags] # list epics, or issues in an epic
|
|
229
|
+
jira epic list EPIC-1 -ax -yHigh --table --plain
|
|
230
|
+
jira epic create -n"Epic name" -s"Summary" -yHigh -lbug -b"Description" --no-input
|
|
231
|
+
jira epic add EPIC-1 ISSUE-1 ISSUE-2 # up to 50 issues at once
|
|
232
|
+
jira epic remove ISSUE-1 ISSUE-2 # up to 50 issues at once
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
`epic list` supports all `issue list` filter flags except issue type. `epic create` requires `-n/--name`.
|
|
236
|
+
|
|
237
|
+
## Sprint
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
jira sprint list [SPRINT_ID] [flags]
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
| Flag | Description |
|
|
244
|
+
| --- | --- |
|
|
245
|
+
| `--current` | Issues in the current active sprint |
|
|
246
|
+
| `--prev` | Issues in the previous sprint |
|
|
247
|
+
| `--next` | Issues in the next planned sprint |
|
|
248
|
+
| `--state <list>` | e.g. `future,active` |
|
|
249
|
+
| `--table` | Table view (default is explorer) |
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
jira sprint list --current -a$(jira me) --table --plain
|
|
253
|
+
jira sprint list --state future,active --table --plain
|
|
254
|
+
jira sprint list SPRINT_ID -yHigh --table --plain # all issue filters supported
|
|
255
|
+
jira sprint add SPRINT_ID ISSUE-1 ISSUE-2 # up to 50 issues at once
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Only the 25 most recent sprints are shown. Get sprint IDs from `jira sprint list`.
|
|
259
|
+
|
|
260
|
+
## Releases, Projects, Boards, Other
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
jira release list [--project KEY] # project versions; feature must be enabled on the instance
|
|
264
|
+
jira project list # all accessible projects
|
|
265
|
+
jira board list # boards in the configured project
|
|
266
|
+
jira open # open project in browser
|
|
267
|
+
jira open ISSUE-1 # open issue in browser
|
|
268
|
+
```
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Jira CLI Quick Reference
|
|
2
|
+
|
|
3
|
+
Condensed cheat sheet. Use `--plain` (or `--table`, `--raw`, `--csv`) and `--no-input` when running non-interactively.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
jira init # one-time config wizard (Cloud/Local, auth, project, board)
|
|
9
|
+
export JIRA_API_TOKEN=... # Jira Cloud API token
|
|
10
|
+
export JIRA_AUTH_TYPE=bearer # only for on-premises PAT auth
|
|
11
|
+
jira me # verify auth and current user
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## List Issues
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
jira issue list --plain
|
|
18
|
+
jira issue list -a$(jira me) --plain # assigned to me
|
|
19
|
+
jira issue list -r$(jira me) --created week --plain # reported by me this week
|
|
20
|
+
jira issue list -w --plain # watching
|
|
21
|
+
jira issue list --history # recently interacted
|
|
22
|
+
jira issue list -yHigh -s"To Do" --created month -lbackend --plain
|
|
23
|
+
jira issue list -ax --created week --plain # unassigned
|
|
24
|
+
jira issue list -s~Done --plain # status is not Done
|
|
25
|
+
jira issue list -q "summary ~ cli" --plain # raw JQL
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Filter flags: `-a` assignee (`x` = unassigned), `-r` reporter, `-s` status (`~` = not), `-y` priority, `-l` label (repeatable), `-t` type, `-w` watching, `-R` resolution, `--created`/`--updated` (`-7d`, `-1h`, `week`, `month`), `--created-before`/`--updated-before`, `--order-by <field> --reverse`.
|
|
29
|
+
|
|
30
|
+
## Output Modes
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
jira issue list --plain --columns key,summary,status --no-headers # TSV, no header
|
|
34
|
+
jira issue list --raw # JSON
|
|
35
|
+
jira issue list --csv # CSV
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Create / Edit / Assign
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
jira issue create -tBug -s"Summary" -b"Body" -yHigh -lbug --no-input
|
|
42
|
+
jira issue create -tStory -s"Summary" -PEPIC-42 --no-input # attach to epic
|
|
43
|
+
echo "Body" | jira issue create -s"Summary" -tTask --no-input # body via stdin
|
|
44
|
+
jira issue edit ISSUE-1 -s"New summary" --no-input
|
|
45
|
+
jira issue edit ISSUE-1 --label -p2 --label p1 --no-input # "-" removes
|
|
46
|
+
jira issue assign ISSUE-1 "Jon Doe"
|
|
47
|
+
jira issue assign ISSUE-1 $(jira me) # self
|
|
48
|
+
jira issue assign ISSUE-1 default # default assignee
|
|
49
|
+
jira issue assign ISSUE-1 x # unassign
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Transition
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
jira issue move ISSUE-1 "In Progress"
|
|
56
|
+
jira issue move ISSUE-1 Done -RFixed -a$(jira me) --comment "Done"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Status name must match the workflow exactly.
|
|
60
|
+
|
|
61
|
+
## Comments / Links / Worklog
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
jira issue comment add ISSUE-1 "Comment body"
|
|
65
|
+
jira issue comment add ISSUE-1 "Internal note" --internal
|
|
66
|
+
jira issue link ISSUE-1 ISSUE-2 Blocks
|
|
67
|
+
jira issue unlink ISSUE-1 ISSUE-2
|
|
68
|
+
jira issue link remote ISSUE-1 https://example.com "Example text"
|
|
69
|
+
jira issue worklog add ISSUE-1 "2d 3h 30m" --comment "Note" --no-input
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Clone / Delete
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
jira issue clone ISSUE-1 -s"New summary" -a$(jira me)
|
|
76
|
+
jira issue clone ISSUE-1 -H"find:replace" # replace text in summary/description
|
|
77
|
+
jira issue delete ISSUE-1 --cascade # also deletes subtasks
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Epics
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
jira epic list --table --plain
|
|
84
|
+
jira epic list EPIC-1 --table --plain # issues in an epic
|
|
85
|
+
jira epic create -n"Name" -s"Summary" -b"Body" --no-input
|
|
86
|
+
jira epic add EPIC-1 ISSUE-1 ISSUE-2 # up to 50
|
|
87
|
+
jira epic remove ISSUE-1 ISSUE-2 # up to 50
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Sprints
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
jira sprint list --current --table --plain
|
|
94
|
+
jira sprint list --prev --table --plain
|
|
95
|
+
jira sprint list --next --table --plain
|
|
96
|
+
jira sprint list --state future,active --table --plain
|
|
97
|
+
jira sprint list SPRINT_ID -yHigh --table --plain # issue filters work here too
|
|
98
|
+
jira sprint add SPRINT_ID ISSUE-1 ISSUE-2 # up to 50
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Projects, Boards, Misc
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
jira project list
|
|
105
|
+
jira board list
|
|
106
|
+
jira release list --project KEY
|
|
107
|
+
jira open ISSUE-1 # open in browser
|
|
108
|
+
jira me # current user
|
|
109
|
+
jira issue list -pXYZ ... # override configured project
|
|
110
|
+
jira issue list -c ./config.yaml ... # alternative config file
|
|
111
|
+
```
|