Video k prezentaci https://youtu.be/RVSMp4XKLmc
JQL = Jira Query Language
Příklady použití JQL:
Ad-hoc vyhledávání
Filtry
Subscriptions
Kanban/Scrum boardy
Dashboardy
Fronty, definice cílů pro SLA (JSM)
2. 2
Zdroje: Jira Cloud/DataCenter dokumentace
Pokročilé vyhledávání - typy polí
https://confluence.atlassian.com/servicemanagementserver/advanced-searching-fields-reference-939937022.html
JQL funkce
https://support.atlassian.com/jira-software-cloud/docs/jql-functions/
Jak vytvořit filtr
https://support.atlassian.com/jira-service-management-cloud/docs/what-is-a-saved-search/
JQL pro Jira Service Management
https://confluence.atlassian.com/servicemanagementserver/using-jql-queries-specific-to-slas-939926424.html
Atlassian AI
https://support.atlassian.com/jira-software-cloud/docs/use-atlassian-intelligence-to-search-for-issues/
3. 3
Co je to JQL?
JQL = Jira Query Language
Příklady použití JQL:
Ad-hoc vyhledávání
Filtry
Subscriptions
Kanban/Scrum boardy
Dashboardy
Fronty, definice cílů pro SLA (JSM)
Využitelné pro Jira Cloud i Jira DataCenter
4. 4
Vyhledávání podle různých atributů (priorita, stav, osoba)
Typy polí (text, date, user, version, duration, attachment, cf,…)
Operátory (=, !=, >, >=, <, <=, in, not in, is, is not, was, was in,…)
Příklady:
priority = High
status was „Pending“
assignee not in (novak, smith)
issueType != Bug
project in (Project1, Project2, Project5)
5. 5
Filtrování podle data a času
Příklady
duedate <= “2024-06-30 17:00“
created > “2023-05-17“
status CHANGED TO “In Progress“ BEFORE startOfWeek()
status CHANGED FROM “In Progress“ TO “Done“ AFTER
startOfWeek(-1w)
status CHANGED TO (“In Progress“, “Planned“) DURING (“2024-
05-01“, “2024-05-15“)
Pokud není uveden čas, bere se jako 00:00:00
6. 6
Filtrování podle data a času 2
createdDate > “2023-07-03“ and createdDate < “2023-08-03“
createdDate > “2023-07-03“ and createdDate <= “2023-08-03 23:59“
7. 7
Funkce a klíčové slova
Funkce slouží jako proměnné, které se vyhodnocují v okamžiku
spuštění dotazu
now(), endOfMonth(), currentUser(), membersOf(),…
Příklady použití:
reporter = currentUser()
dueDate > now()
Klíčové slova (NOT, EMPTY, NULL)
assignee IS NOT NULL
description IS EMPTY
Řazení (ORDER BY)
…ORDER BY created DESC
8. 8
JQL funkce pro Jira Service Management
SLA
breached(), everBreached(), paused(), completed(), running(),
withincalendarhours(), elapsed(), remaining()
"Time to first response" != everBreached()
"Time to resolution" < remaining ("2h")
Approvals
approved(), approver(), myApproval(), myPending(),…
approval = pendingBy(novak)
approval = myPending()
Customer Request Type
"Customer Request Type" = "Request a new account"
9. 9
JQL funkce pro Jira Software
Sprinty
closedSprints(), openSprints(),…
sprint in („Sprint Week 53 – Dev2" , "Sprint Week 53 – Dev1„)
sprint in openSprints()
Releases/versions
earliestUnreleasedVersion(), latestReleasedVersion(), releasedVersions(),
unreleasedVersions(),…
affectedVersion = „3.14“
affectedVersion in latestReleasedVersion()
10. A co když chci definovat více
podmínek vyhledávání?
11. 11
Kombinace podmínek pomocí logických operátorů
Logické operátory AND („a zároveň“) a OR („nebo“)
status=resolved AND project=“Teams in Space” AND assignee=captainjoe
status=resolved AND project=“Teams in Space” OR assignee=captainjoe
status=resolved OR project="Teams in Space" AND assignee=captainjoe
status=resolved OR projects="Teams in Space" OR assignee=captainjoe
13. 13
Použití závorek pro vytvoření složitějších výrazů
Příklad:
status=resolved AND project=“Teams in Space” AND assignee=captainjoe
status=resolved AND project=“Teams in Space” OR assignee=captainjoe
status=resolved OR project="Teams in Space" AND assignee=captainjoe
status=resolved OR projects="Teams in Space" OR assignee=captainjoe
status=resolved AND (project="Teams in Space" OR assignee=captainjoe)
(project in (“Idea backlog“, “Technology debt“) AND assignee in
membersOf(“Development Team“)) OR (project in (“Improvements“,
“New Features“) AND assignee = novak)
14. Když už ani závorky nestačí
(opravdu složité dotazy)
15. 15
Skládání dotazů
Metoda, kdy si jednotlivé části komplexního dotazu uložíme jako
jednotlivé filtry a následně vše zkombinujeme ve finálním dotazu
Velmi výrazně zlepšuje přehlednost výsledného dotazu
Příklad:
(project in (“Idea backlog“, “Technology debt“) AND assignee in
membersOf(“Development Team“)) OR (project in (“Improvements“, “New
Features“) AND assignee in membersOf(“Product Management“)) AND
status CHANGED TO (“In Progress“, “Planned“) DURING (“2024-05-01“,
“2024-05-15“) ….
16. 16
Skládání dotazů – jak na to?
filtr_1: (project in (“Idea backlog“, “Technology debt“) AND assignee in
membersOf(“Development Team“)) OR (project in (“Improvements“,
“New Features“) AND assignee in membersOf(“Product Management“))
filtr_2: status CHANGED TO (“In Progress“, “Planned“) DURING
(“2024-05-01“, “2024-05-15“)
finální dotaz: filter = ”filtr_1" AND filter = “filtr_2” … AND reporter =
currentUser()