我想在两个系统之间进行同步。但是,要更新错误的转换状态,我必须发送带有我的参数(新状态)的JSON文件,如下所示:
{
"update": {
"comment": [
{
"add": {
"body": "Comment added when resolving issue"
}
}
]
},
"transition": {
"id": "5"
}
}
要设置新状态,我必须设置它的ID,如何获取所有ID的列表以及每个ID的描述。
答案 0 :(得分:0)
您可以按当前用户获取此问题可能的转换列表,以及url / rest / api / 2 / issue / {issueIdOrKey} / transitions(获取请求)所需的字段及其类型< / p>
答案 1 :(得分:0)
您可以使用以下python脚本来获取所需的信息。
#!/usr/bin/env python
from __future__ import print_function
import ConfigParser
import requests
import json
import base64
import sys
def print_error(*args, **kwargs):
print(*args, file=sys.stderr, **kwargs)
def get_issue(user,password,search_url):
user_auth = base64.b64encode(user+':'+password)
headers = {'Authorization': 'Basic ' + user_auth}
return requests.get(search_url, headers=headers)
def main():
if len(sys.argv) < 2:
usage_message = 'Usage: ' + sys.argv[0] + ' issue_number'
print_error(usage_message)
sys.exit(1)
config = ConfigParser.RawConfigParser()
config.read('config.properties')
jira_user = config.get('Global', 'jira_user')
jira_pass = config.get('Global', 'jira_pass')
jira_base_url = config.get('Global', 'jira_base_url')
issue_url = config.get('Global', 'issue_url')
issue = sys.argv[1]
issue_search_url = jira_base_url + issue_url + issue + '/transitions'
response = get_issue(jira_user,jira_pass,issue_search_url)
if response.status_code == 404:
print_error(issue + ' NOT FOUND!')
sys.exit(1)
data = response.json()
for transition in data['transitions']:
print("%s %s" % (transition['id'], transition['name']))
main()
您需要在与脚本相同的目录中包含配置文件(config.properties),其中包含以下内容:
[Global]
jira_user=username
jira_pass=pass
jira_base_url=http://your_jira_url.com
issue_url=/rest/api/2/issue/
然后你像这样调用脚本:
./get_transitions.py your_ticket_number