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.