有沒有方法使用JRJC v1.0創建子任務?我一直無法找到任何關於此的好文檔。任何示例代碼?如何使用JIRA REST Java客戶端創建子任務
它似乎不支持通過庫,但可能使用直接REST API。
JIRA V5.1.5
有沒有方法使用JRJC v1.0創建子任務?我一直無法找到任何關於此的好文檔。任何示例代碼?如何使用JIRA REST Java客戶端創建子任務
它似乎不支持通過庫,但可能使用直接REST API。
JIRA V5.1.5
您創建一個問題,因爲你通常會(example),但設置問題類型所需的子任務類型。然後,要到它的父使用linkIssue
,像子任務鏈接:
LinkIssuesInput linkIssuesInput = new LinkIssuesInput("TST-1", "TST-2", "jira_subtask_link", Comment.valueOf("simple comment"));
issueClient.linkIssue(linkIssuesInput , pm);
我還沒有測試它自己,我用舊JIRA的XML-RPC,並且python-jira在新的。完整的API可here
按照您提到的步驟獲取以下錯誤 '由:com.atlassian.jira.rest.client.RestClientException引發:問題類型是一個子任務,但未指定父問題密鑰或ID。如何在不創建newIssue的情況下獲得fromIssueKey?因爲在將issueType設置爲子任務之後,它會請求父鍵,但是此字段在Issue界面中不存在。 – eatSleepCode
對於現有的子任務,我能夠獲得魔法'jira_subtask_link'問題鏈接,以使現有子任務顯示在不同的父級下。但是,它並未從當前父級中刪除子任務。我不知道如何獲得這些魔術問題鏈接的ID。有任何想法嗎? –
他們沒有任何檢查,你可以創建循環的親子關係... LinkIssuesInput linkIssuesInput = new LinkIssuesInput(「1」,「2」,「jira_subtask_link」); LinkIssuesInput linkIssuesInput = new LinkIssuesInput(「2」,「1」,「jira_subtask_link」); –
的REST API http://docs.atlassian.com/jira/REST/latest/#id326540有一個評論:
創建一個子任務類似於創建一個普通的問題,有兩個重要的區別:
的問題類型字段必須對應於一個子任務問題類型(您可以使用/ issue/createmeta來發現子任務問題類型)和 您必須在問題創建請求中提供父字段,其中包含父問題的ID或密鑰。
所以我認爲,正規createIssue方法應該可行,但你需要確保你已經在(「父」,「ABC-123」)構造一個額外的FieldInput對象傳遞
我會如果使用子任務鏈接類型實際上起作用,則會感到驚訝。
我能夠把下面的代碼放在一起。
IssueInputBuilder issueBuilder = new IssueInputBuilder("Project1", 5L);//5 is the id for subtask type. You can know the id of subtask type by querying this REST api /rest/api/2/issue/createmeta
issueBuilder.setDescription(">> Test Description");
issueBuilder.setSummary("Test summary");
issueBuilder.setProjectKey("Project1");
Map<String, Object> parent = new HashMap<String, Object>();
parent.put("key", "SOMEISSUE-234");
FieldInput parentField = new FieldInput("parent", new ComplexIssueInputFieldValue(parent));
Map<String, Object> customField = new HashMap<String, Object>();
customField.put("value", "someValue");//This is some custom field value on the subtask
customField.put("id", "12345");//This is the id of the custom field. You can know this by calling REST GET for a manually created sub-task
issueBuilder.setFieldInput(parentField);
issueBuilder.setFieldValue("customfield_12345", new ComplexIssueInputFieldValue(customField));//here again you have to query an existing subtask to know the "customfield_*" value
com.atlassian.jira.rest.client.domain.input.IssueInput issueInput = issueBuilder.build();
BasicIssue bIssue = restClient.getIssueClient().createIssue(issueInput, pm);
System.out.println(">>> " + bIssue.getKey());
什麼是Jira版本? – Abubakkar
用JIRA版本更新了我的帖子。我結束了使用REST API並使其工作。知道這是否可以用JRJC庫完成仍然很好。 –