Edits history of script submission #1322 for ' New Repository (bitbucket)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    import { getState, setState } from "windmill-client@1";
    
    type Bitbucket = {
      username: string;
      password: string;
    };
    
    export async function main(bitbucket: Bitbucket, workspace: string) {
      const lastChecked: number = (await getState()) || 0;
    
      const response = await fetch(
        `https://api.bitbucket.org/2.0/repositories/${workspace}?pagelen=100`,
        {
          headers: {
            Authorization:
              "Basic " +
              Buffer.from(bitbucket.username + ":" + bitbucket.password).toString(
                "base64"
              ),
          },
        }
      );
      const data = await response.json();
      if (!response.ok) {
        throw new Error(data.error.message);
      }
      const newRepos = [];
      for (const repo of data?.values || []) {
        if (new Date(repo.created_on).getTime() > lastChecked) {
          newRepos.push(repo);
        } else {
          break;
        }
      }
    
      if (newRepos.length > 0) {
        await setState(new Date(newRepos[0].created_on).getTime());
      }
    
      return newRepos;
    }
    

    Submitted by hugo697 375 days ago

  • bun
    import { getState, setState } from "windmill-client@1";
    
    type Bitbucket = {
      username: string;
      password: string;
    };
    
    export async function main(bitbucket: Bitbucket, workspace: string) {
      const lastChecked: number = (await getState()) || 0;
    
      const response = await fetch(
        `https://api.bitbucket.org/2.0/repositories/${workspace}?pagelen=100`,
        {
          headers: {
            Authorization:
              "Basic " +
              Buffer.from(bitbucket.username + ":" + bitbucket.password).toString(
                "base64"
              ),
          },
        }
      );
      const data = await response.json();
      if (!response.ok) {
        throw new Error(data.error.message);
      }
      const newRepos = [];
      for (const repo of data?.values || []) {
        if (new Date(repo.created_on).getTime() > lastChecked) {
          newRepos.push(repo);
        } else {
          break;
        }
      }
    
      if (newRepos.length > 0) {
        await setState(new Date(newRepos[0].created_on).getTime());
      }
    
      return newRepos;
    }
    

    Submitted by hugo697 935 days ago