This is a POC for using JIRA as a CMDB
An Issue is a "Configuration" item like a server, laptop, MySQL Database etc. |
Why?
Well, most of the (seen from a ITIL Service Operation view) data is actually in JIRA, this is Incidents, Changes and Service Requests... Secondly, JIRA can be seen as a mere Form/workflow control system |
JIRA has strict fields
JIRA has versioning on all field changes (history)
JIRA field can by updated by GUI and programmatically (CLI, RCP, SOAP)
Tabbed input:
Fields / Links to Configuration Items from/to other JIRA Issues - Hostname lookup on the Summary field works
an alternative to linking could be a (multi)select field on issues in JIRA - like Kepler DB Lookup - https://marketplace.atlassian.com/plugins/com.keplerrominfo.jira.plugins.databasecf
Or: https://marketplace.atlassian.com/plugins/com.consultingtoolsmiths.jira.plugins.createandlink
Data can be extracted/fed out via:
JIRA XML/RSS Feeds
Atlassian CLI
SQL Quiries
Field-values updated via CLI:
jira.sh --action setFieldValue --issue "CMDB-4" --field "Memory" --values "1024 MB" jira.sh --action setFieldValue --issue "CMDB-4" --field "VM Version" --values "9" |
The CLI only supports updating 2 fields in one call, hence 4 field will required 2 calls - and (possible) 2 notifications fired |
We want to make a reverse check to make sure data is sane:
Watchers on the Configuration Item (Issue)
Daily summary: https://confluence.atlassian.com/display/JIRA/Receiving+a+Daily+Summary+of+Updated+Issues
Links to events / tasks / incidents:
Virtual Center Data:
Service / Support data:
Monitoreringdata:
A server (or other Configuration Item) can have a controlled lifecycle (implemented as a workflow):
Issues kan have server/object-name as Ident
Summary can be non-unique (e.g. 2 Configuration Items with same name can be created)
Does not work: issuetype=server and (Memory changed after startOfWeek("-1") before startOfWeek())"
Updating field(s) with no changes:
spiderman:atlassian-cli npn$ ./change-serverfields.sh There are no field values changed by the parameters specified. Issue CMDB-4 not changed. spiderman:atlassian-cli npn$ |
Hence, the CLI/JIRA takes care of changes and ignores no changes.
Updating field(s) with changes;
spiderman:atlassian-cli npn$ ./change-serverfields.sh Issue CMDB-4 updated. spiderman:atlassian-cli npn$ |
Hence, the issue is updated.
Its an option to put more control into the update-scripts:
This introduces added complexibility and logic outside JIRA. |
Flow for updating every value: