Navigating Developer Workflows: A Deep Dive into GitHub, Jira, and Terminal Integration

Navigating Developer Workflows: A Deep Dive into GitHub, Jira, and Terminal Integration

Β·

3 min read


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

  1. You can directly open pr from here

  2. You can directly open jira from here

  3. You can directly add/complete/edit todo from here


Setup

  1. install wtfutil from Github link for project.

  2.      cd ~/.config/wtf
         touch todo.yml
         touch notes.md
    
  3. 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
  1. 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! πŸ˜„

Β