OSDN Git Service

BugTrack/2484 AutoTicketLink for JIRA: Support underscore key XX_X
authorumorigu <umorigu@gmail.com>
Fri, 25 Jan 2019 15:45:53 +0000 (00:45 +0900)
committerumorigu <umorigu@gmail.com>
Fri, 25 Jan 2019 15:45:53 +0000 (00:45 +0900)
lib/make_link.php
skin/main.js

index e76625b..0773ff6 100644 (file)
@@ -949,7 +949,7 @@ function get_ticketlink_jira_projects()
                $m = null;
                if (preg_match('/^-\s*(jira)\s+(https?:\/\/[!~*\'();\/?:\@&=+\$,%#\w.-]+)\s*$/', $line, $m)) {
                        $active_jira_base_url = $m[2];
-               } else if (preg_match('/^--\s*([A-Z][A-Z0-9]+)(\s+(.+?))?\s*$/', $line, $m)) {
+               } else if (preg_match('/^--\s*([A-Z][A-Z0-9]{1,10}(?:_[A-Z0-9]{1,10}){0,2})(\s+(.+?))?\s*$/', $line, $m)) {
                        if ($active_jira_base_url) {
                                $project_key = $m[1];
                                $title = $m[2];
index 63cb988..f2e5458 100644 (file)
@@ -124,7 +124,8 @@ window.addEventListener && window.addEventListener('DOMContentLoaded', function(
         var reText = '';
         switch (site.type) {
           case 'jira':
-            reText = '(' + regexEscape(site.key) + '):([A-Z][A-Z0-9]{1,20}-\\d{1,10})';
+            reText = '(' + regexEscape(site.key) +
+              '):([A-Z][A-Z0-9]{1,20}(?:_[A-Z0-9]{1,10}){0,2}-\\d{1,10})';
             break;
           case 'redmine':
             reText = '(' + regexEscape(site.key) + '):(\\d{1,10})';
@@ -140,7 +141,7 @@ window.addEventListener && window.addEventListener('DOMContentLoaded', function(
       }
     }
     function getJiraSite() {
-      var reText = '()([A-Z][A-Z0-9]{1,20}-\\d{1,10})';
+      var reText = '()([A-Z][A-Z0-9]{1,20}(?:_[A-Z0-9]{1,10}){0,2}-\\d{1,10})';
       var site = {
         title: 'Builtin JIRA',
         type: '_jira_',