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.

Terminal
pnpm add @vennyx/soliagile-sdk
# veya: npm install @vennyx/soliagile-sdk

Kimlik 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.

client.ts
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.

issues.ts
// 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.

pagination.ts
// 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.