type Jira = {
username: string;
password: string;
domain: string;
};
/**
* Create workflow transition property
* Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*/
export async function main(
auth: Jira,
transitionId: string,
key: string | undefined,
workflowName: string | undefined,
workflowMode: "live" | "draft" | undefined,
body: { id?: string; key?: string; value: string; [k: string]: unknown }
) {
const url = new URL(
`https://${auth.domain}.atlassian.net/rest/api/2/workflow/transitions/${transitionId}/properties`
);
for (const [k, v] of [
["key", key],
["workflowName", workflowName],
["workflowMode", workflowMode],
]) {
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;
};
/**
* Create workflow transition property
* Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*/
export async function main(
auth: Jira,
transitionId: string,
key: string | undefined,
workflowName: string | undefined,
workflowMode: "live" | "draft" | undefined,
body: { id?: string; key?: string; value: string; [k: string]: unknown }
) {
const url = new URL(
`https://${auth.domain}.atlassian.net/rest/api/2/workflow/transitions/${transitionId}/properties`
);
for (const [k, v] of [
["key", key],
["workflowName", workflowName],
["workflowMode", workflowMode],
]) {
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