Apiboo-Dokumentation

DokuErste Schritte

Git

Arbeitsbereiche, Dokumente, Boards und Projekte in deinem eigenen GitHub-, GitLab- oder anderen Git-Repository: Konten, Verbinden, Klonen, Änderungen, Verlauf und Wiederherstellen.

Git

Die Git-Seite legt deine Arbeit in deinem eigenen Git-Repository ab. Collections, Requests, Umgebungen und Variablen eines Arbeitsbereichs landen dort als lesbare YAML-Dateien. Auch deine Dokumente, Boards und Projekte gehören dorthin, Dokumente als Markdown. Du entscheidest, wann Änderungen rausgehen, siehst genau, was sich geändert hat, und kannst jede frühere Version eines einzelnen Requests oder einer Seite zurückholen.

Git gibt es in der Desktop-App. Es funktioniert auch abgemeldet von Apiboo, außer GitHub: Das wird über dein Apiboo-Konto verknüpft. Du brauchst nicht einmal einen Server: Ein Arbeitsbereich kann seinen Verlauf nur auf diesem Gerät führen, und GitHub, GitLab oder einen anderen Server fügst du später hinzu (siehe Auf diesem Gerät verfolgen).

Die Git-Seite öffnen

  • Klick in der Leiste auf Git (das Zweig-Symbol unter History). Ein Punkt darauf heißt: Änderungen warten auf den Sync. Ein roter Punkt heißt: Ein Sync ist fehlgeschlagen.
  • Öffne im Arbeitsbereich-Umschalter … bei einem Arbeitsbereich und wähle Open Git page. Die Seite öffnet sich mit diesem Arbeitsbereich ausgewählt.
  • In den Einstellungen unter Konto → Git-Anbieter → Open Git page.
  • Klick unten in der Statusleiste auf den Sync-Status des aktuellen Arbeitsbereichs (zum Beispiel Synced · 2 min ago).
Die Git-Seite: ein GitLab-Konto, der Arbeitsbereich Bookshop mit maya/bookshop-api verbunden und einer wartenden Änderung, der geänderte Request Feld für Feld aufgeklappt

Oben stehen deine Git-Konten in einer Leiste und Clone a repository. Darunter ist jeder Arbeitsbereich ein Pill unter Workspaces, und deine Projekte, Boards und Dokumente (und die jedes Teams) sind Pills unter Projects, boards & documents. Ein Pill zeigt, wie viele Änderungen warten, und einen Punkt für den Stand: grün synchronisiert, gelb wartend, rot fehlgeschlagen, grau noch in keinem Repository.

Klick auf ein Pill, um es in der Karte darunter zu sehen:

Teil der KarteWas drin ist
Der KopfName und Status, wohin synchronisiert wird (owner/repository · branch), Sync now, Pull und der Knopf, der es auf GitHub oder GitLab öffnet. … enthält die selten gebrauchten Aktionen, etwa Copy repository address.
ChangesWas sich seit dem letzten Sync geändert hat.
HistoryJeder Sync.

Ein Arbeitsbereich ohne Repository zeigt stattdessen Connect to a repository. Ein Ordner, der selbst ein Repository ist, zeigt seinen Pfad; du committest ihn mit deinen eigenen Git-Tools.

Clone a repository öffnet einen Arbeitsbereich aus einem Repository (siehe Ein Repository klonen). Der Aktualisieren-Knopf in der Titelleiste (Check sync status) prüft alle Repositories neu.

Konten

GitHub

GitHub ist mit deinem Apiboo-Konto verknüpft und begleitet dich so auf jedes Gerät.

  1. Melde dich bei Apiboo an (siehe Anmelden).
  2. Klick auf der Git-Seite in der Kontenleiste neben GitHub auf Sign in. Deine Apiboo-Kontoseite öffnet sich im Browser.
  3. Verknüpfe dort GitHub und bestätige. Apiboo zeigt solange Continue in your browser (Cancel bricht das Warten ab) und aktualisiert sich von selbst, sobald du fertig bist: Dann steht in der Leiste dein GitHub-Name. Bist du nach drei Minuten nicht fertig, hört Apiboo auf zu warten und sagt es; klick dann erneut auf Sign in.

Ist GitHub schon mit deinem Konto verknüpft, zeigt ein neues Gerät direkt nach der Anmeldung bei Apiboo deinen GitHub-Namen; du musst nichts klicken. Solange du nicht bei Apiboo angemeldet bist, steht dort Sign in to Apiboo first.

GitLab

GitLab.com und selbst betriebene GitLab-Server melden sich mit einem Personal Access Token an. Du kannst mehrere Konten hinzufügen.

  1. Klick in der Kontenleiste auf + Other und wähl GitLab.
  2. Gib den Server ein (https://gitlab.com oder die Adresse deines eigenen Servers).
  3. Füge ein Personal access token ein. Du legst es in GitLab unter Preferences → Access tokens mit den Scopes api und write_repository an.
  4. Klick auf Add account. Die Leiste zeigt dann GitLab und deinen Benutzernamen; zeig darauf, um den Server zu sehen. Sign out daneben entfernt das Konto.

Das Token liegt im Schlüsselbund deines Systems, nie in einer Datei oder einem Repository. Der Server muss https:// verwenden.

Jeder andere Git-Server

Gitea, Forgejo, Codeberg, Bitbucket oder der Server deiner Firma gehen auch, mit Other git server (URL + Vault sign-in) in den Dialogen zum Verbinden und Klonen. Sie stehen nicht in der Kontenleiste: Jedes Repository meldet sich mit einem Eintrag aus deinem Vault an.

  • Für eine https://-Adresse ein Password-Eintrag mit Benutzername und Access Token.
  • Für ssh://- oder git@host:-Adressen ein SFTP connection-Eintrag mit deinem SSH-Schlüssel.

Apiboo merkt sich nur, welcher Vault-Eintrag benutzt wird. Das Geheimnis bleibt im Vault und wird nur gelesen, um mit diesem Server zu sprechen. Zum Auswählen muss der Vault entsperrt sein.

Einen Arbeitsbereich verbinden

  1. Klick auf das Pill des Arbeitsbereichs, dann auf Connect to a repository.
  2. Wähle das Account, falls du mehrere hast.
  3. Prüf bei GitHub und GitLab den Owner (dein Benutzer, eine Organisation oder eine GitLab-Gruppe wie team/backend) und den Namen unter Repository. Er ist mit dem Namen des Arbeitsbereichs vorausgefüllt.
  4. Lass Create as a private repository angehakt, außer das Repository soll öffentlich sein.
  5. Klick auf Connect & push.

Ein Repository, das es noch nicht gibt, wird angelegt. Enthält es schon einen Apiboo-Arbeitsbereich, holt Apiboo dessen Inhalt zuerst und pusht dann deinen. Bei Other git server gibst du die Repository URL ein und wählst unter Sign in with (from your Vault) den Eintrag (ist der Vault gesperrt, klick direkt dort auf Unlock Vault…; danach erscheint die Liste im selben Dialog); dort muss das Repository schon existieren.

Seine Karte zeigt dann owner/repository · branch und seinen Status, mit Sync now und Pull.

Auf diesem Gerät verfolgen

Führe den Verlauf eines Arbeitsbereichs ganz ohne Server — jede gespeicherte Version bleibt auf diesem Computer:

  1. Klick auf das Pill des Arbeitsbereichs, dann auf Connect to a repository.
  2. Wähl als Account This device only (no remote). Das ist schon ausgewählt, wenn du bei keinem Git-Konto angemeldet bist.
  3. Klick auf Start tracking. Die erste Version wird sofort gespeichert.

Der Arbeitsbereich zeigt dann Only on this device · main und seinen Status, zum Beispiel Saved on this device · 2 min ago oder 2 changes not saved yet. Seine Karte hat diese Aktionen:

AktionMacht
Save versionSpeichert, was sich geändert hat, als neue Version (einen Git-Commit). Nichts wird irgendwohin gesendet.
Add a remoteSchickt die gespeicherten Versionen zu GitHub, GitLab oder einem anderen Server (siehe unten).
… → Stop trackingLöscht nach einer Rückfrage die gespeicherten Versionen auf diesem Gerät. Der Arbeitsbereich selbst bleibt, wie er ist.

Changes, History, Restore this version, Discard this change und der Knopf History im Request funktionieren wie mit einem Server; statt von „Sync“ ist von „saved version“ die Rede.

Später ein Remote hinzufügen

Klick in seiner Karte auf Add a remote und wähl, wohin der Verlauf soll, genauso wie unter Einen Arbeitsbereich verbinden. Add & push schickt jede gespeicherte Version unverändert: Dieselben Versionen erscheinen in derselben Reihenfolge im Repository. Hat das neue Repository schon einen ersten Commit (eine README), wird er eingemergt.

  • Bei GitHub und GitLab wird ein Repository angelegt, das es noch nicht gibt.
  • Bei Other git server muss das Repository schon existieren.
  • Ein Repository, das schon einen anderen Arbeitsbereich enthält, wird abgelehnt — nichts wird gesendet, und der Arbeitsbereich bleibt auf diesem Gerät. Nimm ein neues oder leeres Repository, oder klone das andere als eigenen Arbeitsbereich.
  • Die Geheimnis-Prüfung läuft zuerst. Hast du einmal eine Version mit Commit anyway gespeichert, warnt Apiboo dich, dass diese älteren Versionen mitgesendet werden.

Danach ist der Arbeitsbereich ein ganz normaler synchronisierter Arbeitsbereich mit Sync now und Pull.

Abmelden

Abmelden löscht nie von selbst einen Git-Verlauf: Jedes Repository auf diesem Gerät bleibt, auch noch nicht gepushte Commits, außer du wählst Entfernen und abmelden. Jedes Konto hat seine eigenen: Meldest du dich wieder an, sind deine da; ein anderes Konto auf diesem Gerät sieht nur seine eigenen.

Beim Abmelden listet der Abmelde-Dialog die Arbeitsbereich-Verläufe, die es nur auf diesem Gerät gibt. Auf diesem Gerät behalten und abmelden behält sie (mit jeder gespeicherten Version); beim nächsten Anmelden sind sie wieder verbunden. Entfernen und abmelden löscht sie, und diese Arbeitsbereiche sind beim nächsten Anmelden nicht mehr mit Git verfolgt. Arbeitsbereiche, die mit einem Server synchronisiert sind, behalten ihre Verknüpfung: Ihr Verlauf liegt auf dem Server.

Fehlt der Verlaufsordner eines verfolgten Arbeitsbereichs, zeigt die Karte History missing on this device; das nächste Save version beginnt einen neuen Verlauf und sagt dir das.

Sync und Pull

Apiboo committet und pusht nie von selbst. Du entscheidest, wann:

  • Sync now committet, was sich geändert hat, und pusht es. Hat das Repository neuere Änderungen, zeigt der Status The remote moved on — pull, then sync again.
  • Pull holt die Änderungen aus dem Repository in Apiboo.
  • Das Symbol neben Pull öffnet das Repository auf GitHub oder GitLab.

Der Status in der Karte (und der Punkt am Pill) zeigt, wo er steht:

StatusBedeutung
N changes waitingDu hast seit dem letzten Sync etwas geändert.
N updates on the remoteIm Repository gibt es Änderungen, die du noch nicht geholt hast.
Synced · 2 min agoAlles ist raus.
Waiting to send · offlineDer Commit ist gemacht; er geht raus, sobald du wieder online bist.
Sync failedLies die Meldung unter dem Namen, dann Retry.

Offline? Sync now macht den Commit trotzdem, und Apiboo schickt ihn, sobald die Verbindung zurück ist: beim Start der App, wenn das Netz wiederkommt, und alle zwei Minuten. Braucht es dich (zum erneuten Anmelden oder für eine Konfliktentscheidung), sagt die Karte das und wartet auf Sync now.

Konflikte

Haben du und jemand anderes dieselbe Datei geändert, listet Resolve sync conflicts jede abweichende Datei. Wähl pro Datei Local (deine) oder Remote (die andere), oder Keep all local / Keep all remote, dann Resolve & push. Jede Datei steht zuerst auf Remote.

Änderungen

Changes since the last sync listet, was du im ausgewählten Arbeitsbereich geändert hast, gruppiert nach Requests, Ordnern, Collections, Umgebungen und Variablen. Jeder Eintrag ist mit A (hinzugefügt), M (geändert), D (gelöscht) oder R (umbenannt) markiert, mit der Zahl der geänderten Felder.

  • Klick auf einen Eintrag, um jedes geänderte Feld zu sehen: den alten Wert (−) über dem neuen (+). Show file diff zeigt die Datei selbst.
  • Discard this change setzt den Eintrag auf den Stand des letzten Syncs zurück. Deine Änderung ist dann weg, darum fragt Apiboo vorher.
  • Refresh sucht noch einmal nach Änderungen.

Changes und History sind die zwei Tabs der Karte; die Zahl an Changes sagt, wie viele Einträge warten.

Verlauf und Wiederherstellen

History listet jeden Sync, der neueste zuerst: wann, was sich geändert hat und wer synchronisiert hat. Klapp einen auf, um seine Einträge zu sehen — ein großer Sync zeigt 50 auf einmal, mit Show 50 more. Restore this version bei einem Eintrag holt diese Version zurück in Apiboo; der nächste Sync hält das als neue Änderung fest.

Auch ein einzelner Request hat seinen Verlauf: Der Knopf History (eine Uhr mit Drehpfeil) im Kopf des Requests, neben Save, listet jede synchronisierte Version, etwa Created, Changed oder Renamed (was "…"). Eine alte Version zurückzuholen bringt denselben Request zurück, keine Kopie. Dokumente und Aufgaben haben denselben Knopf, sobald deine Boards und Dokumente verbunden sind.

Ein Repository klonen

So öffnest du einen Arbeitsbereich, der in einem Repository liegt, zum Beispiel einen, den eine Kollegin verbunden hat:

  1. Klick oben auf der Git-Seite auf Clone a repository.
  2. Wähl unter Clone from die Quelle: GitHub, eines deiner GitLab-Konten oder Other git server (URL + Vault sign-in).
  3. Wähl das Repository. Mit angemeldetem GitHub wählst du aus My repositories (nur Repositories mit einem Apiboo-Arbeitsbereich, außer du hakst Show all repositories an) oder nimmst Paste URL. Öffentliche GitHub-Repositories lassen sich auch ohne Anmeldung klonen.
  4. Gib ihm wenn du magst einen Workspace Name; sonst heißt er wie das Repository.
  5. Klick auf Clone repository.

Was ins Repository kommt

Ein Arbeitsbereich wird als einfache Dateien geschrieben, eine pro Request. So zeigt sich eine Änderung als lesbarer Diff und lässt sich mergen wie Code:

DateiEnthält
apiboo.yamlDen Arbeitsbereich: seine ID und seinen Namen.
collections/<name>/collection.yamlEine Collection: Ordner, Einstellungen, Skripte, Auth.
collections/<name>/requests/<name>.yamlJe einen Request.
environments/<name>.yamlEine Umgebung.
variables/globals.yaml, variables/workspace.yamlGlobale und Arbeitsbereich-Variablen.
.gitignore, .gitattributesApiboo pflegt darin einen eigenen Block; deine Zeilen bleiben.

Geheime Variablen erreichen das Repository nie. Eine als geheim markierte Variable wird ohne ihren Wert geschrieben; der Wert bleibt in einer *.local.yaml-Datei daneben, die Git ignoriert. Variablen, die nicht geheim sind, behalten ihre Werte in Git.

Nie in einem Repository: der Vault, dein Schlüsselbund und deine Zertifikate, Chat, der Mail catcher und die eigenen Einstellungen dieses Geräts, etwa die gewählte Umgebung.

Geheimnis-Prüfung

Vor jedem Commit sucht Apiboo nach allem, was wie ein Passwort, Token oder Schlüssel aussieht: API-Keys, GitHub-, Slack-, AWS- und Google-Keys, JWTs, private Schlüssel, URLs mit Passwort und Felder mit Zugangsdaten-Namen und langem Wert.

Offensichtliche Platzhalter gehen durch: Beispielwörter wie user:password@host oder your-password, <password>, *** und Verweise wie ${DB_PASSWORD}.

Findet es etwas, listet Nothing was committed Datei und Zeile (nie den Wert) und wie du es behebst:

  • In einem Workspace: Verschieb den Wert in eine geheime Variable und nimm stattdessen {{name}}.
  • In einer Aufgabe oder einem Dokument: Öffne es und ersetz den Wert durch einen Platzhalter wie <password>. Das echte Passwort gehört in den Vault.

Dann synchronisier neu. Nur wenn du dir sicher bist: tipp commit anyway und klick auf Commit anyway.

Projekte, Boards und Dokumente

Das Pill My projects, boards & documents verbindet deine eigenen Projekte, Boards und Dokumente mit einem Repository: Klick darauf, dann auf Connect to a repository, genauso wie bei einem Arbeitsbereich. Verbunden hat seine Karte dieselben Tabs Changes und History: neue, geänderte und gelöschte Tasks, Dokumente, Boards und Projekte, jede Änderung Feld für Feld. Wie ein Arbeitsbereich lässt es sich auch nur auf diesem Gerät verfolgen (This device only (no remote), siehe Auf diesem Gerät verfolgen): Save version speichert eine Version jeder Seite, jedes Tasks und Projekts, der Knopf History an einer Seite oder einem Task holt eine zurück, und Add a remote schickt sie später an einen Server. Jedes Team hat sein eigenes Pill. Owner und Admins eines Teams verbinden es, und das Repository wird dann beim Team gespeichert: Auf den Geräten jedes Mitglieds zeigt seine Karte Dieses Team synchronisiert mit dem Repository und einen Knopf, Beitreten. Du trittst mit deinem eigenen GitHub- oder GitLab-Konto bei, oder mit einem Vault-Eintrag für einen anderen Server — niemandes Anmeldung wird geteilt. Unter … können Owner und Admins das Team auch in ein anderes Repository verschieben (alle müssen dem neuen beitreten) oder das Repository des Teams entfernen.

OrdnerEnthält
documents/Jede Seite als Markdown-Datei (.md), Unterseiten in einem Ordner mit dem Namen ihrer Seite, Bilder unter documents/media/.
boards/<name>/board.yaml mit Listen und Labels und eine Markdown-Datei pro Aufgabe in tasks/, mit ihren Kommentaren.
projects/Eine YAML-Datei pro Projekt und wie sie verknüpft sind.

Andere Dateien im Repository, etwa eine README oder dein Code, werden nie angefasst. Bilder kommen mit; Videos nur bis 10 MB, größere bleiben ein Link. Würde ein Pull mehr als zehn Einträge auf einmal löschen, behält Apiboo sie und sagt dir Bescheid. So kann ein Fehler im Repository deine Seiten nicht auslöschen.

Ein Projekt mit seinem Code verknüpfen

Ein Projekt kann auf die Repositories seines Codes zeigen: Öffne das Projekt und klick auf Link repository. Gib die Repository URL ein (oder wähl einen lokalen Klon auf diesem Computer), einen Namen, den Default branch und eine Beschreibung. Team-Projekte nehmen nur eine URL. Die Verknüpfung ist ein Verweis, nie eine Anmeldung: Ein Passwort oder Token in der URL wird abgelehnt. Im Projekte & Graph erscheint das Repository als Knoten Code repository, der es im Browser öffnet.

Eine Verknüpfung, die eine ältere Version mit Token oder Passwort in der Adresse gespeichert hat, wird mit Needs fixing angezeigt statt versteckt. Entferne sie mit × und verknüpfe das Repository neu, mit einem Vault-Eintrag für die Anmeldung. Apiboo zeigt nie die Adresse selbst, nur den Namen des Servers.

Grenzen

  • Git gibt es nur in der Desktop-App, nicht in der Web-App.
  • Ein Arbeitsbereich oder My projects, boards & documents, nur auf diesem Gerät verfolgt, lässt sich erst teilen, wenn du ein Remote hinzufügst. Teams verbinden sich nur mit einem Server: Der Verlauf eines Teams muss geteilt sein.
  • Einfache http://-Adressen gehen nur für Server auf diesem Computer.
  • Dateien über 48 MB in einem Repository werden nicht gelesen; das Dokument behält einen Link.
  • Benennst du einen verbundenen Arbeitsbereich in Apiboo um, gilt das nur auf diesem Gerät; das Repository behält seinen Namen.