166 lines
7.0 KiB
YAML
166 lines
7.0 KiB
YAML
name: Move labelled issues to correct projects
|
|
|
|
on:
|
|
issues:
|
|
types: [labeled]
|
|
workflow_call:
|
|
secrets:
|
|
ELEMENT_BOT_TOKEN:
|
|
required: true
|
|
|
|
jobs:
|
|
apply_Z-Labs_label:
|
|
name: Add Z-Labs label for features behind labs flags
|
|
runs-on: ubuntu-latest
|
|
if: >
|
|
contains(github.event.issue.labels.*.name, 'A-Maths') ||
|
|
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
|
|
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-latest
|
|
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-latest
|
|
steps:
|
|
- uses: konradpabjan/move-labeled-or-milestoned-issue@190352295fe309fcb113b49193bc81d9aaa9cb01
|
|
with:
|
|
action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}"
|
|
project-url: "https://github.com/orgs/element-hq/projects/120"
|
|
column-name: "Needs info"
|
|
label-name: "X-Needs-Info"
|
|
|
|
add_priority_design_issues_to_project:
|
|
name: P1 X-Needs-Design to Design project board
|
|
runs-on: ubuntu-latest
|
|
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-latest
|
|
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-latest
|
|
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-latest
|
|
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-latest
|
|
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-latest
|
|
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 }}
|
|
|
|
element_r:
|
|
name: Add Element R issues to Crypto Team board
|
|
runs-on: ubuntu-latest
|
|
if: >
|
|
contains(github.event.issue.labels.*.name, 'A-Element-R')
|
|
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: Workstream,module
|
|
field-values: Element-R,web
|
|
env:
|
|
PROJECT_URL: https://github.com/orgs/element-hq/projects/76
|