2012-06-07 3 views
2

Я хочу интегрировать 2 экземпляра JIRA по электронной почте, один использует Jira 4.2.1, а другой использует 4.3.3.JIRA 4.2.1 и JIRA 4.3.3 интеграция по электронной почте

У одного экземпляра есть определенные пользовательские поля, у другого есть определенные настраиваемые поля, оба экземпляра JIRA должны поменять детали проблемы, обновления проблемы, по электронной почте. i.e оба должны быть синхронизированы.

Для примера

1) если проблема создается в Instance 1, почта будет выполняться и с помощью этой электронной почты, Instance 2 будет создавать проблему там.

2) Кроме того, если есть обновление для выпуска в Insance1 тогда почте срабатывает к Instance 2, который будет обновляться один и тот же вопросом в Instance 2.

Надеются, что это очищает !!

+0

Намерения понятны, но неясно, в чем именно проблема, с которой вы столкнулись? – hovanessyan

+0

Намерение состоит в том, чтобы сделать 2 JIRA в синхронизации. Я новичок в синхронизации JIRA, поэтому я ищу решение. – user1421936

+0

[Как принять ответы в переполнении стека?] (Http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work/65088#65088) – Kuf

ответ

0

Если у меня есть ваши намерения правильно, я считаю, что есть более простой способ сделать это, используя Jira remote API. Например, вы можете легко написать сценарий Python, используя библиотеку XML-RPC, сравнив обе системы и, при необходимости, обновив их.

Проблема метода электронной почты вы предложили, что вы можете легко создать бесконечный цикл выпуска, создающего ...

Во-первых, создать пользовательское поле в обоих случаях, и называют это что-то вроде «Sync». Это будет использоваться для отметки проблем после их синхронизации.

Далее, enable the RPC plugin.

Наконец, написать скрипт, который будет копировать вопросы с помощью RPC, например:

#!/usr/bin/python 

# Sample Python client accessing JIRA via XML-RPC. Methods requiring 
# more than basic user-level access are commented out. 
# 
# Refer to the XML-RPC Javadoc to see what calls are available: 
# http://docs.atlassian.com/software/jira/docs/api/rpc-jira-plugin/latest/com/atlassian/jira/rpc/xmlrpc/XmlRpcService.html 

import xmlrpclib 

s1 = xmlrpclib.ServerProxy('http://your.first.jira.url/rpc/xmlrpc') 
auth1 = s1.jira1.login('user', 'password') 

s2 = xmlrpclib.ServerProxy('http://your.second.jira.url/rpc/xmlrpc') 
auth2 = s2.jira1.login('user', 'password') 

# go trough all issues that appear in the next filter 
filter = "10200" 
issues = s1.jira1.getIssuesFromFilter(auth1, filter) 

for issue in issues: 
# read issues: 
for customFields in issue['customFieldValues']: 
    if customFields['customfieldId'] == 'customfield_10412': # sync custome field 
     # cf exists , dont sync! 
     continue 
    # no sync field, sync now 
    proj = issue['project'] 
    type = issue['type'] 
    sum = issue['summary'] 
    desc = issue['project'] 
    newissue = s2.jira1.createIssue(auth2, { "project": issue['project'], "type": issue['type'], "summary": issue['summary'], "description": issue['description']}) 
    print "Created %s/browse/%s" % (s.jira1.getServerInfo(auth)['baseUrl'], newissue['key']) 
    # mark issue as synced 
    s.jira1.updateIssue(auth, issue['key'], {"customfield_10412": ["yes"]}) 

Сценарий не был испытан, но должен работать. Вероятно, вам придется скопировать остальные поля, которые у вас есть, check out this link для получения дополнительной информации. Кроме того, это всего лишь один способ синхронизации, вы также должны синхронизировать его.

+0

Я очень новичок в этой JIRA, XML RPC и Python, не могли бы вы мне помочь? – user1421936

+1

Я обновил ответ, проверьте его. – Kuf

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