This commit is contained in:
xiongxiao
2026-03-13 03:21:26 +08:00
committed by cnb
parent 8249da006f
commit cda1d0dc8f
4 changed files with 21 additions and 7 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@kevisual/cnb",
"version": "0.0.41",
"version": "0.0.43",
"description": "",
"main": "index.js",
"basename": "/root/cnb",
@@ -17,8 +17,8 @@
},
"keywords": [],
"bin": {
"cnb": "./bin/index.js",
"cloud": "./bin/index.js"
"cnb": "bin/index.js",
"cloud": "bin/index.js"
},
"files": [
"dist",
@@ -74,4 +74,4 @@
"./src/*": "./src/*",
"./agent/*": "./agent/*"
}
}
}

View File

@@ -1,5 +1,6 @@
# cnb.cool 能做什么
所有的代码仓库,只基于一个准则 `group/repo`
## 简介
纯粹调用api的模式去使用cnb.cool自动化方案。

View File

@@ -73,14 +73,14 @@ export class Issue extends CNBCore {
super(options);
}
createIssue(repo: string, data: Partial<IssueItem>): Promise<any> {
createIssue(repo: string, data: Partial<IssueItem>): Promise<Result<IssueItem>> {
const url = `/${repo}/-/issues`;
let postData = {
...data,
};
return this.post({ url, data: postData });
}
updateIssue(repo: string, issueNumber: string | number, data: Partial<IssueItem>): Promise<any> {
updateIssue(repo: string, issueNumber: string | number, data: Partial<IssueItem>): Promise<Result<IssueItem>> {
const url = `/${repo}/-/issues/${issueNumber}`;
let postData = {
...data,

View File

@@ -1,5 +1,5 @@
import { CNBCore, CNBCoreOptions, RequestOptions, Result } from "../cnb-core.ts";
import dayjs from "dayjs";
export class Repo extends CNBCore {
constructor(options: CNBCoreOptions) {
super(options);
@@ -30,6 +30,12 @@ export class Repo extends CNBCore {
const url = `/${repo}`;
return this.delete({ url });
}
/**
* 使用cookie创建提交如果没有指定parent_commit_sha则会自动获取最新的提交作为父提交
* @param repo
* @param data
* @returns
*/
async createCommit(repo: string, data: CreateCommitData): Promise<any> {
const commitList = await this.getCommitList(repo, {
page: 1,
@@ -41,6 +47,12 @@ export class Repo extends CNBCore {
const preCommitSha = commitList.length > 0 ? commitList[0].sha : undefined;
if (!data.parent_commit_sha && preCommitSha) {
data.parent_commit_sha = preCommitSha;
} else if (data.parent_commit_sha) {
// 如果指定了parent_commi_sha;
if (!data.new_branch) {
const date = dayjs().format('MMDDHHmm');
data.new_branch = `refs/heads/${date}`;
}
}
const url = `${this.hackURL}/${repo}/-/git/commits`;
const postData: CreateCommitData = {
@@ -52,6 +64,7 @@ export class Repo extends CNBCore {
new_branch: data.new_branch || 'refs/heads/main',
};
if (!postData.parent_commit_sha) {
// 如果没有父提交sha则说明是第一次提交可以删除parent_commit_sha和base_branch字段
delete postData.parent_commit_sha;
delete postData.base_branch;
}