{"id":30878401,"url":"https://github.com/rematocorp/trello-integration-action","last_synced_at":"2026-04-26T09:02:13.681Z","repository":{"id":37850177,"uuid":"384734393","full_name":"rematocorp/trello-integration-action","owner":"rematocorp","description":"GitHub action for connecting GitHub PRs and Trello cards — moves cards, adds labels \u0026 people, and more","archived":false,"fork":false,"pushed_at":"2025-09-07T07:54:37.000Z","size":3117,"stargazers_count":25,"open_issues_count":0,"forks_count":12,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-07T09:25:19.828Z","etag":null,"topics":["github-actions","pull-request","trello"],"latest_commit_sha":null,"homepage":"","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/rematocorp.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-07-10T15:49:08.000Z","updated_at":"2025-09-07T07:54:39.000Z","dependencies_parsed_at":"2023-10-26T06:32:29.296Z","dependency_job_id":"e521738c-7c8a-4092-be73-c610f7e2aeaa","html_url":"https://github.com/rematocorp/trello-integration-action","commit_stats":{"total_commits":155,"total_committers":3,"mean_commits":"51.666666666666664","dds":0.2387096774193549,"last_synced_commit":"00ecf4237823986745fa020b0cec3737d4eecfc5"},"previous_names":[],"tags_count":90,"template":false,"template_full_name":null,"purl":"pkg:github/rematocorp/trello-integration-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rematocorp%2Ftrello-integration-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rematocorp%2Ftrello-integration-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rematocorp%2Ftrello-integration-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rematocorp%2Ftrello-integration-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rematocorp","download_url":"https://codeload.github.com/rematocorp/trello-integration-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rematocorp%2Ftrello-integration-action/sbom","scorecard":{"id":770093,"data":{"date":"2025-08-11","repo":{"name":"github.com/rematocorp/trello-integration-action","commit":"73b35b5dada9f8e8db789c58637aa18425e3d47e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"21 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/3 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/rematocorp/trello-integration-action/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/rematocorp/trello-integration-action/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/rematocorp/trello-integration-action/ci.yml/main?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:24","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T01:58:41.670Z","repository_id":37850177,"created_at":"2025-08-23T01:58:41.671Z","updated_at":"2025-08-23T01:58:41.671Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274101767,"owners_count":25222447,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["github-actions","pull-request","trello"],"created_at":"2025-09-08T05:02:55.534Z","updated_at":"2026-04-26T09:02:13.675Z","avatar_url":"https://github.com/rematocorp.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Trello Card \u0026 GitHub PR Integration\n\n[![Build](https://img.shields.io/github/actions/workflow/status/rematocorp/trello-integration-action/ci.yml)](https://github.com/rematocorp/trello-integration-action/actions/workflows/ci.yml)\n[![Codecov](https://img.shields.io/codecov/c/github/rematocorp/trello-integration-action?token=NDT35FM2LG\u0026style=flat)](https://codecov.io/gh/rematocorp/trello-integration-action)\n\nThis GitHub action integrates GitHub and Trello, automatically updating Trello cards with pull request information to minimize redundant manual work.\n\nThe action looks for:\n\n- Trello card URLs from PR description, comments and commit messages,\n- Trello card short ID from PR branch name,\n\nand:\n\n- links a PR to a Trello card and vice versa,\n- moves a Trello card when PR is opened, moved back to draft or closed,\n- adds a label to a Trello card based on the branch name (e.g. `feature/foo`),\n- assigns a PR author and fellow contributors to a Trello card,\n- and more...\n\n## Basic configuration\n\n```yaml\nname: Trello integration\non:\n    pull_request:\n        types: [opened, edited, closed, reopened, ready_for_review, converted_to_draft]\n    issue_comment:\n        types: [created, edited]\njobs:\n    trello:\n        runs-on: ubuntu-latest\n        steps:\n            - uses: rematocorp/trello-integration-action@v10\n              with:\n                  github-token: ${{ secrets.GITHUB_TOKEN }}\n                  trello-api-key: ${{ secrets.TRELLO_API_KEY }}\n                  trello-auth-token: ${{ secrets.TRELLO_AUTH_TOKEN }}\n                  trello-list-id-pr-open: 6603333cf96e4419a590d9ab\n                  trello-list-id-pr-closed: 66025544a40b6a11a12233de\n                  # For more options look below\n```\n\n## All options\n\n\u003cdetails\u003e\n\u003csummary\u003eTokens\u003c/summary\u003e\n\n#### 1. `github-token`\n\n**Required**: Needed for Octokit API.\n\nExample:\n\n```yaml\ngithub-token: ${{ secrets.GITHUB_TOKEN }}\n```\n\n#### 2. `trello-api-key` \u0026 `trello-auth-token`\n\n**Required**: Needed for Trello API, visit https://trello.com/app-key.\n\nExample:\n\n```yaml\ntrello-api-key: ${{ secrets.TRELLO_API_KEY }}\ntrello-auth-token: ${{ secrets.TRELLO_AUTH_TOKEN }}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eLinking Trello cards with GitHub PR\u003c/summary\u003e\n\n#### 1. `github-include-pr-comments`\n\nScans PR comments to find Trello card URLs.\n\nDefault: `true`\n\n#### 2. `github-include-pr-commit-messages`\n\nScans PR commit messages to find Trello card URLs and comments card URL to the PR if found.\n\nDefault: `false`\n\n#### 3. `github-include-pr-branch-name`\n\nUses the branch name to find card id (e.g. feature/38-card-title) and comments card URL to the PR if found.\n\nNB! Make sure you set `pull-requests: write` permission for the job. [Learn more.](https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs)\n\nDefault: `false`\n\n#### 4. `github-allow-multiple-cards-in-pr-branch-name`\n\nAllows to reference multiple card short IDs in the branch name (e.g. feature/38-39-40-foo-bar).\n\nNB! Option `github-include-pr-branch-name` needs to be true and it is recommended to set `trello-board-id` to avoid moving wrong cards.\n\nDefault: `false`\n\n#### 5. `github-require-keyword-prefix`\n\nOnly matches Trello URLs prefixed with \"Closes\" etc. Just like [GitHub Issues + PR work.](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)\n\nDefault: `false`\n\n#### 6. `github-enable-related-keyword-prefix`\n\nIgnores Trello URLs prefixed with \"Related\". Alternative to `github-require-keyword-prefix`.\n\nDefault: `false`\n\n#### 7. `github-require-trello-card`\n\nThrows an error if no Trello card can be found in the PR.\n\nDefault: `false`\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCreating a Trello card from a GitHub PR\u003c/summary\u003e\n\n#### 1. `github-include-new-card-command`\n\nCreates a new Trello card from PR details if \"/new-trello-card\" is written in the PR description. Replaces \"/new-trello-card\" with the card link.\n\nNB! Make sure you set `pull-requests: write` permission for the job. [Learn more.](https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs)\n\nDefault: `false`\n\n#### 2. `github-create-new-card-on-merge`\n\nCreates a new Trello card from PR details if no card is linked and the PR is merged. Adds card link to the PR description.\n\nNB! Make sure you set `pull-requests: write` permission for the job. [Learn more.](https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs)\n\nDefault: `false`\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMoving Trello cards\u003c/summary\u003e\n\n#### 1. `trello-list-id-pr-draft`\n\nTrello list ID for draft pull request. [How to find list ID.](https://stackoverflow.com/a/50908600/2311110) Useful when you want to move the card back to \"In progress\" when ready PR is converted to draft.\n\n#### 2. `trello-list-id-pr-open`\n\nTrello list ID for open pull request. [How to find list ID.](https://stackoverflow.com/a/50908600/2311110)\n\n#### 3. `trello-list-id-pr-changes-requested`\n\nTrello list ID for a pull request which has at least one review requesting for changes. [How to find list ID.](https://stackoverflow.com/a/50908600/2311110)\n\nNB! Add `pull_request_review` trigger and modify `pull_request` trigger with `review_requested` and `review_request_removed`. [Learn more.](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows)\n\n#### 4. `trello-list-id-pr-approved`\n\nTrello list ID for a pull request which has at least one approve and no reviews requesting for changes. [How to find list ID.](https://stackoverflow.com/a/50908600/2311110)\n\nNB! Add `pull_request_review` trigger and modify `pull_request` trigger with `review_requested` and `review_request_removed`. [Learn more.](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows)\n\n#### 5. `trello-list-id-pr-closed`\n\nTrello list ID for closed pull request. [How to find list ID.](https://stackoverflow.com/a/50908600/2311110)\n\nNB! If card is merged and `trello-list-id-pr-merged` is set, then it will override this.\n\n#### 6. `trello-list-id-pr-merged`\n\nTrello list ID for merged pull request. [How to find list ID.](https://stackoverflow.com/a/50908600/2311110)\n\nNB! `trello-archive-on-merge` set to `true` will override this.\n\n#### 7. `trello-list-id-override`\n\nManually move the card to this Trello list. [How to find list ID.](https://stackoverflow.com/a/50908600/2311110)\n\nNB! It will override any other list-id setting, ignoring PR state entirely.\n\n#### 8. `trello-move-to-merged-list-only-on-merge`\n\nWhen set to true, moves to `trello-list-id-pr-merged` only when the job was triggered by \"closed\" action.\nUseful when other automations are moving cards to subsequent lists, and you want to prevent this workflow from moving them back to trello-list-id-pr-merged in response to non-merge events (e.g., when someone adds a PR comment).\n\nDefault: `false`\n\n#### 9. `trello-board-id`\n\nTrello board ID where to move the cards. [How to find board ID.](https://stackoverflow.com/a/50908600/2311110) Useful when you want the action to move the card out from a backlog board.\n\n#### 10. `trello-archive-on-merge`\n\nArchives Trello cards when PR is merged.\n\nDefault: `false`\n\n#### 11. `trello-card-position`\n\nPosition of the card after being moved to a list.\n\nOptions: `'top' | 'bottom'`\n\nDefault: `'top'`\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eAssigning members to Trello cards\u003c/summary\u003e\n\n#### 1. `github-users-to-trello-users`\n\nNewline-separated list of mapping between GitHub username and Trello username. Use it for people who have different usernames in GitHub and Trello. If the current username is not in the list, we still try to find a Trello user with GitHub username.\n\nExample:\n\n```yaml\ngithub-users-to-trello-users: |-\n    GithubUser1:TrelloUser1\n    GithubUser2:TrelloUser2\n```\n\n#### 2. `trello-add-members-to-cards`\n\nAdds PR author, contributors and assignees to Trello card members list. This affects also `trello-switch-members-in-review` and `trello-remove-unrelated-members` when turned off.\n\nDefault: `true`\n\n#### 3. `trello-switch-members-in-review`\n\nReplaces Trello card members with PR reviewers when PR is opened. It reassigns the PR author, contributors and assignees when the card is moved away from `trello-list-id-pr-open`.\n\nDefault: `false`\n\n#### 4. `trello-remove-unrelated-members`\n\nRemoves card members who are not authors, contributors or assignees of the PR.\n\nDefault: `true`\n\n#### 5. `trello-organization-name`\n\nYour organization name to avoid assigning cards to outside members. Edit your workspace details and look for the short name.\n\nExample:\n\n```yaml\ntrello-organization-name: remato\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eAssigning labels to Trello cards\u003c/summary\u003e\n\n#### 1. `trello-add-labels-to-cards`\n\nAssigns branch category (e.g. feature/foo) label to Trello card.\n\nDefault: `true`\n\n#### 2. `trello-add-manual-labels-to-cards`\n\nManually assigns labels to Trello card.\n\nExample:\n\n```yaml\ntrello-add-manual-labels-to-cards: 'v1;steve;urgent'\n```\n\n#### 3. `trello-conflicting-labels`\n\nWhen a card already has one of these labels then branch category label is not assigned.\n\nExample:\n\n```yaml\ntrello-conflicting-labels: 'feature;bug;chore'\n```\n\n\u003c/details\u003e\n\n## Advanced use cases\n\n\u003cdetails\u003e\n\u003csummary\u003eMove to different list depending on target branch\u003c/summary\u003e\n\nMap target branch names to Trello list IDs so cards move automatically to the right list. Use branch patterns (e.g. `release/*`, `hotfix/*`) to match multiple branches, and use `*` for fallback. [Learn more.](https://github.com/rematocorp/trello-integration-action/pull/140#issuecomment-2641019842)\n\n```yaml\ntrello-list-id-pr-closed: |-\n    release/*:65e9cd42133cce03db170000\n    *:65e9cd42133cce03db172222\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMove to different list according to Trello card's current board\u003c/summary\u003e\n\nSeparate list IDs with a semicolon to support multiple boards. [Learn more.](https://github.com/rematocorp/trello-integration-action/issues/68)\n\n```yaml\ntrello-list-id-pr-closed: 65e9cd42133cce03db170000;65e9cd42133cce03db172222\n```\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frematocorp%2Ftrello-integration-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frematocorp%2Ftrello-integration-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frematocorp%2Ftrello-integration-action/lists"}