diff --git a/docs/rest-api/rest-notebook.md b/docs/rest-api/rest-notebook.md
index fade802c5b4..ffc3d8d2574 100644
--- a/docs/rest-api/rest-notebook.md
+++ b/docs/rest-api/rest-notebook.md
@@ -381,7 +381,7 @@ limitations under the License.
| sample JSON response |
- {"status":"OK","body":[{"id":"20151121-212654_766735423","status":"FINISHED","finished":"Tue Nov 24 14:21:40 KST 2015","started":"Tue Nov 24 14:21:39 KST 2015"},{"id":"20151121-212657_730976687","status":"FINISHED","finished":"Tue Nov 24 14:21:40 KST 2015","started":"Tue Nov 24 14:21:40 KST 2015"}]} |
+ {"status":"OK","body":[{"id":"20151121-212654_766735423","status":"FINISHED","finished":"Tue Nov 24 14:21:40 KST 2015","started":"Tue Nov 24 14:21:39 KST 2015"},{"progress":"1","id":"20151121-212657_730976687","status":"RUNNING","finished":"Tue Nov 24 14:21:35 KST 2015","started":"Tue Nov 24 14:21:40 KST 2015"}]} |
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/scheduler/Job.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/scheduler/Job.java
index c803d78f26f..6379e4c3129 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/scheduler/Job.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/scheduler/Job.java
@@ -57,15 +57,15 @@ public static enum Status {
FINISHED,
ERROR,
ABORT;
- boolean isReady() {
+ public boolean isReady() {
return this == READY;
}
- boolean isRunning() {
+ public boolean isRunning() {
return this == RUNNING;
}
- boolean isPending() {
+ public boolean isPending() {
return this == PENDING;
}
}
diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java
index 2db30924027..c69b2239ed9 100644
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java
+++ b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java
@@ -433,6 +433,59 @@ public void testNoteJobs() throws IOException, InterruptedException {
ZeppelinServer.notebook.removeNote(note.getId());
}
+ @Test
+ public void testGetNotebookJob() throws IOException, InterruptedException {
+ LOG.info("testGetNotebookJob");
+ // Create note to run test.
+ Note note = ZeppelinServer.notebook.createNote();
+ assertNotNull("can't create new note", note);
+ note.setName("note for run test");
+ Paragraph paragraph = note.addParagraph();
+
+ Map config = paragraph.getConfig();
+ config.put("enabled", true);
+ paragraph.setConfig(config);
+
+ paragraph.setText("%sh sleep 1");
+ note.persist();
+ String noteID = note.getId();
+
+ note.runAll();
+
+ // wait until paragraph gets started
+ while (!paragraph.getStatus().isRunning()) {
+ Thread.sleep(100);
+ }
+
+ // assume that status of the paragraph is running
+ GetMethod get = httpGet("/notebook/job/" + noteID);
+ assertThat("test get notebook job: ", get, isAllowed());
+ String responseBody = get.getResponseBodyAsString();
+ get.releaseConnection();
+
+ LOG.info("test get notebook job: \n" + responseBody);
+ Map