دليل مستخدم gactions

يوضِّح لك هذا الدليل كيفية استخدام أداة واجهة سطر أوامر gactions في سيناريوهات الاستخدام الشائعة. للحصول على معلومات حول إنشاء الإجراءات الشاملة، يُرجى الاطّلاع على مستندات إنشاء الإجراءات القائمة على المحادثة.

مزامنة المشروع

عند استخدام حزمة تطوير البرامج (SDK) للإجراءات، يمكنك استخدام أداة gactions لمزامنة مشاريع الإجراءات بين وحدة تحكّم "المهام" ونظام الملفات المحلي.

تصدِّر عمليات gactions pull مشروعًا من وحدة تحكُّم المهام إلى نظام الملفات المحلي، وترسل عمليات gactions push المشروع من نظام الملفات المحلي إلى وحدة تحكُّم المهام.

تنزيل "المهام" من وحدة تحكّم "المهام"

شغِّل gactions pull لنسخ إعدادات مشروع Actions إلى نظام الملفات المحلي.

يمكن تمرير project-id من المشروع الذي تريد نسخه في سطر الأوامر، أو كتابته في ملف settings/settings.yaml. وفي حال توفّرهما، يُعطي "واجهة سطر الأوامر" الأولوية للقيمة التي تم تمريرها كخيار.

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

يعرض مقتطف الرمز أعلاه كيفية سحب إجراء من مسودة المشروع. من الممكن أيضًا السحب من إصدار محدد من الإجراء الخاص بك. تمثل النسخة نسخة تم إرسالها من مشروع الإجراءات، والتي يمكن نشرها في قناة إصدار.

تحدد العلامة --version-id الإصدار المطلوب سحبه.

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

استخدِم العلامة --force إذا كنت تريد استبدال النُسخ المحلية من الملف بدون أن يُطلب منك تأكيدها. استخدِم علامة --clean لإزالة أي ملفات محلية غير متوفرة في "المسودة" أو "الإصدار" عن بُعد. يمكنك استخدامها معًا للحصول على نسخة دقيقة من مشروع وحدة تحكم المهام.

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

إرسال مسودة مشروع وحدة تحكّم المهام إلى الإجراءات

شغِّل gactions push لتطبيق التغييرات من نظام الملفات المحلي على مسودة الإجراء الخاص بك في وحدة التحكّم. وقد تكون هذه العملية مفيدة خلال عملية التطوير لعرض التغييرات التي أجريتها في وحدة تحكّم "المهام" بدون التأثير في الإصدار المخصّص للاختبار.

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"

استيراد مشروع حالي من نظام إدارة رمز المصدر

إذا كنت تريد العمل على مشروع حالي من نسخة سابقة في نظام التحكم في الإصدار:

  1. تحقق من المراجعة المستهدفة (يعتمد ذلك على النظام).
  2. استبدِل قيمة projectId في settings.yaml الخاصة بالمشروع.
  3. اختياريًا، شغِّل gactions push لنسخ ملفات الإعداد المحلية إلى مشروع "المهام".
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

إصدارات بطاقة بيانات المتجر

يمكنك تشغيل "gactions versions list" للاطّلاع على تفاصيل عن إصدارات الإجراء الخاص بك. لمعرفة المزيد من المعلومات عن حالات الإصدار، يمكنك الرجوع إلى مرجع State (الولاية).

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

إذا كانت حالة النشر تعرض "تعذّر الإنشاء"، يمكنك الحصول على مزيد من التفاصيل حول ذلك في وحدة التحكم ضمن قسم "الإصدار".

نشر المشاريع

يتيح لك الأمر gactions deploy نشر مشروعك في محاكي الإجراءات أو نشره على قنوات إصدارات ألفا/التجريبية/الإنتاج.

المعاينة في المحاكي

عليك تشغيل gactions deploy preview لنشر الإجراء الخاص بك على "المعاينة"، ما يتيح لك اختبار الإجراء في وحدة التحكّم بدون تعديل إصدار مشروع الإجراء الخاص بك أو التأثير على مطوّري البرامج الآخرين. بمعنى آخر، لا يتم نشر أي من التغييرات التي تجريها في نظام الملفات المحلي على الإصدارات المنشورة من مشروع الإجراءات الخاصة بك، لكنها متاحة للاختبار على إصدار معاينة.

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

إنشاء إصدارات

شغِّل gactions deploy لإنشاء إصدارات لقنوات الإصدار الأولي/التجريبي/الإنتاج التي يمكنك إدارتها من خلال قسم النشر في "وحدة تحكُّم الإجراءات". يمكنك استخدام هذه الأداة لاختبار المرشحين لإصدار الإجراء الخاص بك من خلال قنوات الإصدار الأولي و/أو القناة التجريبية، ونقل الإصدار المرشَّح إلى مرحلة الإنتاج عندما تكون راضيًا عن الملاحظات.

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.

قنوات إصدار بطاقة بيانات المتجر

يمكنك تشغيل gactions release-channels list لعرض تفاصيل حول قنوات الإصدار للإجراء الخاص بك. يمكنك استخدام هذا الأمر لتحديد الإصدار الذي تم نشره أو تعليقه لكل قناة.

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

ربط الحسابات

يتيح لك الأمران gactions encrypt وgactions decrypt إدارة أسرار عملاء OAuth2. وتختص هذه الأوامر بربط الحسابات.

تشفير أسرار العملاء لربط حساب OAuth2

يمكنك تشغيل "gactions encrypt" لإضافة أسرار العميل بأمان لتدفقات ربط حساب OAuth2، أو لتشفير أسرار حالية باستخدام مفتاح تشفير جديد.

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

الوصول إلى قيمة النص العادي لأسرار ربط الحساب المشفرة

يمكنك تشغيل gactions decrypt إذا كنت بحاجة إلى الوصول مؤقتًا إلى قيمة النص العادي لسر المشروع. يطبع الأمر القيمة إلى ملف نصي من اختيارك. نوصي بأن يكون الملف الوجهة خارج المجلد الجذر للمشروع، لتجنب أي تسرب عرضي لقيمة النص العادي.

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