--- urn: "urn:penemure:008c42fb-e57d-434a-a20b-559f2d0cdb17" backend: "pub" ancestors: - 📁 Penemure created: 2025-03-05 18:17:37.444230+00:00 updated: 2025-03-05 18:17:37.444232+00:00 tags: description: "insanity distilled" --- # 📁 External System Integration The whole point of this system is not forcing anyone else to use it, but allowing me to be incredibly organised. I'll tolerate certain types of pain (e.g. backend specific tag fields) to just have everything in one system where I can keep a good view of it. `git-bug` does something like this, representing your github issues in an offline format. every comment every tag every thing about an issue is recorded. I would like to have 'adapters' that you can configure, and, maybe run on cron to sync changes to these external systems. Maybe it hooks into the 'sync' system and identifies changes that will go out when you click the button. ## JIRA I suspect we'll want to represent a number of attributes like users as well in our system, so we'll have to: - create accounts in the jira namespace - create projects/issues in the jira namespace - sync attributes Maybe we choose a subset of attributes to sync, but, we'd need to do some. (e.g. status). That means running `sync` also manages the appropriate template, probably creating a `jira_issue` and `jira_project` type template. Comments are a thing, how do we want to sync those? We need a data model for that, which currently doesn't exist. And we'd need them to be marked as read-only for external ones that are not owned by our user. So we need to know who our jira user access is done via. ## GitHub We'll of course want to do github as well like git-bug does. So that means - configure a specific repository to sync - any noticed users will get registered under acct:github - we'll sync all issues - and make sure we update them, all the same as jira. ## Conclusion I guess what I'm aiming for is the `libpurple` of project management systems.