Slack Slash Komutlarından CI/CD’yi Tetikleyin: Google Cloud Functions kullanarak Slack’ten Github Eylemlerini Çalıştırın | tarafından Ankur Anurag | Tem, 2022

Slack Slash Komutlarından CI/CD'yi Tetikleyin: Google Cloud Functions kullanarak Slack'ten Github Eylemlerini Çalıştırın |  tarafından Ankur Anurag |  Tem, 2022

yükselişi ile Sohbet İşlemleri, konuşma odaklı geliştirme her geçen gün daha popüler hale geliyor. Kodunuzu sunucuya dağıttığınızı veya yalnızca bir Slack komutu kullanarak Play Store’da yeni bir sürüm yayınladığınızı hayal edin, bunun ne kadar kullanışlı ve kullanışlı olacağını! Bu yazıda, aynı şeyi öğreneceğiz. Github Eylemleri İş Akışımızı bir Gevşek Eğik Çizgi Komutu.

  1. Giriş https://api.slack.com/apps ve tıklayın Yeni Uygulama Oluştur
  2. Uygulamanın adını ve uygulamayı yüklemek istediğiniz çalışma alanını girin.
  3. Şimdi listeden yeni oluşturduğunuz uygulamanızı seçin. Uygulamalarınız
  4. Sol kenar çubuğu > Temel Bilgileri Seç’i seçin. not edin İmza Sırrı itibaren Uygulama Kimlik Bilgileri. Daha sonra entegrasyonda kullanılacaktır.
  5. Yine Sol Kenar Çubuğu > Özellikler > Eğik Çizgi Komutları > Yeni Eğik Çizgi Komutu Oluştur’u seçin.
Yeni Eğik Çizgi komutu oluştur

6. Komut adını girin. olarak tutacağız /inşa etmek . Komuta herhangi bir ad verebilirsiniz.

7. Yoksay İstek URL’si şimdilik alan. Google bulut işlevimiz oluşturulduktan sonra bu komutu alacağız.

Not : Komutumuzla ek veriler sağlayabiliriz. Beğenmek
/build branchName|buidType|flavour|someMoreData

8. Tekrar Kenar Çubuğu > Temel Bilgiler > Uygulamayı çalışma alanınıza yükleyin’e gidin.

  1. Giriş https://console.cloud.google.com. Bir proje oluşturun > Bulut İşlevlerini Arayın > İşlev Oluştur

Not: Bulut işlevlerine erişmek için faturalandırmayı etkinleştirmeniz gerekir

2. Şimdi yerel makinemize geçeceğiz. Kodumuzu yazacağız ve işlevi yerel makinemizden dağıtacağız. Bunun için kurulum yapmamız gerekiyor Firebase CLI ve düğüm bizim makinemizde

3. Yükle Firebase CLI ve düğüm kullanarak bu bağlantı.

4. Başarılı kurulum çalıştırması sonrası $ firebase login:ci, bu da Gmail girişine yönlendirilecektir. Firebase projesine erişimi olan Gmail hesabını kullandığınızdan emin olun.

5. Çalıştırmayı doğrulamak için $ firebase project:list sonuçta Bulut projenizi görüyorsanız, giriş başarılı olmuş demektir.

6. Bulut işlevleri JavaScript ve TypeScript’i destekler. Fonksiyonumuzun kodunu yazmak için TypeScript kullanacağız.

7. Bir klasör oluşturun. Terminalde o klasöre gidin ve çalıştırın
$ firebase init functions . Bu, bir functions bazı otomatik oluşturulan dosyalarla projenizdeki dizin.

8. Github API’lerini tetiklemek için önceden aşağıdaki değerlere ihtiyaç duyacağız username , repository , access_token . signing_secret adımda oluşturulan Slack uygulamasından A4 ayrıca, talebin geçerli bir kaynaktan geldiğini doğrulaması gerekir. Ayrıca üret Github kişisel jetonu.

9. Tüm bu değerler sabit olduğu için, onları daha sonra kodumuzda alıp kullanacağımız fonksiyonlarımızda ortam değişkenleri olarak ayarlayabiliriz:

$ firebase functions:config:set github.username=test-username github.repository=test-repository github.access_token=test-token slack.signing_secret=test-slack-signing-secret github.workflow_name=workflow-file.yml

10. Aynısını doğrulamak için:

$ firebase functions:config:get

Aşağıdaki gibi bir yanıt alacaksınız:

{
"github": {
"username": "test-username",
"access_token": "test-token",
"repository": "test-repository",
"workflow_name": "workflow-file.yml"
},
"slack": {
"signing_secret": "test-slack-signing-secret"
}
}
}

İşlev için kod:

  1. Kullanacağız İfade etmek slash komutumuzdan gelen isteklere cevap vermek için.
  2. Öncelikle gerekli bağımlılıkları kurmamız gerekiyor. İşlevler dizininde gerekli bağımlılıkları kurun:
npm install --save @types/express @types/tsscmp @types/cors

3. adresinde bir dosya oluşturun <projectPath>/functions/src/index.ts . Bu bir giriş noktası görevi görecektir. İşlev adı, Google Cloud İşlev adı olarak kullanılacaktır. bulut işlevi onSlackCommand yazılmış fonksiyonumuzu arayacak <projectPath>/functions/slack-command.ts dosya.

4. Sonra oluşturacağız<projectPath>/functions/slack-command.ts . Kod oldukça açıklayıcı. Slack komutundan gelen isteği ayrıştıracağız ve kanal adı, komuta eklenmiş ek veriler vb. gibi verileri alacağız. İçe aktarıyoruz. Doğrulayın() ve tetiklemek() farklı bir dosyadan yöntemler.

5. Doğrulayın() ve tetiklemek() işlevler bizim bir parçasıdır <projectPath>/functions/utilities/slack.ts dosya. Doğrulayın() gelen isteğin gerçek olup olmadığını kontrol eder ve tetiklemek() işlevi aslında Github iş akışını tetiklemek için API çağrısını yapar. hakkında okuyabilirsiniz REST API aracılığıyla Github Eylem İş Akışını manuel olarak tetikleme.

Adımda belirlediğimiz global değişkenleri getireceğiz B9vasıtasıyla
function.config().github.access_token

6. Son bir şey. Google Cloud Console’dan > İşleviniz > Tetikleyici URL’yi kopyalayın ve adımda belirtildiği gibi Slash Komut İsteği URL’sine yapıştırın A7. Şimdi gitmeye hazırız.

Slash komutu çalışırken

Tahmin edin, bu yazı için bu kadar. Otomatik sürüm botunuz için tebrikler. Herhangi bir sorunla karşılaşırsanız yorum bırakmaktan çekinmeyin. unutma 👏👏👏 eğer beğendiyseniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.