Returns all permission schemes.
1
type Jira = {
2
username: string;
3
password: string;
4
domain: string;
5
};
6
/**
7
* Get all permission schemes
8
* Returns all permission schemes.
9
*/
10
export async function main(auth: Jira, expand: string | undefined) {
11
const url = new URL(
12
`https://${auth.domain}.atlassian.net/rest/api/2/permissionscheme`
13
);
14
for (const [k, v] of [["expand", expand]]) {
15
if (v !== undefined && v !== "") {
16
url.searchParams.append(k, v);
17
}
18
19
const response = await fetch(url, {
20
method: "GET",
21
headers: {
22
Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
23
},
24
body: undefined,
25
});
26
if (!response.ok) {
27
const text = await response.text();
28
throw new Error(`${response.status} ${text}`);
29
30
return await response.json();
31
32