{"id":15691735,"url":"https://github.com/andrii-bodnar/crowdin-request-action","last_synced_at":"2025-05-07T21:44:46.090Z","repository":{"id":63635686,"uuid":"566007805","full_name":"andrii-bodnar/crowdin-request-action","owner":"andrii-bodnar","description":"A GitHub Action to send arbitrary requests to Crowdin's REST API 🚀 ","archived":false,"fork":false,"pushed_at":"2025-01-01T04:57:20.000Z","size":2768,"stargazers_count":9,"open_issues_count":7,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-25T20:39:21.351Z","etag":null,"topics":["api","crowdin","crowdin-api","github-actions","hacktoberfest"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/crowdin-request-action","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrii-bodnar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-14T19:31:52.000Z","updated_at":"2025-01-06T05:40:35.000Z","dependencies_parsed_at":"2024-07-11T13:47:30.924Z","dependency_job_id":"99a63446-0ee2-4b9e-9249-720ced2dd1df","html_url":"https://github.com/andrii-bodnar/crowdin-request-action","commit_stats":{"total_commits":50,"total_committers":5,"mean_commits":10.0,"dds":0.38,"last_synced_commit":"ee7a2af9564d8934b5b4a8427185aaaffee0165e"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrii-bodnar%2Fcrowdin-request-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrii-bodnar%2Fcrowdin-request-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrii-bodnar%2Fcrowdin-request-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrii-bodnar%2Fcrowdin-request-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrii-bodnar","download_url":"https://codeload.github.com/andrii-bodnar/crowdin-request-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252745204,"owners_count":21797759,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","crowdin","crowdin-api","github-actions","hacktoberfest"],"created_at":"2024-10-03T18:24:04.295Z","updated_at":"2025-05-07T21:44:46.060Z","avatar_url":"https://github.com/andrii-bodnar.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[\u003cp align='center'\u003e\u003cimg src='logo.png' width='150' height='150' align='center'/\u003e\u003c/p\u003e](https://github.com/andrii-bodnar/crowdin-request-action)\n\n# Crowdin Request Action [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?url=https%3A%2F%2Fgithub.com%2Fandrii-bodnar%2Fcrowdin-request-action\u0026text=A%20GitHub%20Action%20to%20send%20arbitrary%20requests%20to%20Crowdin%27s%20REST%20API)\u0026nbsp;[![GitHub Repo stars](https://img.shields.io/github/stars/andrii-bodnar/crowdin-request-action?style=social\u0026cacheSeconds=1800)](https://github.com/andrii-bodnar/crowdin-request-action/stargazers)\n\n\u003e A GitHub Action to send arbitrary requests to Crowdin's REST API\n\n\u003cdiv align=\"center\"\u003e\n\n[**`Examples`**](/EXAMPLES.md) \u0026nbsp;|\u0026nbsp;\n[**`Crowdin API`**](https://developer.crowdin.com/api/v2/) \u0026nbsp;|\u0026nbsp;\n[**`Crowdin Enterprise API`**](https://developer.crowdin.com/enterprise/api/v2/)\n\n[![Check dist](https://github.com/andrii-bodnar/crowdin-request-action/actions/workflows/check-dist.yml/badge.svg)](https://github.com/andrii-bodnar/crowdin-request-action/actions/workflows/check-dist.yml)\n[![build-test](https://github.com/andrii-bodnar/crowdin-request-action/actions/workflows/test.yml/badge.svg)](https://github.com/andrii-bodnar/crowdin-request-action/actions/workflows/test.yml)\n[![e2e-test](https://github.com/andrii-bodnar/crowdin-request-action/actions/workflows/e2eTest.yml/badge.svg)](https://github.com/andrii-bodnar/crowdin-request-action/actions/workflows/e2eTest.yml)\n[![codecov](https://codecov.io/gh/andrii-bodnar/crowdin-request-action/branch/main/graph/badge.svg?token=5XBCG8YW8A)](https://codecov.io/gh/andrii-bodnar/crowdin-request-action)\n\n\u003c/div\u003e\n\n## Usage\n\nSet up a workflow in *.github/workflows/crowdin-request.yml* (or add a job to your existing workflows).\n\nRead the [Configuring a workflow](https://help.github.com/en/articles/configuring-a-workflow) article for more details on how to create and set up custom workflows.\n\n```yaml\nname: Crowdin Request Action\n\non:\n  # When you push to the `main` branch\n  push:\n    branches: [ main ]\n  # And optionally, once every 12 hours\n  schedule:\n    - cron: '0 */12 * * *' # https://crontab.guru/#0_*/12_*_*_*\n  # To manually run this workflow\n  workflow_dispatch:\n\njobs:\n  crowdin-request:\n\n    runs-on: ubuntu-latest\n    steps:\n    - name: Checkout\n      uses: actions/checkout@v4\n\n    - name: Make Crowdin Request\n      uses: andrii-bodnar/crowdin-request-action@0.3.0\n      with:\n        route: GET /languages\n      env:\n        CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}\n        CROWDIN_ORGANIZATION: ${{ secrets.CROWDIN_ORGANIZATION }} # Only for Crowdin Enterprise\n```\n\n## Inputs\n\n| Option                 | Required | Type      | Description                                                                                                                                                     |\n|------------------------|----------|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `route`                | `true`   | `string`  | HTTP Verb + path                                                                                                                                                |\n| `body`                 | `false`  | `string`  | Request body (for POST, PUT, PATCH methods)                                                                                                                     |\n| `query`                | `false`  | `string`  | Query parameters (for GET methods)                                                                                                                              |\n| `headers`              | `false`  | `string`  | Request headers                                                                                                                                                 |\n| Retry configuration    |          |           |                                                                                                                                                                 |\n| `retries`              | `false`  | `number`  | Retries count to be made after receiving an error response                                                                                                      |\n| `wait_interval`        | `false`  | `number`  | Wait interval between retries. Default is 1000 ms (1 sec)                                                                                                       |\n| `skip_error_codes`     | `false`  | `string`  | Error codes for which the retries shouldn't be applied. Separated by comma                                                                                      |\n| `retry_until_finished` | `false`  | `boolean` | Retry the request until the asynchronous action finished (should be used to check the status of the operation, for example, check the translation build status) |\n\nSee the [EXAMPLES.md](/EXAMPLES.md) file to check these parameters' usage.\n\n## Outputs\n\nThis actions provides the following outputs that can be used by other steps in your workflow:\n\n| Option    | Description                                                   |\n|-----------|---------------------------------------------------------------|\n| `status`  | Response status code                                          |\n| `headers` | Response headers as JSON string with lower cased header names |\n| `data`    | Response body as a JSON string                                |\n\nTo access deep values of these outputs, check out the [fromJson](https://docs.github.com/en/actions/learn-github-actions/contexts#fromjson) function.\n\nAlso, there are a few examples of the outputs' usage in the [EXAMPLES.md](/EXAMPLES.md) file.\n\n## Environment variables\n\n| Variable                 | Required | Description                                                                                            |\n|--------------------------|----------|--------------------------------------------------------------------------------------------------------|\n| `CROWDIN_PERSONAL_TOKEN` | `true`   | Your Crowdin Personal Access Token. Can be generated in your Account settings                          |\n| `CROWDIN_ORGANIZATION`   | `false`  | Your Crowdin Enterprise organization name (for example, `test-org` for `https://test-org.crowdin.com`) |\n\n## Debugging\n\nTo see additional debug logs, read the [Enabling debug logging](https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging).\n\n## Contributing\n\nIf you would like to contribute please read the [Contributing](/CONTRIBUTING.md) guidelines.\n\n## Author\n\n- [Andrii Bodnar](https://github.com/andrii-bodnar/)\n\n## License\n\n\u003cpre\u003e\nThe Crowdin Request Action is licensed under the MIT License.\nSee the LICENSE file distributed with this work for additional\ninformation regarding copyright ownership.\n\nExcept as contained in the LICENSE file, the name(s) of the above copyright\nholders shall not be used in advertising or otherwise to promote the sale,\nuse or other dealings in this Software without prior written authorization.\n\u003c/pre\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrii-bodnar%2Fcrowdin-request-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrii-bodnar%2Fcrowdin-request-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrii-bodnar%2Fcrowdin-request-action/lists"}