के रूप में कई ने कहा है, वहाँ कोई सीधा रास्ता नहीं है। हालांकि, यदि आप खोज स्थान को कुशलतापूर्वक सीमित करते हैं, तो यह इतना बुरा नहीं है। निम्नलिखित PHP कोड मेरी सेटअप पर काफी तेजी से चलाता है, लेकिन निश्चित रूप से, अपने लाभ भिन्न हो सकते हैं:
<?php
$server = 'jira.myserver.com';
$fromDate = '2012-01-01';
$toDate = '2012-01-31';
$project = 'X';
$assignee = 'bob';
$username = 'my_name';
$password = 'my_password';
$curl = curl_init();
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
# Give me up to 1000 search results with the Key, where
# assignee = $assignee AND project = $project
# AND created < $toDate AND updated > $fromDate
# AND timespent > 0
curl_setopt($curl, CURLOPT_URL,
"https://$server/rest/api/2/search?startIndex=0&jql=".
"assignee+%3D+$assignee+and+project+%3D+$project+".
"and+created+%3C+$toDate+and+updated+%3E+$fromDate+".
"and+timespent+%3E+0&fields=key&maxResults=1000");
$issues = json_decode(curl_exec($curl), true);
foreach ($issues['issues'] as $issue) {
$key = $issue['key'];
# for each issue in result, give me the full worklog for that issue
curl_setopt($curl, CURLOPT_URL,
"https://$server/rest/api/2/issue/$key/worklog");
$worklog = json_decode(curl_exec($curl), true);
foreach ($worklog['worklogs'] as $entry) {
$shortDate = substr($entry['started'], 0, 10);
# keep a worklog entry on $key item,
# iff within the search time period
if ($shortDate >= $fromDate && $shortDate <= $toDate)
$periodLog[$key][] = $entry;
}
}
# Show Result:
# echo json_encode($periodLog);
# var_dump($periodLog);
?>
यह एक शर्म की बात है Jira एपीआई के माध्यम से इस तरह के बुनियादी सुविधा का समर्थन नहीं करता। –
मुझे अभी एहसास हुआ कि आपकी विधि काम नहीं करेगी और वास्तव में कोई व्यावहारिक समाधान नहीं है (इतिहास में सभी मुद्दों को पार करने के अलावा जो व्यवहार्य नहीं है)। समस्या यह है कि आपका समाधान केवल तभी काम करेगा जब आपका TO_DATE अब हो। आप अतीत की अवधि के लिए इस विधि का उपयोग नहीं कर सकते हैं क्योंकि आपके TO_DATE के बाद अद्यतन किए गए मुद्दों को अलंकृत नहीं माना जाएगा, उनके पास वर्कॉगॉग हो सकते हैं।एक और समस्या यह है कि जिरा अब से अलग तिथियों में काम करने का समय दर्ज करने की अनुमति देता है, दी गई अवधि में अपडेट किए गए फ़िल्टर को फ़िल्टर करने के लिए क्वेरी तब काम नहीं करेगी। –