type Jira = {
username: string;
password: string;
domain: string;
};
/**
* Bulk get workflows
* Returns a list of workflows and related statuses by providing workflow names, workflow IDs, or project and issue types.
**[Permissions](#permissions) required:**
* *Administer Jira* global permission to access all, including project-scoped, workflows
* At least one of the *Administer projects* and *View (read-only) workflow* project permissions to access project-scoped workflows
*/
export async function main(
auth: Jira,
expand: string | undefined,
body: {
projectAndIssueTypes?: { issueTypeId: string; projectId: string }[];
workflowIds?: string[];
workflowNames?: string[];
}
) {
const url = new URL(
`https://${auth.domain}.atlassian.net/rest/api/2/workflows`
);
for (const [k, v] of [["expand", expand]]) {
if (v !== undefined && v !== "") {
url.searchParams.append(k, v);
}
}
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
},
body: JSON.stringify(body),
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 396 days ago
type Jira = {
username: string;
password: string;
domain: string;
};
/**
* Bulk get workflows
* Returns a list of workflows and related statuses by providing workflow names, workflow IDs, or project and issue types.
**[Permissions](#permissions) required:**
* *Administer Jira* global permission to access all, including project-scoped, workflows
* At least one of the *Administer projects* and *View (read-only) workflow* project permissions to access project-scoped workflows
*/
export async function main(
auth: Jira,
expand: string | undefined,
body: {
projectAndIssueTypes?: { issueTypeId: string; projectId: string }[];
workflowIds?: string[];
workflowNames?: string[];
}
) {
const url = new URL(
`https://${auth.domain}.atlassian.net/rest/api/2/workflows`
);
for (const [k, v] of [["expand", expand]]) {
if (v !== undefined && v !== "") {
url.searchParams.append(k, v);
}
}
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
},
body: JSON.stringify(body),
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 948 days ago