ForceFailTaskRun force fails one queued or claimed run without requiring the raw claim token.
(c *gin.Context)
| 1754 | |
| 1755 | // ForceFailTaskRun force fails one queued or claimed run without requiring the raw claim token. |
| 1756 | func (h *BaseHandlers) ForceFailTaskRun(c *gin.Context) { |
| 1757 | manager, ok := h.requireTaskManager(c) |
| 1758 | if !ok { |
| 1759 | return |
| 1760 | } |
| 1761 | runID, err := requiredPathID(c.Param("id"), "run id") |
| 1762 | if err != nil { |
| 1763 | h.respondError(c, StatusForTaskError(err), err) |
| 1764 | return |
| 1765 | } |
| 1766 | var req contract.ForceFailTaskRunRequest |
| 1767 | if err := c.ShouldBindJSON(&req); err != nil { |
| 1768 | h.respondError( |
| 1769 | c, |
| 1770 | http.StatusBadRequest, |
| 1771 | NewTaskValidationError(fmt.Errorf("%s: decode force fail run request: %w", h.transportName(), err)), |
| 1772 | ) |
| 1773 | return |
| 1774 | } |
| 1775 | actor, err := h.taskActorContext(c, taskActionForceFailRun) |
| 1776 | if err != nil { |
| 1777 | h.respondError(c, StatusForTaskError(err), err) |
| 1778 | return |
| 1779 | } |
| 1780 | run, err := manager.ForceFailRun( |
| 1781 | c.Request.Context(), |
| 1782 | runID, |
| 1783 | taskpkg.ForceFailRun{Reason: req.Reason, Metadata: req.Metadata}, |
| 1784 | actor, |
| 1785 | ) |
| 1786 | if err != nil { |
| 1787 | h.respondError(c, StatusForTaskError(err), err) |
| 1788 | return |
| 1789 | } |
| 1790 | c.JSON(http.StatusOK, contract.TaskRunResponse{Run: TaskRunPayloadFromRun(run)}) |
| 1791 | } |
| 1792 | |
| 1793 | // RetryTaskRun enqueues a new run linked to one failed source run. |
| 1794 | func (h *BaseHandlers) RetryTaskRun(c *gin.Context) { |
nothing calls this directly
no test coverage detected