Crates.io | jira_git_helper |
lib.rs | jira_git_helper |
version | 0.1.0 |
source | src |
created_at | 2024-08-04 08:49:46.477884 |
updated_at | 2024-08-04 08:49:46.477884 |
description | A tool to automate JIRA-related Git commit tasks |
homepage | |
repository | https://github.com/YYvanYang/jira_git_helper |
max_upload_size | |
id | 1324828 |
size | 82,198 |
JIRA Git Helper 是一个 Rust 编写的命令行工具,用于简化 Git 提交过程中与 JIRA 相关的任务。它可以从 Git 分支名称中提取 JIRA ID,获取相关的 JIRA issue 标题,并生成格式化的提交信息。
cargo install jira_git_helper
git clone https://github.com/YYvanYang/jira_git_helper.git
cd jira_git_helper
cargo install --path .
确保 ~/.cargo/bin
在您的 PATH 中。
首次运行时,工具会提示输入必要的配置信息:
jira_git_helper -c
或
jira_git_helper --config
配置存储在 ~/.jira_git_helper.toml
文件中:
jira_url = "https://your-jira-instance.atlassian.net"
username = "your_username"
encrypted_password = "encrypted_password_string"
jira_id_prefix = "PROJ"
注意:不要手动编辑 encrypted_password
字段,它由程序自动生成和管理。
也可以使用环境变量进行配置:
export JIRA_GIT_JIRA_URL=https://your-jira-instance.atlassian.net
export JIRA_GIT_USERNAME=your_username
export JIRA_GIT_PASSWORD=your_password
export JIRA_GIT_JIRA_ID_PREFIX=PROJ
要重置所有配置,运行:
jira_git_helper -r
或
jira_git_helper --reset
确保您的 Git 分支名称包含 JIRA ID (例如 feature/PROJ-1234-add-login
)。
在 Git 仓库目录中运行:
jira_git_helper
工具会自动提取 JIRA ID,获取 issue 标题,并提示您输入额外的提交信息。
确认生成的提交信息后,工具会执行 git commit
命令。
要查看所有可用的命令和选项,运行:
jira_git_helper -h
或
jira_git_helper --help
git clone https://github.com/YYvanYang/jira_git_helper.git
cd jira_git_helper
# 安装依赖并构建
cargo build
# 运行开发版本
cargo run
# 运行并传递参数
cargo run -- -c
# 运行测试
cargo test
# 代码检查和格式化
cargo clippy
cargo fmt
# 构建发布版本
cargo build --release
创建 .env
文件用于开发环境:
JIRA_GIT_JIRA_URL=https://your-dev-jira-instance.atlassian.net
JIRA_GIT_USERNAME=your_dev_username
JIRA_GIT_PASSWORD=your_dev_password
JIRA_GIT_JIRA_ID_PREFIX=DEV
使用 VS Code 的 .vscode/launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug executable 'jira_git_helper'",
"cargo": {
"args": ["build", "--bin=jira_git_helper", "--package=jira_git_helper"],
"filter": {
"name": "jira_git_helper",
"kind": "bin"
}
},
"args": [],
"cwd": "${workspaceFolder}"
}
]
}
启用详细日志:
RUST_LOG=debug cargo run
欢迎贡献!请查看 CONTRIBUTING.md 了解更多信息。
本项目采用 MIT 许可证。详情请见 LICENSE 文件。