diff --git a/routers/api/v1/repo/actions_run.go b/routers/api/v1/repo/actions_run.go index 5c69cc3307..fc2f9008e0 100644 --- a/routers/api/v1/repo/actions_run.go +++ b/routers/api/v1/repo/actions_run.go @@ -531,6 +531,11 @@ func getRunJobsAndCurrent(ctx *context.APIContext, runID, jobIndex int64) (*acti } func rerunJob(ctx *context.APIContext, job *actions_model.ActionRunJob, shouldBlock bool) error { + if job.Run == nil { + if err := job.LoadRun(ctx); err != nil { + return err + } + } status := job.Status if !status.IsDone() || !job.Run.Status.IsDone() { return nil diff --git a/tests/integration/api_actions_run_test.go b/tests/integration/api_actions_run_test.go index c2d5fdab6f..af162aec26 100644 --- a/tests/integration/api_actions_run_test.go +++ b/tests/integration/api_actions_run_test.go @@ -272,7 +272,7 @@ func TestAPIActionsGetWorkflowJobLogs(t *testing.T) { session := loginUser(t, user.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/actions/runs/795/jobs/198/logs", repo.FullName())). + req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/actions/runs/795/jobs/192/logs", repo.FullName())). AddTokenAuth(token) MakeRequest(t, req, http.StatusOK)