[英]Call external Rest api when a file is added or updated to a Github repository
所以,我有一個Github 存儲庫,其中一些文件將被手動添加或更新,或者通過從功能分支到主分支的合並。 我想知道每當將文件添加/更新到此 Github 存儲庫或從功能分支合並到主分支時,如何調用另一個外部微服務 Rest api 端點(.Net 6.0 端點)?
這些是自定義文件(consider.txt 文件) ,它們也需要發送到外部微服務 api 端點,以便該端點可以處理接收到的文件並將數據保存到數據庫。
有人可以幫助解決上述問題,以便我可以從 Github repo 推送修改/添加的文件來調用 Rest api 端點嗎?
我查看了此鏈接以尋求解決方案,但無法理解? 我可以使用 Github 操作來解決這個問題(以及如何?)或者是否有任何替代解決方案? 解決方案的任何鏈接也將有所幫助...謝謝..
這種情況下可能的工作流程:
例子:
name: 'Call REST API when a file is pushed'
on:
push:
paths:
- '*.txt' # match '*.txt' files (created or updated)
branches: [ main ] # match specific branch
jobs:
prepare-files:
runs-on: ubuntu-latest
outputs:
matrix-added: ${{ steps.file-changes.outputs.files_added }}
matrix-modified: ${{ steps.file-changes.outputs.files_modified }}
steps:
- id: file-changes
uses: trilom/file-changes-action@v1.2.4
post-files-added:
needs: prepare-files
runs-on: ubuntu-latest
strategy:
matrix:
file: ${{ fromJSON(needs.prepare-files.outputs.matrix-added) }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Echo file
run: |
echo ${{ matrix.file }} # to test if the correct file was passed
- name: Make an API call
uses: fjogeleit/http-request-action@v1
with:
url: 'https://postman-echo.com/post'
method: 'POST'
file: "${{ github.workspace }}/${{ matrix.file }}"
# post-files-modified:
# ...
其他參考資料:
此外,還有另一種可能的方法——您可以為您的存儲庫設置一個 GitHub webhook,它將在推送事件上觸發 API 端點。 有關詳細信息,請參閱自動將推送的文件從一個 GitHub 存儲庫復制到另一個(此示例是關於將文件復制到另一個存儲庫,但您的情況可以使用相同的方法)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.