Skip to content

Instantly share code, notes, and snippets.

@Lukas238
Last active August 13, 2019 15:43
Show Gist options
  • Select an option

  • Save Lukas238/ca3b87a37dfc339d5a9c8a2f150187a0 to your computer and use it in GitHub Desktop.

Select an option

Save Lukas238/ca3b87a37dfc339d5a9c8a2f150187a0 to your computer and use it in GitHub Desktop.
UserScript - JIRA: New MMP tickets sound alert
// ==UserScript==
// @name JIRA: New MMP tickets sound alert
// @namespace http://wunderman.com.ar/
// @version 0.1
// @description Add some enhancements to the JIRA interface.
// @author Lucas Dasso <lucas.dasso@wunderman.com>
// @updateURL https://gist.githubusercontent.com/Lukas238/ca3b87a37dfc339d5a9c8a2f150187a0/raw/jira-new_mmp_tickets_sound_alert.user.js
// @downloadURL https://gist.githubusercontent.com/Lukas238/ca3b87a37dfc339d5a9c8a2f150187a0/raw/jira-new_mmp_tickets_sound_alert.user.js
// @match http*://*/secure/Dashboard.jspa*
// @require http://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js
// ==/UserScript==
(function() {
'use strict';
var mmp_tickets =[];
//var alertSound = new Audio("https://www.myinstants.com/media/sounds/01-power-up-mario.mp3"); //Mario Coin
var alertSound = new Audio("https://www.myinstants.com/media/sounds/what-are-waiting-for-christmas-vifwar7jxcq.mp3"); //Duke Nuke Christmas
$('#gadget-16108').on('DOMNodeInserted', '.issue-table', function(){
console.log('fired');
var mmp_current_tickets = [];
$(this).find('tr[data-issuekey]').each(function(key, item){
mmp_current_tickets.push($(this).attr('data-issuekey'));
})
console.log({mmp_current_tickets});
var mmp_new_tickets = mmp_current_tickets.filter(function(item) {
return !mmp_tickets.includes(item);
})
console.log({mmp_new_tickets});
if(mmp_new_tickets.length){
console.log('New MMP ticket!');
alertSound.play();
}
mmp_tickets = mmp_current_tickets;
});
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment