class StatusesTemplate extends AbstractGithubTemplate implements StatusesOperations {

	@Override
	public Status createStatus(String owner, String repository, String sha, StatusRequest body) {
		Map<String, Object> uriVariables = new HashMap<>();
		uriVariables.put("owner", owner);
		uriVariables.put("repository", repository);
		uriVariables.put("sha", sha);
		
		URI uri = new UriTemplate(buildUriString("/repos/{owner}/{repository}/statuses/{sha}")).expand(uriVariables);
		RequestEntity<StatusRequest> entity = RequestEntity.post(uri).contentType(MediaType.APPLICATION_JSON)
				.body(body);

		ResponseEntity<Status> responseEntity = getRestOperations().exchange(entity, Status.class);
		return responseEntity.getBody();
	}

	public  StatusesTemplate(RestOperations restOperations);

}