mirror of
https://gitea.computerliebe.org/ComputerLiebe_ORG_private/Gitea-VSCode-Clone-Plugin.git
synced 2024-12-27 23:51:53 +00:00
Merge pull request 'PR-via-plugin' (#2) from PR-via-plugin into main
Reviewed-on: ComputerLiebe_ORG_private/Gitea-VSCode-Clone-Plugin#2
This commit is contained in:
commit
28e0e8197c
@ -9,7 +9,7 @@
|
|||||||
"categories": [
|
"categories": [
|
||||||
"Other"
|
"Other"
|
||||||
],
|
],
|
||||||
"activationEvents": [],
|
"activationEvents": ["onStartupFinished"],
|
||||||
"main": "./dist/extension.js",
|
"main": "./dist/extension.js",
|
||||||
"contributes": {
|
"contributes": {
|
||||||
"commands": [
|
"commands": [
|
||||||
|
@ -46,22 +46,20 @@ async function createGiteaPullRequest() {
|
|||||||
const { title, body } = await getLastCommit(currentWorkspaceFolder);
|
const { title, body } = await getLastCommit(currentWorkspaceFolder);
|
||||||
const branch = await getCurrentBranch(currentWorkspaceFolder);
|
const branch = await getCurrentBranch(currentWorkspaceFolder);
|
||||||
|
|
||||||
// Debugging-Ausgabe zur Überprüfung
|
|
||||||
console.log('Branch:', branch);
|
|
||||||
console.log('Title:', title);
|
|
||||||
console.log('Body:', body);
|
|
||||||
|
|
||||||
if (!branch) {
|
if (!branch) {
|
||||||
vscode.window.showErrorMessage('Branch konnte nicht ermittelt werden.');
|
vscode.window.showErrorMessage('Branch konnte nicht ermittelt werden.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Base-Branch über die Gitea API ermitteln
|
||||||
|
const baseBranch = await getDefaultBranch(instanceUrl, owner, repo, token);
|
||||||
|
|
||||||
// API-Request-Daten vorbereiten
|
// API-Request-Daten vorbereiten
|
||||||
const prData = {
|
const prData = {
|
||||||
title: title, // Der letzte Commit als Titel
|
title: title, // Der letzte Commit als Titel
|
||||||
body: body || '', // Commit-Kommentare als Body
|
body: body || '', // Commit-Kommentare als Body
|
||||||
head: branch, // Der aktuelle Branch als "head"
|
head: branch, // Der aktuelle Branch als "head"
|
||||||
base: 'main' // Standardmäßig auf 'main' als Basisbranch
|
base: baseBranch // Der ermittelte base-Branch
|
||||||
};
|
};
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
@ -83,8 +81,8 @@ async function createGiteaPullRequest() {
|
|||||||
// Öffne die URL des erstellten PRs im Browser
|
// Öffne die URL des erstellten PRs im Browser
|
||||||
vscode.env.openExternal(vscode.Uri.parse(prUrl));
|
vscode.env.openExternal(vscode.Uri.parse(prUrl));
|
||||||
vscode.window.showInformationMessage('Pull-Request erfolgreich erstellt und im Browser geöffnet.');
|
vscode.window.showInformationMessage('Pull-Request erfolgreich erstellt und im Browser geöffnet.');
|
||||||
} catch (err: unknown) {
|
} catch (err: any) {
|
||||||
vscode.window.showErrorMessage('Fehler beim Erstellen des Pull Requests.');
|
vscode.window.showErrorMessage(`Fehler beim Erstellen des Pull Requests: ${err.message}`);
|
||||||
console.error('Fehler beim Erstellen des PRs:', err);
|
console.error('Fehler beim Erstellen des PRs:', err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -119,13 +117,34 @@ async function getCurrentBranch(folderPath: string): Promise<string> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Hilfsfunktion, um den base-Branch über die Gitea API zu ermitteln
|
||||||
|
async function getDefaultBranch(instanceUrl: string, owner: string, repo: string, token: string): Promise<string> {
|
||||||
|
try {
|
||||||
|
const response = await axios.get(`${instanceUrl}/api/v1/repos/${owner}/${repo}`, {
|
||||||
|
headers: {
|
||||||
|
'Authorization': `token ${token}`
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (response.status === 200 && response.data.default_branch) {
|
||||||
|
return response.data.default_branch;
|
||||||
|
} else {
|
||||||
|
vscode.window.showErrorMessage('Konnte den base-Branch nicht ermitteln. Standardmäßig "main" verwendet.');
|
||||||
|
return 'main';
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
vscode.window.showErrorMessage('Fehler beim Abrufen des base-Branches. Standardmäßig "main" verwendet.');
|
||||||
|
return 'main';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Funktion zum Hinzufügen des Statusbar-Icons
|
// Funktion zum Hinzufügen des Statusbar-Icons
|
||||||
function addStatusBarIcon() {
|
function addStatusBarIcon() {
|
||||||
const statusBar = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Left);
|
const statusBar = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Left);
|
||||||
statusBar.text = `$(git-pull-request) Create PR`;
|
statusBar.text = `$(git-pull-request) Create Gitea PR`;
|
||||||
statusBar.tooltip = 'Create a Pull Request in Gitea';
|
statusBar.tooltip = 'Create a Pull Request in Gitea';
|
||||||
statusBar.command = 'gitea.createPullRequest';
|
statusBar.command = 'gitea.createPullRequest';
|
||||||
statusBar.show();
|
statusBar.show(); // Sofortiges Anzeigen des Icons in der Statusleiste
|
||||||
return statusBar;
|
return statusBar;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -189,8 +208,8 @@ export function activate(context: vscode.ExtensionContext) {
|
|||||||
let pullRequestCommand = vscode.commands.registerCommand('gitea.createPullRequest', createGiteaPullRequest);
|
let pullRequestCommand = vscode.commands.registerCommand('gitea.createPullRequest', createGiteaPullRequest);
|
||||||
context.subscriptions.push(pullRequestCommand);
|
context.subscriptions.push(pullRequestCommand);
|
||||||
|
|
||||||
// Statusbar-Icon hinzufügen
|
// Statusbar-Icon sofort anzeigen
|
||||||
const statusBar = addStatusBarIcon();
|
const statusBar = addStatusBarIcon(); // Icon wird sofort beim Aktivieren angezeigt
|
||||||
context.subscriptions.push(statusBar);
|
context.subscriptions.push(statusBar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user