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 154 days ago
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 208 days ago
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 209 days ago