11name : " Issue Labeler"
22on :
33 issues :
4- types : [opened]
4+ types : [opened, edited, reopened ]
55 pull_request_target :
6- types : [opened]
6+ types : [opened, synchronize, reopened ]
77
88permissions :
99 contents : read
1414 triage :
1515 runs-on : ubuntu-latest
1616 steps :
17- - name : Add agent-java label
18- uses : AlexanderWert/issue-labeler@32be4a3c3d8f009c2741af471994337c34b4cb6f # v2.3
19- with :
20- repo-token : " ${{ secrets.GITHUB_TOKEN }}"
21- configuration-path : .github/labeler-config.yml
22- enable-versioned-regex : 0
17+
2318 - name : Get token
2419 id : get_token
2520 uses : tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0
@@ -30,36 +25,82 @@ jobs:
3025 {
3126 "members": "read",
3227 "organization_projects": "write",
33- "issues": "read"
28+ "issues": "read",
29+ "pull_requests": "write"
3430 }
35- - name : Check team membership for user
36- 37- id : checkUserMember
31+
32+ - name : Add agent-java label
33+ run : gh issue edit "${NUMBER}" --add-label "agent-java" --repo "${{ github.repository }}"
34+ env :
35+ NUMBER : ${{ github.event.issue.number || github.event.pull_request.number }}
36+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
37+
38+ - id : is_elastic_member
39+ uses : elastic/oblt-actions/github/is-member-of@v1
3840 with :
39- username : ${{ github.actor }}
40- team : ' apm'
41- usernamesToExclude : |
42- apmmachine
43- dependabot
44- obltmachine
45- GITHUB_TOKEN : ${{ steps.get_token.outputs.token }}
46- - name : Show team membership
47- run : |
48- echo "::debug::isTeamMember: ${{ steps.checkUserMember.outputs.isTeamMember }}"
49- echo "::debug::isExcluded: ${{ steps.checkUserMember.outputs.isExcluded }}"
50- - name : Add community and triage lables
51- if : steps.checkUserMember.outputs.isTeamMember != 'true' && steps.checkUserMember.outputs.isExcluded != 'true'
52- uses : AlexanderWert/issue-labeler@32be4a3c3d8f009c2741af471994337c34b4cb6f # v2.3
41+ github-org : " elastic"
42+ github-user : ${{ github.actor }}
43+ github-token : ${{ steps.get_token.outputs.token }}
44+
45+ - id : user_type
46+ uses : elastic/oblt-actions/github/user-type@v1
5347 with :
54- repo-token : " ${{ secrets.GITHUB_TOKEN }}"
55- configuration-path : .github/community-label.yml
56- enable-versioned-regex : 0
48+ github-user : ${{ github.actor }}
49+ github-token : ${{ steps.get_token.outputs.token }}
50+
51+ - name : debug
52+ run : |
53+ echo "::notice:: is_elastic_member=${{ steps.is_elastic_member.outputs.result }}"
54+ echo "::notice:: user_type=${{ steps.user_type.outputs.result }}"
55+ echo "::notice:: github.actor=${{ github.actor }}"
56+ echo "::notice:: github.event_name=${{ github.event_name }}"
57+
58+ - name : Add community and triage labels
59+ if : steps.is_elastic_member.outputs.result == 'false' && steps.user_type.outputs.result == 'user'
60+ run : gh issue edit "${NUMBER}" --add-label "community,triage" --repo "${{ github.repository }}"
61+ env :
62+ NUMBER : ${{ github.event.issue.number || github.event.pull_request.number }}
63+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
64+
5765 - name : Assign new internal pull requests to project
58- 59- if : (steps.checkUserMember.outputs.isTeamMember == 'true' || steps.checkUserMember.outputs.isExcluded == 'true') && github.event.pull_request
66+ id : add-to-project
67+ if : steps.is_elastic_member.outputs.result == 'true' && github.event_name == 'pull_request_target'
68+ uses : elastic/oblt-actions/github/project-add@v1
6069 with :
61- project : ' https://github.com/orgs/elastic/projects/454'
62- project_id : ' 5882982'
63- column_name : ' In Progress'
64- env :
65- MY_GITHUB_TOKEN : ${{ steps.get_token.outputs.token }}
70+ github-token : ${{ steps.get_token.outputs.token }}
71+ project-id : 1829
72+ item-url : ${{ github.event.pull_request.html_url }}
73+
74+ - name : set status in project
75+ id : set-project-status-field
76+ if : steps.is_elastic_member.outputs.result == 'true' && github.event_name == 'pull_request_target'
77+ uses : elastic/oblt-actions/github/project-field-set@v1
78+ with :
79+ github-token : ${{ steps.get_token.outputs.token }}
80+ project-id : 1829
81+ item-id : ${{ steps.add-to-project.outputs.item-id }}
82+ field-name : ' Status'
83+ field-value : ' In Progress'
84+
85+ - name : set agent in project
86+ id : set-project-agent-field
87+ if : steps.is_elastic_member.outputs.result == 'true' && github.event_name == 'pull_request_target'
88+ uses : elastic/oblt-actions/github/project-field-set@v1
89+ with :
90+ github-token : ${{ steps.get_token.outputs.token }}
91+ project-id : 1829
92+ item-id : ${{ steps.add-to-project.outputs.item-id }}
93+ field-name : ' Agent'
94+ field-value : ' java'
95+
96+ - name : set iteration in project
97+ id : set-project-iteration-field
98+ if : steps.is_elastic_member.outputs.result == 'true' && github.event_name == 'pull_request_target'
99+ uses : elastic/oblt-actions/github/project-field-set@v1
100+ with :
101+ github-token : ${{ steps.get_token.outputs.token }}
102+ project-id : 1829
103+ item-id : ${{ steps.add-to-project.outputs.item-id }}
104+ field-name : ' Iteration'
105+ field-value : ' @current'
106+ field-type : ' iteration'
0 commit comments