GitLab API - Sabine Carpenter
module-name: "GitLab API"
area: "Product Knowledge"
gitlab-group: "Create:Ecosystem"
maintainers:
- TBD
Overview
Goal: Set a clear path for GitLab API training
Tackle stage 1 first and the last stage last, but the others can be completed in any order you prefer.
Stage 0: Create and commit to the module
-
Create an issue using this template by making the Issue Title: GitLab API - Sabine Carpenter -
Add yourself and your trainer as the assignees. -
Notify your manager to let them know you've started. -
Commit to this by notifying the team to involve you in related tickets or issues. -
Optional: Set a milestone, if applicable, and a due date to help motivate yourself! -
Update your Support Team yaml file to indicate that you've started learning this knowledge area: knowledge_areas: - name: GitLab API level: 1
Stage 1: Commit and Become familiar with what GitLab API is
-
Done with Stage 1
-
Read the GitLab API Overview -
Find answers to and understand the following questions: -
How are the API routes handled differently from the Rails routes? -
What does it mean to Grapify the API? -
Where in the code do I look to find which attributes are exposed for an API route (e.g. users)?
-
Stage 2: Using the GitLab API
-
Done with Stage 2
Remember to contribute to any documentation that needs updating.
-
Read documentation for 5 different APIs, e.g. for projects, branches, etc. Paste the links here. -
Call the API using all the different authentication methods available -
Take a look at GitLab's GraphQL explorer. Using the docs (in left sidebar), build the following queries: -
List projects for a specific group (such as gitlab-com/support). -
List pipelines for a specific project (choose one from the previous query that has more than 100 pipelines). -
List the 2nd set of pipelines (since the previous query will be cut off at the first 100). -
Take a look at ticket #134208 to check your answers.
-
Stage 3: Tickets
-
Done with Stage 3
-
Look for 10 old API tickets and read through them to understand what the issues were and how they were addressed. Paste the links here. -
__ -
__ -
__ -
__ -
__ -
__ -
__ -
__ -
__ -
__
-
-
Look for 5 API related issues in the gitlab-org/gitlab issue tracker and paste the links here. -
__ -
__ -
__ -
__ -
__
-
-
Answer 5 API tickets and paste the links here. Do this even if a ticket seems too advanced for you to answer. Find the answers from an expert and relay them to the customers. -
https://gitlab.zendesk.com/agent/tickets/542118 -
https://gitlab.zendesk.com/agent/tickets/545897 -
https://gitlab.zendesk.com/agent/tickets/550164 -
https://gitlab.zendesk.com/agent/tickets/557087 -
https://gitlab.zendesk.com/agent/tickets/571386 -
https://gitlab.zendesk.com/agent/tickets/571391 -
https://gitlab.zendesk.com/agent/tickets/571386 -
https://gitlab.zendesk.com/agent/tickets/571815
-
Stage 4: Pair on Customer Calls (Optional)
-
Done with Stage 4
-
Pair on two diagnostic calls, where a customer is having trouble with GitLab API. -
call with ___ -
call with ___
-
Stage 5: GitLab API Project
-
Done with Stage 5
-
Write a small script for GitLab API integration / automation using two or more APIs of your choice, or make an improvement to an existing project. Link the project or MR. - Link: ___
Penultimate Stage: Review
You feel that you can now do all of the objectives:
- Familiar with API
- Know where to look in the code
- Make use of the API
- Can troubleshoot API questions
Any updates or improvements needed? If there are any dead links, out of date or inaccurate content, missing content whether in this module or in other documentation, list it below as tasks for yourself! Once ready, have a maintainer or manager review.
-
Update ...
Final Stage
-
Have your trainer review your tickets and assessment. If you do not have a trainer, ask an expert to review. -
Manager: schedule a call (or integrate into 1:1) to review how the module went. -
Update your Support Team yaml file to indicate that you're ready to work on tickets in this knowledge area: knowledge_areas: - name: GitLab API level: 2