Skip to content

harnyk/teamjerk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Teamjerk - an unofficial Teamwork client

What is Teamjerk?

Teamjerk is a command line client for Teamwork.com. It is written in Go and uses the Teamwork API.

Installation

From source

    go install github.com/harnyk/teamjerk/cmd/teamjerk

From binary

Download the latest release from here.

Using eget (recommended)

Read the eget manual for more information.

In order to take all advantages of using eget package manager, you should have some bin directory in your PATH and specify it in .eget.toml file. For example:

# File: ~/.eget.toml

[global]
target = "~/bin"

Now you can install Teamjerk using eget:

    eget harnyk/teamjerk

Usage

To get help, run:

    teamjerk

Typical workflow

Log in

    teamjerk login

List projects / tasks

    teamjerk tasks

View time report

Current month:

    teamjerk report

Specify month:

    teamjerk report -m 2 # February

Specify year:

    teamjerk report -y 2018 -m 2 # February 2018

You can additionally specify the --output=<path/to/file.json> argument to store the report in a JSON file of the corresponding format:

[
  {
    "date": "2023-03-01",
    "billable": 8,
    "non_billable": 0
  },
  {
    "date": "2023-03-02",
    "billable": 8,
    "non_billable": 0
  },
  ...
]

Log working time

    teamjerk log

Teamjerk will ask you to specify the task and the time spent.

You can also specify everything in the arguments. For example, the following command will log 8 hours spent on task 26658918, project 548295, on 2020-02-01, starting at 09:00:

    teamjerk log \
        -u 8 \
        -s 09:00 \
        -p 548295 \
        -t 26658918 \
        -d 2020-02-01

To get help, run:

    teamjerk log --help

Automation (lazy employee's guide)

Write the following script (runs under ZSH, for Bash you need to change the syntax):

#!/usr/bin/zsh

# All working days:
declare -a dates
dates=(
    2023-03-02
    2023-03-03
    2023-03-06
    2023-03-07
    2023-03-08
    2023-03-09
    2023-03-10
)

project=548295
task=26658918

for date in "${dates[@]}"; do
    teamjerk log -u 8 -s 09:00 -p $project -t $task -d $date
done

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages