gactions kullanıcı rehberi

Bu kılavuzda, gactions komut satırı arayüzü (CLI) aracının yaygın kullanım senaryolarında nasıl kullanılacağı gösterilmektedir. Uçtan uca İşlem oluşturma hakkında bilgi için Conversational Actions Derleme dokümanlarına bakın.

Proje senkronizasyonu

Actions SDK'sını kullanırken gactions, Action projelerini Actions konsolu ve yerel dosya sisteminiz arasında senkronize etmek için kullanabileceğiniz araçtır.

gactions pull işlemleri, bir projeyi Actions konsolundan yerel dosya sisteminize aktarır ve gactions push işlemleri, bir projeyi yerel dosya sisteminizden Actions konsoluna aktarır.

Actions Console'dan Actions'ı indirme

Bir Actions projesinin yapılandırmasını yerel dosya sistemine kopyalamak için gactions pull komutunu çalıştırın.

Kopyalamak istediğiniz projenin project-id değeri, komut satırında iletilebilir veya settings/settings.yaml dosyasına yazılabilir. Her ikisi de mevcutsa KSA, seçenek olarak iletilen değere öncelik verir.

mkdir -p myAction/sdk
cd myAction/sdk
gactions pull --project-id my-project-id
Pulling your project files from Draft for a project id: "my-project-id"
✔ Done. You should see the files written in path/to/myAction/sdk
ls -l
total 8
drwxr-x---  3 user  primarygroup   96 May  7 10:00 actions
drwxr-x---  4 user  primarygroup  128 May  7 10:00 custom
-rw-r-----  1 user  primarygroup   15 May  7 10:00 manifest.yaml
drwxr-x---  3 user  primarygroup   96 May  7 10:00 settings
vi settings/settings.yaml
// change projectId to "my-other-project-id"
gactions pull
Pulling your project files from Draft for a project id: "my-other-project-id"
path/to/myAction/sdk/manifest.yaml already exists. Would you like to overwrite it?. [y/n]
...
✔ Done. You should see the files written in path/to/myAction/sdk

Yukarıdaki kod snippet'i, proje taslağından bir Action'ın nasıl alınacağını gösterir. İşleminizin belirli bir sürümünden de çekmeniz mümkündür. Sürüm, Actions projenizin gönderilen ve bir sürüm kanalına dağıtılabilen kopyasını temsil eder.

--version-id işareti, hangi sürümün alınacağını belirtir.

mkdir -p myAction/sdk
cd myAction/sdk
gactions pull --project-id my-project-id --version-id my-version-id
Pulling version "my-version-id" of the project "my-project-id" from Actions Console...
✔ Done. You should see the files written in path/to/myAction/sdk
ls -l
total 8
drwxr-x---  3 user  primarygroup   96 May  7 10:00 actions
drwxr-x---  4 user  primarygroup  128 May  7 10:00 custom
-rw-r-----  1 user  primarygroup   15 May  7 10:00 manifest.yaml
drwxr-x---  3 user  primarygroup   96 May  7 10:00 settings

Onay istenmeden dosyanın yerel kopyalarının üzerine yazmak istiyorsanız --force işaretini kullanın. Uzak Taslak veya Sürüm'de bulunmayan yerel dosyalardan herhangi birini kaldırmak için --clean işaretini kullanın. Actions Console projesinin tam bir kopyasını almak için bunları birlikte kullanın.

touch local_file.txt
gactions pull --force
Pulling your project files from Draft for a project id: "my-project-id"
[WARNING] 2020/05/07 17:34:32 path/to/myAction/sdk/local_file.txt is not present in the draft of your Action. To remove, run pull with --clean flag.
✔ Done. You should see the files written in path/to/myAction/sdk
gactions pull --force --clean
Pulling your project files from Draft for a project id: "my-project-id"
[WARNING] 2020/05/07 17:43:44 path/to/myAction/sdk/local_file.txt is not present in the draft of your Action. Removing path/to/myAction/sdk/local_file.txt.
✔ Done. You should see the files written in path/to/myAction/sdk

İşlemler'i İşlemler konsolu proje taslağına aktarma

Yerel dosya sistemindeki değişiklikleri konsolda İşleminizin Taslağı'na aktarmak için gactions push komutunu çalıştırın. Bu işlem, geliştirme sırasında test için sunulan sürümü etkilemeden Actions konsoluna yansıtılan değişiklikleri görüntülemek için yararlı olabilir.

gactions push
Pushing your project files to your Actions console draft for a project id: "my-project-id". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console: https://console.actions.google.com/project/my-project-id/overview to view your project. If you want to test your changes in the simulator, run "gactions deploy preview"

Kaynak kodu yönetim sisteminden mevcut bir projeyi içe aktarma

Bir sürüm kontrol sistemindeki düzeltmeden mevcut bir proje üzerinde çalışmak isterseniz:

  1. Hedef düzeltmeyi kontrol edin (sisteme bağlıdır).
  2. Projenin settings.yaml bölümünde projectId değerini değiştirin.
  3. İsteğe bağlı olarak, yerel yapılandırma dosyalarını Actions projesine kopyalamak için gactions push komutunu çalıştırın.
git clone https://github.com/my/repo.git
Cloning into 'repo'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 51 (delta 3), reused 3 (delta 1), pack-reused 41
Receiving objects: 100% (51/51), 36.86 KiB | 3.69 MiB/s, done.
Resolving deltas: 100% (11/11), done.
cd repo/sdk/
vi settings/settings.yaml
// change the value of `projectId`
gactions push

Listeleme sürümleri

İşleminizin sürümleriyle ilgili ayrıntıları görüntülemek için gactions versions list komutunu çalıştırın. Sürüm durumları hakkında daha fazla bilgi edinmek için Durum referansına bakın.

gactions versions list
Version         Status          Last Modified By        Modified On     
1           Created     your-email@your-domain.com  2020-09-28 20:22:04

Dağıtımınızın durumu "Oluşturulamadı" yazıyorsa Console'daki "Sürüm" bölümünde bununla ilgili daha fazla bilgi edinebilirsiniz.

Projeleri dağıtma

gactions deploy komutu, projenizi İşlemler simülatöründe test etmek için dağıtmanıza veya alfa/beta/üretim sürümü kanallarına dağıtmanıza olanak tanır.

Simülasyon aracında önizleme

İşleminizi "önizleme" olarak dağıtmak için gactions deploy preview çalıştırın. Bu sayede, Action projenizin sürümünü gerçekten güncellemeden veya diğer geliştiricileri etkilemeden İşleminizi konsolda test edebilirsiniz. Diğer bir deyişle, yerel dosya sisteminizde yaptığınız değişikliklerin hiçbiri Actions projenizin dağıtılmış sürümlerine yayılmaz ancak bunlar önizleme sürümünde test edilebilir.

gactions deploy preview
Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview

Sürüm oluşturma

Actions konsolunun Dağıtma bölümünden yönetebileceğiniz alfa/beta/üretim kanalları için sürüm sürümleri oluşturmak üzere gactions deploy komutunu çalıştırın. İşleminizin sürüm adaylarını alfa ve/veya beta kanallarınızla test etmek ve geri bildirimden memnun kaldığınızda sürüm adayını üretime taşımak için bu API'yi kullanın.

gactions deploy alpha
Deploying your project files to a actions.channels.Alpha channel for a project id: "my-project-id"
Sending configuration files
Waiting for server to respond.
✔ Done. Your Action was deployed to actions.channels.Alpha channel. You can check status of deployment in the Actions Console.

Sürüm kanallarını listeleme

İşleminizin sürüm kanallarıyla ilgili ayrıntıları görüntülemek için gactions release-channels list öğesini çalıştırın. Her bir kanala dağıtılan veya beklemede olan sürümü belirlemek için bu komutu kullanabilirsiniz.

gactions release-channels list
Release Channel             Current Version             Pending Version
alpha                   1                     N/A

Hesap bağlama

gactions encrypt ve gactions decrypt komutları, OAuth2 istemci gizli anahtarlarını yönetmenize olanak tanır. Bu komutlar hesap bağlama işlemine özeldir.

OAuth2 hesap bağlama istemci gizli anahtarlarını şifreleme

Yetkilendirme kodu OAuth2 hesap bağlama akışları için istemci gizli anahtarlarını güvenli bir şekilde eklemek veya mevcut gizli anahtarları yeni bir şifreleme anahtarıyla şifrelemek için gactions encrypt komutunu çalıştırın.

gactions encrypt
Write your secret: *********************
Encrypting your client secret
path/to/myAction/sdk/settings/accountLinkingSecret.yaml already exists. Would you like to overwrite it?. [y/n]
y
✔ Done. Encrypted secret was written to path/to/myAction/sdk/settings/accountLinkingSecret.yaml

Şifrelenmiş hesap bağlama gizli anahtarlarının düz metin değerine erişin.

Proje gizli anahtarının düz metin değerine geçici olarak erişmeniz gerekiyorsa gactions decrypt öğesini çalıştırın. Komut, değeri seçtiğiniz bir metin dosyasına yazdırır. Düz metin değerinin yanlışlıkla sızdırılmasını önlemek için hedef dosyanın, projenin kök klasörünün dışında olmasını öneririz.

gactions decrypt ../../burn_after_read.txt
Decrypting your client secret
✔ Done. Check path/above/myActions/burn_after_read.txt to find decrypted client secret.
vi ../../burn_after_read.txt
rm ../../burn_after_read.txt