Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dhth/punchout
punchout takes the suck out of logging time on JIRA
https://github.com/dhth/punchout
bubbletea jira tui
Last synced: 3 months ago
JSON representation
punchout takes the suck out of logging time on JIRA
- Host: GitHub
- URL: https://github.com/dhth/punchout
- Owner: dhth
- License: mit
- Created: 2024-03-12T00:58:43.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-06-28T08:18:40.000Z (6 months ago)
- Last Synced: 2024-06-28T09:39:42.999Z (6 months ago)
- Topics: bubbletea, jira, tui
- Language: Go
- Homepage: https://tools.dhruvs.space/punchout
- Size: 349 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- charm-in-the-wild - punchout - Takes the suck out of logging time on JIRA. (_built with Bubble Tea_) (Applications / Productivity and Organization)
README
# punchout
✨ Overview
---`punchout` takes the suck out of logging time on JIRA.
💾 Install
---**homebrew**:
```sh
brew install dhth/tap/punchout
```**go**:
```sh
go install github.com/dhth/punchout@latest
```⚡️ Usage
---`punchout` can receive its configuration via command line flags, or a config
file.### Using a config file
Create a toml file that looks like the following. The default location for this
file is `~/.config/punchout/punchout.toml`.```toml
[jira]
jira_url = "https://jira.company.com"
jira_token = "XXX"
# put whatever JQL you want to query for
jql = "assignee = currentUser() AND updatedDate >= -14d ORDER BY updatedDate DESC"
# I don't know how many people will find use for this.
# I need this, since the JIRA server I use runs 5 hours behind
# the actual time, for whatever reason 🤷
jira_time_delta_mins = 300
```*Note: `punchout` only supports [on-premise] installations of JIRA for now. I
might add support for cloud installations in the future.*### Using command line flags
Use `punchout -h` for help.
```bash
punchout \
db-path='/path/to/punchout/db/file.db' \
jira-url='https://jira.company.com' \
jira-token='XXX' \
jql='assignee = currentUser() AND updatedDate >= -14d ORDER BY updatedDate DESC' \
jira-time-delta-mins='300' \
```Both the config file and the command line flags can be used in conjunction, but
the latter will take precedence over the former.```bash
punchout \
config-file-path='/path/to/punchout/config/file.toml' \
jira-token='XXX' \
jql='assignee = currentUser() AND updatedDate >= -14d ORDER BY updatedDate DESC'
```🖥️ Screenshots
---
📋 Reference Manual
---```
punchout Reference Manualpunchout has 5 panes:
- Issues List View Shows you issues matching your JQL query
- Worklog List View Shows you your worklog entries; you sync these entries
to JIRA from here
- Worklog Entry View You enter/update a worklog entry from here
- Synced Worklog Entry View You view the worklog entries synced to JIRA- Help View (this one)
Keyboard Shortcuts
General
1 Switch to Issues List View
2 Switch to Worklog List View
3 Switch to Synced Worklog List View
Go to next view/form entry
Go to previous view/form entry
? Show help viewGeneral List Controls
h/ Move cursor up
k/ Move cursor down
h Go to previous page
l Go to next page
/ Start filteringIssue List View
s Toggle recording time on the currently selected issue,
will open up a form to record a comment on the second
"s" keypress
Add manual worklog entry
Go to currently tracked item
Discard currently active recordingWorklog List View
Update worklog entry
Delete worklog entry
s Sync all visible entries to JIRA
Refresh listWorklog Entry View
enter Save worklog entry
k Move timestamp backwards by one minute
j Move timestamp forwards by one minute
K Move timestamp backwards by five minutes
J Move timestamp forwards by five minutesSynced Worklog Entry View
Refresh list
```
Acknowledgements
---`punchout` is built using the awesome TUI framework [bubbletea][1].
[1]: https://github.com/charmbracelet/bubbletea
[2]: https://community.atlassian.com/t5/Atlassian-Migration-Program/Product-features-comparison-Atlassian-Cloud-vs-on-premise/ba-p/1918147