Skip to content

[$600,$300] GLIB Chrome Extension-Gitlab integration  #30

@gbockus

Description

@gbockus

Description:

The GLIB-Chrome-Ext challenges are a set of challenges where we will be building out a chrome extension that inserts a button onto various vendor (Github, Gitlab, Jira, etc) sites in order to launch a new Topcoder challenge(s). The extension has been built for Github issues, and for this challenge we will be expanding the functionality to include Gitlab.

Requirements:

  • Create a vendor/Gitlab.js script that implements the required vendor functionality for a Gitlab Issue. See the vendor/Github.js file for example functionality. Only implement the single issue functionality for this challenge.
  • Gitlab oAuth application client key & secret are allowed to be embedded in the configuration for this challenge. They will be refactored out later to a more secure design.
  • Use the User Authentication chrome extension function to retrieve a gitlab access token for accessing and posting gitlab data.
  • Use the TC Challenge Mock endpoint for testing the button after it has been injected.
    • Be sure to utilize "development mode" in the extensions settings
    • Authorize on to the mock endpoint with user "mess" and password "appirio123"
  • Update the chrome extension manifest.json file and content_script.js to support your changes.
  • Insert the topcoder button before the New Issue button in the Gitlab issue and after the Update Issues button in the issues view.

image

Setup & Reference:

  • See the Github.js script in the vendor directory for an example vendor implementation. Note it is using a different OAuth service to retrieve an access token.
  • For dev mode you are able to enter any value for the project id when prompted.
  • Fork this repo and work off this branch.

Submissions:

  • Ensure good test coverage on all modules
  • Upload documentation for how to run your submission
  • A video of your working solution is required
  • Upload all your source code as a zip for review
  • Winner will be required to submit a pull request with their winning code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions