Challenge Overview
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.
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.
Final Submission Guidelines
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.