TimesheetFiller.Cli
1.2.0
dotnet tool install --global TimesheetFiller.Cli --version 1.2.0
dotnet new tool-manifest
dotnet tool install --local TimesheetFiller.Cli --version 1.2.0
#tool dotnet:?package=TimesheetFiller.Cli&version=1.2.0
nuke :add-package TimesheetFiller.Cli --version 1.2.0
Timesheet Filler
Fills in timesheets stored in Harvest, using Google Calendar events to record specific tasks.
This has been built in .NET with the intention of being installed as a .NET CLI tool.
Installing
To install, run the following after building:
dotnet tool install --global TimesheetFiller.Cli
Running
To run, run the following:
timesheet-filler -i config.yaml
Config
A config file is required, which is used to configure Google Calendar and Harvest and how events should be turned in Harvest tasks.
google:
clientId: {{SENSITIVE}}
clientSecret: {{SENSITIVE}}
calendarIds:
- test@group.calendar.google.com
harvest:
accountId: {{SENSITIVE}}
apiToken: {{SENSITIVE}}
# This represents how many hours you should be targeting each day. If all events for the day don't add up to this time, then the remainder will be logged against the default task.
defaultHoursPerDay: 8
defaultClientName: CompanyX # This should match the name of the target Client in Harvest
defaultProjectName: SuperProject # This should match the name of the target Project in Harvest
defaultTaskName: Development # This should match the name of the target Task in Harvest
daysToIgnore:
- Saturday
- Sunday
tasks:
# The tasks that calendar events should be logged against when the summary partially matches the specified searh term (case insensitive)
- calendarSearchTerm: Super Super Project
clientName: CompanyY
projectName: SuperSuperProject
taskName: Meeting
You will need to set up the following accounts for access:
Google Application
You will need to follow these docs and add the secrets to the configuration file. When it comes to scopes in the setup process, you'll need to add the following scopes:
- calendar.calendars.readonly
- calendar.events.readonly
When you run the tool, you will be prompted to sign into your target Google account.
Harvest
You will need to create a Personal Access Token and add it to the configuration file.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
# [1.2.0](https://github.com/BottlecapDave/TimesheetFiller/compare/v1.1.0...v1.2.0) (2022-07-23)
### Features
* Upgraded to .NET 6 ([61cf30e](https://github.com/BottlecapDave/TimesheetFiller/commit/61cf30e1720b539075ddf49249e0b124304727fd))
* Upgraded to .NET 6 ([5516889](https://github.com/BottlecapDave/TimesheetFiller/commit/5516889dc759d1874333a084b9530a2a8cd670fb))