Cannot send slack notification on self-hosted machine
developmentAtGain opened this issue Β· comments
New Issue Checklist
- Updated fastlane to the latest version
- I read the Contribution Guidelines
- I read docs.fastlane.tools
- I searched for existing GitHub issues
Issue Description
I am using GitHub Action on my Mac-mini & I cannot send slack notifications. On Slack side, It cannot find keys(ex:"Build Date").
Lane
platform :ios do desc "Send Slack notification" lane :build_slack_notification do |options| commit = last_git_commitauthor = commit[:author] author_email = commit[:author_email] short_hash = commit[:abbreviated_commit_hash] def root_path Dir.pwd.sub(/.*\Kfastlane/, '').sub(/.*\Kandroid/, '').sub(/.*\Kios/, '').sub(/.*\K\/\//, '') end slack( message: options[:message], success: options[:status], payload: { "Build Date" => Time.new.to_s, "Built by" => 'Firebase App Distribution', "Release Notes" => '', "Commit" => '' }, default_payloads: [:git_branch, :git_author], slack_url: 'https://hooks.slack.com/workflows/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' # attachment_properties: { # fields: [ # { # title: "Build Date", # value: Time.new.to_s # }, # { # title: "Built by", # value: 'Firebase App Distribution' # }, # { # title: "Release Notes", # value: "#{root_path}/release_notes.txt" # }, # { # title: "Commit", # value: "#{author} #{author_email} #{short_hash}" # } # ] # }, )
end
end
Command executed
fastlane build_slack_notification status:true message:"iOS successfully released"
Complete output when running fastlane, including the stack trace and command used
15:19:47: --- Step: default_platform ---
15:19:47: ------------------------------
15:19:47: Driving the lane 'ios build_slack_notification'
15:19:47: -----------------------------
15:19:47: --- Step: last_git_commit ---
15:19:47: -----------------------------
15:19:47: -------------------
15:19:47: --- Step: slack ---
15:19:47: -------------------
[15:19:48]: Exception: the server responded with status 400
+------------------+------------------------------+
| Lane Context |
+------------------+------------------------------+
| DEFAULT_PLATFORM | ios |
| PLATFORM_NAME | ios |
| LANE_NAME | ios build_slack_notification |
+------------------+------------------------------+
[15:19:48]: Error pushing Slack message, maybe the integration has no permission to post on this channel? Try removing the channel parameter in your Fastfile, this is usually caused by a misspelled or changed group/channel name or an expired SLACK_URL
+------+------------------+-------------+
| fastlane summary |
+------+------------------+-------------+
| Step | Action | Time (in s) |
+------+------------------+-------------+
| 1 | default_platform | 0 |
| 2 | last_git_commit | 0 |
|
+------+------------------+-------------+
[15:19:48]: fastlane finished with errors
[!] Error pushing Slack message, maybe the integration has no permission to post on this channel? Try removing the channel parameter in your Fastfile, this is usually caused by a misspelled or changed group/channel name or an expired SLACK_URL
Environment
[
[16:21:11]: fastlane detected a Gemfile in the current directory
[16:21:11]: However, it seems like you didn't use bundle exec
[16:21:11]: To launch fastlane faster, please use
[16:21:11]:
[16:21:11]: $ bundle exec fastlane env
[16:21:11]:
[16:21:11]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[16:21:12]: Generating fastlane environment output, this might take a few seconds...
swift-driver version: 1.45.2
β
fastlane environment β
Stack
Key | Value |
---|---|
OS | 12.4 |
Ruby | 3.1.2 |
Bundler? | false |
Git | git version 2.32.1 (Apple Git-133) |
Installation Source | /opt/homebrew/Cellar/fastlane/2.206.2/libexec/bin/fastlane |
Host | macOS 12.4 (21F79) |
Ruby Lib Dir | /opt/homebrew/Cellar/ruby/3.1.2/lib |
OpenSSL Version | OpenSSL 1.1.1n 15 Mar 2022 |
Is contained | false |
Is homebrew | true |
Is installed via Fabric.app | false |
Xcode Path | /Applications/Xcode.app/Contents/Developer/ |
Xcode Version | 13.4.1 |
Swift Version | 5.6.1 |
System Locale
Variable | Value | |
---|---|---|
LANG | en_US.UTF-8 | |
LC_ALL | ||
LANGUAGE |
fastlane files:
`./fastlane/Fastfile`
default_platform(:ios)
platform :ios do
desc "Send Slack notification"
lane :build_slack_notification do |options|
commit = last_git_commit
author = commit[:author]
author_email = commit[:author_email]
short_hash = commit[:abbreviated_commit_hash]
def root_path
Dir.pwd.sub(/.*\Kfastlane/, '').sub(/.*\Kandroid/, '').sub(/.*\Kios/, '').sub(/.*\K\/\//, '')
end
slack(
message: options[:message],
success: options[:status],
payload: {
"Build Date" => Time.new.to_s,
"Built by" => 'Firebase App Distribution',
"Release Notes" => '',
"Commit" => ''
},
default_payloads: [:git_branch, :git_author],
slack_url: 'https://hooks.slack.com/workflows/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'
# attachment_properties: {
# fields: [
# {
# title: "Build Date",
# value: Time.new.to_s
# },
# {
# title: "Built by",
# value: 'Firebase App Distribution'
# },
# {
# title: "Release Notes",
# value: "#{root_path}/release_notes.txt"
# },
# {
# title: "Commit",
# value: "#{author} #{author_email} #{short_hash}"
# }
# ]
# },
)
end
desc "Build app with release configuration"
lane :build_flutter_ios_app do
# Change working directory to root folder to run scripts
Dir.chdir("../../") do
sh(step_name: "Run build runner for iOS", command: "./scripts/build_runner.sh")
sh(step_name: "Build iOS app", command: "./scripts/build_ios.sh")
end
end
desc "Submit a new build to Firebase App Distrubtion"
lane :deploy_firebase do
def root_path
Dir.pwd.sub(/.*\Kfastlane/, '').sub(/.*\Kandroid/, '').sub(/.*\Kios/, '').sub(/.*\K\/\//, '')
end
firebase_app_distribution(
app: "1:454355656294:ios:d2ecf52be1f2d679ba17a7",
groups: "internal-testers",
ipa_path: "#{root_path}/ios/Gain.ipa",
service_credentials_file: "#{root_path}/microgain-google-service.json",
release_notes_file: "#{root_path}/release_notes.txt"
)
end
desc "Deploy iOS app to Firebase App Distribution"
lane :deploy_to_app_distribution do
begin
delete_keychain(
name: "fastlane_tmp_keychain"
) if File.exist? File.expand_path("~/Library/Keychains/fastlane_tmp_keychain-db")
# setup_ci if ENV['CI']
api_key=app_store_connect_api_key(
key_id: ENV['APPLE_KEY_ID'],
issuer_id: ENV['APPLE_ISSUER_ID'],
key_filepath: '~/Documents/AuthKey_62H7K2A26Y.p8',
duration: 1200,
in_house: false
)
match(
type: 'appstore',
git_basic_authorization: ENV['GIT_PERSONAL_TOKEN'],
readonly: true,
)
build_flutter_ios_app()
update_code_signing_settings(
use_automatic_signing: false,
path: "./Runner.xcodeproj"
)
build_ios_app(
scheme: ENV['PROJECT_BUILD_SCHEME'],
)
update_code_signing_settings(
use_automatic_signing: true,
path: "./Runner.xcodeproj"
)
deploy_firebase()
rescue => error
build_slack_notification(message: error, status: false)
UI.important('Delivery failed!')
end
end
desc "Deploy iOS app to TestFlight"
lane :deploy_to_testflight do
delete_keychain(
name: "fastlane_tmp_keychain"
) if File.exist? File.expand_path("~/Library/Keychains/fastlane_tmp_keychain-db")
# setup_ci if ENV['CI']
api_key=app_store_connect_api_key(
key_id: ENV['APPLE_KEY_ID'],
issuer_id: ENV['APPLE_ISSUER_ID'],
key_filepath: '~/Documents/AuthKey_62H7K2A26Y.p8',
duration: 1200,
in_house: false
)
match(
type: 'appstore',
git_basic_authorization: ENV['GIT_PERSONAL_TOKEN'],
readonly: true,
)
build_flutter_ios_app()
update_code_signing_settings(
use_automatic_signing: false,
path: "./Runner.xcodeproj"
)
build_ios_app(
scheme: ENV['PROJECT_BUILD_SCHEME'],
)
update_code_signing_settings(
use_automatic_signing: true,
path: "./Runner.xcodeproj"
)
upload_to_testflight(
api_key: api_key,
# username: ENV['APPLE_TESTFLIGHT_USER'],
skip_waiting_for_build_processing: true,
skip_submission: true,
)
end
end
`./fastlane/Appfile`
app_identifier("com.trgain.mikrogain")
apple_id("development@gain.com.tr")
fastlane gems
Gem | Version | Update-Status |
---|---|---|
fastlane | 2.206.2 |
Loaded fastlane plugins:
Plugin | Version | Update-Status |
---|---|---|
fastlane-plugin-firebase_app_distribution | 0.3.4 |
Loaded gems
Gem | Version |
---|---|
error_highlight | 0.3.0 |
did_you_mean | 1.6.1 |
atomos | 0.1.3 |
rexml | 3.2.5 |
CFPropertyList | 3.0.5 |
claide | 1.1.0 |
colored2 | 3.1.2 |
nanaimo | 0.3.0 |
xcodeproj | 1.21.0 |
rouge | 2.0.7 |
xcpretty | 0.3.0 |
terminal-notifier | 2.0.0 |
unicode-display_width | 1.8.0 |
terminal-table | 1.8.0 |
plist | 3.6.0 |
public_suffix | 4.0.7 |
addressable | 2.8.0 |
multipart-post | 2.0.0 |
word_wrap | 1.0.0 |
optparse | 0.1.1 |
tty-screen | 0.8.1 |
tty-cursor | 0.7.1 |
tty-spinner | 0.9.3 |
artifactory | 3.0.15 |
babosa | 1.0.4 |
colored | 1.2 |
highline | 2.0.3 |
commander | 4.6.0 |
excon | 0.92.3 |
faraday-em_http | 1.0.0 |
faraday-em_synchrony | 1.0.0 |
faraday-excon | 1.1.0 |
faraday-httpclient | 1.0.1 |
faraday-multipart | 1.0.3 |
faraday-net_http | 1.0.1 |
faraday-net_http_persistent | 1.2.0 |
faraday-patron | 1.0.0 |
faraday-rack | 1.0.0 |
faraday-retry | 1.0.3 |
ruby2_keywords | 0.0.5 |
faraday | 1.10.0 |
unf | 0.1.4 |
domain_name | 0.5.20190701 |
http-cookie | 1.0.5 |
faraday-cookie_jar | 0.0.7 |
faraday_middleware | 1.2.0 |
fastimage | 2.2.6 |
gh_inspector | 1.1.3 |
mini_magick | 4.11.0 |
naturally | 2.2.1 |
rubyzip | 2.3.2 |
security | 0.1.3 |
xcpretty-travis-formatter | 1.0.1 |
dotenv | 2.7.6 |
bundler | 2.3.11 |
simctl | 1.6.8 |
jwt | 2.3.0 |
uber | 0.1.0 |
declarative | 0.0.20 |
trailblazer-option | 0.1.2 |
representable | 3.2.0 |
retriable | 3.1.2 |
mini_mime | 1.1.2 |
memoist | 0.16.2 |
multi_json | 1.15.0 |
os | 1.1.4 |
signet | 0.16.1 |
googleauth | 1.1.3 |
httpclient | 2.8.3 |
webrick | 1.7.0 |
google-apis-core | 0.5.0 |
google-apis-playcustomapp_v1 | 0.7.0 |
google-apis-androidpublisher_v3 | 0.21.0 |
google-cloud-env | 1.6.0 |
google-cloud-errors | 1.2.0 |
google-cloud-core | 1.6.0 |
google-apis-iamcredentials_v1 | 0.10.0 |
google-apis-storage_v1 | 0.14.0 |
rake | 13.0.6 |
digest-crc | 0.6.4 |
google-cloud-storage | 1.36.2 |
emoji_regex | 3.2.3 |
jmespath | 1.6.1 |
aws-eventstream | 1.2.0 |
aws-sigv4 | 1.5.0 |
aws-sdk-core | 3.131.1 |
aws-sdk-kms | 1.57.0 |
aws-sdk-s3 | 1.114.0 |
set | 1.0.2 |
unf_ext | 0.0.8.2 |
json | 2.6.2 |
aws-partitions | 1.594.0 |
forwardable | 1.3.2 |
logger | 1.5.0 |
pathname | 0.2.0 |
shellwords | 0.1.0 |
cgi | 0.3.1 |
date | 3.2.2 |
timeout | 0.2.0 |
stringio | 3.0.1 |
securerandom | 0.1.1 |
uri | 0.11.0 |
openssl | 3.0.0 |
digest | 3.1.0 |
io-nonblock | 0.1.0 |
ipaddr | 1.2.4 |
io-wait | 0.2.1 |
zlib | 2.1.1 |
resolv | 0.2.1 |
time | 0.2.0 |
open-uri | 0.2.0 |
mutex_m | 0.1.1 |
net-protocol | 0.1.2 |
net-http | 0.2.0 |
ostruct | 0.5.2 |
english | 0.7.1 |
erb | 2.2.3 |
strscan | 3.0.1 |
abbrev | 0.1.0 |
io-console | 0.5.11 |
tempfile | 0.1.2 |
delegate | 0.2.0 |
fileutils | 1.6.0 |
tmpdir | 0.1.2 |
base64 | 0.1.1 |
singleton | 0.1.1 |
open3 | 0.1.1 |
nkf | 0.1.1 |
prettyprint | 0.1.1 |
pp | 0.3.0 |
find | 0.1.1 |
yaml | 0.2.0 |
psych | 4.0.3 |
fastlane-plugin-firebase_app_distribution | 0.3.4 |
generated on: 2022-06-07
It seems like you have not included the output of fastlane env
To make it easier for us help you resolve this issue, please update the issue to include the output of fastlane env
Incoming Web hooks are a simple way to post messages from apps into Slack. Creating an Incoming Web hook gives you a unique URL to which you send a payload with the message text and some options. You can use all the usual formatting and layout blocks with Incoming Web hooks to make the messages stand out.
Panorama Charter