欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python requests修改JIRA状态

程序员文章站 2022-06-24 20:34:33
...

使用python脚本批量修改JIRA状态

由于JIRA官方提供的rest API接口中没有直接修改status的方法,所以需要使用transition来修改状态。

首先查看一下jira上可以被编辑的状态有哪些:

URL/jira/rest/api/2/issue/editmeta

创建一个json格式的文本,用于存储需要修改的jira状态:

payload = {
        "update": {
            "comment": [
                {
                    "add": {
                        "body": "Comment added when resolving issue via REST call"
                    }
                }
            ]
        },
        "transition": {
            "id": "6",
        },
        "fields": {
            "resolution": {
                "name": "Done"
            }
        }
    }

转换json格式,使用python中的requests post方法发送请求:

data = json.dumps(payload)
headers = {'Content-Type': 'application/json'}
r = requests.post(jiraURL, data=data, headers=headers, auth=(username, password))

注意,如果jira服务器开启了防火墙的话,会返回500错误,可以看到服务器实际上是接收到了请求的,不过被防火墙阻止了:

{"errorMessages":["Internal server error"],"errors":{}}

使用requests请求是没有问题的,不会被防火墙阻止:

r = requests.get(test_url, headers=headers, auth=(username, password))

保存一个jira REST API官方链接:

https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/

atlassian上关于JIRA status的解决方案:

https://community.atlassian.com/t5/Jira-questions/JIRA-How-to-change-issue-status-via-rest/qaq-p/528133

 

相关标签: Python