BitriseCI의 Send a Slack Message 업데이트

9599 단어 Bitrise
Bitrise에서 Workflow가 완료되면 Slack이 공동으로 통지합니다.이 협업절차Send a Slack Message가 언제 2.7.2로 업데이트됐는지 디스플레이도 간단하게 개선돼 업데이트된 메모 공유가 이뤄졌다.

Before



자꾸 뒤죽박죽이 돼서 보기 힘들어...
소식이 너무 길어서...
QR은 크고 무서워...

절차적 절차



구축된 ippa에서 응용 프로그램 이름, 버블 ID, 버전 등을 얻어 연결하여 슬랙 메시지로 만든다.
QR은 설치할 터미널에 슬랙 클라이언트가 없는 경우 설치 페이지를 Fabric에 배포합니다.

조개 내용

#!/usr/bin/env bash
# fail if any commands fails
set -e
# debug log
set -x

buildNumber="$IOS_APP_VERSION_NAME ($IOS_APP_VERSION_NAME.$BITRISE_BUILD_NUMBER)"
appName=$IOS_APP_NAME
bundleId=$IOS_IPA_PACKAGE_NAME
workflowId=$BITRISE_TRIGGERED_WORKFLOW_ID
url="https://apps-ios.crashlytics.com/projects/"
echo "$BITRISE_APP_TITLE $buildNumber $workflowId $url"
message="The workflow \"$workflowId\" was succeeded!\n$appName $buildNumber\n$bundleId\n$BITRISE_GIT_MESSAGE\n$url"

envman add --key SLACK_MESSAGE_BODY --value "$message"
envman add --key SLACK_MESSAGE_URL --value "$url"
echo "SLACK_MESSAGE_BODY is $SLACK_MESSAGE_BODY"
echo "SLACK_MESSAGE_URL is $SLACK_MESSAGE_URL"
ipa에서 얻은 정보를 줄 바꿈 문자로 연결하여 슬랙 메시지용 변수에 저장

컨텐트 설정


name
value
Slack Webhook URL (required)
Slack으로 발행된 웹 훅 URL
Target Slack channel, group or username
# 공지 대상 채널 이름
Emoji to use as the icon for the message
: bitrise: (Slack으로 등록된 그림 문자 이름)
The 'from' name
Bitrise CI
The message you want to send (required)
$SLACK_MESSAGE_BODY
Message color (required)
good
Image URL$BITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URL$SLACK_MESSAGE_URL에서 생성된 QR 코드의 URL)
나는 굿이 무슨 색인 줄 알았는데, 결국 이 부근에 기록되어 있었다.
https://api.slack.com/docs/message-attachments
그렇다면 미묘하게 다른 녹색이다.
2.7.2 바뀌었겠지any hex color code

개선하고 싶은 점.

  • QR 코드 표시 해제
    Fabric에서 한 번 설치하면 설치 페이지에 자주 액세스할 수 없으며 설치제거할 경우도 있지만 터미널 쪽에서 숨기는 것이 편리하기 때문에 결과가 많이 필요하지 않습니다.투고하면 슬랙 채널의 세로 넓이가 떼어져 & 너무 눈에 띄기 때문에 QR코드 디스플레이를 폐지하기 위해 설치 페이지의 인라인만 남기고 싶습니다.
  • 댓글 부분을 보기 힘들어요.
    애플리케이션 이름, 번들 ID, 버전 등을 줄만 바꿔 연결하는 것만으로는 보기 힘들다.
    2.7.2의 표를 따라 표시하면 더욱 보기 쉬울 것이다.
  • After


    상당히 유창하고 알기 쉽다!

    메시지는 길어도 괜찮아!

    절차적 절차



    슬랙 메시지용 변수와 QR 코드를 만들지 않았으면 좋았을 텐데 아주 간단해졌다.

    컨텐트 설정


    name
    value
    Slack Webhook URL (required)
    Slack으로 발행된 웹 훅 URL
    Target Slack channel, group or username
    # 공지 대상 채널 이름
    Text of the message to send.
    없음
    Emoji to use as the icon for the message
    없음
    URL to an image to use as the icon for the message.
    https://github.com/bitrise-io.png(기본값 유지)
    the bot's username for the message
    Bitrise CI
    Message color (required)
    #3bc3a3
    A URL to an image file that will be displayed as a thumbnail
    없음
    A list of fields to be displayed in a table inside the attachmentApp | ${IOS_APP_NAME} Bundle ID | ${IOS_IPA_PACKAGE_NAME} Version | ${IOS_APP_VERSION_NAME}.${BITRISE_BUILD_NUMBER} Branch | ${BITRISE_GIT_BRANCH} Message | ${BITRISE_GIT_MESSAGE} Workflow | ${BITRISE_TRIGGERED_WORKFLOW_ID}A list of buttons attached to the message as link buttonsView Build | ${BITRISE_BUILD_URL} Install from Fabric | https://apps-ios.crashlytics.com/projects/Slack 메시지는 표 형식으로 설명할 수 있습니다 A list of fields to be displayed in a table inside the attachment.
    이후A list of buttons attached to the message as link buttons도마찬가지로ボタン名|url동작을 취할 수 있다.

    yml의 위치 변경

    ...
        - [email protected]:
            is_always_run: false
            inputs:
            - message: ''
            - emoji: ''
            - webhook_url: https://hooks.slack.com/services/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
            - channel: "#my_app"
            - from_username: Bitrise CI
            - fields: |-
                App|${IOS_APP_NAME}
                Bundle ID|${IOS_IPA_PACKAGE_NAME}
                Version|${IOS_APP_VERSION_NAME}.${BITRISE_BUILD_NUMBER}
                Branch|${BITRISE_GIT_BRANCH}
                Message|${BITRISE_GIT_MESSAGE}
                Workflow|${BITRISE_TRIGGERED_WORKFLOW_ID}
            - buttons: |-
                View Build|${BITRISE_BUILD_URL}
                Install from Fabric|https://apps-ios.crashlytics.com/projects/
            - title: ''
            - image_url: ''
    ...
    

    개선점


  • 전체적으로 깔끔한 디스플레이
  • 누가 제출했는지 표시
  • 표에 필요한 정보 표시
    셸에서 Slack 메시지 문자열을 생성할 필요가 없음
  • Message color 컬러 코드 지정
    더 이상 미묘한 녹색이 아니다
  • url로bot의 아이콘 이미지를 지정할 수 있습니다
    그렇기 때문에 슬랙 옆에 그림문자를 미리 등록하지 않았으면 좋겠어요.
    임의로 지정할 수 있음
  • 감상


    여러 가지 세부적인 설정을 할 수 있어 편리해졌고 무엇보다 보기 쉬워 개선되었으니 정말 다행입니다
    구축에 실패했을 때 다른 설정을 할 수 있기 때문에 시도해 보려고 합니다.
  • 2018/05/30 After 이미지 추가
  • 좋은 웹페이지 즐겨찾기