type Jira = {
username: string;
password: string;
domain: string;
};
/**
* Find users and groups
* Returns a list of users and groups matching a string.
*/
export async function main(
auth: Jira,
query: string | undefined,
maxResults: string | undefined,
showAvatar: string | undefined,
fieldId: string | undefined,
projectId: string | undefined,
issueTypeId: string | undefined,
avatarSize:
| "xsmall"
| "xsmall@2x"
| "xsmall@3x"
| "small"
| "small@2x"
| "small@3x"
| "medium"
| "medium@2x"
| "medium@3x"
| "large"
| "large@2x"
| "large@3x"
| "xlarge"
| "xlarge@2x"
| "xlarge@3x"
| "xxlarge"
| "xxlarge@2x"
| "xxlarge@3x"
| "xxxlarge"
| "xxxlarge@2x"
| "xxxlarge@3x"
| undefined,
caseInsensitive: string | undefined,
excludeConnectAddons: string | undefined
) {
const url = new URL(
`https://${auth.domain}.atlassian.net/rest/api/2/groupuserpicker`
);
for (const [k, v] of [
["query", query],
["maxResults", maxResults],
["showAvatar", showAvatar],
["fieldId", fieldId],
["projectId", projectId],
["issueTypeId", issueTypeId],
["avatarSize", avatarSize],
["caseInsensitive", caseInsensitive],
["excludeConnectAddons", excludeConnectAddons],
]) {
if (v !== undefined && v !== "") {
url.searchParams.append(k, v);
}
}
const response = await fetch(url, {
method: "GET",
headers: {
Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
},
body: undefined,
});
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;
};
/**
* Find users and groups
* Returns a list of users and groups matching a string.
*/
export async function main(
auth: Jira,
query: string | undefined,
maxResults: string | undefined,
showAvatar: string | undefined,
fieldId: string | undefined,
projectId: string | undefined,
issueTypeId: string | undefined,
avatarSize:
| "xsmall"
| "xsmall@2x"
| "xsmall@3x"
| "small"
| "small@2x"
| "small@3x"
| "medium"
| "medium@2x"
| "medium@3x"
| "large"
| "large@2x"
| "large@3x"
| "xlarge"
| "xlarge@2x"
| "xlarge@3x"
| "xxlarge"
| "xxlarge@2x"
| "xxlarge@3x"
| "xxxlarge"
| "xxxlarge@2x"
| "xxxlarge@3x"
| undefined,
caseInsensitive: string | undefined,
excludeConnectAddons: string | undefined
) {
const url = new URL(
`https://${auth.domain}.atlassian.net/rest/api/2/groupuserpicker`
);
for (const [k, v] of [
["query", query],
["maxResults", maxResults],
["showAvatar", showAvatar],
["fieldId", fieldId],
["projectId", projectId],
["issueTypeId", issueTypeId],
["avatarSize", avatarSize],
["caseInsensitive", caseInsensitive],
["excludeConnectAddons", excludeConnectAddons],
]) {
if (v !== undefined && v !== "") {
url.searchParams.append(k, v);
}
}
const response = await fetch(url, {
method: "GET",
headers: {
Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
},
body: undefined,
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 948 days ago