2015-06-25 6 views
5

स्लैक पर ट्रैविस-सीआई अधिसूचना के लिए ऑनलाइन प्रलेखन कहते हैं:टोकन एन्क्रिप्ट करते समय ट्रैविस-सीआई अधिसूचना में स्लैक चैनल ओवरराइड कैसे करें?

चैनल ओवरराइड करना भी संभव है, बस एक # उन्हें खाते और टोकन से अलग होने के साथ विन्यास में जोड़ें।

notifications: 
    slack: '<account>:<token>#development' 

हालांकि, अगर मैं साख तरह से एन्क्रिप्ट करना चाहते हैं यह सिफारिश की है:

travis encrypt "<account>:<token>" --add notifications.slack 

ठीक काम करेंगे। लेकिन जब मैं कोशिश करता हूं:

travis encrypt "<account>:<token>#development" --add notifications.slack 

मुझे एक नया एन्क्रिप्टेड टोकन मिलता है, लेकिन अधिसूचनाएं एकीकरण समय पर स्थापित डिफ़ॉल्ट चैनल पर आती हैं। मैं क्या गलत कर रहा हूं?

नोट: यदि हम भूमिका निभा सकते हैं, तो हम सबकुछ (स्लैक, ट्रैविस, गिटहब) के एंटरप्राइज़ संस्करणों का उपयोग करते हैं।

उत्तर

5

कमांड सही नहीं है, यह अंत में .rooms संपत्ति अनुपलब्ध है। यह

travis encrypt "account:token#channel" --add notifications.slack.rooms 
2

एन्क्रिप्ट आदेश सही है:

travis encrypt "account:token#channel" --add notifications.slack 

लेकिन .travis.yml अंदर परिणाम होगा (गलत है, और यही समस्या है):

notifications: 
    slack: 
     secure: xxxxxxxxxxxxxxxxxxxxxx 

आप संपादित करना है एन्क्रिप्ट कमांड के बाद मैन्युअल रूप से .travis.yml और कमरे जोड़ें, तो सही है:

notifications: 
    slack: 
    rooms: 
     secure: xxxxxxxxxxxxxx 
1

आपको प्रत्येक स्लेक चैनल के लिए निम्नलिखित एन्क्रिप्शन कमांड चलाने की आवश्यकता है, जिसे आप अधिसूचनाओं में शामिल करना चाहते हैं। सुनिश्चित करें कि आप प्रत्येक सुरक्षित एन्क्रिप्टेड संदेश की प्रतिलिपि रखें क्योंकि कमांड आपके travis.yml को हर बार चलाने पर ओवरराइट करेगा।

travis encrypt "account:token#channel1" --add notifications.slack.rooms 
travis encrypt "account:token#channel2" --add notifications.slack.rooms 

अंत में निम्न स्वरूप में प्रत्येक चैनल के लिए टोकन जोड़ें:

notifications: 
    slack: 
    rooms: 
     - secure: secure_token_for_channel1 
     - secure: secure_token_for_channel2 
संबंधित मुद्दे