PageRenderTime 49ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/jira-project/jira-components/jira-plugins/jira-rest/jira-rest-plugin/src/main/java/com/atlassian/jira/rest/v2/issue/ResourceExamples.java

https://bitbucket.org/ahmed_bilal_360factors/jira7-core
Java | 153 lines | 121 code | 26 blank | 6 comment | 0 complexity | 16a4d0b497a37977d5a48a5ec1c47934 MD5 | raw file
Possible License(s): Apache-2.0
  1. package com.atlassian.jira.rest.v2.issue;
  2. import com.atlassian.jira.issue.changehistory.metadata.HistoryMetadata;
  3. import com.atlassian.jira.issue.changehistory.metadata.HistoryMetadataParticipant;
  4. import com.atlassian.jira.issue.fields.rest.json.beans.CommentJsonBean;
  5. import com.atlassian.jira.issue.fields.rest.json.beans.IssueLinkJsonBean;
  6. import com.atlassian.jira.issue.fields.rest.json.beans.IssueLinkTypeJsonBean;
  7. import com.atlassian.jira.issue.fields.rest.json.beans.IssueRefJsonBean;
  8. import com.atlassian.jira.issue.fields.rest.json.beans.LinkIssueRequestJsonBean;
  9. import com.atlassian.jira.issue.fields.rest.json.beans.StatusJsonBean;
  10. import com.atlassian.jira.issue.fields.rest.json.beans.VisibilityJsonBean;
  11. import com.atlassian.jira.rest.api.issue.FieldOperation;
  12. import com.atlassian.jira.rest.api.issue.IssueFields;
  13. import com.atlassian.jira.rest.api.issue.IssueUpdateRequest;
  14. import com.atlassian.jira.rest.api.issue.ResourceRef;
  15. import com.google.common.collect.ImmutableList;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. /**
  19. * @since v5.0
  20. */
  21. public class ResourceExamples {
  22. static final CommentJsonBean DOC_COMMENT_LINK_ISSUE_EXAMPLE = new CommentJsonBean();
  23. static {
  24. DOC_COMMENT_LINK_ISSUE_EXAMPLE.setBody("Linked related issue!");
  25. DOC_COMMENT_LINK_ISSUE_EXAMPLE.setVisibility(new VisibilityJsonBean(VisibilityJsonBean.VisibilityType.group,
  26. "jira-software-users"));
  27. }
  28. /**
  29. * Example representation for use in auto-generated docs.
  30. */
  31. public static final LinkIssueRequestJsonBean LINK_ISSUE_REQUEST_EXAMPLE = new LinkIssueRequestJsonBean(
  32. new IssueRefJsonBean().key("HSP-1"), new IssueRefJsonBean().key("MKY-1"),
  33. new IssueLinkTypeJsonBean().name("Duplicate"), ResourceExamples.DOC_COMMENT_LINK_ISSUE_EXAMPLE);
  34. static final IssueLinkTypeJsonBean ISSUE_LINK_TYPE_EXAMPLE;
  35. static final IssueLinkTypeJsonBean ISSUE_LINK_TYPE_EXAMPLE_2;
  36. static final IssueLinkTypeJsonBean ISSUE_LINK_TYPE_EXAMPLE_CREATE;
  37. static {
  38. ISSUE_LINK_TYPE_EXAMPLE = new IssueLinkTypeJsonBean(1000l, "Duplicate", "Duplicated by", "Duplicates", Examples.restURI("/issueLinkType/1000"));
  39. ISSUE_LINK_TYPE_EXAMPLE_2 = new IssueLinkTypeJsonBean(1010l, "Blocks", "Blocked by", "Blocks", Examples.restURI("/issueLinkType/1010"));
  40. ISSUE_LINK_TYPE_EXAMPLE_CREATE = new IssueLinkTypeJsonBean((String) null, "Duplicate", "Duplicated by", "Duplicates", null);
  41. }
  42. static final HistoryMetadata HISTORY_METADATA_EXAMPLE = HistoryMetadata.builder("myplugin:type")
  43. .description("text description")
  44. .descriptionKey("plugin.changereason.i18.key")
  45. .activityDescription("text description")
  46. .activityDescriptionKey("plugin.activity.i18.key")
  47. .actor(HistoryMetadataParticipant
  48. .builder("tony", "mysystem-user")
  49. .url("http://mysystem/users/tony")
  50. .displayName("Tony")
  51. .avatarUrl("http://mysystem/avatar/tony.jpg")
  52. .build()
  53. )
  54. .cause(HistoryMetadataParticipant
  55. .builder("myevent", "mysystem-event").build()
  56. )
  57. .generator(HistoryMetadataParticipant.builder("mysystem-1", "mysystem-application").build())
  58. .extraData("keyvalue", "extra data")
  59. .extraData("goes", "here")
  60. .build();
  61. static final IssueUpdateRequest UPDATE_DOC_EXAMPLE;
  62. static {
  63. final IssueUpdateRequest issueUpdateRequest = new IssueUpdateRequest();
  64. final List<FieldOperation> summaryOperations = new ArrayList<FieldOperation>();
  65. final FieldOperation summaryOperation = new FieldOperation();
  66. summaryOperation.init("set", "Bug in business logic");
  67. summaryOperations.add(summaryOperation);
  68. issueUpdateRequest.update().put("summary", summaryOperations);
  69. final List<FieldOperation> componentsOperations = new ArrayList<FieldOperation>();
  70. final FieldOperation componentsOperation = new FieldOperation();
  71. componentsOperation.init("set", "");
  72. componentsOperations.add(componentsOperation);
  73. issueUpdateRequest.update().put("components", componentsOperations);
  74. final List<FieldOperation> timetrackingOperations = new ArrayList<FieldOperation>();
  75. final FieldOperation timetrackingOperation = new FieldOperation();
  76. final TimeTrackingBean timeTrackingBean = new TimeTrackingBean(null, null, null);
  77. timeTrackingBean.setOriginalEstimate("1w 1d");
  78. timeTrackingBean.setRemainingEstimate("4d");
  79. timetrackingOperation.init("edit", timeTrackingBean);
  80. timetrackingOperations.add(timetrackingOperation);
  81. issueUpdateRequest.update().put("timetracking", timetrackingOperations);
  82. final List<FieldOperation> labelOperations = new ArrayList<FieldOperation>();
  83. final FieldOperation labelOperation1 = new FieldOperation();
  84. labelOperation1.init("add", "triaged");
  85. labelOperations.add(labelOperation1);
  86. final FieldOperation labelOperation2 = new FieldOperation();
  87. labelOperation2.init("remove", "blocker");
  88. labelOperations.add(labelOperation2);
  89. issueUpdateRequest.update().put("labels", labelOperations);
  90. issueUpdateRequest.fields(new IssueFields()).fields()
  91. .summary("This is a shorthand for a set operation on the summary field")
  92. .customField(10010L, 1)
  93. .customField(10000L, "This is a shorthand for a set operation on a text custom field");
  94. issueUpdateRequest.historyMetadata(HISTORY_METADATA_EXAMPLE);
  95. issueUpdateRequest.properties(ImmutableList.of(
  96. new IssueUpdateRequest.IssueProperty("key1", "'properties' : 'can be set at issue create or update time'"),
  97. new IssueUpdateRequest.IssueProperty("key2", "'and' : 'there can be multiple properties'")
  98. ));
  99. UPDATE_DOC_EXAMPLE = issueUpdateRequest;
  100. }
  101. static final IssueUpdateRequest TRANSITION_DOC_EXAMPLE;
  102. static {
  103. final IssueUpdateRequest issueUpdateRequest = new IssueUpdateRequest();
  104. issueUpdateRequest.transition(ResourceRef.withId("5"));
  105. final IssueFields issueFields = new IssueFields();
  106. issueFields.resolution(ResourceRef.withName("Fixed"));
  107. issueFields.assignee(ResourceRef.withName("bob"));
  108. issueUpdateRequest.fields(issueFields);
  109. final List<FieldOperation> commentOperations = new ArrayList<FieldOperation>();
  110. final FieldOperation commentOperation = new FieldOperation();
  111. final CommentJsonBean commentJsonBean = new CommentJsonBean();
  112. commentJsonBean.setBody("Bug has been fixed.");
  113. commentOperation.init("add", commentJsonBean);
  114. commentOperations.add(commentOperation);
  115. issueUpdateRequest.update().put("comment", commentOperations);
  116. issueUpdateRequest.historyMetadata(HISTORY_METADATA_EXAMPLE);
  117. TRANSITION_DOC_EXAMPLE = issueUpdateRequest;
  118. }
  119. static final IssueLinkJsonBean ISSUE_LINK_EXAMPLE;
  120. static {
  121. final StatusJsonBean status = new StatusJsonBean().name("Open").iconUrl(Examples.jiraURI("/images/icons/statuses/open.png").toString());
  122. final IssueLinkJsonBean issueLinkJsonBean = new IssueLinkJsonBean().id("10001").type(ISSUE_LINK_TYPE_EXAMPLE);
  123. issueLinkJsonBean.outwardIssue(new IssueRefJsonBean("10004L", "PRJ-2", Examples.restURI("issue/PRJ-2"), new IssueRefJsonBean.Fields().status(status)));
  124. issueLinkJsonBean.inwardIssue(new IssueRefJsonBean("10004", "PRJ-3", Examples.restURI("issue/PRJ-3"), new IssueRefJsonBean.Fields().status(status)));
  125. ISSUE_LINK_EXAMPLE = issueLinkJsonBean;
  126. }
  127. }