name: Move labelled issues to correct projects on: issues: types: [labeled] workflow_call: secrets: ELEMENT_BOT_TOKEN: required: true permissions: {} # We use ELEMENT_BOT_TOKEN instead jobs: apply_Z-Labs_label: name: Add Z-Labs label for features behind labs flags runs-on: ubuntu-24.04 if: > contains(github.event.issue.labels.*.name, 'A-Maths') || contains(github.event.issue.labels.*.name, 'A-Location-Sharing') || contains(github.event.issue.labels.*.name, 'Z-IA') || contains(github.event.issue.labels.*.name, 'A-Jump-To-Date ') || contains(github.event.issue.labels.*.name, 'A-Themes-Custom') || contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') || contains(github.event.issue.labels.*.name, 'A-Tags') || contains(github.event.issue.labels.*.name, 'A-Video-Rooms') || contains(github.event.issue.labels.*.name, 'A-Message-Starring') || contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor') || contains(github.event.issue.labels.*.name, 'A-Element-Call') steps: - uses: actions/github-script@v7 with: script: | github.rest.issues.addLabels({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, labels: ['Z-Labs'] }) apply_Help-Wanted_label: name: Add "Help Wanted" label to all "good first issue" and Hacktoberfest runs-on: ubuntu-24.04 if: > contains(github.event.issue.labels.*.name, 'good first issue') || contains(github.event.issue.labels.*.name, 'Hacktoberfest') steps: - uses: actions/github-script@v7 with: script: | github.rest.issues.addLabels({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, labels: ['Help Wanted'] }) move_needs_info_issues: name: X-Needs-Info issues to Need info column on triage board runs-on: ubuntu-24.04 if: > contains(github.event.issue.labels.*.name, 'X-Needs-Info') steps: - id: add_to_project uses: actions/add-to-project@v1.0.2 with: project-url: ${{ env.PROJECT_URL }} github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} - id: set_fields uses: titoportas/update-project-fields@421a54430b3cdc9eefd8f14f9ce0142ab7678751 # v0.1.0 with: project-url: ${{ env.PROJECT_URL }} github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} item-id: ${{ steps.add_to_project.outputs.itemId }} # Use the item-id output of the previous step field-keys: Status field-values: "Needs info" env: PROJECT_URL: https://github.com/orgs/element-hq/projects/120 move_flakey_test_issues: name: Z-Flaky-Test issues to Sized for maintainer column on triage board runs-on: ubuntu-24.04 if: > contains(github.event.issue.labels.*.name, 'Z-Flaky-Test') steps: - id: add_to_project uses: actions/add-to-project@v1.0.2 with: project-url: ${{ env.PROJECT_URL }} github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} - id: set_fields uses: titoportas/update-project-fields@421a54430b3cdc9eefd8f14f9ce0142ab7678751 # v0.1.0 with: project-url: ${{ env.PROJECT_URL }} github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} item-id: ${{ steps.add_to_project.outputs.itemId }} # Use the item-id output of the previous step field-keys: Status field-values: "Sized for maintainer" env: PROJECT_URL: https://github.com/orgs/element-hq/projects/120 add_priority_design_issues_to_project: name: P1 X-Needs-Design to Design project board runs-on: ubuntu-24.04 if: > contains(github.event.issue.labels.*.name, 'X-Needs-Design') && (contains(github.event.issue.labels.*.name, 'S-Critical') && (contains(github.event.issue.labels.*.name, 'O-Frequent') || contains(github.event.issue.labels.*.name, 'O-Occasional')) || contains(github.event.issue.labels.*.name, 'S-Major') && contains(github.event.issue.labels.*.name, 'O-Frequent') || contains(github.event.issue.labels.*.name, 'A11y')) steps: - uses: actions/add-to-project@main with: project-url: https://github.com/orgs/element-hq/projects/18 github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} add_product_issues: name: X-Needs-Product to product project board runs-on: ubuntu-24.04 if: > contains(github.event.issue.labels.*.name, 'X-Needs-Product') steps: - uses: actions/add-to-project@main with: project-url: https://github.com/orgs/element-hq/projects/28 github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} Search_issues_to_board: name: Search issues to project board runs-on: ubuntu-24.04 if: > contains(github.event.issue.labels.*.name, 'A-New-Search-Experience') steps: - uses: actions/add-to-project@main with: project-url: https://github.com/orgs/element-hq/projects/48 github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} voip: name: Add labelled issues to VoIP project board runs-on: ubuntu-24.04 if: > contains(github.event.issue.labels.*.name, 'Team: VoIP') steps: - uses: actions/add-to-project@main with: project-url: https://github.com/orgs/element-hq/projects/41 github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} verticals_feature: name: Add labelled issues to Verticals Feature project runs-on: ubuntu-24.04 if: > contains(github.event.issue.labels.*.name, 'Team: Verticals Feature') steps: - uses: actions/add-to-project@main with: project-url: https://github.com/orgs/element-hq/projects/57 github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} tech_debt: name: Add labelled issues to tech debt project runs-on: ubuntu-24.04 if: > contains(github.event.issue.labels.*.name, 'A-Developer-Experience') || contains(github.event.issue.labels.*.name, 'A-Documentation') || contains(github.event.issue.labels.*.name, 'A-Packaging') || contains(github.event.issue.labels.*.name, 'A-Technical-Debt') || contains(github.event.issue.labels.*.name, 'A-Testing') || contains(github.event.issue.labels.*.name, 'Z-Flaky-Test') steps: - uses: actions/add-to-project@main with: project-url: https://github.com/orgs/element-hq/projects/101 github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}