Geliştirici SDK'sı
Tipli TypeScript istemcisiyle entegre olun
@vennyx/soliagile-sdk; takımları, issue'ları, board'ları, etiketleri, yorumları ve projeleri tam tip güvenliğiyle sarar. Sıfır çalışma-zamanı bağımlılığı, native fetch üzerine kuruludur (Node 18+).
@vennyx/soliagile-sdk
API anahtarı ile auth
Tenant kapsamlı sa_ anahtarıyla kimliklenin; anahtar oluşturma tenant ayarlarındadır.
Cursor sayfalama
Her list endpoint'i CursorPage döner; iterate() ile tüm sayfaları şeffaf gezersiniz.
Tam tipli
İstek ve yanıtlar contracts paketinden türetilir — derleme zamanında güvence.
Sıfır bağımlılık
Native fetch üzerine kurulu; ekstra paket getirmez, paket boyutunu şişirmez.
Kurulum
Paketi tercih ettiğiniz paket yöneticisiyle ekleyin.
pnpm add @vennyx/soliagile-sdk
# veya: npm install @vennyx/soliagile-sdkKimlik doğrulama
SoliAgile programatik erişim için tenant kapsamlı API anahtarları kullanır. Tenant ayarlarından (owner/admin, Business+ plan) bir anahtar oluşturun.
import { SoliAgileClient } from '@vennyx/soliagile-sdk';
const client = new SoliAgileClient({
apiKey: process.env.SOLIAGILE_API_KEY!, // sa_...
// baseUrl varsayılan: https://api.soliagile.com/api/v1
});Yanıttaki sa_ ile başlayan anahtar YALNIZCA bir kez gösterilir — güvenli bir şekilde (örn. SOLIAGILE_API_KEY sırrı olarak) saklayın; sunucu yalnızca hash'ini tutar.
Kullanım
İstemciyi oluşturun; issue'ları listeleyin, oluşturun, güncelleyin ve taşıyın.
// Tek sayfa
const { items, hasNextPage, endCursor } = await client.issues.list({
teamId: 'team-id',
stateType: 'started',
first: 20,
});
// Issue oluştur / güncelle / taşı
const issue = await client.issues.create({ teamId: 'team-id', title: 'Login hatası' });
await client.issues.update(issue.id, { priority: 1 });
await client.issues.move(issue.id, { workflowStateId: 'done-state-id' });Sayfalama & iterasyon
Async generator ile tüm sayfaları şeffaf gezin veya paginate() yardımcısını herhangi bir list endpoint'iyle kullanın.
// Async generator ile her sayfayı şeffaf gez
for await (const issue of client.issues.iterate({ teamId: 'team-id' })) {
console.log(issue.identifier, issue.title);
}
// veya paginate() yardımcısıyla herhangi bir list endpoint'i
import { paginate } from '@vennyx/soliagile-sdk';
for await (const team of paginate((q) => client.teams.list(q), { q: 'eng' })) {
console.log(team.key);
}Sarılan kaynaklar
SDK, SoliAgile'ın 15 çekirdek kaynağını tipli metotlarla sunar.
client.teams
Takımları listele/oluştur/güncelle/arşivle.
client.workflowStates
Board kolonlarını (workflow durumları) yönetin ve yeniden sıralayın.
client.issues
Issue'ları listeleyin, oluşturun, güncelleyin, taşıyın; board'u çekin.
client.cycles
Cycle'ları (sprint) listeleyin, oluşturun, güncelleyin; kapsam istatistiklerini okuyun.
client.labels
Etiketleri yönetin ve issue'lara ekleyin/çıkarın.
client.comments
Issue yorumlarını listeleyin ve yönetin.
client.projects
Projeleri ve ilerleme özetlerini yönetin.
client.initiatives
Initiative'leri ve roadmap'i yönetin.
client.savedViews
Kayıtlı görünümleri listeleyin, oluşturun ve silin.
client.notifications
Bildirimleri okuyun, okundu işaretleyin; bildirim tercihlerini yönetin.
client.webhooks
Giden imzalı webhook endpoint'lerini ve teslimat geçmişini yönetin (owner/admin).
client.export
CSV veri export işi başlatın ve indirme bağlantısını alın (owner/admin).
client.import
CSV veri import işi başlatın, dosya yükleyin ve satır hatalarını okuyun (owner/admin).
client.me
Oturum sahibini ve erişilebilir tenant'ları getirin.
client.members
Çalışma alanı üyelerini listeleyin ve arayın — bir adı `userId`'ye çevirmenin yolu.