diff --git a/.github/workflows/triage-move-labelled.yml b/.github/workflows/triage-move-labelled.yml new file mode 100644 index 0000000000..5f567e01ec --- /dev/null +++ b/.github/workflows/triage-move-labelled.yml @@ -0,0 +1,80 @@ +name: Move labelled issues to correct boards and columns + +on: + issues: + types: [labeled] + +jobs: + move_needs_info_issues: + name: Move X-Needs-Info issues to Need info on triage board + runs-on: ubuntu-latest + steps: + - uses: konradpabjan/move-labeled-or-milestoned-issue@219d384e03fa4b6460cd24f9f37d19eb033a4338 + with: + action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}" + project-url: "https://github.com/vector-im/element-android/projects/4" + column-name: "Need info" + label-name: "X-Needs-Info" + + add_priority_design_issues_to_project: + name: Move priority X-Needs-Design issues to Design project board + runs-on: ubuntu-latest + if: > + ${{ + contains(github.event.issue.labels.*.name, 'X-Needs-Design') && + (contains(github.event.issue.labels.*.name, 'O-Frequent') || + contains(github.event.issue.labels.*.name, 'O-Occasional')) && + (contains(github.event.issue.labels.*.name, 'S-Critical') || + contains(github.event.issue.labels.*.name, 'S-Major') || + contains(github.event.issue.labels.*.name, 'S-Minor')) }} + steps: + - uses: octokit/graphql-action@v2.x + id: add_to_project + with: + headers: '{"GraphQL-Features": "projects_next_graphql"}' + query: | + mutation add_to_project($projectid:String!,$contentid:String!) { + addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) { + projectNextItem { + id + } + } + } + projectid: ${{ env.PROJECT_ID }} + contentid: ${{ github.event.issue.node_id }} + env: + PROJECT_ID: "PN_kwDOAM0swc0sUA" + GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} + + move_spaces_issues: + name: Move Spaces issues to Delight project board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'A-Spaces') || + contains(github.event.issue.labels.*.name, 'A-Space-Settings') || + contains(github.event.issue.labels.*.name, 'A-Subspaces') + steps: + - uses: konradpabjan/move-labeled-or-milestoned-issue@219d384e03fa4b6460cd24f9f37d19eb033a4338 + with: + action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}" + project-url: "https://github.com/orgs/vector-im/projects/6" + column-name: "📥 Inbox" + label-name: "A-Spaces" + - uses: octokit/graphql-action@v2.x + id: add_to_delight2 + with: + headers: '{"GraphQL-Features": "projects_next_graphql"}' + query: | + mutation add_to_project($projectid:String!,$contentid:String!) { + addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) { + projectNextItem { + id + } + } + } + projectid: ${{ env.PROJECT_ID }} + contentid: ${{ github.event.issue.node_id }} + env: + PROJECT_ID: "PN_kwDOAM0swc1HvQ" + GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} + diff --git a/.github/workflows/triage-move-unlabelled.yml b/.github/workflows/triage-move-unlabelled.yml new file mode 100644 index 0000000000..94bd049b91 --- /dev/null +++ b/.github/workflows/triage-move-unlabelled.yml @@ -0,0 +1,35 @@ +name: Move unlabelled from needs info columns to triaged + +on: + issues: + types: [unlabeled] + +jobs: + Move_Unabeled_Issue_On_Project_Board: + name: Move no longer X-Needs-Info issues to Triaged + runs-on: ubuntu-latest + if: > + ${{ + !contains(github.event.issue.labels.*.name, 'X-Needs-Info') }} + env: + BOARD_NAME: "Issue triage" + OWNER: ${{ github.repository_owner }} + REPO: ${{ github.event.repository.name }} + ISSUE: ${{ github.event.issue.number }} + steps: + - name: Check if issue is already in "${{ env.BOARD_NAME }}" + run: | + if curl -i -H 'Content-Type: application/json' -H "Authorization: bearer ${{ secrets.GITHUB_TOKEN }}" -X POST -d '{"query": "query($issue: Int!, $owner: String!, $repo: String!) { repository(owner: $owner, name: $repo) { issue(number: $issue) { projectCards { nodes { project { name } } } } } } ", "variables" : "{ \"issue\": '${ISSUE}', \"owner\": \"'${OWNER}'\", \"repo\": \"'${REPO}'\" }" }' https://api.github.com/graphql | grep "\b$BOARD_NAME\b"; then + echo "Issue is already in Project '$BOARD_NAME', proceeding"; + echo "ALREADY_IN_BOARD=true" >> $GITHUB_ENV + else + echo "Issue is not in project '$BOARD_NAME', cancelling this workflow" + echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV + fi + - name: Move issue + uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488 + if: ${{ env.ALREADY_IN_BOARD == 'true' }} + with: + project: Issue triage + column: Triaged + repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }} diff --git a/.github/workflows/triage-needs-info.yml b/.github/workflows/triage-needs-info.yml deleted file mode 100644 index d334dbdf9f..0000000000 --- a/.github/workflows/triage-needs-info.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Move X-Needs-Info into Need info column in the Issue triage board - -on: - issues: - types: [labeled] - -jobs: - Move_Labeled_Issue_On_Project_Board: - runs-on: ubuntu-latest - steps: - - uses: konradpabjan/move-labeled-or-milestoned-issue@219d384e03fa4b6460cd24f9f37d19eb033a4338 - with: - action-token: ${{ secrets.GITHUB_TOKEN }} - project-url: "https://github.com/vector-im/element-android/projects/4" - column-name: "Need info" - label-name: "X-Needs-Info"