我通过python过滤了没有子任务的问题:
#!/usr/bin/python
import sys
import json
sys.stdout = open('output.txt','wt')
datapath = sys.argv[1]
data = json.load(open(datapath))
for issue in data['issues']:
if len(issue['fields']['subtasks']) == 0:
print(issue['key'])
存储没有子任务的output.txt任务中的(并且工作正常):
TECH-729 TECH-124
现在有不同的问题,似乎$ p变量中的值未传递给CURL(能够登录到JIRA但不能创建子任务):
while read -r p; do
echo $p
curl -D- -u user:pass -X POST --data "{\"fields\":{\"project\":{\"key\":\"TECH\"},\"parent\":{\"key\":\"$p\"},\"summary\":\"TestChargen#Nr\",\"description\":\"some description\",\"issuetype\":{\"name\":\"Sub-task\"},\"customfield_10107\":{\"id\":\"10400\"}}}" -H "Content-Type:application/jso#n" https://jira.companyu.com/rest/api/latest/issue/
done <output.txt
回声输出应该是
TECH-731 TECH-729(因此卷曲应该为每个输出值运行两次
但curl只是在没有创建子任务的情况下登录,当硬编码而不是$ p时,curl会针对相同的项目ID执行两次
答案 0 :(得分:-1)
真的不知道为什么,但这段代码有效,谢谢大家
for project in `cat output.txt`; do
echo $project
curl -D- -u user:pass -X POST --data "{\"fields\":{\"project\":{\"key\":\"TECH\"},\"parent\":{\"key\":\"$project\"},\"summary\":\"TestChargenNr\",\"description\":\"some description\",\"issuetype\":{\"name\":\"Sub-task\"},\"customfield_10107\":{\"id\":\"10400\"}}}" -H "Content-Type:application/json" https://jira.company.com/rest/api/latest/issue/
done