Expressions - 2
1) Metin İşleme Fonksiyonları
contains(search, item)
Belirtilen
search
dizesindeitem
ifadesi geçip geçmediğini kontrol eder.Örnek:
if: ${{ contains('Hello world', 'llo') }}
→true
döner, çünkü “llo” “Hello world” içinde geçiyor.Bir YAML satırında:
Böylece commit mesajında [deploy]
geçiyorsa job ya da step çalışır.
startsWith(searchString, searchValue)
searchString
değeri,searchValue
ile başlıyor mu diye bakar.Gerçek senaryoda branch kontrolü:
Eğer branch adı feature-
ile başlıyorsa step’i çalıştır.
endsWith(searchString, searchValue)
searchString
değeri,searchValue
ile bitiyor mu diye bakar.Örnek:
Tag kontrolü:
Branch ya da tag 'v1.0.0'
ile bitiyorsa çalıştır.
2) Dize Birleştirme ve Biçimlendirme
format(string, replaceValue0, replaceValue1, ...)
Metin içindeki
{0}
,{1}
,{2}
alanlarını sırasıyla girilen değerlerle değiştirir.Örnek:
format('Hello {0} {1}', 'Mona', 'Octocat')
→"Hello Mona Octocat"
.Bir “echo” komutunda kullanmak için:
join(array, optionalSeparator)
Array (dizi) elemanlarını birleştirir, istersen araya özel bir ayırıcı (separatör) koyar.
Örnek:
join(github.event.issue.labels.*.name, ', ')
→ Issue üzerindeki label isimlerini virgülle birleştirir.Ya da manuel array:
join(['apple','orange','banana'], ' | ')
→"apple | orange | banana"
.
3) JSON İşleme
toJSON(value)
Verilen değişkeni ya da nesneyi JSON formatına çevirir (string olarak).
Örnek:
if: ${{ toJSON(job) }}
→ O anki job nesnesini JSON’a döndürür (daha çok debug amaçlı).Step içinde:
Bu şekilde event içeriğini JSON formatında görürsün.
fromJSON(value)
JSON formatındaki bir string’i GitHub Actions içinde bir nesneye dönüştürür.
Örnek:
fromJSON('{"name": "Mona", "role": "Octocat"}').role
→"Octocat"
.Eğer
client_payload
’da karmaşık bir JSON varsa bu fonksiyonla parse edebilirsin.
4) Dosya Hash Fonksiyonu
hashFiles(path)
Belirtilen dosya/dosyaların içeriğini hash’leyip tek bir hash döndürür.
Örnek:
hashFiles('**/package-lock.json', '**/Gemfile.lock')
→ Bu dosyaların toplu içeriğinin bir karmasını (hash) üretir.Genelde cache kullanırken “cache key” üretmek için kullanılır. Örnek:
Last updated
Was this helpful?