Skip to content

Commit e11afed

Browse files
committed
ci: created local '.github/workflows/triage_pr.yml' from remote 'workflows/triage_pr.yml'
[skip ci]
1 parent e835536 commit e11afed

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

.github/workflows/triage_pr.yml

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Add PR to Board
2+
3+
on:
4+
pull_request_target:
5+
types: [opened, synchronize, ready_for_review, review_requested]
6+
7+
jobs:
8+
track_pr:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Get project data
12+
env:
13+
GITHUB_TOKEN: ${{ secrets.PAT }}
14+
run: |
15+
gh api graphql -f query='
16+
query {
17+
organization(login: "revoltchat"){
18+
projectV2(number: 5) {
19+
id
20+
fields(first:20) {
21+
nodes {
22+
... on ProjectV2SingleSelectField {
23+
id
24+
name
25+
options {
26+
id
27+
name
28+
}
29+
}
30+
}
31+
}
32+
}
33+
}
34+
}' > project_data.json
35+
36+
echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV
37+
echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV
38+
echo 'INCOMING_OPTION_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .options[] | select(.name=="🆕 Untriaged") |.id' project_data.json) >> $GITHUB_ENV
39+
40+
- name: Add PR to project
41+
env:
42+
GITHUB_TOKEN: ${{ secrets.PAT }}
43+
PR_ID: ${{ github.event.pull_request.node_id }}
44+
run: |
45+
item_id="$( gh api graphql -f query='
46+
mutation($project:ID!, $pr:ID!) {
47+
addProjectV2ItemById(input: {projectId: $project, contentId: $pr}) {
48+
item {
49+
id
50+
}
51+
}
52+
}' -f project=$PROJECT_ID -f pr=$PR_ID --jq '.data.addProjectV2ItemById.item.id')"
53+
54+
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
55+
56+
- name: Set fields
57+
env:
58+
GITHUB_TOKEN: ${{ secrets.PAT }}
59+
run: |
60+
gh api graphql -f query='
61+
mutation (
62+
$project: ID!
63+
$item: ID!
64+
$status_field: ID!
65+
$status_value: String!
66+
) {
67+
set_status: updateProjectV2ItemFieldValue(input: {
68+
projectId: $project
69+
itemId: $item
70+
fieldId: $status_field
71+
value: {
72+
singleSelectOptionId: $status_value
73+
}
74+
}) {
75+
projectV2Item {
76+
id
77+
}
78+
}
79+
}' -f project=$PROJECT_ID -f item=$ITEM_ID -f status_field=$STATUS_FIELD_ID -f status_value=${{ env.INCOMING_OPTION_ID }} --silent

0 commit comments

Comments
 (0)