Hacker News new | past | comments | ask | show | jobs | submit

Jira Is Turing-Complete

https://seriot.ch/computation/jira.html
loading story #48266995
Jira is completely awful and thus has the potential to take on any other form of awfulness.
Or is it Awfully-Complete? :)
The worst part is that every company with a tasks product works right towards Jira. Compare what GitHub issues were in 2014 to what they are today: https://github.com/features/issues

and they keep. adding. redundant. features

loading story #48264868
Jira is the ultimate example of the concept of alienation. If Marx knew about Atlassian the Grundrisse would have been insanely lit.
Jira is popular and has good API wrappers for your favorite language. I'm surprised corporate programmers with the hacker spirit haven't automated most of the things they are asked to do in Jira with Python command line scripts or whatever.

If you can make Jira an order of magnitude easier to use for yourself than for the people pushing it, suddenly the script flips and Jira is something you push to protect yourself. I've used Jira to almost a malicious extent at times, and it's a great tool to cover your ass. If you ever get in trouble for something you just point out "this was all made clear in the hundreds of Jira updates I've written, you've been reading those, right?". What are they going to do? Ask you to use Jira less?

We have AI now. Hook it all together with a custom script and have the AI do all the Jira crap for you.

Quite a few have, the issue is that every Jira instance is a fractal shit snowflake of custom properties several layers deep through old failed migrations to new organization strategies.

And many times the API can do stuff that the UI doesn't allow, and everyone's relying on the UI to drive things, so you end up in weirdly broken corners because you didn't notice that you need custom_field_5537 to be paired with custom_field_442 or it doesn't appear on anyone else's dashboard. Also it claims custom_field_10995 is an integer type field, and returns as integers in the XML, but there's a pile of undocumented magic constant strings that you have to use instead when creating (but not updating!) a task or you get useless error messages. The web UI doesn't do this though (it's just integers in html and the request), and only 80% of the strings match the display text in the dropdown.

Automating Jira is the absolute worst programming experience I've ever had. I can completely believe that simpler setups exist and they're probably quite easy, but omfg.

Sadly it's still completely worth the effort. Highly recommended.

A dysfunctional organization will project its failures to everything it touches. I personally have not seen such mess, likely because working in regulated industries means there‘s usually some SOP or work instruction that is regularly updated, so the setup is driven by the compliance process. Nowadays, I opt in for Atlassian because it works fine out of the box, I avoid heavy customization (which would mean tool lock-in), and Claude can move the tickets itself anyway - no scripting required.
A colleague of mine said it even better, its like an old blanket filled with patches, small fixes and workarounds, so much that no one even remembers to how the patching was done ages ago!
Simpler setup is perhaps - have a the pm-informed list of req of what your teams' needs and habits, and implement from scratch. Perhaps would take less than customizing JIRA. With history and all.
Sure, just gather all requirements upfront and hope they never change. Customers know what they want /s

If it was about the ticket system, it'd be solved already. But it isn't.

Yeah I had the exact same experience. What values does `custom_field_836` need when creating an issue? It seems to be required in the API but not in the UI, and feeding a value returned from an existing issue doesn't work!

It's the API equivalent of formatting a document in MS Word.

> Quite a few have, the issue is that every Jira instance is a fractal shit snowflake of custom properties several layers deep through old failed migrations to new organization strategies.

This is key, Jira is fantastic so long as you have an angry commissar enforcing discipline, otherwise its a total free for all wasteland.

I just had a thought: is there some API so obscenely baroque and painful to use that even AIs would flatly refuse to work with them?

It would be an interesting exercise to keep feeding a coding agent ever crazier interface designs until it cracks.

“The base64 of the rot13 encrypted EBCDIC string has to be included in a JSON in the XML SOAP request, but both the JSON and XML escaping is manual and incorrect...”

"...but first split the string into chunks no bigger than 64 bytes and spread the request amongst HTTP headers instead of the POST body. Reassemble by trying every possible ordering until one passes the decoding steps."

AIs can barely handle PKCE OAuth flow. It’s not very hard to confuse them.
>I just had a thought: is there some API so obscenely baroque and painful to use that even AIs would flatly refuse to work with them?

Copilot Studio. It's painful to try to set up any sort of logic within Copilot Studio. Worse if you're not on the most bleed-edging-new machine with overkill levels of ram. So I had a thought... why am I doing this when I have Claude with absolutely no quotas?

Turns out, there's just no way to drive it from Claude. It first started with the pac command line tool, but that's agonizingly broken. Tried to use Chrome next, but even it can't navigate that UI from the browser (neither could I, you'd click and sometimes the response occurs 10 seconds later). Copilot Studio is the quintessential Microsoft technology. Shortly after, Claude began experiencing what I can only call schizophrenic symptoms. It imagined that every time I queried it that there were embedded hacking attempts in my reply and that soon spread to every conversation I had with it even in new chats.

It is kind of ironic that the AI building tool is so hostile to AI. Copilot studio really is a hot mess, at least for me.
I am not using JIRA anymore but I guess in 2026 you could write AI wrapper around clicking on UI elements?
> I'm surprised corporate programmers with the hacker spirit haven't automated most of the things they are asked to do in Jira with Python command line scripts or whatever.

Not a single of the many organisations that I worked for which used JIRA would give the credentials to do anything of this sort.

loading story #48264940
Our main problem is only that they are hijacking the prices incredibly.. Lately we had to cut the number of licences and users, since it was incredibly expensive.
I particularly like the hike between 10 users and 11, some startups begin with 5 people and when they reach more than 10 employees they are hit with the licence costs
moved to Jetbrains YouTrack many many years ago, and this is what we do via its APIs. It's quite versatile. With AI, it unlocked it even more.
Our entire company is basically ran through Jira. Most processes rely on Jira and certain transitions fire of webhooks for automation.

One of the first things we did when we got access to AI was make a Jira MCP. I try not to touch Jira anymore. I get Claude to just create the Jira issues, write comments, create subtasks, link issues together, etc.

I used to dread having to investigate how to implement something and break it down into tasks because the more granular I broke things down, the more Jira issues I had to create to capture each task. Now I can just write everything up in a file and send an LLM to do all the Jira crap.

loading story #48264891
> Hook it all together with a custom script and have the AI do all the Jira crap for you.

As if the bloat on Jira isn't big enough already. Adding more text will make it even slower since it will somehow automatically run everything over all that text all the time. If you need heating at your company, use Jira.

See, it goes perfectly together with using Jira through LLMs. LLMs also need more time the fuller their context window is.
> I'm surprised corporate programmers with the hacker spirit haven't automated most of the things they are asked to do in Jira with Python command line scripts or whatever.

That's because corporate IT makes the tokens expire every 2 seconds so scripting becomes useless.

Seriously we have some tokens that expire every 1 hour.

loading story #48264676
I can see very naive points here:

* "Corporate hackers" is a... not a very common thing. In the corporate world most programmers do what they are told to do and nothing more. Initiative is punishable.

* API wrappers aren't actually good. Not to mention that the API itself is very poor. JIRA has a tradition of arbitrary changing things, especially removing things, or not exposing the useful functionality. It's not a well-designed or well-executed product.

* AI is too immature and too non-deterministic to be useful for most of the things you want from a bug tracker. Also, for most companies, it's going to be too expensive to do it this way.

* QA is usually an afterthought, unless... we are talking about budget cuts and cutting corners, then it's left, right and center. Most companies see QA as a liability. They don't see it as producing value. They just have to pretend to have QA so that they can tell their customer they have it. When it comes to making QA do meaningful things, that require hiring good engineers, allocating development time, allocating compute resources... well, good luck with all that! Most QA I've seen, especially in international huge corporations was all for show, to produce appearance of work while following the same, mostly useless and mostly manual process.

I had a bunch of ideas about how QA can be made more efficient, both in terms of resource use and in terms of problem space it tries to address. Doing things like RCA automation or exploratory dynamic* testing... and after trying to see if any of such ideas would have any luck of becoming an actual successful product, I realized that nobody wants to improve QA. If a product made the "certification" (the ability to claim to have tested the product) cheaper, then it could be viable... but this is neither the direction I wanted to go, nor is it really all that feasible to improve a bug tracker in this direction.

----

* What I mean by exploratory testing is a sort of "fuzzing", however one that's more structured. Fuzzing, typically, is applied to the input, which then tries to explore all possible ways through the program under test. Exploratory testing is a test made up of modules that can be combined to produce longer tests. This addresses the problem of difficult to reach "corner" cases in the program, also the problem of reaching code paths that aren't directly (or at all) dependent on input.

> corporate programmers with the hacker spirit

that thing does not exists

I came back to a workplace, that still used JIRA. Obviously during the interview I was like oh JIRA yeah yeah yeah you still use that? I can use that.

Anyway yes, I can use JIRA. But it was a real shock to see the latest version of JIRA. It has a thousand papercuts, one of the worst is double clicking on text select stuff suddenly kicks fields into editor mode.

What I was remembering was JIRA Server 4.0, you can walk down memory lane here* - zoom in enough and you'll see each issue has a title, type, fix version, affects version, and so on, and then you end up going straight to the comments. Very straightforward.

* https://www.jirastrategy.com/wp-content/uploads/2020/04/depl...

loading story #48264735
loading story #48264762
loading story #48264712
loading story #48264451
loading story #48266879
loading story #48268855
Woof. JIRA is so slow, and managers never seemed to set it up correctly. I have trauma from using it!
loading story #48264949
loading story #48267415
That explains why it's impossible to tell whether any given Jira operation is going to halt or not.
Underrated comment this !
Does that count as "you can play Doom on Jira"? Does Jira supply the pump action shotgun required to kill the resulting demons?
All workflow and orchestration engines are Turing complete, the whole purpose is to automate execution flows.
How many of them can run infinitely? Or be re-triggered by humans to continue where they left off?
Depends on how you code the workflow and transition state triggers.
I don't think so. First, JIRA is not orchestration. Second, all workflow needs to do is associate some status with external information, and make it easy to manipulate those. You need triggers and rules, some thing like infinite counters, two stacks, a bidirectional tape, etc.

Prove me wrong!

Yes, and the rules engine is there when creating custom workflows.

https://developer.atlassian.com/server/jira/platform/creatin...

I also explicitly mentioned workflows on my comment.

You implied all workflows, not just Jira.
And I stand by it, naturally it depends on the specific workflow engine how those features are exposed.

Then we can split hairs about which one don't really support it, so that you want win Internet discussions about all not being all.

Well, you did say all. Is there a minimal set of exposed features that must be exposed for a workflow engine to be included?
I love Jira automations. Whenever I start on a new team using Jira, I go in and set up automations that do things like auto-count the subtask story points to fill the parent task's story points, or automatically move tickets to backlog if they don't have fully refined properties (missing user assignment, missing story points, missing priority, missing description, etc). In one sprint the team has a more organized board. Dunno why they're not the defaults, but easy enough to fix with automations.
loading story #48264579
I think at least 60% companies that use Jira could do better with just Trello. I dont know how it is possible to create such a horrible mess with task manager and some reports. But it probably keeps the managers and POs bussy so :D
loading story #48265074
loading story #48264410
Not surprising if you've worked with their automation flows in-depth before. What's surprising is how awful their automation flow tools are to work with. Feels like programming in assembly to accomplish what you want.
Any good alternatives to Jira, locally hosted without a huge licence cost?
loading story #48264383
loading story #48264534
loading story #48264488
in before every project manager on planet earth makes a "guess we don't need you devs anymore haha" joke during morning standup
What annoys me about Atlassian products (Jira, Confluence) is the long load times and terrible layout shifts:

you never know if the layout is about to shift ever so slightly more causing another in a series of misclicks.

Oh how many times I've accidentally assigned a newly created ticket to some poor fella I'd never even seen before...

Can't wait to run DOOM on it
it's actually easy to be turing complete. it's a feat for a system to be non-turing complete and be "complex".
please reply to this comment with a link once they implement Doom in Jira
loading story #48265298
When would it be better to write software as Jira state transitions, instead of using python (with its large software ecosystem) or Rust or Go (type safety, etc)?
Oh no, that means someone will port Doom to run on Jira.
It can’t be because in order to administer Turing test the system has to be usable straight away. This system requires extensive training and specific knowledge and steps for that.
loading story #48264129
Jira is the one product I feel needs to be AI native.

AI native in the sense that it papers over the pain points.

New JIRA admin? AI will set it up to do what you want (after all, Atlassian has a great training set as they can see which Cloud installs work well)

Need to set up a workflow? Bam, AI to do that.

Need to onboard a user or manage permissions? Again, have a chatbot to do it (as a time-to-time Jira standin Admin, changing permissions always needs doing in 2+ places and devolves into a "Can you see this yet?" round of questions)

loading story #48264418