با استفاده از این API فعالیت مخزن GitHub را در زمان واقعی در Slack ردیابی کنید.
ادغام GitHub با Slack به شما کمک می کند تا ارتباطات تیم خود را با اطلاع رسانی به آنها در مورد رویدادهای مخزن بلادرنگ ساده کنید. این ادغام به همکاری موثرتر، بحث در مورد تغییرات در زمینه کد پایه کمک می کند و به سرعت هر گونه نگرانی که ممکن است در طول توسعه ایجاد شود، برطرف می کند.
علاوه بر این، ادغام GitHub با Slack به شما امکان میدهد اعلانها را متناسب با گردش کار منحصر به فرد تیم خود سفارشی کنید. این کار حواسپرتی را به حداقل میرساند و بر آنچه واقعاً مهم است تمرکز میکند. این رویکرد مناسب برای ارتباطات، تیم شما را قادر میسازد تا تصمیمات آگاهانه گرفته و اقدامات به موقع انجام دهد و از بالاترین کیفیت خروجی اطمینان حاصل کند.
مرحله 1: یک برنامه جدید Slack ایجاد کنید
برای پیگیری، باید راحت از پلتفرم Slack استفاده کنید. همچنین باید با GitHub آشنا باشید.
اولین مرحله ادغام، ایجاد یک برنامه جدید Slack است. این برنامه مسئول ارسال پیامها در کانال Slack انتخابی در هنگام رخ دادن یک رویداد مخزن خواهد بود. برای ایجاد یک برنامه جدید، به وب سایت Slack بروید و وارد حساب خود شوید. سپس، یک فضای کاری جدید ایجاد کنید. شما از این فضای کاری برای آزمایش برنامه خود قبل از نصب آن در فضای کاری تیم خود استفاده خواهید کرد.
در یک برگه مرورگر جدید به وب سایت Slack API بروید.
روی دکمه برنامه های شما کلیک کنید. در صفحه ای که ظاهر می شود، روی دکمه Create New App کلیک کنید.
گزینه ایجاد برنامه از ابتدا را انتخاب کنید. سپس نام برنامه خود را بگذارید و فضای کاری را که می خواهید آن را در آن نصب کنید انتخاب کنید.
روی دکمه Create App کلیک کنید. این اقدام برنامه جدید Slack شما را ایجاد می کند و شما را به داشبورد آن هدایت می کند.
مرحله 2: راه اندازی یک وب هوک ورودی Slack
Slack Incoming Webhook به شما امکان می دهد پیام هایی را از منابع خارجی به فضای کاری Slack خود ارسال کنید. برای راه اندازی وب هوک، ویژگی Incoming Webhooks را انتخاب کنید. مطمئن شوید که دکمه Activate Incoming Webhooks را روشن کرده اید.
به قسمت Webhook URLs for Your Workspace بروید. روی دکمه Add New Webhook to Workspace کلیک کنید.
Slack از شما درخواست می کند کانالی را که برنامه شما در آن پیام ارسال می کند انتخاب کنید. کانال را انتخاب کنید و روی دکمه Allow کلیک کنید.
این برنامه شما را به کانال انتخابی اضافه می کند. به بخش Webhook URLs for Your Workspace برگردید. URL ایجاد شده Webhook را کپی کنید. این آدرس اینترنتی است که GitHub اعلانهای رویداد مخزن را به آن ارسال میکند.
اکنون پیکربندی سمت Slack تمام شده است.
مرحله 3: Repo GitHub را پیکربندی کنید
به وب سایت GitHub بروید و وارد حساب خود شوید. به مخزنی بروید که میخواهید اعلانهای رویداد را از آن دریافت کنید. همچنین می توانید یک مخزن جدید ایجاد کنید. روی تب Actions در زیر نام مخزن کلیک کنید.
سپس بر روی پیوند تنظیم گردش کار خود کلیک کنید. صفحه بعدی که ظاهر می شود از شما می خواهد که یک فایل YAML در فهرست گردش کار GitHub ایجاد کنید. این فایل گردش کار GitHub Actions را که مسئول ارسال اعلانها به فضای کاری Slack شما است، تعریف میکند.
کد YAML را در ویرایشگر یکپارچه خواهید نوشت. این کد GitHub را با Slack با ارسال اعلانها به کانال Slack هنگامی که رویدادهای خاصی در مخزن اتفاق میافتد ادغام میکند.
کد منبع کامل استفاده شده در این مقاله در یک مخزن GitHub موجود است.
مرحله 4: کد YAML را برای ادغام GitHub با Slack بنویسید
گردش کار خود را نام ببرید. با خیال راحت نام دلخواه خود را انتخاب کنید.
name: Slack Notification
رویدادهایی را مشخص کنید که گردش کار را آغاز می کند. این جایی است که شما رویدادهایی را انتخاب می کنید که می خواهید تیم شما از آنها مطلع شود. رویدادها را متناسب با نیاز خود اضافه یا حذف کنید.
on:
push:
pull_request:
issues:
types:
- opened
- closed
- reopened
- edited
- deleted
- pinned
- unpinned
- assigned
- unassigned
- labeled
- unlabeled
- milestoned
- demilestoned
issue_comment:
types: [created, edited, deleted]
create:
delete:
کار خود را پیکربندی کنید و محیط مجازی را انتخاب کنید که در آن اجرا شود. notify_slack نام کار است. شما می توانید آن را به سلیقه خود تغییر دهید.
jobs:
notify_slack:
runs-on: ubuntu-latest
مرحله ای را تنظیم کنید که مسئول ارسال اعلان به Slack باشد.
steps:
- name: Send Slack notification
یک متغیر محیطی با نام SLACK_WEBHOOK_URL تعریف کنید. URL وب هوک Slack را ذخیره می کند. بعداً URL را به مخزن مخزن GitHub اضافه خواهید کرد.
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
Action-slack GitHub Action را پیکربندی کنید. که یک اقدام شخص ثالث است که منطق زیربنایی تعامل با Slack API را کنترل می کند. به شما امکان می دهد روی پیکربندی پیام ها و رویدادهایی که اعلان ها را راه اندازی می کنند تمرکز کنید. این باعث می شود که فرآیند ارسال اعلان ها به Slack بسیار آسان تر شود.
uses: 8398a7/action-slack@v3
این کد از اکشن 8398a7/action-slack@v3 استفاده می کند.
اکشن 8398a7/action-slack@v3 را با پارامترهای سفارشی پیکربندی کنید. پارامتر وضعیت وضعیت پیام را به حالت سفارشی تنظیم می کند. این به شما امکان می دهد محتوای پیام Slack را با استفاده از یک بار سفارشی تعریف کنید. پارامتر فیلدها فیلدهایی را که باید در پیام Slack گنجانده شوند فهرست می کند.
with:
status: custom
fields: repo,commit,event,action,workflow,ref,URL
یک custom_payload ایجاد کنید که ظاهر پیام Slack را مطابق با ترجیحات شما سفارشی کند.
custom_payload: |
{
"attachments": [
{
"color": "${{ job.status }}",
"title": >-
${{ github.actor }} ${{ github.event.pull_request && github.event.pull_request.merged == true && 'merged a pull request' || github.event.pull_request && 'opened a pull request' || github.event_name == 'push' && 'pushed new changes' || github.event_name == 'create' && 'created a new branch or tag' || github.event_name == 'delete' && 'deleted a branch or tag' || github.event_name == 'issues' && github.event.action || 'triggered an event' }},
"text": >-
:tada: Event details:
- Repository: ${{ github.repository }}
- Branch: ${{ github.ref }}
- Message: ${{ github.event_name == 'push' && github.event.head_commit.message || github.event_name == 'issues' && github.event.issue.title || github.event_name == 'pull_request' && github.event.pull_request.title || '' }}
- :globe_with_meridians: Link: ${{ github.event.pull_request.html_url || github.event.issue.html_url || github.event.repository.html_url }}
}
]
}
برای یافتن تمام سفارشیسازیهای پشتیبانی شده، میتوانید به مورد استفاده سفارشی 8398a7/action-slack@v3 مراجعه کنید. فایل YAML را برای ایجاد گردش کار جدید متعهد کنید.
آخرین مرحله ادغام GitHub با Slack اضافه کردن یک مخزن مخزن جدید است. راز در این مورد URL Slack Webhook است که شما از Slack کپی کرده اید. این URL را مخفی نگه دارید زیرا هر کسی که به آن دسترسی دارد می تواند به فضای کاری شما پیام ارسال کند.
به تنظیمات مخزن خود بروید. روی اسرار و متغیرهای زیر ویژگی امنیتی کلیک کنید. گزینه Actions را انتخاب کنید.
روی New repository Secret کلیک کنید. نام راز را به عنوان SLACK_WEBHOOK_URL اضافه کنید. سپس URL Slack را در قسمت Secret قرار دهید. در نهایت بر روی دکمه Add Secret کلیک کنید تا راز جدید ذخیره شود.
اکنون یکپارچه سازی GitHub با Slack را به پایان رسانده اید. هر بار که رویدادی در مخزن شما اتفاق می افتد، پیامی در کانال شما نمایش داده می شود. یک درخواست کشش جدید ایجاد کنید. این یک رویداد فشار ایجاد می کند.
تصویر زیر نمونه پیامهایی را در Slack نشان میدهد که رویدادهایی را نشان میدهد که در یک مخزن رخ دادهاند.
می توانید بار پیام را سفارشی کنید تا فیلدهای دیگری را که ممکن است لازم بدانید شامل شود.
بهره وری خود را با ادغام Slack بهبود بخشید
GitHub تنها ادغام Slack نیست که می توانید به فضای کاری خود اضافه کنید. ادغام های متعددی وجود دارد که می توانید برای بهبود بهره وری تیم خود و افزایش ارتباطات آنها استفاده کنید. آشنایی با این ادغام ها به شما کمک می کند تا گردش کار تیم خود را ساده کنید و همه را در یک صفحه نگه دارید.