如何获得我在JIRA中登录的工作报告?

时间:2017-04-10 19:57:05

标签: report jira

我的目标是能够弄清楚我已经做了多长时间了。在转到下一个任务之前,我非常擅长记录任务,所以回答“我在任务B上工作多久了?”与“我什么时候在任务A上的上次登录时间”相同。我希望看到的是一份报告:

|Key   |Time Logged|When Logged|
|Task A|1h         |8:30am     |
|Task B|30m        |9:00am     |
|Task A|1h         |10:30am    |

这让我回答两个问题:

首先,我发现我在9:00到10:30之间没有占半小时。

其次,如果我一直在处理任务C并且正在中午,看着我知道在去吃午餐之前给任务C增加一个半小时。我已经尝试过并且无法弄清楚如何做到这一点。我可以吗?

我能做的最好的事情是将机票更新作为日期,但如果我在机票中记笔记,那就错了,或者更糟糕的是,有人在我离开时更新了我一直在处理的机票。 / p>

3 个答案:

答案 0 :(得分:2)

如果您愿意编写某些内容,那么您可以使用JIRA的REST API。它包含retrieve work log信息的资源:

GET /rest/api/2/issue/{issueIdOrKey}/worklog

它会返回如下响应:

{
    "startAt": 0,
    "maxResults": 1,
    "total": 1,
    "worklogs": [
        {
            "self": "http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000",
            "author": {
                "self": "http://www.example.com/jira/rest/api/2/user?username=fred",
                "name": "fred",
                "displayName": "Fred F. User",
                "active": false
            },
            "updateAuthor": {
                "self": "http://www.example.com/jira/rest/api/2/user?username=fred",
                "name": "fred",
                "displayName": "Fred F. User",
                "active": false
            },
            "comment": "I did some work here.",
            "updated": "2017-07-12T08:30:10.234+0000",
            "visibility": {
                "type": "group",
                "value": "jira-developers"
            },
            "started": "2017-07-12T08:30:10.234+0000",
            "timeSpent": "3h 20m",
            "timeSpentSeconds": 12000,
            "id": "100028",
            "issueId": "10002"
        }
    ]
}

你仍然需要想办法找出所涉及的问题。

或者,还有一些附加组件可以让您更轻松地进行时间跟踪。例如Tempo具有“Tracker”功能,因此您只需单击开始/停止按钮即可生成工作日志。

答案 1 :(得分:1)

似乎其他SO人员也遇到过Jira之前没有时间报告功能的问题:Total in progress time in JIRA< - 我想知道为什么Bernie G在此链接上的回答是& #34;无法修复"。所以我开始挖掘Jira了一下。这是我发现的:

  1. 以下是Jira改进故障单,他们将此提示Generate worklog report标记为Won't Fix项:https://jira.atlassian.com/browse/JRASERVER-6137
  2. JQL在backlog部分用作过滤语言。它不是一种报告语言。你需要的是一份报告。
  3. Jira的默认报告部分似乎不包含与时间报告相关的任何内容。
  4. 如果您是Jira Admin,则齿轮图标/设置>下会有一个插件搜索功能。附加组件部分。如果您搜索time reporttimesheet,则Jira会显示第三方插件列表,这可能会帮助您找到此信息。

    它被称为 Atlassian Marketplace for Jira 。如果你想在网上搜索而不是在Jira内部搜索,请使用以下链接:https://marketplace.atlassian.com这可能有助于非Jira管理员找到插件,然后他们可以建议他们的Jira管理员安装。

    有很多Jira时间表插件。来自Jira的搜索结果内部:如果您点击每个搜索结果行,它会展开&然后在右侧显示屏幕截图。点击它们会加载一个模态,其中包含一个屏幕截图轮流。

    其中一个可能适合您的人称为Work Time Calculator。中间屏幕截图(可配置时间表& excel导出标题上方)显示工作日(D列)和&花费的时间(F栏)。

  5. Timesheets可能很有用。这是一个名为Timesheet Reports and Gadgets for JIRA的安装程序,它作为仪表板小部件安装。查看时间表,项目数据透视和工作时间表标题上方的屏幕截图。它包含每个日期&每个Jira票证项目记录了多少时间,加上所有票证记录到当天的总时数。

  6. 好猎!我希望你能找到自己喜欢的东西。适合您的时间报告需求!

    更新:

    我已经弄清楚如何使用MySQL数据库中的SQL来提取它。如果您可以访问PHPMyAdmin或其他MySQL数据库工具,请运行SQL查询:

    SELECT CONCAT(p.pkey, '-', j.issuenum) as "Key", 
    IF(timeworked < 3600, CONCAT(ROUND(timeworked/60), 'm'), 
    CONCAT(ROUND(timeworked/(60*60), 2), 'h')) as "Time Logged",
    DATE_FORMAT(w.created, "%r") as "When Logged" 
    FROM `worklog` w, jiraissue j, project p 
    WHERE w.issueid = j.id and j.project = p.id
    

    以下是示例输出:

    enter image description here

    您可以使用各种date time format masks

答案 2 :(得分:-1)

试试这个JQL

project = <your_project> AND issuetype in (Task, Sub-task) AND assignee = currentUser() AND (worklogDate >= 2017-06-01 AND worklogDate <= 2017-06-30)