Skip to content

fix: LEAP-208: Make Labeling Settings clickable #5131

fix: LEAP-208: Make Labeling Settings clickable

fix: LEAP-208: Make Labeling Settings clickable #5131

Workflow file for this run

name: "PR labeler"
on:
pull_request_target:
types:
- opened
- edited
- reopened
- synchronize
- ready_for_review
branches:
- master
- develop
- 'release/**'
- 'lse-release/**'
- 'ls-release/**'
env:
ACTIONS_STEP_DEBUG: '${{ secrets.ACTIONS_STEP_DEBUG }}'
jobs:
autolabel:
name: "PR label validator"
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: hmarr/[email protected]
- name: "Validate PR's title"
uses: thehanimo/[email protected]
with:
GITHUB_TOKEN: ${{ github.token }}
pass_on_octokit_error: false
configuration_path: ".github/pr-title-checker-config.json"
- name: "Set PR's label based on title"
uses: release-drafter/[email protected]
with:
disable-releaser: true
config-name: autolabeler.yml
env:
GITHUB_TOKEN: ${{ github.token }}
release_field:
name: "Set Aha! Releases field"
runs-on: ubuntu-latest
steps:
- uses: hmarr/[email protected]
- name: Set field
shell: bash
env:
COMMIT_MESSAGE: ${{ github.event.pull_request.title }}
AHA_SERVER: "https://labelstudio.aha.io"
AHA_TOKEN: "${{ secrets.AHA_TOKEN }}"
AHA_RELEASES_FIELD: releases
TAGS: '["oss"]'
run: |
set -euo pipefail ${ACTIONS_STEP_DEBUG:+-x}
regex="([a-zA-Z]+):[[:space:]]*([a-zA-Z0-9-]+)?:"
if [[ $COMMIT_MESSAGE =~ $regex ]]; then
export TICKET="${BASH_REMATCH[2]}"
if curl -fsSL \
--request GET \
--url "${AHA_SERVER}/api/v1/features/${TICKET}" \
--header "Authorization: Bearer ${AHA_TOKEN}" \
--header 'Accept: application/json'; then
cur_tags=$(curl -sSL \
--request GET \
--url "${AHA_SERVER}/api/v1/features/${TICKET}" \
--header "Authorization: Bearer ${AHA_TOKEN}" \
--header "Content-Type: application/json" \
--header 'Accept: application/json' |
jq -ecr '[ .feature.custom_fields[] | select(.key=="releases") | .value ]')
echo "Current tags: ${cur_tags}"
new_tags=$(jq -ecr ". += ${TAGS} | flatten | unique" <<< $cur_tags)
echo "New tags: ${new_tags}"
curl -sSL \
--request PUT \
--url "${AHA_SERVER}/api/v1/features/${TICKET}" \
--data "{\"feature\":{\"custom_fields\":{\"releases\":${new_tags}}}}" \
--header "Authorization: Bearer ${AHA_TOKEN}" \
--header "Content-Type: application/json" \
--header 'Accept: application/json'
elif curl -fsSL \
--request GET \
--url "${AHA_SERVER}/api/v1/requirements/${TICKET}" \
--header "Authorization: Bearer ${AHA_TOKEN}" \
--header 'Accept: application/json'; then
cur_tags=$(curl -sSL \
--request GET \
--url "${AHA_SERVER}/api/v1/requirements/${TICKET}" \
--header "Authorization: Bearer ${AHA_TOKEN}" \
--header "Content-Type: application/json" \
--header 'Accept: application/json' |
jq -ecr '[ .requirement.custom_fields[] | select(.key=="releases") | .value ]')
echo "Current tags: ${cur_tags}"
new_tags=$(jq -ecr ". += ${TAGS} | flatten | unique" <<< $cur_tags)
echo "New tags: ${new_tags}"
curl -sSL \
--request PUT \
--url "${AHA_SERVER}/api/v1/requirements/${TICKET}" \
--data "{\"requirement\":{\"custom_fields\":{\"releases\":${new_tags}}}}" \
--header "Authorization: Bearer ${AHA_TOKEN}" \
--header "Content-Type: application/json" \
--header 'Accept: application/json'
fi
fi