Используйте действия Github, чтобы сделать запрос API get и сохранить данные в репозитории

#github #github-actions #building-github-actions

#github #github-действия #построение-github-действия

Вопрос:

Я хотел бы настроить рабочий процесс действий GitHub, который:

  1. Отправляет запрос API на другой сайт (за пределами GitHub), который возвращает JSON.
  2. Добавьте (зафиксируйте) этот JSON в мой репозиторий

У меня есть действие, которое выглядит следующим образом. Похоже, что он работает правильно, и в журнале даже выводится, что файл был сохранен. Но файл нигде не появляется в моем репозитории.

Я никогда раньше не настраивал действия, поэтому я новичок в некоторой терминологии, связанной с ними.

Любые советы или мысли о том, как выполнить это действие или работу, или альтернативный подход?

 name: Refresh Feed
on: [push]
jobs:
  refresh-feed:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          persist-credentials: false
  
      - name: Fetch API Data
        uses: JamesIves/fetch-api-data-action@1.0.15
        with:
          ENDPOINT: https://www.loc.gov/maps/?fa=location:cyprusamp;fo=jsonamp;at=results
          RETRY: true
  

Ответ №1:

Я имею в виду, что из readme репозитория кажется, что вам просто нужно выполнить это действие с токеном github. Я только что запустил действие Fetch API Data и смог увидеть новый каталог, созданный путем запуска ls на шаге после действия.

Как получить токен github

введите описание изображения здесь

Затем вам нужно будет создать секрет и добавить env ACCESS_TOKEN

Как создать секреты в репозитории

Действие для запуска

 name: Refresh Feed
on: 
  schedule:
    - cron: 10 15 * * 0-6
jobs:
  refresh-feed:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout 🛎️
        uses: actions/checkout@v2
        with:
          persist-credentials: false

      - name: Fetch API Data 📦
        uses: JamesIves/fetch-api-data-action@releases/v1
        with:
          ENDPOINT: https://www.loc.gov/maps/?fa=location:cyprusamp;fo=jsonamp;at=results
          retry: true
      - name: Build and Deploy 🚀
        uses: JamesIves/github-pages-deploy-action@releases/v3
        with:
          ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
          BRANCH: master # Pushes the updates to the master branch.
          FOLDER: fetch-api-data-action # The location of the data.json file saved by the Fetch API Data action.
          TARGET_FOLDER: data # Saves the data into the 'data' directory on the master branch.