jira_git_helper

Crates.iojira_git_helper
lib.rsjira_git_helper
version0.1.0
sourcesrc
created_at2024-08-04 08:49:46.477884
updated_at2024-08-04 08:49:46.477884
descriptionA tool to automate JIRA-related Git commit tasks
homepage
repositoryhttps://github.com/YYvanYang/jira_git_helper
max_upload_size
id1324828
size82,198
(YYvanYang)

documentation

README

JIRA Git Helper

Rust Version License

JIRA Git Helper 是一个 Rust 编写的命令行工具,用于简化 Git 提交过程中与 JIRA 相关的任务。它可以从 Git 分支名称中提取 JIRA ID,获取相关的 JIRA issue 标题,并生成格式化的提交信息。

特性

  • 自动从 Git 分支名称中提取 JIRA ID
  • 与 JIRA API 集成,获取实时 issue 信息
  • 安全存储 JIRA 凭证(密码经过加密)
  • 支持通过配置文件和环境变量进行灵活配置
  • 异步操作,提高性能
  • 交互式提交信息编辑

安装

从 crates.io 安装

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

使用方法

  1. 确保您的 Git 分支名称包含 JIRA ID (例如 feature/PROJ-1234-add-login)。

  2. 在 Git 仓库目录中运行:

    jira_git_helper
    
  3. 工具会自动提取 JIRA ID,获取 issue 标题,并提示您输入额外的提交信息。

  4. 确认生成的提交信息后,工具会执行 git commit 命令。

帮助

要查看所有可用的命令和选项,运行:

jira_git_helper -h

jira_git_helper --help

本地开发

环境准备

  1. 确保已安装 Rust 和 Cargo。
  2. 克隆仓库:
    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 文件。

Commit count: 0

cargo fmt