回答
POST到这个网址
https://<JIRA_HOST>/rest/api/2/issue/
此数据:
{
"fields": {
"project":
{
"key": "<PROJECT_KEY>"
},
"summary": "REST EXAMPLE",
"description": "Creating an issue via REST API",
"issuetype": {
"name": "Bug"
}
}
}
在收到的答案将是ID和您的问题的关键:
{"id":"83336","key":"PROJECT_KEY-4","self":"https://<JIRA_HOST>/rest/api/2/issue/83336"}
不要忘记授权。我使用了HTTP-Basic。
现在您可以使用REST + JSON来创建问题。
要检查JSON字段,你可以设置而产生的问题,使用: https://jira.host.com/rest/api/2/issue/createmeta
欲了解更多信息,请参见JIRA其余文档: https://docs.atlassian.com/jira/REST/6.2.4/
对于任何想知道的人来说,使用REST API执行多于读取数据的功能是JIRA 5.x的一部分。自那时起,REST API没有发生太大的变化。 – mdoar 2014-05-08 17:28:51
要发送与REST API我们需要的问题数据构造包含问题详细信息的有效JSON字符串。
JSON字符串的一个基本的例子:
{“fields” : { “project” : { “key” : “@[email protected]” } , “issuetype” : { “name” : “@[email protected]” } } }
现在,建立连接到JIRA并检查用户身份验证。 验证一旦建立,我们通过XMLHTTP方法POST REST API + JSON字符串。 处理响应和亲密用户有关响应成功或失败的信息。
所以这里JiraService是一个XMLHTTP对象,像这样的事情会增加一个问题,其中EncodeBase64是一个返回加密字符串的函数。
Public Function addJIRAIssue() as String
With JiraService
.Open "POST", <YOUR_JIRA_URL> & "/rest/api/2/issue/", False
.setRequestHeader "Content-Type", "application/json"
.setRequestHeader "Accept", "application/json"
.setRequestHeader "Authorization", "Basic " & EncodeBase64
.send YOUR_JSON_STRING
If .Status <> 401 Then
addJIRAIssue = .responseText
Else
addJIRAIssue = "Error: Invalid Credentials!"
End If
End With
Set JiraService = Nothing
End Sub
**把这个代码(C#)**
string postUrl = "https://netstarter.jira.com/rest/api/latest/issue";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(postUrl);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
httpWebRequest.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("JIRAMMS:JIRAMMS"));
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = @"{""fields"":{""project"":{""key"": ""JAPI""},""summary"": ""REST EXAMPLE"",""description"": ""Creating an issue via REST API 2"",""issuetype"": {""name"": ""Bug""}}}";
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
}
要使用卷曲回答这个问题更直接,即。
要使用卷曲访问JIRA的REST API创建的情况下,使用
curl -D- -u <username>:<password> -X POST --data-binary "@<filename>" -H "Content-Type: application/json" http://<jira-host>/rest/api/2/issue/
并把它保存在您的<文件名>(请编辑根据您的吉拉情况下,场),并节省您拨打的文件夹中上面的cURL命令。
{
"fields": {
"project":
{
"key": "<PROJECT_KEY>"
},
"summary": "REST EXAMPLE",
"description": "Creating an issue via REST API",
"issuetype": {
"name": "Bug"
}
}
}
这应该起作用。 (注意有时如果它错误,可能你的文件名中的内容不正确)。
- 1. Jira V6.0 +通过REST API创建项目
- 2. Jira Rest Api问题
- 3. 如何发送POST请求JIRA创建通过REST API项目
- 4. 如何通过JIRA REST API获取问题的受让人?
- 5. 如何通过REST API找到JIRA问题的状态?
- 6. 如何使用REST API创建问题到JIRA?
- 7. 通过REST API在JIRA中链接问题
- 8. 使用REST API在JIRA中创建问题 - PHP YII2
- 9. 远程JIRA问题创建
- 10. JIRA,通过SOAP API获取父问题
- 11. 创建问题:与JIRA
- 12. 使用JIRA REST API创建新用户
- 13. JIRA REST API JQL查询问题与maxResults
- 14. JIRA Rest API使用JSON关闭问题
- 15. Jira - 如何通过REST API获取问题更改日志 - 但所有问题,而不是单个问题
- 16. 如何通过rest api在ejabberd中创建聊天室?
- 17. 如何使用JIRA,Python创建问题
- 18. Jira Rest API - 如何登录
- 19. 在Confluence中通过Rest Rest API使用Java创建页面
- 20. 通过Java中的JIRA-REST客户端获取问题列表
- 21. 如何通过REST api更新Jira自定义字段值
- 22. 如何通过JIRA REST API设置影响版本字段 - PHP
- 23. 通过REST API创建Octopus机器(PowerShell)
- 24. JIRA REST API 4.4如何使用HTTParty post添加评论问题
- 25. 如何使用Jenkins Jira Steps插件创建JIRA新问题
- 26. 调用REST API在JIRA中创建新组件
- 27. JIRA REST API JQL表达通过标准的问题类型进行搜索
- 28. C#使用REST API在Jira中关闭一个问题
- 29. 如何在Jira问题中创建自定义视图?
- 30. 如何使用HTML格式在Jira On Demand中创建问题?
你能告诉我更多关于你提到的授权吗?是否需要通过项目所有者的用户名和密码?或者REST只接受URL,Header(json)和Data? – Tru 2013-04-05 12:44:58
我实际上收到一个错误,提示“400 Bad Request ... field:summary can not be set” – Tru 2013-04-05 12:46:44
@Tru yes。 HTTP-Basic自动化是[自动化类型](http://en.wikipedia.org/wiki/Basic_access_authentication)。 AFAIK还有另一种可能的自动化选项。从[manual](http://docs.atlassian.com/jira/REST/latest/):优先认证方法是HTTP Basic(使用SSL时)和OAuth,它们都记录在JIRA REST API教程中。其他支持的方法包括:HTTP Cookie,可信应用程序和os_username/os_password查询参数。' – msangel 2013-04-05 15:17:11