# GitHub App

**GitHub można zintegrować z Xopero ONE za pomocą kilku metod autoryzacji, w tym poprzez GitHub App, co zapewnia bezpieczny i skalowalny sposób łączenia organizacji GitHub na potrzeby operacji backupu i odzyskiwania danych. Dzięki granularnym uprawnieniom, dostępowi na poziomie repozytoriów oraz krótkoterminowym tokenom uwierzytelniającym, GitHub Apps pomagają chronić repozytoria i powiązane metadane, jednocześnie wspierając zautomatyzowane procesy tworzenia kopii zapasowych, synchronizację repozytoriów oraz usprawnione zarządzanie w środowisku Xopero ONE.**

***

## Informacje ogólne

**GitHub App** to typ integracji, który można zbudować w celu interakcji z **GitHubem** oraz rozszerzania jego funkcjonalności. **GitHub App** zapewnia elastyczność i uproszczenie procesów, bez konieczności logowania się użytkowników ani tworzenia konta serwisowego.

Podobnie jak aplikacje OAuth, **GitHub Apps** wykorzystują OAuth 2.0 i mogą działać w imieniu użytkownika. W przeciwieństwie do aplikacji OAuth, mogą również działać niezależnie od użytkownika.

***

## Zalety korzystania z GitHub App

Kluczowe zalety korzystania z **GitHub App** do integracji z **Xopero ONE** obejmują zwiększone bezpieczeństwo, lepsze zarządzanie limitami zapytań (rate limits) oraz bardziej niezawodne zarządzanie repozytoriami.

### <mark style="background-color:blue;">Bezpieczeństwo</mark>

**GitHub Apps** zapewniają większą kontrolę i wyższy poziom bezpieczeństwa w porównaniu z OAuth. Zamiast szerokich zakresów uprawnień, **GitHub Apps** wykorzystują precyzyjnie określone uprawnienia, co daje administratorom lepszą kontrolę nad tym, do czego aplikacja ma dostęp i jakie operacje może wykonywać:

* **Granularne uprawnienia** — **GitHub Apps** żądają wyłącznie tych uprawnień, które są im niezbędne, w przeciwieństwie do aplikacji OAuth, które opierają się na szerszych zakresach uprawnień.
* **Dostęp na poziomie repozytoriów** — użytkownicy lub właściciele organizacji mogą wybrać, do których repozytoriów aplikacja **GitHub** ma dostęp, podczas gdy aplikacje OAuth mogą uzyskać dostęp do wszystkich repozytoriów dostępnych dla użytkownika autoryzującego.
* **Krótkotrwałe tokeny** — **GitHub Apps** używają tokenów o krótkim czasie ważności, co zmniejsza ryzyko ich niewłaściwego użycia. Dla porównania, tokeny aplikacji OAuth pozostają ważne do momentu ich ręcznego unieważnienia.

Te funkcje sprawiają, że **GitHub Apps** są odpowiedniejsze dla organizacji o rygorystycznych wymogach bezpieczeństwa, oferując silniejszą ochronę przed potencjalnymi zagrożeniami.

### <mark style="background-color:blue;">Limity zapytań</mark>

Aplikacje **GitHub** korzystające z tokenów dostępu do instalacji domyślnie mają limit 5 000 zapytań na godzinę. Limit ten może zostać zwiększony w określonych warunkach:

* **Organizacje GitHub Enterprise Cloud** — instalacje powiązane z organizacją **GitHub Enterprise Cloud** mają limit 15 000 zapytań na godzinę.
* **Skalowanie według liczby repozytoriów i użytkowników** — dla instalacji, które nie należą do organizacji **GitHub Enterprise Cloud**:
  * Organizacje posiadające więcej niż 20 repozytoriów otrzymują dodatkowe **50 zapytań na godzinę za każde repozytorium powyżej tego progu**.
  * Organizacje posiadające więcej niż 20 użytkowników otrzymują dodatkowe **50 zapytań na godzinę za każdego użytkownika powyżej 20**.
  * Łączny limit jest ograniczony do maksymalnie 12 500 zapytań na godzinę.

Powyższe zasady zostały zaprojektowane tak, aby zapewnić równomierne wykorzystanie zasobów przy jednoczesnym utrzymaniu stabilności i bezpieczeństwa systemu.

{% hint style="info" %}
Dowiedz się więcej o limitach zapytań w [oficjalnej dokumentacji GitHuba](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28#primary-rate-limit-for-github-app-installations).
{% endhint %}

***

## Kontrola dostępu i proces zatwierdzania

**GitHub Apps** mogą być instalowane przez użytkowników na ich kontach osobistych oraz przez właścicieli organizacji w ramach organizacji, którymi zarządzają. Dodatkowo administratorzy repozytoriów w organizacji mogą instalować aplikacje **GitHub**, pod warunkiem, że są one ograniczone do repozytoriów, którymi administrują, oraz nie żądają uprawnień wpływających na całą organizację ani związanych z administracją repozytorium.

Właściciele organizacji mają jednak możliwość ograniczenia takich instalacji dokonywanych przez zewnętrznych współpracowników pełniących rolę administratorów repozytoriów. Jeśli członkowie organizacji, którzy nie są właścicielami ani administratorami, wybiorą organizację podczas procesu instalacji aplikacji, zamiast bezpośredniej instalacji **GitHub** powiadomi właściciela organizacji, który będzie musiał zatwierdzić instalację.

***

## Autoryzacja GitHub App

Po zainstalowaniu **GitHub App** może być konieczne również jej autoryzowanie. Instalacja pozwala określić, do których repozytoriów aplikacja ma mieć dostęp, oraz przyznaje jej uprawnienia do korzystania z określonych zasobów organizacji.

Podczas instalacji aplikacja wyświetla żądane uprawnienia do weryfikacji i zatwierdzenia. Po autoryzacji aplikacja może również działać w Twoim imieniu.

{% hint style="info" %}
Możesz zainstalować aplikację **GitHub** bez jej autoryzowania, a także autoryzować aplikację bez jej instalowania.
{% endhint %}

***

## Zapobieganie throttlingowi

Throttling ogranicza liczbę wywołań API lub operacji w określonym oknie czasowym, aby zapobiec nadmiernemu wykorzystaniu zasobów i zapewnić stabilność serwera. Jeśli limity throttlingu zostaną przekroczone, kolejne wysyłane żądania mogą zostać tymczasowo ograniczone, co może wydłużyć czas wykonywania kopii zapasowych.

**Xopero ONE** może wykorzystywać do 10 dodatkowych aplikacji w celu zwiększenia limitu zapytań i zmniejszenia wpływu throttlingu.

{% hint style="info" %}
Więcej informacji na temat throttlingu oraz metod jego ograniczania można znaleźć w sekcji [Przydatne linki i materiały](#przydatne-linki-i-materialy).
{% endhint %}

***

## Aktualizacja uprawnień GitHub App

W nadchodzącym wydaniu **Xopero ONE** (planowanym na maj 2026) wprowadzamy obsługę issue types w **GitHubie**.

Aby móc korzystać z tej funkcji, **GitHub** wymaga ręcznej aktualizacji uprawnień **GitHub App**. Twoje istniejące plany backupu będą nadal działać bez zakłóceń — ta ręczna akceptacja nowych, wymaganych dostępów jest niezbędna, aby odblokować nowe możliwości systemu oraz zapewnić kompatybilność z jego przyszłymi wersjami.

{% hint style="warning" %}
Otrzymasz powiadomienie e-mail od **GitHuba** dla każdej z Twoich instalacji. Musisz ręcznie przejrzeć oraz zatwierdzić wszystkie nowe żądania uprawnień dotyczące issue types na swoim koncie **GitHub**.
{% endhint %}

Poniżej znajduje się dokładny opis procesu zatwierdzania żądania aktualizacji uprawnień, krok po kroku.

{% stepper %}
{% step %}
Otrzymasz wiadomość e-mail od **GitHuba**, zawierającą informacje o aplikacji oraz organizacji lub koncie, dla którego **GitHub App** wnioskuje o podwyższony poziom dostępu. Aby przyznać **Xopero ONE** wymagane uprawnienia, kliknij link **Review permission request to accept or reject this change**.

<figure><img src="/files/aiLuhOxputSUzCixpAnF" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}
Po kliknięciu linku nastąpi przekierowanie do **GitHuba**, gdzie możliwe będzie przejrzenie żądanych uprawnień oraz ich zatwierdzenie.

<figure><img src="/files/FFUL9dEAKpkQ0s7ZWPFZ" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}
Po zaakceptowaniu żądanych uprawnień Twoje środowisko będzie gotowe do pełnego tworzenia kopii zapasowych danych obejmujących issue types po udostępnieniu kolejnej wersji **Xopero ONE**.
{% endstep %}
{% endstepper %}

***

## Przydatne linki i materiały

{% content-ref url="/pages/ch2cGR1agZ7mvw2L8z3N" %}
[Zapobieganie ograniczeniom żądań](/xopero-one-en/pl/zarzadzanie-ryzykiem-i-zgodnoscia/zapobieganie-ograniczeniom-zadan.md)
{% endcontent-ref %}

{% content-ref url="/pages/DX1vxw9hLnsB1LVVmVqe" %}
[Unikanie wpływu ograniczenia żądań API](/xopero-one-en/pl/zarzadzanie-ryzykiem-i-zgodnoscia/unikanie-wplywu-ograniczenia-zadan-api.md)
{% endcontent-ref %}

{% embed url="<https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2026-03-10>" %}

{% embed url="<https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps>" %}

{% embed url="<https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/deciding-when-to-build-a-github-app>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://helpcenter.xopero.com/xopero-one-en/pl/kopia-zapasowa-i-przywracanie/devops/github/integracja/github-app.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
