You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Velojiraptor pulls and generates metrics from Jira. It can display filtered history and generate **_Time In Status_** and **_Lead Time_** reports.
3
+
Velojiraptor pulls data from Jira and generates metrics reports. It can display filtered history and provide insights into several engineering KPIs, including **_Time In Status_** and **_Lead Time_**.
4
4
5
-
> There are similar solutions out there. Why implement a custom one?
5
+
---
6
6
7
-
Mainly because of the _**Time In Status**_ report. This report is available via Jira plugins, but these provide a poor interface with other apps. Automating this report wasn't possible with other plugins available on the market.
7
+
**There are similar solutions out there. Why did you implement a custom one?**
8
+
9
+
Mainly because of the _**Time In Status**_ report. While it’s supported via Jira plugins, these provide a poor interface with other apps. Automating this report wasn’t possible with other plugins available on the market.
8
10
9
11
We did it for fun, too. 🤓
10
12
@@ -13,21 +15,24 @@ We did it for fun, too. 🤓
13
15
## Table of Contents
14
16
-[Install](#install)
15
17
-[API Token](#api-token)
16
-
-[Use](#use)
18
+
-[Usage](#use)
17
19
- [Search](#search)
18
20
- [History](#history)
19
21
- [Time in Status](#time-in-status)
20
22
- [Lead Time](#lead-time)
21
23
- [Count](#count)
24
+
- [Header List](#header-list)
22
25
- [Formats](#formats)
23
26
24
27
## Install
25
28
There are two ways to install Velojiraptor:
26
29
27
-
### Precompiled binaries
28
-
Precompiled binaries of released versions are available in the [Release section](https://github.com/project-a/velojiraptor/releases). It’s recommended to use the latest release binary.
30
+
### Download binaries
31
+
You can download precompiled binaries of all versions in the [Release section](https://github.com/project-a/velojiraptor/releases). It’s recommended to use the latest release binary.
32
+
33
+
**Note for macOS users**: Since Velojiraptor isn't a notarized app, Apple will prevent you from running it for the first time. To bypass Gatekeeper, you'll need to hold the `control` key (⌃) while right-clicking on the `vjr` file, select Open from the popup menu, and then click Open in the alert popup window.
29
34
30
-
### Build from the source
35
+
### Build from source
31
36
To build Velojiraptor from the source code, make sure you have [Go 1.17 or higher](https://go.dev/doc/install).
32
37
33
38
```bash
@@ -37,35 +42,41 @@ go install cmd/vjr/vjr.go
37
42
## API Token
38
43
Velojiraptor requires a token to access Jira's API. [Atlassian's official docs](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) explain how to obtain one.
39
44
40
-
Jira deprecated the basic-auth way of securing their endpoint, but it's necessary to provide _also_ the user that generated the API token to use their endpoints.
45
+
Jira deprecated basic authentication with passwords but _still_ requires a username to access the endpoints.
46
+
47
+
Provide your credentials like so:
48
+
49
+
```bash
50
+
export JIRA_USERNAME=foo
51
+
export JIRA_TOKEN=bar
52
+
export JIRA_URL=https://baz.atlassian.net
53
+
```
41
54
42
-
## Use
43
-
Velojiraptor provides various commands. Use the `--h` or `--help` flag to display further information about the available commands.
55
+
## Usage
56
+
Velojiraptor provides various commands. Use the `--h` or `--help` flag to display further information about the available options and arguments.
44
57
45
58
### Search
46
-
Before generating any report, we need to search Jira's API for tickets. We will use the `search` command's output as the input of our reports.
59
+
Before Velojiraptor can generate any report, you'll need to feed it with some data. The first step is to search Jira's API for tickets. We will use the `search` command's output as the input of our reports.
47
60
48
-
We filter the tickets using _Jira Query Language (JQL)_, which is very flexible: We can filter boards, assignees, statuses, creators, and much more.
61
+
We filter the tickets using _Jira Query Language (JQL)_, which is very flexible: It can filter boards, assignees, statuses, creators, and much more.
49
62
50
63
Visit [Jira's official JQL Guide](https://www.atlassian.com/software/jira/guides/expand-jira/jql) to learn more.
51
64
52
-
```bash
53
-
export JIRA_USERNAME=foo
54
-
export JIRA_TOKEN=bar
55
-
export JIRA_URL=https://baz.atlassian.net
65
+
Here's an example that will generate some data in a file named `result.json`:
56
66
57
-
vjr search --jql "project IN (GH) AND 2022-01-02 < updated AND updated < 2022-01-15 AND statusCategory IN (Done)"> result.json
67
+
```bash
68
+
vjr search --jql "project IN (YOUR_PROJECT_NAME) AND 2022-01-02 < updated AND updated < 2022-01-15 AND statusCategory IN (Done)"> result.json
58
69
```
59
70
60
71
### History
61
-
History lists the changes made in the given field based on the search result above. This can be useful to check how often the due date has changed.
72
+
History lists the changes made in the given field based on the search result above. This can be useful for checking how often the due date has changed.
62
73
63
74
```bash
64
75
vjr history --input result.json --field status
65
76
```
66
77
67
78
### Time in Status
68
-
This report shows how long a ticket was in a specific status. The numbers are based on the status history.
79
+
This report shows how long a ticket remained in a specific status. The numbers are based on the status history.
69
80
We can exclude statuses by adding `-e` flags.
70
81
71
82
```bash
@@ -85,16 +96,11 @@ The `count` command is similar to `search`—we use JQL to find tickets via Jira
85
96
For example, to search for open bugs, run the following:
86
97
87
98
```bash
88
-
export JIRA_USERNAME=foo
89
-
export JIRA_TOKEN=bar
90
-
export JIRA_URL=https://baz.atlassian.net
91
-
92
99
vjr search count --jql "type = bug AND statusCategory NOT IN (Done)"
93
100
```
94
101
95
102
### Header List
96
-
97
-
The `header-list` (`hl`) is a command to view the headers present in your exported jira file. This is particularly useful to pick, or exclude, the right columns in your final report. All the headers are going to be listed one by like following:
103
+
The `header-list` (or `hl`) displays the headers found in your output file. This is particularly useful for including/excluding the correct columns in your final report. The result will be a list of all the headers, like the following:
0 commit comments