MCPcopy Index your code
hub / github.com/Code-Militia/jirust

github.com/Code-Militia/jirust @1.2.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.2.1 ↗ · + Follow
340 symbols 700 edges 26 files 6 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

https://github.com/moali87/jirust/assets/7011993/f3286c68-5dc8-4e90-a43c-a428215b6d96

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:

  • [X] UI to generate a list of all projects
  • [X] Pagination for projects greater than the max limit returned by JIRA rest API
  • [X] UI to list all issues/tasks on selected project
  • [X] Pagination list issues greater than the max limit returned by JIRA rest API
  • [X] UI to view selected issue details
  • [X] Only view specified ticket status
  • [X] 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.

Extension points exported contracts — how you extend this code

Component (Interface)
(no doc) [8 implementers]
src/widgets.rs
DrawableComponent (Interface)
(no doc) [2 implementers]
src/widgets.rs
StatefulDrawableComponent (Interface)
(no doc)
src/widgets.rs
MovableComponent (Interface)
(no doc)
src/widgets.rs

Core symbols most depended-on inside this repo

select
called by 54
src/widgets/tickets.rs
selected
called by 29
src/widgets/labels.rs
is_consumed
called by 20
src/widgets.rs
event
called by 18
src/app.rs
draw_block_style
called by 16
src/widgets.rs
draw_highlight_style
called by 15
src/widgets.rs
update
called by 14
src/widgets/labels.rs
to_command_text
called by 8
src/app.rs

Shape

Method 245
Class 58
Enum 19
Function 14
Interface 4

Languages

Rust100%

Modules by API surface

src/jira/tickets.rs37 symbols
src/app.rs33 symbols
src/widgets/tickets.rs20 symbols
src/widgets/create_ticket.rs20 symbols
src/widgets/ticket_transition.rs19 symbols
src/widgets.rs17 symbols
src/jira.rs16 symbols
src/widgets/projects.rs15 symbols
src/widgets/comments.rs15 symbols
src/widgets/search_tickets.rs14 symbols
src/widgets/search_projects.rs13 symbols
src/widgets/ticket_relation.rs11 symbols

For agents

$ claude mcp add jirust \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact