Issue extends Resource { public FluentRemoteLink remoteLink() { return new FluentRemoteLink(restclient, getKey()); } protected  Issue(RestClient restclient, JSONObject json); static int count(RestClient restclient, String jql); static JSONObject getCreateMetadata(
        RestClient restclient, String project, String issueType); List<Transition> getTransitions(); void addAttachment(File file); void addRemoteLink(String url, String title, String summary); FluentRemoteLink remoteLink(); void addAttachments(NewAttachment... attachments); void removeAttachment(String attachmentId); Comment addComment(String body); Comment addComment(String body, String visType, String visName); void link(String issue, String type); void link(String issue, String type, String body); void link(String issue, String type, String body, String visType, String visName); static FluentCreate create(RestClient restclient, String project, String issueType); FluentCreate createSubtask(); static Issue get(RestClient restclient, String key); static Issue get(RestClient restclient, String key, final String includedFields); static Issue get(RestClient restclient, String key, final String includedFields,
            final String expand); static SearchResult search(RestClient restclient, String jql,
            String includedFields, String expandFields, Integer maxResults,
            Integer startAt); void refresh(); void refresh(final String includedFields); Object getField(String name); FluentTransition transition(); FluentUpdate update(); void vote(); void unvote(); void addWatcher(String username); void deleteWatcher(String username); @Override String toString(); ChangeLog getChangeLog(); String getKey(); User getAssignee(); List<Attachment> getAttachments(); List<Comment> getComments(); List<Component> getComponents(); String getDescription(); Date getDueDate(); List<Version> getFixVersions(); List<IssueLink> getIssueLinks(); IssueType getIssueType(); List<String> getLabels(); Issue getParent(); Priority getPriority(); Project getProject(); User getReporter(); List<RemoteLink> getRemoteLinks(); Resolution getResolution(); Date getResolutionDate(); Status getStatus(); List<Issue> getSubtasks(); String getSummary(); TimeTracking getTimeTracking(); List<Version> getVersions(); Votes getVotes(); Watches getWatches(); List<WorkLog> getWorkLogs(); List<WorkLog> getAllWorkLogs(); Integer getTimeSpent(); Integer getTimeEstimate(); Date getCreatedDate(); Date getUpdatedDate(); boolean delete(final boolean deleteSubtasks);  }
@Test public void testRemoteLink() throws JiraException { final TestableRestClient restClient = new TestableRestClient(); Issue issue = new Issue(restClient, Utils.getTestIssue()); issue.remoteLink() .globalId("gid") .title("test-title") .summary("summary") .application("app-type", "app-name") .relationship("fixes") .icon("icon", "icon-url") .status(true, "status-icon", "status-title", "status-url") .create(); assertEquals("/rest/api/latest/issue/FILTA-43/remotelink", restClient.postPath); assertEquals( "{\"globalId\":\"gid\"," + "\"application\":" + "{\"type\":\"app-type\",\"name\":\"app-name\"}," + "\"relationship\":\"fixes\"," + "\"object\":{" + "\"url\":\"gid\"," + "\"title\":\"test-title\"," + "\"summary\":\"summary\"," + "\"icon\":" + "{\"url16x16\":\"icon\",\"title\":\"icon-url\"}," + "\"status\":{\"resolved\":\"true\",\"icon\":" + "{\"title\":\"status-title\",\"url16x16\":\"status-icon\",\"link\":\"status-url\"}" + "}}}", restClient.postPayload.toString(0)); }