in operations/codeup/branches.ts [27:60]
export async function createBranchFunc(
organizationId: string,
repositoryId: string,
branch: string,
ref: string = "master"
): Promise<z.infer<typeof CodeupBranchSchema>>{
// Automatically handle unencoded slashes in repositoryId
if (repositoryId.includes("/")) {
// Found unencoded slash, automatically URL encode it
const parts = repositoryId.split("/", 2);
if (parts.length === 2) {
const encodedRepoName = encodeURIComponent(parts[1]);
// Remove + signs from encoding (spaces are encoded as +, but we need %20)
const formattedEncodedName = encodedRepoName.replace(/\+/g, "%20");
repositoryId = `${parts[0]}%2F${formattedEncodedName}`;
}
}
const baseUrl = `/oapi/v1/codeup/organizations/${organizationId}/repositories/${repositoryId}/branches`;
// Build query parameters
const queryParams: Record<string, string | number | undefined> = {
branch: branch,
ref: ref
};
const url = buildUrl(baseUrl, queryParams);
console.error("createBranchFunc url:" + url);
const response = await yunxiaoRequest(url, {
method: "POST",
});
return CodeupBranchSchema.parse(response);
}