### Generate a new YouTrack app project Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide Run this command in an empty directory to use the YouTrack App Generator. It sets up the basic project structure, installs dependencies, and prompts for required fields in the `manifest.json` file, including a sample widget. ```Shell npm create @jetbrains/youtrack-app@latest ``` -------------------------------- ### Install YouTrack Scripting Packages Globally Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/js-workflow-external-editor These commands install the YouTrack scripting API and core scripting packages globally on your system, making them accessible from any project. This is the easiest way to get started with YouTrack workflow development. ```Shell npm install -g @jetbrains/youtrack-scripting-api npm install -g @jetbrains/youtrack-scripting ``` -------------------------------- ### Implement a Simple YouTrack UI Widget (HTML) Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide This HTML snippet demonstrates a basic YouTrack widget designed to display a customer logo. Widgets are stored in the `widgets` folder, declared in the app manifest, and embedded in specific YouTrack UI extension points. ```HTML ``` -------------------------------- ### API Sample: Get BackupFiles Request URL Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-databaseBackup-backups An example URL demonstrating how to request a list of backup files with specific fields and a limit on the number of returned entries. ```HTTP https://example.com/youtrack/api/admin/databaseBackup/backups?fields=creationDate,file,error,link,name,size,id&$top=3 ``` -------------------------------- ### Build and Upload YouTrack App using npm Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide This section describes how to build and upload a YouTrack app package using npm commands. It covers compiling the app and then uploading it to a specified YouTrack host using a permanent token for authentication. This method is applicable for apps created with the YouTrack App Generator. ```Shell npm run build ``` ```Shell npm run upload -- --host --token ``` -------------------------------- ### Invoke YouTrack HTTP Handler from Widget (HTML Script) Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide This HTML script block shows how to register a YouTrack app host and trigger an alert, demonstrating a basic interaction pattern for invoking functionality, potentially including custom HTTP handlers, from within a widget. ```HTML ``` -------------------------------- ### YouTrack REST API: Sample Search Suggestions Request URL Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-search-assist Provides an example URL for making a GET request to the `/api/search/assist` endpoint. This sample demonstrates how to specify multiple fields to be returned in the response, such as caret, query, and various suggestion details. ```HTTP https://example.youtrack.cloud/api/search/assist?fields=caret,query,suggestions(caret,completionEnd,completionStart,description,group,matchingEnd,matchingStart,option) ``` -------------------------------- ### YouTrack App Manifest JSON Template Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide This template provides a comprehensive `manifest.json` structure for YouTrack apps, defining metadata such as name, version, YouTrack compatibility, vendor information, and widget configurations. It's crucial for customizing app behavior and appearance within YouTrack. ```JSON { "$schema": "https://json.schemastore.org/youtrack-app.json", "name": "template-app", "title": "Template App", "description": "App description", "version": "1.0.0", "url": "https://github.com/example/youtrack-app", "icon": "icon.svg", "iconDark": "icon-dark.svg", "minYouTrackVersion": "2022.2.0", "maxYouTrackVersion": "2024.2.0", "changeNotes": "Version 0.0.1: Feature 1", "vendor": { "name": "JetBrains s.r.o.", "url": "https://www.jetbrains.com/", "email": "support@jetbrains.com" }, "widgets": [ { "key": "sample-widget", "name": "Sample Widget", "description": "Optional widget description", "extensionPoint": "ISSUE_FIELD_PANEL_FIRST", "indexPath": "index.html", "iconPath": "icon.png", "settingsSchemaPath": "sample-widget-settings.json", "permissions": ["ISSUE_READ", "ADMIN_READ_APP"], "defaultDimensions": { "height": "40px", "width": "80%" }, "expectedDimensions": { "height": 40, "width": 150 } } ] } ``` -------------------------------- ### API Sample: Get BackupFiles Response Body Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-databaseBackup-backups An example JSON response body showing a list of `BackupFile` entities returned by the GET request, including their name, size, creation date, link, and ID. ```JSON [ { "name": "2019-05-22-13-14-07.tar.gz", "size": 8056029, "creationDate": 1558523648000, "link": "backupFile/2019-05-22-13-14-07.tar.gz", "error": null, "id": "2019-05-22-13-14-07.tar.gz", "$type": "BackupFile" }, { "name": "2019-05-21-09-00-00.tar.gz", "size": 8055995, "creationDate": 1558422000000, "link": "backupFile/2019-05-21-09-00-00.tar.gz", "error": null, "id": "2019-05-21-09-00-00.tar.gz", "$type": "BackupFile" }, { "name": "2019-05-20-09-00-00.tar.gz", "size": 8055809, "creationDate": 1558335600000, "link": "backupFile/2019-05-20-09-00-00.tar.gz", "error": null, "id": "2019-05-20-09-00-00.tar.gz", "$type": "BackupFile" } ] ``` -------------------------------- ### Define YouTrack App Settings Schema (JSON) Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide This JSON schema defines the structure for custom settings within a YouTrack application. These settings, configured via `settings.json`, are accessible to administrators and can be utilized by JavaScript-based scripts within the app package. ```JSON { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "title": "App Settings", "description": "Here you can provide values for the app settings", "properties": { "stringSetting": { "title": "Name", "type": "string", "minLength": 1 }, "booleanSetting": { "type": "boolean" }, "integerSetting": { "type": "integer", "x-scope": "GLOBAL" }, "numberSetting": { "type": "number", "x-scope": "PROJECT" }, "secretSetting": { "type": "string", "format": "secret" }, "arraySetting": { "type": "array", "items": { " x-entity": "User", "type": "object" } }, "userSetting": { "type": "object", "x-entity": "User" } } } ``` -------------------------------- ### Get All Project Helpdesk Settings API Request Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Project-Helpdesk-Settings_Get-All-Project-Helpdesk-Settings Details the HTTP GET request to retrieve all project helpdesk settings, including optional query parameters for filtering and pagination. ```APIDOC Method: GET Endpoint: /helpdesksettings Query Parameters: fields: Type: string Description: Optional. Returns only the specified subset of the fields for each ProjectHelpdeskSettings. Use Fields Syntax to define the subset. $skip: Type: int Description: Optional. Lets you set a number of ProjectHelpdeskSettings to skip before returning the first one. $top: Type: int Description: Optional. Lets you set the maximum number of ProjectHelpdeskSettings to return. ``` -------------------------------- ### Example API Request URL for Fetching User Group Details Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-usergroups-usergroupID-subgroups Provides a concrete example of a GET request URL used to fetch user group details, demonstrating how to specify fields for the response. ```APIDOC https://example.youtrack.cloud/hub/api/rest/usergroups/4fg27fe4-f780-4a61-9eff-2fe797b9b9f4?fields=id,name,users(login) ``` -------------------------------- ### Sample Request: Get Project Time Tracking Settings Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-admin-projects-projectID-timeTrackingSettings An example URL for retrieving project time tracking settings, demonstrating how to specify multiple fields for inclusion in the response. ```HTTP https://example.youtrack.cloud/api/admin/projects/0-3/timeTrackingSettings?fields=enabled,estimate(field(id,name),id),timeSpent(field(id,name),id),workItemTypes(id,name,autoAttached) ``` -------------------------------- ### YouTrack REST API: Sample VersionBundle GET Request URL Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-customFieldSettings-bundles-version An example URL demonstrating how to retrieve VersionBundle information with specific fields. ```APIDOC https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/version?fields=id,name,fieldType(presentation,id),values(id,name,$type) ``` -------------------------------- ### Sample Request to Get Agile Board Details Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-agiles An example HTTP GET request to retrieve detailed information about a specific YouTrack agile board. This request demonstrates how to use the 'fields' query parameter to select various attributes like ID, name, owner, projects, sprints, and column settings for the response. ```HTTP https://example.youtrack.cloud/api/agiles/108-4?fields=id,name,owner(id,name,login),projects(id,name),sprints(id,name),visibleFor(name,id),visibleForProjectBased,updateableBy(id,name),updateableByProjectBased,hideOrphansSwimlane,orphansAtTheTop,currentSprint(id,name),columnSettings(field(id,name),columns(presentation,isResolved,fieldValues(id,name))) ``` -------------------------------- ### API Sample: GET ProjectCustomFields Request Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-customFieldSettings-customFields-fieldID-instances An example URL for requesting a list of project custom fields with specific attributes. ```HTTP https://example.youtrack.cloud/api/admin/customFieldSettings/customFields/58-8/instances?fields=field(name,id),project(id,name),canBeEmpty,emptyFieldText,isPublic,ordinal ``` -------------------------------- ### Read Build Bundle Elements (GET) Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-customFieldSettings-bundles-build-bundleID-values Describes how to retrieve a list of all build values from a specific build bundle using a GET request. It details the request syntax, available query parameters (`fields`, `$skip`, `$top`), and provides sample request and response body examples. ```APIDOC GET /api/admin/customFieldSettings/bundles/build/{bundleID}/values?{fields}&{$top}&{$skip} Request Parameters: - fields: String (A list of BuildBundleElement attributes that should be returned in the response. If no field is specified, only the `entityID` is returned.) - $skip: Int (Optional. Lets you set a number of returned entities to skip before returning the first one.) - $top: Int (Optional. Lets you specify the maximum number of entries that are returned in the response. If you don't set the $top value, the server limits the maximum number of returned entries. The server returns a maximum of 42 entries for most resources that return collections. For more information, see Pagination.) ``` ```HTTP https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/build/86-3/values?fields=id,name,assembleDate,description ``` ```JSON [ { "assembleDate": 1627300800000, "description": null, "name": "135", "id": "150-5", "$type": "BuildBundleElement" }, { "assembleDate": 1627387200000, "description": null, "name": "136", "id": "150-6", "$type": "BuildBundleElement" }, { "assembleDate": 1627473600000, "description": null, "name": "137", "id": "150-7", "$type": "BuildBundleElement" }, { "assembleDate": 1627560000000, "description": null, "name": "138", "id": "150-8", "$type": "BuildBundleElement" } ] ``` -------------------------------- ### Sample YouTrack REST API Activities Request Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-activities An example HTTP GET request to the YouTrack REST API's /api/activities endpoint, demonstrating how to specify fields, categories, and pagination parameters for retrieving activity items. ```HTTP https://example.youtrack.cloud/api/activities?fields=id,author(id,login,name),timestamp,added(id,idreadable),target(id,idReadable)&categories=IssueCreatedCategory,CommentsCategory&$skip=30&$top=3 ``` -------------------------------- ### YouTrack REST API: Sample UserBundle GET Request Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-customFieldSettings-bundles-user Example URL for retrieving UserBundle information, specifying 'id', 'name', and 'aggregatedUsers' fields. ```APIDOC https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/user?fields=id,name,aggregatedUsers(id,login) ``` -------------------------------- ### Example: Get YouTrack Issue with Custom Fields using cURL Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/api-howto-get-issues-with-all-values A cURL command example demonstrating how to send a GET request to the YouTrack REST API to retrieve an issue. It includes the 'fields' query parameter to fetch various custom fields and their nested attributes, along with necessary headers for authentication and content type. ```curl curl -X GET \n'https://example.youtrack.cloud/api/issues/SP-8?fields=$type,id,summary,customFields($type,id,projectCustomField($type,id,field($type,id,name)),value($type,avatarUrl,buildLink,color(id),fullName,id,isResolved,localizedName,login,minutes,name,presentation,text))' \n-H 'Accept: application/json' \n-H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX' \n-H 'Cache-Control: no-cache' \n-H 'Content-Type: application/json' ``` -------------------------------- ### Hub API Query Syntax Examples Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/hub-api-query-syntax Illustrates common Hub API query patterns with practical examples, demonstrating how to find users by name, status, or project access using the defined grammar. ```APIDOC Query: name: admin Description: Finds all users with the visibleName "admin". Query: is: banned Description: Finds all banned users. Query: access(project: MyProject, with: read-issue-permission) Description: Finds all users with access to the project "MyProject" and permission "read-issue-permission". ``` -------------------------------- ### API Sample: GET ProjectCustomFields Response Body Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-customFieldSettings-customFields-fieldID-instances An example JSON response body for a successful GET request to retrieve project custom field instances. ```JSON [ { "emptyFieldText": "No due date", "project": { "name": "Sandbox", "id": "0-3", "$type": "Project" }, "ordinal": 0, "canBeEmpty": true, "isPublic": true, "field": { "name": "Due Date", "id": "58-8", "$type": "CustomField" }, "$type": "SimpleProjectCustomField" } ] ``` -------------------------------- ### YouTrack REST API: Sample GET UserGroup Request Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-groups An example URL demonstrating how to retrieve specific fields for a user group using the GET method. ```HTTP https://example.youtrack.cloud/api/groups/3-2?fields=id,name,ringId,usersCount,teamForProject(name,shortName) ``` -------------------------------- ### Hub REST API: Sample GET Request for Users of a Group Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-usergroups-usergroupID-users Provides a concrete example of a GET request to retrieve users from a specific group, demonstrating the use of the `fields` parameter. ```HTTP https://example.youtrack.cloud/hub/api/rest/usergroups/9ec6d2e0-fa56-4765-92e1-3b6d7b4c81b8/users?fields=id,login,banned,banReason,banBadge,guest,creationTime,lastAccessTime ``` -------------------------------- ### YouTrack REST API: Sample Request for Get User Tags Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-users-userID-tags Provides an example URL for the `GET /api/users/{userID}/tags` request, demonstrating how to specify fields for the response. ```HTTP https://example.youtrack.cloud/api/users/1-3/tags?fields=id,name,isUpdatable,owner(id,login,name),untagOnResolve,updateableBy(id,name),visibleFor(id,name) ``` -------------------------------- ### Example Query for findByExtensionProperties Method Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/v1-BundleProjectCustomField An example JSON object demonstrating the structure of the `extensionPropertiesQuery` parameter used in the `findByExtensionProperties` method of the `BundleProjectCustomField` class. ```JSON { "property1": "value1", "property2": "value2" } ``` -------------------------------- ### Create a Custom YouTrack HTTP Handler (JavaScript) Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/apps-quick-start-guide This JavaScript code defines a custom HTTP handler for a YouTrack app, allowing access to YouTrack data via a custom endpoint. Handlers are stored as separate JavaScript files at the app package root and do not require manifest declarations. ```JavaScript exports.httpHandler = { endpoints: [ { scope: 'issue', method: 'GET', path: 'demo', handle: function (ctx) { ctx.response.json({message: "Hello World"}); } } ] }; ``` -------------------------------- ### DemoClient Class API Reference Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/Import-DemoClient Comprehensive API documentation for the "DemoClient" class, outlining its structure, properties, constructor, and methods for interacting with the YouTrack and Hub API. ```APIDOC Class: DemoClient Description: A demo class implementing an API client interface. Properties: connection: Type: Connection Description: The HTTP connection that can be used to retrieve data from the import source. sslKeyName: Type: string Description: The name of the SSL key if it is selected. token: Type: string Description: The authorization token or the password entered by the user. url: Type: string Description: The URL of the import source entered by the user. Constructors: DemoClient(context): Description: Creating a DemoClient instance. Parameters: context: Type: Object Description: The object holding parameters entered via the UI. Methods: getArticleUpdates(projectInfo, after, updatedAfter, top): Description: The method is only required if the client supports continuous import mode. The articles should be ordered either by internal ID or created date ascending. Returns articles that were updated after the specified timestamp. Parameters: projectInfo: Type: ProjectInfo Description: The project where the requested articles belong. after: Type: DocumentInfo Description: The article that the requested articles follow. updatedAfter: Type: string Description: The requested articles are expected to be updated after this timestamp. top: Type: number Description: The number of articles to be returned. If there are fewer articles left to import, the method returns them all. If the method returns more articles than it was requested, those extra articles are not processed, and the next time the method is called, the last of the processed articles is passed into `after` parameter. Return Value: Type: Array.
Description: Articles following the specified one in the specified project that were updated after the specified timestamp. getArticles(projectInfo, after, top): Description: Returns articles from the specified project. Parameters: projectInfo: Type: ProjectInfo Description: The project where the specified articles belong to. after: Type: DocumentInfo Description: The article that the returned articles follow. top: Type: number Description: The number of articles to be returned. If there are fewer articles left to import, the method returns them all. If the method returns more articles than it was requested, those extra articles are not processed, and the next time the method is called, the last of the processed articles is passed into `after` parameter. Return Value: Type: Array.
Description: Articles following the specified one in the specified project. getAttachmentContent(project, document, attachment): Description: Returns the content of the specified attachment. Alternatively, you can get the attachment content as an HTTP response using the http module. Parameters: project: Type: ProjectInfo Description: The project where the attachment belongs to. document: Type: DocumentInfo Description: The type of the entity where the attachment belongs to (issue or article). attachment: Type: Attachment Description: The specified attachment. Return Value: Type: AttachmentContentWithMetadata Description: The content of the specified attachment. ``` -------------------------------- ### YouTrack REST API: Sample GET Request for OwnedBundleElement Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-admin-customFieldSettings-bundles-ownedField-bundleID-values Provides an example URL for a GET request to retrieve a specific `OwnedBundleElement`, demonstrating how to include specific fields in the response. ```URL https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/ownedField/83-0/values/148-6?fields=id,name,owner(id,login,fullName) ``` -------------------------------- ### Get Widget API Response Body JSON Schema Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Widgets_Get-Widget Defines the structure of the JSON object returned in the response body upon a successful 'Get Widget' API call. It includes various properties such as key, version, installation status, and associated application and service details. ```APIDOC { "key": string, "version": string, "installedVersion": string, "latestVersion": string, "installedFromRepository": boolean, "archiveId": string, "manifest": raw, "disabled": boolean, "applicationNames": [string, ...], "accessibleServices": [service, ...], "capabilities": [string, ...], "repositoryUrl": string, "repositoryIconUrl": string, "id": string /* from uuid */, "aliases": [alias, ...] /* from uuid */ } ``` -------------------------------- ### JavaScript Example: Searching YouTrack Issues Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/v1-search Demonstrates how to use the `search` function from the `@jetbrains/youtrack-scripting-api/search` module to find issues. It shows how to construct a query, including support for extension properties, and process the results. ```JavaScript const search = require('@jetbrains/youtrack-scripting-api/search'); ... const query = { query: 'for: me State: {In Progress} issue id: -' + issue.id, extensionPropertiesQuery: { property1: "value1", property2: "value2" } } const inProgress = search.search(issue.project, query, ctx.currentUser); if (inProgress.isNotEmpty()) { // Do something with the found set of issues. } ``` -------------------------------- ### Get Project Helpdesk Settings API Request Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Project-Helpdesk-Settings_Get-Project-Helpdesk-Settings Describes the HTTP GET request to retrieve helpdesk settings for a specific project by its ID. It includes the endpoint path and an optional query parameter for field selection. ```APIDOC Method: GET Endpoint: /helpdesksettings/{project helpdesk settings id} Parameters: fields: Type: string Description: Optional. Returns only the specified subset of the fields for each ProjectHelpdeskSettings. Use Fields Syntax to define the subset. ``` -------------------------------- ### Sample Request: Get Project Roles of a Group Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-usergroups-usergroupID-projectroles An example HTTP GET request to retrieve project roles for a specific group, requesting the 'id', 'role(name)', and 'project(name)' fields. ```HTTP https://example.youtrack.cloud/hub/api/rest/usergroups/358f6edd-57a6-482a-b0ca-5255af60097a/projectroles?fields=id,role(name),project(name) ``` -------------------------------- ### YouTrack REST API: Sample Request for Saved Queries Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-savedQueries Example HTTP GET request to retrieve a list of saved queries, demonstrating the use of `fields`, `$skip`, and `$top` parameters to filter and paginate results. ```HTTP https://example.youtrack.cloud/api/savedQueries?fields=id,name,query,owner(login,name),visibleFor(name,id),issues(idReadable,summary)&$skip=8&$top=3 ``` -------------------------------- ### Get Startup API Endpoint Documentation Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Settings-health_Get-Startup Documents the GET /health/startup endpoint of the YouTrack and Hub REST API. It specifies the request method, the full URL path, and a comprehensive list of possible HTTP response codes along with their meanings, including success and various error conditions. The response body is described as binary data. ```APIDOC API Endpoint: Get Startup Method: GET URL: /health/startup Response Codes: 200 OK: Successful request. 400 Bad Request: At least one of the request parameters is invalid. For example, a required field in the passed JSON object is missing. For details, check the error message in the response. 403 Forbidden: The requester has no access to the requested resource. 404 Not Found: The requested resource was not found. 500 Internal Server Error: Failed to process request because of the server error. For details, check the error message in the response. Response Body: Type: binary-data ``` -------------------------------- ### Sample Response: Get Project Roles of a Group Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-usergroups-usergroupID-projectroles An example JSON response body for a successful GET request, showing a paginated list of project roles with their IDs, role names, and associated project names. ```JSON { "type": "ProjectrolesPage", "skip": 0, "top": 100, "total": 20, "projectroles": [ { "type": "projectRole", "id": "f34aff29-9162-414a-a1a3-12219ebfbbb9", "role": { "name": "System Admin", "immutable": false }, "project": { "name": "Global" } }, { "type": "projectRole", "id": "571ea3d6-1f2d-4313-a951-dfb0c2887299", "role": { "name": "Project Admin", "immutable": false }, "project": { "name": "Model Engineering" } }, { "type": "projectRole", "id": "5252f3da-ee32-451d-b2e3-694e641455be", "role": { "name": "Contributor", "immutable": false }, "project": { "name": "Helpdesk" } } ] } ``` -------------------------------- ### Prepare for Import (YouTrack REST API) Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/Import-DemoClient This API method is invoked immediately before an import round begins. It allows the client to perform any necessary initialization or setup tasks required for the import process. ```APIDOC prepareToImport() Description: A function that is invoked right before an import round is started. A client can perform any necessary initialization here. ``` -------------------------------- ### YouTrack REST API: Sample Get Telemetry Request Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-admin-telemetry Provides an example URL for a `GET` request to retrieve specific telemetry attributes like `databaseSize`, `uptime`, `startedTime`, and `textIndexSize` from a YouTrack instance. ```HTTP https://example.youtrack.cloud/api/admin/telemetry?fields=databaseSize,uptime,startedTime,textIndexSize ``` -------------------------------- ### Verify Issue Link: GET /api/issues/{issueId}/links Request URL Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/api-howto-link-issues Example of the GET request URL to verify if a command was successfully applied and to retrieve details of linked issues. The `fields` parameter specifies the desired link attributes. ```HTTP GET https://example.youtrack.cloud/api/issues/NP-113/links?fields=linkType(name,sourceToTarget,targetToSource),issues(id,idReadable,summary) ``` -------------------------------- ### YouTrack REST API: Sample Response Body for Minimal Project Creation Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-projects Example JSON response after successfully creating a new project, showing the assigned ID and other details. ```JSON { "shortName": "NP", "leader": { "login": "john.doe", "name": "John Doe", "id": "1-2", "$type": "User" }, "name": "New Project", "id": "0-16", "$type": "Project" } ``` -------------------------------- ### Hub REST API: Sample GET Response for User Group Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-operations-users-userID-groups An example of the JSON response body returned by a successful GET request for a user group, showing the 'type', 'id', and 'name' fields as requested in the sample request. ```JSON { "type": "userGroup", "id": "9d3d19df-755d-4bc0-84fe-675d79e8c49a", "name": "Admins" } ``` -------------------------------- ### YouTrack Workflow Rule Template Comment Block Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/Quick-Start-Guide-Workflows-JS This initial comment block in a YouTrack workflow rule template describes the rule type (on-change) and provides a link to the quick start guide. It's typically removed after understanding its purpose. ```JavaScript /** * This is a template for an on-change rule. This rule defines what * happens when a change is applied to an issue. * * For details, read the Quick Start Guide: * https://www.jetbrains.com/help/youtrack/devportal/Quick-Start-Guide-Workflows-JS.html */ ``` -------------------------------- ### YouTrack REST API: Sample Response Body for Get Issue VCS Changes Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-issues-issueID-vcsChanges An example JSON array representing the response body for a successful GET request to retrieve VCS changes, showing multiple `VcsChange` entities with their attributes. ```JSON [ { "version": "4f193a6de41c65245a3a044f568604137f1ecc09", "date": 1495443753000, "state": 0, "files": -1, "author": { "login": "jane.doe", "$type": "User" }, "fetched": null, "text": "#NP-5 In Progress", "id": "127-3", "$type": "VcsChange" }, { "version": "22bce6953b1b63c18c333efbd245a4382326b95d", "date": 1495443805000, "state": 2, "files": -1, "author": { "login": "jane.doe", "$type": "User" }, "fetched": null, "text": " #NP-5 Open", "id": "127-4", "$type": "VcsChange" }, { "version": "8174a198e670d36a649f3b4a12ab55ac88c78f71", "date": 1564484957000, "state": 1, "files": -1, "author": { "login": "system_user@iSoHnĐťAu9X", "$type": "VcsUnresolvedUser" }, "fetched": 1640085901059, "text": "Update \n\n#NP-5 fix the issue", "id": "127-23", "$type": "VcsChange" } ] ``` -------------------------------- ### YouTrack REST API: Sample Request to Create Minimal Project Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-projects Example URL for creating a new project with minimal required fields, requesting specific attributes in the response. ```HTTP https://example.youtrack.cloud/api/admin/projects?fields=id,shortName,name,leader(id,login,name) ``` -------------------------------- ### Sample Response Body: Get Project Time Tracking Settings Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-admin-projects-projectID-timeTrackingSettings An example JSON response body for retrieving project time tracking settings, showing the enabled status, work item types, and details for the 'timeSpent' field. ```JSON { "enabled": true, "workItemTypes": [ { "name": "Development", "autoAttached": true, "id": "65-0", "$type": "WorkItemType" }, { "name": "Testing", "autoAttached": true, "id": "65-1", "$type": "WorkItemType" }, { "name": "Documentation", "autoAttached": false, "id": "65-2", "$type": "WorkItemType" } ], "estimate": null, "timeSpent": { "field": { "name": "Spent time", "id": "58-10", "$type": "CustomField" }, "id": "104-1", "$type": "PeriodProjectCustomField" }, "$type": "ProjectTimeTrackingSettings" } ``` -------------------------------- ### YouTrack REST API: Sample GET Request for Issue Custom Fields Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-issues-issueID-customFields Provides a concrete example of a `GET` request URL to retrieve issue custom fields for issue '2-7', specifying `id`, `name`, and `value` attributes to be returned. ```HTTP https://example.youtrack.cloud/api/issues/2-7/fields?fields=id,name,value(id,name) ``` -------------------------------- ### Sample YouTrack Widget HTML Source Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/app-overview This HTML snippet provides the basic structure for a YouTrack widget, including CSS linking, a body with an image, and a JavaScript module script to register the app with `YTApp.register()`. ```HTML ``` -------------------------------- ### Filter YouTrack issues by project name using REST API Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/api-query-syntax This example illustrates how to use the `query` parameter in a GET request to filter YouTrack issues. The query `project: {Sample Project}` is used to retrieve only issues associated with 'Sample Project', demonstrating basic query syntax. ```curl curl -X GET \ 'https://example.youtrack.cloud/api/issues?fields=id,summary,project(name)&query=project:+%7BSample+Project%7D' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' ``` ```JSON [ { "project":{ "name":"Sample Project", "$type":"Project" }, "summary":"REST API lets you create issues!", "id":"2-142", "$type":"Issue" }, { "project":{ "name":"Sample Project", "$type":"Project" }, "summary":"Issue from REST #1", "id":"2-0", "$type":"Issue" }] ``` -------------------------------- ### Example package.json for YouTrack Workflow Scripts Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/js-workflow-external-editor This `package.json` example demonstrates how to define scripts for managing YouTrack workflows. It includes commands for listing, downloading, and uploading workflows for both production and test environments, leveraging `cross-env` to access environment-specific configurations. ```json { "name": "myyoutrackworkflows", "version": "1.0.0", "description": "Custom workflows for my YouTrack installation", "scripts": { "list-prod": "cross-env youtrack-workflow list --host=$npm_config_host_prod --token=$npm_config_token_prod", "download-prod": "cross-env youtrack-workflow download --host=$npm_config_host_prod --token=$npm_config_token_prod", "upload-prod": "cross-env youtrack-workflow upload --host=$npm_config_host_prod --token=$npm_config_token_prod", "list-test": "cross-env youtrack-workflow list --host=$npm_config_host_test --token=$npm_config_token_test", "download-test": "cross-env youtrack-workflow download --host=$npm_config_host_test --token=$npm_config_token_test", "upload-test": "cross-env youtrack-workflow upload --host=$npm_config_host_test --token=$npm_config_token_test" }, "author": "Me", "devDependencies": { "@jetbrains/youtrack-scripting": "0.0.XX", "@jetbrains/youtrack-scripting-api": "20XX.X.XXXXX", "cross-env": "^5.1.1" } } ``` -------------------------------- ### YouTrack REST API: Sample GET IssueWorkItem Request Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-workItems An example HTTP GET request to retrieve a specific `IssueWorkItem` from YouTrack, demonstrating the use of the `fields` parameter to select specific attributes like creation date, duration, and author. ```HTTP https://example.youtrack.cloud/api/workItems/115-2?fields=created,duration(presentation,minutes),author(name),creator(name),date,id ``` -------------------------------- ### YouTrack REST API: Read Specific User (GET) Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-users Details the GET method for reading YouTrack user profile settings. Specifies required permissions, request syntax, path and query parameters, and provides multiple usage examples. ```APIDOC Method: GET /api/users/{userID}?{fields} Description: Read settings of the YouTrack profile of the specific user. Permissions: Read User Basic (for basic info), Read User (for all data). Path Parameters: - {userID}: Database ID or login of the user in YouTrack. Query Parameters: - fields: String - A list of User attributes to be returned. ``` ```HTTP https://example.youtrack.cloud/api/users/1-3?fields=name,login,banned,email,guest,online,tags(id,name,issues(idReadable)),savedQueries(name,issues(idReadable)) ``` ```JSON { "savedQueries": [], "tags": [], "online": false, "login": "jane.doe", "banned": false, "name": "Jane Doe", "$type": "User" } ``` ```HTTP https://example.youtrack.cloud/api/users/1-3?fields=name,login,banned,email,guest,online,tags(id,name,issues(idReadable)),savedQueries(name,issues(idReadable)) ``` ```JSON { "savedQueries": [], "email": "jane.doe@example.com", "tags": [ { "issues": [ { "idReadable": "SP-32", "$type": "Issue" } ], "name": "Star", "id": "6-0", "$type": "Tag" }, { "issues": [], "name": "Nice task", "id": "6-9", "$type": "Tag" }, { "issues": [], "name": "Dangerous", "id": "6-10", "$type": "Tag" } ], "online": false, "guest": false, "login": "jane.doe", "banned": false, "name": "Jane Doe", "$type": "User" } ``` ```HTTP https://example.youtrack.cloud/api/users/john.smith?fields=name,login,banned,email,guest,online ``` -------------------------------- ### Example Extension Properties Query for FeedbackForm Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/v1-FeedbackForm An example JSON object demonstrating the structure for an extension properties query used with the 'findByExtensionProperties' method of the FeedbackForm entity. ```JSON { property1: "value1", property2: "value2" } ``` -------------------------------- ### YouTrack REST API: Sample GET IssueTimeTracking Request Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-issues-issueID-timeTracking An example HTTP GET request URL demonstrating how to retrieve specific fields of issue time tracking data for a given issue ID, including work item details. ```HTTP https://example.youtrack.cloud/api/issues/SNBX-1/timeTracking?fields=draftWorkItem(id),enabled,workItems(created,duration(presentation,minutes),author(name),creator(name),date,id) ``` -------------------------------- ### YouTrack REST API: Sample Activities Page Request Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-activitiesPage An example URL demonstrating how to query the YouTrack activities page, specifying fields, categories, and pagination parameters. ```HTTP https://example.youtrack.cloud/api/activitiesPage?fields=id,beforeCursor,afterCursor,activities(id,author(name,login),timestamp)&categories=IssueCreatedCategory,CommentsCategory&$skip=30&$top=3 ``` -------------------------------- ### YouTrack REST API: Sample GET ArticleAttachment Request and Response Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-articles-articleID-attachments Provides a concrete example of a GET request URL to retrieve an article attachment with specific fields, along with the corresponding JSON response body returned by the YouTrack API. ```APIDOC Sample Request URL: https://example.youtrack.cloud/api/articles/NP-A-7/attachments/237-3?fields=id,name,author(id,name),created,updated,size,mimeType,extension,url Sample Response Body: { "created": 1629978590790, "extension": "png", "author": { "name": "John Smith", "id": "24-0", "$type": "User" }, "updated": 1629978590790, "url": "/youtrack/api/files/237-3?sign=MTYzMDE5NTIwMDAwMHwyNC0wfDIzNy0zfFUtWDhBOGkyMF9uSTVRN2xTVHNzLWJBYjN2LUF2Y2pB%0D%0AUXYzSFc2bHRkeE0NCg%0D%0A%26updated=1629978590790", "mimeType": "image/png", "name": "jetbrains.png", "size": 64014, "id": "237-3", "$type": "ArticleAttachment" } ``` -------------------------------- ### YouTrack API: Example for findByExtensionProperties Query Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/v1-TextProjectCustomField An example of the object structure for the extensionPropertiesQuery parameter used in the findByExtensionProperties method, demonstrating how to specify key-value pairs for properties. ```JSON { property1: "value1", property2: "value2" } ``` -------------------------------- ### Get unfiltered YouTrack issues via REST API Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/api-query-syntax This example demonstrates how to retrieve a complete, unfiltered list of issues from YouTrack using a GET request to the `/api/issues` endpoint. It shows the basic cURL command and the corresponding JSON response structure. ```curl curl -X GET \ 'https://example.youtrack.cloud/api/issues?fields=id,summary,project(name)' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' ``` ```JSON [ { "project":{ "name":"Demo Project", "$type":"Project" }, "summary":"Welcome to your YouTrack!", "id":"2-99", "$type":"Issue" }, { "project":{ "name":"Demo Project", "$type":"Project" }, "summary":"Create Issues", "id":"2-106", "$type":"Issue" }, { "project":{ "name":"Sample Project", "$type":"Project" }, "summary":"REST API lets you create issues!", "id":"2-142", "$type":"Issue" }, { "project":{ "name":"Sample Project", "$type":"Project" }, "summary":"Issue from REST #1", "id":"2-0", "$type":"Issue" }] ``` -------------------------------- ### API Request: Create New Project Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Projects_Create-New-Project Describes the HTTP POST endpoint and query parameters for creating a new project via the YouTrack/Hub REST API. ```APIDOC POST /projects?fields=string Parameters: - fields (Optional, string): Returns only the specified subset of the fields for each Project. Use Fields Syntax to define the subset. ``` -------------------------------- ### YouTrack REST API: Sample Request to Get Issue VCS Changes Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-issues-issueID-vcsChanges An example of a GET request to retrieve VCS changes for issue 'NP-5', specifying `id`, `date`, `fetched`, `files`, `author(login)`, `text`, `version`, and `state` fields. ```HTTP https://example.youtrack.cloud/api/issues/NP-5/vcsChanges?fields=id,date,fetched,files,author(login),text,version,state ``` -------------------------------- ### YouTrack REST API: Sample Search Suggestions Response Body Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-search-assist Presents a sample JSON response body returned by the `/api/search/assist` endpoint. This example demonstrates the structure and content of search suggestions, including `caret`, `suggestions` (with nested details like `group`, `option`, `description`), and the original `query`. ```JSON { "caret": 5, "suggestions": [ { "group": null, "completionStart": 5, "completionEnd": 5, "matchingStart": 0, "matchingEnd": 0, "caret": 6, "description": "exclude value", "option": "-", "$type": "Suggestion" }, { "group": null, "completionStart": 5, "completionEnd": 5, "matchingStart": 0, "matchingEnd": 0, "caret": 29, "description": "tag", "option": "Blocked by dependency", "$type": "Suggestion" }, { "group": null, "completionStart": 5, "completionEnd": 5, "matchingStart": 0, "matchingEnd": 0, "caret": 14, "description": "empty list of tags", "option": "no tag", "$type": "Suggestion" }, { "group": null, "completionStart": 5, "completionEnd": 5, "matchingStart": 0, "matchingEnd": 0, "caret": 10, "description": "tag", "option": "Star", "$type": "Suggestion" }, { "group": null, "completionStart": 5, "completionEnd": 5, "matchingStart": 0, "matchingEnd": 0, "caret": 9, "description": "tag", "option": "tip", "$type": "Suggestion" }, { "group": "Recent Searches", "completionStart": 0, "completionEnd": 5, "matchingStart": 0, "matchingEnd": 5, "caret": 10, "description": " ", "option": "tag: Star", "$type": "Suggestion" } ], "query": "tag: ", "$type": "SearchSuggestions" } ``` -------------------------------- ### Youtrack REST API Sample GET Request for Issues Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/operations-api-admin-projects-projectID-issues This snippet provides an example of a GET request to retrieve issues associated with a specific project in Youtrack via its REST API. The URL demonstrates the endpoint structure for accessing project-specific issues. ```APIDOC https://example.youtrack.cloud/api/admin/projects/0-6/issues/2-72 ``` -------------------------------- ### Get All Project Helpdesk Settings API Response Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/HUB-REST-API_Project-Helpdesk-Settings_Get-All-Project-Helpdesk-Settings Describes the possible HTTP response codes and the structure of the successful response body for retrieving project helpdesk settings. ```APIDOC Response Codes: 200 OK: Successful request. 400 Bad Request: At least one of the request parameters is invalid. For example, a required field in the passed JSON object is missing. For details, check the error message in the response. 403 Forbidden: The requester has no access to the requested resource. 404 Not Found: The requested resource was not found. 500 Internal Server Error: Failed to process request because of the server error. For details, check the error message in the response. Response Body Schema: { "skip": int, "top": int, "total": int, "helpdesksettings": [projectHelpdeskSettings, ...] } ``` -------------------------------- ### Hub REST API Sample: Get User Details Request Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-users-userID-userdetails An example HTTP GET request URL demonstrating how to retrieve specific user details, including selected fields like ID, email, authentication module, and user login. ```HTTP https://example.youtrack.cloud/hub/api/rest/users/7a0673d6-a39e-4724-80e7-081acb8d2c99/userdetails?fields=id,email(verified,email),authModule(name),authModuleName,user(id,login) ``` -------------------------------- ### Requiring YouTrack Workflow Module Example Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/Quick-Start-Guide-Workflows-JS An example demonstrating how to import other YouTrack workflow API modules, such as the 'workflow' module, when their properties and methods are needed for a rule. ```JavaScript const workflow = require('@jetbrains/youtrack-scripting-api/workflow'); ``` -------------------------------- ### Hub REST API: Sample GET Request for User Group Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/rest-api-hub-operations-users-userID-groups An example of a GET request to retrieve the ID and name of a specific user group by providing the user ID and group ID, along with a 'fields' parameter to specify desired attributes. ```HTTP https://example.youtrack.cloud/hub/api/rest/users/7a0563d6-a39e-4724-80e7-081acb8d2c99/groups/9d3d19df-755d-4bc0-84fe-675d79e8c49a?fields=id,name ``` -------------------------------- ### Verify npm Configuration Settings Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/js-workflow-external-editor Use this command to display your current npm configuration settings in JSON format. This helps verify that your permanent token and host address have been correctly stored in your per-user configuration file. ```Shell npm config list --json ``` -------------------------------- ### YouTrack REST API GET Projects with Permanent Token (cURL) Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/authentication-with-permanent-token Demonstrates how to make a GET request to the YouTrack REST API to fetch project details, utilizing a permanent token in the 'Authorization: Bearer' header. Two examples are provided for different YouTrack instances. ```bash curl -X GET \ 'https://youtrack.example.com/api/admin/projects?fields=id,name,shortName,createdBy%28login,name,id%29,leader%28login,name,id%29' \ -H 'Authorization: Bearer perm:cm9vdA==.dG9rZW4=.rNZ38ije7uiWwnUTRDdyFDdUkoPUPi' \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' ``` ```bash curl -X GET \ 'https://example.youtrack.cloud/api/admin/projects?fields=id,name,shortName,createdBy%28login,name,id%29,leader%28login,name,id%29' \ -H 'Authorization: Bearer perm:am9obi5kb2U=.UG9zdG1hbiBKb2huIERvZQ==.jJe0eYhhkV271j1lCpfknNYOEakNk7' \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' ``` -------------------------------- ### Add New Article: Sample Request and Response Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-articles Provides an example of a POST request to create a new article, including the request body with article details and the corresponding successful response body. ```HTTP https://example.youtrack.cloud/api/articles?fields=hasStar,content,created,updated,id,idReadable,reporter(id,name),summary,project(id,shortName),content ``` ```JSON { "project": { "shortName": "NP", "id": "81-1" }, "summary": "Let Us Document Our Process", "reporter": { "name": "John Smith", "id": "24-0" }, "content": "Here are the guidelines for the development team:\n1. Cooperation.\n2. Collaboration.\n3. Appreciation." } ``` ```JSON { "created": 1629812236934, "idReadable": "NP-A-8", "updated": 1629812236934, "hasStar": true, "project": { "shortName": "NP", "id": "81-1", "$type": "Project" }, "summary": "Let Us Document Our Process", "reporter": { "name": "John Smith", "id": "24-0", "$type": "User" }, "content": "Here are the guidelines for the development team:\n1. Cooperation.\n2. Collaboration.\n3. Appreciation.", "id": "226-15", "$type": "Article" } ``` -------------------------------- ### YouTrack REST API: Sample Request to Create Scrum Project Source: https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html/resource-api-admin-projects Example URL for creating a new project using the 'scrum' template, requesting specific attributes in the response. ```HTTP https://example.youtrack.cloud/api/admin/projects?fields=id,shortName,name,leader(id,login,name)&template=scrum ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.