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.
Depoları göz atma ve arama — Asistanınızdan, repos araç setindeki araçları kullanarak dosya bulmasını, kod okumasını veya commit geçmişini analiz etmesini isteyin.
Sorunları ve çekme isteklerini yönetme — issues ve pull_requests araç setlerindeki araçlarla sorunlar veya PR'ler oluşturun, güncelleyin ve önceliklendirin.
CI/CD iş akışlarını izleme — actions araç setini kullanarak GitHub Actions çalıştırma durumunu kontrol edin, derleme hatalarını araştırın ve sürümleri yönetin.
Kod güvenlik uyarılarını inceleme — code_security, dependabot ve secret_protection araç setlerini kullanarak kod tarama bulgularını, Dependabot uyarılarını ve gizli anahtar tarama sonuçlarını inceleyin.
Tartışmalar ve projeler üzerinde iş birliği yapma — discussions, projects ve notifications araç setleri aracılığıyla ekip tartışmalarına erişin, proje panolarını yönetin ve bildirimleri işleyin.
Dokümantasyon
GitHub MCP Sunucusu
GitHub MCP Sunucusu, yapay zeka araçlarını doğrudan GitHub platformuna bağlar. Bu, yapay zeka aracılarına, asistanlarına ve sohbet botlarına depoları ve kod dosyalarını okuma, sorunları ve PR'ları yönetme, kod analizi yapma ve iş akışlarını otomatikleştirme yeteneği kazandırır. Tüm bunlar doğal dil etkileşimleri aracılığıyla gerçekleşir.
Kullanım Örnekleri
Depo Yönetimi: Erişiminiz olan herhangi bir depoda koda göz atın ve sorgulayın, dosya arayın, commit'leri analiz edin ve proje yapısını anlayın.
Sorun & PR Otomasyonu: Sorunları ve çekme isteklerini oluşturun, güncelleyin ve yönetin. Yapay zekanın hataları sınıflandırmasına, kod değişikliklerini incelemesine ve proje panolarını yönetmesine izin verin.
CI/CD & İş Akışı Zekası: GitHub Actions iş akışı çalışmaları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 desenlerini 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.
Basit doğal dil sorgularından karmaşık çok adımlı aracı iş akışlarına kadar, yapay zeka araçlarını GitHub bağlamına ve yeteneklerine bağlamak isteyen geliştiriciler için oluşturulmuştur.
Uzak GitHub MCP Sunucusu
Uzak GitHub MCP Sunucusu, GitHub tarafından barındırılır ve başlamanın en kolay yöntemini sağlar. MCP ana makineniz uzak MCP sunucularını desteklemiyorsa endişelenmeyin! Bunun yerine GitHub MCP Sunucusunun yerel sürümünü kullanabilirsiniz.
Ön Koşullar
Uzak sunucu desteğine sahip uyumlu bir MCP ana makinesi (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, vb.)
Hızlı kurulum için yukarıdaki tek tıklamayla kurulum düğmelerinden birini kullanın. Bu akışı tamamladıktan sonra, Aracı modunu (Copilot Sohbet metin girişinin yanında bulunur) açın ve sunucu başlayacaktır. Uzak MCP ve OAuth desteği için VS Code 1.101 veya daha yenisini 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 makine yapılandırmanıza ekleyin:
Not: Her MCP ana makine uygulamasının, OAuth aracılığıyla uzak erişimi desteklemek için bir GitHub Uygulaması veya OAuth Uygulaması yapılandırması gerekir. Uzak MCP sunucularını destekleyen herhangi bir ana makine uygulaması, PAT kimlik doğrulaması ile uzak GitHub sunucusunu desteklemelidir. Yapılandırma ayrıntıları ve destek seviyeleri ana makineye göre değişir. Daha fazla bilgi için ana makine 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 Belgelerine bakın. Bu dosya, VS Code ve diğer MCP ana makinelerinde uzak GitHub MCP Sunucusunu bağlamak, özelleştirmek ve kurmak 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 gerekir - bkz. VS Code'dan Kimlik Doğrulama
Sunucuyu bir konteynerde çalıştırmak için Docker kurulu olmalıdır.
Docker kurulduktan sonra, Docker'ın çalıştığından da emin olmanız gerekir. Docker imajı ghcr.io/github/github-mcp-server adresinde mevcuttur. İmaj herkese açıktır; çekme sırasında hata alırsanız, belirtecinizin süresi dolmuş 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ıklamayla kurulum düğmeleri, ilk kullanımda sizi OAuth ile oturum açar (tarayıcı tabanlı bir akış; belirteç yalnızca bellekte tutulur). Docker düğmeleri, konteynerin oturum açma geri çağrısının erişilebilir olması için sabit bir geri çağrı bağlantı noktası (127.0.0.1:8085) yayınlar. Nasıl çalıştığı, başsız/cihaz kodu geri dönüşü ve kendi OAuth veya GitHub Uygulamanızı getirme (GitHub Enterprise Server ve ghe.com için gereklidir) hakkında bilgi için Yerel Sunucu OAuth Oturum Açma bölümüne bakın.
Belirteç mi tercih edersiniz? Bunun yerine GITHUB_PERSONAL_ACCESS_TOKEN ayarlayarak bir GitHub Kişisel Erişim Belirteci ile kimlik doğrulaması yapabilirsiniz (OAuth'a göre önceliklidir). MCP sunucusu birçok GitHub API'sini kullanabilir, bu nedenle yapay zeka araçlarınıza vermekten rahatsızlık duymadığınız izinleri etkinleştirin (erişim belirteçleri hakkında daha fazla bilgi edinmek için lütfen belgelere göz atın).
PAT'leri Güvenli Şekilde Kullanma
Ortam Değişkenleri (Önerilir)
GitHub PAT'inizi güvende ve farklı MCP ana makinelerinde yeniden kullanılabilir tutmak 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 belirtece başvurun
# 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 makine 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 imaj 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ünden uzak 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şimli Enterprise Cloud (ghe.com)
--gh-host bayrağı ve GITHUB_HOST ortam değişkeni, GitHub Enterprise Server veya veri yerleşimli GitHub Enterprise Cloud için ana makine adını ayarlamak üzere kullanılabilir.
GitHub Enterprise Server için, ana makine adının önüne https:// URI şemasını ekleyin, aksi takdirde GitHub Enterprise Server'ın desteklemediği http:// varsayılan olarak kullanılır.
Veri yerleşimli GitHub Enterprise Cloud için, ana makine adı olarak https://YOURSUBDOMAIN.ghe.com kullanın.
Hızlı kurulum için yukarıdaki tek tıklamayla kurulum düğmelerinden birini kullanın. Bu akışı tamamladıktan sonra, Aracı modunu (Copilot Sohbet metin girişinin yanında bulunur) açın ve sunucu başlayacaktır.
VS Code'un aracı modu belgelerinde MCP sunucu araçlarını kullanma hakkında daha fazla bilgi edinin.
Diğer IDE'lere GitHub Copilot'ta Kurulum (JetBrains, Visual Studio, Eclipse, vb.)
Aşağıdaki JSON bloklarından birini IDE'nizin MCP ayarlarına ekleyin.
OAuth ile oturum açın (oluşturulacak veya saklanacak belirteç yok). github.com'da resmi imaj zaten uygulama kimlik bilgilerini içerir, bu nedenle kendiniz hiçbir şey sağlamazsınız: ilk kullanımda tarayıcı tabanlı bir oturum açma işlemi çalıştırır ve ortaya çıkan belirteci yalnızca bellekte tutar. Docker'da bu, konteynerin oturum açma geri çağrısının erişilebilir olması için geri döngüye yayınlanan sabit bir geri çağrı bağlantı noktası gerektirir:
Yerel ikili akışı (sabit bağlantı noktası gerekmez), başsız/cihaz kodu geri dönüşü, GitHub Enterprise Server / ghe.com ve kendi OAuth veya GitHub Uygulamanızı getirme hakkında bilgi için Yerel Sunucu OAuth Oturum Açma bölümüne bakın.
Veya Kişisel Erişim Belirteci ile kimlik doğrulaması yapın. Bunun yerine GITHUB_PERSONAL_ACCESS_TOKEN ayarlayın (OAuth'a göre önceliklidir):
İ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 makine uygulamalarıyla paylaşmanıza olanak tanır.
Not: Yerel MCP sunucularını destekleyen herhangi bir ana makine uygulaması, yerel GitHub MCP sunucusuna erişebilmelidir. Ancak, belirli yapılandırma süreci, sözdizimi ve entegrasyonun kararlılığı ana makine uygulamasına göre değişir. Birçoğu yukarıdaki örneklere benzer bir format izlese de, bu garanti edilmez. Doğru MCP yapılandırma sözdizimi ve kurulum süreci için lütfen ana makine uygulamanızın belgelerine bakın.
Kaynaktan derleme
Eğer Docker'ınız yoksa, go build kullanarak ikili dosyayı
cmd/github-mcp-server dizininde oluşturabilir ve GITHUB_PERSONAL_ACCESS_TOKEN ortam değişkenini token'ınıza ayarlayarak github-mcp-server stdio komutunu kullanabilirsiniz. Derlemenin çıktı konumunu belirtmek için -o bayrağını kullanın. Sunucunuzu, oluşturulan yürütülebilir dosyayı command olarak kullanacak şekilde yapılandırmalısınız. Örneğin:
github-mcp-server ikili dosyası, sunucuda hata ayıklama ve keşif için yararlı olan birkaç CLI alt komutu içerir.
github-mcp-server tool-search "<query>" araçları ada, açıklamaya ve girdi parametre adlarına göre arar. Daha fazla eşleşme döndürmek için --max-results kullanın.
Örnek (renkli çıktı bir TTY gerektirir; Docker'da çalıştırırken docker run -t (veya -it) kullanın):
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ız için hangi GitHub API yeteneklerinin kullanılabilir olduğunu kontrol etmenizi sağlar. Yalnızca ihtiyacınız olan araç setlerini etkinleştirmek, LLM'nin araç seçimine yardımcı olabilir ve bağlam boyutunu azaltabilir.
Araç setleri Araçlar ile sınırlı değildir. İlgili MCP Kaynakları ve İstemleri de uygun 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, bir izin listesini iki şekilde 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ı da yapılandırabilirsiniz. Araçlar bağımsız olarak veya ince ayarlı kontrol için araç setleriyle birleştirilerek kullanılabilir.
Bu, repos ve issues araç setlerindeki tüm araçları, artı get_gist aracını 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 talep edilse bile yazma araçları atlanır
Araç adları tam olarak eşleşmelidir (örn., 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:
Şiddetle önerilir: Mevcut kullanıcı ve içinde bulunduğunuz GitHub bağlamı 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 Tarama gibi kod güvenliği ile ilgili araçlar
copilot
Copilot ile ilgili 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'si ile ilgili araçlar
issues
GitHub Issues ile ilgili araçlar
labels
GitHub Etiketleri ile ilgili araçlar
notifications
GitHub Bildirimleri ile ilgili araçlar
orgs
GitHub Organizasyonu ile ilgili araçlar
projects
GitHub Projects ile ilgili araçlar
pull_requests
GitHub Pull Request ile ilgili araçlar
repos
GitHub Deposu ile ilgili araçlar
secret_protection
GitHub Gizli Tarama 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 Kullanıcısı ile ilgili araçlar
Uzak GitHub MCP Sunucusundaki Ek Araç Setleri
Araç Seti
Açıklama
copilot
Copilot ile ilgili araçlar (örn. Copilot Kodlama Ajanı)
copilot_spaces
Copilot Spaces ile ilgili araçlar
github_support_docs_search
GitHub ürün ve destek sorularını yanıtlamak için belgeleri ara
Araçlar
Actions
actions_get - GitHub Actions kaynaklarının (iş akışları, iş akışı çalıştırmaları, işler ve yapıtlar) ayrıntılarını al
Gerekli OAuth Kapsamları: repo
method: Yürütülecek yöntem (dize, gerekli)
owner: Depo sahibi (dize, gerekli)
repo: Depo adı (dize, gerekli)
resource_id: Kaynağın benzersiz tanımlayıcısı. Bu, sağlanan "yöntem"e 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ı (örn. 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, gerekli)
actions_list - Bir depodaki GitHub Actions iş akışlarını listele
Gerekli OAuth Kapsamları: repo
method: Gerçekleştirilecek eylem (dize, gerekli)
owner: Depo sahibi (dize, gerekli)
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, gerekli)
resource_id: Kaynağın benzersiz tanımlayıcısı. Bu, sağlanan "yöntem"e 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ı (örn. 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 tetikle
Gerekli OAuth 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, gerekli)
owner: Depo sahibi (dize, gerekli)
ref: İş akışı için git referansı. Referans bir dal veya etiket adı olabilir. 'run_workflow' yöntemi için gereklidir. (dize, isteğe bağlı)
repo: Depo adı (dize, gerekli)
run_id: İş akışı çalıştırmasının kimliği. 'run_workflow' dışındaki tüm yöntemler için gereklidir. (sayı, isteğe bağlı)
workflow_id: İş akışı kimliği (sayısal) veya iş akışı dosya adı (örn., main.yml, ci.yaml). 'run_workflow' yöntemi için gereklidir. (dize, isteğe bağlı)
get_job_logs - GitHub Actions iş akışı iş günlüklerini al
Gerekli OAuth 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'nin 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 gereklidir. (sayı, isteğe bağlı)
owner: Depo sahibi (dize, gerekli)
repo: Depo adı (dize, gerekli)
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 gereklidir. (sayı, isteğe bağlı)
tail_lines: Günlüğün sonundan döndürülecek satır sayısı (sayı, isteğe bağlı)
custom_instructions: Konu gövdesinin ötesinde ajana rehberlik etmek için isteğe bağlı özel talimatlar. Konu açıklamasında yer almayan ek bağlam, kısıtlamalar veya yönlendirme sağlamak için kullanın (metin, isteğe bağlı)
issue_number: Konu numarası (sayı, zorunlu)
owner: Depo sahibi (metin, zorunlu)
repo: Depo adı (metin, zorunlu)
request_copilot_review - Copilot incelemesi talep et
Gerekli OAuth Kapsamları: repo
owner: Depo sahibi (metin, zorunlu)
pullNumber: Çekme isteği numarası (sayı, zorunlu)
repo: Depo adı (metin, zorunlu)
Dependabot
get_dependabot_alert - Dependabot uyarısını getir
Gerekli OAuth Kapsamları: security_events
Kabul Edilen OAuth Kapsamları: repo, 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
Gerekli OAuth Kapsamları: security_events
Kabul Edilen OAuth Kapsamları: repo, 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ç (en az 1, en fazla 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 olarak 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 Düğüm Kimliği ('reply', 'update', 'delete', 'mark_answer' ve 'unmark_answer' yöntemleri için zorunlu). 'reply' için bu, yanıtlanacak üst düzey yorumdur; GitHub Tartışmaları yalnızca bir düzey iç içe geçmeyi destekler. (metin, isteğe bağlı)
discussionNumber: Tartışma numarası ('add' ve 'reply' yöntemleri için zorunlu) (sayı, isteğe bağlı)
method: Bir tartışma yorumunda gerçekleştirilecek yazma işlemi.
Seçenekler şunlardır:
'add' - bir tartışmaya yeni bir üst düzey yorum ekler.
'reply' - bir üst düzey tartışma yorumuna yanıt verir (GitHub Tartışmaları yalnızca bir düzey iç içe geçmeyi destekler).
'update' - mevcut bir tartışma yorumunu günceller.
'delete' - bir tartışma yorumunu siler.
'mark_answer' - bir tartışma yorumunu cevap olarak işaretler (yalnızca Soru-Cevap).
'unmark_answer' - bir tartışma yorumunun cevap işaretini kaldırır (yalnızca Soru-Cevap).
(metin, zorunlu)
owner: Depo sahibi ('add' ve 'reply' yöntemleri için zorunlu) (metin, isteğe bağlı)
repo: Depo adı ('add' ve 'reply' yöntemleri için zorunlu) (metin, isteğe bağlı)
includeReplies: true olduğunda, her üst düzey yorum, yanıtlarını içinde iç içe olarak içerecektir (yorum başına en fazla 100 yanıt, bu GitHub API maksimumudur). Varsayılan olarak false. (boolean, isteğe bağlı)
owner: Depo sahibi (metin, zorunlu)
perPage: Sayfalama için sayfa başına sonuç (en az 1, en fazla 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 kategori 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ç (en az 1, en fazla 100) (sayı, isteğe bağlı)
owner: Depo sahibi (kullanıcı adı veya organizasyon) (metin, zorunlu)
path_filter: Ağaç sonuçlarını filtrelemek için isteğe bağlı yol öneki (örn. yalnızca src dizinindeki dosyaları göstermek için 'src/') (metin, isteğe bağlı)
recursive: Bu parametrenin true olarak ayarlanması, ağaç tarafından referans verilen nesneleri veya alt ağaçları döndürür. Varsayılan false'tur (boolean, isteğe bağlı)
repo: Depo adı (metin, zorunlu)
tree_sha: Ağacın SHA1 değeri veya ref (dal veya etiket) adı. Varsayılan olarak deponun varsayılan dalı kullanılır (metin, isteğe bağlı)
Konular
add_issue_comment - Konuya veya çekme isteğine yorum ekle
Gerekli OAuth Kapsamları: repo
body: Yorum içeriği. Tepki belirtilmedikçe zorunludur. (metin, isteğe bağlı)
comment_id: Tepki verilecek konu veya çekme isteği yorumunun sayısal kimliği. Yorumlara tepkiler için bunu kullanın; konunun veya çekme isteğinin kendisine tepki vermek için atlayın. Gövde ile birleştirilemez. (sayı, isteğe bağlı)
issue_number: Yorum yapılacak veya tepki verilecek konu veya çekme isteği numarası. (sayı, zorunlu)
owner: Depo sahibi (metin, zorunlu)
reaction: Eklenecek emoji tepkisi. Gövde belirtilmedikçe zorunludur. (metin, isteğe bağlı)
repo: Depo adı (metin, zorunlu)
get_label - Bir depodan belirli bir etiketi al
Gerekli OAuth 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
Gerekli OAuth 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ı döndürür (has_parent, has_children); parent ve sub_issues_summary isteğe bağlı ilişki özetleridir.
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ç sayısı (min 1, max 100) (number, isteğe bağlı)
repo: Deponun adı (string, zorunlu)
issue_write - Sorun/pull request oluştur veya güncelle
Gerekli OAuth 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ı. Yalnızca state_reason 'duplicate' olduğunda kullanılır. (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' değerlerinden 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)
repo: Depo adı (string, zorunlu)
state: Yeni durum (string, isteğe bağlı)
state_reason: Durum değişikliğinin nedeni. Durum değiştirilmedikçe dikkate alınmaz. (string, isteğe bağlı)
title: Sorun başlığı (string, isteğe bağlı)
type: Bu sorunun türü. Yalnızca bu depo için sorun türleri etkinleştirilmişse kullanın. Bu depo veya sahibi organizasyon için geçerli tür değerlerini almak üzere list_issue_types aracını kullanın. Depo sorun türlerini desteklemiyorsa, bu parametreyi atlayın. (string, isteğe bağlı)
list_issue_fields - Sorun alanlarını listele
Gerekli OAuth Kapsamları (herhangi biri): repo, read:org
Kabul Edilen OAuth Kapsamları: admin:org, read:org, repo, write:org
owner: Depo veya organizasyonun hesap sahibi. Ad büyük/küçük harf duyarlı değildir. (string, zorunlu)
repo: Deponun adı. Sağlandığında, bu belirli depo için alanları döndürür (organizasyonundan miras alı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
Gerekli OAuth Kapsamları (herhangi biri): repo, read:org
Kabul Edilen OAuth Kapsamları: admin:org, read:org, repo, write:org
owner: Depo 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
Gerekli OAuth 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' da 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 kendi türüne dönüştürür (tek seçimli seçenek adı, metin, sayı veya YYYY-AA-GG tarih). (object[], 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' da sağlanmalıdır. (string, isteğe bağlı)
owner: Depo sahibi (string, zorunlu)
perPage: Sayfalama için sayfa başına sonuç sayısı (min 1, max 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, varsayılan olarak sağlanmadığında hem açık hem kapalı sorunlar döndürülür (string, isteğe bağlı)
search_issues - Sorunları ara
Gerekli OAuth Kapsamları: repo
order: Sıralama düzeni (string, isteğe bağlı)
owner: İsteğe bağlı depo sahibi. repo ile birlikte 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ç sayısı (min 1, max 100) (number, isteğe bağlı)
query: GitHub sorun arama sözdizimini kullanan arama sorgusu (string, zorunlu)
repo: İsteğe bağlı depo adı. owner ile birlikte 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 en iyi eşleşmedir (string, isteğe bağlı)
sub_issue_write - Alt sorunu değiştir
Gerekli OAuth Kapsamları: repo
after_id: Kendisinden sonra önceliklendirilecek alt sorunun kimliği (after_id VEYA before_id belirtilmelidir) (number, isteğe bağlı)
before_id: Kendisinden önce ö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 deposundaki üst soruna alt sorun ekler.
'remove' - bir GitHub deposundaki üst sorundan alt sorunu kaldırır.
'reprioritize' - bir GitHub deposundaki ü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 öğeye taşımak için add ile replace_parent=true kullanın; yazılabilir bir üst alanı yoktur.
(string, zorunlu)
owner: Depo sahibi (string, zorunlu)
replace_parent: true olduğunda, alt sorunun mevcut ü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
Gerekli OAuth 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
Gerekli OAuth Kapsamları: repo
color: '#' öneki olmadan 6 karakterli onaltılık kod olarak etiket rengi (örn. '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 zorunludur (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 depodaki etiketleri listele
Gerekli OAuth Kapsamları: repo
owner: Depo sahibi (kullanıcı adı veya organizasyon adı) - tüm işlemler için zorunludur (string, zorunlu)
repo: Depo adı - tüm işlemler için zorunludur (string, zorunlu)
Bildirimler
dismiss_notification - Bildirimi kapat
Gerekli OAuth Kapsamları: notifications
state: Bildirimin yeni durumu (read/done) (string, zorunlu)
before: Yalnızca belirtilen zamandan önce güncellenen bildirimleri göster (ISO 8601 formatı) (string, isteğe bağlı)
filter: Bildirimleri filtrele, belirtilmedikçe varsayılanı kullan. Okunmuş bildirimler, kullanıcı tarafından zaten kabul edilmiş olanlardır. Katılım sağlanan bildirimler, kullanıcının doğrudan dahil olduğu, örneğin yorum yaptığı veya oluşturduğu sorunlar veya pull request'lerdir. (string, isteğe bağlı)
owner: İsteğe bağlı depo sahibi. repo ile birlikte sağlanırsa, 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ç sayısı (min 1, max 100) (number, isteğe bağlı)
repo: İsteğe bağlı depo adı. owner ile birlikte sağlanırsa, yalnızca bu depo için bildirimler listelenir. (string, isteğe bağlı)
since: Yalnızca belirtilen zamandan sonra güncellenen bildirimleri göster (ISO 8601 formatı) (string, isteğe bağlı)
mark_all_notifications_read - Tüm bildirimleri okundu olarak işaretle
Gerekli OAuth 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 sağlanırsa, 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 sağlanırsa, yalnızca bu depo için bildirimler okundu olarak işaretlenir. (string, isteğe bağlı)
Organizasyonlar
search_orgs - Organizasyonları ara
Gerekli OAuth Kapsamları: read:org
Kabul Edilen OAuth Kapsamları: admin:org, read:org, write: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 detaylarını al
Gerekli OAuth Kapsamları: read:project
Kabul Edilen OAuth Kapsamları: project, read:project
field_id: Alanın ID'si. 'get_project_field' metodu için zorunludur. (number, isteğe bağlı)
field_names: Bir proje öğesi alınırken yanıta dahil edilecek belirli alan adları listesi (örn. ["Status", "Priority"]). Sunucu tarafında alan ID'lerine çözümlenir — yalnızca insan tarafından okunabilir adları biliyorsanız 'fields' yerine bunu kullanın. 'fields' ile karşılıklı olarak dışlayıcıdır — birini sağlayın, ikisini birden değil. Yalnızca 'get_project_item' metodu için kullanılır. (string[], isteğe bağlı)
fields: Bir proje öğesi alınırken yanıta dahil edilecek belirli alan ID'leri listesi (örn. ["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 dışlayıcıdır — birini sağlayın, ikisini birden değil. Yalnızca 'get_project_item' metodu için kullanılır. (string[], isteğe bağlı)
item_id: Öğenin ID'si. 'get_project_item' metodu için zorunludur. (number, isteğe bağlı)
method: Yürütülecek metot (string, zorunlu)
owner: Sahip (kullanıcı veya organizasyon girişi). Ad büyük/küçük harf duyarlı değildir. (string, isteğe bağlı)
owner_type: Sahip türü (user veya org). Sağlanmazsa, otomatik olarak tespit edilir. (string, isteğe bağlı)
status_update_id: Proje durum güncellemesinin düğüm ID'si. 'get_project_status_update' metodu için zorunludur. (string, isteğe bağlı)
projects_list - GitHub Projects kaynaklarını listele
Gerekli OAuth Kapsamları: read:project
Kabul Edilen OAuth Kapsamları: project, 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ı (örn. ["Status", "Priority"]). Sunucu tarafında alan ID'lerine çözümlenir — yalnızca insan tarafından okunabilir adları biliyorsanız 'fields' yerine bunu kullanın. Çözümlenemeyen adlar yapılandırılmış bir hata döndürür. 'fields' ile karşılıklı olarak dışlayıcıdır — birini sağlayın, ikisini birden değil. Yalnızca 'list_project_items' metodu için kullanılır. (string[], isteğe bağlı)
fields: Proje öğeleri listelenirken dahil edilecek alan ID'leri (örn. ["102589", "985201"]). KRİTİK: Alan değerlerini almak için her zaman sağlayın. Bu (ve 'field_names') olmadan yalnızca başlıklar döndürülür. 'field_names' ile karşılıklı olarak dışlayıcıdır — birini sağlayın, ikisini birden değil. Yalnızca 'list_project_items' metodu için kullanılır. (string[], isteğe bağlı)
owner: Sahip (kullanıcı veya organizasyon girişi). Ad büyük/küçük harf duyarlı değildir. (string, zorunlu)
owner_type: Sahip türü (user 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' ve 'list_project_status_updates' metotları için zorunludur. (number, isteğe bağlı)
query: Filtre/sorgu dizesi. list_projects için: başlık metnine ve duruma göre filtrele (örn. "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
Gerekli OAuth Kapsamları: project
body: Durum güncellemesinin gövdesi (markdown). 'create_project_status_update' metodu için kullanılır. (string, isteğe bağlı)
field_name: Yineleme alanının adı (örn. 'Sprint'). 'create_iteration_field' metodu için zorunludur. (string, isteğe bağlı)
issue_number: Issue numarası. item_type 'issue' olduğunda 'add_project_item' için zorunludur. Ayrıca öğeyi issue numarasına göre çözümlemek 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 ID'si. 'delete_project_item' için zorunludur. 'update_project_item' için, öğeyi issue'ya göre çözümlemek üzere item_id veya (item_owner + item_repo + issue_number) sağlayın. (number, isteğe bağlı)
item_owner: Issue veya pull request'i içeren deponun sahibi (kullanıcı veya organizasyon). 'add_project_item' metodu için zorunludur. Ayrıca öğeyi issue numarasına göre çözümlerken 'update_project_item' tarafından da kabul edilir. (string, isteğe bağlı)
item_repo: Issue veya pull request'i içeren deponun adı. 'add_project_item' metodu için zorunludur. Ayrıca öğeyi issue numarasına göre çözümlerken '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' metodu için zorunludur. (string, isteğe bağlı)
iteration_duration: Alanın yinelemeleri için gün cinsinden süre (örn. haftalık için 7, iki haftalık için 14). 'create_iteration_field' metodu için zorunludur. (number, isteğe bağlı)
iterations: 'create_iteration_field' metodu için özel yinelemeler. Bunu yalnızca değişen sürelere, aralarında molalara veya belirli başlıklara sahip yinelemelere ihtiyacınız olduğunda ayarlayın. Aksi takdirde atlayın: GitHub, çoğu durum için doğru seçim olan 'start_date' tarihinden başlayarak 'iteration_duration' günlük üç yinelemeyi otomatik olarak oluşturur. (object[], isteğe bağlı)
method: Yürütülecek metot (string, zorunlu)
owner: Proje sahibi (kullanıcı veya organizasyon girişi). Ad büyük/küçük harf duyarlı değildir. (string, zorunlu)
owner_type: Sahip türü (user veya org). 'create_project' metodu için zorunludur. Diğer metotlar için sağlanmazsa, otomatik olarak tespit edilir. (string, isteğe bağlı)
project_number: Projenin numarası. 'create_project' hariç tüm metotlar için zorunludur. (number, isteğe bağlı)
pull_request_number: Pull request numarası ('add_project_item' metodu için item_type 'pull_request' olduğunda kullanın). issue_number veya pull_request_number'dan birini sağlayın. (number, isteğe bağlı)
start_date: YYYY-AA-GG formatında başlangıç tarihi. 'create_project_status_update' ve 'create_iteration_field' metotları için kullanılır. (string, isteğe bağlı)
status: Projenin durumu. 'create_project_status_update' metodu için kullanılır. (string, isteğe bağlı)
target_date: Durum güncellemesinin hedef tarihi, YYYY-AA-GG formatında. 'create_project_status_update' metodu için kullanılır. (string, isteğe bağlı)
title: Proje başlığı. 'create_project' metodu için zorunludur. (string, isteğe bağlı)
updated_field: Güncellenecek alanı ve yeni değerini tanımlayan nesne. 'update_project_item' için zorunludur. İki şekil kabul edilir: (1) ID ile — {"id": 123456, "value": "..."}; (2) ad ile — {"name": "Status", "value": "In Progress"}. Tek seçimli alanlar için, seçenek adı çözümlemesi ada göre şekli gerektirir; ID'ye göre şekilde, seçenek ID'sini iletin. Alanı temizlemek için value'yu null olarak ayarlayın. (object, isteğe bağlı)
Pull Request'ler
add_comment_to_pending_review - Talep edenin en son bekleyen pull request incelemesine inceleme yorumu ekle
Gerekli OAuth 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ı)
pull_request_read - Tek bir pull request'in ayrıntılarını al
Gerekli OAuth Kapsamları: repo
after: Sayfalama için imleç, yalnızca get_review_comments yöntemi tarafından kullanılır. Sonraki sayfayı almak 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.
get_diff - Bir pull request'in farkını al.
get_status - Bir pull request'teki head commit'in birleşik commit durumunu al.
get_files - Bir pull request'te değişen dosyaların listesini al. Dönen sonuç sayısını kontrol etmek için sayfalama parametreleriyle kullanın.
get_commits - Bir pull request'teki commit'lerin listesini al. Dönen sonuç sayısını kontrol etmek için sayfalama parametreleriyle kullanın.
get_review_comments - Bir pull request'teki inceleme konularını al. Her konu, 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 birlikte konuları 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. İnceleme yorumları istendiğinde get_review_comments yöntemini kullanın. Dönen sonuç sayısını kontrol etmek için sayfalama parametreleriyle kullanın.
get_comments - Bir pull request'teki yorumları al. Kullanıcı özellikle inceleme yorumları istemiyorsa bunu kullanın. Dönen sonuç sayısını kontrol etmek için sayfalama parametreleriyle kullanın.
get_check_runs - Bir pull request'in head commit'i için check run'larını al. Check run'ları, PR'da çalışan bireysel CI/CD işleri ve kontrollerdir.
(string, gerekli)
owner: Depo sahibi (string, gerekli)
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ı)
detail: Değişen dosyalar için dahil edilecek ayrıntı düzeyi. "none" istatistikleri ve dosyaları tamamen atlar. "stats" (varsayılan) dosya başına meta verileri içerir: dosya adı, durum ve kod satırı sayıları (eklemeler, silmeler, değişiklikler), yama içeriği olmadan. "full_patch" ayrıca her dosya için birleşik fark içeriğini içerir ve çok büyük olabilir. (string, isteğe bağlı)
owner: Depo sahibi (string, gerekli)
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, gerekli)
sha: Commit SHA'sı, dal adı veya etiket adı (string, gerekli)
get_file_contents - Dosya veya dizin içeriğini al
Gerekli OAuth Kapsamları: repo
owner: Depo sahibi (kullanıcı adı veya organizasyon) (string, gerekli)
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, gerekli)
sha: İsteğe bağlı commit SHA'sını kabul eder. Belirtilirse, ref yerine kullanılır (string, isteğe bağlı)
get_latest_release - En son sürümü al
Gerekli OAuth Kapsamları: repo
owner: Depo sahibi (string, gerekli)
repo: Depo adı (string, gerekli)
get_release_by_tag - Etiket adına göre bir sürüm al
Gerekli OAuth Kapsamları: repo
owner: Depo sahibi (string, gerekli)
repo: Depo adı (string, gerekli)
tag: Etiket adı (ör. 'v1.0.0') (string, gerekli)
get_tag - Etiket ayrıntılarını al
Gerekli OAuth Kapsamları: repo
owner: Depo sahibi (string, gerekli)
repo: Depo adı (string, gerekli)
tag: Etiket adı (string, gerekli)
list_branches - Dalları listele
Gerekli OAuth Kapsamları: repo
owner: Depo sahibi (string, gerekli)
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, gerekli)
list_commits - Commit'leri listele
Gerekli OAuth Kapsamları: repo
author: Commit'leri filtrelemek için yazar kullanıcı adı veya e-posta adresi (string, isteğe bağlı)
owner: Depo sahibi (string, gerekli)
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, gerekli)
sha: Commit'leri listelenecek commit SHA'sı, dal veya etiket adı. Sağlanmazsa, deponun varsayılan dalını kullanır. Bir commit SHA'sı 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-AA-GGTHH:MM:SSZ veya YYYY-AA-GG) (string, isteğe bağlı)
until: Yalnızca bu tarihten önceki commit'ler döndürülür (ISO 8601 formatı: YYYY-AA-GGTHH:MM:SSZ veya YYYY-AA-GG) (string, isteğe bağlı)
list_releases - Sürümleri listele
Gerekli OAuth Kapsamları: repo
owner: Depo sahibi (string, gerekli)
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, gerekli)
list_repository_collaborators - Depo işbirlikçilerini listele
Gerekli OAuth Kapsamları: repo
affiliation: Bağlılığa göre filtrele. Şunlardan biri olabilir: 'outside' (dış işbirlikçiler), 'direct' (org üyeliğine bakılmaksızın izinleri olan herkes), 'all' (tüm işbirlikçiler). Varsayılan: 'all' (string, isteğe bağlı)
owner: Depo sahibi (string, gerekli)
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, gerekli)
list_tags - Etiketleri listele
Gerekli OAuth Kapsamları: repo
owner: Depo sahibi (dize, 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ı)
repo: Depo adı (dize, zorunlu)
push_files - Depoya dosya gönder
Gerekli OAuth Kapsamları: repo
branch: Gönderilecek dal (dize, zorunlu)
files: Gönderilecek dosya nesneleri dizisi, her nesne yol (dize) ve içerik (dize) içerir (nesne[], zorunlu)
message: İşleme mesajı (dize, zorunlu)
owner: Depo sahibi (dize, zorunlu)
repo: Depo adı (dize, zorunlu)
search_code - Kod ara
Gerekli OAuth Kapsamları: repo
order: Sonuçlar için sıralama düzeni (dize, isteğe bağlı)
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ı)
query: Arama sorgusu (GitHub kod arama REST). Terimler arasında örtük VE; tam eşleşme için OR, NOT ve "quoted phrase" destekler. Niteleyiciler: repo:owner/repo, org:, user:, language:, path:dir (önek 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. (dize, zorunlu)
sort: Sıralama alanı (yalnızca 'indexed') (dize, isteğe bağlı)
search_commits - İşlemeleri ara
Gerekli OAuth Kapsamları: repo
order: Sıralama düzeni (dize, isteğe bağlı)
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ı)
query: İşleme arama sorgusu (GitHub işleme arama REST). Yalnızca varsayılan daldaki işleme mesajlarını arar. Aramayı repo:owner/repo, org: veya user: ile kapsamlandırın (kapsam niteleyicisi olmayan sorgular GitHub genelinde eşleşir ve genellikle istediğiniz bu 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. (dize, zorunlu)
sort: Yazar veya işleyici tarihine göre sırala (varsayılan en iyi eşleşme) (dize, isteğe bağlı)
search_repositories - Depoları ara
Gerekli OAuth Kapsamları: repo
minimal_output: Minimal depo bilgisi döndür (varsayılan: true). false olduğunda, tam GitHub API depo nesneleri döndürür. (boolean, isteğe bağlı)
order: Sıralama düzeni (dize, isteğe bağlı)
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ı)
sort: Depoları alana göre sırala, varsayılan en iyi eşleşme (dize, isteğe bağlı)
Gizli Dizi Koruma
get_secret_scanning_alert - Gizli dizi tarama uyarısını al
Gerekli OAuth Kapsamları: security_events
Kabul Edilen OAuth Kapsamları: repo, security_events
alertNumber: Uyarının numarası. (sayı, zorunlu)
owner: Deponun sahibi. (dize, zorunlu)
repo: Deponun adı. (dize, zorunlu)
list_secret_scanning_alerts - Gizli dizi tarama uyarılarını listele
Gerekli OAuth Kapsamları: security_events
Kabul Edilen OAuth Kapsamları: repo, security_events
owner: Deponun sahibi. (dize, 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ı)
repo: Deponun adı. (dize, zorunlu)
resolution: Çözüme göre filtrele (dize, isteğe bağlı)
secret_type: Döndürülecek gizli dizi türlerinin virgülle ayrılmış listesi. Tüm varsayılan gizli dizi desenleri döndürülür. Genel desenleri döndürmek için, parametrede belirteç ad(lar)ını iletin. (dize, isteğe bağlı)
state: Duruma göre filtrele (dize, isteğe bağlı)
Güvenlik Danışmaları
get_global_security_advisory - Küresel güvenlik danışmasını al
Gerekli OAuth Kapsamları: security_events
Kabul Edilen OAuth Kapsamları: repo, security_events
ghsaId: GitHub Güvenlik Danışma Kimliği (format: GHSA-xxxx-xxxx-xxxx). (dize, zorunlu)
list_global_security_advisories - Küresel güvenlik danışmalarını listele
Gerekli OAuth Kapsamları: security_events
Kabul Edilen OAuth Kapsamları: repo, security_events
affects: Danışmaları etkilenen paket veya sürüme göre filtrele (örn. "package1,package2@1.0.0"). (dize, isteğe bağlı)
cveId: CVE Kimliğine göre filtrele. (dize, isteğe bağlı)
cwes: Ortak Zayıflık Numaralandırma Kimliklerine göre filtrele (örn. ["79", "284", "22"]). (dize[], isteğe bağlı)
ecosystem: Paket ekosistemine göre filtrele. (dize, isteğe bağlı)
ghsaId: GitHub Güvenlik Danışma Kimliğine göre filtrele (format: GHSA-xxxx-xxxx-xxxx). (dize, isteğe bağlı)
isWithdrawn: Yalnızca geri çekilmiş danışmaların 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). (dize, isteğe bağlı)
published: Yayınlama tarihine veya tarih aralığına göre filtrele (ISO 8601 tarih veya aralık). (dize, isteğe bağlı)
severity: Önem derecesine göre filtrele. (dize, isteğe bağlı)
type: Danışma türü. (dize, isteğe bağlı)
updated: Güncelleme tarihine veya tarih aralığına göre filtrele (ISO 8601 tarih veya aralık). (dize, isteğe bağlı)
list_org_repository_security_advisories - Organizasyon depo güvenlik danışmalarını listele
Gerekli OAuth Kapsamları: security_events
Kabul Edilen OAuth Kapsamları: repo, security_events
direction: Sıralama yönü. (dize, isteğe bağlı)
org: Organizasyon girişi. (dize, zorunlu)
sort: Sıralama alanı. (dize, isteğe bağlı)
state: Danışma durumuna göre filtrele. (dize, isteğe bağlı)
list_repository_security_advisories - Depo güvenlik danışmalarını listele
Gerekli OAuth Kapsamları: security_events
Kabul Edilen OAuth Kapsamları: repo, security_events
direction: Sıralama yönü. (dize, isteğe bağlı)
owner: Deponun sahibi. (dize, zorunlu)
repo: Deponun adı. (dize, zorunlu)
sort: Sıralama alanı. (dize, isteğe bağlı)
state: Danışma durumuna göre filtrele. (dize, isteğe bağlı)
Yıldızlayanlar
list_starred_repositories - Yıldızlanan depoları listele
İnce taneli PAT'ler, klasik PAT kapsam filtrelemesi tarafından gizlenmez, bu nedenle bu araçlar, belirteç bunları kullanamasa bile görünebilir.
Organizasyona ait alanlar için, ince taneli PAT'ler sahip olan organizasyona kurulmalı ve organization_copilot_spaces: read içermelidir.
Organizasyona ait bir alan depo destekli kaynaklar içeriyorsa, belirtecin ayrıca başvurulan her depoya erişimi olmalıdır, aksi takdirde alan bulunamadı olarak değerlendirilebilir.
get_copilot_space - Copilot Alanını Al
owner: Alanın sahibi. (dize, zorunlu)
name: Alanın adı. (dize, 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 belgeleri alır. 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, düzenlenmemiş kullanıcı mesajıdır. Kullanıcı mesajını HER ZAMAN olduğu gibi bırakmalı, asla değiştirmemelisiniz. (string, zorunlu)
Salt Okunur Mod
Sunucuyu salt okunur modda çalıştırmak için --read-only bayrağını kullanabilirsiniz. Bu, depolarda, konularda, pull request'lerde vb. herhangi bir değişikliği önleyerek yalnızca salt okunur araçlar sunar.
./github-mcp-server --read-only
Docker kullanırken, salt okunur modu bir ortam değişkeni olarak iletebilirsiniz:
Kilitlenme modu, sunucunun genel depolardan sunacağı içeriği sınırlar. Etkinleştirildiğinde, sunucu her öğenin yazarının depoya push erişimi olup olmadığını kontrol eder. Özel depolar etkilenmez ve işbirlikçiler kendi içeriklerine tam erişime sahip olmaya devam eder.
./github-mcp-server --lockdown-mode
Docker ile çalıştırırken, ilgili ortam değişkenini ayarlayın:
Açıklamaları geçersiz kılmak için ortam değişkenlerini de kullanabilirsiniz. Ortam
değişkeni adları, JSON dosyasındaki anahtarlarla aynıdır, GITHUB_MCP_
ön eki ile ve tamamı büyük harf olacak şekilde.
Ö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ı, MCP sunucusunun başlatma yanıtındaki name ve
title alanlarını özelleştirmek için kullanılabilir. Bu, birden fazla
GitHub MCP Sunucusu örneği çalıştırırken (ör. biri github.com için, diğeri
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ğini yapılandırmak üzere:
Bu modülün dışa aktarılan Go API'si şu anda kararsız olarak kabul edilmeli ve kırıcı değişikliklere tabi olabilir. Gelecekte kararlılık sunabiliriz; bunun değerli olacağı bir kullanım durumu varsa lütfen bir konu açın.
Katkıda Bulunma
Katkılar memnuniyetle karşılanır. Bir pull request açmadan önce, kurulum, test, linting ve belge oluşturma talimatları için lütfen katkı kılavuzunu okuyun.
Destek
GitHub MCP Sunucusu'nu 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 lütfen mevcut konuları arayın.
Güvenlik
Lütfen güvenlik açıklarını herkese açık konular 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 lütfen MIT dosyasına bakın.