Release
This resource allows you to create and manage a release in a specific GitHub repository.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.github.Repository;
import com.pulumi.github.RepositoryArgs;
import com.pulumi.github.Release;
import com.pulumi.github.ReleaseArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var repo = new Repository("repo", RepositoryArgs.builder()
.description("GitHub repo managed by Terraform")
.private_(false)
.build());
var example = new Release("example", ReleaseArgs.builder()
.repository(repo.name())
.tagName("v1.0.0")
.build());
}
}On Non-Default Branch
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.github.Repository;
import com.pulumi.github.RepositoryArgs;
import com.pulumi.github.Branch;
import com.pulumi.github.BranchArgs;
import com.pulumi.github.Release;
import com.pulumi.github.ReleaseArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleRepository = new Repository("exampleRepository", RepositoryArgs.builder()
.autoInit(true)
.build());
var exampleBranch = new Branch("exampleBranch", BranchArgs.builder()
.repository(exampleRepository.name())
.branch("branch_name")
.sourceBranch(exampleRepository.defaultBranch())
.build());
var exampleRelease = new Release("exampleRelease", ReleaseArgs.builder()
.repository(exampleRepository.name())
.tagName("v1.0.0")
.targetCommitish(exampleBranch.branch())
.draft(false)
.prerelease(false)
.build());
}
}Import
This resource can be imported using the name of the repository, combined with the id of the release, and a : character for separating components, e.g.
$ pulumi import github:index/release:Release example repo:12345678Properties
If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see Managing categories for discussions in your repository.
Set to true to automatically generate the name and body for this release. If name is specified, the specified name will be used; otherwise, a name will be automatically generated. If body is specified, the body will be pre-pended to the automatically generated notes.
Set to false to identify the release as a full release.
The name of the repository.
The branch name or commit SHA the tag is created from. Defaults to the default branch of the repository.