kevinpapst / kimai2-console
Kimai - 用于远程管理时间跟踪数据的控制台应用程序
1.0.1
2023-06-29 20:43 UTC
Requires
- php: 8.1.*||8.2.*
- ext-curl: *
- ext-iconv: *
- ext-json: *
- ext-mbstring: *
- kimai/api-php: ^1.0
- symfony/console: 6.*
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.2
- phpstan/phpstan: ^1.0
README
一个PHP应用程序,通过API(http)访问您的Kimai 2安装
要求
- Kimai > v2.0.20
- PHP 8.1或8.2
- cURL扩展
- json扩展
- iconv扩展
- zlib扩展
- mbstring扩展
安装
要安装Kimai控制台工具,请执行以下命令
curl -LO https://github.com/kevinpapst/kimai2-console/releases/latest/download/kimai.phar curl -LO https://github.com/kevinpapst/kimai2-console/releases/latest/download/kimai.phar.sha1 sha1sum --check kimai.phar.sha1 rm kimai.phar.sha1 chmod +x kimai.phar mv kimai.phar /usr/local/bin/kimai
配置文件
首次使用之前,您需要创建一个配置文件,该文件包含Kimai的连接信息。默认情况下,此配置文件将位于~/.kimai2-console.json
kimai configuration
确保文件只能由您的用户读取
chmod 600 ~/.kimai2-console.json
这样,您现在就可以通过命令行使用Kimai了。
默认情况下,配置文件针对演示安装,并将正常工作。但现在,您需要将其指向自己的Kimai,因此请编辑配置文件并更改设置
URL
:Kimai安装的URLUSERNAME
:Kimai安装的URLAPI_KEY
:您的Kimai API密钥(可以在编辑个人资料时设置)OPTIONS
:CURL请求选项数组(见guzzle文档)
常见问题解答
我想使用自签名证书
- 在您的配置中添加"OPTIONS": {"verify": false}
可用命令
使用kimai
获取所有可用命令的列表。
kimai active
- 显示并更新所有正在运行的工时表(通过--description
和--tags
)kimai stop
- 停止当前活动的工时表并更新它们(通过--description
和--tags
)kimai start
- 开始新的工时表(见下文)kimai customer:list
- 显示客户列表kimai project:list
- 显示项目列表kimai activity:list
- 显示活动列表kimai version
- 显示远程安装的完整版本字符串kimai configuration
- 创建初始配置文件或显示它
要获取特定命令的帮助,请使用--help
开关,例如:kimai project:list --help
开始工时表
此命令会尝试根据以下方式从您的输入中检测客户、项目和活动:
- 如果它是一个数字,那么它将尝试通过其ID加载实体
- 如果找到实体,它将被使用
- 如果它是一个字符串,那么这只是一个搜索词
- 如果找到一个实体,它将被使用
- 如果找到多个实体,将显示选择列表
- 如果没有提供或在前一步中没有找到结果,将获取并显示所有实体的列表以供选择
- 此列表可能已被过滤(例如,仅找到的项目中的活动)
此最简单的示例将显示所有客户的列表,然后显示所选客户的项目列表,最后显示所选项目的所有活动列表
bin/kimai start
仅通过搜索词启动新工时表的示例,添加描述和一些标签
bin/kimai start --customer Schowalter --project analyzer --activity iterate --description "working for fun" --tags "test, bla foo, tagging"
[OK] Started timesheet
------------- ------------------------------------
ID 5085
Begin 2020-01-03T23:34:26+0100
Description working for fun
Tags bla foo
test
tagging
Customer Schowalter PLC
Project Grass-roots system-worthy analyzer
Activity iterate viral infomediaries
------------- ------------------------------------
输出格式
:list
ing命令显示所有找到的实体的格式化表格。
如果您想在脚本中使用输出而不是手动查看,请使用 --csv
开关。
环境变量
以下环境变量受到支持
KIMAI_MEMORY_LIMIT
- 配置允许的内存限制(例如128MB
,或者-1
表示无限)(见这里)KIMAI_CONFIG
- 您配置文件的路径(默认为:$HOME/.kimai2-console.json)
常见问题解答
更新控制台工具
重新执行初始安装过程,并用最新的发布版本覆盖 /usr/local/bin/kimai
文件(见最新发布)。
检查PHAR的内容
查看PHAR内容的方法有很多,这里列举一些
phar extract -f kimai.phar
box info kimai.phar -l
PHAR内容使用GZ压缩,并由PHAR解释器使用SHA512签名验证。
从源码构建
您需要安装带有所有必需依赖项的PHP cli。依赖项可能与运行工具所需的依赖项不同。然后根据它们的安装文档安装humbug/box项目。
现在编译PHAR就像调用
box compile
在GitHub上发布
- 在
src/Constants.php
中增加版本号 - 执行
composer install --no-dev
- 执行
box compile
- 执行
sha1sum kimai.phar > kimai.phar.sha1
- 准备新的GitHub发布
- 将文件
kimai.phar
和kimai.phar.sha1
上传到新发布中 - 发布发布