Skip to content

Code-Militia/jirust

Repository files navigation

Jirust - WIP

A terminal UI for jira written in rust.

An application with developers and engineers in mind. It is solely focused on updating tickets at the moment. jirust

Screen.Recording.2023-08-21.at.9.19.32.AM.mov

Install

make sure you have Rust installed. See https://www.rust-lang.org/tools/install

Run cargo install jirust

Important notices

  • This is currently tested with JIRA cloud.
  • I (Author: Mo Ali) am an infrastructure engineer by trade. This is my first programming project that I'm sharing out. This is also my first rust project and am using it to learn rust. You can watch my development on twitch

Current requirements

You will need a config file in $HOME/.config/jirust/config.toml. Please look at the sample.toml for its contents.

Instead of specifying api_key in config.toml, you can instead set the JIRA_API_KEY environment variable.

Current capabilities

  • List projects
  • Filter/Search projects (Search JIRA API if not found within pagination limit)
  • List tickets
  • List ticket details such as labels, components, description, and parent ticket even if parent is another ticket or epic.
  • Filter/Search ticket (Search JIRA API if not found within pagination limit)
  • View ticket in browser
  • List ticket comments
  • Add comments to ticket
  • Move ticket to another status (ex: To do -> In Progress)

Default keys

  • Filter/Search: "/"
  • Help: "?"

Usage (Youtube)

link

TODO:

  • UI to generate a list of all projects
  • Pagination for projects greater than the max limit returned by JIRA rest API
  • UI to list all issues/tasks on selected project
  • Pagination list issues greater than the max limit returned by JIRA rest API
  • UI to view selected issue details
  • Only view specified ticket status
  • Only view tickets assigned to specific user
  • POC support for JIRA data types such as tables, list, and code blocks using atlassian document format
  • Add functionality to support ticket sorting by sprint

Credit

I've been copying a lot of gobang project. This wouldn't have been possible if it wasn't for that project. Thank you.