@itentialopensource/adapter-gitlab
Version:
This adapter integrates with system described as: gitlab.
956 lines (943 loc) • 186 kB
Markdown
## Using this Adapter
The `adapter.js` file contains the calls the adapter makes available to the rest of the Itential Platform. The API detailed for these calls should be available through JSDOC. The following is a brief summary of the calls.
### Generic Adapter Calls
These are adapter methods that Itential Platform or you might use. There are some other methods not shown here that might be used for internal adapter functionality.
<table border="1" class="bordered-table">
<tr>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Method Signature</span></th>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Description</span></th>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Workflow?</span></th>
</tr>
<tr>
<td style="padding:15px">connect()</td>
<td style="padding:15px">This call is run when the Adapter is first loaded by the Itential Platform. It validates the properties have been provided correctly.</td>
<td style="padding:15px">No</td>
</tr>
<tr>
<td style="padding:15px">healthCheck(callback)</td>
<td style="padding:15px">This call ensures that the adapter can communicate with Adapter for GitLab. The actual call that is used is defined in the adapter properties and .system entities action.json file.</td>
<td style="padding:15px">No</td>
</tr>
<tr>
<td style="padding:15px">refreshProperties(properties)</td>
<td style="padding:15px">This call provides the adapter the ability to accept property changes without having to restart the adapter.</td>
<td style="padding:15px">No</td>
</tr>
<tr>
<td style="padding:15px">encryptProperty(property, technique, callback)</td>
<td style="padding:15px">This call will take the provided property and technique, and return the property encrypted with the technique. This allows the property to be used in the adapterProps section for the credential password so that the password does not have to be in clear text. The adapter will decrypt the property as needed for communications with Adapter for GitLab.</td>
<td style="padding:15px">No</td>
</tr>
<tr>
<td style="padding:15px">iapUpdateAdapterConfiguration(configFile, changes, entity, type, action, callback)</td>
<td style="padding:15px">This call provides the ability to update the adapter configuration from Itential Platform - includes actions, schema, mockdata and other configurations.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapSuspendAdapter(mode, callback)</td>
<td style="padding:15px">This call provides the ability to suspend the adapter and either have requests rejected or put into a queue to be processed after the adapter is resumed.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapUnsuspendAdapter(callback)</td>
<td style="padding:15px">This call provides the ability to resume a suspended adapter. Any requests in queue will be processed before new requests.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapGetAdapterQueue(callback)</td>
<td style="padding:15px">This call will return the requests that are waiting in the queue if throttling is enabled.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapFindAdapterPath(apiPath, callback)</td>
<td style="padding:15px">This call provides the ability to see if a particular API path is supported by the adapter.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapTroubleshootAdapter(props, adapter, callback)</td>
<td style="padding:15px">This call can be used to check on the performance of the adapter - it checks connectivity, healthcheck and basic get calls.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapRunAdapterHealthcheck(adapter, callback)</td>
<td style="padding:15px">This call will return the results of a healthcheck.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapRunAdapterConnectivity(callback)</td>
<td style="padding:15px">This call will return the results of a connectivity check.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapRunAdapterBasicGet(maxCalls, callback)</td>
<td style="padding:15px">This call will return the results of running basic get API calls. By default 5 get calls without parameters will be run. You can ask for more or less by setting maxCalls.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapMoveAdapterEntitiesToDB(callback)</td>
<td style="padding:15px">This call will push the adapter configuration from the entities directory into the Adapter or Itential Platform Database.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapDeactivateTasks(tasks, callback)</td>
<td style="padding:15px">This call provides the ability to remove tasks from the adapter.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapActivateTasks(tasks, callback)</td>
<td style="padding:15px">This call provides the ability to add deactivated tasks back into the adapter.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapExpandedGenericAdapterRequest(metadata, uriPath, restMethod, pathVars, queryData, requestBody, addlHeaders, callback)</td>
<td style="padding:15px">This is an expanded Generic Call. The metadata object allows us to provide many new capabilities within the generic request.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">genericAdapterRequest(uriPath, restMethod, queryData, requestBody, addlHeaders, callback)</td>
<td style="padding:15px">This call allows you to provide the path to have the adapter call. It is an easy way to incorporate paths that have not been built into the adapter yet.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">genericAdapterRequestNoBasePath(uriPath, restMethod, queryData, requestBody, addlHeaders, callback)</td>
<td style="padding:15px">This call is the same as the genericAdapterRequest only it does not add a base_path or version to the call.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapRunAdapterLint(callback)</td>
<td style="padding:15px">Runs lint on the addapter and provides the information back.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapRunAdapterTests(callback)</td>
<td style="padding:15px">Runs baseunit and unit tests on the adapter and provides the information back.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapGetAdapterInventory(callback)</td>
<td style="padding:15px">This call provides some inventory related information about the adapter.</td>
<td style="padding:15px">Yes</td>
</tr>
</table>
<br>
### Adapter Cache Calls
These are adapter methods that are used for adapter caching. If configured, the adapter will cache based on the interval provided. However, you can force a population of the cache manually as well.
<table border="1" class="bordered-table">
<tr>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Method Signature</span></th>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Description</span></th>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Workflow?</span></th>
</tr>
<tr>
<td style="padding:15px">iapPopulateEntityCache(entityTypes, callback)</td>
<td style="padding:15px">This call populates the adapter cache.</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">iapRetrieveEntitiesCache(entityType, options, callback)</td>
<td style="padding:15px">This call retrieves the specific items from the adapter cache.</td>
<td style="padding:15px">Yes</td>
</tr>
</table>
<br>
### Adapter Broker Calls
These are adapter methods that are used to integrate to Itential Platform Brokers. This adapter currently supports the following broker calls.
<table border="1" class="bordered-table">
<tr>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Method Signature</span></th>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Description</span></th>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Workflow?</span></th>
</tr>
<tr>
<td style="padding:15px">hasEntities(entityType, entityList, callback)</td>
<td style="padding:15px">This call is utilized by the Itential Platform Device Broker to determine if the adapter has a specific entity and item of the entity.</td>
<td style="padding:15px">No</td>
</tr>
<tr>
<td style="padding:15px">getDevice(deviceName, callback)</td>
<td style="padding:15px">This call returns the details of the requested device.</td>
<td style="padding:15px">No</td>
</tr>
<tr>
<td style="padding:15px">getDevicesFiltered(options, callback)</td>
<td style="padding:15px">This call returns the list of devices that match the criteria provided in the options filter.</td>
<td style="padding:15px">No</td>
</tr>
<tr>
<td style="padding:15px">isAlive(deviceName, callback)</td>
<td style="padding:15px">This call returns whether the device status is active</td>
<td style="padding:15px">No</td>
</tr>
<tr>
<td style="padding:15px">getConfig(deviceName, format, callback)</td>
<td style="padding:15px">This call returns the configuration for the selected device.</td>
<td style="padding:15px">No</td>
</tr>
<tr>
<td style="padding:15px">iapGetDeviceCount(callback)</td>
<td style="padding:15px">This call returns the count of devices.</td>
<td style="padding:15px">No</td>
</tr>
</table>
<br>
### Specific Adapter Calls
Specific adapter calls are built based on the API of the GitLab. The Adapter Builder creates the proper method comments for generating JS-DOC for the adapter. This is the best way to get information on the calls.
<table border="1" class="bordered-table">
<tr>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Method Signature</span></th>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Description</span></th>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Path</span></th>
<th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Workflow?</span></th>
</tr>
<tr>
<td style="padding:15px">getV4ApplicationSettings(callback)</td>
<td style="padding:15px">Get the current application settings</td>
<td style="padding:15px">{base_path}/{version}/application/settings?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4ApplicationSettings(body, callback)</td>
<td style="padding:15px">Modify application settings</td>
<td style="padding:15px">{base_path}/{version}/application/settings?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4DeployKeys(callback)</td>
<td style="padding:15px">Get a list of all deploy keys across all projects</td>
<td style="padding:15px">{base_path}/{version}/deploy_keys?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4Groups(statistics, allAvailable, search, orderBy = 'name', sort = 'asc', skipGroups, withCustomAttributes, owned, minAccessLevel, callback)</td>
<td style="padding:15px">Get a groups list</td>
<td style="padding:15px">{base_path}/{version}/groups?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4Groups(body, callback)</td>
<td style="padding:15px">Create a group. Available only for users who can create groups.</td>
<td style="padding:15px">{base_path}/{version}/groups?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsId(id, callback)</td>
<td style="padding:15px">Get a single group, with containing projects.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsId(id, body, callback)</td>
<td style="padding:15px">Update a group. Available only for users who can administrate groups.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4GroupsId(id, callback)</td>
<td style="padding:15px">Remove a group.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdAccessRequests(id, page, perPage, callback)</td>
<td style="padding:15px">Gets a list of access requests for a group.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/access_requests?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdAccessRequests(id, callback)</td>
<td style="padding:15px">Requests access for the authenticated user to a group.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/access_requests?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4GroupsIdAccessRequestsUserId(id, userId, callback)</td>
<td style="padding:15px">Denies an access request for the given user.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/access_requests/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsIdAccessRequestsUserIdApprove(id, userId, body, callback)</td>
<td style="padding:15px">Approves an access request for the given user.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/access_requests/{pathv2}/approve?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdIssues(id, state = 'opened', labels, milestone, orderBy = 'created_at', sort = 'asc', page, perPage, callback)</td>
<td style="padding:15px">Get a list of group issues</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/issues?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdMembers(id, query, page, perPage, callback)</td>
<td style="padding:15px">Gets a list of group or project members viewable by the authenticated user.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/members?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdMembers(id, body, callback)</td>
<td style="padding:15px">Adds a member to a group or project.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/members?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdMembersUserId(id, userId, callback)</td>
<td style="padding:15px">Gets a member of a group or project.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/members/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsIdMembersUserId(id, userId, body, callback)</td>
<td style="padding:15px">Updates a member of a group or project.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/members/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4GroupsIdMembersUserId(id, userId, callback)</td>
<td style="padding:15px">Removes a user from a group or project.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/members/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdNotificationSettings(id, callback)</td>
<td style="padding:15px">Get group level notification level settings, defaults to Global</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/notification_settings?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsIdNotificationSettings(id, body, callback)</td>
<td style="padding:15px">Update group level notification level settings, defaults to Global</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/notification_settings?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdProjectsWithOptions(id, queryData, callback)</td>
<td style="padding:15px">Get a list of projects in this group.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/projects?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdProjectsProjectId(id, projectId, callback)</td>
<td style="padding:15px">Transfer a project to the group namespace. Available only for admin.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/projects/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdCustomAttributes(id, callback)</td>
<td style="padding:15px">Get all custom attributes on a resource.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/custom_attributes?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdCustomAttributesKey(key, id, callback)</td>
<td style="padding:15px">Get a single custom attribute on a resource.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/custom_attributes/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsIdCustomAttributes(key, id, body, callback)</td>
<td style="padding:15px">Set a custom attribute on a resource.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/custom_attributes/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4GroupsIdCustomAttributes(id, key, callback)</td>
<td style="padding:15px">Delete a custom attribute on a resource.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/custom_attributes/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdBadges(id, callback)</td>
<td style="padding:15px">Gets a list of a group’s badges.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/badges?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdBadges(id, body, callback)</td>
<td style="padding:15px">Adds a badge to a group.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/badges?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdBadgesBadgeId(id, badgeId, callback)</td>
<td style="padding:15px">Gets a badge of a group.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/badges/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsIdBadgesBadgedId(id, badgeId, body, callback)</td>
<td style="padding:15px">Updates a badge of a group.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/badges/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4GroupsIdBadgesBadgesId(id, badgeId, callback)</td>
<td style="padding:15px">Removes a badge from a group.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/badges/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdBadgesRender(id, imageUrl, linkUrl, callback)</td>
<td style="padding:15px">Returns how the link_url and image_url final URLs would be after resolving the placeholder interpolation.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/badges/render?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdBoards(id, callback)</td>
<td style="padding:15px">Lists Issue Boards in the given group.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/boards?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdBoards(name, id, callback)</td>
<td style="padding:15px">Creates a board.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/boards?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdBoardsBoardId(boardId, id, callback)</td>
<td style="padding:15px">Gets a single board.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/boards/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsIdBoardsBoardId(boardId, name, assigneeId, milestoneId, weight, id, callback)</td>
<td style="padding:15px">Updates a board.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/boards/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4GroupsIdBoardsBoardId(id, boardId, callback)</td>
<td style="padding:15px">Deletes a board.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/boards/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdBoardsBoardIdLists(boardId, id, callback)</td>
<td style="padding:15px">Get a list of the board’s lists.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/boards/{pathv2}/lists?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdBoardsBoardIdLists(labelId, id, boardId, callback)</td>
<td style="padding:15px">Creates a new Issue Board list.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/boards/{pathv2}/lists?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdBoardsBoardIdListsListId(id, boardId, listId, callback)</td>
<td style="padding:15px">Get a single board list.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/boards/{pathv2}/lists/{pathv3}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsIdBoardsBoardsIdListsListId(position, id, boardId, listId, callback)</td>
<td style="padding:15px">Updates an existing Issue Board list.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/boards/{pathv2}/lists/{pathv3}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4GroupsIdBoardsBoardIdListsListId(id, boardId, listId, callback)</td>
<td style="padding:15px">Delete a board list</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/boards/{pathv2}/lists/{pathv3}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdLabels(id, callback)</td>
<td style="padding:15px">The ID or URL-encoded path of the group owned by the authenticated user.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/labels?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsIdLabels(id, body, callback)</td>
<td style="padding:15px">Updates an existing group label.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/labels?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdLabels(id, body, callback)</td>
<td style="padding:15px">Create a new group label for a given group.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/labels?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4GroupsIdLabels(name, id, callback)</td>
<td style="padding:15px">Deletes a group label with a given name.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/labels?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdLabelsLabelIdSubscribe(id, labelId, callback)</td>
<td style="padding:15px">Subscribes the authenticated user to a group label to receive notifications.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/labels/{pathv2}/subscribe?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdLabelsLabelIdUnsubscribe(id, labelId, callback)</td>
<td style="padding:15px">Unsubscribes the authenticated user from a group label to not receive notifications from it.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/labels/{pathv2}/unsubscribe/?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdVariables(id, callback)</td>
<td style="padding:15px">Get list of a group’s variables.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/variables?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdVariables(id, key, value, callback)</td>
<td style="padding:15px">Create a new variable.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/variables?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsIdVariablesKey(id, key, value, callback)</td>
<td style="padding:15px">Update a group’s variable.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/variables/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4GroupsIdVariableKey(id, key, callback)</td>
<td style="padding:15px">Remove a group’s variable.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/variables/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdMilestones(id, iids, search, state, title, callback)</td>
<td style="padding:15px">Returns a list of group milestones.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/milestones?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdMilestones(id, body, callback)</td>
<td style="padding:15px">Creates a new group milestone.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/milestones?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdMilestonesMilestonesId(id, milestonesId, callback)</td>
<td style="padding:15px">Gets a single group milestone.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/milestones/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsIdMilestonesMilestonesId(id, milestonesId, body, callback)</td>
<td style="padding:15px">Updates an existing group milestone.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/milestones/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4GroupsIdMilestonesMilestonesId(id, milestonesId, callback)</td>
<td style="padding:15px">Delete a group milestone.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/milestones/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdMilestonesMilestoneIdMergeRequests(milestonesId, id, callback)</td>
<td style="padding:15px">Gets all merge requests assigned to a single group milestone.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/milestones/{pathv2}/merge_request?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdMilestonesMilestoneIdIssues(id, milestonesId, callback)</td>
<td style="padding:15px">Gets all issues assigned to a single group milestone.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/milestones/{pathv2}/issues?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdMilestonesMilestoneIdBurndownEvents(id, milestonesId, callback)</td>
<td style="padding:15px">Gets all merge requests assigned to a single group milestone.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/milestones/{pathv2}/burndown_events?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdEpicsEpicsIdResourceLabelEvents(id, epicsId, callback)</td>
<td style="padding:15px">Gets a list of all label events for a single epic.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/epics/{pathv2}/resource_label_events?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdEpicsEpicsIdResourceLabelEventsReourceLabelEventId(id, epicsId, resourceLabelEventId, callback)</td>
<td style="padding:15px">Returns a single label event for a specific group epic.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/epics/{pathv2}/resource_label_events/{pathv3}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdSearch(scope, search, id, callback)</td>
<td style="padding:15px">Search within the specified group.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/search?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdEpicsIdDiscussions(id, epicsId, callback)</td>
<td style="padding:15px">Gets a list of all discussions for a single epic.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/epics/{pathv2}/discussions?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdEpicsIdDiscussions(id, epicsId, bodyQuery, body, callback)</td>
<td style="padding:15px">Creates a new discussion to a single group epic.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/epics/{pathv2}/discussions?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdApproveMergeRequest(id, mergeRequestIid, body, callback)</td>
<td style="padding:15px">Post a comment to a merge request</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/merge_requests/{pathv2}/approve?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4GroupsIdEpicsIdDiscussionsId(id, epicsId, discussionId, callback)</td>
<td style="padding:15px">Returns a single discussion for a specific group epic.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/epics/{pathv2}/discussions/{pathv3}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4GroupsIdEpicsIdDiscussionsIdNotes(id, epicsId, discussionId, body, callback)</td>
<td style="padding:15px">Adds a new note to the discussion.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/epics/{pathv2}/discussions/{pathv3}/notes?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4GroupsIdEpicsIdDiscussionsIdNoteId(id, epicsId, discussionId, noteId, bodyQuery, body, callback)</td>
<td style="padding:15px">Modify existing discussion note of an epic.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/epics/{pathv2}/discussions/{pathv3}/notes/{pathv4}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4GroupsIdEpicsIdDiscussionsIdNoteId(id, epicsId, discussionId, noteId, callback)</td>
<td style="padding:15px">Deletes an existing discussion note of an epic.</td>
<td style="padding:15px">{base_path}/{version}/groups/{pathv1}/epics/{pathv2}/discussions/{pathv3}/notes/{pathv4}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4Hooks(callback)</td>
<td style="padding:15px">Get the list of system hooks</td>
<td style="padding:15px">{base_path}/{version}/hooks?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4Hooks(body, callback)</td>
<td style="padding:15px">Create a new system hook</td>
<td style="padding:15px">{base_path}/{version}/hooks?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4HooksId(id, callback)</td>
<td style="padding:15px">Test a hook</td>
<td style="padding:15px">{base_path}/{version}/hooks/{pathv1}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4HooksId(id, callback)</td>
<td style="padding:15px">Delete a hook</td>
<td style="padding:15px">{base_path}/{version}/hooks/{pathv1}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4Issues(state = 'opened', labels, milestone, orderBy = 'created_at', sort = 'asc', page, perPage, callback)</td>
<td style="padding:15px">Get currently authenticated user's issues</td>
<td style="padding:15px">{base_path}/{version}/issues?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4KeysId(id, callback)</td>
<td style="padding:15px">Get single ssh key by id. Only available to admin users</td>
<td style="padding:15px">{base_path}/{version}/keys/{pathv1}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4Namespaces(callback)</td>
<td style="padding:15px">Get a namespaces list</td>
<td style="padding:15px">{base_path}/{version}/namespaces?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4NotificationSettings(callback)</td>
<td style="padding:15px">Get global notification level settings and email, defaults to Participate</td>
<td style="padding:15px">{base_path}/{version}/notification_settings?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4NotificationSettings(body, callback)</td>
<td style="padding:15px">Update global notification level settings and email, defaults to Participate</td>
<td style="padding:15px">{base_path}/{version}/notification_settings?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4Projects(orderBy = 'id', sort = 'asc', archived, visibility = 'public', search, simple, owned, starred, membership, statistics, withCustomAttributes, withMergeRequestsEnabled, withProgrammingLanguage, wikiChecksumFailed, repositoryChecksumFailed, minAccessLevel, withIssuesEnabled, callback)</td>
<td style="padding:15px">Get a projects list for authenticated user</td>
<td style="padding:15px">{base_path}/{version}/projects?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4Projects(body, callback)</td>
<td style="padding:15px">Create new project</td>
<td style="padding:15px">{base_path}/{version}/projects?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsUserUserId(userId, body, callback)</td>
<td style="padding:15px">Create new project for a specified user. Only available to admin users.</td>
<td style="padding:15px">{base_path}/{version}/projects/user/{pathv1}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsId(id, callback)</td>
<td style="padding:15px">Get a single project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">approveV4Project(id, body, callback)</td>
<td style="padding:15px">Approve a single project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/approvals?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4ProjectsId(id, body, callback)</td>
<td style="padding:15px">Update an existing project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4ProjectsId(id, callback)</td>
<td style="padding:15px">Remove a project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdAccessRequests(id, page, perPage, callback)</td>
<td style="padding:15px">Gets a list of access requests for a project.</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/access_requests?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdAccessRequests(id, callback)</td>
<td style="padding:15px">Requests access for the authenticated user to a project.</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/access_requests?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4ProjectsIdAccessRequestsUserId(id, userId, callback)</td>
<td style="padding:15px">Denies an access request for the given user.</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/access_requests/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4ProjectsIdAccessRequestsUserIdApprove(id, userId, body, callback)</td>
<td style="padding:15px">Approves an access request for the given user.</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/access_requests/{pathv2}/approve?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdArchive(id, callback)</td>
<td style="padding:15px">Archive a project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/archive?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdBoards(id, callback)</td>
<td style="padding:15px">Get all project boards</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/boards?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdBoardsBoardIdLists(id, boardId, callback)</td>
<td style="padding:15px">Get the lists of a project board</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/boards/{pathv2}/lists?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdBoardsBoardIdLists(id, boardId, body, callback)</td>
<td style="padding:15px">Create a new board list</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/boards/{pathv2}/lists?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdBoardsBoardIdListsListId(id, boardId, listId, callback)</td>
<td style="padding:15px">Get a list of a project board</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/boards/{pathv2}/lists/{pathv3}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4ProjectsIdBoardsBoardIdListsListId(id, boardId, listId, body, callback)</td>
<td style="padding:15px">Moves a board list to a new position</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/boards/{pathv2}/lists/{pathv3}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4ProjectsIdBoardsBoardIdListsListId(id, boardId, listId, callback)</td>
<td style="padding:15px">Delete a board list</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/boards/{pathv2}/lists/{pathv3}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdDeployKeys(id, callback)</td>
<td style="padding:15px">Get a specific project's deploy keys</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/deploy_keys?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdDeployKeys(id, body, callback)</td>
<td style="padding:15px">Add new deploy key to currently authenticated user</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/deploy_keys?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdDeployKeysKeyId(id, keyId, callback)</td>
<td style="padding:15px">Get single deploy key</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/deploy_keys/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4ProjectsIdDeployKeysKeyId(id, keyId, callback)</td>
<td style="padding:15px">Delete deploy key for a project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/deploy_keys/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdDeployKeysKeyIdEnable(id, keyId, callback)</td>
<td style="padding:15px">Enable a deploy key for a project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/deploy_keys/{pathv2}/enable?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdDeployments(id, page, perPage, callback)</td>
<td style="padding:15px">Get all deployments of the project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/deployments?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdDeploymentsDeploymentId(id, deploymentId, callback)</td>
<td style="padding:15px">Gets a specific deployment</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/deployments/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdEnvironments(id, page, perPage, callback)</td>
<td style="padding:15px">Get all environments of the project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/environments?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdEnvironments(id, body, callback)</td>
<td style="padding:15px">Creates a new environment</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/environments?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsEnvironmentsEnvironmentId(id, environmentId, callback)</td>
<td style="padding:15px">Get a specific environment</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/environments/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4ProjectsIdEnvironmentsEnvironmentId(id, environmentId, body, callback)</td>
<td style="padding:15px">Updates an existing environment</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/environments/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4ProjectsIdEnvironmentsEnvironmentId(id, environmentId, callback)</td>
<td style="padding:15px">Deletes an existing environment</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/environments/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdEvents(id, page, perPage, callback)</td>
<td style="padding:15px">Get events for a single project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/events?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdFork(id, body, callback)</td>
<td style="padding:15px">Forks a project into the user namespace of the authenticated user or the one provided.</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/fork?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4ProjectsIdFork(id, callback)</td>
<td style="padding:15px">Remove a forked_from relationship</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/fork?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdForkForkedFromId(id, forkedFromId, callback)</td>
<td style="padding:15px">Mark this project as forked from another</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/fork/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdHooks(id, page, perPage, callback)</td>
<td style="padding:15px">Get project hooks</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/hooks?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdHooks(id, body, callback)</td>
<td style="padding:15px">Add hook to project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/hooks?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdHooksHookId(id, hookId, callback)</td>
<td style="padding:15px">Get a project hook</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/hooks/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4ProjectsIdHooksHookId(id, hookId, body, callback)</td>
<td style="padding:15px">Update an existing project hook</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/hooks/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4ProjectsIdHooksHookId(id, hookId, callback)</td>
<td style="padding:15px">Removes a hook from a project.</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/hooks/{pathv2}?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdIssues(id, state = 'opened', iids, labels, milestone, orderBy = 'created_at', sort = 'asc', page, perPage, callback)</td>
<td style="padding:15px">Get a list of project issues</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/issues?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdIssues(id, body, callback)</td>
<td style="padding:15px">Create a new project issue</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/issues?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdLabels(id, callback)</td>
<td style="padding:15px">Get all labels of the project</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/labels?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">putV4ProjectsIdLabels(id, body, callback)</td>
<td style="padding:15px">Update an existing label. At least one optional parameter is required.</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/labels?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdLabels(id, body, callback)</td>
<td style="padding:15px">Create a new label</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/labels?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">deleteV4ProjectsIdLabels(id, name, callback)</td>
<td style="padding:15px">Delete an existing label</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/labels?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">getV4ProjectsIdMembers(id, query, page, perPage, callback)</td>
<td style="padding:15px">Gets a list of group or project members viewable by the authenticated user.</td>
<td style="padding:15px">{base_path}/{version}/projects/{pathv1}/members?{query}</td>
<td style="padding:15px">Yes</td>
</tr>
<tr>
<td style="padding:15px">postV4ProjectsIdMembers(id, body, callback)