REST API를 사용하여 jira에서 문제를 만들 수 있습니까? 나는이 문서 (문제에 대한 POST)에서 이것을 찾지 못했지만, 가능하다고 생각합니다.나머지 api를 통해 jira에서 문제를 만드는 방법은 무엇입니까?
wget 또는 curl 예제가 좋을 것입니다.
REST API를 사용하여 jira에서 문제를 만들 수 있습니까? 나는이 문서 (문제에 대한 POST)에서 이것을 찾지 못했지만, 가능하다고 생각합니다.나머지 api를 통해 jira에서 문제를 만드는 방법은 무엇입니까?
wget 또는 curl 예제가 좋을 것입니다.
POST는
https://<JIRA_HOST>/rest/api/2/issue/
이 데이터 :
{"id":"83336","key":"PROJECT_KEY-4","self":"https://<JIRA_HOST>/rest/api/2/issue/83336"}
권한 부여에 대해 잊지 마세요 : 접수 대답에
{
"fields": {
"project":
{
"key": "<PROJECT_KEY>"
},
"summary": "REST EXAMPLE",
"description": "Creating an issue via REST API",
"issuetype": {
"name": "Bug"
}
}
}
는 ID와 문제의 열쇠가 될 것입니다 . 나는 HTTP Basic을 사용했다.
이제 REST + JSON을 사용하여 문제를 만들 수 있습니다.
는 문제의 사용을 만들기 위해 설정할 수있는 JSON 필드를 확인하려면 다음 https://docs.atlassian.com/jira/REST/6.2.4/
REST API를 사용하여 데이터를 읽는 것 이상의 기능을 수행하는 능력은 JIRA 5.x의 일부였습니다. REST API는 그 이후로 많이 변경되지 않았습니다. – mdoar
은 우리가 필요로하는 REST API를 사용하여 문제 데이터를 전송하려면 자세한 내용 https://jira.host.com/rest/api/2/issue/createmeta
을 JIRA의 나머지 문서를 참조하십시오 문제 세부 정보로 구성된 유효한 JSON 문자열을 구성합니다.
JSON 문자열의 기본 예제 :
{“fields” : { “project” : { “key” : “@[email protected]” } , “issuetype” : { “name” : “@[email protected]” } } }
지금, JIRA에 연결을 설정하고 사용자 인증을 확인합니다. 인증이 완료되면 XMLHTTP 메소드를 통해 REST API + JSON 문자열을 POST합니다. 응답 및 친밀한 사용자가 응답의 성공 또는 실패를 처리합니다.
그래서 여기 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
당신은 체크 아웃 할 수있는 complete VBA example here
** 컬를 사용하여 더 많은 직접 질문, 즉 대답하기 위해이 코드 (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"
}
}
}
이렇게하면됩니다. (때로는 오류가 발생하여 파일 이름의 내용이 잘못되었을 수도 있음).
언급 한 인증에 대해 더 자세히 알려 주실 수 있습니까? 프로젝트 소유자의 사용자 이름과 비밀번호를 전달할 필요가 있습니까? 아니면 REST가 URL, 헤더 (json) 및 데이터만으로 POST를 수락합니까? – Tru
"400 Bad Request ... field : 요약을 설정할 수 없습니다"라는 오류 메시지가 나타납니다. – Tru
@Tru yes. HTTP-Basic 자동 화는 [autorization 유형] (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 쿠키, 신뢰할 수있는 응용 프로그램 및 os_username/os_password 쿼리 매개 변수를 포함하는 다른 지원되는 메서드가 있습니다. – msangel