reportify kevinboss
winget install --id=francWhite.reportify -e
Reportify is a tool for generating reports based on tracked activities in ManicTime
Reportify is a reporting tool designed to generate detailed reports based on tracked activities in ManicTime. It can optionally integrate with Jira to retrieve issue information, enhancing the context of reported activities.
Key Features:
- Integration with ManicTime for activity tracking data
- Optional connection to Jira for enriched issue details
- Configuration via a YAML file for tailored settings
- Command-line interface for generating reports by date or week
- Support for extracting issue keys and position numbers from activity descriptions
- Ability to add comments to tracked activities
- Installation available via winget
Audience & Benefit:
Ideal for professionals who need to track time across projects, Reportify streamlines the process of creating organized reports. By linking tracked activities to Jira issues or custom positions, users can gain better visibility into their work and improve productivity.
Reportify is built with a focus on simplicity and efficiency, helping users maintain clarity in their reporting workflows.
README
reportify
reportify is a tool for generating reports based on tracked activities in ManicTime. It is designed to be used in conjunction with Jira to get the corresponding issue information, but can also be used without it.
Table of Contents
Installation
Install using winget
winget install francWhite.reportify
Install using scoop
scoop bucket add maple 'https://github.com/kevinboss/maple.git'
scoop install reportify
Install manually
Download the latest release from the releases page and extract the archive to a folder of your choice.
Usage
Configuration
Before you can use reportify, you need define some mandatory settings. This is done by editing the .reportify
file in your user directory which is created on the first start of the application. The YAML configuration file contains the following settings:
Setting | Description | Example |
---|---|---|
manicTime.databasePath | Path to the ManicTime database file. | C:\Tools\ManicTime\ManicTimeReports.db |
jira.url | URL of the Jira instance. | https://jira.atlassian.com |
jira.accsessToken | Access token for the Jira instance. | A1B2C3D4E5F6G |
reportify will validate the configuration on startup and informs over missing or invalid settings.
Jira Access Token
The access token can be generated in Jira under Profile > Personal Access Tokens > Create token
. Only the BROWSE_PROJECTS permission is required.
Commands
reportify supports generating reports for a specific date or an entire week. If no parameters are specified, the report is generated for the current day.
USAGE:
reportify.dll [OPTIONS]
OPTIONS:
DEFAULT
-h, --help Prints help information
-v, --version Prints version information
-d, --date Create report for a specified date, defaults to the current day
-w, --week Create report for the current week
-o, --week-offset 0 Offset in weeks to determine the week used for the creation of the report
-c, --copy Copy report in CSV format to clipboard
Example
# reportify -d 12.06.2023
── Report for 12.06.2023. Total: 9.00h (08:57) ────────────────────────────────────────────────────
┌──────────┬──────────────┬────────────────────────────────────────────────────────────────┐
│ Position │ Duration (h) │ Activities │
├──────────┼──────────────┼────────────────────────────────────────────────────────────────┤
│ 123 456 │ 5,50 (05:23) │ - #REP-297 Validate configuration 05:07 │
│ │ │ - #REP-263 Create new configuratio on start 00:16 │
│ │ │ │
│ 234 567 │ 1,50 (01:31) │ - Administration $234567 01:00 │
│ │ │ - Break $234567 00:31 │
│ │ │ │
│ 345 678 │ 1,25 (01:16) │ #REP-291 Beautify report output 01:16 │
│ │ │ │
│ 456 789 │ 0,75 (00:46) │ #REP-228 Log Exceptions 00:46 │
└──────────┴──────────────┴────────────────────────────────────────────────────────────────┘
ManicTime
Reportify uses your local ManicTime database to get the tracked activities. If a Jira issue key is found in the activity description, the corresponding issue information is retrieved from Jira. The issue key (e.g. #REP-228
) is extracted using the following regular expression:
#([a-zA-Z]+-\\d+)
If no Jira issue exists, but you still want to track the time for a specific position, you can include the position number in the activity description (e.g. $123456
). The position number is extracted using the following regular expression:
\$(\d{6})
If you want to add a comment to the tracked activity you can do so by adding it after writing %, for example #REP-228 %This is my comment
. The comment is extracted using the follwing regular expression:
%(?.*)
Everything after the % will be treated as a comment so %This is my comment #REP-228
will treat This is my comment #REP-228
as the comment. Extracting the Jira issue will still work.
License
Distributed under the GPL-3.0 License. View LICENSE
for more information.