コード例 #1
0
# coding=utf-8
import os

from atlassian import Bamboo

BAMBOO_URL = os.environ.get("BAMBOO_URL", "http://localhost:8085")
ATLASSIAN_USER = os.environ.get("ATLASSIAN_USER", "admin")
ATLASSIAN_PASSWORD = os.environ.get("ATLASSIAN_PASSWORD", "admin")

bamboo = Bamboo(url=BAMBOO_URL,
                username=ATLASSIAN_USER,
                password=ATLASSIAN_PASSWORD)

# Delete entire plan
bamboo.delete_plan("PLAN-TODELETE")

# Delete single result
bamboo.delete_build_result("PLAN-TODELETE-7")
コード例 #2
0
OLDER_DAYS = 60


def get_all_projects():
    return [x['key'] for x in bamboo.projects(max_results=10000)]


def get_plans_from_project(project_key):
    return [
        x['key'] for x in bamboo.project_plans(project_key, max_results=1000)
    ]


if __name__ == '__main__':
    bamboo = Bamboo(url=BAMBOO_URL,
                    username=BAMBOO_LOGIN,
                    password=BAMBOO_PASSWORD,
                    timeout=180)
    projects = get_all_projects()
    print("Start analyzing the {} projects".format(len(projects)))
    for project in projects:
        print("Inspecting {} project".format(project))
        plans = get_plans_from_project(project)
        print("Start analyzing the {} plans".format(len(plans)))
        for plan in plans:
            print("Inspecting {} plan".format(plan))
            build_results = [
                x for x in bamboo.results(plan_key=plan,
                                          label=LABEL,
                                          max_results=100,
                                          include_all_states=True)
            ]
コード例 #3
0
        plan_key = arguments[0]
        branch = arguments[1]
        build_number = arguments[2]
        packages = arguments[3:]
        channel_id = data["channel"]
        thread_ts = data["ts"]
        user = data["user"]
        resp = start_build(branch, build_number, packages)
        text = f"Build has been started: <{bamboo.url}/browse/{resp}|{branch}>" if isinstance(
            resp, str) else f"Build has not been started. Response: {resp}"
        web_client.chat_postMessage(channel=channel_id,
                                    text=text,
                                    thread_ts=thread_ts)


if __name__ == "__main__":
    log = logging.basicConfig(level=logging.DEBUG)
    dotenv_path = os.path.join(os.path.dirname(__file__), ".env")
    env = load_dotenv(dotenv_path)
    BAMBOO_URL = os.environ.get("BAMBOO_URL")
    BAMBOO_USERNAME = os.environ.get("BAMBOO_USERNAME")
    BAMBOO_PASSWORD = os.environ.get("BAMBOO_PASSWORD")
    bamboo = Bamboo(url=BAMBOO_URL,
                    username=BAMBOO_USERNAME,
                    password=BAMBOO_PASSWORD,
                    advanced_mode=True)

    slack_token = os.environ.get("SLACK_BOT_USER_TOKEN")
    client = RTMClient(token=slack_token)
    client.start()
コード例 #4
0
 def test_init_bamboo(self):
     Bamboo(url=BAMBOO_URL, username=ATLASSIAN_USER, password=ATLASSIAN_PASSWORD)
コード例 #5
0
REDDIT_CLIENT_ID = getenv('REDDIT_CLIENT_ID')
REDDIT_CLIENT_SECRET = getenv('REDDIT_CLIENT_SECRET')
REDDIT_USER_AGENT = getenv('REDDIT_USER_AGENT')
BAMBOO_URL = getenv('BAMBOO_URL')
BAMBOO_USERNAME = getenv('BAMBOO_USERNAME')
BAMBOO_PASSWORD = getenv('BAMBOO_PASSWORD')
BAMBOO_PROJECT = getenv('BAMBOO_PROJECT')
BAMBOO_PLAN = getenv('BAMBOO_PLAN')
BAMBOO_ARTIFACT = getenv('BAMBOO_ARTIFACT')

reddit = praw.Reddit(client_id=REDDIT_CLIENT_ID,
                     client_secret=REDDIT_CLIENT_SECRET,
                     user_agent=REDDIT_USER_AGENT)

bamboo = Bamboo(url=BAMBOO_URL,
                username=BAMBOO_USERNAME,
                password=BAMBOO_PASSWORD)


async def greeting(member):
    logging.info(f'{member} has joined.')
    await member.create_dm()
    await member.dm_channel.send(
        f'Üdv a BloodTracken, {member.name}!\nRemélem, jól érzed majd magad nálunk :)'
    )


async def fun_pic(message):
    try:
        submission = reddit.subreddit('ProgrammerHumor+memes').random()
        await message.channel.send(submission.url)
コード例 #6
0
# coding=utf-8
import argparse
import logging
from os import environ

from atlassian import Bamboo
"""
To set up variables, use:
export BAMBOO_URL=https://your-url BAMBOO_PASSWORD=your_pass BAMBOO_USERNAME=your_username
You also can use .env files, check the awesome python-dotenv module:
https://github.com/theskumar/python-dotenv
"""
bamboo = Bamboo(
    url=environ.get("BAMBOO_URL"),
    username=environ.get("BAMBOO_USERNAME"),
    password=environ.get("BAMBOO_PASSWORD"),
    advanced_mode=
    True,  # In this app I use an advanced_mode flag to handle responses.
)


def execute_build(build_key, params):
    """
    build_key: str
    params: dict
    """
    started_build = bamboo.execute_build(build_key, **params)
    logging.info("Build execution status: {}".format(
        started_build.status_code))
    if started_build.status_code == 200:
        logging.info("Build key: {}".format(
コード例 #7
0
    def __init__(self,
                 clone=None,
                 dock=None,
                 media=None,
                 sqlimport=None,
                 copy=None,
                 sqlexport=None,
                 flush=None,
                 path=None,
                 bam=None,
                 action=None,
                 rok=None):
        for i in range(0, 101):
            if i % self._progressEveryPercent == 0:
                self._progressDict[str(i)] = ""
        if os.getenv("GIT_USER") and os.getenv("GIT_PASS") and os.getenv(
                "SSH_USER") and os.getenv("SSH_PASS"):
            # click.echo(click.style('All rigthooo !', fg='green'))
            self._credentials.get("atlassian")["user"] = os.getenv(
                "ATLASSIAN_USER")
            self._credentials.get("atlassian")["pass"] = os.getenv(
                "ATLASSIAN_PASS")
            self._credentials.get("rok")["api"] = os.getenv("ROK_API")
            self._credentials.get("git")["user"] = os.getenv("GIT_USER")
            self._credentials.get("git")["pass"] = os.getenv("GIT_PASS")
            self._credentials.get("git_bucket")["user"] = os.getenv(
                "GIT_BUCKET_USER")
            self._credentials.get("git_bucket")["pass"] = os.getenv(
                "GIT_BUCKET_PASS")
            self._credentials.get("ssh")["user"] = os.getenv("SSH_USER")
            self._credentials.get("ssh")["pass"] = os.getenv("SSH_PASS")
            self._repos = {
                "flow": {
                    "main":
                    "http://%s:%[email protected]:7990/scm/fb/flowbusiness_co.git"
                    % (self._credentials.get("git")["user"],
                       self._credentials.get("git")["pass"]),
                    "bb":
                    "http://%s:%[email protected]:7990/scm/fb/sites_flowbusiness_bb.git"
                    % (self._credentials.get("git")["user"],
                       self._credentials.get("git")["pass"]),
                    "panama":
                    "http://%s:%[email protected]:7990/scm/fb/sites_masmovilpanama_negocios.git"
                    % (self._credentials.get("git")["user"],
                       self._credentials.get("git")["pass"]),
                    "trinidad":
                    "http://%s:%[email protected]:7990/scm/fb/sites_flowbusiness_tt.git"
                    % (self._credentials.get("git")["user"],
                       self._credentials.get("git")["pass"]),
                    "jamaica":
                    "http://%s:%[email protected]:7990/scm/fb/sites_flowbusiness_jm.git"
                    % (self._credentials.get("git")["user"],
                       self._credentials.get("git")["pass"]),
                    "flow":
                    "https://%s:%[email protected]/scm/fb/flow-business.git"
                    % (self._credentials.get("git_bucket")["user"],
                       self._credentials.get("git_bucket")["pass"])
                },
                "cw": {
                    "net":
                    "http://%s:%[email protected]:7990/scm/cwnet/core.git"
                    % (self._credentials.get("git")["user"],
                       self._credentials.get("git")["pass"]),
                    "bus":
                    "http://%s:%[email protected]:7990/scm/cwcbus/core.git"
                    % (self._credentials.get("git")["user"],
                       self._credentials.get("git")["pass"]),
                }
            }
            if bam:
                bamboo = Bamboo(
                    url=self._credentials.get("atlassian")["url"],
                    username=self._credentials.get("atlassian")["user"],
                    password=self._credentials.get("atlassian")["pass"],
                    advanced_mode=True)
                if bam == "panama":
                    if action == 'build':
                        plan = bamboo.get_plan('CMS-SITCWPNEG')
                        the_build = bamboo.execute_build(
                            plan_key=plan.json().get('key'))
                        click.echo(
                            click.style('Build execution status: {}'.format(
                                the_build.status_code),
                                        fg='green'))
                        if the_build.status_code == 200:
                            click.echo(
                                click.style("Build key: {}".format(
                                    the_build.json().get("buildResultKey")),
                                            fg='green'))
                            click.echo(
                                click.style(the_build.json().get(
                                    "link", {}).get('href'),
                                            fg='green'))
                        else:
                            click.echo(
                                click.style("Execution failed!", fg='red'))
                            click.echo(
                                click.style(the_build.json().get("message"),
                                            fg='red'))
                    elif action == 'deploy':
                        res = requests.get(
                            'https://bamboo-qa.cwc-apps.com/rest/api/latest/deploy/project/all',
                            auth=(self._credentials.get("atlassian")["user"],
                                  self._credentials.get("atlassian")["pass"]))
                        resDep = requests.get(
                            'https://bamboo-qa.cwc-apps.com/rest/api/latest/deploy/project/9797640/versions',
                            auth=(self._credentials.get("atlassian")["user"],
                                  self._credentials.get("atlassian")["pass"]))
                        releaseName = 'release-{}'.format(
                            int(resDep.json()['versions'][0]['name'].replace(
                                'release-', '')) + 1)
                        planResultNum = resDep.json()['versions'][0]['items'][
                            0]['planResultKey']['resultNumber'] + 1
                        planResultKey = '{}-{}'.format(
                            resDep.json()['versions'][0]['items'][0]
                            ['planResultKey']['entityKey']['key'],
                            planResultNum)
                        job = requests.post(
                            'https://bamboo-qa.cwc-apps.com/rest/api/latest/deploy/project/9797640/version',
                            auth=(self._credentials.get("atlassian")["user"],
                                  self._credentials.get("atlassian")["pass"]),
                            json={
                                "planResultKey": planResultKey,
                                "name": releaseName
                            },
                            headers={
                                "Content-Type": "application/json",
                                "Accepts": "application/json"
                            })
                        for item in res.json():
                            if 'planKey' in item:
                                # Name: CW Panama Negocios - QAT key: 9797635
                                # Name: CW Panama Negocios - STG key: 9797638
                                # Name: CW Panama Negocios - PRD key: 9797640
                                # IN THIS CASE I WANT TO USE PROD
                                if item['planKey'][
                                        'key'] == 'CMS-SITCWPNEG' and item[
                                            'key']['key'] == '9797640':
                                    for env in item['environments']:
                                        releaseJob = requests.post(
                                            'https://bamboo-qa.cwc-apps.com/rest/api/latest/queue/deployment/?environmentId={}&versionId={}'
                                            .format(env['id'],
                                                    job.json()['id']),
                                            auth=(self._credentials.get(
                                                "atlassian")["user"],
                                                  self._credentials.get(
                                                      "atlassian")["pass"]),
                                            headers={
                                                "Accepts": "application/json"
                                            })
                                        print(releaseJob.text)
                                        click.echo(
                                            click.style(
                                                "ENVIRONMENT RELEASED: {}".
                                                format(env['name']),
                                                fg='green'))
            if clone:
                click.echo(click.style('Cloning %s' % (clone), fg='green'))
                if clone == "panama":
                    url = self._repos.get("flow")[clone]
                    path = "%s/sites/negocios.masmovilpanama.com" % (
                        self._cloneDirs.get("flow"))
                    click.echo(click.style('clone url %s' % (url), fg='green'))
                    self.gitClone(url, path)
                elif clone == "main":
                    url = self._repos.get("flow")[clone]
                    path = "%s" % (self._cloneDirs.get("flow"))
                    click.echo(click.style('clone url %s' % (url), fg='green'))
                    self.gitClone(url, path)
                elif clone == "bb":
                    url = self._repos.get("flow")[clone]
                    path = "%s/sites/flowbusiness.co.barbados" % (
                        self._cloneDirs.get("flow"))
                    click.echo(click.style('clone url %s' % (url), fg='green'))
                    self.gitClone(url, path)
                elif clone == "trinidad":
                    url = self._repos.get("flow")[clone]
                    path = "%s/sites/flowbusiness.co.trinidad-and-tobago" % (
                        self._cloneDirs.get("flow"))
                    click.echo(click.style('clone url %s' % (url), fg='green'))
                    self.gitClone(url, path)
                elif clone == "jamaica":
                    url = self._repos.get("flow")[clone]
                    path = "%s/sites/flowbusiness.co.jamaica" % (
                        self._cloneDirs.get("flow"))
                    click.echo(click.style('clone url %s' % (url), fg='green'))
                    self.gitClone(url, path)
                elif clone == "net":
                    url = self._repos.get("cw")[clone]
                    path = "%s" % (self._cloneDirs.get("cwnet"))
                    click.echo(click.style('clone url %s' % (url), fg='green'))
                    self.gitClone(url, path)
                elif clone == "bus":
                    url = self._repos.get("cw")[clone]
                    path = "%s" % (self._cloneDirs.get("flow"))
                    click.echo(click.style('clone url %s' % (url), fg='green'))
                    self.gitClone(url, path)
                elif clone == "flow":
                    url = self._repos.get("flow")[clone]
                    path = "%s" % (self._cloneDirs.get("flowb"))
                    click.echo(click.style('clone url %s' % (url), fg='green'))
                    self.gitClone(url, path)
            if dock:
                if dock == "php":
                    subprocess.run([
                        "docker-compose", "-f",
                        "../liberty_docker/php/docker-compose.yaml", "up",
                        "-d", "--build"
                    ])
                    click.echo(click.style('Done Docker', fg='green'))
                elif dock == "mysql":
                    subprocess.run([
                        "docker-compose", "-f",
                        "../liberty_docker/mysql/docker-compose.yaml", "up",
                        "-d", "--build"
                    ])
                    click.echo(click.style('Done Docker', fg='green'))
                elif dock == "apache":
                    subprocess.run([
                        "docker-compose", "-f",
                        "../liberty_docker/apache/docker-compose.yaml", "up",
                        "-d", "--build"
                    ])
                    click.echo(click.style('Done Docker', fg='green'))
                elif dock == "composer":
                    subprocess.run([
                        "docker-compose", "-f",
                        "../liberty_docker/php/docker-compose.yaml", "run",
                        "--rm", "cw-php", "composer", "install"
                    ])
                    click.echo(click.style('Done Docker', fg='green'))
            if sqlimport:
                if sqlimport == "panama":
                    self.sqlImport("c_", "negocios_masmovilpanama_com")
                if sqlimport == "vlocity":
                    self.sqlImport("g_", "masmovilpanama_velocity")
                if sqlimport == "flow":
                    self.sqlImport("f_", "flowbusiness_co")
                elif sqlimport == "trinidad":
                    self.sqlImport("e_", "flowbusiness_tt")
                elif sqlimport == "barbados":
                    self.sqlImport("b_", "flowbusiness_bb")
                elif sqlimport == "bus":
                    self.sqlImport("d_", "cwcbusin_wp")
                elif sqlimport == "curacao":
                    self.sqlImport("i_", "flowbusiness_cw")
                elif sqlimport == "init_curacao":
                    self.sqlImport("i_a_", "init")
                elif sqlimport == "eastern":
                    self.sqlImport("j_", "flowbusiness_ec")
                elif sqlimport == "init_eastern":
                    self.sqlImport("j_a_", "init")
            if sqlexport:
                if sqlexport == "panama":
                    self.sqlExport("c_", "negocios_masmovilpanama_com")
                if sqlexport == "vlocity":
                    self.sqlExport("g_", "masmovilpanama_velocity")
                elif sqlexport == "bus":
                    self.sqlExport("d_", "cwcbusin_wp")
                elif sqlexport == "trinidad":
                    self.sqlExport("e_", "flowbusiness_tt")
                elif sqlexport == "bb":
                    self.sqlExport("b_", "flowbusiness_bb")
                elif sqlexport == "jamaica":
                    self.sqlExport("h_", "flowbusiness_jm")
                elif sqlexport == "curacao":
                    self.sqlExport("i_", "flowbusiness_cw")
                elif sqlexport == "eastern":
                    self.sqlExport("i_", "flowbusiness_ec")
            if media:
                if media == "panama":
                    if path is None:
                        path = "files"
                    print('path')
                    print(path)
                    self.downloadDir(
                        "/var/www/html/flowbusiness.co/sites/negocios.masmovilpanama.com",
                        os.path.join(self._cloneDirs.get("flowb"), "web",
                                     "sites", "negocios.masmovilpanama.com"),
                        "10.255.229.14", path)
                elif media == "trinidad":
                    if path is None:
                        path = "files"
                    print("ptah", path)
                    print(
                        os.path.join(self._cloneDirs.get("flow"), "sites",
                                     "flowbusiness.co.trinidad-and-tobago"))
                    self.downloadDir(
                        "/var/www/html/flowbusiness.co/sites/flowbusiness.co.trinidad-and-tobago",
                        os.path.join(self._cloneDirs.get("flowb"), "web",
                                     "sites",
                                     "flowbusiness.co.trinidad-and-tobago"),
                        "10.255.229.14", path)
                elif media == "jamaica":
                    if path is None:
                        path = "files"
                    print("ptah", path)
                    print(
                        os.path.join(self._cloneDirs.get("flow"), "sites",
                                     "flowbusiness.co.jamaica"))
                    self.downloadDir(
                        "/var/www/html/flowbusiness.co/sites/flowbusiness.co.jamaica",
                        os.path.join(self._cloneDirs.get("flowb"), "web",
                                     "sites", "flowbusiness.co.jamaica"),
                        "10.255.229.14", path)
                elif media == "curacao":
                    if path is None:
                        path = "files"
                    print("ptah", path)
                    print(
                        os.path.join(self._cloneDirs.get("flow"), "sites",
                                     "flowbusiness.co.curacao"))
                    self.downloadDir(
                        "/var/www/html/flowbusiness.co/sites/flowbusiness.co.curacao",
                        os.path.join(self._cloneDirs.get("flowb"), "web",
                                     "sites", "flowbusiness.co.curacao"),
                        "10.255.229.14", path)

                elif media == "eastern":
                    if path is None:
                        path = "files"
                    print("ptah", path)
                    print(
                        os.path.join(self._cloneDirs.get("flow"), "sites",
                                     "flowbusiness.co.eastern-caribbean"))
                    self.downloadDir(
                        "/var/www/html/flowbusiness.co/sites/flowbusiness.co.eastern-caribbean",
                        os.path.join(self._cloneDirs.get("flowb"), "web",
                                     "sites",
                                     "flowbusiness.co.eastern-caribbean"),
                        "10.255.229.14", path)

                elif media == "bus":
                    if path is None:
                        path = "uploads"
                    print(path)
                    self.downloadDir(
                        "/var/www/html/cwcbusiness/wp-content",
                        os.path.join(self._cloneDirs.get("bus"), "wp-content"),
                        "10.255.229.17", path)
            if rok:
                if rok != None:
                    ngrok.set_auth_token(self._credentials.get("rok")["api"])
                    http_tunnel = ngrok.connect()
                    ngrok_process = ngrok.get_ngrok_process()
                    try:
                        # Block until CTRL-C or some other terminating event
                        click.echo(
                            click.style('Summoning server !', fg='yellow'))
                        tunnels = ngrok.get_tunnels()
                        with open(r'./drupal-source/sites.yml',
                                  encoding="utf-8") as file:
                            data = yaml.load(file, Loader=yaml.FullLoader)
                        f = open("./flow-business/web/sites/sites.php", "w")
                        f.write("<?php\n")
                        f.write("$sites = array(\n")
                        for key in data["sites"]:
                            f.write("'{}' => '{}',\n".format(
                                key, data["sites"][key]))
                        route = None
                        if rok == "panama":
                            route = "negocios.masmovilpanama.com"
                        elif rok == "trinidad":
                            route = "flowbusiness.co.trinidad-and-tobago"
                        elif rok == "jamaica":
                            route = "flowbusiness.co.jamaica"
                        elif rok == "barbados":
                            route = "flowbusiness.co.barbados"
                        if route != None:
                            f.write("'{}' => '{}',\n".format(
                                tunnels[0].public_url.replace("https://", ""),
                                route))
                        f.write(");\n")
                        f.close()
                        click.echo(
                            click.style('Ready to rock !',
                                        blink=True,
                                        fg='green'))
                        click.echo(
                            click.style('Live on: {}'.format(
                                tunnels[0].public_url),
                                        fg='green'))
                        ngrok_process.proc.wait()
                    except KeyboardInterrupt:
                        click.echo(click.style('Server KILLED !', fg='red'))
                        ngrok.kill()
            if copy:
                flowDir = self._cloneDirs.get("flowb")
                if copy == "sites":
                    with open(r'./drupal-source/sites.yml',
                              encoding="utf-8") as file:
                        data = yaml.load(file, Loader=yaml.FullLoader)
                    f = open("./flow-business/web/sites/sites.php", "w")
                    f.write("<?php\n")
                    f.write("$sites = array(\n")
                    for key in data["sites"]:
                        f.write("'{}' => '{}',\n".format(
                            key, data["sites"][key]))
                    f.write(");\n")
                    f.close()
                elif copy == "panama":
                    # shutil.copy("./drupal-source/%s/settings.php" % (copy), os.path.join(flowDir, "web", "sites", "negocios.masmovilpanama.com", "settings.php"))
                    shutil.copy(
                        "./drupal-source/services.yml",
                        os.path.join(flowDir, "web", "sites",
                                     "negocios.masmovilpanama.com",
                                     "services.yml"))
                elif copy == "trinidad":
                    # shutil.copy("./drupal-source/%s/settings.php" % (copy), os.path.join(flowDir, "web", "sites", "flowbusiness.co.trinidad-and-tobago", "settings.php"))
                    shutil.copy(
                        "./drupal-source/services.yml",
                        os.path.join(flowDir, "web", "sites",
                                     "flowbusiness.co.trinidad-and-tobago",
                                     "services.yml"))
                elif copy == "jamaica":
                    # shutil.copy("./drupal-source/%s/settings.php" % (copy), os.path.join(flowDir, "sites", "flowbusiness.co.jamaica", "settings.php"))
                    shutil.copy(
                        "./drupal-source/services.yml",
                        os.path.join(flowDir, "web", "sites",
                                     "flowbusiness.co.jamaica",
                                     "services.yml"))
                elif copy == "barbados":
                    # shutil.copy("./drupal-source/%s/settings.php" % (copy), os.path.join(flowDir, "web", "sites", "flowbusiness.co.barbados", "settings.php"))
                    shutil.copy(
                        "./drupal-source/services.yml",
                        os.path.join(flowDir, "web", "sites",
                                     "flowbusiness.co.barbados",
                                     "services.yml"))
                elif copy == "bus":
                    shutil.copy(
                        "./wp-source/business/.htaccess",
                        os.path.join(self._cloneDirs.get("bus"), ".htaccess"))
                    shutil.copy(
                        "./wp-source/business/wp-config.php",
                        os.path.join(self._cloneDirs.get("bus"),
                                     "wp-config.php"))
                elif copy == "net":
                    shutil.copy(
                        "./wp-source/net/.htaccess",
                        os.path.join(self._cloneDirs.get("cwnet"),
                                     ".htaccess"))
                    shutil.copy(
                        "./wp-source/net/wp-config.php",
                        os.path.join(self._cloneDirs.get("cwnet"),
                                     "wp-config.php"))
            if flush:
                print('flush')
                if flush == "panama":
                    # docker-compose -f ../liberty_docker/php/docker-compose.yaml run --rm  cw-php vendor/bin/drush --uri=flowpanama.com  cache-rebuild -vvv
                    subprocess.run([
                        "docker-compose", "-f",
                        "../liberty_docker/php/docker-compose.yaml", "run",
                        "--rm", "cw-php", "vendor/bin/drush",
                        "--uri=flowpanama.com", "cache-rebuild", "-vvv"
                    ])
                    click.echo(click.style('Done Flush in panama', fg='green'))
                elif flush == "trinidad":
                    subprocess.run([
                        "docker-compose", "-f",
                        "../liberty_docker/php/docker-compose.yaml", "run",
                        "--rm", "cw-php", "vendor/bin/drush",
                        "--uri=flowbusiness.co.trinidad-and-tobago",
                        "cache-rebuild", "-vvv"
                    ])
                    click.echo(click.style('Done Flush in panama', fg='green'))
                elif flush == "barbados":
                    subprocess.run([
                        "docker-compose", "-f",
                        "../liberty_docker/php/docker-compose.yaml", "run",
                        "--rm", "cw-php", "vendor/bin/drush",
                        "--uri=flowbusiness.co.barbados", "cache-rebuild",
                        "-vvv"
                    ])
                    click.echo(click.style('Done Flush in panama', fg='green'))
                elif flush == "jamaica":
                    subprocess.run([
                        "docker-compose", "-f",
                        "../liberty_docker/php/docker-compose.yaml", "run",
                        "--rm", "cw-php", "vendor/bin/drush",
                        "--uri=flowbusiness.co.jamaica", "cache-rebuild",
                        "-vvv"
                    ])
                    click.echo(click.style('Done Flush in panama', fg='green'))
                elif flush == "install":
                    subprocess.run([
                        "docker-compose", "-f",
                        "../liberty_docker/php/docker-compose.yaml", "run",
                        "--rm", "cw-php", "composer require drush/drush"
                    ])
                    click.echo(click.style('Done Flush in panama', fg='green'))

        else:
            click.echo(
                click.style(
                    'Environment variables not found. Check your .env file',
                    fg='red'))
コード例 #8
0
from atlassian import Bamboo
import argparse

bamboo = Bamboo(url="https://", username="", password="")


def create_plan_branch(plan, vcs_branch):
    bamboo_branch = vcs_branch.replace("/", "-")
    return bamboo.create_branch(plan,
                                bamboo_branch,
                                vcs_branch=vcs_branch,
                                enabled=True)


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--plan")
    parser.add_argument("--vcs_branch")
    args = parser.parse_args()

    branch = create_plan_branch(plan=args.plan, vcs_branch=args.vcs_branch)
    print(branch.get("key") or branch)


if __name__ == "__main__":
    main()