Developer
Dhananjay Mishra
technicaldmcontact@gmail.com
Performance
Key patterns and highlights from this developer's activity.
Breakdown of growth, maintenance, and fixes effort over time.
Bugs introduced vs. fixed over time.
No bugs introduced or fixed in this period.
Latest analyzed commits from this developer.
| Hash | Message | Date | Files | Effort |
|---|---|---|---|---|
| 8f1e513 | This commit **simplifies** the project's **code generation workflow** by **refactoring** the `script/generate.sh` script. It removes the reliance on `git worktree` for verifying the currency of generated files. Instead, a new `isCheck` mode has been implemented within the `github/gen-accessors.go`, `github/gen-iterators.go`, and `github/gen-stringify-test.go` Go generators, enabling them to directly confirm if their output is up-to-date. This **maintenance** change streamlines the generation process, reducing external dependencies and improving developer experience. | Mar 26 | 4 | grow |
| b7cf18f | This commit introduces a significant **API refactoring** within the **GitHub API client** for **package version management**. The previously monolithic `PackageGetAllVersions` method has been **divided** into two more specialized functions: `ListPackageVersions` for general package version listing and `ListUserPackageVersions` for fetching versions specific to the authenticated user, complemented by a new `ListPackageVersionsOptions` struct. Furthermore, a new `ListPackageVersionsIter` method is added to `github/github-iterators.go`, providing an efficient way to paginate through user package versions. This change constitutes a **breaking change** for existing consumers of the old `PackageGetAllVersions` method, requiring updates to adopt the new, more granular API. | Feb 16 | 4 | grow |
| ab5ad47 | This commit introduces a **breaking change** by **enhancing** the `RepositoriesService` methods `ListDeploymentBranchPolicies` and `ListCustomDeploymentRuleIntegrations`. These methods now accept `ListOptions`, enabling users to specify pagination and filtering parameters when retrieving **deployment branch policies** and **custom deployment rule integrations**. This **feature enhancement** improves the flexibility and control for consumers of these API endpoints, requiring existing callers to adapt to the new method signatures. The changes include updates to the method signatures in `github/repos_deployment_branch_policies.go` and `github/repos_deployment_protection_rules.go`, along with corresponding test updates. | Feb 12 | 4 | maint |
| 33ca0cf | This commit **introduces pagination support** for the `RepositoriesService.ListAllTopics` function, enhancing the ability to retrieve all repository topics. The `ListAllTopics` function in **`github/repos.go`** now accepts `ListOptions`, allowing callers to specify pagination parameters, and a new `ListAllTopicsIter` is added to **`github/github-iterators.go`** for convenient iteration. This is a **new capability** and a **breaking change**, as existing calls to `ListAllTopics` must now be updated to pass `ListOptions`. The update significantly improves the **`RepositoriesService`**'s efficiency and control when fetching large sets of topics, with comprehensive tests ensuring correct behavior. | Feb 9 | 5 | maint |
| b02895e | This commit introduces a **breaking change** to the **GitHub API client** by **refactoring** the `UserListOptions` struct within the `github` package. It replaces the embedded `ListOptions` field with a direct `PerPage` field and changes the `Since` field to a pointer type, simplifying how pagination and user filtering options are specified. This modification also removes the `UsersService.ListAllIter` method, requiring consumers to adapt their iteration logic. New accessor methods, `GetPerPage` and `GetSince`, are added to `UserListOptions` for consistent field access, and related examples and tests are updated to reflect these API changes. | Feb 8 | 8 | maint |
| d1dd1a5 | This commit **refactors** the **GitHub API client test suite** by standardizing placeholder URLs, email addresses, and IP addresses across numerous test files. It replaces specific or random domains with `example.com` in test data for **admin users, Dependabot alerts, enterprise features, Git commits, repository management, search, and user GPG keys**. This **maintenance** effort improves **test data consistency** and reliability, ensuring that tests use non-routable, generic placeholders. The change prevents potential issues with real-world domains or accidental network requests, enhancing the robustness and clarity of the test suite. | Feb 1 | 14 | maint |
| 096e4ce | This commit introduces a significant **refactoring** within the **GitHub API client library**, specifically for how **repository permissions** are represented and accessed. The `Repository.Permissions` field in `github/repos.go` has been changed from a generic `map[string]bool` to a dedicated `RepositoryPermissions` struct, improving type safety and clarity. This **breaking change** impacts any code directly accessing the `Permissions` field, which now requires using the new struct's explicit accessor methods like `GetAdmin()` or `GetPush()` defined in `github/github-accessors.go`. The change streamlines permission handling and provides a more robust API for interacting with repository access levels. | Jan 24 | 6 | maint |
| d360537 | This commit **updates project metadata** by adding 'Not-Dhananjay-Mishra' to the project's `REVIEWERS` file. This **administrative chore** expands the pool of individuals eligible to perform code reviews, directly affecting the **code review process** and **team collaboration**. The change ensures that this new contributor can be assigned or can self-assign to review pull requests, thereby distributing review responsibilities more broadly. | Jan 18 | 1 | maint |
| d4f38c2 | This commit **fixes** an issue within the **`UsersService`** by **refactoring** the `AddSocialAccounts` and `DeleteSocialAccounts` methods in `github/users_social_accounts.go`. A new `socialAccountsRequest` struct is introduced to ensure the request body is correctly formatted for these social account management operations. This change, along with updated test cases in `github/users_social_accounts_test.go`, guarantees reliable interaction with the GitHub API for adding and deleting user social accounts. | Jan 17 | 2 | maint |
| 71bd14c | This commit introduces a **feature enhancement** to the **GitHub repository API client**, specifically within the `GetSignaturesProtectedBranch` function. It modifies the function's behavior to now explicitly return `ErrBranchNotProtected` when attempting to retrieve signatures for a branch that is not protected. This change improves the **error handling** for the **branch protection signature retrieval** functionality, providing clearer feedback to callers. A new test case in `repos_test.go` has been added to validate this specific error condition, ensuring the function correctly identifies and reports unprotected branches. | Jan 5 | 2 | maint |
| c06e8a9 | This commit introduces **new API methods** to the **GitHub API client** for managing **Codespaces at the organization level**. It enables programmatic control over organization-wide Codespaces, including listing all codespaces, setting access control policies, and managing user access. Specifically, it adds functionality to `ListInOrg`, `SetOrgAccessControl`, `AddUsersToOrgAccess`, `RemoveUsersFromOrgAccess`, and provides operations to `ListUserCodespacesInOrg`, `DeleteUserCodespaceInOrg`, and `StopUserCodespaceInOrg`. This **new feature** significantly expands the **Codespaces management capabilities**, allowing for comprehensive administration of Codespaces across an entire organization. | Dec 31 | 2 | grow |
| e85e1dc | This commit introduces **new API client support** for **GitHub Codespaces Machines**, enabling the **listing of available machine types** for both repositories and individual codespaces. This **new feature** adds methods like `ListRepositoryMachineTypes` and `ListCodespaceMachineTypes` to the `github` package. It also includes necessary accessor methods for API request options, such as `GetClientIP` and `GetLocation`, within `github/github-accessors.go`. Comprehensive **unit tests** are provided for all new functionality, expanding the client's capability to programmatically query and manage Codespaces infrastructure. | Dec 22 | 4 | grow |
| c98fd62 | This commit introduces **support for the `omitzero` struct tag** within the **`structfield` linter**, enhancing its validation capabilities. It adds a **new capability** to detect and report invalid usage of `omitzero`, specifically checking for its application on incompatible field types. This ensures that developers correctly apply the `omitzero` tag, preventing potential issues in data serialization or deserialization. The changes primarily affect the `tools/structfield` module, with new test cases added to verify both valid and invalid `omitzero` scenarios. | Dec 19 | 3 | grow |
| 2c83bd6 | This commit **adds comprehensive support for additional GitHub Codespaces API endpoints** within the `github` package. This **new capability** introduces methods for managing devcontainer configurations, checking permissions, creating Codespaces from pull requests, and handling Codespace updates, exports, and publishing. New accessor methods for various Codespaces-related structs are also included to support these operations. This significantly expands the library's ability to programmatically interact with and manage **GitHub Codespaces**, providing more granular control over their lifecycle and configuration. | Dec 19 | 4 | grow |
| 59f33d9 | This commit introduces **new API capabilities** to the **GitHub client** for managing **Enterprise Team organization assignments**. It adds functions like `ListAssignments`, `AddMultipleAssignments`, `RemoveMultipleAssignments`, `GetAssignment`, `AddAssignment`, and `RemoveAssignment` within `github/enterprise_team.go`. This **new feature** allows for comprehensive programmatic control over which organizations an enterprise team is assigned to, significantly enhancing automation for enterprise administration. Extensive **test coverage** is also included in `github/enterprise_team_test.go` to ensure the reliability of these new endpoints. | Dec 11 | 2 | grow |
| 1830689 | This commit introduces **new API capabilities** for managing **Enterprise Team Members** within the GitHub client. It adds functions like `ListTeamMembers`, `BulkAddTeamMembers`, `BulkRemoveTeamMembers`, `GetTeamMembership`, `AddTeamMember`, and `RemoveTeamMember` to the `github/enterprise_team.go` file. This **new feature** significantly expands the client's functionality, allowing programmatic interaction with enterprise team memberships for automation and management. Comprehensive test coverage is also included in `github/enterprise_team_test.go` to ensure the reliability of these new functionalities. | Dec 10 | 2 | grow |
| bd1caa0 | This commit introduces **new API support** for managing **GitHub Enterprise Teams** within the client library. It adds core data structures like `EnterpriseTeam` and `EnterpriseTeamCreateOrUpdateRequest`, along with a comprehensive set of functions (`ListTeams`, `CreateTeam`, `GetTeam`, `UpdateTeam`, `DeleteTeam`) to enable full CRUD operations on these enterprise-level teams. This **new feature** significantly expands the **GitHub API client's capabilities**, allowing programmatic interaction and automation for enterprise team management. Extensive **unit tests** have been included for both the new API functions and their accessor methods, ensuring the reliability and correctness of this functionality. | Dec 8 | 4 | grow |
| ea7dd81 | This commit introduces **new capabilities** to the **`github` module**, providing comprehensive support for **Enterprise GitHub App Installation APIs**. It adds new types and functions, including `InstallApp` and `UninstallApp`, to enable programmatic management of GitHub App installations across an enterprise's organizations and repositories. Users can now list installable organizations, accessible repositories, and existing installations, significantly enhancing automation for enterprise-level GitHub App lifecycle management. This feature empowers administrators with greater control and flexibility over their GitHub App ecosystem within an enterprise context. | Nov 18 | 4 | grow |
| 9c16433 | This commit introduces **new capabilities** for managing **custom properties for organizations** at both the enterprise and individual organization levels. It adds new API methods and data structures in `github/enterprise_organization_properties.go` and `github/orgs_organization_properties.go` to `Get`, `CreateOrUpdate`, `Delete`, and `List` these properties and their values. Furthermore, it integrates these custom properties into **repository rulesets** by adding an `OrganizationProperty` field to `RepositoryRulesetConditions` and enhances `github/github-accessors.go` with new accessor methods. This **feature enhancement** allows for more flexible organization metadata management and enables dynamic rule enforcement based on custom organization attributes. | Nov 10 | 8 | grow |
| 18ac81b | This commit introduces a **new capability** to the **GitHub API client**, providing comprehensive support for managing **Organization Immutable Releases**. It adds new functions like `GetImmutableReleasesSettings`, `UpdateImmutableReleasesSettings`, and `SetImmutableReleaseRepositories` within the `github` package, allowing programmatic interaction with immutable release policies. Users can now retrieve and modify organization-level immutable release settings, manage which repositories are enforced or selected, and enable/disable immutable releases for individual repositories. This feature includes new accessor methods in `github/github-accessors.go` and comprehensive test cases to ensure the reliability of the new API interactions. | Oct 12 | 4 | grow |
This commit **simplifies** the project's **code generation workflow** by **refactoring** the `script/generate.sh` script. It removes the reliance on `git worktree` for verifying the currency of generated files. Instead, a new `isCheck` mode has been implemented within the `github/gen-accessors.go`, `github/gen-iterators.go`, and `github/gen-stringify-test.go` Go generators, enabling them to directly confirm if their output is up-to-date. This **maintenance** change streamlines the generation process, reducing external dependencies and improving developer experience.
This commit introduces a significant **API refactoring** within the **GitHub API client** for **package version management**. The previously monolithic `PackageGetAllVersions` method has been **divided** into two more specialized functions: `ListPackageVersions` for general package version listing and `ListUserPackageVersions` for fetching versions specific to the authenticated user, complemented by a new `ListPackageVersionsOptions` struct. Furthermore, a new `ListPackageVersionsIter` method is added to `github/github-iterators.go`, providing an efficient way to paginate through user package versions. This change constitutes a **breaking change** for existing consumers of the old `PackageGetAllVersions` method, requiring updates to adopt the new, more granular API.
This commit introduces a **breaking change** by **enhancing** the `RepositoriesService` methods `ListDeploymentBranchPolicies` and `ListCustomDeploymentRuleIntegrations`. These methods now accept `ListOptions`, enabling users to specify pagination and filtering parameters when retrieving **deployment branch policies** and **custom deployment rule integrations**. This **feature enhancement** improves the flexibility and control for consumers of these API endpoints, requiring existing callers to adapt to the new method signatures. The changes include updates to the method signatures in `github/repos_deployment_branch_policies.go` and `github/repos_deployment_protection_rules.go`, along with corresponding test updates.
This commit **introduces pagination support** for the `RepositoriesService.ListAllTopics` function, enhancing the ability to retrieve all repository topics. The `ListAllTopics` function in **`github/repos.go`** now accepts `ListOptions`, allowing callers to specify pagination parameters, and a new `ListAllTopicsIter` is added to **`github/github-iterators.go`** for convenient iteration. This is a **new capability** and a **breaking change**, as existing calls to `ListAllTopics` must now be updated to pass `ListOptions`. The update significantly improves the **`RepositoriesService`**'s efficiency and control when fetching large sets of topics, with comprehensive tests ensuring correct behavior.
This commit introduces a **breaking change** to the **GitHub API client** by **refactoring** the `UserListOptions` struct within the `github` package. It replaces the embedded `ListOptions` field with a direct `PerPage` field and changes the `Since` field to a pointer type, simplifying how pagination and user filtering options are specified. This modification also removes the `UsersService.ListAllIter` method, requiring consumers to adapt their iteration logic. New accessor methods, `GetPerPage` and `GetSince`, are added to `UserListOptions` for consistent field access, and related examples and tests are updated to reflect these API changes.
This commit **refactors** the **GitHub API client test suite** by standardizing placeholder URLs, email addresses, and IP addresses across numerous test files. It replaces specific or random domains with `example.com` in test data for **admin users, Dependabot alerts, enterprise features, Git commits, repository management, search, and user GPG keys**. This **maintenance** effort improves **test data consistency** and reliability, ensuring that tests use non-routable, generic placeholders. The change prevents potential issues with real-world domains or accidental network requests, enhancing the robustness and clarity of the test suite.
This commit introduces a significant **refactoring** within the **GitHub API client library**, specifically for how **repository permissions** are represented and accessed. The `Repository.Permissions` field in `github/repos.go` has been changed from a generic `map[string]bool` to a dedicated `RepositoryPermissions` struct, improving type safety and clarity. This **breaking change** impacts any code directly accessing the `Permissions` field, which now requires using the new struct's explicit accessor methods like `GetAdmin()` or `GetPush()` defined in `github/github-accessors.go`. The change streamlines permission handling and provides a more robust API for interacting with repository access levels.
This commit **updates project metadata** by adding 'Not-Dhananjay-Mishra' to the project's `REVIEWERS` file. This **administrative chore** expands the pool of individuals eligible to perform code reviews, directly affecting the **code review process** and **team collaboration**. The change ensures that this new contributor can be assigned or can self-assign to review pull requests, thereby distributing review responsibilities more broadly.
This commit **fixes** an issue within the **`UsersService`** by **refactoring** the `AddSocialAccounts` and `DeleteSocialAccounts` methods in `github/users_social_accounts.go`. A new `socialAccountsRequest` struct is introduced to ensure the request body is correctly formatted for these social account management operations. This change, along with updated test cases in `github/users_social_accounts_test.go`, guarantees reliable interaction with the GitHub API for adding and deleting user social accounts.
This commit introduces a **feature enhancement** to the **GitHub repository API client**, specifically within the `GetSignaturesProtectedBranch` function. It modifies the function's behavior to now explicitly return `ErrBranchNotProtected` when attempting to retrieve signatures for a branch that is not protected. This change improves the **error handling** for the **branch protection signature retrieval** functionality, providing clearer feedback to callers. A new test case in `repos_test.go` has been added to validate this specific error condition, ensuring the function correctly identifies and reports unprotected branches.
This commit introduces **new API methods** to the **GitHub API client** for managing **Codespaces at the organization level**. It enables programmatic control over organization-wide Codespaces, including listing all codespaces, setting access control policies, and managing user access. Specifically, it adds functionality to `ListInOrg`, `SetOrgAccessControl`, `AddUsersToOrgAccess`, `RemoveUsersFromOrgAccess`, and provides operations to `ListUserCodespacesInOrg`, `DeleteUserCodespaceInOrg`, and `StopUserCodespaceInOrg`. This **new feature** significantly expands the **Codespaces management capabilities**, allowing for comprehensive administration of Codespaces across an entire organization.
This commit introduces **new API client support** for **GitHub Codespaces Machines**, enabling the **listing of available machine types** for both repositories and individual codespaces. This **new feature** adds methods like `ListRepositoryMachineTypes` and `ListCodespaceMachineTypes` to the `github` package. It also includes necessary accessor methods for API request options, such as `GetClientIP` and `GetLocation`, within `github/github-accessors.go`. Comprehensive **unit tests** are provided for all new functionality, expanding the client's capability to programmatically query and manage Codespaces infrastructure.
This commit introduces **support for the `omitzero` struct tag** within the **`structfield` linter**, enhancing its validation capabilities. It adds a **new capability** to detect and report invalid usage of `omitzero`, specifically checking for its application on incompatible field types. This ensures that developers correctly apply the `omitzero` tag, preventing potential issues in data serialization or deserialization. The changes primarily affect the `tools/structfield` module, with new test cases added to verify both valid and invalid `omitzero` scenarios.
This commit **adds comprehensive support for additional GitHub Codespaces API endpoints** within the `github` package. This **new capability** introduces methods for managing devcontainer configurations, checking permissions, creating Codespaces from pull requests, and handling Codespace updates, exports, and publishing. New accessor methods for various Codespaces-related structs are also included to support these operations. This significantly expands the library's ability to programmatically interact with and manage **GitHub Codespaces**, providing more granular control over their lifecycle and configuration.
This commit introduces **new API capabilities** to the **GitHub client** for managing **Enterprise Team organization assignments**. It adds functions like `ListAssignments`, `AddMultipleAssignments`, `RemoveMultipleAssignments`, `GetAssignment`, `AddAssignment`, and `RemoveAssignment` within `github/enterprise_team.go`. This **new feature** allows for comprehensive programmatic control over which organizations an enterprise team is assigned to, significantly enhancing automation for enterprise administration. Extensive **test coverage** is also included in `github/enterprise_team_test.go` to ensure the reliability of these new endpoints.
This commit introduces **new API capabilities** for managing **Enterprise Team Members** within the GitHub client. It adds functions like `ListTeamMembers`, `BulkAddTeamMembers`, `BulkRemoveTeamMembers`, `GetTeamMembership`, `AddTeamMember`, and `RemoveTeamMember` to the `github/enterprise_team.go` file. This **new feature** significantly expands the client's functionality, allowing programmatic interaction with enterprise team memberships for automation and management. Comprehensive test coverage is also included in `github/enterprise_team_test.go` to ensure the reliability of these new functionalities.
This commit introduces **new API support** for managing **GitHub Enterprise Teams** within the client library. It adds core data structures like `EnterpriseTeam` and `EnterpriseTeamCreateOrUpdateRequest`, along with a comprehensive set of functions (`ListTeams`, `CreateTeam`, `GetTeam`, `UpdateTeam`, `DeleteTeam`) to enable full CRUD operations on these enterprise-level teams. This **new feature** significantly expands the **GitHub API client's capabilities**, allowing programmatic interaction and automation for enterprise team management. Extensive **unit tests** have been included for both the new API functions and their accessor methods, ensuring the reliability and correctness of this functionality.
This commit introduces **new capabilities** to the **`github` module**, providing comprehensive support for **Enterprise GitHub App Installation APIs**. It adds new types and functions, including `InstallApp` and `UninstallApp`, to enable programmatic management of GitHub App installations across an enterprise's organizations and repositories. Users can now list installable organizations, accessible repositories, and existing installations, significantly enhancing automation for enterprise-level GitHub App lifecycle management. This feature empowers administrators with greater control and flexibility over their GitHub App ecosystem within an enterprise context.
This commit introduces **new capabilities** for managing **custom properties for organizations** at both the enterprise and individual organization levels. It adds new API methods and data structures in `github/enterprise_organization_properties.go` and `github/orgs_organization_properties.go` to `Get`, `CreateOrUpdate`, `Delete`, and `List` these properties and their values. Furthermore, it integrates these custom properties into **repository rulesets** by adding an `OrganizationProperty` field to `RepositoryRulesetConditions` and enhances `github/github-accessors.go` with new accessor methods. This **feature enhancement** allows for more flexible organization metadata management and enables dynamic rule enforcement based on custom organization attributes.
This commit introduces a **new capability** to the **GitHub API client**, providing comprehensive support for managing **Organization Immutable Releases**. It adds new functions like `GetImmutableReleasesSettings`, `UpdateImmutableReleasesSettings`, and `SetImmutableReleaseRepositories` within the `github` package, allowing programmatic interaction with immutable release policies. Users can now retrieve and modify organization-level immutable release settings, manage which repositories are enforced or selected, and enable/disable immutable releases for individual repositories. This feature includes new accessor methods in `github/github-accessors.go` and comprehensive test cases to ensure the reliability of the new API interactions.
Commit activity distribution by hour and day of week. Shows when this developer is most active.
Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.