Konrad Kowalski (rootsher)Principal Platform & Reliability Architect000011001000000011101010010011001010000001001011

Od ticketu w Jira do uruchomienia agenta

data
kategoria
AI Agents
także w
Automation · Engineering Practices
czytanie
2 min / 324 słów

Zacznijmy od jednego realnego flow.

Mamy rolę:

text
Implementer Agent

Jej cel jest prosty:

text
weź task
|
v
zrozum wymagania
|
v
zmień kod
|
v
uruchom testy
|
v
utwórz PR

To nadal jest jeden agent.

Testy, commit i PR są krokami jego workflow, nie osobnymi agentami.

Osobny agent pojawiłby się dopiero przy innej roli, np.:

text
Implementer Agent
Reviewer Agent
Release Agent

Skąd agent wie, że ma zacząć pracę

Nie powinien sam co minutę przeszukiwać Jira i zgadywać, który ticket jest jego.

Lepiej mieć jawny event.

Przykład:

text
Jira issue
status: Ready for AI
|
v
Jira Automation / webhook
|
v
wywołanie endpointu Implementer Agenta

Payload może wyglądać tak:

json
{
  "issueKey": "PAY-123",
  "repository": "org/payments-service",
  "baseBranch": "main"
}

W ten sposób rozdzielamy dwie odpowiedzialności:

text
event / trigger
-> kiedy uruchomić agenta

agent
-> co zrobić po uruchomieniu

Co dzieje się dalej

Agent dostaje PAY-123.

Nie musi mieć całego ticketu w payloadzie.

Może wywołać Jira tool:

text
jira.get_issue("PAY-123")

i pobrać:

  • description,
  • acceptance criteria,
  • labels,
  • dependencies,
  • komentarze.

Flow:

text
PAY-123
|
v
Jira tool
|
v
pełny opis taska
|
v
Implementer Agent

Gdzie to konfigurujemy

Jira

Reguła:

text
WHEN:
issue moved to "Ready for AI"

THEN:
send webhook

Event layer

Przekazuje payload do endpointu agenta.

Może to być:

  • Jira Automation,
  • webhook,
  • Azure Function / Logic App,
  • AWS Lambda / EventBridge,
  • GCP Eventarc / Cloud Run function.

Repo agenta

Nie definiuje, kiedy ma wystartować.

Definiuje, co zrobić po starcie:

text
1. pobierz ticket
2. przygotuj workspace
3. zaimplementuj task
4. test
5. PR

Narzędzia na rynku

Co zmienia poziom organizacji

Przy jednym agencie można ręcznie podpiąć webhook.

Przy wielu zespołach warto ustandaryzować:

  • status lub label uruchamiający agenta,
  • format payloadu,
  • mapping ticket -> repo,
  • sposób wywoływania agentów,
  • identity wywołującego.

Dzięki temu różne zespoły mogą korzystać z tego samego wzorca zamiast budować własny mechanizm startowy.

Materiały

do góry