Daha fazla ayrıntı / açıklama için düzenlendi.
Yapabileceğiniz bir şey, aramaktır repository_dispatch
. repository_dispatch
Burada kullanmak için GitHub belgelerini görüntüleyebilirsiniz .
Örneğin, şuna benzer bir GitHub Eylemleri iş akışınız varsa:
on:
repository_dispatch:
types: [run_tests]
name: Run tests
jobs:
test:
name: Run your tests
runs-on: ubuntu-latest
steps:
- run: |
echo "I just ran all your tests!"
GitHub v3 API Belgeleri'nde açıklanan adımları izleyerek bir havuz gönderme olayı oluşturabilirsiniz .
İlk olarak, kimlik doğrulama için GitHub'da kişisel bir erişim belirteci (PAT) oluşturun.
Sonra şöyle çalıştırabilirsiniz curl
:
curl \
-H "Authorization: token $YOUR_PAT" \
--request POST \
--data '{"event_type": "run_tests"}' \
https://api.github.com/repos/$USER/$REPOSITORY/dispatches
Aynı zamanda üzerinde çalıştığım küçük bir projeyi de bu problemi çözen bir arkadaşla paylaşmak istedim.
https://www.actionspanel.app/
ActionsPanel aynı repository_dispatch
API'yi kullanıyor ancak kendi PAT'inizi yönetme konusunda endişelenmenize gerek kalmaması için bir GitHub App jetonu ile bunu yapıyor. Bu aynı zamanda birden fazla kişiden oluşan ekipler arasında eylemlerinizi tetiklemeyi çok daha kolay hale getirir.
Kullanıcı isteklerine ve geri bildirimlerine dayanarak, hangi şubeye gönderileceğini belirten özellikler oluşturduk repository_dispatch
ve hatta eylemi yürütmek istediğinizde parametre enjekte edecek şekilde oluşturduk.
Düğmelerinizi repoda bıraktığınız bildirici bir yaml dosyasıyla yapılandırırsınız ve ActionsPanel, bu dosyayı okuyacak ve eylemlerinizi tetiklemeniz için dinamik olarak kullanıcı arayüzünüzü oluşturacaktır.
repository_dispatch
bir yana, tek birleştirebilirwatch
ileif: github.actor == 'hackerman'
rastgele yabancılarla dışarı filtreye. Veya daha iyisi -if: github.actor == github.event.repository.owner.login
ekstra "güvenlik" için: D