Skip to content

Commit 793334b

Browse files
committed
improve on guide based on review
1 parent dae4fcf commit 793334b

File tree

4 files changed

+115
-41
lines changed

4 files changed

+115
-41
lines changed

docs/guides/all/triage-tickets-to-coding-agents.md

Lines changed: 111 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ displayed_sidebar: null
33
description: Learn how to implement an AI-powered triage system that automatically evaluates Jira tickets, enriches them with missing context, and ensures only well-defined tasks reach your coding agents.
44
---
55

6-
# Triage tickets to coding agents
6+
import MCPCapabilitiesHint from '/docs/guides/templates/ai/_mcp_capabilities_hint.mdx'
7+
8+
9+
# Improve specifications with Port AI
710

811
Coding agents often fail or produce suboptimal results when given incomplete or poorly defined tasks. Developers waste time and resources on unsuccessful runs caused by missing context, unclear success criteria, or insufficient requirements.
912

1013
This guide demonstrates how to implement an AI-powered triage system in Port that automatically evaluates incoming Jira tickets, enriches them with missing details, and ensures only well-defined tasks reach your coding agents.
1114

12-
<img src="/img/guides/ai-triage-workflow.png" alt="Workflow diagram" border="1px" width="100%" />
15+
<img src="/img/guides/ai-triage-workflow.png" alt="Workflow diagram goes here" border="1px" width="100%" />
1316

1417
## Common use cases
1518

@@ -33,9 +36,71 @@ While this guide uses Jira for ticket management, you can adapt it for other pro
3336

3437
We will configure the necessary blueprints and scorecards to support our AI triage workflow.
3538

36-
### Create Jira ticket blueprint
39+
### Create Feature blueprint
40+
41+
To implement the AI triage system, we need a blueprint to store different features (tickets) from your project management tool. This blueprint will track the AI readiness status, triage stages, and enrichment suggestions for each feature.
3742

38-
First, we need to create a Jira ticket blueprint that includes properties for tracking AI readiness and triage status.
43+
:::info If you already have Jira integration installed
44+
Port's Jira integration creates a `jiraIssue` blueprint by default. You can extend this existing blueprint by adding the following properties to enable AI triage functionality:
45+
46+
1. Go to the [builder](https://app.getport.io/settings/data-model) page of your portal.
47+
2. Select the `Jira Issue` blueprint.
48+
3. Click on the `{...} Edit JSON` button.
49+
4. Copy and paste the following JSON configuration under the `properties` schema:
50+
51+
<details>
52+
<summary><b>Extended Jira ticket blueprint (Click to expand)</b></summary>
53+
54+
```json showLineNumbers
55+
"description": {
56+
"type": "string",
57+
"title": "Description",
58+
"description": "Detailed description of the issue",
59+
"format": "markdown"
60+
},
61+
"current_stage": {
62+
"icon": "DefaultProperty",
63+
"title": "Triage Stage",
64+
"description": "Current triage stage of the issue",
65+
"type": "string",
66+
"default": "Not started",
67+
"enum": [
68+
"Awaiting approval",
69+
"Not started",
70+
"Draft",
71+
"Approved"
72+
],
73+
"enumColors": {
74+
"Awaiting approval": "yellow",
75+
"Not started": "lightGray",
76+
"Draft": "orange",
77+
"Approved": "green"
78+
}
79+
},
80+
"confidence_score": {
81+
"type": "number",
82+
"title": "Confidence Score",
83+
"description": "AI's assessment of readiness for coding agent (0-100)",
84+
"minimum": 0,
85+
"maximum": 100
86+
},
87+
"ai_suggested_description": {
88+
"type": "string",
89+
"title": "AI Suggested Description",
90+
"description": "AI-generated suggestions for improving the ticket",
91+
"format": "markdown"
92+
},
93+
"prioritized": {
94+
"type": "boolean",
95+
"title": "Prioritized"
96+
}
97+
```
98+
</details>
99+
100+
The rest of this guide will reference `jira_ticket` as the blueprint identifier.
101+
:::
102+
103+
If you don't have Jira integration or want to create a custom blueprint, follow these steps:
39104

40105
1. Go to the [builder](https://app.getport.io/settings/data-model) page of your portal.
41106
2. Click on `+ Blueprint`.
@@ -48,7 +113,7 @@ First, we need to create a Jira ticket blueprint that includes properties for tr
48113
```json showLineNumbers
49114
{
50115
"identifier": "jira_ticket",
51-
"title": "Ticket",
116+
"title": "Feature",
52117
"icon": "Jira",
53118
"schema": {
54119
"properties": {
@@ -161,15 +226,20 @@ First, we need to create a Jira ticket blueprint that includes properties for tr
161226
```
162227
</details>
163228

164-
5. Click `Create` to save the blueprint
229+
5. Click `Create` to save the blueprint.
165230

166231
### Create AI readiness scorecard
167232

168-
Next, we will create a scorecard that evaluates whether tickets are ready for coding agents based on completeness criteria.
233+
Next, we will create a scorecard that evaluates whether tickets are ready for coding agents based on completeness criteria. This ensures that only well-defined and complete tasks reach your AI coding assistants, preventing wasted compute resources and failed runs.
169234

170-
1. Open the newly created `Ticket`
171-
2. Click on `+ Scorecard`
172-
3. Click on the `{...} Edit JSON` button
235+
The scorecard evaluates tickets based on three key readiness criteria:
236+
- Whether the ticket has been prioritized for development.
237+
- Current stage status (must be approved).
238+
- Assignment status (requires an assignee).
239+
240+
1. Open the newly created `Feature` blueprint.
241+
2. Click on `+ Scorecard`.
242+
3. Click on the `{...} Edit JSON` button.
173243
4. Copy and paste the following JSON configuration:
174244

175245
<details>
@@ -222,6 +292,9 @@ Next, we will create a scorecard that evaluates whether tickets are ready for co
222292

223293
5. Click `Create` to save the scorecard
224294

295+
<img src="/img/guides/ai-triage-scorecard-entity.png" border="1px" width="70%"/>
296+
297+
225298
## Create self-service actions
226299

227300
We will create three self-service actions to handle the triage workflow: improving tickets with AI suggestions, approving suggestions, and requesting refinements.
@@ -230,9 +303,9 @@ We will create three self-service actions to handle the triage workflow: improvi
230303

231304
This action allows the AI agent to suggest improvements to ticket descriptions.
232305

233-
1. Go to the [self-service](https://app.getport.io/self-serve) page of your portal
234-
2. Click on `+ New Action`
235-
3. Click on the `{...} Edit JSON` button
306+
1. Go to the [self-service](https://app.getport.io/self-serve) page of your portal.
307+
2. Click on `+ New Action`.
308+
3. Click on the `{...} Edit JSON` button.
236309
4. Copy and paste the following JSON configuration:
237310

238311
<details>
@@ -315,15 +388,15 @@ This action allows the AI agent to suggest improvements to ticket descriptions.
315388
```
316389
</details>
317390

318-
5. Click `Save` to create the action
391+
5. Click `Save` to create the action.
319392

320393
### Create approval action
321394

322395
This action allows human reviewers to approve or reject AI suggestions.
323396

324-
1. Go back to the [self-service](https://app.getport.io/self-serve) page of your portal
325-
2. Click on `+ New Action`
326-
3. Click on the `{...} Edit JSON` button
397+
1. Go back to the [self-service](https://app.getport.io/self-serve) page of your portal.
398+
2. Click on `+ New Action`.
399+
3. Click on the `{...} Edit JSON` button.
327400
4. Copy and paste the following JSON configuration:
328401

329402
<details>
@@ -385,15 +458,15 @@ This action allows human reviewers to approve or reject AI suggestions.
385458
```
386459
</details>
387460

388-
5. Click `Save` to create the action
461+
5. Click `Save` to create the action.
389462

390463
### Create retry action
391464

392465
This action allows users to provide feedback and request AI to refine its suggestions.
393466

394-
1. Go back to the [self-service](https://app.getport.io/self-serve) page of your portal
395-
2. Click on `+ New Action`
396-
3. Click on the `{...} Edit JSON` button
467+
1. Go back to the [self-service](https://app.getport.io/self-serve) page of your portal.
468+
2. Click on `+ New Action`.
469+
3. Click on the `{...} Edit JSON` button.
397470
4. Copy and paste the following JSON configuration:
398471

399472
<details>
@@ -455,15 +528,15 @@ This action allows users to provide feedback and request AI to refine its sugges
455528
```
456529
</details>
457530

458-
5. Click `Save` to create the action
531+
5. Click `Save` to create the action.
459532

460533
## Create AI agent
461534

462-
Now we'll create the AI agent that evaluates tickets and suggests improvements.
535+
Now we will create the AI agent that evaluates tickets and suggests improvements.
463536

464-
1. Go to the [AI Agents](https://app.getport.io/_ai_agents) page of your portal
465-
2. Click on `+ AI Agent`
466-
3. Toggle `Json mode` on
537+
1. Go to the [AI Agents](https://app.getport.io/_ai_agents) page of your portal.
538+
2. Click on `+ AI Agent`.
539+
3. Toggle `Json mode` on.
467540
4. Copy and paste the following JSON schema:
468541

469542
<details>
@@ -490,25 +563,23 @@ Now we'll create the AI agent that evaluates tickets and suggests improvements.
490563
```
491564
</details>
492565

493-
5. Click `Create` to save the agent
566+
5. Click `Create` to save the agent.
494567

495-
:::tip MCP Enhanced Capabilities
496-
The AI agent uses MCP (Model Context Protocol) enhanced capabilities to automatically discover important and relevant blueprint entities via its tools. The `^(list|get|search|track|describe)_.*` pattern allows the agent to access and analyze related entities in your software catalog, providing richer context for ticket evaluation. Additionally, we explicitly add `run_ask_ai_to_improve_on_ticket` to the tools, which instructs the AI agent to call this specific action to update tickets with AI suggestions.
497-
:::
568+
<MCPCapabilitiesHint/>
498569

499570
## Set up automations
500571

501572
We'll create two automations to orchestrate the AI triage workflow:
502573

503-
1. Trigger the AI agent when new tickets are created or synced
504-
2. Automatically assign coding agents to approved tickets
574+
1. Trigger the AI agent when new tickets are created or synced.
575+
2. Automatically assign coding agents to approved tickets.
505576

506577
### Create ticket sync trigger automation
507578

508579
This automation triggers the AI triage agent whenever a new Jira ticket is created or synced to the Catalog.
509580

510-
1. Go to the [automations](https://app.getport.io/settings/automations) page of your portal
511-
2. Click on `+ Automation`
581+
1. Go to the [automations](https://app.getport.io/settings/automations) page of your portal.
582+
2. Click on `+ Automation`.
512583
3. Copy and paste the following JSON schema:
513584

514585
<details>
@@ -555,14 +626,14 @@ This automation triggers the AI triage agent whenever a new Jira ticket is creat
555626
```
556627
</details>
557628

558-
4. Click `Create` to save the automation
629+
4. Click `Create` to save the automation.
559630

560631
### Create coding agent assignment automation
561632

562633
This automation automatically assigns coding agents to tickets once they're approved and ready.
563634

564-
1. Go back to the [automations](https://app.getport.io/settings/automations) page of your portal
565-
2. Click on `+ Automation`
635+
1. Go back to the [automations](https://app.getport.io/settings/automations) page of your portal.
636+
2. Click on `+ Automation`.
566637
3. Copy and paste the following JSON schema:
567638

568639
<details>
@@ -590,7 +661,7 @@ This automation automatically assigns coding agents to tickets once they're appr
590661
},
591662
"invocationMethod": {
592663
"type": "WEBHOOK",
593-
"url": "https://api.us.getport.io/v1/actions/run_claude_code_demo/runs",
664+
"url": "https://api.getport.io/v1/actions/run_claude_code_demo/runs",
594665
"agent": false,
595666
"synchronized": true,
596667
"method": "POST",
@@ -614,11 +685,11 @@ This automation automatically assigns coding agents to tickets once they're appr
614685
Replace the **service** with the name of the Github repository. Also, replace the webhook URL and payload structure in the automation to match your preferred coding agent's API. You can integrate with Claude Code, GitHub Copilot, Devin, or any other AI coding assistant that accepts webhook triggers.
615686
:::
616687

617-
4. Click `Create` to save the automation
688+
4. Click `Create` to save the automation.
618689

619690
## Test the workflow
620691

621-
Now let's test the complete AI triage workflow to ensure everything works correctly.
692+
Now let us test the complete AI triage workflow to ensure everything works correctly.
622693

623694
### Create a test ticket
624695

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
:::tip MCP Enhanced Capabilities
2+
The AI agent uses MCP (Model Context Protocol) enhanced capabilities to automatically discover important and relevant blueprint entities via its tools. The `^(list|get|search|track|describe)_.*` pattern allows the agent to access and analyze related entities in your software catalog, providing richer context for ticket evaluation.
3+
:::

src/components/guides-section/consts.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1494,7 +1494,7 @@ export const availableGuides = [
14941494
link: "/guides/all/auto-remediate-insecure-cloud-resources-with-ai",
14951495
},
14961496
{
1497-
title: "Triage tickets to coding agents",
1497+
title: "Improve specifications with Port AI",
14981498
description: "Learn how to implement an AI-powered triage system that automatically evaluates tickets, enriches them with missing context, and ensures only well-defined tasks reach your coding agents",
14991499
tags: ["Autonomous Ticket Resolution", "AI", "Claude Code", "Jira"],
15001500
logos: ["AI", "Claude Code", "Jira"],
166 KB
Loading

0 commit comments

Comments
 (0)