1
1
name : " Issue Labeler"
2
2
on :
3
3
issues :
4
- types : [opened]
4
+ types : [opened, edited, reopened ]
5
5
pull_request_target :
6
- types : [opened]
6
+ types : [opened, synchronize, reopened ]
7
7
8
8
permissions :
9
9
contents : read
14
14
triage :
15
15
runs-on : ubuntu-latest
16
16
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
+
23
18
- name : Get token
24
19
id : get_token
25
20
uses : tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0
@@ -30,36 +25,82 @@ jobs:
30
25
{
31
26
"members": "read",
32
27
"organization_projects": "write",
33
- "issues": "read"
28
+ "issues": "read",
29
+ "pull_requests": "write"
34
30
}
35
- - name : Check team membership for user
36
- uses : elastic/get-user-teams-membership@1.1.0
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
38
40
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
53
47
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
+
57
65
- name : Assign new internal pull requests to project
58
- uses : elastic/assign-one-project-github-action@1.2.2
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
60
69
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