From 95f9bbab4c03da957e53221f0a850cce86104859 Mon Sep 17 00:00:00 2001 From: Anahide Tchertchian <608958+atchertchian@users.noreply.github.com> Date: Tue, 3 Dec 2024 20:23:42 +0100 Subject: [PATCH 1/4] AAE-28530 Teams notifications improvements - move to adaptative cards for send-teams-notification-action: unused input "overwrite" was removed - add markdown message support for teams usage from reportportal-summarize --- .../actions/reportportal-summarize/action.yml | 12 + .../get-teams-message.sh | 34 +++ .../tests/get-teams-message.bats | 92 ++++++ .../send-teams-notification/action.yml | 285 ++++++++++++++---- .../compute-message.sh | 37 +++ docs/README.md | 49 +-- docs/images/send-teams-pr-success.png | Bin 0 -> 38554 bytes docs/images/send-teams-push-failure.png | Bin 0 -> 33367 bytes docs/images/send-teams-push-success.png | Bin 0 -> 36585 bytes docs/images/teams-failure.png | Bin 35161 -> 0 bytes docs/images/teams-success.png | Bin 38032 -> 0 bytes version.txt | 2 +- 12 files changed, 416 insertions(+), 95 deletions(-) create mode 100755 .github/actions/reportportal-summarize/get-teams-message.sh create mode 100644 .github/actions/reportportal-summarize/tests/get-teams-message.bats create mode 100755 .github/actions/send-teams-notification/compute-message.sh create mode 100644 docs/images/send-teams-pr-success.png create mode 100644 docs/images/send-teams-push-failure.png create mode 100644 docs/images/send-teams-push-success.png delete mode 100644 docs/images/teams-failure.png delete mode 100644 docs/images/teams-success.png diff --git a/.github/actions/reportportal-summarize/action.yml b/.github/actions/reportportal-summarize/action.yml index 10f8360ac..54d2fc437 100644 --- a/.github/actions/reportportal-summarize/action.yml +++ b/.github/actions/reportportal-summarize/action.yml @@ -23,6 +23,9 @@ outputs: slack-message: description: Outcome message for slack value: ${{ steps.slack-message.outputs.message }} + teams-message: + description: Outcome message for teams + value: ${{ steps.teams-message.outputs.message }} runs: using: composite @@ -54,3 +57,12 @@ runs: RP_CONTENT: ${{ steps.rp-output.outputs.content }} RP_LAUNCH_URL: ${{ steps.rp-output.outputs.url }} run: ${{ github.action_path }}/get-slack-message.sh + + - name: Compute Teams message + id: teams-message + shell: bash + env: + RP_LAUNCH_KEY: ${{ inputs.rp-launch-key }} + RP_CONTENT: ${{ steps.rp-output.outputs.content }} + RP_LAUNCH_URL: ${{ steps.rp-output.outputs.url }} + run: ${{ github.action_path }}/get-teams-message.sh diff --git a/.github/actions/reportportal-summarize/get-teams-message.sh b/.github/actions/reportportal-summarize/get-teams-message.sh new file mode 100755 index 000000000..d0b7fd83e --- /dev/null +++ b/.github/actions/reportportal-summarize/get-teams-message.sh @@ -0,0 +1,34 @@ +#!/bin/bash -e + +if [[ -n "$RP_LAUNCH_KEY" ]]; then + + NB=$(echo "$RP_CONTENT" | jq -r '.page.totalElements // "0"') + if [[ "$NB" == "0" || -z "$NB" ]]; then + MSG+="No report found for key "'`'"$RP_LAUNCH_KEY"'`'"." + MSG+="\n\nSee [latest reports]($RP_LAUNCH_URL)." + elif [ "$NB" == "1" ]; then + RP_LAUNCH_ID=$(echo "$RP_CONTENT" | jq -r '.content[0].id // empty') + STATUS=$(echo "$RP_CONTENT" | jq -r '.content[0].status // empty') + [[ "$STATUS" == 'PASSED' ]] && ICON="✅" || ICON="❌" + MSG+="See [report]($RP_LAUNCH_URL/$RP_LAUNCH_ID) $ICON" + else + MSG+="$NB reports found for key "'`'"$RP_LAUNCH_KEY"'`'"." + while read -r id ; do + read -r number + read -r status + case $status in + PASSED) + sstatus="✅" ;; + FAILED) + sstatus="❌" + ;; + *) + sstatus="$status" + ;; + esac + MSG+="\n\n[Report #$number]($RP_LAUNCH_URL/$id) $sstatus" + done < <(echo "$RP_CONTENT" | jq -r '.content[] | .id, .number, .status') + fi +fi + +echo "message=$MSG" >> $GITHUB_OUTPUT diff --git a/.github/actions/reportportal-summarize/tests/get-teams-message.bats b/.github/actions/reportportal-summarize/tests/get-teams-message.bats new file mode 100644 index 000000000..8c4dd8eeb --- /dev/null +++ b/.github/actions/reportportal-summarize/tests/get-teams-message.bats @@ -0,0 +1,92 @@ +setup() { + # Runs everywhere + DIR="$( cd "$( dirname "$BATS_TEST_FILENAME" )" >/dev/null 2>&1 && pwd )" + PATH="$DIR/..:$PATH" + + export GITHUB_OUTPUT="$BATS_TMPDIR"/test-get-teams-message_ghoutput_"$RANDOM"'.log' + > $GITHUB_OUTPUT + + export RP_LAUNCH_KEY=my-tests-push-3665876492 + export RP_TOKEN=tok + export RP_URL=https://rpserver:8080 + + export RP_CONTENT="" + export RP_LAUNCH_URL=https://rpserver:8080/ui/#my-project/launches/all + + export NO_MESSAGE="message=" + export KEY_NO_REPORT="message=No report found for key \`my-tests-push-3665876492\`.\n\nSee [latest reports](https://rpserver:8080/ui/#my-project/launches/all)." + export SINGLE_REPORT="message=See [report](https://rpserver:8080/ui/#my-project/launches/all/88) ✅" + export MULTIPLE_REPORTS=$(cat << BATS +message=3 reports found for key \`my-tests-push-3665876492\`.\n\n[Report #3](https://rpserver:8080/ui/#my-project/launches/all/91) ❌\n\n[Report #2](https://rpserver:8080/ui/#my-project/launches/all/90) WHATEVER_STATUS\n\n[Report #1](https://rpserver:8080/ui/#my-project/launches/all/89) ✅ +BATS +) +} + +teardown() { + rm -f $GITHUB_OUTPUT +} + +@test "teams message rp disabled" { + export RP_LAUNCH_KEY="" + run get-teams-message.sh + [ "$status" -eq 0 ] + echo "$(< $GITHUB_OUTPUT)" + [ "$(< $GITHUB_OUTPUT)" = "$NO_MESSAGE" ] +} + +@test "teams message no launch id" { + run get-teams-message.sh + [ "$status" -eq 0 ] + echo "$(< $GITHUB_OUTPUT)" + [ "$(< $GITHUB_OUTPUT)" = "$KEY_NO_REPORT" ] +} + +@test "teams message single" { + export RP_CONTENT="$(< $BATS_TEST_DIRNAME/sample-launch.json)" + run get-teams-message.sh + [ "$status" -eq 0 ] + echo "$(< $GITHUB_OUTPUT)" + [ "$(< $GITHUB_OUTPUT)" = "$SINGLE_REPORT" ] +} + +@test "teams message multiple" { + export RP_CONTENT="$(< $BATS_TEST_DIRNAME/sample-launches.json)" + run get-teams-message.sh + [ "$status" -eq 0 ] + echo "$(< $GITHUB_OUTPUT)" + [ "$(< $GITHUB_OUTPUT)" = "$MULTIPLE_REPORTS" ] +} + +@test "teams message rp failure no results" { + run get-teams-message.sh + [ "$status" -eq 0 ] + echo "$(< $GITHUB_OUTPUT)" + [ "$(< $GITHUB_OUTPUT)" = "$KEY_NO_REPORT" ] +} + +@test "teams message rp failure no results empty json" { + export RP_CONTENT="{}" + run get-teams-message.sh + [ "$status" -eq 0 ] + echo "$(< $GITHUB_OUTPUT)" + [ "$(< $GITHUB_OUTPUT)" = "$KEY_NO_REPORT" ] +} + +@test "teams message rp success no results" { + export OUTCOME="success" + export RP_CONTENT="$(< $BATS_TEST_DIRNAME/empty-launch.json)" + run get-teams-message.sh + [ "$status" -eq 0 ] + echo "$(< $GITHUB_OUTPUT)" + [ "$(< $GITHUB_OUTPUT)" = "$KEY_NO_REPORT" ] +} + +@test "teams message rp failure no results empty json no launch key" { + export RP_LAUNCH_KEY="" + export RP_CONTENT="{}" + run get-teams-message.sh + [ "$status" -eq 0 ] + echo "$(< $GITHUB_OUTPUT)" + [ "$(< $GITHUB_OUTPUT)" = "$NO_MESSAGE" ] + +} diff --git a/.github/actions/send-teams-notification/action.yml b/.github/actions/send-teams-notification/action.yml index f83cda119..9b661779b 100644 --- a/.github/actions/send-teams-notification/action.yml +++ b/.github/actions/send-teams-notification/action.yml @@ -4,70 +4,251 @@ inputs: webhook-url: description: Microsoft Teams Incoming Webhooks URL required: true + title: + description: 'Text to show as message title' + required: false + message: + description: An optional message that overrides the default one + required: false + append: + description: Whether the optional message should be added after the default one + required: false + default: "false" needs: - description: JSON parsed needs context + description: 'JSON parsed needs context' required: false - default: "" + default: '{}' dry-run: description: Do not actually send the message required: false default: 'false' - raw: - description: JSON object to send to Microsoft Teams - required: false - default: "" - overwrite: - description: JSON like object to overwrite default message - required: false - default: >- - { - title: `${{github.actor}} initialized ${{ github.event_name}} event on ${{ github.repository }} of branch ${{ github.ref_name}}`, - "potentialAction": [ - { - "@type": "OpenUri", - "name": "Repository", - "targets": [ - { - "os": "default", - "uri": "${{ github.server_url }}/${{ github.repository }}" - } - ] - }, - { - "@type": "OpenUri", - "name": "Build URL", - "targets": [ - { - "os": "default", - "uri": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" - } - ] - }, - { - "@type": "OpenUri", - "name": "Compare", - "targets": [ - { - "os": "default", - "uri": "${{ github.event.compare }}" - } - ] - } - ] - } + runs: using: composite steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - name: Check workflow status + + - name: Compute workflow status + id: compute-workflow-status uses: martialonline/workflow-status@fe13c6a4716673e224038aa1b02387352fb35e13 # v4 - id: workflow_status_check + + - name: Compute color + shell: bash + id: compute-color + env: + STATUS: ${{ steps.compute-workflow-status.outputs.status }} + run: | + COLOR=808080 + case $STATUS in + success) + COLOR=36A64F + ;; + failure) + COLOR=A30200 + ;; + esac + echo "result=$COLOR" >> $GITHUB_OUTPUT + + - name: Compute small sha + id: compute-small-sha + shell: bash + env: + GITHUB_LONG_SHA: ${{ github.sha }} + run: | + SMALL_SHA=${GITHUB_LONG_SHA:0:6} + echo "result=$SMALL_SHA" >> $GITHUB_OUTPUT + + - name: Compute message + id: compute-message + shell: bash + env: + EVENT_NAME: ${{ github.event_name }} + BLOCK_MESSAGE: ${{ inputs.message }} + APPEND: ${{ inputs.append }} + PR_TITLE: ${{ github.event.pull_request.title }} + ISSUE_BODY: ${{ github.event.issue.body }} + COMMIT_MESSAGE: ${{ github.event.head_commit.message }} + run: | + ${{ github.action_path }}/compute-message.sh >> $GITHUB_OUTPUT + + - name: Compute event + id: compute-event + shell: bash + env: + EVENT_NAME: ${{ github.event_name }} + REPO_URL: ${{ github.server_url }}/${{ github.repository }} + PR_NUMBER: ${{ github.event.pull_request.number }} + SHA: ${{ github.sha }} + run: | + RESULT="$EVENT_NAME" + if [[ "$EVENT_NAME" == 'pull_request' ]]; then + RESULT="[$EVENT_NAME #$PR_NUMBER]($REPO_URL/pull/$PR_NUMBER)" + elif [[ "$EVENT_NAME" == 'push' ]]; then + RESULT="[$EVENT_NAME]($REPO_URL/commit/$SHA/checks)" + fi + echo "result=$RESULT" >> $GITHUB_OUTPUT + + - name: Compute run link + id: compute-run-link + shell: bash + env: + REPO_URL: ${{ github.server_url }}/${{ github.repository }} + WORKFLOW: ${{ github.workflow }} + run: | + RESULT="$REPO_URL/actions/runs/$GITHUB_RUN_ID/attempts/$GITHUB_RUN_ATTEMPT" + echo "result=$RESULT" >> $GITHUB_OUTPUT + + - name: Compute workflow title + id: compute-workflow-title + shell: bash + run: | + RESULT="$GITHUB_WORKFLOW" + if [[ "$GITHUB_RUN_ATTEMPT" != '1' ]]; then + RESULT+=" (attempt #$GITHUB_RUN_ATTEMPT)" + fi + echo "result=$RESULT" >> $GITHUB_OUTPUT + + - name: Get branch name + uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@v8.4.0 + - name: Send teams notification - uses: skitionek/notify-microsoft-teams@9c67757f64d610fb6748d8ff3c11f284355ed7ec # v1.0.8 + uses: skitionek/notify-microsoft-teams@190d4d92146df11f854709774a4dae6eaf5e2aa3 # master + env: + ACTOR_URL: ${{ github.server_url }}/${{ github.triggering_actor }} + REPO_URL: ${{ github.server_url }}/${{ github.repository }} + SMALL_SHA: ${{ steps.compute-small-sha.outputs.result }} + MESSAGE_OUTPUT: ${{ steps.compute-message.outputs.result }} + RUN_LINK: ${{ steps.compute-run-link.outputs.result }} + WORKFLOW_TITLE: ${{ steps.compute-workflow-title.outputs.result }} + COLOR: ${{ steps.compute-color.outputs.result }} + TITLE: "Notification on ${{ steps.compute-event.outputs.result }} on branch [`${{ env.BRANCH_NAME }}`](${{ env.REPO_URL }}/tree/${{ env.BRANCH_NAME }})" with: webhook_url: ${{ inputs.webhook-url }} - job: ${{ toJSON(steps.workflow_status_check.outputs) }} - needs: ${{ inputs.needs }} + job: "{}" + steps: "{}" + needs: "{}" dry_run: ${{ inputs.dry-run }} - overwrite: ${{ inputs.overwrite }} - raw: ${{ inputs.raw }} + raw: >- + { + "type": "message", + "attachments": [ + { + "contentType": "application/vnd.microsoft.card.adaptive", + "content": { + "type": "AdaptiveCard", + "body": [ + { + "type": "TextBlock", + "size": "medium", + "weight": "bolder", + "text": "${{ inputs.title || env.TITLE }}", + "style": "heading", + "wrap": true + }, + { + "type": "ColumnSet", + "columns": [ + { + "type": "Column", + "items": [ + { + "type": "Image", + "style": "person", + "url": "${{ env.ACTOR_URL }}.png?size=32", + "altText": "${{ github.triggering_actor }}", + "size": "small" + } + ], + "width": "auto" + }, + { + "type": "Column", + "items": [ + { + "type": "TextBlock", + "text": "[${{ github.triggering_actor }}](${{ env.ACTOR_URL }})" + } + ] + }, + { + "type": "Column", + "items": [ + { + "type": "Image", + "style": "person", + "url": "https://slack.github.com/static/img/favicon-neutral.png", + "altText": "GitHub", + "size": "small" + } + ], + "width": "auto" + }, + { + "type": "Column", + "items": [ + { + "type": "TextBlock", + "text": "[${{ github.repository }}](${{ env.REPO_URL }})" + } + ] + } + ] + }, + { + "type": "ColumnSet", + "columns": [ + { + "type": "Column", + "items": [ + { + "type": "TextBlock", + "text": "**Action**: [${{ env.WORKFLOW_TITLE }}](${{ env.RUN_LINK }})" + } + ] + }, + { + "type": "Column", + "items": [ + { + "type": "TextBlock", + "text": "**Commit**: [`${{ env.SMALL_SHA }}`](${{ env.REPO_URL }}/commit/${{ github.sha }})" + } + ] + } + ] + }, + { + "type": "ColumnSet", + "columns": [ + { + "type": "Column", + "items": [ + { + "type": "TextBlock", + "text": "**Message**" + }, + { + "type": "TextBlock", + "text": "${{ env.MESSAGE_OUTPUT }} " + } + ] + } + ] + } + ], + "backgroundImage": { + "url": "https://singlecolorimage.com/get/${{ env.COLOR }}/2x2", + "fillMode": "RepeatHorizontally" + }, + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "version": "1.5", + "msteams": { + "width": "full", + "entities": [ + {} + ] + } + } + } + ] + } diff --git a/.github/actions/send-teams-notification/compute-message.sh b/.github/actions/send-teams-notification/compute-message.sh new file mode 100755 index 000000000..dc6ef3b7b --- /dev/null +++ b/.github/actions/send-teams-notification/compute-message.sh @@ -0,0 +1,37 @@ +#!/bin/bash -e + +COMPUTED_MESSAGE="" + +if [[ -n "$BLOCK_MESSAGE" && "$APPEND" == 'true' ]] || [ -z "$BLOCK_MESSAGE" ]; then + case $EVENT_NAME in + pull_request) + COMPUTED_MESSAGE="$PR_TITLE" + ;; + issues) + COMPUTED_MESSAGE="$ISSUE_BODY" + ;; + *) + COMPUTED_MESSAGE="$COMMIT_MESSAGE" + ;; + esac +fi + +if [ -n "$BLOCK_MESSAGE" ]; then + if [[ "$APPEND" == 'true' && -n "$COMPUTED_MESSAGE" ]]; then + COMPUTED_MESSAGE="${COMPUTED_MESSAGE}\n\n" + fi + COMPUTED_MESSAGE="${COMPUTED_MESSAGE}$BLOCK_MESSAGE" +fi + +if [ -n "$COMPUTED_MESSAGE" ]; then + COMPUTED_MESSAGE="${COMPUTED_MESSAGE}" + COMPUTED_MESSAGE=$(printf "${COMPUTED_MESSAGE}" | sed -z 's/\n/\\n/g' | sed -r 's/"/\\\"/g' | sed -e 's/\r//g') + # avoid error if message is too long (total message must be less than 3001 characters) + COMPUTED_MESSAGE=${COMPUTED_MESSAGE:0:3000} + echo 'result<9AHw+=o&^>fF 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%0DedGXxdn5UFc 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 B4gLTC literal 0 HcmV?d00001 diff --git a/docs/images/send-teams-push-failure.png b/docs/images/send-teams-push-failure.png new file mode 100644 index 0000000000000000000000000000000000000000..b7d3d17600be03d0c688b2ce5982acc0b390eb4f GIT binary patch literal 33367 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 literal 0 HcmV?d00001 diff --git a/docs/images/send-teams-push-success.png b/docs/images/send-teams-push-success.png new file mode 100644 index 0000000000000000000000000000000000000000..d4528c8a39aca4c667ce3e9cd82a0dc1ada6ecb2 GIT binary patch literal 36585 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 diff --git a/docs/images/teams-success.png b/docs/images/teams-success.png deleted file mode 100644 index e2352567ab4f3fad3a3ddad25215fac15fdd61ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38032 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 Mq55aub(5$61BGDBx&QzG diff --git a/version.txt b/version.txt index 33edba2d0..684f62b80 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -v8.4.0 +v8.5.0 From 069e382d63bca56255bac87411158a6a086c13c4 Mon Sep 17 00:00:00 2001 From: Anahide Tchertchian <608958+atchertchian@users.noreply.github.com> Date: Thu, 5 Dec 2024 08:57:46 +0100 Subject: [PATCH 2/4] handle needs --- .github/actions/send-teams-notification/action.yml | 10 ++++++++++ .../actions/send-teams-notification/compute-message.sh | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/.github/actions/send-teams-notification/action.yml b/.github/actions/send-teams-notification/action.yml index 9b661779b..12530cf79 100644 --- a/.github/actions/send-teams-notification/action.yml +++ b/.github/actions/send-teams-notification/action.yml @@ -58,6 +58,15 @@ runs: SMALL_SHA=${GITHUB_LONG_SHA:0:6} echo "result=$SMALL_SHA" >> $GITHUB_OUTPUT + - name: Compute needs + id: compute-needs + shell: bash + env: + NEEDS: ${{ inputs.needs }} + run: | + NEEDS_OUTPUT=$(echo $NEEDS | jq -r 'to_entries[] | "\(.key): \(.value.result)"') + echo "result=$NEEDS_OUTPUT" >> $GITHUB_OUTPUT + - name: Compute message id: compute-message shell: bash @@ -68,6 +77,7 @@ runs: PR_TITLE: ${{ github.event.pull_request.title }} ISSUE_BODY: ${{ github.event.issue.body }} COMMIT_MESSAGE: ${{ github.event.head_commit.message }} + NEEDS: ${{ steps.compute-needs.outputs.result }} run: | ${{ github.action_path }}/compute-message.sh >> $GITHUB_OUTPUT diff --git a/.github/actions/send-teams-notification/compute-message.sh b/.github/actions/send-teams-notification/compute-message.sh index dc6ef3b7b..4c573cc4b 100755 --- a/.github/actions/send-teams-notification/compute-message.sh +++ b/.github/actions/send-teams-notification/compute-message.sh @@ -23,6 +23,10 @@ if [ -n "$BLOCK_MESSAGE" ]; then COMPUTED_MESSAGE="${COMPUTED_MESSAGE}$BLOCK_MESSAGE" fi +if [ -n "$NEEDS" ]; then + COMPUTED_MESSAGE="${COMPUTED_MESSAGE}\n\n$NEEDS" +fi + if [ -n "$COMPUTED_MESSAGE" ]; then COMPUTED_MESSAGE="${COMPUTED_MESSAGE}" COMPUTED_MESSAGE=$(printf "${COMPUTED_MESSAGE}" | sed -z 's/\n/\\n/g' | sed -r 's/"/\\\"/g' | sed -e 's/\r//g') From 91e27299d3cf89676b86f46795c1d1092622a824 Mon Sep 17 00:00:00 2001 From: Anahide Tchertchian <608958+atchertchian@users.noreply.github.com> Date: Thu, 5 Dec 2024 09:21:54 +0100 Subject: [PATCH 3/4] add tests --- .../compute-message.sh | 14 +- .../tests/sample-commit-message.txt | 5 + .../tests/sample-long-message-cut.txt | 1 + .../tests/sample-long-message.txt | 29 ++ .../tests/sample-needs.json | 10 + .../tests/send-teams-notification.bats | 278 ++++++++++++++++++ 6 files changed, 330 insertions(+), 7 deletions(-) create mode 100644 .github/actions/send-teams-notification/tests/sample-commit-message.txt create mode 100644 .github/actions/send-teams-notification/tests/sample-long-message-cut.txt create mode 100644 .github/actions/send-teams-notification/tests/sample-long-message.txt create mode 100644 .github/actions/send-teams-notification/tests/sample-needs.json create mode 100644 .github/actions/send-teams-notification/tests/send-teams-notification.bats diff --git a/.github/actions/send-teams-notification/compute-message.sh b/.github/actions/send-teams-notification/compute-message.sh index 4c573cc4b..76daf8ff6 100755 --- a/.github/actions/send-teams-notification/compute-message.sh +++ b/.github/actions/send-teams-notification/compute-message.sh @@ -2,16 +2,20 @@ COMPUTED_MESSAGE="" +if [ -n "$NEEDS" ]; then + COMPUTED_MESSAGE="$NEEDS\n\n" +fi + if [[ -n "$BLOCK_MESSAGE" && "$APPEND" == 'true' ]] || [ -z "$BLOCK_MESSAGE" ]; then case $EVENT_NAME in pull_request) - COMPUTED_MESSAGE="$PR_TITLE" + COMPUTED_MESSAGE="${COMPUTED_MESSAGE}$PR_TITLE" ;; issues) - COMPUTED_MESSAGE="$ISSUE_BODY" + COMPUTED_MESSAGE="${COMPUTED_MESSAGE}$ISSUE_BODY" ;; *) - COMPUTED_MESSAGE="$COMMIT_MESSAGE" + COMPUTED_MESSAGE="${COMPUTED_MESSAGE}$COMMIT_MESSAGE" ;; esac fi @@ -23,10 +27,6 @@ if [ -n "$BLOCK_MESSAGE" ]; then COMPUTED_MESSAGE="${COMPUTED_MESSAGE}$BLOCK_MESSAGE" fi -if [ -n "$NEEDS" ]; then - COMPUTED_MESSAGE="${COMPUTED_MESSAGE}\n\n$NEEDS" -fi - if [ -n "$COMPUTED_MESSAGE" ]; then COMPUTED_MESSAGE="${COMPUTED_MESSAGE}" COMPUTED_MESSAGE=$(printf "${COMPUTED_MESSAGE}" | sed -z 's/\n/\\n/g' | sed -r 's/"/\\\"/g' | sed -e 's/\r//g') diff --git a/.github/actions/send-teams-notification/tests/sample-commit-message.txt b/.github/actions/send-teams-notification/tests/sample-commit-message.txt new file mode 100644 index 000000000..eb9a7786e --- /dev/null +++ b/.github/actions/send-teams-notification/tests/sample-commit-message.txt @@ -0,0 +1,5 @@ +AAE-12140 Check and fix inconsistent scenarios in UAT (#734) + +* AAE-12140 Add assertion to check for correct application status + +Co-authored-by: Elias Ricken de Medeiros <26007058+erdemedeiros@users.noreply.github.com> diff --git a/.github/actions/send-teams-notification/tests/sample-long-message-cut.txt b/.github/actions/send-teams-notification/tests/sample-long-message-cut.txt new file mode 100644 index 000000000..b5b5a327a --- /dev/null +++ b/.github/actions/send-teams-notification/tests/sample-long-message-cut.txt @@ -0,0 +1 @@ +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.\nAenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec,\npellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.\n\nIn enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt.\nCras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim.\n\nAliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet.\nEtiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.\nMaecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel,\nluctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante.\n\nEtiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget\nbibendum sodales, augue velit cursus nunc, quis gravida magna mi a libero. Fusce vulputate eleifend sapien. Vestibulum purus quam, scelerisque ut,\nmollis sed, nonummy id, metus. Nullam accumsan lorem in dui. Cras ultricies mi eu turpis hendrerit fringilla. Vestibulum ante ipsum primis in faucibus\norci luctus et ultrices posuere cubilia Curae; In ac dui quis mi consectetuer lacinia. Nam pretium turpis et arcu. Duis arcu tortor, suscipit eget,\nimperdiet nec, imperdiet iaculis, ipsum. Sed aliquam ultrices mauris. Integer ante arcu, accumsan a, consectetuer eget, posuere ut, mauris.\nPraesent adipiscing. Phasellus ullamcorper ipsum rutrum nunc. Nunc nonummy metus. Vestibulum volutpat pretium libero. Cras id dui.\n\nAenean ut eros et nisl sagittis vestibulum. Nullam nulla eros, ultricies sit amet, nonummy id, imperdiet feugiat, pede. Sed lectus. Donec mollis\nhendrerit risus. Phasellus nec sem in justo pellentesque facilisis. Etiam imperdiet imperdiet orci. Nunc nec neque. Phasellus leo dolor, tempus non,\nauctor et, hendrerit quis, nisi. Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo. Maecenas malesuada.\n\nPraesent congue erat at massa. Sed cursus turpis vitae tortor. Donec posuere vulputate arcu. Phasellus accumsan cursus velit. Vestibulum ante\nipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed aliquam, nisi quis porttitor congue, elit erat euismod orci, ac\nplacerat dolor lectus quis orci. Phasellus consectetuer vestibulum elit. Aenean tellus metus, bibendum sed, posuere ac, mattis non, nunc.\nVestibulum fringilla pede sit amet augue. In turpis. Pellentesque posuere. Praes diff --git a/.github/actions/send-teams-notification/tests/sample-long-message.txt b/.github/actions/send-teams-notification/tests/sample-long-message.txt new file mode 100644 index 000000000..4bfa2e719 --- /dev/null +++ b/.github/actions/send-teams-notification/tests/sample-long-message.txt @@ -0,0 +1,29 @@ +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. +Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, +pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. + +In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. +Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. + +Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. +Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. +Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, +luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. + +Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget +bibendum sodales, augue velit cursus nunc, quis gravida magna mi a libero. Fusce vulputate eleifend sapien. Vestibulum purus quam, scelerisque ut, +mollis sed, nonummy id, metus. Nullam accumsan lorem in dui. Cras ultricies mi eu turpis hendrerit fringilla. Vestibulum ante ipsum primis in faucibus +orci luctus et ultrices posuere cubilia Curae; In ac dui quis mi consectetuer lacinia. Nam pretium turpis et arcu. Duis arcu tortor, suscipit eget, +imperdiet nec, imperdiet iaculis, ipsum. Sed aliquam ultrices mauris. Integer ante arcu, accumsan a, consectetuer eget, posuere ut, mauris. +Praesent adipiscing. Phasellus ullamcorper ipsum rutrum nunc. Nunc nonummy metus. Vestibulum volutpat pretium libero. Cras id dui. + +Aenean ut eros et nisl sagittis vestibulum. Nullam nulla eros, ultricies sit amet, nonummy id, imperdiet feugiat, pede. Sed lectus. Donec mollis +hendrerit risus. Phasellus nec sem in justo pellentesque facilisis. Etiam imperdiet imperdiet orci. Nunc nec neque. Phasellus leo dolor, tempus non, +auctor et, hendrerit quis, nisi. Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo. Maecenas malesuada. + +Praesent congue erat at massa. Sed cursus turpis vitae tortor. Donec posuere vulputate arcu. Phasellus accumsan cursus velit. Vestibulum ante +ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed aliquam, nisi quis porttitor congue, elit erat euismod orci, ac +placerat dolor lectus quis orci. Phasellus consectetuer vestibulum elit. Aenean tellus metus, bibendum sed, posuere ac, mattis non, nunc. +Vestibulum fringilla pede sit amet augue. In turpis. Pellentesque posuere. Praesent turpis. + +Aenean posuere, tortor sed cursus feugi. diff --git a/.github/actions/send-teams-notification/tests/sample-needs.json b/.github/actions/send-teams-notification/tests/sample-needs.json new file mode 100644 index 000000000..bf46f8b94 --- /dev/null +++ b/.github/actions/send-teams-notification/tests/sample-needs.json @@ -0,0 +1,10 @@ +{ + "build": { + "result": "success", + "outputs": {} + }, + "promote": { + "result": "failure", + "outputs": {} + } +} diff --git a/.github/actions/send-teams-notification/tests/send-teams-notification.bats b/.github/actions/send-teams-notification/tests/send-teams-notification.bats new file mode 100644 index 000000000..a290300ac --- /dev/null +++ b/.github/actions/send-teams-notification/tests/send-teams-notification.bats @@ -0,0 +1,278 @@ +setup() { + # Runs everywhere + DIR="$( cd "$( dirname "$BATS_TEST_FILENAME" )" >/dev/null 2>&1 && pwd )" + PATH="$DIR/..:$PATH" + + # Mock send-teams-notification defaults + export PR_TITLE="fix(jx-updatebot-pr): update release binary version to 0.3.13 #158" + export ISSUE_BODY=$(cat << 'body' +This PR adds support for retrying `jx-updatebot-pr` action in case there is a race condition on the target pr branch due to a concurrent commit from another project, i.e. + +``` +- uses: Alfresco/alfresco-build-tools/.github/actions/jx-updatebot-pr@ref + with: + retries: '3' + retries-wait: '10' + +``` +body +) + export COMMIT_MESSAGE=$(cat << 'commit' +fix: update retry inputs to use string type + +* use strings +* add tests +commit +) +} + +@test "basic teams message" { + export BLOCK_MESSAGE="my custom message" + + run compute-message.sh + + [ "$status" -eq 0 ] + + expected_output=$(cat << BATS +result< +EOF +BATS +) + + [ "$output" = "$expected_output" ] +} + +@test "empty teams message" { + export COMMIT_MESSAGE="" + + run compute-message.sh + + [ "$status" -eq 0 ] + + expected_output=$(cat << BATS +result= +BATS +) + + [ "$output" = "$expected_output" ] +} + +@test "empty block message" { + export BLOCK_MESSAGE="" + + run compute-message.sh + + [ "$status" -eq 0 ] + + expected_output=$(cat << BATS +result< Date: Thu, 5 Dec 2024 10:14:41 +0100 Subject: [PATCH 4/4] rename variable for clarity --- .../actions/reportportal-summarize/get-slack-message.sh | 8 ++++---- .../actions/reportportal-summarize/get-teams-message.sh | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/actions/reportportal-summarize/get-slack-message.sh b/.github/actions/reportportal-summarize/get-slack-message.sh index 02df8bbed..1a4a68463 100755 --- a/.github/actions/reportportal-summarize/get-slack-message.sh +++ b/.github/actions/reportportal-summarize/get-slack-message.sh @@ -18,15 +18,15 @@ if [[ -n "$RP_LAUNCH_KEY" ]]; then read -r status case $status in PASSED) - sstatus="✅" ;; + status_icon="✅" ;; FAILED) - sstatus="❌" + status_icon="❌" ;; *) - sstatus="$status" + status_icon="$status" ;; esac - MSG+="\n<$RP_LAUNCH_URL/$id|Report #$number> $sstatus" + MSG+="\n<$RP_LAUNCH_URL/$id|Report #$number> $status_icon" done < <(echo "$RP_CONTENT" | jq -r '.content[] | .id, .number, .status') fi fi diff --git a/.github/actions/reportportal-summarize/get-teams-message.sh b/.github/actions/reportportal-summarize/get-teams-message.sh index d0b7fd83e..d043070c8 100755 --- a/.github/actions/reportportal-summarize/get-teams-message.sh +++ b/.github/actions/reportportal-summarize/get-teams-message.sh @@ -18,15 +18,15 @@ if [[ -n "$RP_LAUNCH_KEY" ]]; then read -r status case $status in PASSED) - sstatus="✅" ;; + status_icon="✅" ;; FAILED) - sstatus="❌" + status_icon="❌" ;; *) - sstatus="$status" + status_icon="$status" ;; esac - MSG+="\n\n[Report #$number]($RP_LAUNCH_URL/$id) $sstatus" + MSG+="\n\n[Report #$number]($RP_LAUNCH_URL/$id) $status_icon" done < <(echo "$RP_CONTENT" | jq -r '.content[] | .id, .number, .status') fi fi