Timesheet
by vkostyanetsky
Score: 21/100
favorite
share
Description
Category: Productivity Tools

The Timesheet plugin is designed to help users create timesheets for tasks logged in daily notes, particularly for tasks tracked in systems like JIRA. By recognizing task identifiers such as 'FBI-1', it groups and summarizes the time spent on each issue, making it easy to log hours and report them. The plugin supports customizable task number patterns and allows users to define how the timesheet report is rendered using templates. It automatically compiles time logs and offers the option to include external links to JIRA tasks. With its flexible settings, it helps streamline time tracking and reporting for project management within Obsidian.

Stats
4
stars
601
downloads
0
forks
318
days
296
days
296
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
4
total issues
3
open issues
1
closed issues
54
commits
Latest Version
10 months ago
Changelog

1.1.1 - 2024-06-09

Fixed

  • A bug due to which the description of two tasks with identical title, one of which has a time specified, and the other does not, was not shows as a single task log title.
README file from

Obsidian Timesheet 🏢 📑 ⌛

ESLint

It is a plugin for Obsidian designed to generate timesheets for tasks in daily notes.

🙂 How does it work?

I assume you use daily notes to log the time you spend solving tasks, which are tracked in JIRA.

[!note]
You can track your tasks anywhere else; it doesn't really matter. I say JIRA since this software is pretty popular and, what's more important, its functionality, which I should mention, is not too different from similar ones in other trackers.

JIRA allows you to create different projects for issues; each project has its own unique prefix for issues belong to it. For instance, if the prefix is “FBI”, the project has issues like “FBI-1”, “FBI-2”, etc.

So, a part of your daily note may look like this:

- [ ] 10:00-12:00 Look around and find out what is wrong with the production server (FBI-1)
- [ ] 12:00-16:00 Estimate a feature development (FBI-2)
- [ ] 16:00-18:00 Fix a problem on the production server (FBI-1)

There are three tasks listed, two of which are related to the same JIRA issue. The plugin is able to group and round up the time you spent on JIRA issues to show you a convenient report. You can use it while attending the next daily meeting or to get a quick calculation of spent time to log it in JIRA.

Basically, the only thing you need is to insert a timesheet code block anywhere in the daily note and see something like this:

FBI-1 (4h)

- Look around and find out what is wrong with the production server
- Fix a problem on the production server

FBI-2 (4h)

- Estimate a feature development

You can see more examples in the sample vault.

🤔 Questions

How the plugin finds issue numbers?

To be short, it is considering any sequence “X-Y” as a JIRA task number, if X is a set of capital letters and Y is a number. If you need more details or want to change this behavior, read the full answer below.

To be certain, the plugin uses patterns you can redefine. Basically, I'm speaking about regular expressions that the plugin applies to each task title to find a task number in it.

[!note]
I used to think that regular expressions mechanic was a way too complex tool for this plugin, but then I was like “oh, come on, who is going to use this, after all? let's be honest, a nerd like you and you both know how regexps looks like” :)

By default, there is only one pattern which is set in the plugin's settings: [A-Z]+-\d+ ([A-Z]+ here is "one or more capital letters", while \d+ means "any number"). It's enough to catch almost any JIRA issue number.

[!tip]
Though, it's probably a good idea to set specific patterns for your use case to avoid false positives. For the project I mentioned above as an example, it can be FBI-\d+.

There are two ways to define task number patterns. Firstly, you can enlist them right in a timesheet code block (one row, one template). Like this:

```timesheet
FBI-\d+
CLSFD-\d+
```

This will affect only this code block.

You can also do it globally via the plugin's settings: take a look at the “Default task number patterns” setting. The format is the same: one template per row. The setting will impact all empty timesheet code blocks.

How can I change how the report renders?

By default, the report uses callouts to show you the report. You can change this via the plugin's settings; there are few templates intended to do it in the “Templates” section.

Basically, you can specify the template for header of the whole report, for a task, for a log line, and for the footer. Macros you can use in each one specified directly in the plugin's settings.

                    ← header (can be omitted)
FBI-100 (8h)        ← task
- Roam around       ← task log
- Find out          ← task log
                    ← footer (can be omitted)

[!tip]
We track issues in JIRA, so I added its URL as a prefix to my task template for Timesheet. Like this:

>
> https://my.jira.net/browse/{taskNumber} ({taskDuration})

Voilà! Now Timesheet also shows me active links to JIRA instead of plain, boring issue numbers.

Why is the timesheet not updating when I'm changing tasks?

It is something like a known issue (take a look at the note below). Currently, the timesheet code block updates when you open a note. You can also trigger updating by starting to edit a code block and then leaving it.

[!note]
I was looking for a way to implement automatic updating for the report in this case, but found nothing except the obvious “if a note changes, redraw the whole note”. It sounds dumb and inefficient, so I didn't implement it.

If you know how to solve this problem in the right way, tell me please!

Similar Plugins
info
• Similar plugins are suggested based on the common tags between the plugins.
Jira Issue
3 years ago by marc0l92
This plugin allows you to track the progress of Atlassian Jira issues from your Obsidian notes.
Task Progress Bar
3 years ago by Boninall
Comprehensive task management plugin for Obsidian with progress bars, task status cycling, and advanced task tracking features.
Agile Task Notes
3 years ago by BoxThatBeat
This Obsidian plugin integrates your TFS data from either Jira or Azure Devops
Projects
2 years ago by Marcus Olsson
Plain text project planning in Obsidian
Markdown to Jira Converter
2 years ago by muckmuck
An obsidian.md plugin, which provides a markdown to jira markup converter
Incremental ID
2 years ago by Adrian Karwowski
Jira Linker
a year ago by Steven Zilberberg
This is a plugin to the Obsidian software which adds a quick amendment to a user's note to their configured Jira instance for references to jira and internal info pages
Pomodoro Timer
a year ago by eatgrass
A pomodoro timer that helps manage your daily focus
Multi State CheckBox Switcher
a year ago by KubaMiszcz
Future Dates
a year ago by Dmitry Manannikov
Checklist Progress
10 months ago by acidghost
Plugin to automatically fill progress (as fraction or percentage) of check-lists
doing
9 months ago by rooyca
What was I doing?
Open with Natural Language Dates
5 months ago by Charlie Chao
Quickly open a daily note using natural language. Requires "Natural Language Dates" plugin to work.
Jira Issue managing
3 months ago by Amplia
Obisdian plugin to update and creating of Jira issues from Obsidian directly
HTML checkboxes
a month ago by Anareaty
Daily Routine
a month ago by sechan100
new version of daily-routine obsidian plugin