จะค้นหาปัญหาที่ได้รับมอบหมายให้คุณได้อย่างไร?


193

เราใช้จิราอย่างกว้างขวางในโครงการของเรา แต่บ่อยครั้งที่ฉันพบปัญหาอย่างหนักซึ่งฉันรู้ว่าฉันได้ทำงานมาก่อนหน้านี้ โดยปกติหากมีการรายงานบางกรณีดูเหมือนว่าจะคุ้นเคยกับสิ่งที่ฉันเคยทำมาก่อน แต่ฉันจำไม่ได้ว่าอะไรและเมื่อไหร่

โดยปกติแล้วจะมีการรายงานปัญหาจากนั้นอาจารย์การต่อสู้ของเราจะมอบหมายให้นักพัฒนาผู้พัฒนาทำการแก้ไข (หวังว่า) แล้วส่งต่อไปยังผู้ทดสอบ (ใช่แล้วก็ใช้งานได้!) แต่แล้วมันก็ไม่ได้รับมอบหมายให้ฉันอีกแล้วและฉันก็พบปัญหาเก่า ๆ อย่างหนัก

ฉันคิดว่าอาจเป็นไปได้ที่จะเห็นประวัติที่ได้รับมอบหมายของปัญหาอาจมีวิธีในการสร้างตัวกรองการค้นหาขั้นสูง / ที่พบปัญหาทั้งหมดที่บางครั้งได้รับมอบหมายให้ฉัน

มีใครทำเช่นนี้?


นอกจากนี้คำถามนี้มีประโยชน์เช่นกัน
Alex.K

คำตอบ:


282

สิ่งนี้สามารถทำได้โดยใช้ตัวดำเนินการ JIRA Query Language (JQL) 'WAS'ซึ่งได้รับการแนะนำใน JIRA 4.3และขยายใน JIRA 4.4เพื่อครอบคลุมผู้รับมอบหมายและนักข่าวเช่น:

project = "Angry Nerds" and (assignee was 'johnsmith' or reporter was 'johnsmith')

6
ดูเหมือนว่าคำตอบนี้ให้อย่างมีนัยสำคัญหลังจากคำถามถูกถาม แต่ควรเป็นคำตอบที่ได้รับการยอมรับต่อไปกับจิรารุ่นใหม่ (4.3 ออกวางจำหน่ายมีนาคม 2011)
Jared

ที่ไม่wasคำหลักยังกลับผลถ้าผู้ใช้ปัจจุบันผู้รับโอน / นักข่าว? (และบอกว่าปัญหานี้ไม่เคยมีผู้รับโอนมาก่อนหรือพวกเขาเป็นคนแรกที่ได้รับมอบหมายให้ทำเรื่องนั้น)
nmz787

และสิ่งที่เกี่ยวกับการสั่งซื้อครั้งสุดท้ายที่ฉันทำงานกับมัน?
sashok_bg

1
ไวยากรณ์เปลี่ยนไปหรือไม่? ฉันพบมันผ่านassignee in ("johnsmith")
Thorsten Niehues

1
@ nmz787 ฉันทดสอบว่าwasคำหลักรวมถึงปัญหาที่ได้รับมอบหมายในปัจจุบัน
Bernard Vander Beken

33

ข้อความค้นหาทั่วไปสำหรับ 'ผู้ใช้ปัจจุบัน' ใด:

assignee was currentUser()

ตัวกรองนี้สามารถใช้งานร่วมกันได้อย่างสะดวกและทุกคนสามารถใส่ไว้ในแผงควบคุมของพวกเขา ฯลฯ และมันจะส่งคืนผลลัพธ์ที่เฉพาะเจาะจงสำหรับพวกเขา .. ไม่รองรับในทุกรุ่นของ JIRA

นี่คือคุณสมบัติของฉันมากที่สุดจิระร้องขอเคย


24

ลองใช้ปลั๊กอิน JIRA Toolkit - ฟิลด์กำหนดเองของผู้เข้าร่วม

https://studio.plugins.atlassian.com/wiki/display/JTOOL/JIRA+Toolkit+Plugin

ฟิลด์นี้ช่วยให้คุณติดตามปัญหาที่คุณ "เข้าร่วม" ได้อย่างง่ายดาย สิ่งเหล่านี้ถูกกำหนดให้เป็นปัญหาใด ๆ ที่คุณแสดงความคิดเห็นยกหรือเป็นผู้รับมอบหมายปัจจุบัน ดูเพิ่มเติมที่ปลั๊กอิน [JIRA Extended Participants]



18

ปรับปรุง

สิ่งนี้ทำงานโดยไม่มีปลั๊กอิน:

assignee was currentUser() OR reporter was currentUser() ORDER BY updated DESC

คำตอบเดิม

แบบสอบถามนี้ใช้ได้สำหรับฉัน:

Participants = currentUser()

1
ฉันลองแล้ว แต่ได้รับข้อความ "ฟิลด์ 'ผู้เข้าร่วม' ไม่มีอยู่หรือคุณไม่ได้รับอนุญาตให้ดู นั่นคือกับ Jira v6.0.6 # 6105-sha1: 9713ad1
Craig McQueen

@CraigMcQueen ฉันไม่ใช่ Jira guru แต่ฉันคิดว่าคุณต้องติดตั้งปลั๊กอิน JIRA Toolkit plugin
warvariuc

7

ลอง "ผู้รับมอบหมายเป็นชื่อผู้ใช้" มันจะได้รับตั๋วทั้งหมดที่ได้รับมอบหมายให้กับผู้ใช้ก่อน


5

คุณสามารถค้นหาปัญหาโดยบันทึกรายการงานโดยตรงในฐานข้อมูล:

select distinct ji.pkey from jiraissue ji inner join worklog wl on ji.id=wl.issueid where wl.author='some_username';

ฉันเห็นด้วยกับสิ่งนี้ว่าควรนำไปใช้ใน UI แม้ว่า


ในฐานะนักพัฒนาฉันไม่สามารถเข้าถึงฐานข้อมูลโดยตรงได้อย่างโชคร้าย เป็นไปได้ไหมที่จะทำเช่นนี้ผ่านการค้นหาปัญหาขั้นสูงในบางวิธี?
erikric

อย่างที่ฉันพูดในความคิดเห็นของฉันการค้นหาในบันทึกงานยังไม่ได้รับการสนับสนุนโดยจิระ โปรดลงคะแนนให้ที่นี่jira.atlassian.com/browse/JRA-12312
Hugo Palma

นี่เป็นคำตอบที่ดีที่สุดสำหรับจิรา <4.3 หรือเปล่า? เราติดอยู่กับรุ่นเก่าเนื่องจากข้อกำหนดบางประการ
k-den

3

สำหรับผู้ที่จะใช้JIRA 5+ก็มีตัวดำเนินการCHANGEDที่จะเปลี่ยนเขตข้อมูลให้เป็นค่าเฉพาะภายในช่วงเวลาที่กำหนด

assignee CHANGED TO currentUser() AFTER startOfYear() BEFORE now()

เพิ่มเติมได้ที่นี่: https://confluence.atlassian.com/display/JIRA052/Advanced+Searching#AdvancedSearching-CHANGED

อีกวิธีหนึ่งในการบรรลุผลลัพธ์เดียวกัน แต่อาจมีประโยชน์สำหรับกรณีอื่น


3

wasไม่ได้รับการสนับสนุนไปยังเขตผู้รับเมื่อฉันพยายามเมื่อเร็ว ๆ นี้ คุณต้องใช้CHANGED, FROM, TOคำหลักเพื่อกรอง

ฉันกำลังใช้สิ่งนี้:

project = MindBlowingProject AND (assignee in (currentUser()) OR assignee CHANGED from (currentUser()) OR reporter in (currentUser())) ORDER BY updated DESC

2

ดังนั้นจึงมีอยู่ 3 สถานการณ์: 1 - ฉันเปลี่ยนไปในทางใดทางหนึ่ง - ผู้รับเปลี่ยนโดย [ชื่อผู้ใช้], 2 - ฉันเปลี่ยนสถานะ (ปิดไม่ว่าอะไรก็ตาม) - หรือสถานะถูกเปลี่ยนโดย [ชื่อผู้ใช้], 3 - ฉันยังคงมี - OR assignee = [ชื่อผู้ใช้]

ดังนั้นการสืบค้นทั้งหมด (สมมติว่าอนุญาตให้เปลี่ยนแปลงคำสั่งได้:

ผู้รับมอบหมายเปลี่ยนโดย [ชื่อผู้ใช้] หรือสถานะเปลี่ยนโดย [ชื่อผู้ใช้] หรือผู้รับมอบหมาย = [ชื่อผู้ใช้]


0

ฉันคิดว่าแนวทางที่เหมาะสมที่สุดคือการค้นหาประวัติปัญหา สิ่งเดียวที่ไม่มีการบันทึกคือผู้เข้าถึงปัญหา (เพียงแค่ดูโดยไม่ต้องเปลี่ยนอะไร)

แต่คุณไม่สามารถค้นหาประวัติตั๋วโดยไม่ต้องเข้าถึงฐานข้อมูล (เท่าที่ฉันรู้โปรดแก้ไขให้ฉันถ้าฉันผิด)

ดังนั้นเพื่อค้นหาปัญหาทั้งหมดด้วย "someUserName" ใน issuehistory คุณต้องเข้าร่วมภายในตารางchangegroup (และอาจจะตารางchangeitemจากที่นั่น)

ตัวอย่าง :

select ji.id,issuenum,summary,creator,assignee,ji.created,updated,c.id as histid,c.author from jiraissue ji inner join changegroup c on ji.id=c.issueid where c.author like 'someUserName';

c.id as histid ==> นี่คือหมายเลข / id ของรายการในแท็บ (ปัญหา -) "ประวัติ"

ความหมาย : หากมีการเปลี่ยนแปลงโดยผู้ใช้ "someUserName" จะถูกบันทึกไว้ในประวัติและมันจะเป็น listet กับแบบสอบถามนี้

ตัวอย่างต่อไปนี้จะแสดงรายการปัญหาการกลั่นที่พบ "myusername" ในประวัติหลังวันที่ 20180501:

select distinct ji.id,issuenum,summary,creator,assignee,ji.created,updated,c.author from jiraissue ji inner join changegroup c on ji.id=c.issueid where c.author like 'myusername' and ji.created > '2018-05-01T00:00:00.000';

ฉันอธิบายความสัมพันธ์ที่จำเป็นที่นี่: ป้อนคำอธิบายรูปภาพที่นี่



-1

ฉันลองใช้แบบสอบถาม SQL ด้านล่างและให้ข้อมูลปัญหาทั้งหมดและผู้รับมอบหมายทั้งหมดที่เคยกำหนดให้กับปัญหา การเปลี่ยนแปลงใด ๆ ในผู้รับมอบหมายสำหรับปัญหาใด ๆ จะถูกบันทึกโดยแบบสอบถามด้านล่าง:

select distinct
p.pkey +'-'+cast(ji.issuenum as varchar(max)),
ji.SUMMARY,
cast(ci.OLDSTRING as nvarchar(max)) as 'Old value',
cast(ci.NEWSTRING as nvarchar(max)) as 'New value'
from
jiraissue ji
join project p on p.id = ji.PROJECT
join changegroup cg on cg.issueid = ji.id
join changeitem ci on ci.groupid = cg.id and FIELD = 'assignee'

ใครก็ตามที่ค้นหาข้อความค้นหาจะพบว่ามีประโยชน์:)

- Neha 'D' Pal


คุณไม่ต้องการอธิบายชื่อคอลัมน์แต่ละชื่อแต่ละชื่อตารางทำอะไร? คุณทำไม่ได้
Aksen P
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.