🌐 Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Gitea API

Gitea прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹ΠΉ API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Gitea с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Gitea Π³ΠΈΠ±ΠΊΠΈΠΌ инструмСнтом для DevOps ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ API Gitea?

  • Автоматизация: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ.
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ: Π›Π΅Π³ΠΊΠΎ интСгрируСтся с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами ΠΈ сСрвисами.
  • Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ кастомныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

πŸ”§ ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с API

АутСнтификация

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с API Gitea трСбуСтся аутСнтификация с использованиСм Ρ‚ΠΎΠΊΠ΅Π½Π° доступа. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½ Π² настройках вашСго профиля Gitea.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования API

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²

curl -H "Authorization: token YOUR_TOKEN" \
    https://gitea.example.com/api/v1/user/repos

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория

curl -X POST -H "Authorization: token YOUR_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"name": "new-repo"}' \
    https://gitea.example.com/api/v1/user/repos

πŸ› οΈ Автоматизация с использованиСм API

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ скрипта для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ скрипта Π½Π° Python для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ создания рСпозитория:

import requests

# Настройки
api_url: "https://gitea.example.com/api/v1/user/repos"
token: "YOUR_TOKEN"
headers: {
    "Authorization": f"token {token}",
    "Content-Type": "application/json"
}
data: {
    "name": "automated-repo"
}

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рСпозитория
response: requests.post(api_url, headers=headers, json=data)

if response.status_code == 201:
    print("Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создан!")
else:
    print("Ошибка ΠΏΡ€ΠΈ создании рСпозитория:", response.json())

πŸ“š Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ИспользованиС API Gitea позволяСт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСссы, дСлая Π²Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±ΠΎΠ»Π΅Π΅ эффСктивной ΠΈ Π³ΠΈΠ±ΠΊΠΎΠΉ. Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для создания кастомных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов.