Anslut en kodvärd
Control Center arbetar med tre kodvärdar — så kallar appen dem genomgående: GitHub, GitLab och Bitbucket Cloud. Ingen av dem är standard. Anslut en och allt fungerar; anslut flera och en och samma arbetsyta kan hålla repos från alla tre samtidigt.
Kodvärden är en egenskap hos varje repo och läses från dess origin-remote när du registrerar det. Du väljer aldrig någon själv, och det finns ingen inställning per arbetsyta som kan bli fel.
Anslut en kodvärd
Avsnitt med rubriken “Anslut en kodvärd”- Öppna Inställningar → Arbetsyta → Profil och identitet (
/settings/workspace/profile). - Hitta kortet Kodvärd. Varje kodvärd som stöds listas, ansluten eller inte.
- Tryck Logga in med … om raden erbjuder det, eller Lägg till token och klistra in en.
Logga in visas för en kodvärd som din server har en registrerad app för — i dag gäller det GitHub, via ett enhetsflöde (se Skapa GitHub-appen). Allt annat är en inklistrad token, vilket är den ärliga lösningen i stället för en knapp som inte går att slutföra.
Hur som helst är inloggningsuppgiften din och ligger på servern, knuten till ditt användar-id: ingen token lagras på maskinen du skrev in den på, varje enhet du loggar in från använder samma, och ingen annan medlem kan läsa den. Den börjar gälla vid nästa begäran — det finns inget att starta om, och kopplar du från slutar den skickas omedelbart.
Varje rad berättar varifrån dess inloggningsuppgift kommer, för det är skillnaden mellan ”min token fungerar inte” och ”en annan token svarar”:
| Undertext | Betydelse |
|---|---|
Inloggad som octocat |
Din egen inloggningsuppgift används |
Inloggad som octocat · via den här serverns app |
Serverns appidentitet svarar — du är inte inloggad |
Inloggad som octocat · från miljön |
En miljövariabel på servern svarar, inte din inloggningsuppgift |
Inte ansluten |
Du har ingen inloggningsuppgift för den här kodvärden |
Vilken token varje kodvärd vill ha
Avsnitt med rubriken “Vilken token varje kodvärd vill ha”| Kodvärd | Token | Var du skapar den |
|---|---|---|
| GitHub | Classic: repo och read:org. Fine-grained: Contents + Pull requests (read/write), Checks + Actions (read) |
github.com → Settings → Developer settings → Tokens |
| GitLab | En personlig åtkomsttoken med api |
gitlab.com → User settings → Access tokens |
| Bitbucket | En Atlassian-API-token plus din kontos e-postadress | id.atlassian.com → Security → API tokens |
Bitbucket autentiserar med din kontos e-postadress som användarnamn och token som lösenord. Ange BITBUCKET_EMAIL i serverns miljö så att den vet vilken e-postadress som ska paras ihop med token.
Eller använd miljön
Avsnitt med rubriken “Eller använd miljön”Vid en headless- eller CI-installation läser servern dessa:
- GitHub —
GITHUB_TOKEN, sedanGH_TOKEN - GitLab —
GITLAB_TOKEN, sedanCI_JOB_TOKEN - Bitbucket —
BITBUCKET_API_TOKEN, sedanBITBUCKET_TOKEN(medBITBUCKET_EMAIL)
Det här är serverns inloggningsuppgift, inte din, och skillnaden är avgörande: en begäran som görs för din räkning använder din inloggningsuppgift och inget annat, så miljön kliver aldrig tyst in i ditt ställe. Arbete utan en människa bakom sig — webhooks, PR-pollning, ärendesynk — löser först serverns appidentitet, sedan serverägarens inloggningsuppgift och sist miljön. Ordningen är fast, så att ”jag loggade in och inget ändrades” aldrig är ett resultat som stöds.
Du är en annan person på varje kodvärd
Avsnitt med rubriken “Du är en annan person på varje kodvärd”Samma människa är octocat på GitHub och något helt annat på GitLab. Control Center löser din identitet per kodvärd och använder rätt identitet för varje repo, och det är vad som gör ”behöver min granskning”, ”skapad av mig” och ”du godkände det här” korrekt i en blandad arbetsyta.
Om en kodvärds identitet inte har lösts upp bidrar dess repos inte med något till inkorgen i stället för att matcha allt. Inkorgen säger det i stället för att påstå att du är ikapp.
En inkorg, alla kodvärdar
Avsnitt med rubriken “En inkorg, alla kodvärdar”Inkorgen och PR-kön frågar ut varje kodvärd som finns i arbetsytan och slår samman resultaten till en enda ström — en pull request från GitHub och en från Bitbucket ligger sida vid sida, sorterade efter tid i stället för grupperade efter leverantör.
Fel isoleras. En kodvärd som ligger nere, har nått sin hastighetsgräns eller inte är ansluten bidrar inte med något och lämnar de andra orörda; den tömmer aldrig hela inkorgen. Dess egna repos fortsätter visa sitt senast kända tillstånd tills den är tillbaka.
Vad varje kodvärd kan göra
Avsnitt med rubriken “Vad varje kodvärd kan göra”Varje kodvärd stöder kärnloopen: lista och öppna pull requests, läsa diffs, kommentera inline och på översta nivån, granska, slå ihop och stänga. Utöver det skiljer de sig verkligen åt, och Control Center döljer det en kodvärd inte kan i stället för att visa en kontroll som misslyckas tyst.
| Förmåga | GitHub | GitLab | Bitbucket |
|---|---|---|---|
| Batchade (väntande) granskningar | ✓ | ✓ | — |
| Begär ändringar | ✓ | ✓ | ✓ |
| ”Visad”-status per fil, synkroniserad | ✓ | — | — |
| Emoji-reaktioner | ✓ | ✓ | — |
| Team-/gruppgranskare | ✓ | ✓ | — |
| Föreslagna granskare | ✓ | — | ✓ |
| CI-resultat på en PR | ✓ | ✓ | ✓ |
| Steg och loggar för ett CI-jobb | ✓ | ✓ | — |
| Staplade pull requests | ✓ | — | — |
| Mallar för PR-beskrivning | ✓ | ✓ | — |
| Pollning av aviseringar | ✓ | — | — |
| Utökade användarprofiler | ✓ | ✓ | — |
| PR-head-ref på serversidan | ✓ | ✓ | — |
Där en förmåga saknas degraderar funktionen ärligt:
- ”Visad”-status fungerar fortfarande, men bara på den enhet du ställde in den på.
- Batchade granskningar på Bitbucket publiceras kommentar för kommentar, så granskare ser dem komma in en och en i stället för alla på en gång.
- Ingen PR-head-ref på Bitbucket innebär att en utcheckning av en pull request hämtar dess källgren via namn, vilket misslyckas så snart grenen har tagits bort.
Terminologi
Avsnitt med rubriken “Terminologi”GitLab kallar en pull request för en merge request. Control Center säger ”pull request” i hela sin egen modell och använder varje kodvärds eget ord när den talar om just den kodvärden.
Felsökning
Avsnitt med rubriken “Felsökning”PR-listan är tom och säger att en kodvärd inte är ansluten
Avsnitt med rubriken “PR-listan är tom och säger att en kodvärd inte är ansluten”Du har ingen inloggningsuppgift för den kodvärden. Logga in eller klistra in en token under Inställningar → Arbetsyta → Profil och identitet → Kodvärd. Andra kodvärdars repos påverkas inte.
Jag anslöt en kodvärd men dess repos visar fortfarande inget
Avsnitt med rubriken “Jag anslöt en kodvärd men dess repos visar fortfarande inget”Kontrollera radens undertext. Om det står ”via den här serverns app” eller ”från miljön” svarar en annan inloggningsuppgift än den du förväntade dig — din egen inloggningsuppgift vinner för allt du begär, så står det något annat sparades inte din.
Ett repo går inte att registrera
Avsnitt med rubriken “Ett repo går inte att registrera”Registreringen kräver alla tre: sökvägen ligger i ett git-arbetsträd, den har en origin-remote, och den remoten pekar på github.com, gitlab.com eller bitbucket.org. Se Lägg till repos i en arbetsyta.
Allt slutar fungera en stund efter hård användning
Avsnitt med rubriken “Allt slutar fungera en stund efter hård användning”Det är brytaren för hastighetsgränsen. När en kodvärd signalerar sin primära gräns låter klienten ytterligare begäranden misslyckas lokalt, utan nätverksanrop, tills fönstret har passerat — så en storm av återförsök kan inte fördjupa gränsen. Tillfälliga fel görs om med exponentiell backoff.