Timesheet

by vkostyanetsky
5
4
3
2
1
Score: 46/100

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.

Reviews

No reviews yet.

Stats

5
stars
1,193
downloads
1
forks
722
days
287
days
287
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
5
total issues
3
open issues
2
closed issues
54
commits

Latest Version

9 months ago

Changelog

Changed

  • The plugin now handles logs crossing midnight as overnight work. For example, “23:00–02:00” counts as 3 hours.

README file from

Github

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.
Task Genius
4 years ago by Boninall
Comprehensive task management plugin for Obsidian
Pomodoro Timer
2 years ago by eatgrass
A pomodoro timer that helps manage your daily focus
Jira Issue
4 years ago by marc0l92
This plugin allows you to track the progress of Atlassian Jira issues from your Obsidian notes.
Agile Task Notes
4 years ago by BoxThatBeat
This Obsidian plugin integrates your TFS data from either Jira or Azure Devops
Markdown to Jira Converter
3 years ago by muckmuck
An obsidian.md plugin, which provides a markdown to jira markup converter
Multi State CheckBox Switcher
2 years ago by KubaMiszcz
Text Block Timer
10 months ago by frankthwang
Kanban Status Updater
a year ago by Ankit Kapur
Obsidian plugin that automatically updates the note property when card is moved to a column.
Incremental ID
3 years ago by Adrian Karwowski
Jira Linker
3 years 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
Checklist Progress
2 years ago by acidghost
Plugin to automatically fill progress (as fraction or percentage) of check-lists
Daily Routine
a year ago by sechan100
new version of daily-routine obsidian plugin
Jira Issue Manager
a year ago by Alamion
Obisdian plugin to sync tasks between Obsidian and Jira
HTML checkboxes
a year ago by Anareaty
Open with Natural Language Dates
2 years ago by Charlie Chao
Quickly open a daily note using natural language. Requires "Natural Language Dates" plugin to work.
doing
2 years ago by rooyca
What was I doing?
Daily Task Auto Generator
a year ago by maigamo
📝 Obsidian Daily Task Auto Generator | Automated Daily Notes • Multilingual Support • Custom Templates | A powerful plugin designed for Obsidian users to automatically generate structured daily task notes, helping you maintain a consistent and focused workflow with minimal effort.
JIRA links shortener
a year ago by Ruslans Platonovs
Obsidian JIRA links shortener plugin
Jira Issue managing
a year ago by Amplia
Obisdian plugin to update and creating of Jira issues from Obsidian directly
Future Dates
2 years ago by Dmitry Manannikov
T4: Task Tree Time Totaler
10 months ago by Evan Story