2025-01-21 15:55:34 +01:00
|
|
|
# Jirac
|
|
|
|
|
|
|
|
A CLI for creating and managing Jira tickets directly from your terminal.
|
|
|
|
|
|
|
|
## Features
|
|
|
|
|
|
|
|
- Create Jira tickets from markdown files or using your preferred editor
|
|
|
|
- List tickets assigned to specific users
|
|
|
|
- Simple configuration using TOML
|
|
|
|
- Interactive ticket creation with templates
|
|
|
|
- Execute JQL
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
### from crates.io
|
|
|
|
|
|
|
|
```
|
|
|
|
cargo install jirac
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
```
|
|
|
|
Usage: jirac <COMMAND>
|
|
|
|
|
|
|
|
Commands:
|
2025-01-21 20:44:38 +01:00
|
|
|
create Create an issue
|
|
|
|
list Find issues currently assigned to you
|
|
|
|
search Search for issues
|
|
|
|
init Set up the configuration
|
2025-01-21 15:55:34 +01:00
|
|
|
help Print this message or the help of the given subcommand(s)
|
|
|
|
|
|
|
|
Options:
|
|
|
|
-h, --help Print help
|
|
|
|
-V, --version Print version
|
|
|
|
```
|
|
|
|
|
|
|
|
### Creating a ticket
|
|
|
|
|
|
|
|
```
|
2025-01-21 17:05:29 +01:00
|
|
|
Create a ticket
|
|
|
|
|
2025-01-21 16:57:23 +01:00
|
|
|
Usage: jirac create [OPTIONS] [MARKDOWN_FILE]
|
2025-01-21 15:55:34 +01:00
|
|
|
|
|
|
|
Arguments:
|
2025-01-21 17:05:29 +01:00
|
|
|
[MARKDOWN_FILE] A markdown file
|
2025-01-21 15:55:34 +01:00
|
|
|
|
|
|
|
Options:
|
2025-01-21 17:05:29 +01:00
|
|
|
--project <PROJECT> The project key in which to create the ticket
|
|
|
|
--open Open the new ticket in a browser
|
2025-01-21 15:55:34 +01:00
|
|
|
-h, --help Print help
|
|
|
|
```
|
|
|
|
|
|
|
|
*Using your favourite editor*
|
|
|
|
|
|
|
|
```sh
|
2025-01-21 16:57:23 +01:00
|
|
|
jirac create
|
2025-01-21 15:55:34 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
*From a markdown file*
|
|
|
|
|
|
|
|
```sh
|
2025-01-21 16:57:23 +01:00
|
|
|
jirac create ticket.md
|
|
|
|
```
|
|
|
|
|
|
|
|
*Specify a project*
|
|
|
|
|
|
|
|
```sh
|
|
|
|
jirac create --project KEY
|
2025-01-21 15:55:34 +01:00
|
|
|
```
|
|
|
|
|
2025-01-21 20:44:38 +01:00
|
|
|
### Listing tickets
|
2025-01-21 15:55:34 +01:00
|
|
|
|
|
|
|
```
|
2025-01-21 17:05:29 +01:00
|
|
|
Find tickets currently assigned to you
|
|
|
|
|
2025-01-21 16:04:53 +01:00
|
|
|
Usage: jirac list [OPTIONS]
|
2025-01-21 15:55:34 +01:00
|
|
|
|
|
|
|
Options:
|
2025-01-21 17:05:29 +01:00
|
|
|
--json Print json rather than pretty print
|
2025-01-21 15:55:34 +01:00
|
|
|
-h, --help Print help
|
|
|
|
```
|
|
|
|
|
2025-01-21 20:44:38 +01:00
|
|
|
### Search for tickets
|
|
|
|
|
|
|
|
```
|
|
|
|
Search for issues
|
|
|
|
|
|
|
|
Usage: jirac search [OPTIONS] <JQL>
|
|
|
|
|
|
|
|
Arguments:
|
|
|
|
<JQL> A JQL string
|
|
|
|
|
|
|
|
Options:
|
|
|
|
--json Print JSON rather than pretty print
|
|
|
|
-h, --help Print help
|
|
|
|
```
|
|
|
|
|
|
|
|
Use [JQL](https://support.atlassian.com/jira-software-cloud/docs/use-advanced-search-with-jira-query-language-jql/) to search for Issues.
|
|
|
|
|
|
|
|
*Find all in-progress tickets in a project*
|
|
|
|
|
|
|
|
```
|
|
|
|
jirac search 'project = KEY AND status = "In Progress" ORDER BY created DESC'
|
|
|
|
```
|
|
|
|
|
2025-01-21 15:55:34 +01:00
|
|
|
## Configuration
|
|
|
|
|
|
|
|
Get the following information:
|
|
|
|
|
|
|
|
* Jira instance URL
|
|
|
|
* You email
|
|
|
|
* [An API key](https://id.atlassian.com/manage-profile/security/api-tokens)
|
|
|
|
|
2025-01-21 20:44:38 +01:00
|
|
|
Then run the `jirac init` command
|
2025-01-21 15:55:34 +01:00
|
|
|
|
|
|
|
```
|
2025-01-21 17:05:29 +01:00
|
|
|
Setup the configuration
|
|
|
|
|
2025-01-21 15:55:34 +01:00
|
|
|
Usage: jirac init --url <URL> --email <EMAIL> --token <TOKEN>
|
|
|
|
|
|
|
|
Options:
|
2025-01-21 17:05:29 +01:00
|
|
|
--url <URL> Jira instance URL
|
|
|
|
--email <EMAIL> User email
|
|
|
|
--token <TOKEN> User Token
|
2025-01-21 15:55:34 +01:00
|
|
|
-h, --help Print help
|
|
|
|
```
|
|
|
|
|
|
|
|
The config file is stored at:
|
|
|
|
|
|
|
|
| OS | Location |
|
|
|
|
|---------|----------------------------------------------------------------|
|
|
|
|
| Windows | `~/.config/jirac/config.toml` |
|
|
|
|
| MacOS | `~/Library/Application Support/com.runebaas.jirac/config.toml` |
|
|
|
|
| Linux | `%APPDATA%\runebaas\jirac\config\config.toml` |
|