Hoppa till innehåll

Jira

Senast uppdaterad:

I den här artikeln visar jag hur du kopplar din AI Agent till Jira. Vi kommer att använda:

Detta gör att din Quickchat AI Agent kan:

  • söka i dina Jira-ärenden, och
  • vara smart när den svarar på frågor baserat på dem

Vi använder Quickchats AI Actions (anpassade HTTP-anrop) för att låta din Agent anropa endpointen Enhanced search for issues i Jiras (Atlassian) API.

Exempel på Jira-ärenden och konversation Skapa en AI Agent som kreativt tolkar användarens inmatningar

Play

Så här arbetar din AI Agent under konversationer:

  1. Användaren ställer en fråga som “vad händer med ärenden om mercury?”
  2. AI Agent hämtar relevant information från Jira API med en sökning som “mercury”
  3. AI Agent svarar användaren baserat på information hämtad från API:et

Följ stegen nedan. Hela konfigureringen bör inte ta mer än 10 minuter!

Steg 0 – skapa ett Jira-konto och projekt

Section titled “Steg 0 – skapa ett Jira-konto och projekt”
  1. Gå till id.atlassian.com/signup, skapa och verifiera ditt konto.
  2. Lägg till Jira bland dina Atlassian-appar (gratisplanen räcker för att komma igång).
  3. Konfigurera ditt första projekt och skapa ärenden som i exemplet nedan.

Exempel på Jira-ärenden Exempeltavla med Jira-ärenden

Steg 1 – autentiseringstoken för Jira API

Section titled “Steg 1 – autentiseringstoken för Jira API”

Gå till id.atlassian.com/manage-profile/security/api-tokens och skapa din API-token, som ser ut ungefär så här:

ATATT3xFfGF01sKUl0HEW2-_-u9umfLSz7jeblmeLzEHZ1DLcdLbKeVF137iTHGkKhPuNMSKX8mkbwLpHXT4-qXEn-xNEnfiK8_XDVW6XXvGd_SBV3HD4kJInGNjfg2_yEoJFN6uwy4NRqeuhV2tjmyzxozLBRn35OhXkDA6QGfLFvf2_PKuNtA=8DA704E4

För att kunna använda din Atlassian API-token i Quickchat AI Actions måste du base64-koda den tillsammans med din e-postadress:

your_email@example.com:ATATT3xFfGF01sKUl0HEW2-_-u9umfLSz7jeblmeLzEHZ1DLcdLbKeVF137iTHGkKhPuNMSKX8mkbwLpHXT4-qXEn-xNEnfiK8_XDVW6XXvGd_SBV3HD4kJInGNjfg2_yEoJFN6uwy4NRqeuhV2tjmyzxozLBRn35OhXkDA6QGfLFvf2_PKuNtA=8DA704E4

Se till att ange exakt den e-postadress du använde när du skapade Atlassian-kontot.

Du kan använda ett enkelt onlineverktyg som base64encode.org.

Använd Live mode, vilket garanterar att kodningen sker helt i din webbläsare.

base64encode.org Gratis onlineverktyg för att koda din API-token

Alternativt kan du göra det på din dator med ett enkelt Python-skript:

import base64
email = "your_email@example.com"
api_token = "ATATT3xFfGF01sKUl0HEW2-_-u9umfLSz7jeblmeLzEHZ1DLcdLbKeVF137iTHGkKhPuNMSKX8mkbwLpHXT4-qXEn-xNEnfiK8_XDVW6XXvGd_SBV3HD4kJInGNjfg2_yEoJFN6uwy4NRqeuhV2tjmyzxozLBRn35OhXkDA6QGfLFvf2_PKuNtA=8DA704E4"
credentials = f"{email}:{api_token}"
b64_credentials = base64.b64encode(credentials.encode("utf-8")).decode("utf-8")
print(f"Basic {b64_credentials}")

Skriptet ovan ger dig en färdig header med den kodade token som ser ut så här:

Basic eW91cl9lbWFpbEBleGFtcGxlLmNvbTpBVEFUVDN4RmZHRjAxc0tVbDBIRVcyLV8tdTl1bWZMU3o3amVibG1lTHpFSFoxRExjZExiS2VWRjEzN2lUSEdrS2hQdU5NU0tYOG1rYndMcEhYVDQtcVhFbi14TkVuZmlLOF9YRFZXNlhYdkdkX1NCVjNIRDRrSkluR05qZmcyX3lFb0pGTjZ1d3k0TlJxZXVoVjJ0am15enhvekxCUm4zNU9oWGtEQTZRR2ZMRnZmMl9QS3VOdEE9OERBNzA0RTQ=

Gå till Actions & MCPs i Quickchat AI-appen och lägg till en action:

AI Action Sidan för AI Action

Ge din AI Action ett lämpligt namn:

Name: Search Jira issues

Namn på AI Action Ange namn för AI Action

Din AI Agents huvuduppgift blir att översätta vad användaren frågar efter till en exakt fråga för att söka i Jira-ärenden. När det gäller sökning av ärenden har Jira nyligen helt gått över till JQL (Jira Query Language) för att möjliggöra mer avancerade sökningar. Detta gör din AI Agent betydligt kraftfullare. Konfigurera indata-parametrarna enligt följande:

FormatNamnBeskrivningStandardvärdeKrävs
Textjql(se nedan)-

För att uppnå hög prestanda med din AI Agent är en välskriven beskrivning mycket viktig:

Description:

A single valid JQL (Jira Query Language) string built per the description. Favor recall: prefer `(text ~ "term1" OR text ~ "term2")` over chaining with AND, add `status = "..."` only if requested, avoid custom fields, and use parentheses for grouping. Examples: `status = "In Progress" AND (text ~ "mercury" OR text ~ "venus")`, `(text ~ "planet*" OR text ~ "integration")`, `project = "Solar System" AND (text ~ "api" OR text ~ "integration")`.

Indata-parametrar för AI Action En väl utformad parameterbeskrivning är nyckeln till AI Agent-prestanda

  1. Välj GET som action-typ
  2. Ställ in endpointens URL till Jiras /rest/api/3/search/jql

API-endpointens URL Ställ in API-endpointens URL

Se till att använda ditt Atlassian-domännamn. Du hittar det i din Jira-tavlas URL.

Atlassian workspace-URL Ditt Atlassian-domännamn

Steg 5 – ställ in headers för API-förfrågan

Section titled “Steg 5 – ställ in headers för API-förfrågan”

Definiera dina headers för API-förfrågan så här:

AcceptAutorization
application/jsonBasic cGlvdHJAcXVpY2tjaGF0LmFpOkFUQVRUM3hGZkdGMGlQOVNacEhVZ1o5YUJfWGhmQjZJWjJId3MyaHlsMzEtTlNpYW90Z2tZVzRxQXEwQ3R4UVY1OXFTZkpWWVZNcXlxem42MWRkR0VobmJWNzdzaWtrb19ZWkhtLUgwazFOZGh4WlpQMnltYmZ1SzhBRmlFMnJEUmdqd182N1hkSFFUelFQY2I2U1lrNUFPRlRuVnZvaGxkZUd3djVpM2VrcEFyMVJ4QnJWRncyYz04MEZGQTcyMA==

Var extra noggrann med att formatera din Authorization-header korrekt: Basic <base64-encoded email:api token>

Headers för API-förfrågan Ställ in headers för API-förfrågan

Steg 6 – ställ in query-parametrar för API-förfrågan

Section titled “Steg 6 – ställ in query-parametrar för API-förfrågan”

Ställ in två query-parametrar för din AI-förfrågan:

  • jql tar ett dynamiskt värde som definierades tidigare i avsnittet What to ask the user first. Det är AI Agentens uppgift att fylla i värdet baserat på vad användaren sagt i konversationen.
  • fields tar ett fast värde. För varje Jira-ärende är vi bara intresserade av summary, description och status.
jqlfields
{{jql}}summary,description,status

Query-parametrar för API-förfrågan Ställ in query-parametrar för API-förfrågan

Kontrollera att jql-parametern pekar korrekt på värdet som definierades tidigare. Du kan välja det i rullgardinsmenyn Add AI Data.

Rullgardinsmeny Add AI Data Välj den dynamiska parametern jql i menyn

Steg 7 – ställ in beskrivningen för API Action

Section titled “Steg 7 – ställ in beskrivningen för API Action”

Den sista avgörande ingrediensen i en välkonfigurerad AI Action är dess beskrivning. Även om AI Agenten redan förstår din API-endpoint väl utifrån URL och parametrar, är det viktigt att optimera dess beteende för ditt användningsfall.

De två viktigaste aspekterna i prompten är:

  • rekommendationer om hur man använder avancerad JQL-syntax när man söker Jira-ärenden
  • behovet av breda sökningar för att undvika att återkomma med tomma resultat

Här är den resulterande API Action Description:

Infer the user’s intent and construct a single valid JQL that prioritizes recall over precision. Use `text ~ "..."` for contains (case-insensitive) domain / content terms (features, services, tasks, components, etc.). If multiple candidate terms exist, prefer OR and wrap in parentheses. Include `status = "..."` only when the user states a status. Never invent custom fields; only use standard fields like `text`, `status`, and `project` if explicitly mentioned. Keep queries short to avoid zero results. Use parentheses to make precedence explicit (AND binds tighter than OR). Example: `status = "In Progress" AND (text ~ "mercury" OR text ~ "venus")`.

Beskrivning av AI Action Beskrivningen måste exakt ange hur API-förfrågan ska användas

Innan vi testar AI Action i konversation kan vi testa hur API:et anropas i fliken Test Response. Låt oss göra ett första test med följande fråga, som bör returnera alla ärenden i projektet: project = "Solar System"

Testa API-endpoint Söker efter alla ärenden i projektet Solar System

Nedan visas testsvar. Som förväntat listar det fälten summary, description och status för alla 6 ärenden på vår Jira-tavla.

Testsvar från API-endpoint Svaret listar alla ärenden i projektet Solar System

Låt oss prova en fråga till. Den här gången söker vi efter alla ärenden som nämner “mercury”: text ~ "mercury"

Testsvar från API-endpoint Söker efter ärenden som nämner mercury

Nu har vi verifierat att AI Action anropar vår API-endpoint korrekt. Vi kan gå vidare till att testa fullständiga konversationer med AI Agenten!

Steg 9 – testa AI Agent i konversationer

Section titled “Steg 9 – testa AI Agent i konversationer”

Gå tillbaka till Quickchat AI-appen och testa din AI Agent i konversationsvyn.

Testkonversation #1 AI Agent ger en sammanfattning av alla ärenden i projektet

I den här enkla konversationen ger AI Agent en översikt över alla ärenden i projektet. I bakgrunden var den exakta frågan mot API-endpointen: project = "Solar System"

Testkonversation #2 AI Agent svarar på frågor om specifika ärenden och statusar

Här frågades AI Agent om två olika saker: ett specifikt ärende och vad som pågår i allmänhet. I bakgrunden beslutade den att använda Jira API i två steg:

  1. Kontrollera om pluto pågår:
status = "In Progress" AND (text ~ "pluto" OR text ~ "ongoing" OR text ~ "current" OR text ~ "active" OR text ~ "progress")
  1. Kontrollera vad mer som pågår:
status = "In Progress"

Testkonversation #3 AI Agent svarar på en kreativ fråga 😉

Här ville jag utmana AI Agenten och ställde en fråga som kräver viss kreativitet för att tolkas korrekt. Så här översattes den till en JQL-fråga:

(text ~ "planet" OR text ~ "upstream" OR text ~ "mercury" OR text ~ "venus")

I den här artikeln visade vi hur en AI Agent kan konfigureras för att använda en specifik API-endpoint på ett kreativt sätt i konversationer. Rätt konfiguration är inte “out of the box” – den kräver att man tillhandahåller detaljerad extra information om det specifika användningsfallet. Använd gärna de prompts och beskrivningar som visas i den här artikeln för att skapa dina egna liknande AI Agents!

Artikeln ovan skrevs av en människa (undertecknad), men hade lika gärna kunnat skrivits av AI. Till exempel genom att klistra in en prompt som denna i ChatGPT:

I need an API endpoint that allows me to search through my Jira tickets.
Guide me through the process step by step so that it is accessible to a moderately technical person:
- Provide links to documentation describing the endpoint
- Any necessary account creation and initial setup
- If any paid account is needed, indicate that clearly
- If any authentication such as API tokens is needed, guide me through the process of creating them and show me exactly every step needed to be able to use them as an HTTP request header. For example, if base64 encoding is needed, show a script or another way of achieving that.
- Show to me exactly what header keys and values I need for the HTTP request (show me header keys and values in a table)
- Show to me exactly what payload parameters I need for the HTTP request (show me payload parameter name and example values in a table)

Kanske vill du i framtiden i stället för att söka i Jira-ärenden:

  • skicka meddelanden till en Slack‑kanal?
  • hämta information från en Notion‑sida?
  • utföra en åtgärd via Zapier?

Säg det i första meningen och kör prompten igen! Du får utmärkta instruktioner för att lägga till precis den AI Action du behöver!