Jenkins 使用RESTAPI在JIRA中打开新票证

Jenkins 使用RESTAPI在JIRA中打开新票证,jenkins,jenkins-plugins,jira,jira-rest-api,python-jira,Jenkins,Jenkins Plugins,Jira,Jira Rest Api,Python Jira,我想了解如何使用Jenkins的RESTAPI在JIRA中创建一个新的票证。是否有任何限制或特殊的事情我应该知道? 我将编写一个Python脚本,它将解析构建日志,然后在JIRA项目中创建一个新的票证 我检查了插件,但大多数插件只能更新现有的票证。 谢谢有关于JSON模式的文档和一些示例JSON,需要放在您对/rest/api/2/issuePOST请求的正文中 下面是一个基本的python3脚本,用于发出post请求 import requests, json from requests.a

我想了解如何使用Jenkins的RESTAPI在JIRA中创建一个新的票证。是否有任何限制或特殊的事情我应该知道? 我将编写一个Python脚本,它将解析构建日志,然后在JIRA项目中创建一个新的票证

我检查了插件,但大多数插件只能更新现有的票证。 谢谢

有关于JSON模式的文档和一些示例JSON,需要放在您对
/rest/api/2/issue
POST请求的正文中

下面是一个基本的python3脚本,用于发出post请求

import requests, json
from requests.auth import HTTPBasicAuth

base_url  = "myjira.example.com"    # The base_url of the Jira insance.
auth_user = "simon"                 # Jira Username
auth_pass = "N0tMyRe3lP4ssw0rd"     # Jira Password
url       = "https://{}/rest/api/2/issue".format(base_url)

# Set issue fields in python dictionary. See docs and comment below regarding available fields
fields = {
    "summary": "something is wrong"
}

payload = {"fields": fields}
headers = {"Content-Type": "application/json"}
response = requests.post(
    url,
    auth=(auth_user, auth_pass),
    headers=headers,
    data=json.dumps(payload))
print("POST {}".format(url))
print("Response {}: {}".format(response.status_code, response.reason))

_json = json.loads(response.text)
使用python的HTTP请求库

您可以使用同一项目中现有问题的id或密钥向
/rest/api/2/issue/{issueidworkey}/editmeta
发出GET请求,该问题与您将通过api创建的问题相同,以便获得您可以设置的所有字段以及所需字段的列表

有关于JSON模式的文档和一些示例JSON,需要放在您对
/rest/api/2/issue
POST请求的正文中

下面是一个基本的python3脚本,用于发出post请求

import requests, json
from requests.auth import HTTPBasicAuth

base_url  = "myjira.example.com"    # The base_url of the Jira insance.
auth_user = "simon"                 # Jira Username
auth_pass = "N0tMyRe3lP4ssw0rd"     # Jira Password
url       = "https://{}/rest/api/2/issue".format(base_url)

# Set issue fields in python dictionary. See docs and comment below regarding available fields
fields = {
    "summary": "something is wrong"
}

payload = {"fields": fields}
headers = {"Content-Type": "application/json"}
response = requests.post(
    url,
    auth=(auth_user, auth_pass),
    headers=headers,
    data=json.dumps(payload))
print("POST {}".format(url))
print("Response {}: {}".format(response.status_code, response.reason))

_json = json.loads(response.text)
使用python的HTTP请求库

您可以使用同一项目中现有问题的id或密钥向
/rest/api/2/issue/{issueidworkey}/editmeta
发出GET请求,该问题与您将通过api创建的问题相同,以便获得您可以设置的所有字段以及所需字段的列表


创建JIRA只需一个普通API调用,不确定您的问题是什么。只需选择正确的API(vs.)并将带有参数化内容的POST请求发送到
/rest/API/2/issue
端点。创建JIRA只需一个普通API调用,不确定您的问题是什么。只需选择正确的API(vs.)并将带有参数化内容的POST请求发送到
/rest/api/2/issue
端点。