Edits history of script submission #1511 for ' Fork a repository (bitbucket)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Bitbucket = {
      username: string;
      password: string;
    };
    /**
     * Fork a repository
     * Creates a new fork of the specified repository.
     */
    export async function main(
      auth: Bitbucket,
      repo_slug: string,
      workspace: string,
      body: { type: string; [k: string]: unknown } & {
        links?: {
          self?: { href?: string; name?: string };
          html?: { href?: string; name?: string };
          avatar?: { href?: string; name?: string };
          pullrequests?: { href?: string; name?: string };
          commits?: { href?: string; name?: string };
          forks?: { href?: string; name?: string };
          watchers?: { href?: string; name?: string };
          downloads?: { href?: string; name?: string };
          clone?: { href?: string; name?: string }[];
          hooks?: { href?: string; name?: string };
        };
        uuid?: string;
        full_name?: string;
        is_private?: boolean;
        parent?: unknown;
        scm?: "git";
        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;
        };
        name?: string;
        description?: string;
        created_on?: string;
        updated_on?: string;
        size?: number;
        language?: string;
        has_issues?: boolean;
        has_wiki?: boolean;
        fork_policy?: "allow_forks" | "no_public_forks" | "no_forks";
        project?: { 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;
        };
        mainbranch?: {
          type: string;
          links?: {
            self?: { href?: string; name?: string };
            commits?: { href?: string; name?: string };
            html?: { href?: string; name?: string };
          };
          name?: string;
          target?: ({ type: string; [k: string]: unknown } & {
            hash?: string;
            date?: string;
            author?: { type: string; [k: string]: unknown } & {
              raw?: string;
              user?: { 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;
              };
              [k: string]: unknown;
            };
            message?: string;
            summary?: {
              raw?: string;
              markup?: "markdown" | "creole" | "plaintext";
              html?: string;
            };
            parents?: unknown[];
            [k: string]: unknown;
          }) & {
            repository?: unknown;
            participants?: ({ type: string; [k: string]: unknown } & {
              user?: { 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;
              };
              role?: "PARTICIPANT" | "REVIEWER";
              approved?: boolean;
              state?: "approved" | "changes_requested" | null;
              participated_on?: string;
              [k: string]: unknown;
            })[];
            [k: string]: unknown;
          };
          [k: string]: unknown;
        } & {
          merge_strategies?: ("merge_commit" | "squash" | "fast_forward")[];
          default_merge_strategy?: string;
          [k: string]: unknown;
        };
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/repositories/${workspace}/${repo_slug}/forks`
      );
    
      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;
    };
    /**
     * Fork a repository
     * Creates a new fork of the specified repository.
     */
    export async function main(
      auth: Bitbucket,
      repo_slug: string,
      workspace: string,
      body: { type: string; [k: string]: unknown } & {
        links?: {
          self?: { href?: string; name?: string };
          html?: { href?: string; name?: string };
          avatar?: { href?: string; name?: string };
          pullrequests?: { href?: string; name?: string };
          commits?: { href?: string; name?: string };
          forks?: { href?: string; name?: string };
          watchers?: { href?: string; name?: string };
          downloads?: { href?: string; name?: string };
          clone?: { href?: string; name?: string }[];
          hooks?: { href?: string; name?: string };
        };
        uuid?: string;
        full_name?: string;
        is_private?: boolean;
        parent?: unknown;
        scm?: "git";
        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;
        };
        name?: string;
        description?: string;
        created_on?: string;
        updated_on?: string;
        size?: number;
        language?: string;
        has_issues?: boolean;
        has_wiki?: boolean;
        fork_policy?: "allow_forks" | "no_public_forks" | "no_forks";
        project?: { 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;
        };
        mainbranch?: {
          type: string;
          links?: {
            self?: { href?: string; name?: string };
            commits?: { href?: string; name?: string };
            html?: { href?: string; name?: string };
          };
          name?: string;
          target?: ({ type: string; [k: string]: unknown } & {
            hash?: string;
            date?: string;
            author?: { type: string; [k: string]: unknown } & {
              raw?: string;
              user?: { 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;
              };
              [k: string]: unknown;
            };
            message?: string;
            summary?: {
              raw?: string;
              markup?: "markdown" | "creole" | "plaintext";
              html?: string;
            };
            parents?: unknown[];
            [k: string]: unknown;
          }) & {
            repository?: unknown;
            participants?: ({ type: string; [k: string]: unknown } & {
              user?: { 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;
              };
              role?: "PARTICIPANT" | "REVIEWER";
              approved?: boolean;
              state?: "approved" | "changes_requested" | null;
              participated_on?: string;
              [k: string]: unknown;
            })[];
            [k: string]: unknown;
          };
          [k: string]: unknown;
        } & {
          merge_strategies?: ("merge_commit" | "squash" | "fast_forward")[];
          default_merge_strategy?: string;
          [k: string]: unknown;
        };
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/repositories/${workspace}/${repo_slug}/forks`
      );
    
      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;
    };
    /**
     * Fork a repository
     * Creates a new fork of the specified repository.
    
    #### Forking a repository
    
    To create a fork, specify the workspace explicitly as part of the
    request body:
    
    ```
    $ curl -X POST -u jdoe https://api.bitbucket.org/2.0/repositories/atlassian/bbql/forks \
      -H 'Content-Type: application/json' -d '{
        "name": "bbql_fork",
        "workspace": {
          "slug": "atlassian"
        }
    }'
    ```
    
    To fork a repository into the same workspace, also specify a new `name`.
    
    When you specify a value for `name`, it will also affect the `slug`.
    The `slug` is reflected in the repository URL of the new fork. It is
    derived from `name` by substituting non-ASCII characters, removes
    whitespace, and changes characters to lower case. For example,
    `My repo` would turn into `my_repo`.
    
    You need contributor access to create new forks within a workspace.
    
    
    #### Change the properties of a new fork
    
    By default the fork inherits most of its properties from the parent.
    However, since the optional POST body document follows the normal
    `repository` JSON schema and you can override the new fork's
    properties.
    
    Properties that can be overridden include:
    
    * description
    * fork_policy
    * language
    * mainbranch
    * is_private (note that a private repo's fork_policy might prohibit
      the creation of public forks, in which `is_private=False` would fail)
    * has_issues (to initialize or disable the new repo's issue tracker --
      note that the actual contents of the parent repository's issue
      tracker are not copied during forking)
    * has_wiki (to initialize or disable the new repo's wiki --
      note that the actual contents of the parent repository's wiki are not
      copied during forking)
    * project (when forking into a private project, the fork's `is_private`
      must be `true`)
    
    Properties that cannot be modified include:
    
    * scm
    * parent
    * full_name
     */
    export async function main(
      auth: Bitbucket,
      repo_slug: string,
      workspace: string,
      body: { type: string; [k: string]: unknown } & {
        links?: {
          self?: { href?: string; name?: string };
          html?: { href?: string; name?: string };
          avatar?: { href?: string; name?: string };
          pullrequests?: { href?: string; name?: string };
          commits?: { href?: string; name?: string };
          forks?: { href?: string; name?: string };
          watchers?: { href?: string; name?: string };
          downloads?: { href?: string; name?: string };
          clone?: { href?: string; name?: string }[];
          hooks?: { href?: string; name?: string };
        };
        uuid?: string;
        full_name?: string;
        is_private?: boolean;
        parent?: unknown;
        scm?: "git";
        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;
        };
        name?: string;
        description?: string;
        created_on?: string;
        updated_on?: string;
        size?: number;
        language?: string;
        has_issues?: boolean;
        has_wiki?: boolean;
        fork_policy?: "allow_forks" | "no_public_forks" | "no_forks";
        project?: { 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;
        };
        mainbranch?: {
          type: string;
          links?: {
            self?: { href?: string; name?: string };
            commits?: { href?: string; name?: string };
            html?: { href?: string; name?: string };
          };
          name?: string;
          target?: ({ type: string; [k: string]: unknown } & {
            hash?: string;
            date?: string;
            author?: { type: string; [k: string]: unknown } & {
              raw?: string;
              user?: { 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;
              };
              [k: string]: unknown;
            };
            message?: string;
            summary?: {
              raw?: string;
              markup?: "markdown" | "creole" | "plaintext";
              html?: string;
            };
            parents?: unknown[];
            [k: string]: unknown;
          }) & {
            repository?: unknown;
            participants?: ({ type: string; [k: string]: unknown } & {
              user?: { 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;
              };
              role?: "PARTICIPANT" | "REVIEWER";
              approved?: boolean;
              state?: "approved" | "changes_requested" | null;
              participated_on?: string;
              [k: string]: unknown;
            })[];
            [k: string]: unknown;
          };
          [k: string]: unknown;
        } & {
          merge_strategies?: ("merge_commit" | "squash" | "fast_forward")[];
          default_merge_strategy?: string;
          [k: string]: unknown;
        };
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/repositories/${workspace}/${repo_slug}/forks`
      );
    
      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