Edits history of script submission #1495 for ' Get the merge task status for a pull request (bitbucket)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Bitbucket = {
      username: string;
      password: string;
    };
    /**
     * Get the merge task status for a pull request
     * When merging a pull request takes too long, the client receives a
    task ID along with a 202 status code.
     */
    export async function main(
      auth: Bitbucket,
      pull_request_id: string,
      repo_slug: string,
      task_id: string,
      workspace: string
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/merge/task-status/${task_id}`
      );
    
      const response = await fetch(url, {
        method: "GET",
        headers: {
          Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
        },
        body: undefined,
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.text();
    }
    

    Submitted by hugo697 375 days ago

  • nativets
    type Bitbucket = {
      username: string;
      password: string;
    };
    /**
     * Get the merge task status for a pull request
     * When merging a pull request takes too long, the client receives a
    task ID along with a 202 status code.
     */
    export async function main(
      auth: Bitbucket,
      pull_request_id: string,
      repo_slug: string,
      task_id: string,
      workspace: string
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/merge/task-status/${task_id}`
      );
    
      const response = await fetch(url, {
        method: "GET",
        headers: {
          Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
        },
        body: undefined,
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.text();
    }
    

    Submitted by hugo697 935 days ago

  • nativets
    type Bitbucket = {
      username: string;
      password: string;
    };
    /**
     * Get the merge task status for a pull request
     * When merging a pull request takes too long, the client receives a
    task ID along with a 202 status code. The task ID can be used in a call
    to this endpoint to check the status of a merge task.
    
    ```
    curl -X GET https://api.bitbucket.org/2.0/repositories/atlassian/bitbucket/pullrequests/2286/merge/task-status/<task_id>
    ```
    
    If the merge task is not yet finished, a PENDING status will be returned.
    
    ```
    HTTP/2 200
    {
        "task_status": "PENDING",
        "links": {
            "self": {
                "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bitbucket/pullrequests/2286/merge/task-status/<task_id>"
            }
        }
    }
    ```
    
    If the merge was successful, a SUCCESS status will be returned.
    
    ```
    HTTP/2 200
    {
        "task_status": "SUCCESS",
        "links": {
            "self": {
                "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bitbucket/pullrequests/2286/merge/task-status/<task_id>"
            }
        },
        "merge_result": <the merged pull request object>
    }
    ```
    
    If the merge task failed, an error will be returned.
    
    ```
    {
        "type": "error",
        "error": {
            "message": "<error message>"
        }
    }
    ```
     */
    export async function main(
      auth: Bitbucket,
      pull_request_id: string,
      repo_slug: string,
      task_id: string,
      workspace: string
    ) {
      const url = new URL(
        `https://api.bitbucket.org/2.0/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/merge/task-status/${task_id}`
      );
    
      const response = await fetch(url, {
        method: "GET",
        headers: {
          Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
        },
        body: undefined,
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.text();
    }
    

    Submitted by hugo697 935 days ago