[{"data":1,"prerenderedAt":28},["ShallowReactive",2],{"$f294qs4zwl7tnr":3},{"href":4,"title":5,"description":6,"kind":7,"mark":7,"planned":8,"contributors":9,"provenance":7,"html":10,"headings":11},"\u002Fdocs\u002Fwork\u002Fexecutions","Executions","The connected runs of more than one task: one piece of work as it moves from member to member.",null,false,[],"\u003Ch2 id=\"what-an-execution-is\">What an execution is\u003C\u002Fh2>\n\u003Cp>A \u003Ca href=\"\u002Fdocs\u002Fwork\u002Fruns\">run\u003C\u002Fa> is one pass of one task. When a task hands its result to another task, and that one to\nthe next, those runs are one \u003Cstrong>execution\u003C\u002Fstrong>: the whole piece of work, however many members and teams it crosses.\u003C\u002Fp>\n\u003Cp>Runs join an execution only through an explicit link: a handoff to a successor, a retry, a recovery, or a resume.\nTwo runs about the same issue, or at the same time, are not joined unless one led to the other. A run on its own, or\na task retrying itself without ever handing off, is a run and not an execution: it is on \u003Cstrong>Runs\u003C\u002Fstrong>, not\n\u003Cstrong>Executions\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>An execution keeps one address for good: the run it started at. Any of its runs' addresses also opens it.\u003C\u002Fp>\n\u003Ch2 id=\"the-board\">The board\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>Executions\u003C\u002Fstrong> in the portal is a board of four lanes, which you can search and filter by team or member:\u003C\u002Fp>\n\u003Cdiv class=\"prose__table\">\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Lane\u003C\u002Fth>\n\u003Cth>What is in it\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Ready\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Queued, about to start.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>In Progress\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Running now.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Blocked\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Waiting on you (a gate), or paused because a spend cap was reached; or one of its runs is on \u003Cstrong>Blockers\u003C\u002Fstrong>, as a failure nobody has cleared, a blocked run, or a pipeline that stopped.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Complete\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Everything else. Its status still says how it ended: succeeded, failed, cancelled, skipped, or stopped.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Cp>An execution that crosses several teams appears on each of those teams' boards. A failed attempt that a retry then\ncompletes does not make the execution fail; a failed or missing handoff stays visible even when another branch\nfinishes. The board and each execution's page update every few seconds while you are looking at them.\u003C\u002Fp>\n\u003Ch2 id=\"one-execution\">One execution\u003C\u002Fh2>\n\u003Cp>An execution's page shows the task graph it moved through (every successor the tasks are set to hand to, and which\nones it took), the run history with each run's member and team, and the current task. Select a task to see its\nattempts and open any run. Runs' own logs, gates and actions stay on the run's page.\u003C\u002Fp>\n\u003Cp>A task can give its execution a name and attach links (the issue, the pull request, the preview) while it runs;\nthey show on the execution and on its runs. Until one does, an execution is named after its first task.\u003C\u002Fp>\n\u003Ch2 id=\"cancelling-and-closing\">Cancelling and closing\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>Cancel\u003C\u002Fstrong> stops every open run in the execution.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Close\u003C\u002Fstrong> takes a finished execution off the board, so the board shows current work. Only an execution in the\nComplete lane can be closed: anything queued, running, waiting or still on Blockers cannot, so a close never hides\nwork that needs someone. Closing records who and when, changes nothing about the runs, and can be undone with\n\u003Cstrong>Reopen\u003C\u002Fstrong>. If new work joins a closed execution (a retry, a new handoff), it comes back on the board.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Close completed\u003C\u002Fstrong> closes every execution in the Complete lane under the current search and team filter, after\nconfirming how many.\u003C\u002Fp>\n\u003Ch2 id=\"over-the-api\">Over the API\u003C\u002Fh2>\n\u003Cp>With an \u003Ca href=\"\u002Fdocs\u002Fapi\u002Fauthentication\">API token\u003C\u002Fa> scoped \u003Ccode>executions:read\u003C\u002Fcode> (and \u003Ccode>executions:write\u003C\u002Fcode> to change them):\u003C\u002Fp>\n\u003Cdiv class=\"prose__table\">\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Call\u003C\u002Fth>\n\u003Cth>What it does\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>GET \u002Fv1\u002Fexecutions\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The executions, as a paginated list. Closed ones only with \u003Ccode>closed=true\u003C\u002Fcode>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>GET \u002Fv1\u002Fexecutions\u002Fboard\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Every lane in one read, with the same search, team and member filters.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>GET \u002Fv1\u002Fexecutions\u002F{id}\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>One execution: its runs, links and task graph. Any of its run ids works.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>POST \u002Fv1\u002Fexecutions\u002F{id}\u002Fcancel\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Stop every open run in it.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>POST \u002Fv1\u002Fexecutions\u002F{id}\u002Fclose\u003C\u002Fcode>, \u003Ccode>…\u002Freopen\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Take a finished execution off the board, or put it back. A refused close is a \u003Ccode>409\u003C\u002Fcode> that says why.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>POST \u002Fv1\u002Fexecutions\u002Fclose-completed\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Close every execution in the Complete lane under the given filters.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>GET \u002Fv1\u002Fexecutions\u002Fcounts\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>How many executions and runs are running, queued and waiting.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Cp>Responses leave out run inputs, logs and results; read those on the run.\u003C\u002Fp>\n",[12,16,19,22,25],{"id":13,"text":14,"level":15,"planned":8},"what-an-execution-is","What an execution is",2,{"id":17,"text":18,"level":15,"planned":8},"the-board","The board",{"id":20,"text":21,"level":15,"planned":8},"one-execution","One execution",{"id":23,"text":24,"level":15,"planned":8},"cancelling-and-closing","Cancelling and closing",{"id":26,"text":27,"level":15,"planned":8},"over-the-api","Over the API",1791124519871]