Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ fjira Public
forked from mk-5/fjira

The golang fuzzy-find cli jira interface πŸš€

License

skomae/fjira

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Fjira - Fuzzy finder and TUI application for Jira.

drawing

Mentioned in Awesome Go Test License: AGPL v3 GitHub release (latest by date) Go Report Card Go Reference codecov

Introduction

Fjira is a powerful command-line tool designed to simplify your interactions with Jira. Whether you're a developer, project manager, or just a Jira enthusiast, Fjira streamlines your workflow, making Jira tasks more efficient than ever before.

Fjira Demo

Key Improvements from upstream (mk-5/fjira)

Apologies as these features still need to be tidied up and cherry-picked before offering as upstream MRs. Feel free to snag the commits you need (likely with minor adjustment as many changes have been added to this fork.)

πŸš€ New Features & Major Enhancements

MCP (Model Context Protocol) Integration

  • MCP Capability: d8cd439 - use mcp argument for AI assistant MCP serving
    • Relevant Files: cmd/fjira-cli/commands/mcp.go, docs/fjira_mcp.md, TESTING_MCP.md
    • Usage: { "mcpServers": { "jira": { "command": "fjira-mcp", "args": [ "mcp" ] },

Issue Management Enhancements

  • Issue Creation: 6bfb35f, fda5117 - Added Create Issue shortcut key (opens web browser)
  • Issue Editing: 811e06e - Added issue description editing directly within fjira
  • Issue Search: 0dce864 - Added issue number search when using project filter (no need to type the PROJ- ahead of the issue number)
  • Issue Detail View: b9b2d30 - Added F5 for refresh and E for edit shortcuts

Advanced Filtering System

  • Status Exclusion: 2a7d410, fa8c5a9 - Added exclude status filter to Issues List with support for multiple excludes and clear shortcut

πŸ› Bug Fixes

Board View Fixes

  • Navigation: c0cf8cb - Improved issue editing workflow (edit in detail view instead of move swim lanes)
  • Scrolling Issues: d1737c6, 4ce6ae5 - Fixed multiple board view scrolling bugs:
    • Crash when scrolling past last column
    • First column not scrolling back into view
    • Filtering by attendee scrolling problems
  • Board Filtering: 15b51ac, c0cf8cb - Enhanced Board View to automatically filter by current sprint, add shortcut key to filter by assignee
  • Board Arguments: 2f31126 - Added --board= command line argument to launch Board View directly from CLI

⚑ Performance & Code Quality Improvements

Performance Optimization

  • CPU Usage: a2db6b7 - Removed empty default case that was consuming up to 10% CPU cycles
  • Thread Safety: 15b51ac - Added mutex on colors.go for thread safety

UI/UX Improvements

  • Visual Enhancements:
    • 3a52d7b - Added title updates for issue view and project selection
    • 900a101 - Removed background coloring for transparent terminal compatibility

Key Features

  • Fuzzy-find like interface: Search for Jira projects and issues with ease.
  • Assignee Control: Quickly change issue assignees without navigating the Jira interface.
  • Status Updates: Update Jira issue statuses directly from your terminal.
  • Efficient Comments: Easily append comments to Jira issues.
  • Multi-Workspace Support: Manage multiple Jira workspaces effortlessly.
  • Custom Searches: Use Jira Query Language (JQL) for tailored searches.
  • Direct CLI Access: Access Jira issues directly from the command line.
  • MCP Server: Enable AI tools like Claude Desktop to query Jira issues via Model Context Protocol.
  • Cross-Platform Compatibility: Works seamlessly on macOS, Linux, and Windows.

Installation

macOS

brew tap mk-5/mk-5
brew install fjira

Linux

Ubuntu/Snap

snap install fjira

Deb

Visit https://github.com/mk-5/fjira/releases/latest, and grab the latest release version.

sudo dpkg -i fjira_0.4.0_linux_amd64.deb

AUR

yay -S fjira

Binary

tar -xvzf fjira_0.4.0_Linux_x86_64.tar.gz
cp fjira /usr/local/bin/fjira

Windows

choco install fjira

Build from sources

make
./out/bin/fjira

Usage

Usage:
  fjira [flags]
  fjira [command]

Available Commands:
  [issueKey]  Open a Jira issue directly from the CLI
  completion  Generate the autocompletion script for the specified shell
  filters     Search using Jira filters
  help        Help about any command
  jql         Search using custom JQL queries
  mcp         Start MCP server for Jira issue querying
  version     Print the version number of fjira
  workspace   Switch to a different workspace

Flags:
  -h, --help             help for fjira
  -p, --project string   Open a project directly from CLI

Additional help topics:
  fjira            Open a fuzzy finder for projects as a default action

Use "fjira [command] --help" for more information about a command.

Getting Started

Using the Fjira CLI is straightforward. Simply run fjira in your terminal.

fjira

Workspaces

The first time you run Fjira, it will prompt you for your Jira API URL and token.

Fjira First Run

Fjira workspaces store Jira configuration data in a simple YAML file located at ~/.fjira. You can switch between multiple workspaces using the fjira workspace command.

fjira workspace

To create a new workspace, use the following command:

fjira workspace --new abc

You can edit an existing workspace using the --edit flag:

fjira workspace --edit abc

Jira Token Type

Fjira supports both Jira Server and Jira Cloud, which use different token types for authorization. The tool will prompt you to select the appropriate token type during workspace configuration.

? Jira Token Type:

1. api token
2. personal token

Enter a number (Default is 1):

YAML configuration

If you prefer a manual approach, you have the option to add workspace configurations by creating a fjira.yaml file in the ~/.fjira/ directory. For your convenience, an example configuration file is here: fjira.yml

Projects search

The default view when you run fjira is the project search screen.

fjira

Opening a Specific Project

You can open a project directly from the CLI:

fjira --project=PROJ

This will skip the project search screen and take you directly to the issues search screen.

Opening an Issue Directly

To open an issue directly from the CLI:

fjira PROJ-123

Fjira will skip all intermediate screens and take you directly to the issue view.

Fjira Issue View

Boards View

Fjira also offers a board-like view. After opening a project, press F4 to access this view.

Fjira Board View

Custom JQL Queries

You can create and execute custom JQL queries with Fjira:

fjira jql

Fjira Custom JQL

My Jira Filters

You can search using your stored (favourites) Jira Filters:

fjira filters

Fjira Filters

Custom Color Scheme

Tailor the fjira color scheme to match your preferences by creating a custom ~/.fjira/colors.yml file. This file allows you to personalize the colors according to your unique style. Refer to the example file, located here: colors.yml

Roadmap (TODO)

  • Expand Documentation
  • Create&Delete Jira Filters
  • Support Additional Linux Package Managers (Apt, AUR, YUM)
  • Introduce More Jira Features

Motivation

Fjira was designed for personal convenience, born out of a desire for efficiency and a love for terminal tools. Often, we find ourselves in "I just need to transition issue 123 to the next status." While opening Jira, locating the ticket on the board, and navigating the Jira issue modal are all perfectly fine, they do consume a fair amount of time.

Fjira empowers you to execute such tasks directly from the terminal, where you're likely already working! πŸ˜„

If Fjira enhances your Jira experience as it did mine, please consider giving it a star on GitHub. 🌟 It will power-up me for a future work.

Feel free to contribute to this project and help shape its future! Your feedback and contributions are highly appreciated.

About

The golang fuzzy-find cli jira interface πŸš€

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.5%
  • Other 0.5%