Update a required workflow

Update a required workflow in an organization. You must authenticate using an access token with the `admin:org` scope to use this endpoint. For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)."

Script github Verified

by hugo697 ยท 10/25/2023

The script

Submitted by hugo697 Typescript (fetch-only)
Verified 367 days ago
1
type Github = {
2
  token: string;
3
};
4
/**
5
 * Update a required workflow
6
 * Update a required workflow in an organization.
7

8
You must authenticate using an access token with the `admin:org` scope to use this endpoint.
9

10
For more information, see "[Required Workflows](https://docs.github.com/actions/using-workflows/required-workflows)."
11
 */
12
export async function main(
13
  auth: Github,
14
  org: string,
15
  required_workflow_id: string,
16
  body: {
17
    repository_id?: string;
18
    scope?: "selected" | "all";
19
    selected_repository_ids?: number[];
20
    workflow_file_path?: string;
21
    [k: string]: unknown;
22
  }
23
) {
24
  const url = new URL(
25
    `https://api.github.com/orgs/${org}/actions/required_workflows/${required_workflow_id}`
26
  );
27

28
  const response = await fetch(url, {
29
    method: "PATCH",
30
    headers: {
31
      "Content-Type": "application/json",
32
      Authorization: "Bearer " + auth.token,
33
    },
34
    body: JSON.stringify(body),
35
  });
36
  if (!response.ok) {
37
    const text = await response.text();
38
    throw new Error(`${response.status} ${text}`);
39
  }
40
  return await response.json();
41
}
42