Navigating Developer Workflows: A Deep Dive into GitHub, Jira, and Terminal Integration
Introduction
Hello Readers! π I'm excited to share a unique setup that I've been using, which has significantly enhanced my productivity as a developer. π‘
Identifying the Bottleneck
During development sprints, I noticed a recurring issue. Tasks often reach the development complete
stage but get delayed during the review process
. As a developer, my workflow involves frequent switching between GoLand and the terminal. In this process, I sometimes miss Slack notifications for PR reviews, causing them to get lost in the shuffle and leading to delays. π
I attempted to address this by integrating GitHub with Slack and setting reminders for PR reviews. However, these werent referred to as frequently as needed. π
Crafting the Solution π
To keep track of my Jira tasks, to-dos, and GitHub PR review requests on the screens I switch between most frequently, I decided to build a dashboard on the terminal. π»
This terminal dashboard displays all the information I need, right where I need it, helping me stay on top of my tasks and reviews. π
A Sneak Peek π
I've included a screenshot of the dashboard for your reference.
Features
You can directly open pr from here
You can directly open jira from here
You can directly add/complete/edit todo from here
Setup
install wtfutil from Github link for project.
cd ~/.config/wtf touch todo.yml touch notes.md
update config.yml with below config
wtf:
colors:
border:
focusable: darkslateblue
focused: orange
normal: gray
checked: yellow
highlight:
fore: black
back: gray
rows:
even: yellow
odd: white
grid:
columns: [32, 32, 32, 32, 90]
rows: [10, 10, 10, 10, 10, 90]
refreshInterval: 5m
mods:
ipinfo:
colors:
name: "lightblue"
value: "white"
enabled: true
position:
top: 5
left: 2
height: 1
width: 1
refreshInterval: 150
power:
enabled: true
position:
top: 4
left: 2
height: 1
width: 1
refreshInterval: 15
# title: "β‘οΈ"
github:
apiKey: "<github token>"
enabled: true
enableStatus: true
showMyPullRequests: true
showOpenReviewRequests: true
position:
top: 0
left: 0
height: 6
width: 2
refreshInterval: 5m
repositories:
- "<repo to watch>"
uploadURL: ""
username: "<username>"
digitalclock:
color: orange
enabled: true
font: digitalfont
dateFormat: "Monday Jan 02 2006"
hourFormat: 12
position:
top: 3
left: 2
height: 1
width: 1
refreshInterval: 1s
type: "digitalclock"
jira:
apiKey: "<api-key>"
colors:
rows:
even: "lightblue"
odd: "white"
domain: "https://<company>.atlassian.net"
email: "<email_id>"
enabled: true
jql: "issuetype in (Epic,Story,Task) and sprint in openSprints()"
position:
top: 0
left: 4
height: 3
width: 2
project: <project name>
refreshInterval: 15m
username: "<username>"
verifyServerCertificate: true
todo:
checkedIcon: "X"
dates:
enabled: true
format: dd-mm-yyyy
hideYearIfCurrent: true
switchToInDays: 7
colors:
checked: gray
highlight:
fore: "black"
back: "orange"
enabled: true
tags:
enabled: true
pos: end
filename: "todo.yml"
position:
top: 0
left: 2
height: 3
width: 2
refreshInterval: 30s
notes:
enabled: true
filePaths:
- ".config/wtf/notes.md"
format: true
formatStyle: "monokai"
position:
top: 3
left: 3
height: 3
width: 2
refreshInterval: 15s
wrapText: true
type: textfile
- go to a terminal and type below
wtfutil
Wrapping Up π
In conclusion, enhancing productivity as a developer is all about identifying bottlenecks and crafting solutions that work best for your unique workflow. π‘The terminal dashboard Ive shared in this blog post is one such solution that has worked wonders for me. π
By bringing together all the information I need in one place, it has streamlined my workflow and reduced the time spent switching between different platforms.
I hope you find this setup beneficial and it helps you stay on top of your tasks and reviews. Remember, the key is to continually experiment and find what works best for you. π
Im looking forward to hearing your feedback and experiences with this setup. Stay tuned for more productivity hacks and developer tips. Happy coding! π