public void executeWorkItem(WorkItem workItem, WorkItemManager workItemManager) { try { RequiredParameterValidator.validate(this.getClass(), workItem); Document content = (Document) workItem.getParameter("Content"); String description = (String) workItem.getParameter("Description"); String isPublicStr = (String) workItem.getParameter("IsPublic"); Map<String, Object> results = new HashMap<String, Object>(); GistService gistService = auth.getGistService(this.userName, this.password); Gist gist = new Gist(); gist.setPublic(Boolean.parseBoolean(isPublicStr)); gist.setDescription(description); GistFile file = new GistFile(); file.setContent(new String(content.getContent(), StandardCharsets.UTF_8)); file.setFilename(content.getName()); gist.setFiles(Collections.singletonMap(file.getFilename(), file)); gist = gistService.createGist(gist); results.put(RESULTS_VALUE, gist.getHtmlUrl()); workItemManager.completeWorkItem(workItem.getId(), results); } catch (Exception e) { handleException(e); } }