GitHub MCP sunucusu, MCP uyumlu yapay zeka istemcilerinde depo arama, sorunlar, çekme istekleri, kod bağlamı ve GitHub iş akışları için resmi sunucudur.
Depo keşfi — Asistanınızdan depoları incelemesini, dosyaları aramasını ve get_file_contents gibi araçları kullanarak proje yapısını anlamasını isteyin.
Sorun ve PR yönetimi — Yapay zekanızın sorunları ve çekme isteklerini oluşturmasını, güncellemesini ve önceliklendirmesini sağlayın; kod değişikliklerini incelemek ve proje panolarını yönetmek dahil.
CI/CD izleme — GitHub Actions iş akışı çalıştırmaları hakkında içgörüler edinin, derleme hatalarını analiz edin ve doğal dil sorgularıyla sürümleri yönetin.
Kod güvenliği analizi — Güvenlik bulgularını inceleyin, Dependabot uyarılarını gözden geçirin ve kod tabanınızdaki kod desenlerini anlayın.
Ekip iş birliği — Tartışmalara erişin, bildirimleri yönetin ve geliştirme süreçlerini kolaylaştırmak için ekip etkinliğini analiz edin.
Dokümantasyon
GitHub MCP Sunucusu
GitHub MCP Sunucusu, yapay zeka araçlarını doğrudan GitHub platformuna bağlar. Bu, yapay zeka ajanlarına, asistanlarına ve sohbet robotlarına depoları ve kod dosyalarını okuma, sorunları ve PR'ları yönetme, kodu analiz etme ve iş akışlarını otomatikleştirme yeteneği kazandırır. Tümü doğal dil etkileşimleri aracılığıyla.
Kullanım Alanları
Depo Yönetimi: Erişiminiz olan herhangi bir depoda kodu gezinin ve sorgulayın, dosyaları arayın, commit'leri analiz edin ve proje yapısını anlayın.
Sorun ve PR Otomasyonu: Sorunları ve çekme isteklerini oluşturun, güncelleyin ve yönetin. Yapay zekanın hataları önceliklendirmesine, kod değişikliklerini incelemesine ve proje panolarını yönetmesine izin verin.
CI/CD ve İş Akışı Zekası: GitHub Actions iş akışı çalıştırmalarını izleyin, derleme hatalarını analiz edin, sürümleri yönetin ve geliştirme hattınız hakkında içgörüler edinin.
Kod Analizi: Güvenlik bulgularını inceleyin, Dependabot uyarılarını gözden geçirin, kod kalıplarını anlayın ve kod tabanınız hakkında kapsamlı içgörüler edinin.
Ekip İşbirliği: Tartışmalara erişin, bildirimleri yönetin, ekip etkinliğini analiz edin ve ekibiniz için süreçleri kolaylaştırın.
Yapay zeka araçlarını GitHub bağlamına ve yeteneklerine bağlamak isteyen geliştiriciler için tasarlanmıştır; basit doğal dil sorgularından karmaşık çok adımlı ajan iş akışlarına kadar.
Uzaktan GitHub MCP Sunucusu
Uzaktan GitHub MCP Sunucusu, GitHub tarafından barındırılır ve başlamanın en kolay yöntemini sağlar. MCP ana bilgisayarınız uzak MCP sunucularını desteklemiyorsa endişelenmeyin! Bunun yerine GitHub MCP Sunucusu'nun yerel sürümünü kullanabilirsiniz.
Ön Koşullar
Uzak sunucu desteğine sahip uyumlu bir MCP ana bilgisayarı (VS Code 1.101+, Claude Desktop, Cursor, Windsurf vb.)
Hızlı kurulum için yukarıdaki tek tıkla kurulum düğmelerinden birini kullanın. Bu akışı tamamladıktan sonra Ajan moduna (Copilot Chat metin girişinin yanında bulunur) geçin ve sunucu başlayacaktır. Uzak MCP ve OAuth desteği için VS Code 1.101 veya sonraki bir sürümü kullandığınızdan emin olun.
Alternatif olarak, VS Code'u manuel olarak yapılandırmak için aşağıdaki örneklerden uygun JSON bloğunu seçin ve ana bilgisayar yapılandırmanıza ekleyin:
Not: Her MCP ana bilgisayar uygulamasının, OAuth üzerinden uzaktan erişimi desteklemek için bir GitHub App veya OAuth App yapılandırması gerekir. Uzak MCP sunucularını destekleyen herhangi bir ana bilgisayar uygulaması, PAT kimlik doğrulaması ile uzak GitHub sunucusunu desteklemelidir. Yapılandırma ayrıntıları ve destek düzeyleri ana bilgisayara göre değişir. Daha fazla bilgi için ana bilgisayar uygulamasının belgelerine başvurduğunuzdan emin olun.
Yapılandırma
Araç seti yapılandırması
Uzak sunucu yapılandırması, araç setleri, başlıklar ve gelişmiş kullanım hakkında tüm ayrıntılar için Uzak Sunucu Belgeleri bölümüne bakın. Bu dosya, uzak GitHub MCP Sunucusu'nu VS Code ve diğer MCP ana bilgisayarlarında bağlama, özelleştirme ve kurma için kapsamlı talimatlar ve örnekler sağlar.
Not: VS Code ve GitHub Copilot ile GitHub Enterprise'da OAuth kullanırken, VS Code ayarlarınızı GitHub Enterprise örneğinize işaret edecek şekilde yapılandırmanız da gerekir - bkz. VS Code'dan Kimlik Doğrulama
Sunucuyu bir kapsayıcıda çalıştırmak için Docker kurulu olması gerekir.
Docker kurulduktan sonra, Docker'ın çalıştığından da emin olmanız gerekir. Docker görüntüsü ghcr.io/github/github-mcp-server adresinde mevcuttur. Görüntü herkese açıktır; çekme sırasında hata alırsanız, süresi dolmuş bir belirteciniz olabilir ve docker logout ghcr.io yapmanız gerekebilir.
Kimlik Doğrulama. github.com'da önceden bir şey oluşturmanıza gerek yoktur — yukarıdaki tek tıkla düğmeler ilk kullanımda sizi OAuth ile giriş yapar (tarayıcı tabanlı bir akış; belirteç yalnızca bellekte tutulur). Docker düğmeleri sabit bir geri arama bağlantı noktası (127.0.0.1:8085) yayınlar, böylece kapsayıcının giriş geri aramasına erişilebilir. Nasıl çalıştığı, başsız/cihaz kodu yedeği ve kendi OAuth veya GitHub App'inizi getirme (GitHub Enterprise Server ve ghe.com için gerekli) hakkında Yerel Sunucu OAuth Girişi bölümüne bakın.
Bir belirteç mi tercih edersiniz? Yine de GITHUB_PERSONAL_ACCESS_TOKEN ayarlayarak bir GitHub Kişisel Erişim Belirteci ile kimlik doğrulayabilirsiniz (OAuth'a göre önceliklidir). MCP sunucusu GitHub API'lerinin çoğunu kullanabilir, bu nedenle yapay zeka araçlarınıza vermekten memnun olduğunuz izinleri etkinleştirin (erişim belirteçleri hakkında daha fazla bilgi için belgelere göz atın).
PAT'leri Güvenli Şekilde Yönetme
Ortam Değişkenleri (Önerilen)
GitHub PAT'inizi güvenli tutmak ve farklı MCP ana bilgisayarlarında yeniden kullanılabilir hale getirmek için:
PAT'inizi ortam değişkenlerinde saklayın
export GITHUB_PAT=your_token_here
Veya bir .env dosyası oluşturun:
GITHUB_PAT=your_token_here
.env dosyanızı koruyun
# Add to .gitignore to prevent accidental commits
echo ".env" >> .gitignore
Yapılandırmalarda belirteci referans verin
# CLI usage
claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
# In config files (where supported)
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT"
}
Not: Ortam değişkeni desteği ana bilgisayar uygulamasına ve IDE'ye göre değişir. Bazı uygulamalar (Windsurf gibi) yapılandırma dosyalarında sabit kodlanmış belirteçler gerektirir.
Belirteç Güvenliği En İyi Uygulamaları
Minimum kapsamlar: Yalnızca gerekli izinleri verin
repo - Depo işlemleri
read:packages - Docker görüntüsü erişimi
read:org - Organizasyon ekibi erişimi
Ayrı belirteçler: Farklı projeler/ortamlar için farklı PAT'ler kullanın
Düzenli rotasyon: Belirteçleri periyodik olarak güncelleyin
Asla commit etmeyin: Belirteçleri sürüm kontrolünün dışında tutun
Dosya izinleri: Belirteç içeren yapılandırma dosyalarına erişimi kısıtlayın
chmod 600 ~/.your-app/config.json
GitHub Enterprise Server ve Veri Yerleşimi Olan Enterprise Cloud (ghe.com)
--gh-host bayrağı ve GITHUB_HOST ortam değişkeni, GitHub Enterprise Server veya veri yerleşimi olan GitHub Enterprise Cloud için ana bilgisayar adını ayarlamak için kullanılabilir.
GitHub Enterprise Server için, ana bilgisayar adını https:// URI şemasıyla önekleyin. HTTPS gereklidir ve zorunludur: HTTPS olmayan ana bilgisayarlar reddedilir, böylece kimlik bilgileri asla düz metin üzerinden gönderilmez (tek istisna, yerel geliştirme için http://localhost gibi bir geri döngü ana bilgisayarıdır).
Veri yerleşimi olan GitHub Enterprise Cloud için, ana bilgisayar adı olarak https://YOURSUBDOMAIN.ghe.com kullanın.
Hızlı kurulum için yukarıdaki tek tıkla kurulum düğmelerinden birini kullanın. Bu akışı tamamladıktan sonra Ajan moduna (Copilot Chat metin girişinin yanında bulunur) geçin ve sunucu başlayacaktır.
VS Code'un ajan modu belgelerinde MCP sunucu araçlarını kullanma hakkında daha fazla bilgi edinin.
Diğer IDE'lere (JetBrains, Visual Studio, Eclipse vb.) GitHub Copilot'a Kurulum
Aşağıdaki JSON bloklarından birini IDE'nizin MCP ayarlarına ekleyin.
OAuth ile giriş yapın (oluşturulacak veya saklanacak belirteç yok). github.com'da resmi görüntü uygulama kimlik bilgilerini zaten içerir, bu nedenle kendiniz hiçbirini sağlamazsınız: ilk kullanımda tarayıcı tabanlı bir giriş çalıştırır ve ortaya çıkan belirteci yalnızca bellekte tutar. Docker'da bu, kapsayıcının giriş geri aramasına erişilebilmesi için geri döngüye sabit bir geri arama bağlantı noktası yayınlanmasını gerektirir:
Yerel ikili akış (sabit bağlantı noktası gerekmez), başsız/cihaz kodu yedeği, GitHub Enterprise Server / ghe.com ve kendi OAuth veya GitHub App'inizi getirme hakkında Yerel Sunucu OAuth Girişi bölümüne bakın.
İsteğe bağlı olarak, çalışma alanınızda .vscode/mcp.json adlı bir dosyaya benzer bir örnek (yani mcp anahtarı olmadan) ekleyebilirsiniz. Bu, yapılandırmayı aynı formatı kabul eden diğer ana bilgisayar uygulamalarıyla paylaşmanıza olanak tanır.
Not: Yerel MCP sunucularını destekleyen herhangi bir ana bilgisayar uygulaması, yerel GitHub MCP sunucusuna erişebilmelidir. Ancak, belirli yapılandırma süreci, sözdizimi ve entegrasyonun kararlılığı ana bilgisayar uygulamasına göre değişir. Birçoğu yukarıdaki örneklere benzer bir format izleyebilir, ancak bu garanti edilmez. Doğru MCP yapılandırma sözdizimi ve kurulum süreci için lütfen ana bilgisayar uygulamanızın belgelerine bakın.
Kaynaktan derleme
Docker'ınız yoksa, ikili dosyayı cmd/github-mcp-server dizininde derlemek için go build kullanabilir ve GITHUB_PERSONAL_ACCESS_TOKEN ortam değişkeni belirtecinize ayarlanmış şekilde github-mcp-server stdio komutunu kullanabilirsiniz. Derlemenin çıktı konumunu belirtmek için -o bayrağını kullanın. Sunucunuzu, derlenmiş çalıştırılabilir dosyayı command olarak kullanacak şekilde yapılandırmalısınız. Örneğin:
GitHub MCP Sunucusu, --toolsets bayrağı aracılığıyla belirli işlevsellik gruplarını etkinleştirmeyi veya devre dışı bırakmayı destekler. Bu, AI araçlarınıza hangi GitHub API yeteneklerinin sunulacağını kontrol etmenizi sağlar. Yalnızca ihtiyacınız olan araç setlerini etkinleştirmek, LLM'in araç seçimine yardımcı olabilir ve bağlam boyutunu azaltabilir.
Araç setleri yalnızca Araçlarla sınırlı değildir. İlgili MCP Kaynakları ve İstemleri de geçerli olduğunda dahil edilir.
Örnekler mi arıyorsunuz? Minimal kurulumlar, salt okunur mod ve araçları araç setleriyle birleştirme gibi yaygın tarifler için Sunucu Yapılandırma Kılavuzu bölümüne bakın.
Araç Setlerini Belirtme
LLM için kullanılabilir olmasını istediğiniz araç setlerini belirtmek için iki şekilde bir izin listesi iletebilirsiniz:
Her ikisi de sağlanırsa, GITHUB_TOOLSETS ortam değişkeni komut satırı argümanına göre önceliklidir.
Bireysel Araçları Belirtme
Ayrıca --tools bayrağını kullanarak belirli araçları yapılandırabilirsiniz. Araçlar bağımsız olarak kullanılabilir veya ince ayar kontrolü için araç setleriyle birleştirilebilir.
Bu, repos ve issues araç setlerindeki tüm araçları ve ayrıca get_gist kaydeder.
Önemli Notlar:
Araçlar ve araç setleri birlikte kullanılabilir
Salt okunur mod önceliklidir: --read-only ayarlanmışsa, --tools aracılığıyla açıkça istense bile yazma araçları atlanır
Araç adları tam olarak eşleşmelidir (ör. get_file_contents, getFileContents değil). Geçersiz araç adları, sunucunun başlangıçta bir hata mesajıyla başarısız olmasına neden olur
Araçlar yeniden adlandırıldığında, geriye dönük uyumluluk için eski adlar takma ad olarak korunur. Ayrıntılar için Araç Yeniden Adlandırma bölümüne bakın.
Docker ile Araç Setlerini Kullanma
Docker kullanırken, araç setlerini ortam değişkenleri olarak iletebilirsiniz:
Kesinlikle önerilir: İçinde bulunduğunuz GitHub bağlamı ve geçerli kullanıcı hakkında bağlam sağlayan araçlar
actions
GitHub Actions iş akışları ve CI/CD işlemleri
code_quality
GitHub Kod Kalitesi ile ilgili araçlar
code_security
GitHub Kod Taraması gibi kod güvenliği ile ilgili araçlar
copilot
Copilot ile ilgili araçlar
copilot_issue_intents
İntent meta verileri (gerekçe, güven, öneri) taşıyan isteğe bağlı Copilot sorun atama araçları
dependabot
Dependabot araçları
discussions
GitHub Discussions ile ilgili araçlar
gists
GitHub Gist ile ilgili araçlar
git
Düşük seviyeli Git işlemleri için GitHub Git API ile ilgili araçlar
issues
GitHub Issues ile ilgili araçlar
labels
GitHub Labels ile ilgili araçlar
notifications
GitHub Notifications ile ilgili araçlar
orgs
GitHub Organization ile ilgili araçlar
projects
GitHub Projects ile ilgili araçlar
pull_requests
GitHub Pull Request ile ilgili araçlar
repos
GitHub Repository ile ilgili araçlar
secret_protection
GitHub Secret Scanning gibi gizli koruma ile ilgili araçlar
security_advisories
Güvenlik danışmanlıkları ile ilgili araçlar
stargazers
GitHub Stargazers ile ilgili araçlar
users
GitHub User ile ilgili araçlar
Uzak GitHub MCP Sunucusunda Ek Araç Setleri
Araç Seti
Açıklama
copilot
Copilot ile ilgili araçlar (ör. Copilot Coding Agent)
copilot_spaces
Copilot Spaces ile ilgili araçlar
github_support_docs_search
GitHub ürün ve destek sorularını yanıtlamak için belgeleri arayın
Araçlar
Actions
actions_get - GitHub Actions kaynaklarının ayrıntılarını alın (iş akışları, iş akışı çalıştırmaları, işler ve yapıtlar)
OAuth Challenge Kapsamları: repo
method: Yürütülecek yöntem (dize, zorunlu)
owner: Depo sahibi (dize, zorunlu)
repo: Depo adı (dize, zorunlu)
resource_id: Kaynağın benzersiz tanımlayıcısı. Sağlanan "method" değerine göre değişir, bu nedenle doğru kimliği sağladığınızdan emin olun:
'get_workflow' yöntemi için bir iş akışı kimliği veya iş akışı dosya adı (ör. ci.yaml) sağlayın.
'get_workflow_run', 'get_workflow_run_usage' ve 'get_workflow_run_logs_url' yöntemleri için bir iş akışı çalıştırma kimliği sağlayın.
'download_workflow_run_artifact' yöntemi için bir yapıt kimliği sağlayın.
'get_workflow_job' yöntemi için bir iş kimliği sağlayın.
(dize, zorunlu)
actions_list - Bir depodaki GitHub Actions iş akışlarını listeleyin
OAuth Challenge Kapsamları: repo
method: Gerçekleştirilecek eylem (dize, zorunlu)
owner: Depo sahibi (dize, zorunlu)
page: Sayfalama için sayfa numarası (varsayılan: 1) (sayı, isteğe bağlı)
per_page: Sayfalama için sayfa başına sonuç (varsayılan: 30, maks: 100) (sayı, isteğe bağlı)
repo: Depo adı (dize, zorunlu)
resource_id: Kaynağın benzersiz tanımlayıcısı. Sağlanan "method" değerine göre değişir, bu nedenle doğru kimliği sağladığınızdan emin olun:
'list_workflows' yöntemi için herhangi bir kaynak kimliği sağlamayın.
'list_workflow_runs' yöntemi için bir iş akışı kimliği veya iş akışı dosya adı (ör. ci.yaml) sağlayın veya depodaki tüm iş akışı çalıştırmalarını listelemek için atlayın.
'list_workflow_jobs' ve 'list_workflow_run_artifacts' yöntemleri için bir iş akışı çalıştırma kimliği sağlayın.
(dize, isteğe bağlı)
workflow_jobs_filter: İş akışı işleri için filtreler. YALNIZCA yöntem 'list_workflow_jobs' olduğunda kullanılır (nesne, isteğe bağlı)
workflow_runs_filter: İş akışı çalıştırmaları için filtreler. YALNIZCA yöntem 'list_workflow_runs' olduğunda kullanılır (nesne, isteğe bağlı)
actions_run_trigger - GitHub Actions iş akışı eylemlerini tetikleyin
OAuth Challenge Kapsamları: repo
inputs: İş akışının kabul ettiği girdiler. Yalnızca 'run_workflow' yöntemi için kullanılır. (nesne, isteğe bağlı)
method: Yürütülecek yöntem (dize, zorunlu)
owner: Depo sahibi (dize, zorunlu)
ref: İş akışı için git referansı. Referans bir dal veya etiket adı olabilir. 'run_workflow' yöntemi için zorunludur. (dize, isteğe bağlı)
repo: Depo adı (dize, zorunlu)
run_id: İş akışı çalıştırmasının kimliği. 'run_workflow' dışındaki tüm yöntemler için zorunludur. (sayı, isteğe bağlı)
workflow_id: İş akışı kimliği (sayısal) veya iş akışı dosya adı (ör. main.yml, ci.yaml). 'run_workflow' yöntemi için zorunludur. (dize, isteğe bağlı)
get_job_logs - GitHub Actions iş akışı iş günlüklerini alın
OAuth Challenge Kapsamları: repo
failed_only: true olduğunda, run_id tarafından belirtilen iş akışı çalıştırmasındaki tüm başarısız işlerin günlüklerini alır. run_id sağlanmasını gerektirir. (boolean, isteğe bağlı)
job_id: İş akışı işinin benzersiz tanımlayıcısı. Tek bir iş için günlük alırken zorunludur. (sayı, isteğe bağlı)
owner: Depo sahibi (dize, zorunlu)
repo: Depo adı (dize, zorunlu)
return_content: URL'ler yerine gerçek günlük içeriğini döndürür (boolean, isteğe bağlı)
run_id: İş akışı çalıştırmasının benzersiz tanımlayıcısı. Çalıştırmadaki tüm başarısız işlerin günlüklerini almak için failed_only true olduğunda zorunludur. (sayı, isteğe bağlı)
tail_lines: Günlüğün sonundan döndürülecek satır sayısı (sayı, isteğe bağlı)
Kod Kalitesi
get_code_quality_finding - Kod kalitesi bulgusunu al
OAuth Challenge Kapsamları: repo
findingNumber: Bulgunun numarası. (sayı, zorunlu)
owner: Deponun sahibi. (metin, zorunlu)
repo: Deponun adı. (metin, zorunlu)
Kod Güvenliği
get_code_scanning_alert - Kod tarama uyarısını al
OAuth Challenge Kapsamları: security_events
alertNumber: Uyarının numarası. (sayı, zorunlu)
owner: Deponun sahibi. (metin, zorunlu)
repo: Deponun adı. (metin, zorunlu)
list_code_scanning_alerts - Kod tarama uyarılarını listele
OAuth Challenge Kapsamları: security_events
owner: Deponun sahibi. (metin, zorunlu)
page: Sayfalama için sayfa numarası (min 1) (sayı, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, maks 100) (sayı, isteğe bağlı)
ref: Listelemek istediğiniz sonuçlar için Git referansı. (metin, isteğe bağlı)
repo: Deponun adı. (metin, zorunlu)
severity: Kod tarama uyarılarını önem derecesine göre filtrele (metin, isteğe bağlı)
state: Kod tarama uyarılarını duruma göre filtrele. Varsayılan açık (metin, isteğe bağlı)
tool_name: Kod tarama için kullanılan aracın adı. (metin, isteğe bağlı)
Bağlam
get_me - Kullanıcı profilimi al
Parametre gerekmez
get_team_members - Takım üyelerini al
OAuth Challenge Kapsamları: read:org
org: Takımı içeren kuruluş girişi (sahip). (metin, zorunlu)
base_ref: Ajanın çalışmaya başlayacağı Git referansı (ör. dal). Belirtilmezse, deponun varsayılan dalına varsayılan olarak ayarlanır (metin, isteğe bağlı)
custom_instructions: Ajanı sorun gövdesinin ötesinde yönlendirmek için isteğe bağlı özel talimatlar. Sorun açıklamasında yer almayan ek bağlam, kısıtlama veya yönlendirme sağlamak için kullanın (metin, isteğe bağlı)
issue_number: Sorun numarası (sayı, zorunlu)
owner: Depo sahibi (metin, zorunlu)
repo: Depo adı (metin, zorunlu)
request_copilot_review - Copilot incelemesi iste
OAuth Challenge Kapsamları: repo
owner: Depo sahibi (metin, zorunlu)
pullNumber: Çekme isteği numarası (sayı, zorunlu)
repo: Depo adı (metin, zorunlu)
Copilot Sorun Niyetleri
assign_copilot_to_issue_with_intent - Copilot'u niyetle soruna ata
OAuth Challenge Kapsamları: repo
base_ref: Ajanın çalışmaya başlayacağı Git referansı (ör. dal). Belirtilmezse, deponun varsayılan dalına varsayılan olarak ayarlanır. is_suggestion true olduğunda yok sayılır (metin, isteğe bağlı)
confidence: Bu seçime ne kadar güvendiğiniz. Net sinyal veya açık kullanıcı isteği için 'HIGH', bazı belirsizliklerle makul çıkarım için 'MEDIUM', sınırlı sinyalle en iyi tahmin için 'LOW'. (metin, zorunlu)
custom_instructions: Ajanı sorun gövdesinin ötesinde yönlendirmek için isteğe bağlı özel talimatlar. is_suggestion true olduğunda yok sayılır (metin, isteğe bağlı)
is_suggestion: true ise, ajanı başlatmak yerine bekleyen bir Copilot atama niyeti kaydeder. Onay daha sonra başlatma bağlamını sağlar; bu durumda base_ref ve custom_instructions yok sayılır. (boolean, zorunlu)
issue_number: Sorun numarası (sayı, zorunlu)
owner: Depo sahibi (metin, zorunlu)
rationale: Sorunun hangi yönünün Copilot'u seçmeye yol açtığını açıklayan tek bir özlü cümle. Somut sinyali belirtin (ör. 'Net kabul kriterleri olan iyi kapsamlandırılmış görev'). (metin, zorunlu)
repo: Depo adı (metin, zorunlu)
Dependabot
get_dependabot_alert - Dependabot uyarısını al
OAuth Challenge Kapsamları: security_events
alertNumber: Uyarının numarası. (sayı, zorunlu)
owner: Deponun sahibi. (metin, zorunlu)
repo: Deponun adı. (metin, zorunlu)
list_dependabot_alerts - Dependabot uyarılarını listele
OAuth Challenge Kapsamları: security_events
after: Sayfalama için imleç. Önceki yanıttaki imleci kullanın. (metin, isteğe bağlı)
owner: Deponun sahibi. (metin, zorunlu)
perPage: Sayfalama için sayfa başına sonuç (min 1, maks 100) (sayı, isteğe bağlı)
repo: Deponun adı. (metin, zorunlu)
severity: Dependabot uyarılarını önem derecesine göre filtrele (metin, isteğe bağlı)
state: Dependabot uyarılarını duruma göre filtrele. Varsayılan açık (metin, isteğe bağlı)
body: Yorum içeriği ('add', 'reply' ve 'update' yöntemleri için zorunlu) (metin, isteğe bağlı)
commentNodeID: Tartışma yorumunun Node Kimliği ('reply', 'update', 'delete', 'mark_answer' ve 'unmark_answer' yöntemleri için zorunlu). 'reply' için bu, yanıt verilecek üst düzey yorumdur; GitHub Discussions yalnızca bir düzey iç içe yerleştirmeyi destekler. (metin, isteğe bağlı)
discussionNumber: Tartışma numarası ('add' ve 'reply' yöntemleri için zorunlu) (sayı, isteğe bağlı)
method: Tartışma yorumu üzerinde gerçekleştirilecek yazma işlemi.
Seçenekler şunlardır:
'add' - bir tartışmaya yeni bir üst düzey yorum ekler.
'reply' - üst düzey bir tartışma yorumuna yanıt verir (GitHub Discussions yalnızca bir düzey iç içe yerleştirmeyi destekler).
'update' - mevcut bir tartışma yorumunu günceller.
'delete' - bir tartışma yorumunu siler.
'mark_answer' - bir tartışma yorumunu yanıt olarak işaretler (yalnızca Soru-Cevap).
includeReplies: true olduğunda, her üst düzey yorum yanıtlarını içinde iç içe olarak içerir (yorum başına en fazla 100 yanıt, GitHub API maksimumudur). Varsayılan false. (boolean, isteğe bağlı)
owner: Depo sahibi (metin, zorunlu)
perPage: Sayfalama için sayfa başına sonuç (min 1, maks 100) (sayı, isteğe bağlı)
repo: Depo adı (metin, zorunlu)
list_discussion_categories - Tartışma kategorilerini listele
after: Sayfalama için imleç. Önceki yanıttaki imleci kullanın. (metin, isteğe bağlı)
category: Tartışma kategorisi kimliğine göre isteğe bağlı filtre. Belirtilirse, yalnızca bu kategoriye sahip tartışmalar listelenir. (metin, isteğe bağlı)
direction: Sıralama yönü. (metin, isteğe bağlı)
orderBy: Tartışmaları alana göre sırala. Belirtilirse, 'direction' da belirtilmelidir. (metin, isteğe bağlı)
owner: Depo sahibi (metin, zorunlu)
perPage: Sayfalama için sayfa başına sonuç (min 1, maks 100) (sayı, isteğe bağlı)
Git
- **get_repository_tree** - Depo ağacını al
- **OAuth Challenge Kapsamları**: `repo`
- `owner`: Depo sahibi (kullanıcı adı veya organizasyon) (string, zorunlu)
- `path_filter`: Ağaç sonuçlarını filtrelemek için isteğe bağlı yol öneki (ör. 'src/' yalnızca src dizinindeki dosyaları göstermek için) (string, isteğe bağlı)
- `recursive`: Bu parametrenin true olarak ayarlanması, ağaç tarafından başvurulan nesneleri veya alt ağaçları döndürür. Varsayılan false'dur (boolean, isteğe bağlı)
- `repo`: Depo adı (string, zorunlu)
- `tree_sha`: Ağacın SHA1 değeri veya ref (dal veya etiket) adı. Varsayılan olarak deponun varsayılan dalını kullanır (string, isteğe bağlı)
Sorunlar
add_issue_comment - Soruna veya çekme isteğine yorum ekle
comment_id: Reaksiyon verilecek sorun veya çekme isteği yorumunun sayısal kimliği. Yorumlara reaksiyon vermek için kullanın; sorunun veya çekme isteğinin kendisine reaksiyon vermek için atlayın. body ile birleştirilemez. (integer, isteğe bağlı)
issue_number: Yorum yapılacak veya reaksiyon verilecek sorun veya çekme isteği numarası. (number, zorunlu)
owner: Depo sahibi (string, zorunlu)
reaction: Eklenecek emoji reaksiyonu. body sağlanmadıysa zorunludur. (string, isteğe bağlı)
repo: Depo adı (string, zorunlu)
get_label - Bir depodan belirli bir etiketi al
OAuth Challenge Kapsamları: repo
name: Etiket adı. (string, zorunlu)
owner: Depo sahibi (kullanıcı adı veya organizasyon adı) (string, zorunlu)
repo: Depo adı (string, zorunlu)
issue_read - Sorun ayrıntılarını al
OAuth Challenge Kapsamları: repo
issue_number: Sorunun numarası (number, zorunlu)
method: Tek bir sorun üzerinde gerçekleştirilecek okuma işlemi.
Seçenekler:
get - Sorun ayrıntılarını al. Ayrıca en iyi çaba hiyerarşi bayraklarını da döndürür (has_parent, has_children); parent ve sub_issues_summary isteğe bağlı ilişki özetleridir ve closed_by_pull_requests, sorunu total_count olarak kapatacak şekilde yapılandırılmış çekme isteklerini ve en fazla 5 references özetler.
get_comments - Sorun yorumlarını al.
get_sub_issues - Sorunun alt sorunlarını (çocuklarını) al.
get_parent - Bu sorun başka bir sorunun alt sorunuysa üst sorunu al.
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, maks 100) (number, isteğe bağlı)
repo: Deponun adı (string, zorunlu)
issue_write - Sorun/çekme isteği oluştur veya güncelle
OAuth Challenge Kapsamları: repo
assignees: Bu soruna atanacak kullanıcı adları (string[], isteğe bağlı)
body: Sorun gövde içeriği (string, isteğe bağlı)
duplicate_of: Bu sorunun kopyası olduğu sorun numarası. state_reason 'duplicate' olduğunda zorunludur. (number, isteğe bağlı)
issue_fields: Ayarlanacak veya temizlenecek sorun alanı değerleri. Her öğe 'field_name' ve 'value', 'field_option_name' veya 'delete: true' öğelerinden tam olarak birini gerektirir. (object[], isteğe bağlı)
issue_number: Güncellenecek sorun numarası (number, isteğe bağlı)
labels: Bu soruna uygulanacak etiketler (string[], isteğe bağlı)
method: Tek bir sorun üzerinde gerçekleştirilecek yazma işlemi.
Seçenekler:
'create' - yeni bir sorun oluşturur.
'update' - mevcut bir sorunu günceller.
(string, zorunlu)
milestone: Kilometre taşı numarası (number, isteğe bağlı)
owner: Depo sahibi (string, zorunlu)
parent_issue_number: Üst sorunun sorun numarası. Yalnızca method 'create' olduğunda kullanılır ve issue_fields ile birleştirilemez. Yeni sorun oluşturulur ve aynı işlemde bu üst soruna eklenir. (number, isteğe bağlı)
parent_owner: Üst sorunun depo sahibi. parent_repo ile birlikte sağlanmalıdır. Her ikisini de atlamak için owner ve repo kullanın. Yalnızca method 'create' olduğunda ve parent_issue_number sağlandığında kullanılır. (string, isteğe bağlı)
parent_repo: Üst sorunun depo adı. parent_owner ile birlikte sağlanmalıdır. Her ikisini de atlamak için owner ve repo kullanın. Yalnızca method 'create' olduğunda ve parent_issue_number sağlandığında kullanılır. (string, isteğe bağlı)
repo: Depo adı (string, zorunlu)
state: Yeni durum (string, isteğe bağlı)
state_reason: Durum değişikliğinin nedeni. Durum değiştirilmediği sürece yok sayılır. (string, isteğe bağlı)
title: Sorun başlığı (string, isteğe bağlı)
type: Bu sorunun türü. Güncellemeler için geçerli türü kaldırmak üzere null iletin. Yalnızca bu depo için sorun türleri etkinse kullanın. Bu depo veya sahip organizasyonu için geçerli tür değerlerini almak üzere list_issue_types kullanın. Depo sorun türlerini desteklemiyorsa bu parametreyi atlayın. (string | null, isteğe bağlı)
list_issue_fields - Sorun alanlarını listele
OAuth Challenge Kapsamları: repo, read:org
owner: Deponun veya organizasyonun hesap sahibi. Ad büyük/küçük harfe duyarlı değildir. (string, zorunlu)
repo: Deponun adı. Sağlandığında, bu belirli depo için alanları döndürür (organizasyonundan devralınır). Atlanırsa, doğrudan organizasyon düzeyindeki alanları döndürür. (string, isteğe bağlı)
list_issue_types - Mevcut sorun türlerini listele
OAuth Challenge Kapsamları: repo, read:org
owner: Deponun veya organizasyonun hesap sahibi. (string, zorunlu)
repo: Deponun adı. Sağlandığında, bu belirli depo için sorun türlerini döndürür. Atlanırsa, doğrudan organizasyon düzeyindeki sorun türlerini döndürür. (string, isteğe bağlı)
list_issues - Sorunları listele
OAuth Challenge Kapsamları: repo
after: Sayfalama için imleç. Önceki yanıttaki imleci kullanın. (string, isteğe bağlı)
direction: Sıralama yönü. Sağlanırsa, 'orderBy' de sağlanmalıdır. (string, isteğe bağlı)
field_filters: Özel sorun alanı değerlerine göre filtrele. Her giriş bir field_name ve bir value alır; sunucu alanı arar ve değeri türüne dönüştürür (tek seçim seçenek adı, metin, sayı veya YYYY-AA-GG tarihi). (object[], isteğe bağlı)
fields: Her sorun için döndürülecek alanların alt kümesi. Atlanırsa, tüm alanlar döndürülür. Yalnızca belirli alanlara ihtiyacınız olduğunda yanıt boyutunu azaltmak için bunu kullanın; özellikle 'body' ve 'field_values' alanlarını atlamak, sonuç başına en büyük veriyi düşürür. (string[], isteğe bağlı)
labels: Etiketlere göre filtrele (string[], isteğe bağlı)
orderBy: Sorunları alana göre sırala. Sağlanırsa, 'direction' de sağlanmalıdır. (string, isteğe bağlı)
owner: Depo sahibi (string, zorunlu)
perPage: Sayfalama için sayfa başına sonuç (min 1, maks 100) (number, isteğe bağlı)
repo: Depo adı (string, zorunlu)
since: Tarihe göre filtrele (ISO 8601 zaman damgası) (string, isteğe bağlı)
state: Duruma göre filtrele, sağlanmadığında varsayılan olarak hem açık hem kapalı sorunlar döndürülür (string, isteğe bağlı)
search_issues - Sorunları ara
OAuth Challenge Kapsamları: repo
fields: Her sorun sonucu için döndürülecek alanların alt kümesi. Atlanırsa, tüm alanlar döndürülür. Yalnızca belirli alanlara ihtiyacınız olduğunda yanıt boyutunu azaltmak için bunu kullanın; özellikle 'body', 'reactions' ve 'labels' alanlarını atlamak, sonuç başına en büyük veriyi düşürür. (string[], isteğe bağlı)
order: Sıralama düzeni (string, isteğe bağlı)
owner: İsteğe bağlı depo sahibi. repo ile sağlanırsa, yalnızca bu depo için sorunlar listelenir. (string, isteğe bağlı)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, maks 100) (number, isteğe bağlı)
query: Doğal dil olarak arama sorgusu. Kullanıcı alternatif ifadeler verdiğinde, bunları OR ile birleştirmek yerine düz kelimeler olarak ekleyin. (string, zorunlu)
repo: İsteğe bağlı depo adı. owner ile sağlanırsa, yalnızca bu depo için sorunlar listelenir. (string, isteğe bağlı)
sort: Kategori eşleşme sayısına göre sıralama alanı, varsayılan olarak en iyi eşleşme (string, isteğe bağlı)
sub_issue_write - Alt sorunu değiştir
OAuth Challenge Kapsamları: repo
after_id: Önceliklendirilecek alt sorunun kimliği (after_id VEYA before_id belirtilmelidir) (number, isteğe bağlı)
before_id: Önceliklendirilecek alt sorunun kimliği (after_id VEYA before_id belirtilmelidir) (number, isteğe bağlı)
issue_number: Üst sorunun numarası (number, zorunlu)
method: Tek bir alt sorun üzerinde gerçekleştirilecek eylem
Seçenekler:
'add' - bir GitHub deposunda üst soruna alt sorun ekler.
'remove' - bir GitHub deposunda üst sorundan alt sorunu kaldırır.
'reprioritize' - bir GitHub deposunda üst sorun içindeki alt sorunların sırasını değiştirir. Yeni konumu belirtmek için 'after_id' veya 'before_id' kullanın.
Sorun hiyerarşisini yazar. Bir alt sorunu yeni bir üst soruna taşımak için add ile replace_parent=true kullanın; yazılabilir üst alan yoktur.
(string, zorunlu)
owner: Depo sahibi (string, zorunlu)
replace_parent: true olduğunda, alt sorunun geçerli üst sorununu değiştirir. Yalnızca 'add' yöntemiyle kullanın. (boolean, isteğe bağlı)
repo: Depo adı (string, zorunlu)
sub_issue_id: Eklenecek alt sorunun kimliği. Kimlik, sorun numarasıyla aynı değildir (number, zorunlu)
Etiketler
get_label - Bir depodan belirli bir etiketi al
OAuth Challenge Kapsamları: repo
name: Etiket adı. (string, zorunlu)
owner: Depo sahibi (kullanıcı adı veya organizasyon adı) (string, zorunlu)
repo: Depo adı (string, zorunlu)
label_write - Depo etiketleri üzerinde yazma işlemleri
OAuth Challenge Kapsamları: repo
color: '#' öneki olmadan 6 karakterli onaltılık kod olarak etiket rengi (ör. 'f29513'). 'create' için zorunlu, 'update' için isteğe bağlı. (string, isteğe bağlı)
description: Etiket açıklama metni. 'create' ve 'update' için isteğe bağlı. (string, isteğe bağlı)
method: Gerçekleştirilecek işlem: 'create', 'update' veya 'delete' (string, zorunlu)
name: Etiket adı - tüm işlemler için zorunlu (string, zorunlu)
new_name: Etiket için yeni ad (yalnızca yeniden adlandırmak için 'update' yöntemiyle kullanılır) (string, isteğe bağlı)
owner: Depo sahibi (kullanıcı adı veya organizasyon adı) (string, zorunlu)
repo: Depo adı (string, zorunlu)
list_label - Bir depodan etiketleri listele
OAuth Challenge Kapsamları: repo
owner: Depo sahibi (kullanıcı adı veya organizasyon adı) - tüm işlemler için zorunlu (string, zorunlu)
repo: Depo adı - tüm işlemler için zorunlu (string, zorunlu)
before: Yalnızca verilen zamandan önce güncellenen bildirimleri göster (ISO 8601 biçimi) (string, isteğe bağlı)
filter: Bildirimleri filtrele, belirtilmediyse varsayılanı kullan. Okunmuş bildirimler, kullanıcı tarafından zaten onaylanmış olanlardır. Katılımcı bildirimler, kullanıcının doğrudan dahil olduğu, örneğin yorum yaptığı veya oluşturduğu sorunlar veya çekme istekleri gibi bildirimlerdir. (string, isteğe bağlı)
owner: İsteğe bağlı depo sahibi. repo ile birlikte verilirse, yalnızca bu depo için bildirimler listelenir. (string, isteğe bağlı)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
repo: İsteğe bağlı depo adı. owner ile birlikte verilirse, yalnızca bu depo için bildirimler listelenir. (string, isteğe bağlı)
since: Yalnızca verilen zamandan sonra güncellenen bildirimleri göster (ISO 8601 biçimi) (string, isteğe bağlı)
mark_all_notifications_read - Tüm bildirimleri okundu olarak işaretle
OAuth Challenge Kapsamları: notifications
lastReadAt: Bildirimlerin kontrol edildiği son noktayı açıklar (isteğe bağlı). Varsayılan: Şimdi (string, isteğe bağlı)
owner: İsteğe bağlı depo sahibi. repo ile birlikte verilirse, yalnızca bu depo için bildirimler okundu olarak işaretlenir. (string, isteğe bağlı)
repo: İsteğe bağlı depo adı. owner ile birlikte verilirse, yalnızca bu depo için bildirimler okundu olarak işaretlenir. (string, isteğe bağlı)
Organizasyonlar
search_orgs - Organizasyonları ara
OAuth Challenge Kapsamları: read:org
order: Sıralama düzeni (string, isteğe bağlı)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
query: Organizasyon arama sorgusu. Örnekler: 'microsoft', 'location:california', 'created:>=2025-01-01'. Arama otomatik olarak type:org kapsamına alınır. (string, zorunlu)
sort: Kategoriye göre sıralama alanı (string, isteğe bağlı)
Projeler
projects_get - GitHub Projects kaynaklarının ayrıntılarını al
OAuth Challenge Kapsamları: read:project
field_id: Alanın kimliği. 'get_project_field' yöntemi için gereklidir. (number, isteğe bağlı)
field_names: Bir proje öğesi alınırken yanıta dahil edilecek belirli alan adları listesi (ör. ["Status", "Priority"]). Sunucu tarafında alan kimliklerine çözümlenir — yalnızca insan tarafından okunabilir adları biliyorsanız 'fields' yerine bunu iletin. 'fields' ile karşılıklı olarak özeldir — yalnızca birini sağlayın, ikisini değil. Yalnızca 'get_project_item' yöntemi için kullanılır. (string[], isteğe bağlı)
fields: Bir proje öğesi alınırken yanıta dahil edilecek belirli alan kimlikleri listesi (ör. ["102589", "985201", "169875"]). Ne 'fields' ne de 'field_names' sağlanmazsa, yalnızca başlık alanı dahil edilir. 'field_names' ile karşılıklı olarak özeldir — yalnızca birini sağlayın, ikisini değil. Yalnızca 'get_project_item' yöntemi için kullanılır. (string[], isteğe bağlı)
item_id: Öğenin kimliği. 'get_project_item' yöntemi için gereklidir. (number, isteğe bağlı)
method: Yürütülecek yöntem (string, zorunlu)
owner: Sahip (kullanıcı veya organizasyon girişi). Ad büyük/küçük harfe duyarlı değildir. (string, isteğe bağlı)
owner_type: Sahip türü (kullanıcı veya org). Sağlanmazsa, otomatik olarak algılanır. (string, isteğe bağlı)
status_update_id: Proje durum güncellemesinin düğüm kimliği. 'get_project_status_update' yöntemi için gereklidir. (string, isteğe bağlı)
view_id: Proje görünümünün düğüm kimliği. 'get_project_view' yöntemi için gereklidir. (string, isteğe bağlı)
projects_list - GitHub Projects kaynaklarını listele
OAuth Challenge Kapsamları: read:project
after: Önceki pageInfo.nextCursor'dan ileri sayfalama imleci. (string, isteğe bağlı)
before: Önceki pageInfo.prevCursor'dan geri sayfalama imleci (nadir). (string, isteğe bağlı)
field_names: Proje öğeleri listelenirken dahil edilecek alan adları (ör. ["Status", "Priority"]). Sunucu tarafında alan kimliklerine çözümlenir — yalnızca insan tarafından okunabilir adları biliyorsanız 'fields' yerine bunu iletin. Çözümlenemeyen adlar yapılandırılmış bir hata döndürür. 'fields' ile karşılıklı olarak özeldir — yalnızca birini sağlayın, ikisini değil. Yalnızca 'list_project_items' yöntemi için kullanılır. (string[], isteğe bağlı)
fields: Proje öğeleri listelenirken dahil edilecek alan kimlikleri (ör. ["102589", "985201"]). KRİTİK: Alan değerlerini almak için her zaman sağlayın. Bu olmadan (ve 'field_names' olmadan), yalnızca başlıklar döndürülür. 'field_names' ile karşılıklı olarak özeldir — yalnızca birini sağlayın, ikisini değil. Yalnızca 'list_project_items' yöntemi için kullanılır. (string[], isteğe bağlı)
owner: Sahip (kullanıcı veya organizasyon girişi). Ad büyük/küçük harfe duyarlı değildir. (string, zorunlu)
owner_type: Sahip türü (kullanıcı veya org). Sağlanmazsa, otomatik olarak her ikisi de denenir. (string, isteğe bağlı)
per_page: Sayfa başına sonuç (max 50) (number, isteğe bağlı)
project_number: Projenin numarası. 'list_project_fields', 'list_project_items', 'list_project_views' ve 'list_project_status_updates' yöntemleri için gereklidir. (number, isteğe bağlı)
query: Filtre/sorgu dizesi. list_projects için: başlık metnine ve duruma göre filtrele (ör. "roadmap is:open"). list_project_items için: GitHub'ın proje filtreleme sözdizimini kullanarak gelişmiş filtreleme. (string, isteğe bağlı)
projects_write - GitHub Projects'i yönet
OAuth Challenge Kapsamları: project
body: Durum güncellemesinin gövdesi (markdown). 'create_project_status_update' yöntemi için kullanılır. (string, isteğe bağlı)
field_name: Yineleme alanının adı (ör. 'Sprint'). 'create_iteration_field' yöntemi için gereklidir. (string, isteğe bağlı)
filter: Kaydedilmiş görünüm filtresi; güncellemede korumak için atlayın veya temizlemek için null iletin. (string | null, isteğe bağlı)
issue_number: Sorun numarası. item_type 'issue' olduğunda 'add_project_item' için gereklidir. Ayrıca, öğeyi sorun numarasına göre çözmek için 'update_project_item' tarafından da kabul edilir (item_owner ve item_repo ile birleştirin). (number, isteğe bağlı)
item_id: Proje öğesi kimliği. 'delete_project_item' için gereklidir. 'update_project_item' için, item_id veya (item_owner + item_repo + issue_number) sağlayarak öğeyi soruna göre çözün. (number, isteğe bağlı)
item_owner: Sorunu veya çekme isteğini içeren deponun sahibi (kullanıcı veya organizasyon). 'add_project_item' yöntemi için gereklidir. Ayrıca, öğeyi sorun numarasına göre çözerken 'update_project_item' tarafından da kabul edilir. (string, isteğe bağlı)
item_repo: Sorunu veya çekme isteğini içeren deponun adı. 'add_project_item' yöntemi için gereklidir. Ayrıca, öğeyi sorun numarasına göre çözerken 'update_project_item' tarafından da kabul edilir. (string, isteğe bağlı)
item_type: Öğenin türü, issue veya pull_request. 'add_project_item' yöntemi için gereklidir. (string, isteğe bağlı)
items: Üst düzey 'updated_field' ile güncellenecek öğeler. 'update_project_items' için gereklidir; bir döngüde 'update_project_item' çağırmak yerine bunu tercih edin. Her giriş tam olarak bir başvuru varyantıyla eşleşmelidir: 'node_id', sayısal 'item_id' veya 'item_owner' + 'item_repo' + 'issue_number'. Sınır: çağrı başına 50 öğe. (object[], isteğe bağlı)
iteration_duration: Alanın yinelemeleri için gün cinsinden süre (ör. haftalık için 7, iki haftalık için 14). 'create_iteration_field' yöntemi için gereklidir. (number, isteğe bağlı)
iterations: 'create_iteration_field' yöntemi için özel yinelemeler. Yalnızca değişen sürelere, aralarında boşluklara veya belirli başlıklara sahip yinelemelere ihtiyacınız olduğunda bunu ayarlayın. Aksi takdirde atlayın: GitHub, 'start_date' tarihinden başlayarak 'iteration_duration' günlük üç yinelemeyi otomatik olarak oluşturur; bu çoğu durumda doğru seçimdir. (object[], isteğe bağlı)
owner: Proje sahibi (kullanıcı veya organizasyon girişi). Ad büyük/küçük harfe duyarlı değildir. (string, zorunlu)
owner_type: Sahip türü (kullanıcı veya org). 'create_project' yöntemi için gereklidir. Diğer yöntemler için sağlanmazsa, otomatik olarak algılanır. (string, isteğe bağlı)
project_number: Projenin numarası. 'create_project' dışındaki tüm yöntemler için gereklidir. (number, isteğe bağlı)
pull_request_number: Çekme isteği numarası ('add_project_item' yöntemi için item_type 'pull_request' olduğunda kullanın). issue_number veya pull_request_number sağlayın. (number, isteğe bağlı)
start_date: YYYY-AA-GG biçiminde başlangıç tarihi. 'create_project_status_update' ve 'create_iteration_field' yöntemleri için kullanılır. (string, isteğe bağlı)
status: Projenin durumu. 'create_project_status_update' yöntemi için kullanılır. (string, isteğe bağlı)
target_date: Durum güncellemesinin hedef tarihi YYYY-AA-GG biçiminde. 'create_project_status_update' yöntemi için kullanılır. (string, isteğe bağlı)
title: Proje başlığı. 'create_project' yöntemi için gereklidir. (string, isteğe bağlı)
updated_field: Uygulanacak alan/değer, {"id": 123, "value": ...} veya {"name": "Status", "value": ...} kullanarak; null alanı temizler. 'update_project_item' ve 'update_project_items' için gereklidir; burada bir üst düzey alan/değer bir toplu işteki her öğeye uygulanır. 'update_project_item' SINGLE_SELECT alanları için, ad biçimi seçenek adlarını kabul eder; kimlik biçimi bir seçenek kimliği bekler. (object, isteğe bağlı)
view_id: Güncelleme veya silme için proje görünümü düğüm kimliği; owner/project_number'a ait olmalıdır. (string, isteğe bağlı)
visible_field_names: Oluştururken gösterilecek veya güncellemede değiştirilecek sıralı proje alan adları; güncellemede korumak için atlayın veya sıfırlamak için [] iletin. visible_fields ile karşılıklı olarak özeldir. Roadmap yalnızca [] kabul eder. (string[], isteğe bağlı)
visible_fields: Oluştururken gösterilecek veya güncellemede değiştirilecek sıralı proje alan veritabanı kimlikleri; güncellemede korumak için atlayın veya sıfırlamak için [] iletin. visible_field_names ile karşılıklı olarak özeldir. Roadmap yalnızca [] kabul eder. (string[], isteğe bağlı)
Pull Requests
add_comment_to_pending_review - İstek sahibinin en son bekleyen pull request incelemesine inceleme yorumu ekler
OAuth Challenge Kapsamları: repo
body: İnceleme yorumunun metni (string, zorunlu)
line: Yorumun uygulandığı pull request diff'indeki blob satırı. Çok satırlı yorumlar için aralığın son satırı (number, isteğe bağlı)
owner: Depo sahibi (string, zorunlu)
path: Yorum gerektiren dosyanın göreli yolu (string, zorunlu)
side: Yorum yapılacak diff tarafı. LEFT önceki durumu, RIGHT yeni durumu belirtir (string, isteğe bağlı)
startLine: Çok satırlı yorumlar için yorumun uygulandığı aralığın ilk satırı (number, isteğe bağlı)
startSide: Çok satırlı yorumlar için yorumun uygulandığı diff'in başlangıç tarafı. LEFT önceki durumu, RIGHT yeni durumu belirtir (string, isteğe bağlı)
commentId: Yanıt veya reaksiyon verilecek pull request inceleme yorumunun sayısal kimliği. Bir #discussion_r... çapasındaki numarayı kullanın, GraphQL iş parçacığı düğüm kimliğini (PRRT_...) değil. (number, zorunlu)
owner: Depo sahibi (string, zorunlu)
pullNumber: Pull request numarası. Gövde sağlandığında zorunludur. (number, isteğe bağlı)
reaction: Eklenecek emoji reaksiyonu. Gövde sağlanmadıysa zorunludur. (string, isteğe bağlı)
repo: Depo adı (string, zorunlu)
create_pull_request - Yeni pull request açar
OAuth Challenge Kapsamları: repo
base: Birleştirilecek dal (string, zorunlu)
body: PR açıklaması (string, isteğe bağlı)
draft: Taslak PR olarak oluştur (boolean, isteğe bağlı)
head: Değişiklikleri içeren dal (string, zorunlu)
maintainer_can_modify: Bakımcı düzenlemelerine izin ver (boolean, isteğe bağlı)
owner: Depo sahibi (string, zorunlu)
repo: Depo adı (string, zorunlu)
reviewers: İnceleme istenecek GitHub kullanıcı adları veya ORG/ekip-slangı takım inceleyicileri (string[], isteğe bağlı)
title: PR başlığı (string, zorunlu)
list_pull_requests - Pull request'leri listeler
OAuth Challenge Kapsamları: repo
base: Temel dala göre filtrele (string, isteğe bağlı)
direction: Sıralama yönü (string, isteğe bağlı)
fields: Her pull request için döndürülecek alanların alt kümesi. Atlanırsa tüm alanlar döndürülür. Yalnızca belirli alanlara ihtiyacınız olduğunda yanıt boyutunu azaltmak için kullanın; özellikle 'body' alanını atlamak sonuç başına en büyük veriyi düşürür. (string[], isteğe bağlı)
head: Baş kullanıcı/kuruluş ve dala göre filtrele (string, isteğe bağlı)
owner: Depo sahibi (string, zorunlu)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
repo: Depo adı (string, zorunlu)
sort: Sıralama ölçütü (string, isteğe bağlı)
state: Duruma göre filtrele (string, isteğe bağlı)
merge_pull_request - Pull request'i birleştirir
OAuth Challenge Kapsamları: repo
commit_message: Birleştirme commit'i için ek ayrıntı (string, isteğe bağlı)
commit_title: Birleştirme commit'i için başlık (string, isteğe bağlı)
merge_method: Birleştirme yöntemi (string, isteğe bağlı)
pull_request_read - Tek bir pull request için ayrıntıları alır
OAuth Challenge Kapsamları: repo
after: Sayfalama için imleç, yalnızca get_review_comments yöntemi tarafından kullanılır. Sonraki sayfayı getirmek için önceki sayfanın PageInfo'sundaki endCursor'ı iletin. (string, isteğe bağlı)
method: GitHub'dan hangi pull request verilerinin alınması gerektiğini belirten eylem.
Olası seçenekler:
get - Belirli bir pull request'in ayrıntılarını alır.
get_diff - Bir pull request'in diff'ini alır.
get_status - Bir pull request'teki baş commit'in birleşik commit durumunu alır.
get_files - Bir pull request'te değiştirilen dosyaların listesini alır. Döndürülen sonuç sayısını kontrol etmek için sayfalama parametreleriyle kullanın.
get_commits - Bir pull request'teki commit'lerin listesini alır. Döndürülen sonuç sayısını kontrol etmek için sayfalama parametreleriyle kullanın.
get_review_comments - Bir pull request'teki inceleme iş parçacıklarını alır. Her iş parçacığı, pull request incelemeleri sırasında aynı kod konumunda yapılan mantıksal olarak gruplandırılmış inceleme yorumlarını içerir. Meta verileri (isResolved, isOutdated, isCollapsed) ve ilişkili yorumlarıyla iş parçacıklarını döndürür. Sonuçları kontrol etmek için imleç tabanlı sayfalama (perPage, after) kullanın.
get_reviews - Bir pull request'teki incelemeleri alır. İnceleme yorumları istendiğinde get_review_comments yöntemini kullanın. Döndürülen sonuç sayısını kontrol etmek için sayfalama parametreleriyle kullanın.
get_comments - Bir pull request'teki yorumları alır. Kullanıcı özellikle inceleme yorumlarını istemiyorsa bunu kullanın. Döndürülen sonuç sayısını kontrol etmek için sayfalama parametreleriyle kullanın.
get_check_runs - Bir pull request'in baş commit'i için kontrol çalıştırmalarını alır. Kontrol çalıştırmaları, PR'de çalışan bireysel CI/CD işleri ve kontrolleridir.
(string, zorunlu)
owner: Depo sahibi (string, zorunlu)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
threadId: İnceleme iş parçacığının düğüm kimliği (ör. PRRT_kwDOxxx). resolve_thread ve unresolve_thread yöntemleri için zorunludur. İş parçacığı kimliklerini pull_request_read'den get_review_comments yöntemiyle alın. (string, isteğe bağlı)
search_pull_requests - Pull request'leri arar
OAuth Challenge Kapsamları: repo
fields: Her pull request sonucu için döndürülecek alanların alt kümesi. Atlanırsa tüm alanlar döndürülür. Yalnızca belirli alanlara ihtiyacınız olduğunda yanıt boyutunu azaltmak için kullanın; özellikle 'body', 'reactions' ve 'labels' alanlarını atlamak sonuç başına en büyük veriyi düşürür. (string[], isteğe bağlı)
order: Sıralama düzeni (string, isteğe bağlı)
owner: İsteğe bağlı depo sahibi. repo ile sağlanırsa yalnızca bu depo için pull request'ler listelenir. (string, isteğe bağlı)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
from_branch: Kaynak dal (varsayılan depo varsayılanıdır) (string, isteğe bağlı)
owner: Depo sahibi (string, zorunlu)
repo: Depo adı (string, zorunlu)
create_or_update_file - Dosya oluşturur veya günceller
OAuth Challenge Kapsamları: repo, workflow
allow_symlink_write: Sembolik bağın kendisini güncellemek için true olarak ayarlayın; içerik onun yeni hedef yolu olmalıdır. (boolean, isteğe bağlı)
branch: Dosyanın oluşturulacağı/güncelleneceği dal (string, zorunlu)
content: Dosyanın içeriği, yazıldığında görünmesi gerektiği gibi. Base64 kodlamayın; bu sunucu REST API'yi çağırmadan önce bunu yapar. (string, zorunlu)
message: Commit mesajı (string, zorunlu)
owner: Depo sahibi (kullanıcı adı veya kuruluş) (string, zorunlu)
path: Dosyanın oluşturulacağı/güncelleneceği yol (string, zorunlu)
detail: Değiştirilen dosyalar için eklenecek detay düzeyi. "none" istatistikleri ve dosyaları tamamen atlar. "stats" (varsayılan) dosya başına meta verileri içerir: dosya adı, durum ve satır sayısı (eklemeler, silmeler, değişiklikler), yama içeriği olmadan. "full_patch" ayrıca her dosya için birleşik diff içeriğini içerir ve çok büyük olabilir. (string, isteğe bağlı)
owner: Depo sahibi (string, zorunlu)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
repo: Depo adı (string, zorunlu)
sha: Commit SHA, dal adı veya etiket adı (string, zorunlu)
get_file_contents - Dosya veya dizin içeriklerini al
OAuth Challenge Kapsamları: repo
fields: Yol bir dizin olduğunda her girdi için döndürülecek alanların alt kümesi. Atlanırsa, tüm alanlar döndürülür. Yol tek bir dosya olduğunda yok sayılır. Dizinleri listelerken yanıt boyutunu azaltmak için kullanın; yalnızca belirli alanlara ihtiyacınız varsa, örn. yalnızca 'name' ve 'type'. (string[], isteğe bağlı)
owner: Depo sahibi (kullanıcı adı veya organizasyon) (string, zorunlu)
path: Dosya/dizin yolu (string, isteğe bağlı)
ref: refs/tags/{tag}, refs/heads/{branch} veya refs/pull/{pr_number}/head gibi isteğe bağlı git referanslarını kabul eder (string, isteğe bağlı)
repo: Depo adı (string, zorunlu)
sha: İsteğe bağlı commit SHA kabul eder. Belirtilirse, ref yerine kullanılır (string, isteğe bağlı)
get_latest_release - En son sürümü al
OAuth Challenge Kapsamları: repo
owner: Depo sahibi (string, zorunlu)
repo: Depo adı (string, zorunlu)
get_release_by_tag - Etiket adına göre bir sürümü al
OAuth Challenge Kapsamları: repo
owner: Depo sahibi (string, zorunlu)
repo: Depo adı (string, zorunlu)
tag: Etiket adı (örn., 'v1.0.0') (string, zorunlu)
get_tag - Etiket detaylarını al
OAuth Challenge Kapsamları: repo
owner: Depo sahibi (string, zorunlu)
repo: Depo adı (string, zorunlu)
tag: Etiket adı (string, zorunlu)
list_branches - Dalları listele
OAuth Challenge Kapsamları: repo
owner: Depo sahibi (string, zorunlu)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
repo: Depo adı (string, zorunlu)
list_commits - Commit'leri listele
OAuth Challenge Kapsamları: repo
author: Commit'leri filtrelemek için yazar kullanıcı adı veya e-posta adresi (string, isteğe bağlı)
fields: Her commit için döndürülecek alanların alt kümesi. Atlanırsa, tüm alanlar döndürülür. Yalnızca belirli alanlara ihtiyacınız olduğunda yanıt boyutunu azaltmak için kullanın, örn. yalnızca 'sha' ve 'html_url'. (string[], isteğe bağlı)
owner: Depo sahibi (string, zorunlu)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
path: Yalnızca bu dosya yolunu içeren commit'ler döndürülür (string, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
repo: Depo adı (string, zorunlu)
sha: Commit'lerini listelemek için commit SHA, dal veya etiket adı. Sağlanmazsa, deponun varsayılan dalını kullanır. Bir commit SHA sağlanırsa, o SHA'ya kadar olan commit'leri listeler. (string, isteğe bağlı)
since: Yalnızca bu tarihten sonraki commit'ler döndürülür (ISO 8601 formatı: YYYY-MM-DDTHH:MM:SSZ veya YYYY-MM-DD) (string, isteğe bağlı)
until: Yalnızca bu tarihten önceki commit'ler döndürülür (ISO 8601 formatı: YYYY-MM-DDTHH:MM:SSZ veya YYYY-MM-DD) (string, isteğe bağlı)
list_releases - Sürümleri listele
OAuth Challenge Kapsamları: repo
fields: Her sürüm için döndürülecek alanların alt kümesi. Atlanırsa, tüm alanlar döndürülür. Yalnızca belirli alanlara ihtiyacınız olduğunda yanıt boyutunu azaltmak için kullanın; özellikle 'body' alanını atlamak sürüm başına en büyük veriyi düşürür. (string[], isteğe bağlı)
owner: Depo sahibi (string, zorunlu)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
repo: Depo adı (string, zorunlu)
list_repository_collaborators - Depo işbirlikçilerini listele
OAuth Challenge Kapsamları: repo
affiliation: Üyelik durumuna göre filtrele. Şunlardan biri olabilir: 'outside' (dış işbirlikçiler), 'direct' (organizasyon üyeliğinden bağımsız olarak izinleri olanlar), 'all' (tüm işbirlikçiler). Varsayılan: 'all' (string, isteğe bağlı)
owner: Depo sahibi (string, zorunlu)
page: Sayfalama için sayfa numarası (varsayılan 1, min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (varsayılan 30, min 1, max 100) (number, isteğe bağlı)
repo: Depo adı (string, zorunlu)
list_tags - Etiketleri listele
OAuth Challenge Kapsamları: repo
owner: Depo sahibi (string, zorunlu)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
repo: Depo adı (string, zorunlu)
push_files - Depoya dosya gönder
OAuth Challenge Kapsamları: repo, workflow
branch: Gönderilecek dal (string, zorunlu)
files: Gönderilecek dosya nesneleri dizisi, her nesne path (string) ve content (string) içerir (object[], zorunlu)
message: Commit mesajı (string, zorunlu)
owner: Depo sahibi (string, zorunlu)
repo: Depo adı (string, zorunlu)
search_code - Kod ara
OAuth Challenge Kapsamları: repo
fields: Her kod arama sonucu için döndürülecek alanların alt kümesi. Atlanırsa, tüm alanlar döndürülür. Yalnızca belirli alanlara ihtiyacınız olduğunda yanıt boyutunu azaltmak için kullanın; özellikle 'repository' ve 'text_matches' alanlarını atlamak sonuç başına en büyük veriyi düşürür. (string[], isteğe bağlı)
order: Sonuçlar için sıralama düzeni (string, isteğe bağlı)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
query: Arama sorgusu (GitHub kod arama REST). Terimler arasında örtük AND; tam eşleşme için OR, NOT ve "quoted phrase" destekler. Niteleyiciler: repo:owner/repo, org:, user:, language:, path:dir (ön ek eşleşmesi), filename:exact.ext, extension:, in:file, in:path, size:, is:archived, is:fork. Maks 256 karakter. Örnekler: WithContext language:go org:github; "package main" repo:o/r; func extension:go path:cmd repo:o/r; NOT TODO language:go repo:o/r. (string, zorunlu)
sort: Sıralama alanı (yalnızca 'indexed') (string, isteğe bağlı)
search_commits - Commit ara
OAuth Challenge Kapsamları: repo
order: Sıralama düzeni (string, isteğe bağlı)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
query: Commit arama sorgusu (GitHub commit arama REST). Yalnızca varsayılan dalda commit mesajlarını arar. Aramayı repo:owner/repo, org: veya user: ile kapsamlandırın (kapsam niteleyicisi olmayan sorgular GitHub'ın tamamında eşleşir ve genellikle istediğiniz şey değildir). Diğer niteleyiciler: author:, committer:, author-name:, committer-name:, author-email:, committer-email:, author-date:, committer-date: (>, <, >=, <= ve YYYY-MM-DD..YYYY-MM-DD aralıklarını destekler), merge:true|false, hash:, tree:, parent:, is:public. Örnekler: repo:owner/repo fix panic; org:github author:defunkt committer-date:>=2024-01-01; "refactor cache" repo:o/r; hash:abc1234 repo:o/r. (string, zorunlu)
sort: Yazara veya committer tarihine göre sırala (varsayılan en iyi eşleşme) (string, isteğe bağlı)
search_repositories - Depo ara
OAuth Challenge Kapsamları: repo
minimal_output: Minimal depo bilgisi döndür (varsayılan: true). false olduğunda, tam GitHub API depo nesnelerini döndürür. (boolean, isteğe bağlı)
order: Sıralama düzeni (string, isteğe bağlı)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
sort: Depoları alana göre sırala, varsayılan en iyi eşleşme (string, isteğe bağlı)
Gizli Tarama Koruması
get_secret_scanning_alert - Gizli tarama uyarısını al
OAuth Challenge Kapsamları: security_events
alertNumber: Uyarının numarası. (number, zorunlu)
owner: Deponun sahibi. (string, zorunlu)
repo: Deponun adı. (string, zorunlu)
list_secret_scanning_alerts - Gizli tarama uyarılarını listele
OAuth Challenge Kapsamları: security_events
owner: Deponun sahibi. (string, zorunlu)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
repo: Deponun adı. (string, zorunlu)
resolution: Çözüm durumuna göre filtrele (string, isteğe bağlı)
secret_type: Döndürülecek gizli türlerin virgülle ayrılmış listesi. Tüm varsayılan gizli desenleri döndürülür. Genel desenleri döndürmek için parametrede token ad(lar)ını iletin. (string, isteğe bağlı)
state: Duruma göre filtrele (string, isteğe bağlı)
Güvenlik Danışmanlıkları
get_global_security_advisory - Küresel bir güvenlik danışmanlığı al
OAuth Challenge Kapsamları: security_events
ghsaId: GitHub Güvenlik Danışmanlığı Kimliği (format: GHSA-xxxx-xxxx-xxxx). (string, zorunlu)
list_global_security_advisories - Küresel güvenlik danışma bildirimlerini listele
OAuth Challenge Kapsamları: security_events
affects: Danışma bildirimlerini etkilenen paket veya sürüme göre filtrele (örn. "package1,package2@1.0.0"). (string, isteğe bağlı)
cveId: CVE kimliğine göre filtrele. (string, isteğe bağlı)
cwes: Ortak Zayıflık Numaralandırma kimliklerine göre filtrele (örn. ["79", "284", "22"]). (string[], isteğe bağlı)
ecosystem: Paket ekosistemine göre filtrele. (string, isteğe bağlı)
ghsaId: GitHub Güvenlik Danışma Bildirimi kimliğine göre filtrele (biçim: GHSA-xxxx-xxxx-xxxx). (string, isteğe bağlı)
isWithdrawn: Yalnızca geri çekilmiş danışma bildirimlerinin döndürülüp döndürülmeyeceği. (boolean, isteğe bağlı)
modified: Yayınlama veya güncelleme tarihine veya tarih aralığına göre filtrele (ISO 8601 tarih veya aralık). (string, isteğe bağlı)
published: Yayınlama tarihine veya tarih aralığına göre filtrele (ISO 8601 tarih veya aralık). (string, isteğe bağlı)
severity: Önem derecesine göre filtrele. (string, isteğe bağlı)
type: Danışma bildirimi türü. (string, isteğe bağlı)
updated: Güncelleme tarihine veya tarih aralığına göre filtrele (ISO 8601 tarih veya aralık). (string, isteğe bağlı)
list_org_repository_security_advisories - Kuruluş deposu güvenlik danışma bildirimlerini listele
OAuth Challenge Kapsamları: security_events
direction: Sıralama yönü. (string, isteğe bağlı)
org: Kuruluş girişi. (string, zorunlu)
sort: Sıralama alanı. (string, isteğe bağlı)
state: Danışma bildirimi durumuna göre filtrele. (string, isteğe bağlı)
list_repository_security_advisories - Depo güvenlik danışma bildirimlerini listele
OAuth Challenge Kapsamları: security_events
direction: Sıralama yönü. (string, isteğe bağlı)
owner: Deponun sahibi. (string, zorunlu)
repo: Deponun adı. (string, zorunlu)
sort: Sıralama alanı. (string, isteğe bağlı)
state: Danışma bildirimi durumuna göre filtrele. (string, isteğe bağlı)
Stargazers
list_starred_repositories - Yıldızlı depoları listele
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
sort: Sonuçların nasıl sıralanacağı. 'created' (deponun yıldızlandığı zaman) veya 'updated' (depoya en son push yapıldığı zaman) olabilir. (string, isteğe bağlı)
page: Sayfalama için sayfa numarası (min 1) (number, isteğe bağlı)
perPage: Sayfalama için sayfa başına sonuç (min 1, max 100) (number, isteğe bağlı)
query: Kullanıcı arama sorgusu. Örnekler: 'john smith', 'location:seattle', 'followers:>100'. Arama otomatik olarak type:user kapsamına alınır. (string, zorunlu)
sort: Kullanıcıları takipçi sayısına, depo sayısına veya kişinin GitHub'a katıldığı zamana göre sırala. (string, isteğe bağlı)
Uzak GitHub MCP Sunucusunda Ek Araçlar
Copilot
create_pull_request_with_copilot - GitHub Copilot kodlama ajanı ile görevi gerçekleştir
owner: Depo sahibi. Sahibi tahmin edebilirsiniz, ancak devam etmeden önce kullanıcıyla doğrulayın. (string, zorunlu)
repo: Depo adı. Depo adını tahmin edebilirsiniz, ancak devam etmeden önce kullanıcıyla doğrulayın. (string, zorunlu)
problem_statement: Gerçekleştirilecek görevin ayrıntılı açıklaması (örn. 'X yapan bir özellik uygula', 'Y hatasını düzelt' vb.) (string, zorunlu)
title: Oluşturulacak pull request için başlık (string, zorunlu)
base_ref: Ajanın çalışmaya başlayacağı Git referansı (örn. dal). Belirtilmezse, deponun varsayılan dalına varsayılan olarak ayarlanır (string, isteğe bağlı)
Copilot Spaces
Kimlik doğrulama notu
İnce taneli PAT'ler klasik PAT kapsamı filtrelemesi tarafından gizlenmez, bu nedenle bu araçlar belirteç bunları kullanamasa bile yine de görünebilir.
Kuruluşa ait alanlar için, ince taneli PAT'ler sahip olan kuruluşa yüklenmeli ve organization_copilot_spaces: read içermelidir.
Kuruluşa ait bir alan depo destekli kaynaklar içeriyorsa, belirteç ayrıca başvurulan her depoya erişime sahip olmalıdır, aksi takdirde alan bulunamadı olarak değerlendirilebilir.
get_copilot_space - Copilot Alanını Al
owner: Alanın sahibi. (string, zorunlu)
name: Alanın adı. (string, zorunlu)
list_copilot_spaces - Copilot Alanlarını Listele
GitHub Destek Dokümanları Arama
github_support_docs_search - GitHub ürün ve destek sorularını yanıtlamak için ilgili dokümantasyonu alın. Destek konuları şunları içerir: GitHub Actions İş Akışları, Kimlik Doğrulama, GitHub Destek Talepleri, Pull Request Uygulamaları, Depo Bakımı, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces
query: Kullanıcının yanıtlanması gereken soru hakkındaki girdisi. Bu, en son ham ve düzenlenmemiş kullanıcı mesajıdır. Kullanıcı mesajını her zaman olduğu gibi bırakmalısınız, asla değiştirmemelisiniz. (string, zorunlu)
Salt Okunur Mod
Sunucuyu salt okunur modda çalıştırmak için --read-only bayrağını kullanabilirsiniz. Bu yalnızca salt okunur araçlar sunar ve depolar, sorunlar, pull request'ler vb. üzerinde herhangi bir değişiklik yapılmasını önler.
./github-mcp-server --read-only
Docker kullanırken, salt okunur modu bir ortam değişkeni olarak iletebilirsiniz:
Kilit modu, sunucunun genel depolardan sunacağı içeriği sınırlar. Etkinleştirildiğinde, sunucu her öğenin yazarının depoya push erişimine sahip olup olmadığını kontrol eder. Özel depolar etkilenmez ve işbirlikçiler kendi içeriklerine tam erişimi korur.
Kilit modu, güvenilmeyen depo içeriğinden (sorunlar, pull request'ler, yorumlar, commit'ler vb.) kaynaklanan prompt enjeksiyonu riskini azaltmayı amaçlayan en iyi çaba içerik filtresidir. Bir yetkilendirme sınırı değildir: altta yatan GitHub kimlik bilgisinin okuyup yazabileceklerini değiştirmez ve filtrelenmiş bir araç yanıtından gizlenen içerik, aynı kimlik bilgisiyle diğer araçlar veya doğrudan GitHub API erişimi yoluyla hâlâ erişilebilir olabilir.
Kasıtlı bir istisna olarak, küçük bir güvenilir bot hesabı kümesi (şu anda github-actions[bot] ve copilot) tarafından yazılan içerik, push erişiminden bağımsız olarak her zaman güvenli kabul edilir. Bu, kilit modunda aksi takdirde gizlenecek rutin otomasyon çıktılarının (örn. CI tarafından oluşturulan commit'ler veya yorumlar) filtrelenmesini önler.
./github-mcp-server --lockdown-mode
Docker ile çalıştırırken, ilgili ortam değişkenini ayarlayın:
HTTP modunda, bu bayrak (veya GITHUB_LOCKDOWN_MODE) bir üst sınırdır: X-MCP-Lockdown istek başlığı, operatör etkinleştirmediğinde kilit modunu etkinleştirebilir, ancak operatörün zaten etkinleştirdiği kilit modunu devre dışı bırakamaz. Ayrıntılar için Sunucu Yapılandırma Kılavuzu bölümüne bakın.
Kilit modunun davranışı, çağrılan araca bağlıdır.
Aşağıdaki araçlar, yazar push erişimine sahip olmadığında bir hata döndürür:
issue_read:get
pull_request_read:get
pull_request_read:get_diff
pull_request_read:get_files
pull_request_read:get_commits
Aşağıdaki araçlar, push erişimine sahip olmayan kullanıcıların içeriğini filtreler:
issue_read:get_comments
issue_read:get_sub_issues
pull_request_read:get_comments
pull_request_read:get_review_comments
pull_request_read:get_reviews
i18n / Açıklamaları Geçersiz Kılma
Araçların açıklamaları, ikili dosyayla aynı dizinde bir
github-mcp-server-config.json dosyası oluşturularak geçersiz kılınabilir.
Dosya, araç adlarını anahtar ve yeni açıklamaları değer olarak içeren bir JSON nesnesi içermelidir. Örneğin:
{
"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
"TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}
İkili dosyayı --export-translations bayrağıyla çalıştırarak mevcut çevirilerin bir dışa aktarımını oluşturabilirsiniz.
Bu bayrak, yaptığınız çevirileri/geçersiz kılmaları korurken, son dışa aktarımınızdan bu yana ikili dosyaya eklenen yeni çevirileri de ekler.
Açıklamaları geçersiz kılmak için ENV değişkenlerini de kullanabilirsiniz. Ortam değişkeni adları, JSON dosyasındaki anahtarlarla aynıdır ve GITHUB_MCP_ önekiyle ve tümü büyük harfle yazılır.
Örneğin, TOOL_ADD_ISSUE_COMMENT_DESCRIPTION aracını geçersiz kılmak için aşağıdaki ortam değişkenini ayarlayabilirsiniz:
export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"
Sunucu Adını ve Başlığını Geçersiz Kılma
Aynı geçersiz kılma mekanizması, başlatma yanıtındaki MCP sunucusunun name ve
title alanlarını özelleştirmek için kullanılabilir. Bu, birden fazla GitHub MCP Sunucusu örneği çalıştırırken (örn. biri github.com ve biri GitHub Enterprise Server için) aracıların bunları ayırt edebilmesi için kullanışlıdır.
Anahtar
Ortam Değişkeni
Varsayılan
SERVER_NAME
GITHUB_MCP_SERVER_NAME
github-mcp-server
SERVER_TITLE
GITHUB_MCP_SERVER_TITLE
GitHub MCP Server
Örneğin, GitHub Enterprise Server için bir sunucu örneği yapılandırmak için:
Bu modülün dışa aktarılan Go API'si şu anda kararsız olarak kabul edilmeli ve sonlandırıcı değişikliklere tabi olmalıdır. Gelecekte istikrar sunabiliriz; bunun değerli olacağı bir kullanım durumu varsa lütfen bir sorun bildirin.
Katkıda Bulunma
Katkılar memnuniyetle karşılanır. Bir pull request açmadan önce, kurulum, test, lint ve dokümantasyon oluşturma talimatları için katkıda bulunma kılavuzunu okuyun.
Destek
GitHub MCP Sunucusunu kullanma konusunda yardım için destek kılavuzuna bakın. Bir hata bulduysanız veya bir özellik talep etmek istiyorsanız, yeni bir tane açmadan önce mevcut sorunları arayın.
Güvenlik
Lütfen güvenlik açıklarını genel sorunlar aracılığıyla bildirmeyin. Güvenlik açıklarını sorumlu bir şekilde bildirmek için güvenlik politikasındaki talimatları izleyin.
Lisans
Bu proje MIT açık kaynak lisansı koşulları altında lisanslanmıştır. Tam koşullar için MIT bölümüne bakın.