JIRA 4.2.1和;JIRA 4.3.3通过电子邮件进行集成

JIRA 4.2.1和;JIRA 4.3.3通过电子邮件进行集成,jira,Jira,我想通过电子邮件集成两个JIRA实例,一个使用JIRA 4.2.1,另一个使用4.3.3 一个实例具有某些自定义字段,另一个实例具有某些自定义字段,两个JIRA实例都必须通过电子邮件交换问题详细信息和问题更新。i、 两者必须同步 比如说 1) 如果在实例1中创建了一个问题,则会触发一封邮件,并使用该邮件,实例2将在那里创建一个问题 2) 此外,如果在Inasce1中有一个问题的更新,那么将触发一封发送到实例2中的邮件,该邮件将更新实例2中的相同问题 希望天气转晴 如果我没有弄错你的意图,我相信使

我想通过电子邮件集成两个JIRA实例,一个使用JIRA 4.2.1,另一个使用4.3.3

一个实例具有某些自定义字段,另一个实例具有某些自定义字段,两个JIRA实例都必须通过电子邮件交换问题详细信息和问题更新。i、 两者必须同步

比如说

1) 如果在实例1中创建了一个问题,则会触发一封邮件,并使用该邮件,实例2将在那里创建一个问题

2) 此外,如果在Inasce1中有一个问题的更新,那么将触发一封发送到实例2中的邮件,该邮件将更新实例2中的相同问题


希望天气转晴

如果我没有弄错你的意图,我相信使用。例如,您可以使用XML-RPC库轻松编写Python脚本,比较两个系统并在需要时更新它们

你所建议的电子邮件方法的问题是,你很容易造成一个无休止的问题产生循环

首先,在两个实例中创建一个自定义字段,并将其称为“Sync”。一旦我们同步问题,这将用于标记问题

接下来

最后,编写一个脚本,通过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"]})

脚本没有经过测试,但应该可以运行。您可能需要复制您拥有的其他字段,以获取更多信息。同样,这只是一种方式的同步,您也必须以另一种方式进行同步。

如果我没有弄错您的意图,我相信有一种更简单的方法可以使用。例如,您可以使用XML-RPC库轻松编写Python脚本,比较两个系统并在需要时更新它们

你所建议的电子邮件方法的问题是,你很容易造成一个无休止的问题产生循环

首先,在两个实例中创建一个自定义字段,并将其称为“Sync”。一旦我们同步问题,这将用于标记问题

接下来

最后,编写一个脚本,通过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"]})

脚本没有经过测试,但应该可以运行。您可能需要复制您拥有的其他字段,以获取更多信息。同样,这只是一种方式的同步,您也必须以另一种方式进行同步。

目的很清楚,但不清楚的是您到底面临什么问题?您建议的是JIRA服务器之间的问题同步。一般来说,这不是一个容易解决的问题。我不认为我会用电子邮件来传递信息。尝试REST或SOAP API。但更好的办法是合并两个JIRA实例。是否可以在JIRA中使用SOAP发送邮件?目的是使两个JIRA同步。我不熟悉JIRA同步,所以我正在寻找解决方案。目的很清楚,但不清楚的是您到底面临什么问题?您建议的是JIRA服务器之间的问题同步。一般来说,这不是一个容易解决的问题。我不认为我会用电子邮件来传递信息。尝试REST或SOAP API。但更好的办法是合并两个JIRA实例。是否可以在JIRA中使用SOAP发送邮件?目的是使两个JIRA同步。我是这个JIRA同步的新手,所以我正在寻找解决方案。我对这个JIRA、XML RPC和Python非常陌生,你能指导我吗?我对这个JIRA、XML RPC和Python非常陌生,你能指导我吗?