Подтвердить что ты не робот

JIRA: создание отчета о времени для каждого пользователя?

Извините, если SO не лучшее место, но у меня есть отслеживание времени в JIRA и вы хотите иметь возможность генерировать отчет о времени для каждого пользователя за определенный диапазон дат. Единственный параметр отчета по отслеживанию времени, который у меня есть, очень ограничен и не делает того, что я хочу, возможно ли это благодаря стандартной функциональности или бесплатному плагину?

4b9b3361

Ответ 2

Возможно, вы захотите проверить Tempo Plugin для тайм-аута JIRA. Он предлагает расписания, отчеты и гаджеты на уровне пользователей, команд, проектов и клиентов.

Ответ 3

Если вы не хотите платить много денег за простое действие, например, получение резюме времени для каждого пользователя.

Я нашел этот поток полезным:

  • Создайте фильтр, который вы хотите измерить (я измеряю время только подзадачами)
  • Экспортировать его в excel
  • Скопируйте и вставьте его в таблицу документов Google.
  • В документах google у вас есть возможность создать сводную таблицу, поэтому просто создайте ее, чтобы строки были назначенными, а значения - временем

Вы также можете создать вычисляемый столбец, чтобы получить время в часах (просто разделите его на 3600).

Надеюсь, что это поможет

Ответ 4

Используя Better Excel Plugin, вы можете воспользоваться всеми функциями отчетности в Microsoft Excel.

Этот плагин экспортирует любые данные JIRA (включая поля и рабочие поля) в пользовательские шаблоны Excel. Шаблоны могут использовать фильтрацию в диапазоне дат и могут отображать ваш отчет в сводной таблице Excel. Если вам нужны дополнительные размеры (например, дополнительная группировка по проекту, по компонентам, по неделям, месяцам и т.д.), Они очень просто добавить. Вы также можете визуализировать вывод в сводной диаграмме.

Совет. В плагин включен шаблон по умолчанию, называемый worklog-report.xlsx, который может использоваться как есть или как отправная точка для дальнейшей настройки. Это похоже на то, что в первом листе есть сводная диаграмма за один раз, но у меня нет скриншота об этом):

enter image description here

После создания шаблона вы можете объединить это с самыми текущими данными JIRA в любое время одним щелчком мыши или даже сгенерировать его и отправить по электронной почте его вы автоматически.

Отказ от ответственности: я разработчик, работающий над этим платным дополнением.

Ответ 5

Вы можете легко сделать это с помощью Everhour дополнение для JIRA. Он позволяет получать исчерпывающий отчет для каждого пользователя за определенный диапазон дат. И вы абсолютно свободны в создании любого другого макета ваших отчетов и добавляете столько столбцов данных, сколько вам нужно.

Образец отчета Jira - Everhour

Ответ 6

Если вы работаете в Windows, вы можете запустить следующую команду powershell script, чтобы извлечь данные в файл CSV.

## Инструкции ##

  • Open Powershell ISE (он установлен для всех окон 7 и более поздних ПК)

  • Создайте новый PowerShell script (ctrl + n)

  • Вставьте текст из следующего блока кода в новый файл


##################################################################
# Variables
##################################################################

$username = "[email protected]"
$password = Read-host "What your Jira password?" -AsSecureString 
#$password = ""

$jiraDomain = "asdf.atlassian.net"
$projectKey = "ABC"
$startDate = [datetime]::ParseExact('2017-05-08', 'yyyy-MM-dd', $null)
$endDate = Get-Date
#Get-Date = today

$csvFileName =c:\temp\Worklog.csv

##################################################################
# Functions
##################################################################

function get-jiraData {
    param( [string]$restRequest)
    Invoke-RestMethod -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Uri $restRequest
}

function get-issues {
    param( [string]$projectName)

    $uri = "https://${jiraDomain}/rest/api/2/search?jql=project=${projectName}"
    $issuesPage = get-jiraData -RestRequest $uri

    #write first batch of issues
    $issuesPage.issues
    #do next batches
    do  {
        $startAt = $issuesPage.maxResults + 1
        $uri = "https://${jiraDomain}/rest/api/2/search?jql=project=${projectName}&startAt=$startAt"
        $issuesPage = get-jiraData -RestRequest $uri

        #write next batch of issues
        $issuesPage.issues
    } while (($issuesPage.startAt + $issuesPage.maxResults) -lt $issuesPage.total)
}

filter convert-worklog {
        $worklog = New-Object System.Object
        $worklog | Add-Member –type NoteProperty –Name Person –Value $_.author.name
        $worklog | Add-Member –type NoteProperty –Name IssueKey –Value $key
        $startDate = [datetime]::ParseExact($_.started.Substring(0,16), 'yyyy-MM-ddTHH:mm', $null)
        $worklog | Add-Member –type NoteProperty –Name DateLogged –Value $startDate
        $TimeMinutes = $_.timeSpentSeconds / 60
        $worklog | Add-Member –type NoteProperty –Name TimeSpent –Value $TimeMinutes
        $worklog | Add-Member –type NoteProperty –Name Comment –Value $_.comment

        $worklog
}

filter extract-worklogs {
    #$key = "WL-22"
    $key = $_.key

    $uri = "https://${jiraDomain}/rest/api/2/issue/${key}/worklog"

    $worklogsPage = get-jiraData -RestRequest $uri

    #write first batch of worklogs
    $worklogsPage.worklogs | convert-worklog

    #Check for another batch of worklogs
    do  {
        $startAt = $worklogsPage.maxResults + 1
        $uri = "https://${jiraDomain}/rest/api/2/issue/${key}/worklog?startAt=$startAt"
        $worklogsPage = get-jiraData -RestRequest $uri

        #write next batch of worklogs
        $worklogsPage.worklogs | convert-worklog

    } while (($worklogsPage.startAt + $worklogsPage.maxResults) -lt $worklogsPage.total)
}

##################################################################
# Execution
##################################################################


#Setup Authentication variable
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))

#This grabs all the worklogs for a project, then filters them by 
$WorkLogs = get-issues -projectName $projectKey | extract-worklogs | ?{ $_.DateLogged -gt $startDate -and $_.DateLogged -lt $endDate } | sort DateLogged 

$WorkLogs | export-csv $csvFileName -NoTypeInformation

  1. Измените переменные в начале файла

  2. Сохранить как powershell script где-нибудь на вашем ПК

  3. Запустите script, дважды щелкнув по нему