MCPcopy Create free account
hub / github.com/compozy/agh / FailTaskRun

Method FailTaskRun

internal/api/core/tasks.go:1674–1715  ·  view source on GitHub ↗

FailTaskRun marks one run as failed.

(c *gin.Context)

Source from the content-addressed store, hash-verified

1672
1673// FailTaskRun marks one run as failed.
1674func (h *BaseHandlers) FailTaskRun(c *gin.Context) {
1675 manager, ok := h.requireTaskManager(c)
1676 if !ok {
1677 return
1678 }
1679
1680 runID, err := requiredPathID(c.Param("id"), "run id")
1681 if err != nil {
1682 h.respondError(c, StatusForTaskError(err), err)
1683 return
1684 }
1685
1686 var req contract.FailTaskRunRequest
1687 if err := c.ShouldBindJSON(&req); err != nil {
1688 h.respondError(
1689 c,
1690 http.StatusBadRequest,
1691 NewTaskValidationError(fmt.Errorf("%s: decode fail run request: %w", h.transportName(), err)),
1692 )
1693 return
1694 }
1695
1696 actor, err := h.taskActorContext(c, taskActionFailRun)
1697 if err != nil {
1698 h.respondError(c, StatusForTaskError(err), err)
1699 return
1700 }
1701
1702 failure, err := failTaskRunFromRequest(req)
1703 if err != nil {
1704 h.respondError(c, StatusForTaskError(err), err)
1705 return
1706 }
1707
1708 run, err := manager.FailRun(c.Request.Context(), runID, failure, actor)
1709 if err != nil {
1710 h.respondError(c, StatusForTaskError(err), err)
1711 return
1712 }
1713
1714 c.JSON(http.StatusOK, contract.TaskRunResponse{Run: TaskRunPayloadFromRun(run)})
1715}
1716
1717// ForceReleaseTaskRun force releases one claimed run without requiring the raw claim token.
1718func (h *BaseHandlers) ForceReleaseTaskRun(c *gin.Context) {

Callers

nothing calls this directly

Calls 10

requireTaskManagerMethod · 0.95
respondErrorMethod · 0.95
transportNameMethod · 0.95
taskActorContextMethod · 0.95
requiredPathIDFunction · 0.85
StatusForTaskErrorFunction · 0.85
NewTaskValidationErrorFunction · 0.85
TaskRunPayloadFromRunFunction · 0.85
failTaskRunFromRequestFunction · 0.70
FailRunMethod · 0.65

Tested by

no test coverage detected