lambic 2 years ago

I use GoJira for this (https://github.com/go-jira/jira) and I'm mostly happy with it.

Gojira is the original name of Godzilla and the name of a heavy metal band so I always have to include "github" when I search for it.

  • blindman 2 years ago

    > Gojira is the original name of Godzilla and the name of a heavy metal band so I always have to include "github" when I search for it.

    Which is also where Jira's name originates

    https://en.wikipedia.org/wiki/Jira_(software)#Naming

    • saghm 2 years ago

      > The product name comes from the second syllable of the Japanese word pronounced as Gojira, which is Japanese for Godzilla.

      Interesting, I would have thought "jira" was two syllables, but I know absolutely nothing about Japanese, so I assume this is correct and the pronunciation rules are just not what I'm used to from English.

      • zumu 2 years ago

        > I would have thought "jira" was two syllables

        It is in fact two syllables.

        Fun fact: Gojira is the combination of 'Go' of 'Gorilla' and 'jira' of 'kujira' (whale). It is said, kujira comes from the combination of old Japanese 'ku' (black) and 'shira' (white) aka 'black white' after the coloration of killer whales. So at some level Jira derives from the word "white". I could probably trace back the roots for shira a bit, but I need to get some work done.

      • layer8 2 years ago

        “Dzi” is a nonstandard romanization for “ji”, both spellings refer to the same Japanese syllable “ジ”. Similarly for “lla” vs. “ra” (Japanese “ラ”). Thus both spellings “Godzilla” and “Gojira” refer to the same Japanese word “ゴジラ”. Here’s how it sounds like in Japanese: https://forvo.com/word/gojira/

        • saghm 2 years ago

          Maybe my phrasing was a bit clear (and maybe I'm misunderstanding the Wikipedia quote!), but I read it as saying "gojira" was two syllables, the second of which was "jira". I naively would have expected it to be three sillables, "go", "ji", and "ra", but maybe I was misreading the Wikipedia quote and it was just talking about "dz" and "ji" and not the entirety of "jira".

          • yencabulator 2 years ago

            Gojira is three syllables total, go-ji-ra (or non-standard older go-dzi-lla; never god-zil-la for Japanese -- it does not rhyme with deities).

            Maybe you're suffering from the usual learning curve thing where non-native speakers have trouble differentiating parts of words, because the emphasis and pronunciation simply isn't what you're used to.

            Native speakers don't emphasize every syllable separately, just like you wouldn't emphasize every syllable in na-ti-ve; or how a non-native speaker like me would try to split "separate" into syllables that as se-pa-rate or se-pa-ra-te instead sep-a-rate.

            (As someone who knows a couple handfuls of Japanese words, and comes from a language with somewhat similar phonemes, gojira is pronounced exactly how I expect it to be pronounced.)

            • saghm 2 years ago

              > Gojira is three syllables total, go-ji-ra (or non-standard older go-dzi-lla; never god-zil-la for Japanese -- it does not rhyme with deities).

              Aha, okay, that's what I was thinking; I was confused by the phrasing that Wikipedia used (i.e. "the product name comes from the second syllable") and assumed that meant that "jira" was a single syllable (the second), and thought that I might be missing something about how the pronunciation works. It sounds like I was just misreading the Wikipedia quote though, so thanks for bearing with my confusion and explaining it!

  • ainar-g 2 years ago

    Is there any documentation with actual examples of using it? The “Usage” section only mentions Bash completion, the Wiki is empty, there is no doc/ directory, and the rest of the README seems to be about setting custom commands (which is good to have, but probably not for it to basically be the entire README).

    • lambic 2 years ago

      The jira command has built in help, so 'jira help' will show all available commands and 'jira help <command>' will give help about each command.

      The bit I struggled with a bit was the template system, but once you have your templates set up you don't have to touch them again (unless things change on the Jira side). There's a section in the README about working with templates.

      I set up some aliases to make things easier too, for example to see what needs to be worked on I have an alias 'sprint' for:

      jira ls -q "sprint='$JIRA_SPRINT' and status in ('In Progress', 'Peer Review', 'To Do')" | sort -k 2

  • aleksiy123 2 years ago

    A very good metal band, would recommend.

    Jira not so much.

mnd999 2 years ago

Looks great, but do peoples IT security policy’s actually let you use tools like this? Unofficial clients for things like Jira and Slack are basically banned for me. I can sorta see why, realistically I’m not gonna audit this and see if it’s going to slurp all my Jiras when I’m not looking.

  • vladsanchez 2 years ago

    Every JIRA user has an APIKEY on top of their ID, which I speculate can/should/will be used for Authentication, Authorization and Auditing as a result.

    It's up to IT to monitor, detect and ban any user for inappropriate JIRA use. If you're banned it must have been justified by historical misuse. Sorry for you.

    TUIs like GoJira and JIRACLI makes the cut for me.

    • vangelis 2 years ago

      Or his IT people said "no third party clients" as a blanket rule.

  • 0xbadcafebee 2 years ago

    Most of those IT organizations allow submitting new software for review. They mostly want to confirm the license requirements, and do a vendor security assessment (if possible).

    If you do use this against policy, what are they gonna do? Fire you? For using a jira client? Realistically they'll just say "don't use that", and you can counter by saying "OK, then pay for the other CLI on Marketplace." There is no official client for Jira so you either use this tool, or the paid 3rd party one. I'm sure they'd rather use the free one.

  • brinox 2 years ago

    Do you also audit / control web browsers the clients are using?

    • KronisLV 2 years ago

      > Do you also audit / control web browsers the clients are using?

      Certain places do, actually. That's why lots of enterprise software was stuck having to support IE just a few years back (and probably still in some places that haven't caught up).

      I've seen demands towards certain features working on Edge/Chrome in particular even if it would break something in Firefox, which might be preference of the end users but also corporate policy towards using known software in certain places.

      I'm sure that you're still likely to run into plenty of environments where something like Edge might be the only allowed browser.

      • sverhagen 2 years ago

        >lots of enterprise software was stuck having to support IE just a few years back

        Yep, and talking about Jira, they only ended that support in March 2020.

        And wow, according to Wikipedia, Microsoft still supports Internet Explorer on some non-consumer Windows flavors. Today. I find that actually pretty stunning, must be a huge liability to be running web-apps that breaks on non-IE, because that can't then be the only aspect at which it's still stuck in the stone ages.

        • andylynch 2 years ago

          They will have a leg up there because the on machines this LTSC version of Windows is made for, you shouldn’t be browsing the web much in the first place - intended applications are ‘ medical systems (such as those used for MRI and CAT scans), industrial process controllers, and air traffic control devices’

    • chpmrc 2 years ago

      Let's say there's a higher chance that you'll be able to sign a contract with Google or Microsoft that allows you to sue the $$$ out of them if something happens, than hoping to get anything from ankitpokhrel on GitHub whose bio says "I have no idea what I do".

      (Nothing against ankitpokhrel and this great tool, just making a point in a slightly sarcastic way)

      • BossingAround 2 years ago

        It's open source. If you want to use the functionality but don't trust a random internet user named ankitpokhrel, you can literally gut the project, copy-paste the code you understand, get basic functionality to work, and you can be pretty much certain that there is nothing nefarious going on.

        I have done that multiple times. It's not very time demanding, because the working code is there, and all you're doing is essentially deleting code you either don't understand, or don't need. At the same time, you're reading the code you do use.

        • edgyquant 2 years ago

          Which the IT guy won’t want to do and will tell you to just use the web interface

          • cuteboy19 2 years ago

            And imagine yourself in the IT guys shoes. Some rando expects you to audit something that at most one or two people use and probably contains a hundred vulns which would very likely never be fixed anyways. Why would you bother with such a request

            • BossingAround 2 years ago

              We do that frequently. "I wrote this code" -> audit while I use my code -> "OK/please fix this or that".

              I am the customer of our IT, I don't know why it should be any other way. It's noteworthy though that I don't work in a tightly regulated sector.

        • chpmrc 2 years ago

          The premise is that you don't want to audit the source. It's extremely costly and you end up doing it for every update.

      • fulafel 2 years ago

        I would bet it's easier to do it with a 1 man company, the megacorps are famous for firewalling themselves from liability with very good contract lawyers.

        You may also be able to get 3rd party insurance for this.

        • chpmrc 2 years ago

          The 1 man company doesn't have deep enough pockets to actually repay damages and can easily declare bankruptcy.

    • creativenolo 2 years ago

      From my experiences of Jira at scale, yes.

    • comprev 2 years ago

      Yes - I can install Chrome and Firefox via a remote install system because the client's laptop is locked down so tight I can't do it any other way.

      All software, including open source, technically needs to get approved by a security team.

    • bityard 2 years ago

      Not OP, but the company I work for certainly does. They are required to by various business and government contracts.

      They only enforce it if you run windows, though.

  • GNOMES 2 years ago

    My first thought.

    I would like to play with this as I love terminal apps, but connecting a third party app to my Orgs Jira is a concern.

    Would be cool if this was adopted by Atlassian.

wodenokoto 2 years ago

A great interface to Jira (one can dream) would be a few folders representing backlog, sprint and maybe some other views.

Each task is a yaml file and hooked up to your text editor is a language server that can talk to Jira and do autocomplete against @username, Jira ticket ids, etc.

Sync on save.

I’m sure there’ll be all sorts of problems I haven’t forseen, but one can dream of editing task as quickly as editing your personal markdown notes.

  • chrsig 2 years ago

    i'd actually be really into this.

    even without jira, just something like hugo generate a static site to show others the backlog.

    also this for confluence.

    perhaps I'm just getting old, but I'm wanting more and more of my work to just be text files (markdown/yaml/whatever is appropriate) and tracked in a git repo.

  • dflock 2 years ago

    A FUSE FileSystem for JIRA - I'd love that!

    No idea if this still works, but this project exists: https://github.com/MaZderMind/jirafs

    It uses this, which is maintained, for talking to JIRA, so maybe: https://github.com/andygrunwald/go-jira

    • andygrunwald 2 years ago

      Author of https://github.com/andygrunwald/go-jira here: This lib is maintained, still a bit out of date and has a few flaws. Like using the same client for JIRA Cloud and JIRA OnPremise (different APIs). But most of the flaws have been evolved over time, while Atlassian switched strategies.

      I am preparing a roadmap for v2 where I implement a lot of reliability features, like context support, but also separate APIs for OnPremise and Cloud and easier access for custom fields.

      Watch the github repo if you want to stay up to date.

    • dflock 2 years ago

      Seems like it's too out of date to build as-is. Would need to be updated by someone who knows go.

  • yencabulator 2 years ago

    > Sync on save.

    Concurrent edits will ruin your day.

  • pydry 2 years ago

    I'd love something like this.

0xbadcafebee 2 years ago

JiraCLI's functionality is limited right now because of limitations in the code. If you're a Go programmer and use Jira a lot, please consider donating your time to help clean it up. I had to write a patch to be able to query items in multiple projects (and I don't even know Go! :-)

Jedd 2 years ago

I've been happily using the Jira Assistant browser extension [0] to try to work around the myriad and manifest shortcomings of Jira. It addresses some of them (such as information density on the screen, much more customisable reports).

As others in this thread have alluded to -- corporate security policies can, right or wrong, bring down the banhammer on these types of tools, which can be doubleplusfrustrating given the native features are so user-hostile.

[0] https://github.com/shridhar-tl/jira-assistant

JuanTono 2 years ago

Nice, can this be connected with Bitbucket from Atlassian? I think that would be the real killer feature bc you could automate the clean up and managing of branches based on the state of a story, bug, task in Jira.

qrybam 2 years ago

This brings back some memories. Long ago worked at BIGCORP which utilised JIRA for everything, including time logging in non-revenue generating teams. It was a time consuming activity everyone had to suffer. We spent around 30mins at the end of each day doing this, most of that time spent on selecting the right drop-downs.

It was some PTSD inducing work and I couldn't put up with it any longer so I wrote a CLI utility in python where I'd track my work throughout the day, a simple one-liner of the work I did with some hashtags for routing to the right project/client. At the end of the day I would "process" my entries by typing one command which ran chrome+selenium automation to do the work for me. [edit] From memory, API use wasn't allowed which is why I had to take this route - it was also a great conversation starter for anyone passing by while it ran.

I saved a tonne of time and aggravation, others noticed, so I set them up with the same. A nice byproduct of this: all the entries were also kept in a local sqlite database which allowed you to quickly search and find answers for follow-ups without touching JIRA, all with a few characters in the terminal.

pokstad 2 years ago

Does this work with Jira cloud version or the on-prem one? Unfortunately there is a split set of features and thus different APIs for Atlassian products.

psalminen 2 years ago

Interesting, I've been working on the same thing (with the same name)! Since I developed it at work, I had been waiting on corporate approval to open source it.

Edit: I wanted to say I definitely gained some inspiration by looking at yours.

kbd 2 years ago

I wan't happy with any of the existing tools so I started writing my own using https://github.com/andygrunwald/go-jira

JiraCLI seems to spend most of its code budget translating in between CLI args and JQL; that's the easy part.

Because every org uses Jira differently, it seems hard to write a generic tool that works well with your org.

  • andygrunwald 2 years ago

    Author of https://github.com/andygrunwald/go-jira here:

    This lib is maintained, still a bit out of date and has a few flaws. Like using the same client for JIRA Cloud and JIRA OnPremise (different APIs). But most of the flaws have been evolved over time, while Atlassian switched strategies.

    I am preparing a roadmap for v2 where I implement a lot of reliability features, like context support, but also separate APIs for OnPremise and Cloud and easier access for custom fields.

    Watch the github repo if you want to stay up to date.

philipwhiuk 2 years ago

JIRA one-liners I understand (e.g. `jira close issue ABC-123`).

A TUI always feels like terminal fetishism to me.

  • prmoustache 2 years ago

    If it allows you to work without losing 5 to 10 seconds at every click you do on jira, I don't call that fetichism.

    Part of the reason a lot of work is never logged anywhere is because the tools are way too slow/cumbersome to be pleasant to use by users and this is a problem for every corp.

    It is not solving the same problem but back when we were working more with pets than cattles I worked for a company that had a nice tool installed on every solaris and linux machines, it allowed you by a single command to say exactly what you were about to do or what you had already done and why. Everything ended up in a remote database with a simple but efficient dashboard allowing you to know the history of every server. I think you could also attach the output of the script command. Adoption was great because it was quick and easy to do. I wish I could remember the name, I wouldn't use that at work anymore but for personal log and homelab it would be nice. I guess nowadays I could just do that using logger or create a shell function that send a json to an elasticsearch or solr instance for easy indexation.

  • VectorLock 2 years ago

    Whats wrong with terminal fetishism?

nikolay 2 years ago

This redraws the entire screen when you do `jira issue list` - it's flickering so badly!

  • kmdpl 2 years ago

    This is fixed in the latest release. Surprisingly, no-one complained about this so far!

whoomp12342 2 years ago

I see partial windows support, is that just running through docker?

TruthWillHurt 2 years ago

I'd love to see command piping into JiraCLI,

So I can do `rm -rf / | jiracli`

  • inportb 2 years ago

    I'm not sure if this does what you think it does.

    • dbalatero 2 years ago

      Maybe it's best to run it and find out though?