11 个版本
0.1.12 | 2021 年 5 月 12 日 |
---|---|
0.1.11 | 2021 年 5 月 12 日 |
0.1.8 | 2020 年 2 月 15 日 |
#22 in #time-tracking
用于 acari-cli
84KB
2.5K SLoC
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
可以是
today
或now
:仅今天yesterday
:仅昨天this-week
或week
:本周的所有条目last-week
:上周的所有条目this-month
或month
:本月的所有条目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
可以是
today
或now
:更改今天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
...这是一个相当特殊的使用案例,不幸的是,这也是我的一个案例...
依赖关系
~5–17MB
~252K SLoC