2015-09-16 2 views
1

Я совершенно не знаком с Jira. На самом деле я даже не знаю, с чего начать. Я пошел на сайт jira atlassian, но не получил ничего достаточно твердого, чтобы помочь мне. Я хотел бы подтвердить, что информация, введенная в текстовое поле, уже существует. Я щелкнул вокруг JIRA и в конечном итоге на экране ниже: enter image description hereJira custom valid validator: проверьте, существует ли текстовое поле ввода

Теперь я хотел бы выяснить следующее:

  1. Какой язык программирования следует использовать для проверки? Является ли это Java
  2. Если имя настраиваемого поля (типа Textbox) является XYZ, и я хочу, чтобы проверить, существует ли значение, введенное в XYZ, как это сделать? Могу ли я просто написать условные утверждения в Java?

Я написал кое-что и ничего не работал.

+0

Эти сценарии написаны в Groovy. (упрощенная java, но также понимает регулярную java. Что вы имеете в виду, проверяя, существует ли уже существующее значение? – Charlie

+0

@Charlie хочет проверить, существует ли уже существующее значение (которое было записано ранее) в базе данных jira – kya

ответ

1

Это скриншот от Script Runner add-on.

Здесь есть документация и примеры для custom validators.

Вы также можете найти example here, который показывает, как запросить базу данных JIRA (или внешней) из groovy-скрипта. Т.е .:

import com.atlassian.jira.component.ComponentAccessor 
import groovy.sql.Sql 
import org.ofbiz.core.entity.ConnectionFactory 
import org.ofbiz.core.entity.DelegatorInterface 

import java.sql.Connection 

def delegator = (DelegatorInterface) ComponentAccessor.getComponent(DelegatorInterface) 
String helperName = delegator.getGroupHelperName("default"); 

def sqlStmt = """ 
    SELECT  project.pname, COUNT(*) AS kount 
    FROM  project 
       INNER JOIN jiraissue ON project.ID = jiraissue.PROJECT 
    GROUP BY project.pname 
    ORDER BY kount DESC 
""" 

Connection conn = ConnectionFactory.getConnection(helperName); 
Sql sql = new Sql(conn) 

try { 
    StringBuffer sb = new StringBuffer() 
    sql.eachRow(sqlStmt) { 
     sb << "${it.pname}\t${it.kount}\n" 
    } 
    log.debug sb.toString() 
} 
finally { 
    sql.close() 
} 

Для чего-либо, что получает немного сложно это проще реализовать свой сценарий в заводной файл и сделать его доступным для сценария Runner через файловую систему. Это также позволяет использовать vcs git для простого нажатия/вытащить ваши изменения. Подробнее о том, как это сделать, является here.

+0

Привет, ребята, Отличное решение! Один вопрос: можно ли использовать аргумент «по умолчанию» или он зависит от конфигурации JIRA? –

+0

@VitorPelizza «default» - это имя-делегат, используемое в файле dbconfig.xml в JIRA Если вы настроили другие источники данных (например, в контексте.xml), тогда могут быть доступны другие имена, кроме «по умолчанию». – GlennV

Смежные вопросы