#time-tracking #mite #mite-api

app acari-cli

mite时间跟踪的命令行客户端

10个版本

0.1.12 2021年5月12日
0.1.11 2021年5月12日
0.1.8 2020年2月15日

#26 in #time-tracking

37 每月下载量

MIT 许可协议

115KB
3.5K SLoC

Build

mite时间跟踪的命令行客户端

要求

Rust >=1.41.0(除非你使用预编译的二进制文件)

安装

简单方法

cargo install acari-cli

备选方案:检出项目并执行

cargo install --path cli --force --locked

或者你可以从发布页面下载预编译的静态链接二进制文件。

Shell 完整性

Fish

cli/shell_completions/acari.fish 复制到 ~/.config/fish/completions

Zsh

cli/shell_completions/zsh/_acari 复制到你的 $fpath 中(通常是类似 /usr/local/share/zsh/site-functions/usr/share/zsh/site-functions 的位置)。

注意:现在这个功能测试得很少,可能需要以不同的方式进行。

Bash

目前有三个选项

  • 迁移到稍微更有色彩的 zsh
  • 迁移到更多色彩的 fish
  • 贡献你自己的完整性。我将非常乐意接受拉取请求。

基本用法

初始化

您需要从mite获取API令牌。这可以在您的账户页面找到。然后您只需执行以下操作:

acari init

它将询问您的mite域名和令牌。

或者您可以直接创建一个 ~/.config/acari/config.toml

domain = '<your-company>.mite.yo.lk'
token = '<your-token>'
cache_ttl_minutes = 1440

之后,您可以检查您的连接:

acari check

它将打印您的账户和用户信息。

查询客户/项目/服务

列出客户

acari customers

列出项目

acari projects

或者如果您对特定客户的计划感兴趣

acari projects "<customer-name>"

列出服务

acari services

所有这些信息都将被缓存。您可以在您的 ~/.config/acari/config.toml 中修改缓存持续时间(默认:1天)。

如果您认为缺少某些内容,您可以尝试使用带有 --no-cache 选项的上述命令运行,或者运行

acari clear-cache

或者简单地删除 ~/.cache/acari 目录。

查询时间条目

acari entries <timespan>

其中 timespan 可以是

  • todaynow:仅仅今天
  • yesterday:仅仅昨天
  • this-weekweek:本周的所有条目
  • last-week:上周的所有条目
  • this-monthmonth:本月的所有条目
  • last-month:上月的所有条目
  • YYYY-MM-DD:特定日期的条目
  • YYYY-MM-DD/YYYY-MM-DD:从某一天到另一天之间的所有条目

跟踪时间

开始时间跟踪

acari start <customer-name> <project-name> <service-name>

可选地,您也可以添加一个起始偏移量

acari start <customer-name> <project-name> <service-name> <minutes>

而分钟可以是实际分钟或以下形式:hh:mm

停止时间跟踪

acari stop

显示当前时间跟踪

acari tracking

(注意:这可能会改变,尚未找到好的命名方法)

修改时间条目

更改今天的条目

acari set <customer-name> <project-name> <service-name> <minutes>

而分钟可以是实际分钟或以下形式:hh:mm

更改指定日期的条目

acari set <customer-name> <project-name> <service-name> <minutes> <date>

其中 date 可以是

  • todaynow:更改今天
  • yesterday:更改昨天
  • YYYY-MM-DD:更改指定日期

注意:如果指定的日期包含同一客户、项目和服务的多个条目,这些条目将被压缩为单个条目。设置命令的目的是仅设置该日任务所花费的时间。

或者,如果您只想添加条目而不考虑该项目/服务的现有条目,您可以使用

acari add <customer-name> <project-name> <service-name> <minutes>

修改输出

所有命令的输出都可以通过 --output-o 选项进行修改。例如:

acari --output=json customers

支持输出格式有

  • pretty:显示美观的表格(这是默认值)
  • json:将所有可用信息作为json格式输出
  • flat:一种非常紧凑的 pretty 形式,可能有助于在shell脚本或 awk 中处理信息

配置文件

如果您需要在多个mite账户中跟踪时间,可以使用 --profile-p 选项为每个额外账户创建一个配置文件。例如:

acari --profile=<name> init
acari --profile=<name> customers

... 这是一个相当特殊的用例,不幸的是,这是我的一个用例,所以 ...

依赖项

~8–24MB
~313K SLoC