//native
/**
* Get Transitions
* List the workflow transitions the current user can perform on an issue in its current status. Pass `expand: "transitions.fields"` to see the fields each transition screen accepts.
*/
export async function main(
auth: RT.Jira,
issue_id_or_key: string,
transition_id: string | undefined,
expand: string | undefined,
skip_remote_only_condition: boolean | undefined,
include_unavailable_transitions: boolean | undefined,
sort_by_ops_bar_and_status: boolean | undefined
) {
const url = new URL(
`https://${auth.domain}.atlassian.net/rest/api/3/issue/${issue_id_or_key}/transitions`
)
if (transition_id != null && transition_id !== "") {
url.searchParams.append("transitionId", transition_id)
}
if (expand != null && expand !== "") {
url.searchParams.append("expand", expand)
}
if (skip_remote_only_condition) {
url.searchParams.append("skipRemoteOnlyCondition", "true")
}
if (include_unavailable_transitions) {
url.searchParams.append("includeUnavailableTransitions", "true")
}
if (sort_by_ops_bar_and_status) {
url.searchParams.append("sortByOpsBarAndStatus", "true")
}
const response = await fetch(url, {
method: "GET",
headers: {
Authorization: `Basic ${btoa(`${auth.username}:${auth.password}`)}`,
Accept: "application/json",
},
})
if (!response.ok) {
throw new Error(`${response.status} ${await response.text()}`)
}
return await response.json()
}
Submitted by hugo989 8 days ago