mirror of
https://gitea.computerliebe.org/ComputerLiebe_ORG_private/Gitea-VSCode-Clone-Plugin.git
synced 2024-12-26 23:41:52 +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": [
|
||||
"Other"
|
||||
],
|
||||
"activationEvents": [],
|
||||
"activationEvents": ["onStartupFinished"],
|
||||
"main": "./dist/extension.js",
|
||||
"contributes": {
|
||||
"commands": [
|
||||
|
@ -46,22 +46,20 @@ async function createGiteaPullRequest() {
|
||||
const { title, body } = await getLastCommit(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) {
|
||||
vscode.window.showErrorMessage('Branch konnte nicht ermittelt werden.');
|
||||
return;
|
||||
}
|
||||
|
||||
// Base-Branch über die Gitea API ermitteln
|
||||
const baseBranch = await getDefaultBranch(instanceUrl, owner, repo, token);
|
||||
|
||||
// API-Request-Daten vorbereiten
|
||||
const prData = {
|
||||
title: title, // Der letzte Commit als Titel
|
||||
body: body || '', // Commit-Kommentare als Body
|
||||
head: branch, // Der aktuelle Branch als "head"
|
||||
base: 'main' // Standardmäßig auf 'main' als Basisbranch
|
||||
base: baseBranch // Der ermittelte base-Branch
|
||||
};
|
||||
|
||||
const config = {
|
||||
@ -83,8 +81,8 @@ async function createGiteaPullRequest() {
|
||||
// Öffne die URL des erstellten PRs im Browser
|
||||
vscode.env.openExternal(vscode.Uri.parse(prUrl));
|
||||
vscode.window.showInformationMessage('Pull-Request erfolgreich erstellt und im Browser geöffnet.');
|
||||
} catch (err: unknown) {
|
||||
vscode.window.showErrorMessage('Fehler beim Erstellen des Pull Requests.');
|
||||
} catch (err: any) {
|
||||
vscode.window.showErrorMessage(`Fehler beim Erstellen des Pull Requests: ${err.message}`);
|
||||
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
|
||||
function addStatusBarIcon() {
|
||||
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.command = 'gitea.createPullRequest';
|
||||
statusBar.show();
|
||||
statusBar.show(); // Sofortiges Anzeigen des Icons in der Statusleiste
|
||||
return statusBar;
|
||||
}
|
||||
|
||||
@ -189,8 +208,8 @@ export function activate(context: vscode.ExtensionContext) {
|
||||
let pullRequestCommand = vscode.commands.registerCommand('gitea.createPullRequest', createGiteaPullRequest);
|
||||
context.subscriptions.push(pullRequestCommand);
|
||||
|
||||
// Statusbar-Icon hinzufügen
|
||||
const statusBar = addStatusBarIcon();
|
||||
// Statusbar-Icon sofort anzeigen
|
||||
const statusBar = addStatusBarIcon(); // Icon wird sofort beim Aktivieren angezeigt
|
||||
context.subscriptions.push(statusBar);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user