Как назвать секреты в сценарии Bash - PullRequest
0 голосов
/ 25 марта 2020

Итак, я знаю способ работы с секретами в скриптах Powershell и в скриптах Python. Мне любопытно, если есть способ вызвать json, yml или json объекты в скрипте bash. Что бы вы использовали и как их можно динамически вызывать в скрипте.

Вот скрипт:

#!/bin/bash
# ===========================================================
# Created By: Richard Barrett
# Organization: Mirantis
# Department: Customer Success Operation
# Purpose: Send Message to Slack Channel
# Date: 03/20/2020
# ===========================================================
# Use Messages in this command syntax
# curl -X POST -H 'Content-type: application/json' --data '{"text":"BODY"}' <insert_URL>

# Generalt Message:
curl -X POST -H 'Content-type: application/json' --data '{"text":"Please see the following links for Handovers and Change Requests that may impact your shift."}' https://hooks.slack.com/services/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

# Messages for Handover:
curl -X POST -H 'Content-type: application/json' --data '{"text":"Handovers: https://mirantis.my.salesforce.com/00O2S000003g25h"}' <insert_URL>

# Message for All Change Requests:
curl -X POST -H 'Content-type: application/json' --data '{"text":"All Change Requests: https://mirantis.my.salesforce.com/00O2S000004INH1"}' <insert_URL>

# Message for Change Requests in Ready to Execute
# curl -X POST -H 'Content-type: application/json' --data '{"text":"All CRs in Ready to Execute:"}' <insert_URL>

Там, где говорится, что я вставляю ссылку на веб-хук через slack. Есть ли способ вызвать это подобно следующему методу json в python?

with open('secrets.json','r') as f:
      config = json.load(f)

# Set the webhook_url to the one provided by Slack when you create the webhook at https://my.slack.com/services/new/incoming-webhook/
# webhook_url = 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'
# slack_data = {'text': "BODY"}
webhook_url = (config['slack_config']['slack_target_url'])
slack_message_1={'text': config['slack_messages']['message_1']}
slack_message_2={'text': config['slack_messages']['message_2']}
slack_message_3={'text': config['slack_messages']['message_3']}

Я также знаю, что можно создать файл xml и загрузить его в Powershell Сценарий как секрет. Мне просто нужно некоторое руководство о том, как работать с секретами в сценарии оболочки.

1 Ответ

2 голосов
/ 25 марта 2020

Bash эквивалентно Python webhook_url = (config['slack_config']['slack_target_url']) будет webhook_url="$(jq --raw-output .slack_config.slack_target_url secrets.json)". Демо:

$ echo '{"slack_config": {"slack_target_url": "URL"}}' | jq --raw-output .slack_config.slack_target_url
URL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...