123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- name: Update Error Database
- on:
- discussion:
- types: [created, edited, deleted, category_changed, answered, unanswered]
- discussion_comment:
- types: [created, edited, deleted]
- jobs:
- update-error-db:
- runs-on: ubuntu-latest
- if: github.event.discussion.category.name == 'Errors'
- steps:
- - name: Query Discussion Data
- if: github.event_name == 'discussion_comment' || github.event_name == 'discussion' && github.event.action != 'deleted'
- id: query-data
- uses: actions/github-script@v7
- with:
- script: |
- const query = `query ($owner: String!, $name: String!, $discussionNumber: Int!) {
- repository(owner: $owner, name: $name) {
- discussion(number: $discussionNumber) {
- id
- upvoteCount
- title
- url
- answer {
- url
- upvoteCount
- }
- comments {
- totalCount
- }
- }
- }
- }`;
- const variables = {
- owner: context.repo.owner,
- name: context.repo.repo,
- discussionNumber: context.payload.discussion.number
- }
- return await github.graphql(query, variables)
- - name: Get Gist
- id: get-gist
- uses: andymckay/get-gist-action@master
- with:
- gistURL: https://gist.github.com/cryptobot/accba9fb9555e7192271b85606f97230
- - name: Merge Error Code Data
- run: |
- jq -c '.' ${{ steps.get-gist.outputs.file }} > original.json
- if [ ! -z "$DISCUSSION" ]
- then
- echo $DISCUSSION | jq -c '.repository.discussion | .comments = .comments.totalCount | {(.id|tostring) : .}' > new.json
- jq -s '.[0] * .[1]' original.json new.json > merged.json
- else
- cat original.json | jq 'del(.[] | select(.url=="https://github.com/cryptomator/cryptomator/discussions/${{ github.event.discussion.number }}"))' > merged.json
- fi
- env:
- DISCUSSION: ${{ steps.query-data.outputs.result }}
- - name: Patch Gist
- uses: exuanbo/actions-deploy-gist@v1
- with:
- token: ${{ secrets.CRYPTOBOT_GIST_TOKEN }}
- gist_id: accba9fb9555e7192271b85606f97230
- gist_file_name: errorcodes.json
- file_path: merged.json
|