Today I had to update a zillion licenses of commercial add-ons in different instances. As being a lazy consultant who likes to use a command line instead of the mouse I decided to check if I could use the UPM REST API to extract the information.
Ingredients for this recipe are a computer capable to run unix commands, curl (which is pretty standard on most unix distributions) and jq
#!/bin/bash #### # extractUserAddons.sh <baseurl> <userid> <passwd> # BASEURL=$1 USERID=$2 PASSWD=$3 # # use curl to retrieve all the addons from the UPM on the JIRA # use jq to select only the addons which have properties .userInstalled and .usesLicensing # for each result, access the UPM again to retrieve the license information # and retrieve information using jq # curl -s --user $USERID:$PASSWD $BASEURL/rest/plugins/1.0/ | jq -r '.plugins | map(select(.userInstalled)) | map(select(.usesLicensing)) | . | (.key) ' | while read -r line ; do curl -s --user $USERID:$PASSWD $BASEURL/rest/plugins/1.0/$line-key/license | jq -r '"\(.pluginKey):\(.contactEmail):\(.supportEntitlementNumber):\(.evaluation):\(.maintenanceExpiryDateString)"' done
How to use
- 1. Create the script or download it here.
- 2. Execute the script. Note that you need to use an account with administration access
sh extractUserLicense.sh https://jira.acme.com francis mysecret
Are you still using multiple issue trackers
Check out exalate http://www.exalate.com – Exalate is an advanced issue synchronisation solution which supports cross organisation issue tracking.
It’s flexibility comes from the built in groovy scripting capability allowing to implement almost any type of integration.