Repository navigation
Expand file tree
/
Copy pathissue.yml
More file actions
81 lines (72 loc) · 3.07 KB
/
Copy pathissue.yml
File metadata and controls
81 lines (72 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
name: New Issue Created
on:
issues:
types: [opened]
env:
GH_TOKEN: ${{ secrets.YOUR_TOKEN }} ## YOUR_TOKEN is a personal access token set as an action secret for your repository
ORGANIZATION: your-org-name ## Your organization name
PROJECT_NUMBER: project-number ## Your project (beta) number. You can find it in the project's URL.
REPO: name-of-repository ## The name of the repository your issues, branches and project are on
COLUMN_NAME: a-project-column-name ## The name of the project column you want to move the issue to
jobs:
Add-Linked-Issue-To-Project:
runs-on: ubuntu-latest
steps:
- name: Get Created Issue Number
run: |
echo "ISSUE_NUM=${{ github.event.issue.number }}" >> $GITHUB_ENV
echo "ISSUE_ID=${{ github.event.issue.node_id }}" >> $GITHUB_ENV
- name: Get Project Status Item ID
run: |
gh api graphql -f query='query{
organization(login: "${{ env.ORGANIZATION }}"){
projectV2(number: ${{ env.PROJECT_NUMBER }}) {
id
fields(first:20) {
nodes {
... on ProjectV2SingleSelectField {
id
name
options {
id
name
}
}
}
}
}
}
}' > project_data.json
echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV
echo 'TODO_OPTION_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .options[] | select(.name=="${{ env.COLUMN_NAME }}") |.id' project_data.json) >> $GITHUB_ENV
- name: Add Issue to Project(beta)
run: |
item_id="$( gh api graphql -f query='
mutation($project:ID!, $pr:ID!) {
addProjectV2ItemById(input: {projectId: $project, contentId: $pr}) {
item {
id
}
}
}' -f project=${{ env.PROJECT_ID}} -f pr=${{ env.ISSUE_ID}} --jq '.data.addProjectV2ItemById.item.id')"
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
- name: Move Issue Number ${{ env.ISSUE_NUM }} Into Todo
run: |
gh api graphql -f query='
mutation {
updateProjectV2ItemFieldValue(
input: {
projectId: ${{ env.PROJECT_ID }}
itemId: "${{ env.ITEM_ID }}"
fieldId: ${{ env.STATUS_FIELD_ID }}
value: {
singleSelectOptionId: ${{ env.TODO_OPTION_ID }}
}
}
) {
projectV2Item {
id
}
}
}'