BitShip

A chrome extension updates the bitbucket pull request page UI according to the codeship build status

ما هو BitShip؟

BitShip هو إضافة Chrome تم تطويرها بواسطة Gion، والميزة الرئيسية لها هي "A chrome extension updates the bitbucket pull request page UI according to the codeship build status".

لقطات شاشة التمديد

screenshot
screenshot
screenshot
screenshot

تحميل ملف CRX للإضافة BitShip

قم بتنزيل ملفات الامتداد BitShip بتنسيق crx ، وقم بتثبيت الامتدادات يدويًا في متصفح Chrome ، أو شارك ملفات crx مع الأصدقاء لتثبيت الامتدادات بسهولة.

تعليمات استخدام التمديد

                        What?

BitShip is a chrome extension that facilitates communication between Bitbucket and Codeship

Why?

Because Codeship is awesome and Bitbucket is nice too...
... and because there is no service that makes them play together like github and travis do so nicely out of the box.

When?

After moving from Github to Bitbucket, I searched for a way to integrate Codeship as a Bitbucket service rather than a separate app that uses some git hooks. And after I found out that there aren't any other ways to achieve the classic Github-Travis combination with Bitbucket and Codeship, I decided to take the matter in my own hands and build a solution, hoping that it will be appealing to other developpers in my position too.

How?

It may be easier to think of this extension as if they were 3 components:

the actual extension
the part that communicates with the Codeship api
the part that interacts with the Bitbucket pages

The extension was built using yeoman and the chrome extension kickstarter generator.
Having a Codeship Api Key makes it easy to do simple queries to collect data about Codeship projects and builds.
The extension itself runs (although it seems to be active all the time) only on Bitbucket pull request pages and asks Codeship for the user's project list. If the Bitbucket project that the extension runs on is in the project list, then (after scraping :( the pull request branch) BitShip gets the Codeship build status for the pull request. The next step is some kind of css voodoo magic that adds a class to the root node of the page. Based on that class, the pull request page UI is modified so it reveals the Codeship badge with a status message:
BitShip notification box

Moreover, if the build is't green, BitShip disables the merge/approve buttons in the pull request page so that no one can accept code that is error prone:
BitShip disabled UI

Who?

I'm Gion and I want to make the web a better place (because I'm selfish and I want the internet to be better for me! >:)).
Anyone who wants to contribute is invited to submit an issue or a pull request and be a part of the BitShip team.                    

معلومات أساسية عن التمديد

الاسم BitShip BitShip
ID heagnhmcighohcbdgndgmebmcpfgadbd
عنوان URL الرسمي https://chromewebstore.google.com/detail/bitship/heagnhmcighohcbdgndgmebmcpfgadbd
الوصف A chrome extension updates the bitbucket pull request page UI according to the codeship build status
حجم الملف 188 KB
عدد التثبيتات 15
النسخة الحالية 0.3.0
آخر تحديث 2015-11-25
تاريخ النشر 2015-11-25
تقييم 5.00/5 مجموع تقييمات 2
المطور Gion
نوع الدفع free
موقع الإضافة https://github.com/gion/BitShip/blob/master/README.md
عنوان صفحة المساعدة https://github.com/gion/BitShip/issues
اللغات المدعومة en
manifest.json
{
    "update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
    "name": "__MSG_appName__",
    "short_name": "__MSG_appShortName__",
    "version": "0.3.0",
    "manifest_version": 2,
    "description": "__MSG_appDescription__",
    "icons": {
        "16": "images\/icon-16.png",
        "128": "images\/icon-128.png"
    },
    "default_locale": "en",
    "background": {
        "scripts": [
            "scripts\/background.js"
        ]
    },
    "page_action": {
        "default_icon": {
            "19": "images\/icon-19.png",
            "38": "images\/icon-38.png",
            "128": "images\/icon-128.png"
        },
        "default_title": "BitShip",
        "default_popup": "html\/popup.html"
    },
    "options_page": "html\/options.html",
    "minimum_chrome_version": "10.0",
    "devtools_page": "html\/devtools.html",
    "omnibox": {
        "keyword": "bitShip"
    },
    "content_scripts": [
        {
            "matches": [
                "http:\/\/bitbucket.org\/*pull-requests\/*",
                "https:\/\/bitbucket.org\/*pull-requests\/*"
            ],
            "css": [
                "styles\/content.css"
            ],
            "js": [
                "scripts\/content.js"
            ],
            "run_at": "document_end",
            "all_frames": false
        }
    ],
    "permissions": [
        "debugger",
        "notifications",
        "proxy",
        "storage"
    ],
    "content_security_policy": "script-src 'self' https:\/\/*.googleapis.com; https:\/\/*.cloudflare.com; object-src 'self'"
}