kotlin-dsl/GitHubIssues.xml (96 lines of code) (raw):

<?xml version="1.0" encoding="UTF-8"?> <dsl-extension kind="projectFeature" type="IssueTracker" generateDslJar="true" applicable="params['type'] == 'GithubIssues'"> <class name="GitHubIssueTracker"> <description> Project feature enabling integration with GitHub issue tracker </description> </class> <init> <param name="type" value="GithubIssues" /> <param name="secure:accessToken" value="" /> <param name="username" value="" /> <param name="secure:password" value="" /> </init> <function name="githubIssues"> <description> Adds a project features enabling integration with GitHub issue tracker </description> </function> <params> <param name="name" dslName="displayName" mandatory="true"> <description> Issue tracker integration display name. </description> </param> <param name="repository" dslName="repositoryURL" mandatory="true"> <description> GitHub server URL. </description> </param> <param name="authType" type="compound"> <option name="anonymous" value="anonymous" /> <option name="accessToken" value="accesstoken"> <param name="secure:accessToken" dslName="accessToken" mandatory="true" /> </option> <option name="usernameAndPassword" value="loginpassword"> <description> Authentication via login/password is no longer supported by GitHub. We highly recommend that you authenticate with access tokens instead. </description> <param name="username" dslName="userName" mandatory="true"/> <param name="secure:password" dslName="password" mandatory="true"/> </option> <option name="storedToken" value="storedToken"> <description> Use GitHub App credentials </description> <param name="tokenId" dslName="tokenId" mandatory="true"> <description> Internal ID of a token in TeamCity token storage </description> </param> </option> </param> <param name="pattern" dslName="issuesPattern"> <description> Issues ID pattern. Use regex syntax, e.g. '#(\d+)'. </description> </param> </params> <examples> <example> <description> It is not recommended to store secure values such as tokens directly in the DSL code, see [Managing Tokens](https://www.jetbrains.com/help/teamcity/storing-project-settings-in-version-control.html#Managing+Tokens) section of our documentation. </description> <code> githubIssues { id = "&lt;Connection ID>" // arbitrary ID, must be unique in the project displayName = "&lt;Connection display name>" repositoryURL = "&lt;GitHub repository URL>" authType = accessToken { accessToken = "credentialsJSON:*****" } issuesPattern = "&lt;Issue id pattern>" // optional, assumed #(\d+) if omitted } </code> </example> <example> <description> Uses a GitHub App installation token stored in TeamCity. </description> <code> githubIssues { id = "&lt;Connection ID>" // arbitrary ID, must be unique in the project displayName = "&lt;Connection display name>" repositoryURL = "&lt;GitHub repository URL>" authType = storedToken { tokenId = "tc_token_id:*****" } issuesPattern = "&lt;Issue id pattern>" // optional, assumed #(\d+) if omitted } </code> </example> </examples> </dsl-extension>