File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change
1
+ name : Update Request Status Label
2
+ on :
3
+ schedule :
4
+ # Run every 5 mins
5
+ - cron : " * * * * *"
6
+ workflow_dispatch :
7
+
8
+ permissions :
9
+ issues : write
10
+ contents : read
11
+
12
+ jobs :
13
+ update-request-status-label :
14
+ runs-on : self-hosted
15
+ steps :
16
+ - uses : actions/checkout@v4
17
+
18
+ - name : Update issues
19
+ run : |
20
+ export OS_CLOUD=BIO180006_IU # Select openstack auth settings defined in ".config/openstack/clouds.yaml"
21
+
22
+ source ~/venv/bin/activate
23
+
24
+ instance_prefix=${PREFIX:+${PREFIX}_}
25
+ instance_basename="${instance_prefix}instance"
26
+
27
+ openstack server list --name "^${instance_basename}-\d+" -f json | \
28
+ jq -r '.[] | [.Name, .Status] | @tsv' | \
29
+ while IFS=$'\t' read -r instance_name status; do
30
+ issue_number=${instance_name##*-}
31
+ status_lowercase=${status,,}
32
+
33
+ add_label="status:$status_lowercase"
34
+
35
+ remove_labels=$(gh issue view $issue_number --json labels \
36
+ --jq '[.labels[].name | select(test("^status:")?)] | join(",")')
37
+
38
+ echo "Updating issue $issue_number adding label [$add_label] and removing labels [$remove_labels]"
39
+
40
+ gh issue edit ${issue_number} --add-label "${add_label}" --remove-label "${remove_labels}"
41
+ done
42
+ env :
43
+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
44
+ GH_REPO : ${{ github.repository }}
45
+ PREFIX : ${{ vars.INSTANCE_NAME_PREFIX }}
You can’t perform that action at this time.
0 commit comments