Edits history of script submission #1394 for ' Modify the state of an issue (bitbucket)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Bitbucket = {
      username: string;
      password: string;
    };
    /**
     * Modify the state of an issue
     * Makes a change to the specified issue.
     */
    export async function main(
      auth: Bitbucket,
      issue_id: string,
      repo_slug: string,
      workspace: string,
      body: {
        type: string;
        links?: {
          self?: { href?: string; name?: string };
          issue?: { href?: string; name?: string };
        };
        name?: string;
        created_on?: 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;
        };
        issue?: { type: string; [k: string]: unknown } & {
          links?: {
            self?: { href?: string; name?: string };
            html?: { href?: string; name?: string };
            comments?: { href?: string; name?: string };
            attachments?: { href?: string; name?: string };
            watch?: { href?: string; name?: string };
            vote?: { href?: string; name?: string };
          };
          id?: number;
          repository?: { 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;
          };
          title?: string;
          reporter?: { 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;
          };
          assignee?: { 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;
          };
          created_on?: string;
          updated_on?: string;
          edited_on?: string;
          state?:
            | "submitted"
            | "new"
            | "open"
            | "resolved"
            | "on hold"
            | "invalid"
            | "duplicate"
            | "wontfix"
            | "closed";
          kind?: "bug" | "enhancement" | "proposal" | "task";
          priority?: "trivial" | "minor" | "major" | "critical" | "blocker";
          milestone?: { type: string; [k: string]: unknown } & {
            links?: { self?: { href?: string; name?: string } };
            name?: string;
            id?: number;
            [k: string]: unknown;
          };
          version?: { type: string; [k: string]: unknown } & {
            links?: { self?: { href?: string; name?: string } };
            name?: string;
            id?: number;
            [k: string]: unknown;
          };
          component?: { type: string; [k: string]: unknown } & {
            links?: { self?: { href?: string; name?: string } };
            name?: string;
            id?: number;
            [k: string]: unknown;
          };
          votes?: number;
          content?: {
            raw?: string;
            markup?: "markdown" | "creole" | "plaintext";
            html?: string;
          };
          [k: string]: unknown;
        };
        changes?: {
          assignee?: { old?: string; new?: string };
          state?: { old?: string; new?: string };
          title?: { old?: string; new?: string };
          kind?: { old?: string; new?: string };
          milestone?: { old?: string; new?: string };
          component?: { old?: string; new?: string };
          priority?: { old?: string; new?: string };
          version?: { old?: string; new?: string };
          content?: { old?: string; new?: string };
        };
        message?: {
          raw?: string;
          markup?: "markdown" | "creole" | "plaintext";
          html?: string;
        };
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/repositories/${workspace}/${repo_slug}/issues/${issue_id}/changes`
      );
    
      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;
    };
    /**
     * Modify the state of an issue
     * Makes a change to the specified issue.
     */
    export async function main(
      auth: Bitbucket,
      issue_id: string,
      repo_slug: string,
      workspace: string,
      body: {
        type: string;
        links?: {
          self?: { href?: string; name?: string };
          issue?: { href?: string; name?: string };
        };
        name?: string;
        created_on?: 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;
        };
        issue?: { type: string; [k: string]: unknown } & {
          links?: {
            self?: { href?: string; name?: string };
            html?: { href?: string; name?: string };
            comments?: { href?: string; name?: string };
            attachments?: { href?: string; name?: string };
            watch?: { href?: string; name?: string };
            vote?: { href?: string; name?: string };
          };
          id?: number;
          repository?: { 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;
          };
          title?: string;
          reporter?: { 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;
          };
          assignee?: { 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;
          };
          created_on?: string;
          updated_on?: string;
          edited_on?: string;
          state?:
            | "submitted"
            | "new"
            | "open"
            | "resolved"
            | "on hold"
            | "invalid"
            | "duplicate"
            | "wontfix"
            | "closed";
          kind?: "bug" | "enhancement" | "proposal" | "task";
          priority?: "trivial" | "minor" | "major" | "critical" | "blocker";
          milestone?: { type: string; [k: string]: unknown } & {
            links?: { self?: { href?: string; name?: string } };
            name?: string;
            id?: number;
            [k: string]: unknown;
          };
          version?: { type: string; [k: string]: unknown } & {
            links?: { self?: { href?: string; name?: string } };
            name?: string;
            id?: number;
            [k: string]: unknown;
          };
          component?: { type: string; [k: string]: unknown } & {
            links?: { self?: { href?: string; name?: string } };
            name?: string;
            id?: number;
            [k: string]: unknown;
          };
          votes?: number;
          content?: {
            raw?: string;
            markup?: "markdown" | "creole" | "plaintext";
            html?: string;
          };
          [k: string]: unknown;
        };
        changes?: {
          assignee?: { old?: string; new?: string };
          state?: { old?: string; new?: string };
          title?: { old?: string; new?: string };
          kind?: { old?: string; new?: string };
          milestone?: { old?: string; new?: string };
          component?: { old?: string; new?: string };
          priority?: { old?: string; new?: string };
          version?: { old?: string; new?: string };
          content?: { old?: string; new?: string };
        };
        message?: {
          raw?: string;
          markup?: "markdown" | "creole" | "plaintext";
          html?: string;
        };
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/repositories/${workspace}/${repo_slug}/issues/${issue_id}/changes`
      );
    
      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;
    };
    /**
     * Modify the state of an issue
     * Makes a change to the specified issue.
    
    For example, to change an issue's state and assignee, create a new
    change object that modifies these fields:
    
    ```
    curl https://api.bitbucket.org/2.0/site/master/issues/1234/changes \
      -s -u evzijst -X POST -H "Content-Type: application/json" \
      -d '{
        "changes": {
          "assignee_account_id": {
            "new": "557058:c0b72ad0-1cb5-4018-9cdc-0cde8492c443"
          },
          "state": {
            "new": 'resolved"
          }
        }
        "message": {
          "raw": "This is now resolved."
        }
      }'
    ```
    
    The above example also includes a custom comment to go alongside the
    change. This comment will also be visible on the issue page in the UI.
    
    The fields of the `changes` object are strings, not objects. This
    allows for immutable change log records, even after user accounts,
    milestones, or other objects recorded in a change entry, get renamed or
    deleted.
    
    The `assignee_account_id` field stores the account id. When POSTing a
    new change and changing the assignee, the client should therefore use
    the user's account_id in the `changes.assignee_account_id.new` field.
    
    This call requires authentication. Private repositories or private
    issue trackers require the caller to authenticate with an account that
    has appropriate authorization.
     */
    export async function main(
      auth: Bitbucket,
      issue_id: string,
      repo_slug: string,
      workspace: string,
      body: {
        type: string;
        links?: {
          self?: { href?: string; name?: string };
          issue?: { href?: string; name?: string };
        };
        name?: string;
        created_on?: 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;
        };
        issue?: { type: string; [k: string]: unknown } & {
          links?: {
            self?: { href?: string; name?: string };
            html?: { href?: string; name?: string };
            comments?: { href?: string; name?: string };
            attachments?: { href?: string; name?: string };
            watch?: { href?: string; name?: string };
            vote?: { href?: string; name?: string };
          };
          id?: number;
          repository?: { 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;
          };
          title?: string;
          reporter?: { 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;
          };
          assignee?: { 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;
          };
          created_on?: string;
          updated_on?: string;
          edited_on?: string;
          state?:
            | "submitted"
            | "new"
            | "open"
            | "resolved"
            | "on hold"
            | "invalid"
            | "duplicate"
            | "wontfix"
            | "closed";
          kind?: "bug" | "enhancement" | "proposal" | "task";
          priority?: "trivial" | "minor" | "major" | "critical" | "blocker";
          milestone?: { type: string; [k: string]: unknown } & {
            links?: { self?: { href?: string; name?: string } };
            name?: string;
            id?: number;
            [k: string]: unknown;
          };
          version?: { type: string; [k: string]: unknown } & {
            links?: { self?: { href?: string; name?: string } };
            name?: string;
            id?: number;
            [k: string]: unknown;
          };
          component?: { type: string; [k: string]: unknown } & {
            links?: { self?: { href?: string; name?: string } };
            name?: string;
            id?: number;
            [k: string]: unknown;
          };
          votes?: number;
          content?: {
            raw?: string;
            markup?: "markdown" | "creole" | "plaintext";
            html?: string;
          };
          [k: string]: unknown;
        };
        changes?: {
          assignee?: { old?: string; new?: string };
          state?: { old?: string; new?: string };
          title?: { old?: string; new?: string };
          kind?: { old?: string; new?: string };
          milestone?: { old?: string; new?: string };
          component?: { old?: string; new?: string };
          priority?: { old?: string; new?: string };
          version?: { old?: string; new?: string };
          content?: { old?: string; new?: string };
        };
        message?: {
          raw?: string;
          markup?: "markdown" | "creole" | "plaintext";
          html?: string;
        };
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/repositories/${workspace}/${repo_slug}/issues/${issue_id}/changes`
      );
    
      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