public GHContent getFileContent(String path, String ref) throws IOException { Requester requester = root.retrieve(); String target = String.format("/repos/%s/%s/contents/%s", owner.login, name, path); if (ref != null) target = target + "?ref=" + ref; return requester.to(target, GHContent.class).wrap(this); }
public List<GHContent> getDirectoryContent(String path, String ref) throws IOException { Requester requester = root.retrieve(); String target = String.format("/repos/%s/%s/contents/%s", owner.login, name, path); if (ref != null) target = target + "?ref=" + ref; GHContent[] files = requester.to(target, GHContent[].class); GHContent.wrap(files, this); return Arrays.asList(files); }
public GHContentUpdateResponse createContent( String content, String commitMessage, String path, String branch) throws IOException { Requester requester = new Requester(root) .with("path", path) .with("message", commitMessage) .with("content", DatatypeConverter.printBase64Binary(content.getBytes())) .method("PUT"); if (branch != null) { requester.with("branch", branch); } GHContentUpdateResponse response = requester.to(getApiTailUrl("contents/" + path), GHContentUpdateResponse.class); response.getContent().wrap(this); response.getCommit().wrapUp(this); return response; }
private void edit(String key, String value) throws IOException { Requester requester = new Requester(root); if (!key.equals("name")) requester.with("name", name); // even when we don't change the name, we need to send it in requester.with(key, value).method("PATCH").to("/repos/" + owner.login + "/" + name); }