Size: a a a

Atlassian Community Moscow

2020 November 13

АШ

Андрей Шеховцов... in Atlassian Community Moscow
alex suslin
 string query =
               $@"
SELECT
 PR.pkey + '-' + CAST(JI.issuenum as nvarchar(255)) as 'IssueKey',
 P.pname as 'Priority',
 JI.ASSIGNEE as 'Assignee',
 (CASE JIS.pname WHEN 'Reopened' THEN 'Open' ELSE JIS.pname END) as 'CurrentStatus',
 (CASE CAST(CI.OLDSTRING as nvarchar(20)) WHEN 'Reopened' THEN 'Open' ELSE CI.OLDSTRING END) as 'OldStatus',
 (CASE CAST(CI.NEWSTRING as nvarchar(20)) WHEN 'Reopened' THEN 'Open' ELSE CI.NEWSTRING END) as 'NewStatus',      
 CG.CREATED as 'ExecutedOn',
 NULL as 'Rating',
 0.0 as 'WorkloggedSeconds',
   0 as 'ReAssignedTimes'
FROM jiraissue JI
INNER JOIN project PR ON PR.ID = JI.PROJECT
JOIN issuestatus JIS ON JI.issuestatus = JIS.ID
JOIN priority P ON JI.PRIORITY = P.ID
JOIN changegroup CG ON JI.ID = CG.issueid
JOIN changeitem CI ON CG.ID = CI.groupid AND CI.FIELD = 'status'
WHERE
 JI.PROJECT IN (11471,19280) {assigneeClause} AND (JI.CREATED BETWEEN '{start
                   .ToString("yyyy-MM-dd")} 00:00:00' AND '{end.ToString("yyyy-MM-dd")} 23:59:59')
UNION ALL
SELECT
   PR2.pkey+'-'+CAST(JI2.issuenum as nvarchar(255)) as 'IssueKey',
 P.pname as 'Priority',
 JI2.ASSIGNEE as 'Assignee',
 (CASE JIS.pname WHEN 'Reopened' THEN 'Open' ELSE JIS.pname END) as 'CurrentStatus',  
 NULL as 'OldStatus',
 'Open' as 'NewStatus',    
 ISNULL((SELECT TOP 1 CG2.CREATED FROM changegroup CG2 JOIN changeitem CI2 ON CG2.ID = CI2.groupid AND JI2.ID = CG2.issueid AND CI2.FIELD = 'assignee' AND CAST(CI2.NEWVALUE as nvarchar(255)) = JI2.ASSIGNEE ORDER BY CG2.CREATED ASC), JI2.CREATED) as 'ExecutedOn',
 CFO.customvalue as 'Rating',
 ISNULL((SELECT SUM(W.timeworked) FROM worklog W WHERE W.issueid = JI2.ID AND (W.UPDATED BETWEEN '{start
                       .ToString("yyyy-MM-dd")} 00:00:00' AND '{end.ToString("yyyy-MM-dd")}  23:59:59')),0.0) as 'WorkloggedSeconds',
   (SELECT COUNT(*) FROM changegroup CG2 JOIN changeitem CI2 ON CG2.ID = CI2.groupid AND JI2.ID = CG2.issueid AND CI2.FIELD = 'assignee') as 'ReAssignedTimes'
 
FROM jiraissue JI2
INNER JOIN project PR2 ON PR2.ID = JI2.PROJECT
JOIN issuestatus JIS ON JI2.issuestatus = JIS.ID
JOIN priority P ON JI2.PRIORITY = P.ID
LEFT JOIN customfieldvalue CFV ON (CFV.ISSUE = JI2.ID AND CFV.customfield=12010)
LEFT JOIN customfieldoption CFO ON CFO.id = TRY_PARSE(CFV.stringvalue as numeric(18,0)) and CFO.parentoptionid is null
WHERE JI2.PROJECT IN (11471,19280) {assigneeClause
                           .Replace("JI", "JI2")}
AND (JI2.CREATED BETWEEN '{start.ToString("yyyy-MM-dd")} 00:00:00' AND '{end
                               .ToString("yyyy-MM-dd")}  23:59:59')
ORDER BY ExecutedOn ASC
";
Ну в целом всё понятно и доступно
источник

АШ

Андрей Шеховцов... in Atlassian Community Moscow
Жуть какая
источник

as

alex suslin in Atlassian Community Moscow
да, за некотррые моменты стыднова-то... кое где приведения типов разные, кое где они не нужны или не так как надо сделаны
источник

as

alex suslin in Atlassian Community Moscow
но в целом у меня это висит на мониторе уже лет 7 и раотает )
источник

MS

Maksim Smetannikov in Atlassian Community Moscow
Самое главное запускать это сразу в проде, а не в реплике и почаще))
источник

АШ

Андрей Шеховцов... in Atlassian Community Moscow
Господь бог дал админам джиры сил и груви, а они всё в базу лезут...
источник

as

alex suslin in Atlassian Community Moscow
так это ж в БД, что ей будет
источник

as

alex suslin in Atlassian Community Moscow
уж лучше в БД чем в груви
источник

as

alex suslin in Atlassian Community Moscow
тем более мне это надо было в отдельный аплик, а не в JIRA
источник

as

alex suslin in Atlassian Community Moscow
источник

АШ

Андрей Шеховцов... in Atlassian Community Moscow
+ за картинки из фолаута
источник

as

alex suslin in Atlassian Community Moscow
источник

АШ

Андрей Шеховцов... in Atlassian Community Moscow
Ну выглядит няшно
источник

as

alex suslin in Atlassian Community Moscow
писалось еще когда у нас не было сервис деска
источник

as

alex suslin in Atlassian Community Moscow
теперь второй скрин уже не особо используется, только 1ый на большом мониторе
источник

as

alex suslin in Atlassian Community Moscow
потому что привыкли
источник

A😇

Anna 😇 in Atlassian Community Moscow
Андрей Шеховцов
А я на СИЛе пишу красивые таблички во вкладку задачи с суммами времени в каждом статусе и по заказу суммами нескольких статусов
Расскажи
источник

АШ

Андрей Шеховцов... in Atlassian Community Moscow
Anna 😇
Расскажи
Типа такого
источник

АШ

Андрей Шеховцов... in Atlassian Community Moscow
Кодом могу поделиться в личку
источник

АШ

Андрей Шеховцов... in Atlassian Community Moscow
Там просто по истории изменений задачи гоняется подсчет на переходах и меняется таблица
источник