在 Sourceforge 上创建带有附件的票证
Create a ticket with an attachment on Sourceforge
我正在尝试在基于 Sourceforge 的问题跟踪器上创建带有附件的票证。 Sourceforge 使用 Apache Allura。
根据Sourceforge's documentation,工单具有以下结构:
POST request to: /p/{project}/{tracker}/new
ticket_form.summary - ticket title
ticket_form.description - ticket description
ticket_form.status - ticket status
ticket_form.assigned_to - username of ticket assignee
ticket_form.labels - comma-separated list of ticket labels
ticket_form.attachment - (optional) attachment
我使用 requests
编写了一个小 Python 脚本来创建票证,但我一直无法弄清楚如何包含附件。
用于创建不带附件的工单的代码段:
import requests
action = "https://sourceforge.net/rest/p/test-sourceforge-api/tickets/new"
url = action + "?access_token=" + token
body = {'access_token':token,
'ticket_form.description': "Test Description",
'ticket_form.summary':'Test Title'
}
r = requests.post(url, data=body)
Allura 的 source 包含用于创建带有附件的票证的示例代码,但我不明白如何将 POST 请求转换成 requests
可以使用的东西。
如何使用 requests
在 Sourceforge 上创建带有附件的工单?
用于创建带有附件的工单的代码段:
import requests
action = "https://sourceforge.net/rest/p/test-sourceforge-api/tickets/new"
url = action + "?access_token=" + token
body = {'access_token':token,
'ticket_form.description': "Test Description",
'ticket_form.summary':'Test Title'
}
files={'ticket_form.attachment':("myfilename","myfilecontents", 'application/octet-stream')}
r = requests.post(url, data=body, files=files)
我正在尝试在基于 Sourceforge 的问题跟踪器上创建带有附件的票证。 Sourceforge 使用 Apache Allura。
根据Sourceforge's documentation,工单具有以下结构:
POST request to: /p/{project}/{tracker}/new
ticket_form.summary - ticket title
ticket_form.description - ticket description
ticket_form.status - ticket status
ticket_form.assigned_to - username of ticket assignee
ticket_form.labels - comma-separated list of ticket labels
ticket_form.attachment - (optional) attachment
我使用 requests
编写了一个小 Python 脚本来创建票证,但我一直无法弄清楚如何包含附件。
用于创建不带附件的工单的代码段:
import requests
action = "https://sourceforge.net/rest/p/test-sourceforge-api/tickets/new"
url = action + "?access_token=" + token
body = {'access_token':token,
'ticket_form.description': "Test Description",
'ticket_form.summary':'Test Title'
}
r = requests.post(url, data=body)
Allura 的 source 包含用于创建带有附件的票证的示例代码,但我不明白如何将 POST 请求转换成 requests
可以使用的东西。
如何使用 requests
在 Sourceforge 上创建带有附件的工单?
用于创建带有附件的工单的代码段:
import requests
action = "https://sourceforge.net/rest/p/test-sourceforge-api/tickets/new"
url = action + "?access_token=" + token
body = {'access_token':token,
'ticket_form.description': "Test Description",
'ticket_form.summary':'Test Title'
}
files={'ticket_form.attachment':("myfilename","myfilecontents", 'application/octet-stream')}
r = requests.post(url, data=body, files=files)