Birden fazla görevi entegre ederek akış şeklinde çalıştırmayı sağlar. Birçok görev (task) bir işi yerine getirmek için entegre edilerek bir akış (flow) şeklinde çalıştırılabilir. Akışta, sırasıyla çalışan görevler kendi API’leri üzerinden entegre edilirler. Akıştaki her bir görev, kendinden önce çalışan görev çıktısını kullanabilir ve görevi bir kere ya da birden fazla çalıştırabilir. Görev akışları manuel olarak tetiklenebilir, zamanlayıcı ile otomatik çalıştırılabilir veya HTTP endpoint üzerinden tetiklenebilir.
Görev akışını belirli zamanlarda otomatik çalıştırmak için zamanlayıcı tanımlayabilirsiniz.
1
Trigger Configuration Penceresini Aç
Oluşturulan görev akışının ne sıklıkla tetiklenmesi gerektiğiyle ilgili konfigürasyon Trigger Every altındaki Change butonuna basınca açılan pencere üzerinden gerçekleştirilir.
2
Değer ve Birim Alanlarını Doldur
Zamanlayıcı konfigürasyonu tanımlanması için Değer ve Birim alanlarını doldurun.Kullanılabilir birimler:
Görev akışı tanım ayarları, sağ üstte bulunan Edit butonu üzerinden açılan pencere aracılığıyla gerçekleştirilir.
Ad
Görev akışının listede görünen adıdır. Zorunludur ve proje bazında eşsiz (unique) olmalıdır.
Açıklama
Görev akışına ilişkin açıklamadır.
Durum (Status)
Görev akışının aktif/pasif durumu.
Trace Status
Görev akışı adımlarını izleme durumu. Aktif olduğunda çalışan adımlara ait verilerin loglarda gözükmesi sağlanırken, pasif (suspend) olduğunda detaylı loglama yapılmaz.
API Integration modülünde, her bir sistem ya da uygulama ile yapılan entegrasyon işlemine görev (task) denilmektedir. Apinizer, entegrasyonları mümkün mertebe API çağrıları ile yapmayı benimsediğinden API ile çağrılabilecek endpoint’lerin her biri için bir görev/bağlantı tipi tanımlamayı benimsemiştir.
Sırasıyla çalışan işlemleri (transactions) tanımlama arayüzü üzerinden yönetilir. Yeni bir görev tanımlamak için Tasks (görevler) altında bulunan şema üzerinde + butonuna basılır.
2
Görev Tipini Seç
Görev seçim ekranı:Hangi görev eklenmek isteniyorsa o görev seçilerek görev tanımlama işlemine devam edilir.
3
Görev Detaylarını Yapılandır
Örnek olması açısından bu belge içerisinde API Çağrısı (API Call) örneği üzerinden anlatım gerçekleştirilecektir.
Aşağıdaki ekran görüntüsünde görevin çalışma adımlarının tanımlandığı pencere ekranını görebilirsiniz.
Görev akışı (Task Flow) içerisindeki görevlerde bir önceki görevin çıktısı sonraki görevlerin girdisi olarak kullanılabilir. Api Call’ın (Api Çağrısı) çıktısını kendisinden sonra eklenen Script politikasının girdisi olarak nasıl kullanılacağı aşağıdaki ekran görüntülerinde mevcuttur.
API Call görevinin çıktısını kendisinden sonra eklenen Script politikasının girdisi olarak kullanabilirsiniz:Kendinden önceki bir API Call görevinin çıktısına Script görevi içerisinde API Call görevi tanımlanırken belirtilen değişken üzerinden menü butonu içerisinden erişebilirsiniz.
Bir önceki görevin çıktısını mevcut görev içerisinde kullanmak için değişkenin çift süslü parantez içerisinde sonunda diyez (#) işareti bulunacak şekilde kullanmak gerekmektedir.Örnek:{{myOutputKey#}}
Aşağıdaki ekran görüntüsünde görüldüğü üzere Api Call görevinin çıktı değişkeni içinden, JsonPath/XPath Syntax içerisinde filtreleme işlemi gerçekleştirilerek ihtiyaç duyulan veri alınmıştır. Alınan bu veri Script görevi içerisinde LOOP_VARIABLE değişkeni olarak kullanılabilir.
Değişkenlerin sonundaki # işareti JsonPath/XPath’i temsil etmektedir. JsonPath’de bulunan $ operatörüne karşılık gelmektedir. Bu syntax Apinizer’a özgü bir Syntax’tır. Bu Syntax’ın detaylı kullanımı için aşağıda bulunan Görevlerdeki Ortak Alanlar tablosunu inceleyebilirsiniz.
Script görevinin bir sonraki adımda tanımlanacak göreve veri aktarabilmesi ise resultMap nesnesi ve script görevinin tanımlandığı form arayüzündeki değişken değeri üzerinden gerçekleştirilir.Görev akışının gerçekleştireceği görevler tanımlandıktan sonra Execute butonundan görev bir kere manuel tetiklenir. Görevin çalıştırılmış hali ve çıktılarına ulaşmak için ise Details butonuna tıklanarak görev akışının çalışma log kayıtlarına ulaşılır.
Görev akışı listesinden detayına gidilmek istenen kaydın en sağdaki kolonunda bulunan menü tuşuna tıklayıp Details seçilerek loglara bakılabilir.
2
Log Kayıtlarını İncele
Görev Akışının log detayını içeren ekrana ulaşılır.
3
Çalışma Detaylarını Görüntüle
Görev akışının çalışma detaylarını incelemek için ilgili çalışma anı log kaydının yanındaki üç nokta butonuna basılır.
4
Task Log Details
Görev akışı içerisindeki her bir görevin detaylı çalışma logu ve çıktılarına ulaşmak için Task Log Details seçilir.
5
Görev Çıktılarını Görüntüle
Açılan pencere üzerinden görev akışı içerisinde tanımlı her bir görevin çalışma logları görüntülenir. İlgili log kaydının yanında bulunan üç nokta butonuna basılarak log detayları ve görevin çıktıları görüntülenebilir.API Call görevinin çıktısı:
Görevlerin çıktı verilerini görebilmek için Görev Akışı Tanım Ayarları içerisindeki Trace seçeneği aktif olmak zorundadır. Aksi taktirde görevlerin ürettikleri sonuçlar log detay ekranında görüntülenmez.
Görev oluşturulurken her tip için aynı olan bazı girdi ve çıktı alanları bulunur. Görevlerdeki ortak bilgilerin konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.
Bir önceki görevden üretilen sonucun, mevcut görev içinde nasıl çalıştırılacağı tipi seçilir. Bir Kere (Once): Mevcut görev bir kere çalıştırılır. Döngü (Loop): Mevcut görev önceki görevden aldığı sonuç üzerinde belirtilecek olan tanımlama ile döngü şeklinde çalıştırılır.
JSON Path/XPath Söz Dizimi
Bu seçenek, görev çalışma tipi Döngü olarak seçildiyse aktifleşir. JSON Path/XPath ile verilen değerin sonucu döngü olarak çalıştırılır.
İşlem başarısız olursa devam etsin
Bu seçenek, görev çalışma tipi Döngü olarak seçildiyse aktifleşir. Döngüdeki eylemler yürütülürken bir hata meydana gelirse, görevin çalışmasına devam etme ya da hemen durdurulması gerektiği işlemi yönetilir.
Çıktı Anahtarları Liste butonu (Output Keys)
Önceki görevlerde oluşturulan çıktı anahtarının listesi görülür. Böylelikle görev tanımı girdilerinde buradaki çıktı anahtarı kullanılabilir.
Çıktı Anahtar (Output Key)
Görev çalıştırıldığında oluşacak olan değerin atanacağı, değişken adı girilir. Bu görevden sonraki görevler, eğer bu görevin çıktısıyla işlem yapmak isterlerse bu alana girilen çıktı anahtarını kullanacaklardır.
**Ad **
Görevin adı yazılır. Bu bilgi, {{taskflow.name}} değişkeninin değeri olarak atanmaktadır.
**Açıklama **
Görevin açıklaması yazılır.
Çıktı anahtarında boşluk bırakılmamalıdır.
Tanımlanan akışta çıktı anahtar isimleri tekil olmalıdır.
Örnek:
Önceki görevlerden birinde centralRates adında bir sonuç üretilmektedir. Sonucun değerleri Merkez Bankasına ait kur bilgilerini içermektedir. Bu sonucun içerdiği dizideki elemanları tek tek almak için XPath ile /Date/Currency sorgusu yazılmıştır.
Kopyala
{{centralRates#/Date/Currency}}
Söz dizimi ile veriden alınan elemanlar, görev içinde (mail gönderirken, veri tabanı ile işlem yaparken, script yazarken vs.) kullanılabilir. Kullanabilmek için de LOOP_VARIABLE adındaki değişken anahtarı ile referans verilmelidir.Formül:
Sağ üst köşede bulunan işaretli Execute butonuna her tıklandığında görev akışı tetiklenir.
Görev akışının tetiklenme sıklığı (Trigger Every) değeri baz alınarak Apinizer Entegratör tarafından otomatik olarak görev akışı belirtilen sıklıkta tetiklenir.
Endpoint seçeneği aktif edilmesi durumunda görev akışı için özel oluşturulan erişim URL’i üzerinden yapılan her istekte görev akışı tetiklenir.
Görev akışının erişim URL’i üzerinden tetiklenebilmesi için kullanıcı token’ını Authorization header’ına ekleyerek istek atmak gerekmektedir.Token oluşturmak için: Sağ üstten Profil menüsü > Profilim içerisinden giriş yapan kullanıcı ile token oluşturulabilir.
Endpoint üzerinden görev akışının tetiklenebilmesi için Endpoint seçeneğinin aktif ve entegratör sunucunuzun durumunun ulaşılabilir olması gerekmektedir.
Görev akışları zamanlayıcı ile ya da execute butonu ile manuel tetiklenmekle beraber görev akışı oluşturulduğu an görev akışı için özel ve benzersiz olarak oluşturulan endpoint üzerinden HTTP istekleriyle de tetiklenebilir.
1
Endpoint Seçeneğini Aktifleştir
Görev akışı düzenleme arayüzünden endpoint seçeneği aktif hale getirilmelidir.
2
Endpoint URL'ini Kullan
Endpoint seçeneği aktif hale getirildikten sonra görüntülenen URL’e istek atarak görev akışının tetiklenmesi sağlanabilir.
3
Token Oluştur
Görev akışının erişim URL’i üzerinden tetiklenebilmesi için kullanıcı token’ını Authorization header’ına ekleyerek istek atmak gerekmektedir.Token oluşturmak için: Sağ üstten Profil menüsü > Profilim içerisinden giriş yapan kullanıcı ile token oluşturulabilir.
Eylem (Action), görev akışı (task flow) çalışma anında bir hata oluşması durumunda gerçekleştirilecek işlemleri ifade eder.
1
Eylem Ekleme
Eylemler (Actions) bölümünden + butonuna basılarak olası bir hata durumunda gerçekleşmesi istenen görevleri tanımlayabilirsiniz.
2
Eylem Tipini Seç
Açılan pencere üzerinden görev akışında olası bir hatayla karşılaşılması durumunda bir görev tanımlayarak hata durumlarından haberdar olabilir veya hata durumları için özel işlemler gerçekleştirebilirsiniz.
Örneğin, görev akışı başarısız olduğunda e-posta göndermek veya bir API çağrısı yapmak için eylem tanımlayabilirsiniz.