1+ # Licensed to the Apache Software Foundation (ASF) under one
2+ # or more contributor license agreements. See the NOTICE file
3+ # distributed with this work for additional information
4+ # regarding copyright ownership. The ASF licenses this file
5+ # to you under the Apache License, Version 2.0 (the
6+ # "License"); you may not use this file except in compliance
7+ # with the License. You may obtain a copy of the License at
8+ #
9+ # http://www.apache.org/licenses/LICENSE-2.0
10+ #
11+ # Unless required by applicable law or agreed to in writing,
12+ # software distributed under the License is distributed on an
13+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+ # KIND, either express or implied. See the License for the
15+ # specific language governing permissions and limitations
16+ # under the License.
17+
18+ name : Assign the issue via a `take` comment
19+ on :
20+ issue_comment :
21+ types : created
22+
23+ permissions :
24+ issues : write
25+
26+ jobs :
27+ issue_assign :
28+ runs-on : ubuntu-latest
29+ if : (!github.event.issue.pull_request) && github.event.comment.body == 'take'
30+ concurrency :
31+ group : ${{ github.actor }}-issue-assign
32+ steps :
33+ - run : |
34+ CODE=$(curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -LI https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/assignees/${{ github.event.comment.user.login }} -o /dev/null -w '%{http_code}\n' -s)
35+ if [ "$CODE" -eq "204" ]
36+ then
37+ echo "Assigning issue ${{ github.event.issue.number }} to ${{ github.event.comment.user.login }}"
38+ curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -d '{"assignees": ["${{ github.event.comment.user.login }}"]}' https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/assignees
39+ else
40+ echo "Cannot assign issue ${{ github.event.issue.number }} to ${{ github.event.comment.user.login }}"
41+ fi
0 commit comments