0

Get valid project key

by
Published Nov 2, 2023

Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key. **[Permissions](#permissions) required:** None.

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 valid project key
    8
     * Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key.
    9
    
    
    10
    **[Permissions](#permissions) required:** None.
    11
     */
    12
    export async function main(auth: Jira, key: string | undefined) {
    13
      const url = new URL(
    14
        `https://${auth.domain}.atlassian.net/rest/api/2/projectvalidate/validProjectKey`
    15
      );
    16
      for (const [k, v] of [["key", key]]) {
    17
        if (v !== undefined && v !== "") {
    18
          url.searchParams.append(k, v);
    19
        }
    20
      }
    21
      const response = await fetch(url, {
    22
        method: "GET",
    23
        headers: {
    24
          Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
    25
        },
    26
        body: undefined,
    27
      });
    28
      if (!response.ok) {
    29
        const text = await response.text();
    30
        throw new Error(`${response.status} ${text}`);
    31
      }
    32
      return await response.json();
    33
    }
    34