0

Get account IDs for users

by
Published Nov 2, 2023

Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or `username` parameters can be specified. **[Permissions](#permissions) required:** Permission to access Jira.

Script jira
  • Submitted by hugo697 Typescript (fetch-only)
    Created 527 days ago
    1
    type Jira = {
    2
      username: string;
    3
      password: string;
    4
      domain: string;
    5
    };
    6
    /**
    7
     * Get account IDs for users
    8
     * Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or `username` parameters can be specified.
    9
    
    
    10
    **[Permissions](#permissions) required:** Permission to access Jira.
    11
     */
    12
    export async function main(
    13
      auth: Jira,
    14
      startAt: string | undefined,
    15
      maxResults: string | undefined,
    16
      username: string | undefined,
    17
      key: string | undefined
    18
    ) {
    19
      const url = new URL(
    20
        `https://${auth.domain}.atlassian.net/rest/api/2/user/bulk/migration`
    21
      );
    22
      for (const [k, v] of [
    23
        ["startAt", startAt],
    24
        ["maxResults", maxResults],
    25
        ["username", username],
    26
        ["key", key],
    27
      ]) {
    28
        if (v !== undefined && v !== "") {
    29
          url.searchParams.append(k, v);
    30
        }
    31
      }
    32
      const response = await fetch(url, {
    33
        method: "GET",
    34
        headers: {
    35
          Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
    36
        },
    37
        body: undefined,
    38
      });
    39
      if (!response.ok) {
    40
        const text = await response.text();
    41
        throw new Error(`${response.status} ${text}`);
    42
      }
    43
      return await response.json();
    44
    }
    45