Edits history of script submission #1539 for ' Create a project in a workspace (bitbucket)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Bitbucket = {
      username: string;
      password: string;
    };
    /**
     * Create a project in a workspace
     * Creates a new project.
    
    Note that the avatar has to be embedded as either a data-url
    or a URL to an external image as shown in the examples below:
    
    ```
    $ body=$(cat 
     */
    export async function main(
      auth: Bitbucket,
      workspace: string,
      body: { type: string; [k: string]: unknown } & {
        links?: {
          html?: { href?: string; name?: string };
          avatar?: { href?: string; name?: string };
        };
        uuid?: string;
        key?: string;
        owner?: ({ type: string; [k: string]: unknown } & {
          links?: {
            avatar?: { href?: string; name?: string };
            [k: string]: unknown;
          };
          created_on?: string;
          display_name?: string;
          username?: string;
          uuid?: string;
          [k: string]: unknown;
        }) & {
          links?: {
            avatar?: { href?: string; name?: string };
            [k: string]: unknown;
          } & {
            self?: { href?: string; name?: string };
            html?: { href?: string; name?: string };
            members?: { href?: string; name?: string };
            projects?: { href?: string; name?: string };
            repositories?: { href?: string; name?: string };
            [k: string]: unknown;
          };
          [k: string]: unknown;
        };
        name?: string;
        description?: string;
        is_private?: boolean;
        created_on?: string;
        updated_on?: string;
        has_publicly_visible_repos?: boolean;
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/workspaces/${workspace}/projects`
      );
    
      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 375 days ago

  • nativets
    type Bitbucket = {
      username: string;
      password: string;
    };
    /**
     * Create a project in a workspace
     * Creates a new project.
    
    Note that the avatar has to be embedded as either a data-url
    or a URL to an external image as shown in the examples below:
    
    ```
    $ body=$(cat 
     */
    export async function main(
      auth: Bitbucket,
      workspace: string,
      body: { type: string; [k: string]: unknown } & {
        links?: {
          html?: { href?: string; name?: string };
          avatar?: { href?: string; name?: string };
        };
        uuid?: string;
        key?: string;
        owner?: ({ type: string; [k: string]: unknown } & {
          links?: {
            avatar?: { href?: string; name?: string };
            [k: string]: unknown;
          };
          created_on?: string;
          display_name?: string;
          username?: string;
          uuid?: string;
          [k: string]: unknown;
        }) & {
          links?: {
            avatar?: { href?: string; name?: string };
            [k: string]: unknown;
          } & {
            self?: { href?: string; name?: string };
            html?: { href?: string; name?: string };
            members?: { href?: string; name?: string };
            projects?: { href?: string; name?: string };
            repositories?: { href?: string; name?: string };
            [k: string]: unknown;
          };
          [k: string]: unknown;
        };
        name?: string;
        description?: string;
        is_private?: boolean;
        created_on?: string;
        updated_on?: string;
        has_publicly_visible_repos?: boolean;
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/workspaces/${workspace}/projects`
      );
    
      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 880 days ago

  • nativets
    type Bitbucket = {
      username: string;
      password: string;
    };
    /**
     * Create a project in a workspace
     * Creates a new project.
     */
    export async function main(
      auth: Bitbucket,
      workspace: string,
      body: { type: string; [k: string]: unknown } & {
        links?: {
          html?: { href?: string; name?: string };
          avatar?: { href?: string; name?: string };
        };
        uuid?: string;
        key?: string;
        owner?: ({ type: string; [k: string]: unknown } & {
          links?: {
            avatar?: { href?: string; name?: string };
            [k: string]: unknown;
          };
          created_on?: string;
          display_name?: string;
          username?: string;
          uuid?: string;
          [k: string]: unknown;
        }) & {
          links?: {
            avatar?: { href?: string; name?: string };
            [k: string]: unknown;
          } & {
            self?: { href?: string; name?: string };
            html?: { href?: string; name?: string };
            members?: { href?: string; name?: string };
            projects?: { href?: string; name?: string };
            repositories?: { href?: string; name?: string };
            [k: string]: unknown;
          };
          [k: string]: unknown;
        };
        name?: string;
        description?: string;
        is_private?: boolean;
        created_on?: string;
        updated_on?: string;
        has_publicly_visible_repos?: boolean;
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/workspaces/${workspace}/projects`
      );
    
      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 935 days ago

  • nativets
    type Bitbucket = {
      username: string;
      password: string;
    };
    /**
     * Create a project in a workspace
     * Creates a new project.
    
    Note that the avatar has to be embedded as either a data-url
    or a URL to an external image as shown in the examples below:
    
    ```
    $ body=$(cat << EOF
    {
        "name": "Mars Project",
        "key": "MARS",
        "description": "Software for colonizing mars.",
        "links": {
            "avatar": {
                "href": "data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/..."
            }
        },
        "is_private": false
    }
    EOF
    )
    $ curl -H "Content-Type: application/json" \
           -X POST \
           -d "$body" \
           https://api.bitbucket.org/2.0/workspaces/teams-in-space/projects/ | jq .
    {
      // Serialized project document
    }
    ```
    
    or even:
    
    ```
    $ body=$(cat << EOF
    {
        "name": "Mars Project",
        "key": "MARS",
        "description": "Software for colonizing mars.",
        "links": {
            "avatar": {
                "href": "http://i.imgur.com/72tRx4w.gif"
            }
        },
        "is_private": false
    }
    EOF
    )
    $ curl -H "Content-Type: application/json" \
           -X POST \
           -d "$body" \
           https://api.bitbucket.org/2.0/workspaces/teams-in-space/projects/ | jq .
    {
      // Serialized project document
    }
    ```
     */
    export async function main(
      auth: Bitbucket,
      workspace: string,
      body: { type: string; [k: string]: unknown } & {
        links?: {
          html?: { href?: string; name?: string };
          avatar?: { href?: string; name?: string };
        };
        uuid?: string;
        key?: string;
        owner?: ({ type: string; [k: string]: unknown } & {
          links?: {
            avatar?: { href?: string; name?: string };
            [k: string]: unknown;
          };
          created_on?: string;
          display_name?: string;
          username?: string;
          uuid?: string;
          [k: string]: unknown;
        }) & {
          links?: {
            avatar?: { href?: string; name?: string };
            [k: string]: unknown;
          } & {
            self?: { href?: string; name?: string };
            html?: { href?: string; name?: string };
            members?: { href?: string; name?: string };
            projects?: { href?: string; name?: string };
            repositories?: { href?: string; name?: string };
            [k: string]: unknown;
          };
          [k: string]: unknown;
        };
        name?: string;
        description?: string;
        is_private?: boolean;
        created_on?: string;
        updated_on?: string;
        has_publicly_visible_repos?: boolean;
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/workspaces/${workspace}/projects`
      );
    
      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 935 days ago