Earlier quoted context omitted.
The problem I see is that Jira encourages "management by looking at Jira" - effectively Jira becomes a second source of truth that is unconnected and unconstrained by the actual truth (the code). Jira acquires state that has to be carefully maintained as a separate operation by the developers to keep Jira's state in sync with the actual state of the project. Since most of the organisation are looking at Jira, the eff…
You can write glue for whatever hosts your repository to make api calls to Jira. Say you have some code that needs some changes but at a later time, you can put a comment above it (or really anywhere) // JIRA: MYPROJ-123 When the glue sees that comment disappear from the codebase, it can mark the ticket as done.
The thing I'd like to see is that ticket "Write the login page" is automatically marked complete when the codebase contains a working login page, there are unit and integration tests for the login page, and maybe (depending on how you do your documentation) a set of comments on the API methods involved describing their use in the login process. All without those code elements ever needing to know the ticket exists.