Skip to content
This repository was archived by the owner on Dec 21, 2024. It is now read-only.

Commit 32cc83a

Browse files
authored
GithubAPIの認証方式の変更へ対応 (#22)
* GithubAPIの認証方式の変更へ対応 * コードチェック時の確認・修正内容を横展開 * Android Studioでオートフォーマットを行ったら変更が発生したので反映 * 拡張正規表現のオプション追加
1 parent f5b2a62 commit 32cc83a

File tree

1 file changed

+115
-119
lines changed

1 file changed

+115
-119
lines changed

Diff for: .github/workflows/copy-issues.yml

+115-119
Original file line numberDiff line numberDiff line change
@@ -9,72 +9,72 @@ jobs:
99
outputs:
1010
labels: ${{ steps.output_label_data.outputs.value }}
1111
steps:
12-
- name: Getting Labels data
13-
id: get_label_data
14-
uses: octokit/[email protected].0
15-
with:
16-
route: GET /repos/yumemi-inc/android-engineer-codecheck/labels
17-
env:
18-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19-
- id: output_label_data
20-
run: |
21-
result=$(echo '${{ steps.get_label_data.outputs.data }}' | sed -z 's/\n//g')
22-
echo "::set-output name=value::${result}"
12+
- name: Getting Labels data
13+
id: get_label_data
14+
uses: octokit/[email protected].7
15+
with:
16+
route: GET /repos/yumemi-inc/android-engineer-codecheck/labels
17+
env:
18+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19+
- id: output_label_data
20+
run: |
21+
result=$(echo '${{ steps.get_label_data.outputs.data }}' | sed -z 's/\n//g')
22+
echo "value=${result}" >> $GITHUB_OUTPUT
2323
2424
create-issue-labels:
2525
needs: get-issue-labels
2626
runs-on: ubuntu-latest
2727
permissions:
2828
issues: write
2929
strategy:
30-
matrix:
30+
matrix:
3131
label: ${{ fromJson(needs.get-issue-labels.outputs.labels) }}
3232
steps:
33-
- name: Create a label
34-
uses: octokit/[email protected].0
35-
with:
36-
route: POST /repos/${{ github.repository }}/labels
37-
name: ${{ matrix.label.name }}
38-
color: ${{ matrix.label.color }}
39-
description: ${{ matrix.label.description }}
40-
env:
41-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42-
33+
- name: Create a label
34+
uses: octokit/[email protected].7
35+
with:
36+
route: POST /repos/${{ github.repository }}/labels
37+
name: ${{ matrix.label.name }}
38+
color: ${{ matrix.label.color }}
39+
description: ${{ matrix.label.description }}
40+
env:
41+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42+
4343
get-milestones:
4444
if: github.repository != 'yumemi-inc/android-engineer-codecheck'
4545
runs-on: ubuntu-latest
4646
outputs:
4747
milestones: ${{ steps.output_milestones_data.outputs.value }}
4848
steps:
49-
- name: Getting Milestones data
50-
id: get_milestones_data
51-
uses: octokit/[email protected].0
52-
with:
53-
route: GET /repos/yumemi-inc/android-engineer-codecheck/milestones
54-
env:
55-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56-
- id: output_milestones_data
57-
run: |
58-
result=$(echo '${{ steps.get_milestones_data.outputs.data }}' | sed -z 's/\n//g')
59-
echo "::set-output name=value::${result}"
49+
- name: Getting Milestones data
50+
id: get_milestones_data
51+
uses: octokit/[email protected].7
52+
with:
53+
route: GET /repos/yumemi-inc/android-engineer-codecheck/milestones
54+
env:
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
- id: output_milestones_data
57+
run: |
58+
result=$(echo '${{ steps.get_milestones_data.outputs.data }}' | sed -z 's/\n//g')
59+
echo "value=${result}" >> $GITHUB_OUTPUT
6060
6161
create-milestones:
6262
needs: get-milestones
6363
runs-on: ubuntu-latest
6464
permissions:
6565
issues: write
6666
strategy:
67-
matrix:
67+
matrix:
6868
milestone: ${{ fromJson(needs.get-milestones.outputs.milestones) }}
6969
steps:
70-
- name: Create a milestone
71-
uses: octokit/[email protected].0
72-
with:
73-
route: POST /repos/${{ github.repository }}/milestones
74-
title: ${{ matrix.milestone.title }}
75-
description: ${{ matrix.milestone.description }}
76-
env:
77-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70+
- name: Create a milestone
71+
uses: octokit/[email protected].7
72+
with:
73+
route: POST /repos/${{ github.repository }}/milestones
74+
title: ${{ matrix.milestone.title }}
75+
description: ${{ matrix.milestone.description }}
76+
env:
77+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7878

7979
get-myrepo-milestones:
8080
needs: create-milestones
@@ -84,38 +84,36 @@ jobs:
8484
outputs:
8585
milestones: ${{ steps.output_milestones_data.outputs.value }}
8686
steps:
87-
- name: Getting Milestones data
88-
id: get_milestones_data
89-
uses: octokit/[email protected]
90-
with:
91-
route: GET /repos/${{ github.repository }}/milestones
92-
env:
93-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
94-
- id: output_milestones_data
95-
run: |
96-
result=$(echo '${{ steps.get_milestones_data.outputs.data }}' | sed -z 's/\n/%0A/g' | sed -z 's/\r/%0D/g')
97-
echo "::set-output name=value::${result}"
98-
87+
- name: Getting Milestones data
88+
id: get_milestones_data
89+
uses: octokit/[email protected]
90+
with:
91+
route: GET /repos/${{ github.repository }}/milestones
92+
env:
93+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
94+
- id: output_milestones_data
95+
run: |
96+
result=$(echo '${{ steps.get_milestones_data.outputs.data }}' | sed -z 's/\n//g')
97+
echo "value=${result}" >> $GITHUB_OUTPUT
9998
get-issues:
10099
if: github.repository != 'yumemi-inc/android-engineer-codecheck'
101100
runs-on: ubuntu-latest
102101
outputs:
103102
issues: ${{ steps.output_issues_data.outputs.value }}
104103
steps:
105-
- name: Getting issues data
106-
id: get_issues_data
107-
uses: octokit/[email protected]
108-
with:
109-
route: GET /repos/yumemi-inc/android-engineer-codecheck/issues
110-
sort: created
111-
direction: asc
112-
env:
113-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
114-
- id: output_issues_data
115-
run: |
116-
result=$(echo '${{ steps.get_issues_data.outputs.data }}' | sed -z 's/\n/%0A/g' | sed -z 's/\r/%0D/g')
117-
echo "::set-output name=value::${result}"
118-
- run: echo -e '${{ steps.output_issues_data.outputs.value }}'
104+
- name: Getting issues data
105+
id: get_issues_data
106+
uses: octokit/[email protected]
107+
with:
108+
route: GET /repos/yumemi-inc/android-engineer-codecheck/issues
109+
sort: created
110+
direction: asc
111+
env:
112+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
113+
- id: output_issues_data
114+
run: |
115+
result=$(echo '${{ steps.get_issues_data.outputs.data }}' | jq -c '[.[] | select(has("milestone")) | select(.milestone != null)]')
116+
echo "value=${result}" >> $GITHUB_OUTPUT
119117
120118
get-myrepo-issues:
121119
if: github.repository != 'yumemi-inc/android-engineer-codecheck'
@@ -125,63 +123,61 @@ jobs:
125123
outputs:
126124
issues: ${{ steps.output_issues_data.outputs.value }}
127125
steps:
128-
- name: Getting issues data
129-
id: get_issues_data
130-
uses: octokit/[email protected]
131-
with:
132-
route: GET /repos/${{ github.repository }}/issues
133-
state: all
134-
per_page: 100
135-
env:
136-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
137-
- id: output_issues_data
138-
run: |
139-
result=$(echo '${{ steps.get_issues_data.outputs.data }}' | sed -z 's/\n/%0A/g' | sed -z 's/\r/%0D/g')
140-
echo "::set-output name=value::${result}"
141-
- run: echo -e '${{ steps.output_issues_data.outputs.value }}'
126+
- name: Getting issues data
127+
id: get_issues_data
128+
uses: octokit/[email protected]
129+
with:
130+
route: GET /repos/${{ github.repository }}/issues
131+
state: all
132+
per_page: 100
133+
env:
134+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
135+
- id: output_issues_data
136+
run: |
137+
result=$(echo '${{ steps.get_issues_data.outputs.data }}' | sed -z 's/\n//g')
138+
echo "value=${result}" >> $GITHUB_OUTPUT
142139
143140
create-issues:
144-
needs: [create-issue-labels, get-myrepo-milestones, get-issues, get-myrepo-issues]
141+
needs: [ create-issue-labels, get-myrepo-milestones, get-issues, get-myrepo-issues ]
145142
runs-on: ubuntu-latest
146143
permissions:
147144
issues: write
148145
strategy:
149146
max-parallel: 1
150-
matrix:
147+
matrix:
151148
issue: ${{ fromJson(needs.get-issues.outputs.issues) }}
152149
steps:
153-
- name: Find milestone
154-
id: find-milestone
155-
run: |
156-
milestones='${{ needs.get-myrepo-milestones.outputs.milestones }}'
157-
milestone_number=$(echo ${milestones} | jq '.[] | select (.title=="${{ matrix.issue.milestone.title }}") | .number' )
158-
echo "::set-output name=number::${milestone_number}"
159-
- name: Create a issue
160-
if: ${{ matrix.issue.pull_request == null }}
161-
run: |
162-
body=$(echo '${{ matrix.issue.body }}')
163-
body="${body//$'\n'/\\n}"
164-
body="${body//$'\r'/\\r}"
165-
166-
if [[ "$body" =~ '#'[0-9] ]]; then
167-
link=$(echo "$body" | grep -o "#[0-9]")
168-
num=$(echo $link | tr -d '#')
169-
170-
issues=$(echo '${{ needs.get-issues.outputs.issues }}' | jq '[ . as $d | keys[] | $d[.] + {index:.} ]')
171-
issue_index=$(echo "$issues" | jq ".[] | select (.number==${num}) | .index")
172-
my_issue_count=$(echo '${{ needs.get-myrepo-issues.outputs.issues }}' | jq '. | length')
173-
174-
num=$(($issue_index+$my_issue_count+1))
175-
body=$(echo $body | sed "s/$link/#${num}/g")
176-
fi
177-
178-
labels='${{ toJson(matrix.issue.labels.*.name) }}'
179-
curl -X POST -H "Accept: application/vnd.github.v3+json" \
180-
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
181-
https://api.github.com/repos/${{ github.repository }}/issues \
182-
-d "{
183-
\"title\" : \"${{ matrix.issue.title }}\",
184-
\"body\" : \"$body\",
185-
\"labels\" : ${labels},
186-
\"milestone\" : ${{ steps.find-milestone.outputs.number }}
187-
}"
150+
- name: Find milestone
151+
id: find-milestone
152+
run: |
153+
milestones='${{ needs.get-myrepo-milestones.outputs.milestones }}'
154+
milestone_number=$(echo ${milestones} | jq '.[] | select (.title=="${{ matrix.issue.milestone.title }}") | .number' )
155+
echo "number=${milestone_number}" >> $GITHUB_OUTPUT
156+
- name: Create a issue
157+
run: |
158+
body=$(echo '${{ matrix.issue.body }}')
159+
body="${body//$'\n'/\\n}"
160+
body="${body//$'\r'/\\r}"
161+
162+
if [[ "$body" =~ '#'[0-9] ]]; then
163+
link=$(echo "$body" | grep -o -E "#[0-9]+")
164+
num=$(echo $link | tr -d '#')
165+
166+
issues=$(echo '${{ needs.get-issues.outputs.issues }}' | jq '[ . as $d | keys[] | $d[.] + {index:.} ]')
167+
issue_index=$(echo "$issues" | jq ".[] | select (.number==${num}) | .index")
168+
my_issue_count=$(echo '${{ needs.get-myrepo-issues.outputs.issues }}' | jq '. | length')
169+
170+
num=$(($issue_index+$my_issue_count+1))
171+
body=$(echo $body | sed "s/$link/#${num}/g")
172+
fi
173+
174+
labels='${{ toJson(matrix.issue.labels.*.name) }}'
175+
curl -X POST -H "Accept: application/vnd.github.v3+json" \
176+
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
177+
https://api.github.com/repos/${{ github.repository }}/issues \
178+
-d "{
179+
\"title\" : \"${{ matrix.issue.title }}\",
180+
\"body\" : \"$body\",
181+
\"labels\" : ${labels},
182+
\"milestone\" : ${{ steps.find-milestone.outputs.number }}
183+
}"

0 commit comments

Comments
 (0)