Skip to content
Merged
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
37 changes: 28 additions & 9 deletions .claude/commands/jira.log.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,40 +113,55 @@ This description is structured for agent cold-start. Shall I create this issue?

### 5. Create the Jira Issue

Use the `mcp_mcp-atlassian_jira_create_issue` tool with:
Use the `mcp__jira__jira_create_issue` tool with:

```json
{
"project_key": "RHOAIENG",
"summary": "[user provided summary]",
"issue_type": "Story",
"description": "[structured description from template]",
"components": "Agentic"
"components": "Agentic",
"additional_fields": "{\"labels\": [\"team:ambient\"]}"
}
```

Then **update the issue** to set the Team field (must be done as a separate update call):
Then **update the issue** to set the Atlassian Team field (must be done as a separate update call — cannot be set on create):

```json
{
"issue_key": "[CREATED_ISSUE_KEY]",
"fields": {
"customfield_12313240": "6290"
}
"fields": "{}",
"additional_fields": "{\"customfield_10001\": \"ec74d716-af36-4b3c-950f-f79213d08f71-1917\"}"
}
```

Then **add to sprint** (sprint field `customfield_10020` is screen-restricted, use the sprint API instead):

```json
mcp__jira__jira_add_issues_to_sprint({
"sprint_id": "[ACTIVE_SPRINT_ID]",
"issue_keys": "[CREATED_ISSUE_KEY]"
})
```

To find the active sprint ID, use:
```json
mcp__jira__jira_get_sprints_from_board({ "board_id": "1115", "state": "active" })
```

### 6. Report Success

After creation, report:

```
✅ Created: [ISSUE_KEY]
🔗 Link: https://issues.redhat.com/browse/[ISSUE_KEY]
🔗 Link: https://redhat.atlassian.net/browse/[ISSUE_KEY]

Summary: [summary]
Component: Agentic
Team: Ambient team
Sprint: [sprint name]

📋 Agent Cold-Start Ready: Yes
```
Expand Down Expand Up @@ -228,15 +243,19 @@ Tests:
- Add test for cache invalidation edge case
```

## Field Reference
## Field Reference (Jira Cloud — redhat.atlassian.net)

| Field | Value | Notes |
|-------|-------|-------|
| Project | RHOAIENG | Red Hat OpenShift AI Engineering |
| Component | Agentic | Pre-filled |
| Team | Ambient team | Custom field `customfield_12313240` = `6290` |
| Team | Ambient team | `customfield_10001` = `ec74d716-af36-4b3c-950f-f79213d08f71-1917` (Atlassian Team type, set via update) |
| Sprint | Active sprint | Use `jira_add_issues_to_sprint` with board `1115` |
| Label | `team:ambient` | Set on create via `additional_fields` |
| Issue Type | Story | Default, can override with [Bug], [Task] |
| Priority | Normal | Default |
| Browse URL | `https://redhat.atlassian.net/browse/` | NOT `issues.redhat.com` (that was on-prem) |
| Board | `1115` (scrum) / `1109` (kanban) | "AI Driven Development" |

## Agent Cold-Start Checklist

Expand Down
4 changes: 2 additions & 2 deletions components/frontend/src/components/jira-connection-card.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { useConnectJira, useDisconnectJira } from '@/services/queries/use-jira'
import { useCurrentUser } from '@/services/queries/use-auth'

// Default Jira URL for Red Hat (can be changed by user)
const DEFAULT_JIRA_URL = 'https://issues.redhat.com'
const DEFAULT_JIRA_URL = 'https://redhat.atlassian.net'

type Props = {
status?: {
Expand Down Expand Up @@ -144,7 +144,7 @@ export function JiraConnectionCard({ status, onRefresh }: Props) {
<Input
id="jira-url"
type="url"
placeholder="https://issues.redhat.com"
placeholder="https://redhat.atlassian.net"
value={url}
onChange={(e) => setUrl(e.target.value)}
disabled={connectMutation.isPending}
Expand Down
7 changes: 4 additions & 3 deletions components/runners/ambient-runner/.mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,12 @@
"args": ["mcp-server-fetch"]
},
"mcp-atlassian": {
"command": "mcp-atlassian",
"args": [],
"command": "uvx",
"args": ["mcp-atlassian"],
"env": {
"JIRA_URL": "${JIRA_URL}",
"JIRA_PERSONAL_TOKEN": "${JIRA_API_TOKEN}",
"JIRA_USERNAME": "${JIRA_EMAIL}",
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}",
"JIRA_SSL_VERIFY": "true",
"READ_ONLY_MODE": "true"
}
Expand Down
Loading