PROFESSIONAL PROJECT
Python-Based CLI for Collabnet Support
Software Engineer · NXP Semiconductor
Overview
I designed and developed a Python-based troubleshooting tool to help engineers diagnose and resolve access issues within CollabNet, an enterprise platform used at NXP Semiconductors for project management, documentation, source code repositories, and access control.
Access-related incidents were among the most frequent requests handled by our Engineering Support team. Resolving them often required several exchanges between support engineers and end users to identify missing permissions, account issues, or incorrect configurations. I developed a tool that automatically investigates access problems using internal APIs and Active Directory checks, identifies missing prerequisites, and guides users through the steps required to resolve their issues.
The solution also provides automated Git/SVN troubleshooting and integrates with ServiceNow to create pre-filled support incidents when additional assistance is needed. The goal was to reduce repetitive support work, accelerate issue resolution, and allow engineers to solve common problems independently.
About the project
Project Context - Complex Access Management Across Secure Environments
As part of the Engineering Support team at NXP, we were responsible for supporting CollabNet, a platform used by engineers to manage projects, documentation, issue trackers, Git/SVN repositories, releases, and access permissions. One of the most common problems involved accessing CollabNet itself or specific resources within a project.
The complexity came from multiple layers of authorization, including different security environments (Normal Secure, Design Secure, Restricted Secure, High Secure), Active Directory groups, project memberships, and resource-specific roles. Identifying the cause of an access problem often required several manual checks and multiple exchanges between the user and our support team.
Developing an Automated Access Diagnostic Tool
I developed a Python application allowing engineers to identify a resource they couldn't access using a project name, repository name, URL, or other resource identifier. The application then performs a series of checks through internal APIs and Active Directory to identify missing access requirements. Depending on the situation, it provides actionable guidance, such as:
- Application Access: Request access to the appropriate CollabNet instance through ServiceNow.
- Account Status: Identify disabled accounts and explain how to request reactivation.
- Project Membership: Identify missing project access and provide the relevant project owners to contact.
- Resource Permissions: Determine which specific roles or permissions are required to access a repository or other project resources.
Instead of returning a generic access-denied message, the application explains what is missing, why access is blocked, and exactly what the user needs to do next.
Automated Git/SVN Troubleshooting
We also frequently encountered Git and SVN connectivity issues caused by proxy configurations within secure design environments. I extended the tool to handle these scenarios. When a user reported an issue accessing a Git or SVN repository, the application first verified that the necessary permissions were correctly configured.
If no authorization issue was detected, it identified the relevant security environment from the resource URL and provided the appropriate Git/SVN configuration instructions. This allowed users to resolve common connectivity problems without contacting support.
ServiceNow Integration and Faster Incident Resolution
For problems requiring additional assistance, I integrated the application with ServiceNow. Users could create a support incident directly from the application, with the relevant diagnostic information and resource details automatically included.
This addressed one of our biggest operational challenges. Because NXP operates globally, resolving incidents frequently involved communication across different teams and time zones. Approximately 80% of the resolution time for these incidents was spent waiting for information or responses from end users.
By collecting diagnostic information upfront and providing self-service remediation instructions, the tool significantly reduced the need for repetitive exchanges between engineers and support teams.
My contribution
Developed a Python package able to :
- Check user account in LDAP and his group membership,
- Check SVN/GIT environnement configuration and detect gaps depending on security level,
- Check Collabnet API to pull user account, targeted project informations, and access control informations,
- Interact with Service Now API to generate Incident ticket with all the required informations.
Outcomes
- Enabled self-service access troubleshooting: Allowed engineers to identify missing permissions and resolve common CollabNet access problems independently.
- Reduced support resolution delays: Addressed a process where approximately 80% of incident resolution time was spent waiting for user responses, helping eliminate unnecessary back-and-forth communication.
- Reduced repetitive support workload: Automated frequently performed diagnostic procedures, allowing the Engineering Support team to focus on more complex issues.